generated

package
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 24, 2023 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const Artifacts_Operation = `` /* 170-byte string literal not displayed */

The query or mutation executed by Artifacts.

View Source
const CVEs_Operation = `` /* 128-byte string literal not displayed */

The query or mutation executed by CVEs.

View Source
const CertifyBadArtifact_Operation = `` /* 826-byte string literal not displayed */

The query or mutation executed by CertifyBadArtifact.

View Source
const CertifyBadPkg_Operation = `` /* 861-byte string literal not displayed */

The query or mutation executed by CertifyBadPkg.

View Source
const CertifyBadSrc_Operation = `` /* 813-byte string literal not displayed */

The query or mutation executed by CertifyBadSrc.

View Source
const CertifyBads_Operation = `` /* 738-byte string literal not displayed */

The query or mutation executed by CertifyBads.

View Source
const CertifyCVE_Operation = `` /* 910-byte string literal not displayed */

The query or mutation executed by CertifyCVE.

View Source
const CertifyGHSA_Operation = `` /* 915-byte string literal not displayed */

The query or mutation executed by CertifyGHSA.

View Source
const CertifyGoodArtifact_Operation = `` /* 835-byte string literal not displayed */

The query or mutation executed by CertifyGoodArtifact.

View Source
const CertifyGoodPkg_Operation = `` /* 870-byte string literal not displayed */

The query or mutation executed by CertifyGoodPkg.

View Source
const CertifyGoodSrc_Operation = `` /* 822-byte string literal not displayed */

The query or mutation executed by CertifyGoodSrc.

View Source
const CertifyNoKnownVuln_Operation = `` /* 900-byte string literal not displayed */

The query or mutation executed by CertifyNoKnownVuln.

View Source
const CertifyOSV_Operation = `` /* 910-byte string literal not displayed */

The query or mutation executed by CertifyOSV.

View Source
const CertifyScorecard_Operation = `` /* 534-byte string literal not displayed */

The query or mutation executed by CertifyScorecard.

View Source
const CertifyScorecards_Operation = `` /* 548-byte string literal not displayed */

The query or mutation executed by CertifyScorecards.

View Source
const FindSoftware_Operation = `` /* 625-byte string literal not displayed */

The query or mutation executed by FindSoftware.

View Source
const GHSAs_Operation = `` /* 130-byte string literal not displayed */

The query or mutation executed by GHSAs.

View Source
const HasMetadataArtifact_Operation = `` /* 858-byte string literal not displayed */

The query or mutation executed by HasMetadataArtifact.

View Source
const HasMetadataPkg_Operation = `` /* 893-byte string literal not displayed */

The query or mutation executed by HasMetadataPkg.

View Source
const HasMetadataSrc_Operation = `` /* 845-byte string literal not displayed */

The query or mutation executed by HasMetadataSrc.

View Source
const HasSBOMArtifact_Operation = `` /* 665-byte string literal not displayed */

The query or mutation executed by HasSBOMArtifact.

View Source
const HasSBOMPkg_Operation = `` /* 644-byte string literal not displayed */

The query or mutation executed by HasSBOMPkg.

View Source
const HasSourceAt_Operation = `` /* 752-byte string literal not displayed */

The query or mutation executed by HasSourceAt.

View Source
const HashEqual_Operation = `` /* 428-byte string literal not displayed */

The query or mutation executed by HashEqual.

View Source
const IngestArtifact_Operation = `` /* 189-byte string literal not displayed */

The query or mutation executed by IngestArtifact.

View Source
const IngestArtifacts_Operation = `` /* 197-byte string literal not displayed */

The query or mutation executed by IngestArtifacts.

View Source
const IngestBuilder_Operation = `
mutation IngestBuilder ($builder: BuilderInputSpec!) {
	ingestBuilder(builder: $builder) {
		uri
	}
}
`

The query or mutation executed by IngestBuilder.

View Source
const IngestBuilders_Operation = `
mutation IngestBuilders ($builders: [BuilderInputSpec!]!) {
	ingestBuilders(builders: $builders) {
		uri
	}
}
`

The query or mutation executed by IngestBuilders.

View Source
const IngestCVE_Operation = `` /* 138-byte string literal not displayed */

The query or mutation executed by IngestCVE.

View Source
const IngestCVEs_Operation = `` /* 146-byte string literal not displayed */

The query or mutation executed by IngestCVEs.

View Source
const IngestGHSA_Operation = `` /* 142-byte string literal not displayed */

The query or mutation executed by IngestGHSA.

View Source
const IngestGHSAs_Operation = `` /* 150-byte string literal not displayed */

The query or mutation executed by IngestGHSAs.

View Source
const IngestOSV_Operation = `` /* 132-byte string literal not displayed */

The query or mutation executed by IngestOSV.

View Source
const IngestOSVs_Operation = `` /* 140-byte string literal not displayed */

The query or mutation executed by IngestOSVs.

View Source
const IngestPackage_Operation = `` /* 298-byte string literal not displayed */

The query or mutation executed by IngestPackage.

View Source
const IngestPackages_Operation = `` /* 306-byte string literal not displayed */

The query or mutation executed by IngestPackages.

View Source
const IngestSource_Operation = `` /* 237-byte string literal not displayed */

The query or mutation executed by IngestSource.

View Source
const IngestSources_Operation = `` /* 245-byte string literal not displayed */

The query or mutation executed by IngestSources.

View Source
const IsDependencies_Operation = `` /* 625-byte string literal not displayed */

The query or mutation executed by IsDependencies.

View Source
const IsDependency_Operation = `` /* 600-byte string literal not displayed */

The query or mutation executed by IsDependency.

View Source
const IsOccurrencePkg_Operation = `` /* 867-byte string literal not displayed */

The query or mutation executed by IsOccurrencePkg.

View Source
const IsOccurrenceSrc_Operation = `` /* 875-byte string literal not displayed */

The query or mutation executed by IsOccurrenceSrc.

View Source
const IsOccurrencesPkg_Operation = `` /* 888-byte string literal not displayed */

The query or mutation executed by IsOccurrencesPkg.

View Source
const IsOccurrencesSrc_Operation = `` /* 896-byte string literal not displayed */

The query or mutation executed by IsOccurrencesSrc.

View Source
const IsVulnerabilityCVE_Operation = `` /* 607-byte string literal not displayed */

The query or mutation executed by IsVulnerabilityCVE.

View Source
const IsVulnerabilityGHSA_Operation = `` /* 612-byte string literal not displayed */

The query or mutation executed by IsVulnerabilityGHSA.

View Source
const Neighbors_Operation = `` /* 4700-byte string literal not displayed */

The query or mutation executed by Neighbors.

View Source
const Node_Operation = `` /* 4645-byte string literal not displayed */

The query or mutation executed by Node.

View Source
const Nodes_Operation = `` /* 4653-byte string literal not displayed */

The query or mutation executed by Nodes.

View Source
const OSVs_Operation = `
query OSVs ($filter: OSVSpec) {
	osv(osvSpec: $filter) {
		... AllOSVTree
	}
}
fragment AllOSVTree on OSV {
	id
	osvId
}
`

The query or mutation executed by OSVs.

View Source
const Packages_Operation = `` /* 289-byte string literal not displayed */

The query or mutation executed by Packages.

View Source
const Path_Operation = `` /* 4783-byte string literal not displayed */

The query or mutation executed by Path.

View Source
const PkgEqual_Operation = `` /* 637-byte string literal not displayed */

The query or mutation executed by PkgEqual.

View Source
const PointOfContactArtifact_Operation = `` /* 882-byte string literal not displayed */

The query or mutation executed by PointOfContactArtifact.

View Source
const PointOfContactPkg_Operation = `` /* 917-byte string literal not displayed */

The query or mutation executed by PointOfContactPkg.

View Source
const PointOfContactSrc_Operation = `` /* 869-byte string literal not displayed */

The query or mutation executed by PointOfContactSrc.

View Source
const SLSAForArtifact_Operation = `` /* 590-byte string literal not displayed */

The query or mutation executed by SLSAForArtifact.

View Source
const SLSAForArtifacts_Operation = `` /* 637-byte string literal not displayed */

The query or mutation executed by SLSAForArtifacts.

View Source
const Sources_Operation = `` /* 222-byte string literal not displayed */

The query or mutation executed by Sources.

View Source
const VEXPackageAndGhsa_Operation = `` /* 1057-byte string literal not displayed */

The query or mutation executed by VEXPackageAndGhsa.

View Source
const VexArtifactAndCve_Operation = `` /* 1069-byte string literal not displayed */

The query or mutation executed by VexArtifactAndCve.

View Source
const VexArtifactAndGhsa_Operation = `` /* 1074-byte string literal not displayed */

The query or mutation executed by VexArtifactAndGhsa.

View Source
const VexArtifactAndOsv_Operation = `` /* 1069-byte string literal not displayed */

The query or mutation executed by VexArtifactAndOsv.

View Source
const VexPackageAndCve_Operation = `` /* 1052-byte string literal not displayed */

The query or mutation executed by VexPackageAndCve.

View Source
const VexPackageAndOsv_Operation = `` /* 1052-byte string literal not displayed */

The query or mutation executed by VexPackageAndOsv.

Variables

This section is empty.

Functions

This section is empty.

Types

type AllArtifactTree

type AllArtifactTree struct {
	Id        string `json:"id"`
	Algorithm string `json:"algorithm"`
	Digest    string `json:"digest"`
}

AllArtifactTree includes the GraphQL fields of Artifact requested by the fragment AllArtifactTree. The GraphQL type's documentation follows.

Artifact represents an artifact identified by a checksum hash.

The checksum is split into the digest value and the algorithm used to generate it. Both fields are mandatory and canonicalized to be lowercase.

If having a checksum Go object, algorithm can be strings.ToLower(string(checksum.Algorithm)) and digest can be checksum.Value.

func (*AllArtifactTree) GetAlgorithm

func (v *AllArtifactTree) GetAlgorithm() string

GetAlgorithm returns AllArtifactTree.Algorithm, and is useful for accessing the field via an interface.

func (*AllArtifactTree) GetDigest

func (v *AllArtifactTree) GetDigest() string

GetDigest returns AllArtifactTree.Digest, and is useful for accessing the field via an interface.

func (*AllArtifactTree) GetId

func (v *AllArtifactTree) GetId() string

GetId returns AllArtifactTree.Id, and is useful for accessing the field via an interface.

type AllBuilderTree added in v0.1.1

type AllBuilderTree struct {
	Id  string `json:"id"`
	Uri string `json:"uri"`
}

AllBuilderTree includes the GraphQL fields of Builder requested by the fragment AllBuilderTree. The GraphQL type's documentation follows.

Builder represents the builder (e.g., FRSCA or GitHub Actions).

Currently builders are identified by the uri field.

func (*AllBuilderTree) GetId added in v0.1.1

func (v *AllBuilderTree) GetId() string

GetId returns AllBuilderTree.Id, and is useful for accessing the field via an interface.

func (*AllBuilderTree) GetUri added in v0.1.1

func (v *AllBuilderTree) GetUri() string

GetUri returns AllBuilderTree.Uri, and is useful for accessing the field via an interface.

type AllCertifyBad

type AllCertifyBad struct {
	Id            string                                      `json:"id"`
	Justification string                                      `json:"justification"`
	Subject       AllCertifyBadSubjectPackageSourceOrArtifact `json:"-"`
	Origin        string                                      `json:"origin"`
	Collector     string                                      `json:"collector"`
}

AllCertifyBad includes the GraphQL fields of CertifyBad requested by the fragment AllCertifyBad. The GraphQL type's documentation follows.

CertifyBad is an attestation that a package, source, or artifact is considered bad.

All evidence trees record a justification for the property they represent as well as the document that contains the attestation (origin) and the collector that collected the document (collector).

The certification applies to a subject which is a package, source, or artifact. If the attestation targets a package, it must target a PackageName or a PackageVersion. If the attestation targets a source, it must target a SourceName.

func (*AllCertifyBad) GetCollector

func (v *AllCertifyBad) GetCollector() string

GetCollector returns AllCertifyBad.Collector, and is useful for accessing the field via an interface.

func (*AllCertifyBad) GetId

func (v *AllCertifyBad) GetId() string

GetId returns AllCertifyBad.Id, and is useful for accessing the field via an interface.

func (*AllCertifyBad) GetJustification

func (v *AllCertifyBad) GetJustification() string

GetJustification returns AllCertifyBad.Justification, and is useful for accessing the field via an interface.

func (*AllCertifyBad) GetOrigin

func (v *AllCertifyBad) GetOrigin() string

GetOrigin returns AllCertifyBad.Origin, and is useful for accessing the field via an interface.

func (*AllCertifyBad) GetSubject

GetSubject returns AllCertifyBad.Subject, and is useful for accessing the field via an interface.

func (*AllCertifyBad) MarshalJSON

func (v *AllCertifyBad) MarshalJSON() ([]byte, error)

func (*AllCertifyBad) UnmarshalJSON

func (v *AllCertifyBad) UnmarshalJSON(b []byte) error

type AllCertifyBadSubjectArtifact

type AllCertifyBadSubjectArtifact struct {
	Typename        *string `json:"__typename"`
	AllArtifactTree `json:"-"`
}

AllCertifyBadSubjectArtifact includes the requested fields of the GraphQL type Artifact. The GraphQL type's documentation follows.

Artifact represents an artifact identified by a checksum hash.

The checksum is split into the digest value and the algorithm used to generate it. Both fields are mandatory and canonicalized to be lowercase.

If having a checksum Go object, algorithm can be strings.ToLower(string(checksum.Algorithm)) and digest can be checksum.Value.

func (*AllCertifyBadSubjectArtifact) GetAlgorithm

func (v *AllCertifyBadSubjectArtifact) GetAlgorithm() string

GetAlgorithm returns AllCertifyBadSubjectArtifact.Algorithm, and is useful for accessing the field via an interface.

func (*AllCertifyBadSubjectArtifact) GetDigest

func (v *AllCertifyBadSubjectArtifact) GetDigest() string

GetDigest returns AllCertifyBadSubjectArtifact.Digest, and is useful for accessing the field via an interface.

func (*AllCertifyBadSubjectArtifact) GetId

GetId returns AllCertifyBadSubjectArtifact.Id, and is useful for accessing the field via an interface.

func (*AllCertifyBadSubjectArtifact) GetTypename

func (v *AllCertifyBadSubjectArtifact) GetTypename() *string

GetTypename returns AllCertifyBadSubjectArtifact.Typename, and is useful for accessing the field via an interface.

func (*AllCertifyBadSubjectArtifact) MarshalJSON

func (v *AllCertifyBadSubjectArtifact) MarshalJSON() ([]byte, error)

func (*AllCertifyBadSubjectArtifact) UnmarshalJSON

func (v *AllCertifyBadSubjectArtifact) UnmarshalJSON(b []byte) error

type AllCertifyBadSubjectPackage

type AllCertifyBadSubjectPackage struct {
	Typename   *string `json:"__typename"`
	AllPkgTree `json:"-"`
}

AllCertifyBadSubjectPackage includes the requested fields of the GraphQL type Package. The GraphQL type's documentation follows.

Package represents the root of the package trie/tree.

We map package information to a trie, closely matching the pURL specification (https://github.com/package-url/purl-spec/blob/0dd92f26f8bb11956ffdf5e8acfcee71e8560407/README.rst), but deviating from it where GUAC heuristics allow for better representation of package information. Each path in the trie fully represents a package; we split the trie based on the pURL components.

This node matches a pkg:<type> partial pURL. The type field matches the pURL types but we might also use "guac" for the cases where the pURL representation is not complete or when we have custom rules.

Since this node is at the root of the package trie, it is named Package, not PackageType.

func (*AllCertifyBadSubjectPackage) GetId

GetId returns AllCertifyBadSubjectPackage.Id, and is useful for accessing the field via an interface.

func (*AllCertifyBadSubjectPackage) GetNamespaces

GetNamespaces returns AllCertifyBadSubjectPackage.Namespaces, and is useful for accessing the field via an interface.

func (*AllCertifyBadSubjectPackage) GetType

func (v *AllCertifyBadSubjectPackage) GetType() string

GetType returns AllCertifyBadSubjectPackage.Type, and is useful for accessing the field via an interface.

func (*AllCertifyBadSubjectPackage) GetTypename

func (v *AllCertifyBadSubjectPackage) GetTypename() *string

GetTypename returns AllCertifyBadSubjectPackage.Typename, and is useful for accessing the field via an interface.

func (*AllCertifyBadSubjectPackage) MarshalJSON

func (v *AllCertifyBadSubjectPackage) MarshalJSON() ([]byte, error)

func (*AllCertifyBadSubjectPackage) UnmarshalJSON

func (v *AllCertifyBadSubjectPackage) UnmarshalJSON(b []byte) error

type AllCertifyBadSubjectPackageSourceOrArtifact

type AllCertifyBadSubjectPackageSourceOrArtifact interface {

	// GetTypename returns the receiver's concrete GraphQL type-name (see interface doc for possible values).
	GetTypename() *string
	// contains filtered or unexported methods
}

AllCertifyBadSubjectPackageSourceOrArtifact includes the requested fields of the GraphQL interface PackageSourceOrArtifact.

AllCertifyBadSubjectPackageSourceOrArtifact is implemented by the following types: AllCertifyBadSubjectArtifact AllCertifyBadSubjectPackage AllCertifyBadSubjectSource The GraphQL type's documentation follows.

PackageSourceOrArtifact is a union of Package, Source, and Artifact.

type AllCertifyBadSubjectSource

type AllCertifyBadSubjectSource struct {
	Typename      *string `json:"__typename"`
	AllSourceTree `json:"-"`
}

AllCertifyBadSubjectSource includes the requested fields of the GraphQL type Source. The GraphQL type's documentation follows.

Source represents the root of the source trie/tree.

We map source information to a trie, as a derivative of the pURL specification: each path in the trie represents a type, namespace, name and an optional qualifier that stands for tag/commit information.

This node represents the type part of the trie path. It is used to represent the version control system that is being used.

Since this node is at the root of the source trie, it is named Source, not SourceType.

func (*AllCertifyBadSubjectSource) GetId

GetId returns AllCertifyBadSubjectSource.Id, and is useful for accessing the field via an interface.

func (*AllCertifyBadSubjectSource) GetNamespaces

GetNamespaces returns AllCertifyBadSubjectSource.Namespaces, and is useful for accessing the field via an interface.

func (*AllCertifyBadSubjectSource) GetType

func (v *AllCertifyBadSubjectSource) GetType() string

GetType returns AllCertifyBadSubjectSource.Type, and is useful for accessing the field via an interface.

func (*AllCertifyBadSubjectSource) GetTypename

func (v *AllCertifyBadSubjectSource) GetTypename() *string

GetTypename returns AllCertifyBadSubjectSource.Typename, and is useful for accessing the field via an interface.

func (*AllCertifyBadSubjectSource) MarshalJSON

func (v *AllCertifyBadSubjectSource) MarshalJSON() ([]byte, error)

func (*AllCertifyBadSubjectSource) UnmarshalJSON

func (v *AllCertifyBadSubjectSource) UnmarshalJSON(b []byte) error

type AllCertifyGood added in v0.1.1

type AllCertifyGood struct {
	Id            string                                       `json:"id"`
	Justification string                                       `json:"justification"`
	Subject       AllCertifyGoodSubjectPackageSourceOrArtifact `json:"-"`
	Origin        string                                       `json:"origin"`
	Collector     string                                       `json:"collector"`
}

AllCertifyGood includes the GraphQL fields of CertifyGood requested by the fragment AllCertifyGood. The GraphQL type's documentation follows.

CertifyGood is an attestation that a package, source, or artifact is considered good.

All evidence trees record a justification for the property they represent as well as the document that contains the attestation (origin) and the collector that collected the document (collector).

The certification applies to a subject which is a package, source, or artifact. If the attestation targets a package, it must target a PackageName or a PackageVersion. If the attestation targets a source, it must target a SourceName.

func (*AllCertifyGood) GetCollector added in v0.1.1

func (v *AllCertifyGood) GetCollector() string

GetCollector returns AllCertifyGood.Collector, and is useful for accessing the field via an interface.

func (*AllCertifyGood) GetId added in v0.1.1

func (v *AllCertifyGood) GetId() string

GetId returns AllCertifyGood.Id, and is useful for accessing the field via an interface.

func (*AllCertifyGood) GetJustification added in v0.1.1

func (v *AllCertifyGood) GetJustification() string

GetJustification returns AllCertifyGood.Justification, and is useful for accessing the field via an interface.

func (*AllCertifyGood) GetOrigin added in v0.1.1

func (v *AllCertifyGood) GetOrigin() string

GetOrigin returns AllCertifyGood.Origin, and is useful for accessing the field via an interface.

func (*AllCertifyGood) GetSubject added in v0.1.1

GetSubject returns AllCertifyGood.Subject, and is useful for accessing the field via an interface.

func (*AllCertifyGood) MarshalJSON added in v0.1.1

func (v *AllCertifyGood) MarshalJSON() ([]byte, error)

func (*AllCertifyGood) UnmarshalJSON added in v0.1.1

func (v *AllCertifyGood) UnmarshalJSON(b []byte) error

type AllCertifyGoodSubjectArtifact added in v0.1.1

type AllCertifyGoodSubjectArtifact struct {
	Typename        *string `json:"__typename"`
	AllArtifactTree `json:"-"`
}

AllCertifyGoodSubjectArtifact includes the requested fields of the GraphQL type Artifact. The GraphQL type's documentation follows.

Artifact represents an artifact identified by a checksum hash.

The checksum is split into the digest value and the algorithm used to generate it. Both fields are mandatory and canonicalized to be lowercase.

If having a checksum Go object, algorithm can be strings.ToLower(string(checksum.Algorithm)) and digest can be checksum.Value.

func (*AllCertifyGoodSubjectArtifact) GetAlgorithm added in v0.1.1

func (v *AllCertifyGoodSubjectArtifact) GetAlgorithm() string

GetAlgorithm returns AllCertifyGoodSubjectArtifact.Algorithm, and is useful for accessing the field via an interface.

func (*AllCertifyGoodSubjectArtifact) GetDigest added in v0.1.1

func (v *AllCertifyGoodSubjectArtifact) GetDigest() string

GetDigest returns AllCertifyGoodSubjectArtifact.Digest, and is useful for accessing the field via an interface.

func (*AllCertifyGoodSubjectArtifact) GetId added in v0.1.1

GetId returns AllCertifyGoodSubjectArtifact.Id, and is useful for accessing the field via an interface.

func (*AllCertifyGoodSubjectArtifact) GetTypename added in v0.1.1

func (v *AllCertifyGoodSubjectArtifact) GetTypename() *string

GetTypename returns AllCertifyGoodSubjectArtifact.Typename, and is useful for accessing the field via an interface.

func (*AllCertifyGoodSubjectArtifact) MarshalJSON added in v0.1.1

func (v *AllCertifyGoodSubjectArtifact) MarshalJSON() ([]byte, error)

func (*AllCertifyGoodSubjectArtifact) UnmarshalJSON added in v0.1.1

func (v *AllCertifyGoodSubjectArtifact) UnmarshalJSON(b []byte) error

type AllCertifyGoodSubjectPackage added in v0.1.1

type AllCertifyGoodSubjectPackage struct {
	Typename   *string `json:"__typename"`
	AllPkgTree `json:"-"`
}

AllCertifyGoodSubjectPackage includes the requested fields of the GraphQL type Package. The GraphQL type's documentation follows.

Package represents the root of the package trie/tree.

We map package information to a trie, closely matching the pURL specification (https://github.com/package-url/purl-spec/blob/0dd92f26f8bb11956ffdf5e8acfcee71e8560407/README.rst), but deviating from it where GUAC heuristics allow for better representation of package information. Each path in the trie fully represents a package; we split the trie based on the pURL components.

This node matches a pkg:<type> partial pURL. The type field matches the pURL types but we might also use "guac" for the cases where the pURL representation is not complete or when we have custom rules.

Since this node is at the root of the package trie, it is named Package, not PackageType.

func (*AllCertifyGoodSubjectPackage) GetId added in v0.1.1

GetId returns AllCertifyGoodSubjectPackage.Id, and is useful for accessing the field via an interface.

func (*AllCertifyGoodSubjectPackage) GetNamespaces added in v0.1.1

GetNamespaces returns AllCertifyGoodSubjectPackage.Namespaces, and is useful for accessing the field via an interface.

func (*AllCertifyGoodSubjectPackage) GetType added in v0.1.1

func (v *AllCertifyGoodSubjectPackage) GetType() string

GetType returns AllCertifyGoodSubjectPackage.Type, and is useful for accessing the field via an interface.

func (*AllCertifyGoodSubjectPackage) GetTypename added in v0.1.1

func (v *AllCertifyGoodSubjectPackage) GetTypename() *string

GetTypename returns AllCertifyGoodSubjectPackage.Typename, and is useful for accessing the field via an interface.

func (*AllCertifyGoodSubjectPackage) MarshalJSON added in v0.1.1

func (v *AllCertifyGoodSubjectPackage) MarshalJSON() ([]byte, error)

func (*AllCertifyGoodSubjectPackage) UnmarshalJSON added in v0.1.1

func (v *AllCertifyGoodSubjectPackage) UnmarshalJSON(b []byte) error

type AllCertifyGoodSubjectPackageSourceOrArtifact added in v0.1.1

type AllCertifyGoodSubjectPackageSourceOrArtifact interface {

	// GetTypename returns the receiver's concrete GraphQL type-name (see interface doc for possible values).
	GetTypename() *string
	// contains filtered or unexported methods
}

AllCertifyGoodSubjectPackageSourceOrArtifact includes the requested fields of the GraphQL interface PackageSourceOrArtifact.

AllCertifyGoodSubjectPackageSourceOrArtifact is implemented by the following types: AllCertifyGoodSubjectArtifact AllCertifyGoodSubjectPackage AllCertifyGoodSubjectSource The GraphQL type's documentation follows.

PackageSourceOrArtifact is a union of Package, Source, and Artifact.

type AllCertifyGoodSubjectSource added in v0.1.1

type AllCertifyGoodSubjectSource struct {
	Typename      *string `json:"__typename"`
	AllSourceTree `json:"-"`
}

AllCertifyGoodSubjectSource includes the requested fields of the GraphQL type Source. The GraphQL type's documentation follows.

Source represents the root of the source trie/tree.

We map source information to a trie, as a derivative of the pURL specification: each path in the trie represents a type, namespace, name and an optional qualifier that stands for tag/commit information.

This node represents the type part of the trie path. It is used to represent the version control system that is being used.

Since this node is at the root of the source trie, it is named Source, not SourceType.

func (*AllCertifyGoodSubjectSource) GetId added in v0.1.1

GetId returns AllCertifyGoodSubjectSource.Id, and is useful for accessing the field via an interface.

func (*AllCertifyGoodSubjectSource) GetNamespaces added in v0.1.1

GetNamespaces returns AllCertifyGoodSubjectSource.Namespaces, and is useful for accessing the field via an interface.

func (*AllCertifyGoodSubjectSource) GetType added in v0.1.1

func (v *AllCertifyGoodSubjectSource) GetType() string

GetType returns AllCertifyGoodSubjectSource.Type, and is useful for accessing the field via an interface.

func (*AllCertifyGoodSubjectSource) GetTypename added in v0.1.1

func (v *AllCertifyGoodSubjectSource) GetTypename() *string

GetTypename returns AllCertifyGoodSubjectSource.Typename, and is useful for accessing the field via an interface.

func (*AllCertifyGoodSubjectSource) MarshalJSON added in v0.1.1

func (v *AllCertifyGoodSubjectSource) MarshalJSON() ([]byte, error)

func (*AllCertifyGoodSubjectSource) UnmarshalJSON added in v0.1.1

func (v *AllCertifyGoodSubjectSource) UnmarshalJSON(b []byte) error

type AllCertifyScorecard

type AllCertifyScorecard struct {
	Id string `json:"id"`
	// The source repository that is being scanned (attestation subject)
	Source AllCertifyScorecardSource `json:"source"`
	// The Scorecard attached to the repository (attestation object)
	Scorecard AllCertifyScorecardScorecard `json:"scorecard"`
}

AllCertifyScorecard includes the GraphQL fields of CertifyScorecard requested by the fragment AllCertifyScorecard. The GraphQL type's documentation follows.

CertifyScorecard is an attestation to attach a Scorecard analysis to a particular source repository.

func (*AllCertifyScorecard) GetId

func (v *AllCertifyScorecard) GetId() string

GetId returns AllCertifyScorecard.Id, and is useful for accessing the field via an interface.

func (*AllCertifyScorecard) GetScorecard

GetScorecard returns AllCertifyScorecard.Scorecard, and is useful for accessing the field via an interface.

func (*AllCertifyScorecard) GetSource

GetSource returns AllCertifyScorecard.Source, and is useful for accessing the field via an interface.

type AllCertifyScorecardScorecard

type AllCertifyScorecardScorecard struct {
	// Exact timestamp when the source was last scanned (in RFC 3339 format)
	TimeScanned time.Time `json:"timeScanned"`
	// Overall Scorecard score for the source
	AggregateScore float64 `json:"aggregateScore"`
	// Individual Scorecard check scores (Branch-Protection, Code-Review, ...)
	Checks []AllCertifyScorecardScorecardChecksScorecardCheck `json:"checks"`
	// Version of the Scorecard scanner used to analyze the source
	ScorecardVersion string `json:"scorecardVersion"`
	// Commit of the Scorecards repository at the time of scanning the source
	ScorecardCommit string `json:"scorecardCommit"`
	// Document from which this attestation is generated from
	Origin string `json:"origin"`
	// GUAC collector for the document
	Collector string `json:"collector"`
}

AllCertifyScorecardScorecard includes the requested fields of the GraphQL type Scorecard. The GraphQL type's documentation follows.

Scorecard contains all of the fields present in a Scorecard attestation.

We also include fields to specify under what conditions the check was performed (time of scan, version of scanners, etc.) as well as how this information got included into GUAC (origin document and the collector for that document).

func (*AllCertifyScorecardScorecard) GetAggregateScore

func (v *AllCertifyScorecardScorecard) GetAggregateScore() float64

GetAggregateScore returns AllCertifyScorecardScorecard.AggregateScore, and is useful for accessing the field via an interface.

func (*AllCertifyScorecardScorecard) GetChecks

GetChecks returns AllCertifyScorecardScorecard.Checks, and is useful for accessing the field via an interface.

func (*AllCertifyScorecardScorecard) GetCollector

func (v *AllCertifyScorecardScorecard) GetCollector() string

GetCollector returns AllCertifyScorecardScorecard.Collector, and is useful for accessing the field via an interface.

func (*AllCertifyScorecardScorecard) GetOrigin

func (v *AllCertifyScorecardScorecard) GetOrigin() string

GetOrigin returns AllCertifyScorecardScorecard.Origin, and is useful for accessing the field via an interface.

func (*AllCertifyScorecardScorecard) GetScorecardCommit

func (v *AllCertifyScorecardScorecard) GetScorecardCommit() string

GetScorecardCommit returns AllCertifyScorecardScorecard.ScorecardCommit, and is useful for accessing the field via an interface.

func (*AllCertifyScorecardScorecard) GetScorecardVersion

func (v *AllCertifyScorecardScorecard) GetScorecardVersion() string

GetScorecardVersion returns AllCertifyScorecardScorecard.ScorecardVersion, and is useful for accessing the field via an interface.

func (*AllCertifyScorecardScorecard) GetTimeScanned

func (v *AllCertifyScorecardScorecard) GetTimeScanned() time.Time

GetTimeScanned returns AllCertifyScorecardScorecard.TimeScanned, and is useful for accessing the field via an interface.

type AllCertifyScorecardScorecardChecksScorecardCheck

type AllCertifyScorecardScorecardChecksScorecardCheck struct {
	Check string `json:"check"`
	Score int    `json:"score"`
}

AllCertifyScorecardScorecardChecksScorecardCheck includes the requested fields of the GraphQL type ScorecardCheck. The GraphQL type's documentation follows.

ScorecardCheck are the individual checks from scorecard and their values as a key-value pair.

For example: Branch-Protection, Code-Review...etc

Based off scorecard's: type jsonCheckResultV2 struct { Details []string `json:"details"` Score int `json:"score"` Reason string `json:"reason"` Name string `json:"name"` Doc jsonCheckDocumentationV2 `json:"documentation"` } This node cannot be directly referred by other parts of GUAC.

func (*AllCertifyScorecardScorecardChecksScorecardCheck) GetCheck

GetCheck returns AllCertifyScorecardScorecardChecksScorecardCheck.Check, and is useful for accessing the field via an interface.

func (*AllCertifyScorecardScorecardChecksScorecardCheck) GetScore

GetScore returns AllCertifyScorecardScorecardChecksScorecardCheck.Score, and is useful for accessing the field via an interface.

type AllCertifyScorecardSource

type AllCertifyScorecardSource struct {
	AllSourceTree `json:"-"`
}

AllCertifyScorecardSource includes the requested fields of the GraphQL type Source. The GraphQL type's documentation follows.

Source represents the root of the source trie/tree.

We map source information to a trie, as a derivative of the pURL specification: each path in the trie represents a type, namespace, name and an optional qualifier that stands for tag/commit information.

This node represents the type part of the trie path. It is used to represent the version control system that is being used.

Since this node is at the root of the source trie, it is named Source, not SourceType.

func (*AllCertifyScorecardSource) GetId

func (v *AllCertifyScorecardSource) GetId() string

GetId returns AllCertifyScorecardSource.Id, and is useful for accessing the field via an interface.

func (*AllCertifyScorecardSource) GetNamespaces

GetNamespaces returns AllCertifyScorecardSource.Namespaces, and is useful for accessing the field via an interface.

func (*AllCertifyScorecardSource) GetType

func (v *AllCertifyScorecardSource) GetType() string

GetType returns AllCertifyScorecardSource.Type, and is useful for accessing the field via an interface.

func (*AllCertifyScorecardSource) MarshalJSON

func (v *AllCertifyScorecardSource) MarshalJSON() ([]byte, error)

func (*AllCertifyScorecardSource) UnmarshalJSON

func (v *AllCertifyScorecardSource) UnmarshalJSON(b []byte) error

type AllCertifyVEXStatement added in v0.1.1

type AllCertifyVEXStatement struct {
	Id string `json:"id"`
	// Subject of attestation
	Subject AllCertifyVEXStatementSubjectPackageOrArtifact `json:"-"`
	// Attested vulnerability
	Vulnerability AllCertifyVEXStatementVulnerability `json:"-"`
	// Status of the vulnerabilities with respect to the subject
	Status VexStatus `json:"status"`
	// Justification from VEX statement
	VexJustification VexJustification `json:"vexJustification"`
	// VEX statement: impact_statement or action_statement depending on status
	Statement string `json:"statement"`
	// statusNotes may convey information about how status was determined
	StatusNotes string `json:"statusNotes"`
	// Timestamp (exact time in RFC 3339 format) for the VEX statement
	KnownSince time.Time `json:"knownSince"`
	// Document from which this attestation is generated from
	Origin string `json:"origin"`
	// GUAC collector for the document
	Collector string `json:"collector"`
}

AllCertifyVEXStatement includes the GraphQL fields of CertifyVEXStatement requested by the fragment AllCertifyVEXStatement. The GraphQL type's documentation follows.

CertifyVEXStatement is an attestation to attach VEX statements to a package or artifact to clarify the impact of a specific vulnerability (CVE, GHSA or OSV).

func (*AllCertifyVEXStatement) GetCollector added in v0.1.1

func (v *AllCertifyVEXStatement) GetCollector() string

GetCollector returns AllCertifyVEXStatement.Collector, and is useful for accessing the field via an interface.

func (*AllCertifyVEXStatement) GetId added in v0.1.1

func (v *AllCertifyVEXStatement) GetId() string

GetId returns AllCertifyVEXStatement.Id, and is useful for accessing the field via an interface.

func (*AllCertifyVEXStatement) GetKnownSince added in v0.1.1

func (v *AllCertifyVEXStatement) GetKnownSince() time.Time

GetKnownSince returns AllCertifyVEXStatement.KnownSince, and is useful for accessing the field via an interface.

func (*AllCertifyVEXStatement) GetOrigin added in v0.1.1

func (v *AllCertifyVEXStatement) GetOrigin() string

GetOrigin returns AllCertifyVEXStatement.Origin, and is useful for accessing the field via an interface.

func (*AllCertifyVEXStatement) GetStatement added in v0.1.1

func (v *AllCertifyVEXStatement) GetStatement() string

GetStatement returns AllCertifyVEXStatement.Statement, and is useful for accessing the field via an interface.

func (*AllCertifyVEXStatement) GetStatus added in v0.1.1

func (v *AllCertifyVEXStatement) GetStatus() VexStatus

GetStatus returns AllCertifyVEXStatement.Status, and is useful for accessing the field via an interface.

func (*AllCertifyVEXStatement) GetStatusNotes added in v0.1.1

func (v *AllCertifyVEXStatement) GetStatusNotes() string

GetStatusNotes returns AllCertifyVEXStatement.StatusNotes, and is useful for accessing the field via an interface.

func (*AllCertifyVEXStatement) GetSubject added in v0.1.1

GetSubject returns AllCertifyVEXStatement.Subject, and is useful for accessing the field via an interface.

func (*AllCertifyVEXStatement) GetVexJustification added in v0.1.1

func (v *AllCertifyVEXStatement) GetVexJustification() VexJustification

GetVexJustification returns AllCertifyVEXStatement.VexJustification, and is useful for accessing the field via an interface.

func (*AllCertifyVEXStatement) GetVulnerability added in v0.1.1

GetVulnerability returns AllCertifyVEXStatement.Vulnerability, and is useful for accessing the field via an interface.

func (*AllCertifyVEXStatement) MarshalJSON added in v0.1.1

func (v *AllCertifyVEXStatement) MarshalJSON() ([]byte, error)

func (*AllCertifyVEXStatement) UnmarshalJSON added in v0.1.1

func (v *AllCertifyVEXStatement) UnmarshalJSON(b []byte) error

type AllCertifyVEXStatementSubjectArtifact added in v0.1.1

type AllCertifyVEXStatementSubjectArtifact struct {
	Typename        *string `json:"__typename"`
	AllArtifactTree `json:"-"`
}

AllCertifyVEXStatementSubjectArtifact includes the requested fields of the GraphQL type Artifact. The GraphQL type's documentation follows.

Artifact represents an artifact identified by a checksum hash.

The checksum is split into the digest value and the algorithm used to generate it. Both fields are mandatory and canonicalized to be lowercase.

If having a checksum Go object, algorithm can be strings.ToLower(string(checksum.Algorithm)) and digest can be checksum.Value.

func (*AllCertifyVEXStatementSubjectArtifact) GetAlgorithm added in v0.1.1

GetAlgorithm returns AllCertifyVEXStatementSubjectArtifact.Algorithm, and is useful for accessing the field via an interface.

func (*AllCertifyVEXStatementSubjectArtifact) GetDigest added in v0.1.1

GetDigest returns AllCertifyVEXStatementSubjectArtifact.Digest, and is useful for accessing the field via an interface.

func (*AllCertifyVEXStatementSubjectArtifact) GetId added in v0.1.1

GetId returns AllCertifyVEXStatementSubjectArtifact.Id, and is useful for accessing the field via an interface.

func (*AllCertifyVEXStatementSubjectArtifact) GetTypename added in v0.1.1

GetTypename returns AllCertifyVEXStatementSubjectArtifact.Typename, and is useful for accessing the field via an interface.

func (*AllCertifyVEXStatementSubjectArtifact) MarshalJSON added in v0.1.1

func (v *AllCertifyVEXStatementSubjectArtifact) MarshalJSON() ([]byte, error)

func (*AllCertifyVEXStatementSubjectArtifact) UnmarshalJSON added in v0.1.1

func (v *AllCertifyVEXStatementSubjectArtifact) UnmarshalJSON(b []byte) error

type AllCertifyVEXStatementSubjectPackage added in v0.1.1

type AllCertifyVEXStatementSubjectPackage struct {
	Typename   *string `json:"__typename"`
	AllPkgTree `json:"-"`
}

AllCertifyVEXStatementSubjectPackage includes the requested fields of the GraphQL type Package. The GraphQL type's documentation follows.

Package represents the root of the package trie/tree.

We map package information to a trie, closely matching the pURL specification (https://github.com/package-url/purl-spec/blob/0dd92f26f8bb11956ffdf5e8acfcee71e8560407/README.rst), but deviating from it where GUAC heuristics allow for better representation of package information. Each path in the trie fully represents a package; we split the trie based on the pURL components.

This node matches a pkg:<type> partial pURL. The type field matches the pURL types but we might also use "guac" for the cases where the pURL representation is not complete or when we have custom rules.

Since this node is at the root of the package trie, it is named Package, not PackageType.

func (*AllCertifyVEXStatementSubjectPackage) GetId added in v0.1.1

GetId returns AllCertifyVEXStatementSubjectPackage.Id, and is useful for accessing the field via an interface.

func (*AllCertifyVEXStatementSubjectPackage) GetNamespaces added in v0.1.1

GetNamespaces returns AllCertifyVEXStatementSubjectPackage.Namespaces, and is useful for accessing the field via an interface.

func (*AllCertifyVEXStatementSubjectPackage) GetType added in v0.1.1

GetType returns AllCertifyVEXStatementSubjectPackage.Type, and is useful for accessing the field via an interface.

func (*AllCertifyVEXStatementSubjectPackage) GetTypename added in v0.1.1

func (v *AllCertifyVEXStatementSubjectPackage) GetTypename() *string

GetTypename returns AllCertifyVEXStatementSubjectPackage.Typename, and is useful for accessing the field via an interface.

func (*AllCertifyVEXStatementSubjectPackage) MarshalJSON added in v0.1.1

func (v *AllCertifyVEXStatementSubjectPackage) MarshalJSON() ([]byte, error)

func (*AllCertifyVEXStatementSubjectPackage) UnmarshalJSON added in v0.1.1

func (v *AllCertifyVEXStatementSubjectPackage) UnmarshalJSON(b []byte) error

type AllCertifyVEXStatementSubjectPackageOrArtifact added in v0.1.1

type AllCertifyVEXStatementSubjectPackageOrArtifact interface {

	// GetTypename returns the receiver's concrete GraphQL type-name (see interface doc for possible values).
	GetTypename() *string
	// contains filtered or unexported methods
}

AllCertifyVEXStatementSubjectPackageOrArtifact includes the requested fields of the GraphQL interface PackageOrArtifact.

AllCertifyVEXStatementSubjectPackageOrArtifact is implemented by the following types: AllCertifyVEXStatementSubjectArtifact AllCertifyVEXStatementSubjectPackage The GraphQL type's documentation follows.

PackageOrArtifact is a union of Package and Artifact.

type AllCertifyVEXStatementVulnerability added in v0.1.1

type AllCertifyVEXStatementVulnerability interface {

	// GetTypename returns the receiver's concrete GraphQL type-name (see interface doc for possible values).
	GetTypename() *string
	// contains filtered or unexported methods
}

AllCertifyVEXStatementVulnerability includes the requested fields of the GraphQL interface Vulnerability.

AllCertifyVEXStatementVulnerability is implemented by the following types: AllCertifyVEXStatementVulnerabilityCVE AllCertifyVEXStatementVulnerabilityGHSA AllCertifyVEXStatementVulnerabilityNoVuln AllCertifyVEXStatementVulnerabilityOSV The GraphQL type's documentation follows.

Vulnerability is a union of OSV, CVE, GHSA or the NoVuln node.

type AllCertifyVEXStatementVulnerabilityCVE added in v0.1.1

type AllCertifyVEXStatementVulnerabilityCVE struct {
	Typename   *string `json:"__typename"`
	AllCveTree `json:"-"`
}

AllCertifyVEXStatementVulnerabilityCVE includes the requested fields of the GraphQL type CVE. The GraphQL type's documentation follows.

CVE represents a vulnerability in the Common Vulnerabilities and Exposures schema.

The vulnerability identifier contains a year field, so we are extracting that to allow matching for vulnerabilities found in a given year.

The vulnerability identifier field is mandatory and canonicalized to be lowercase.

This node can be referred to by other parts of GUAC.

func (*AllCertifyVEXStatementVulnerabilityCVE) GetCveId added in v0.1.1

GetCveId returns AllCertifyVEXStatementVulnerabilityCVE.CveId, and is useful for accessing the field via an interface.

func (*AllCertifyVEXStatementVulnerabilityCVE) GetId added in v0.1.1

GetId returns AllCertifyVEXStatementVulnerabilityCVE.Id, and is useful for accessing the field via an interface.

func (*AllCertifyVEXStatementVulnerabilityCVE) GetTypename added in v0.1.1

GetTypename returns AllCertifyVEXStatementVulnerabilityCVE.Typename, and is useful for accessing the field via an interface.

func (*AllCertifyVEXStatementVulnerabilityCVE) GetYear added in v0.1.1

GetYear returns AllCertifyVEXStatementVulnerabilityCVE.Year, and is useful for accessing the field via an interface.

func (*AllCertifyVEXStatementVulnerabilityCVE) MarshalJSON added in v0.1.1

func (v *AllCertifyVEXStatementVulnerabilityCVE) MarshalJSON() ([]byte, error)

func (*AllCertifyVEXStatementVulnerabilityCVE) UnmarshalJSON added in v0.1.1

func (v *AllCertifyVEXStatementVulnerabilityCVE) UnmarshalJSON(b []byte) error

type AllCertifyVEXStatementVulnerabilityGHSA added in v0.1.1

type AllCertifyVEXStatementVulnerabilityGHSA struct {
	Typename    *string `json:"__typename"`
	AllGHSATree `json:"-"`
}

AllCertifyVEXStatementVulnerabilityGHSA includes the requested fields of the GraphQL type GHSA. The GraphQL type's documentation follows.

GHSA represents GitHub security advisories.

The advisory id field is mandatory and canonicalized to be lowercase.

This node can be referred to by other parts of GUAC.

func (*AllCertifyVEXStatementVulnerabilityGHSA) GetGhsaId added in v0.1.1

GetGhsaId returns AllCertifyVEXStatementVulnerabilityGHSA.GhsaId, and is useful for accessing the field via an interface.

func (*AllCertifyVEXStatementVulnerabilityGHSA) GetId added in v0.1.1

GetId returns AllCertifyVEXStatementVulnerabilityGHSA.Id, and is useful for accessing the field via an interface.

func (*AllCertifyVEXStatementVulnerabilityGHSA) GetTypename added in v0.1.1

GetTypename returns AllCertifyVEXStatementVulnerabilityGHSA.Typename, and is useful for accessing the field via an interface.

func (*AllCertifyVEXStatementVulnerabilityGHSA) MarshalJSON added in v0.1.1

func (v *AllCertifyVEXStatementVulnerabilityGHSA) MarshalJSON() ([]byte, error)

func (*AllCertifyVEXStatementVulnerabilityGHSA) UnmarshalJSON added in v0.1.1

func (v *AllCertifyVEXStatementVulnerabilityGHSA) UnmarshalJSON(b []byte) error

type AllCertifyVEXStatementVulnerabilityNoVuln added in v0.1.1

type AllCertifyVEXStatementVulnerabilityNoVuln struct {
	Typename *string `json:"__typename"`
}

AllCertifyVEXStatementVulnerabilityNoVuln includes the requested fields of the GraphQL type NoVuln. The GraphQL type's documentation follows.

NoVuln is a special vulnerability node to attest that no vulnerability has been found during a vulnerability scan.

Backends guarantee that this is a singleton node.

func (*AllCertifyVEXStatementVulnerabilityNoVuln) GetTypename added in v0.1.1

GetTypename returns AllCertifyVEXStatementVulnerabilityNoVuln.Typename, and is useful for accessing the field via an interface.

type AllCertifyVEXStatementVulnerabilityOSV added in v0.1.1

type AllCertifyVEXStatementVulnerabilityOSV struct {
	Typename   *string `json:"__typename"`
	AllOSVTree `json:"-"`
}

AllCertifyVEXStatementVulnerabilityOSV includes the requested fields of the GraphQL type OSV. The GraphQL type's documentation follows.

OSV represents an Open Source Vulnerability.

The osvId field is mandatory and canonicalized to be lowercase.

This maps to a vulnerability ID specific to the environment (e.g., GHSA ID or CVE ID).

This node can be referred to by other parts of GUAC.

func (*AllCertifyVEXStatementVulnerabilityOSV) GetId added in v0.1.1

GetId returns AllCertifyVEXStatementVulnerabilityOSV.Id, and is useful for accessing the field via an interface.

func (*AllCertifyVEXStatementVulnerabilityOSV) GetOsvId added in v0.1.1

GetOsvId returns AllCertifyVEXStatementVulnerabilityOSV.OsvId, and is useful for accessing the field via an interface.

func (*AllCertifyVEXStatementVulnerabilityOSV) GetTypename added in v0.1.1

GetTypename returns AllCertifyVEXStatementVulnerabilityOSV.Typename, and is useful for accessing the field via an interface.

func (*AllCertifyVEXStatementVulnerabilityOSV) MarshalJSON added in v0.1.1

func (v *AllCertifyVEXStatementVulnerabilityOSV) MarshalJSON() ([]byte, error)

func (*AllCertifyVEXStatementVulnerabilityOSV) UnmarshalJSON added in v0.1.1

func (v *AllCertifyVEXStatementVulnerabilityOSV) UnmarshalJSON(b []byte) error

type AllCertifyVuln

type AllCertifyVuln struct {
	Id string `json:"id"`
	// The package that is attested
	Package AllCertifyVulnPackage `json:"package"`
	// The vulnerability object. Can be an OSV, CVE, or GHSA or the special NoVuln node.
	Vulnerability AllCertifyVulnVulnerability `json:"-"`
	// Metadata attached to the certification
	Metadata AllCertifyVulnMetadataVulnerabilityMetaData `json:"metadata"`
}

AllCertifyVuln includes the GraphQL fields of CertifyVuln requested by the fragment AllCertifyVuln. The GraphQL type's documentation follows.

CertifyVuln is an attestation to attach vulnerability information to a package.

This information is obtained via a scanner. If there is no vulnerability detected (no OSV, CVE, or GHSA), we attach the special NoVuln node.

func (*AllCertifyVuln) GetId

func (v *AllCertifyVuln) GetId() string

GetId returns AllCertifyVuln.Id, and is useful for accessing the field via an interface.

func (*AllCertifyVuln) GetMetadata

GetMetadata returns AllCertifyVuln.Metadata, and is useful for accessing the field via an interface.

func (*AllCertifyVuln) GetPackage

func (v *AllCertifyVuln) GetPackage() AllCertifyVulnPackage

GetPackage returns AllCertifyVuln.Package, and is useful for accessing the field via an interface.

func (*AllCertifyVuln) GetVulnerability

func (v *AllCertifyVuln) GetVulnerability() AllCertifyVulnVulnerability

GetVulnerability returns AllCertifyVuln.Vulnerability, and is useful for accessing the field via an interface.

func (*AllCertifyVuln) MarshalJSON

func (v *AllCertifyVuln) MarshalJSON() ([]byte, error)

func (*AllCertifyVuln) UnmarshalJSON

func (v *AllCertifyVuln) UnmarshalJSON(b []byte) error

type AllCertifyVulnMetadataVulnerabilityMetaData

type AllCertifyVulnMetadataVulnerabilityMetaData struct {
	// URI of the vulnerability database used by the scanner
	DbUri string `json:"dbUri"`
	// Version of the vulnerability database used by the scanner
	DbVersion string `json:"dbVersion"`
	// URI of the scanner
	ScannerUri string `json:"scannerUri"`
	// Version of the scanner
	ScannerVersion string `json:"scannerVersion"`
	// Time of scan (in RFC 3339 format)
	TimeScanned time.Time `json:"timeScanned"`
	// Document from which this attestation is generated from
	Origin string `json:"origin"`
	// GUAC collector for the document
	Collector string `json:"collector"`
}

AllCertifyVulnMetadataVulnerabilityMetaData includes the requested fields of the GraphQL type VulnerabilityMetaData. The GraphQL type's documentation follows.

VulnerabilityMetaData is the metadata attached to vulnerability certification.

It contains metadata about the scanner process that created the certification.

func (*AllCertifyVulnMetadataVulnerabilityMetaData) GetCollector

GetCollector returns AllCertifyVulnMetadataVulnerabilityMetaData.Collector, and is useful for accessing the field via an interface.

func (*AllCertifyVulnMetadataVulnerabilityMetaData) GetDbUri

GetDbUri returns AllCertifyVulnMetadataVulnerabilityMetaData.DbUri, and is useful for accessing the field via an interface.

func (*AllCertifyVulnMetadataVulnerabilityMetaData) GetDbVersion

GetDbVersion returns AllCertifyVulnMetadataVulnerabilityMetaData.DbVersion, and is useful for accessing the field via an interface.

func (*AllCertifyVulnMetadataVulnerabilityMetaData) GetOrigin

GetOrigin returns AllCertifyVulnMetadataVulnerabilityMetaData.Origin, and is useful for accessing the field via an interface.

func (*AllCertifyVulnMetadataVulnerabilityMetaData) GetScannerUri

GetScannerUri returns AllCertifyVulnMetadataVulnerabilityMetaData.ScannerUri, and is useful for accessing the field via an interface.

func (*AllCertifyVulnMetadataVulnerabilityMetaData) GetScannerVersion

func (v *AllCertifyVulnMetadataVulnerabilityMetaData) GetScannerVersion() string

GetScannerVersion returns AllCertifyVulnMetadataVulnerabilityMetaData.ScannerVersion, and is useful for accessing the field via an interface.

func (*AllCertifyVulnMetadataVulnerabilityMetaData) GetTimeScanned

GetTimeScanned returns AllCertifyVulnMetadataVulnerabilityMetaData.TimeScanned, and is useful for accessing the field via an interface.

type AllCertifyVulnPackage

type AllCertifyVulnPackage struct {
	AllPkgTree `json:"-"`
}

AllCertifyVulnPackage includes the requested fields of the GraphQL type Package. The GraphQL type's documentation follows.

Package represents the root of the package trie/tree.

We map package information to a trie, closely matching the pURL specification (https://github.com/package-url/purl-spec/blob/0dd92f26f8bb11956ffdf5e8acfcee71e8560407/README.rst), but deviating from it where GUAC heuristics allow for better representation of package information. Each path in the trie fully represents a package; we split the trie based on the pURL components.

This node matches a pkg:<type> partial pURL. The type field matches the pURL types but we might also use "guac" for the cases where the pURL representation is not complete or when we have custom rules.

Since this node is at the root of the package trie, it is named Package, not PackageType.

func (*AllCertifyVulnPackage) GetId

func (v *AllCertifyVulnPackage) GetId() string

GetId returns AllCertifyVulnPackage.Id, and is useful for accessing the field via an interface.

func (*AllCertifyVulnPackage) GetNamespaces

GetNamespaces returns AllCertifyVulnPackage.Namespaces, and is useful for accessing the field via an interface.

func (*AllCertifyVulnPackage) GetType

func (v *AllCertifyVulnPackage) GetType() string

GetType returns AllCertifyVulnPackage.Type, and is useful for accessing the field via an interface.

func (*AllCertifyVulnPackage) MarshalJSON

func (v *AllCertifyVulnPackage) MarshalJSON() ([]byte, error)

func (*AllCertifyVulnPackage) UnmarshalJSON

func (v *AllCertifyVulnPackage) UnmarshalJSON(b []byte) error

type AllCertifyVulnVulnerability

type AllCertifyVulnVulnerability interface {

	// GetTypename returns the receiver's concrete GraphQL type-name (see interface doc for possible values).
	GetTypename() *string
	// contains filtered or unexported methods
}

AllCertifyVulnVulnerability includes the requested fields of the GraphQL interface Vulnerability.

AllCertifyVulnVulnerability is implemented by the following types: AllCertifyVulnVulnerabilityCVE AllCertifyVulnVulnerabilityGHSA AllCertifyVulnVulnerabilityNoVuln AllCertifyVulnVulnerabilityOSV The GraphQL type's documentation follows.

Vulnerability is a union of OSV, CVE, GHSA or the NoVuln node.

type AllCertifyVulnVulnerabilityCVE

type AllCertifyVulnVulnerabilityCVE struct {
	Typename   *string `json:"__typename"`
	AllCveTree `json:"-"`
}

AllCertifyVulnVulnerabilityCVE includes the requested fields of the GraphQL type CVE. The GraphQL type's documentation follows.

CVE represents a vulnerability in the Common Vulnerabilities and Exposures schema.

The vulnerability identifier contains a year field, so we are extracting that to allow matching for vulnerabilities found in a given year.

The vulnerability identifier field is mandatory and canonicalized to be lowercase.

This node can be referred to by other parts of GUAC.

func (*AllCertifyVulnVulnerabilityCVE) GetCveId

func (v *AllCertifyVulnVulnerabilityCVE) GetCveId() string

GetCveId returns AllCertifyVulnVulnerabilityCVE.CveId, and is useful for accessing the field via an interface.

func (*AllCertifyVulnVulnerabilityCVE) GetId

GetId returns AllCertifyVulnVulnerabilityCVE.Id, and is useful for accessing the field via an interface.

func (*AllCertifyVulnVulnerabilityCVE) GetTypename

func (v *AllCertifyVulnVulnerabilityCVE) GetTypename() *string

GetTypename returns AllCertifyVulnVulnerabilityCVE.Typename, and is useful for accessing the field via an interface.

func (*AllCertifyVulnVulnerabilityCVE) GetYear

func (v *AllCertifyVulnVulnerabilityCVE) GetYear() int

GetYear returns AllCertifyVulnVulnerabilityCVE.Year, and is useful for accessing the field via an interface.

func (*AllCertifyVulnVulnerabilityCVE) MarshalJSON

func (v *AllCertifyVulnVulnerabilityCVE) MarshalJSON() ([]byte, error)

func (*AllCertifyVulnVulnerabilityCVE) UnmarshalJSON

func (v *AllCertifyVulnVulnerabilityCVE) UnmarshalJSON(b []byte) error

type AllCertifyVulnVulnerabilityGHSA

type AllCertifyVulnVulnerabilityGHSA struct {
	Typename    *string `json:"__typename"`
	AllGHSATree `json:"-"`
}

AllCertifyVulnVulnerabilityGHSA includes the requested fields of the GraphQL type GHSA. The GraphQL type's documentation follows.

GHSA represents GitHub security advisories.

The advisory id field is mandatory and canonicalized to be lowercase.

This node can be referred to by other parts of GUAC.

func (*AllCertifyVulnVulnerabilityGHSA) GetGhsaId

func (v *AllCertifyVulnVulnerabilityGHSA) GetGhsaId() string

GetGhsaId returns AllCertifyVulnVulnerabilityGHSA.GhsaId, and is useful for accessing the field via an interface.

func (*AllCertifyVulnVulnerabilityGHSA) GetId

GetId returns AllCertifyVulnVulnerabilityGHSA.Id, and is useful for accessing the field via an interface.

func (*AllCertifyVulnVulnerabilityGHSA) GetTypename

func (v *AllCertifyVulnVulnerabilityGHSA) GetTypename() *string

GetTypename returns AllCertifyVulnVulnerabilityGHSA.Typename, and is useful for accessing the field via an interface.

func (*AllCertifyVulnVulnerabilityGHSA) MarshalJSON

func (v *AllCertifyVulnVulnerabilityGHSA) MarshalJSON() ([]byte, error)

func (*AllCertifyVulnVulnerabilityGHSA) UnmarshalJSON

func (v *AllCertifyVulnVulnerabilityGHSA) UnmarshalJSON(b []byte) error

type AllCertifyVulnVulnerabilityNoVuln

type AllCertifyVulnVulnerabilityNoVuln struct {
	Typename *string `json:"__typename"`
	Id       string  `json:"id"`
}

AllCertifyVulnVulnerabilityNoVuln includes the requested fields of the GraphQL type NoVuln. The GraphQL type's documentation follows.

NoVuln is a special vulnerability node to attest that no vulnerability has been found during a vulnerability scan.

Backends guarantee that this is a singleton node.

func (*AllCertifyVulnVulnerabilityNoVuln) GetId

GetId returns AllCertifyVulnVulnerabilityNoVuln.Id, and is useful for accessing the field via an interface.

func (*AllCertifyVulnVulnerabilityNoVuln) GetTypename

func (v *AllCertifyVulnVulnerabilityNoVuln) GetTypename() *string

GetTypename returns AllCertifyVulnVulnerabilityNoVuln.Typename, and is useful for accessing the field via an interface.

type AllCertifyVulnVulnerabilityOSV

type AllCertifyVulnVulnerabilityOSV struct {
	Typename   *string `json:"__typename"`
	AllOSVTree `json:"-"`
}

AllCertifyVulnVulnerabilityOSV includes the requested fields of the GraphQL type OSV. The GraphQL type's documentation follows.

OSV represents an Open Source Vulnerability.

The osvId field is mandatory and canonicalized to be lowercase.

This maps to a vulnerability ID specific to the environment (e.g., GHSA ID or CVE ID).

This node can be referred to by other parts of GUAC.

func (*AllCertifyVulnVulnerabilityOSV) GetId

GetId returns AllCertifyVulnVulnerabilityOSV.Id, and is useful for accessing the field via an interface.

func (*AllCertifyVulnVulnerabilityOSV) GetOsvId

func (v *AllCertifyVulnVulnerabilityOSV) GetOsvId() string

GetOsvId returns AllCertifyVulnVulnerabilityOSV.OsvId, and is useful for accessing the field via an interface.

func (*AllCertifyVulnVulnerabilityOSV) GetTypename

func (v *AllCertifyVulnVulnerabilityOSV) GetTypename() *string

GetTypename returns AllCertifyVulnVulnerabilityOSV.Typename, and is useful for accessing the field via an interface.

func (*AllCertifyVulnVulnerabilityOSV) MarshalJSON

func (v *AllCertifyVulnVulnerabilityOSV) MarshalJSON() ([]byte, error)

func (*AllCertifyVulnVulnerabilityOSV) UnmarshalJSON

func (v *AllCertifyVulnVulnerabilityOSV) UnmarshalJSON(b []byte) error

type AllCveTree

type AllCveTree struct {
	Id    string `json:"id"`
	Year  int    `json:"year"`
	CveId string `json:"cveId"`
}

AllCveTree includes the GraphQL fields of CVE requested by the fragment AllCveTree. The GraphQL type's documentation follows.

CVE represents a vulnerability in the Common Vulnerabilities and Exposures schema.

The vulnerability identifier contains a year field, so we are extracting that to allow matching for vulnerabilities found in a given year.

The vulnerability identifier field is mandatory and canonicalized to be lowercase.

This node can be referred to by other parts of GUAC.

func (*AllCveTree) GetCveId

func (v *AllCveTree) GetCveId() string

GetCveId returns AllCveTree.CveId, and is useful for accessing the field via an interface.

func (*AllCveTree) GetId

func (v *AllCveTree) GetId() string

GetId returns AllCveTree.Id, and is useful for accessing the field via an interface.

func (*AllCveTree) GetYear

func (v *AllCveTree) GetYear() int

GetYear returns AllCveTree.Year, and is useful for accessing the field via an interface.

type AllGHSATree

type AllGHSATree struct {
	Id     string `json:"id"`
	GhsaId string `json:"ghsaId"`
}

AllGHSATree includes the GraphQL fields of GHSA requested by the fragment AllGHSATree. The GraphQL type's documentation follows.

GHSA represents GitHub security advisories.

The advisory id field is mandatory and canonicalized to be lowercase.

This node can be referred to by other parts of GUAC.

func (*AllGHSATree) GetGhsaId

func (v *AllGHSATree) GetGhsaId() string

GetGhsaId returns AllGHSATree.GhsaId, and is useful for accessing the field via an interface.

func (*AllGHSATree) GetId

func (v *AllGHSATree) GetId() string

GetId returns AllGHSATree.Id, and is useful for accessing the field via an interface.

type AllHasMetadata added in v0.1.1

type AllHasMetadata struct {
	Id            string                                       `json:"id"`
	Subject       AllHasMetadataSubjectPackageSourceOrArtifact `json:"-"`
	Key           string                                       `json:"key"`
	Value         string                                       `json:"value"`
	Timestamp     time.Time                                    `json:"timestamp"`
	Justification string                                       `json:"justification"`
	Origin        string                                       `json:"origin"`
	Collector     string                                       `json:"collector"`
}

AllHasMetadata includes the GraphQL fields of HasMetadata requested by the fragment AllHasMetadata. The GraphQL type's documentation follows.

HasMetadata is an attestation that a package, source, or artifact has a certain attested property (key) with value (value). For example, a source may have metadata "SourceRepo2FAEnabled=true".

The intent of this evidence tree predicate is to allow extensibility of metadata expressible within the GUAC ontology. Metadata that is commonly used will then be promoted to a predicate on its own.

Justification indicates how the metadata was determined.

The metadata applies to a subject which is a package, source, or artifact. If the attestation targets a package, it must target a PackageName or a PackageVersion. If the attestation targets a source, it must target a SourceName.

func (*AllHasMetadata) GetCollector added in v0.1.1

func (v *AllHasMetadata) GetCollector() string

GetCollector returns AllHasMetadata.Collector, and is useful for accessing the field via an interface.

func (*AllHasMetadata) GetId added in v0.1.1

func (v *AllHasMetadata) GetId() string

GetId returns AllHasMetadata.Id, and is useful for accessing the field via an interface.

func (*AllHasMetadata) GetJustification added in v0.1.1

func (v *AllHasMetadata) GetJustification() string

GetJustification returns AllHasMetadata.Justification, and is useful for accessing the field via an interface.

func (*AllHasMetadata) GetKey added in v0.1.1

func (v *AllHasMetadata) GetKey() string

GetKey returns AllHasMetadata.Key, and is useful for accessing the field via an interface.

func (*AllHasMetadata) GetOrigin added in v0.1.1

func (v *AllHasMetadata) GetOrigin() string

GetOrigin returns AllHasMetadata.Origin, and is useful for accessing the field via an interface.

func (*AllHasMetadata) GetSubject added in v0.1.1

GetSubject returns AllHasMetadata.Subject, and is useful for accessing the field via an interface.

func (*AllHasMetadata) GetTimestamp added in v0.1.1

func (v *AllHasMetadata) GetTimestamp() time.Time

GetTimestamp returns AllHasMetadata.Timestamp, and is useful for accessing the field via an interface.

func (*AllHasMetadata) GetValue added in v0.1.1

func (v *AllHasMetadata) GetValue() string

GetValue returns AllHasMetadata.Value, and is useful for accessing the field via an interface.

func (*AllHasMetadata) MarshalJSON added in v0.1.1

func (v *AllHasMetadata) MarshalJSON() ([]byte, error)

func (*AllHasMetadata) UnmarshalJSON added in v0.1.1

func (v *AllHasMetadata) UnmarshalJSON(b []byte) error

type AllHasMetadataSubjectArtifact added in v0.1.1

type AllHasMetadataSubjectArtifact struct {
	Typename        *string `json:"__typename"`
	AllArtifactTree `json:"-"`
}

AllHasMetadataSubjectArtifact includes the requested fields of the GraphQL type Artifact. The GraphQL type's documentation follows.

Artifact represents an artifact identified by a checksum hash.

The checksum is split into the digest value and the algorithm used to generate it. Both fields are mandatory and canonicalized to be lowercase.

If having a checksum Go object, algorithm can be strings.ToLower(string(checksum.Algorithm)) and digest can be checksum.Value.

func (*AllHasMetadataSubjectArtifact) GetAlgorithm added in v0.1.1

func (v *AllHasMetadataSubjectArtifact) GetAlgorithm() string

GetAlgorithm returns AllHasMetadataSubjectArtifact.Algorithm, and is useful for accessing the field via an interface.

func (*AllHasMetadataSubjectArtifact) GetDigest added in v0.1.1

func (v *AllHasMetadataSubjectArtifact) GetDigest() string

GetDigest returns AllHasMetadataSubjectArtifact.Digest, and is useful for accessing the field via an interface.

func (*AllHasMetadataSubjectArtifact) GetId added in v0.1.1

GetId returns AllHasMetadataSubjectArtifact.Id, and is useful for accessing the field via an interface.

func (*AllHasMetadataSubjectArtifact) GetTypename added in v0.1.1

func (v *AllHasMetadataSubjectArtifact) GetTypename() *string

GetTypename returns AllHasMetadataSubjectArtifact.Typename, and is useful for accessing the field via an interface.

func (*AllHasMetadataSubjectArtifact) MarshalJSON added in v0.1.1

func (v *AllHasMetadataSubjectArtifact) MarshalJSON() ([]byte, error)

func (*AllHasMetadataSubjectArtifact) UnmarshalJSON added in v0.1.1

func (v *AllHasMetadataSubjectArtifact) UnmarshalJSON(b []byte) error

type AllHasMetadataSubjectPackage added in v0.1.1

type AllHasMetadataSubjectPackage struct {
	Typename   *string `json:"__typename"`
	AllPkgTree `json:"-"`
}

AllHasMetadataSubjectPackage includes the requested fields of the GraphQL type Package. The GraphQL type's documentation follows.

Package represents the root of the package trie/tree.

We map package information to a trie, closely matching the pURL specification (https://github.com/package-url/purl-spec/blob/0dd92f26f8bb11956ffdf5e8acfcee71e8560407/README.rst), but deviating from it where GUAC heuristics allow for better representation of package information. Each path in the trie fully represents a package; we split the trie based on the pURL components.

This node matches a pkg:<type> partial pURL. The type field matches the pURL types but we might also use "guac" for the cases where the pURL representation is not complete or when we have custom rules.

Since this node is at the root of the package trie, it is named Package, not PackageType.

func (*AllHasMetadataSubjectPackage) GetId added in v0.1.1

GetId returns AllHasMetadataSubjectPackage.Id, and is useful for accessing the field via an interface.

func (*AllHasMetadataSubjectPackage) GetNamespaces added in v0.1.1

GetNamespaces returns AllHasMetadataSubjectPackage.Namespaces, and is useful for accessing the field via an interface.

func (*AllHasMetadataSubjectPackage) GetType added in v0.1.1

func (v *AllHasMetadataSubjectPackage) GetType() string

GetType returns AllHasMetadataSubjectPackage.Type, and is useful for accessing the field via an interface.

func (*AllHasMetadataSubjectPackage) GetTypename added in v0.1.1

func (v *AllHasMetadataSubjectPackage) GetTypename() *string

GetTypename returns AllHasMetadataSubjectPackage.Typename, and is useful for accessing the field via an interface.

func (*AllHasMetadataSubjectPackage) MarshalJSON added in v0.1.1

func (v *AllHasMetadataSubjectPackage) MarshalJSON() ([]byte, error)

func (*AllHasMetadataSubjectPackage) UnmarshalJSON added in v0.1.1

func (v *AllHasMetadataSubjectPackage) UnmarshalJSON(b []byte) error

type AllHasMetadataSubjectPackageSourceOrArtifact added in v0.1.1

type AllHasMetadataSubjectPackageSourceOrArtifact interface {

	// GetTypename returns the receiver's concrete GraphQL type-name (see interface doc for possible values).
	GetTypename() *string
	// contains filtered or unexported methods
}

AllHasMetadataSubjectPackageSourceOrArtifact includes the requested fields of the GraphQL interface PackageSourceOrArtifact.

AllHasMetadataSubjectPackageSourceOrArtifact is implemented by the following types: AllHasMetadataSubjectArtifact AllHasMetadataSubjectPackage AllHasMetadataSubjectSource The GraphQL type's documentation follows.

PackageSourceOrArtifact is a union of Package, Source, and Artifact.

type AllHasMetadataSubjectSource added in v0.1.1

type AllHasMetadataSubjectSource struct {
	Typename      *string `json:"__typename"`
	AllSourceTree `json:"-"`
}

AllHasMetadataSubjectSource includes the requested fields of the GraphQL type Source. The GraphQL type's documentation follows.

Source represents the root of the source trie/tree.

We map source information to a trie, as a derivative of the pURL specification: each path in the trie represents a type, namespace, name and an optional qualifier that stands for tag/commit information.

This node represents the type part of the trie path. It is used to represent the version control system that is being used.

Since this node is at the root of the source trie, it is named Source, not SourceType.

func (*AllHasMetadataSubjectSource) GetId added in v0.1.1

GetId returns AllHasMetadataSubjectSource.Id, and is useful for accessing the field via an interface.

func (*AllHasMetadataSubjectSource) GetNamespaces added in v0.1.1

GetNamespaces returns AllHasMetadataSubjectSource.Namespaces, and is useful for accessing the field via an interface.

func (*AllHasMetadataSubjectSource) GetType added in v0.1.1

func (v *AllHasMetadataSubjectSource) GetType() string

GetType returns AllHasMetadataSubjectSource.Type, and is useful for accessing the field via an interface.

func (*AllHasMetadataSubjectSource) GetTypename added in v0.1.1

func (v *AllHasMetadataSubjectSource) GetTypename() *string

GetTypename returns AllHasMetadataSubjectSource.Typename, and is useful for accessing the field via an interface.

func (*AllHasMetadataSubjectSource) MarshalJSON added in v0.1.1

func (v *AllHasMetadataSubjectSource) MarshalJSON() ([]byte, error)

func (*AllHasMetadataSubjectSource) UnmarshalJSON added in v0.1.1

func (v *AllHasMetadataSubjectSource) UnmarshalJSON(b []byte) error

type AllHasSBOMTree added in v0.1.1

type AllHasSBOMTree struct {
	Id string `json:"id"`
	// SBOM subject
	Subject AllHasSBOMTreeSubjectPackageOrArtifact `json:"-"`
	// Identifier for the SBOM document
	Uri string `json:"uri"`
	// Algorithm by which SBOMs digest was computed
	Algorithm string `json:"algorithm"`
	// Digest of SBOM
	Digest string `json:"digest"`
	// Location from which the SBOM can be downloaded
	DownloadLocation string `json:"downloadLocation"`
	// Document from which this attestation is generated from
	Origin string `json:"origin"`
	// GUAC collector for the document
	Collector string `json:"collector"`
}

AllHasSBOMTree includes the GraphQL fields of HasSBOM requested by the fragment AllHasSBOMTree.

func (*AllHasSBOMTree) GetAlgorithm added in v0.1.1

func (v *AllHasSBOMTree) GetAlgorithm() string

GetAlgorithm returns AllHasSBOMTree.Algorithm, and is useful for accessing the field via an interface.

func (*AllHasSBOMTree) GetCollector added in v0.1.1

func (v *AllHasSBOMTree) GetCollector() string

GetCollector returns AllHasSBOMTree.Collector, and is useful for accessing the field via an interface.

func (*AllHasSBOMTree) GetDigest added in v0.1.1

func (v *AllHasSBOMTree) GetDigest() string

GetDigest returns AllHasSBOMTree.Digest, and is useful for accessing the field via an interface.

func (*AllHasSBOMTree) GetDownloadLocation added in v0.1.1

func (v *AllHasSBOMTree) GetDownloadLocation() string

GetDownloadLocation returns AllHasSBOMTree.DownloadLocation, and is useful for accessing the field via an interface.

func (*AllHasSBOMTree) GetId added in v0.1.1

func (v *AllHasSBOMTree) GetId() string

GetId returns AllHasSBOMTree.Id, and is useful for accessing the field via an interface.

func (*AllHasSBOMTree) GetOrigin added in v0.1.1

func (v *AllHasSBOMTree) GetOrigin() string

GetOrigin returns AllHasSBOMTree.Origin, and is useful for accessing the field via an interface.

func (*AllHasSBOMTree) GetSubject added in v0.1.1

GetSubject returns AllHasSBOMTree.Subject, and is useful for accessing the field via an interface.

func (*AllHasSBOMTree) GetUri added in v0.1.1

func (v *AllHasSBOMTree) GetUri() string

GetUri returns AllHasSBOMTree.Uri, and is useful for accessing the field via an interface.

func (*AllHasSBOMTree) MarshalJSON added in v0.1.1

func (v *AllHasSBOMTree) MarshalJSON() ([]byte, error)

func (*AllHasSBOMTree) UnmarshalJSON added in v0.1.1

func (v *AllHasSBOMTree) UnmarshalJSON(b []byte) error

type AllHasSBOMTreeSubjectArtifact added in v0.1.1

type AllHasSBOMTreeSubjectArtifact struct {
	Typename        *string `json:"__typename"`
	AllArtifactTree `json:"-"`
}

AllHasSBOMTreeSubjectArtifact includes the requested fields of the GraphQL type Artifact. The GraphQL type's documentation follows.

Artifact represents an artifact identified by a checksum hash.

The checksum is split into the digest value and the algorithm used to generate it. Both fields are mandatory and canonicalized to be lowercase.

If having a checksum Go object, algorithm can be strings.ToLower(string(checksum.Algorithm)) and digest can be checksum.Value.

func (*AllHasSBOMTreeSubjectArtifact) GetAlgorithm added in v0.1.1

func (v *AllHasSBOMTreeSubjectArtifact) GetAlgorithm() string

GetAlgorithm returns AllHasSBOMTreeSubjectArtifact.Algorithm, and is useful for accessing the field via an interface.

func (*AllHasSBOMTreeSubjectArtifact) GetDigest added in v0.1.1

func (v *AllHasSBOMTreeSubjectArtifact) GetDigest() string

GetDigest returns AllHasSBOMTreeSubjectArtifact.Digest, and is useful for accessing the field via an interface.

func (*AllHasSBOMTreeSubjectArtifact) GetId added in v0.1.1

GetId returns AllHasSBOMTreeSubjectArtifact.Id, and is useful for accessing the field via an interface.

func (*AllHasSBOMTreeSubjectArtifact) GetTypename added in v0.1.1

func (v *AllHasSBOMTreeSubjectArtifact) GetTypename() *string

GetTypename returns AllHasSBOMTreeSubjectArtifact.Typename, and is useful for accessing the field via an interface.

func (*AllHasSBOMTreeSubjectArtifact) MarshalJSON added in v0.1.1

func (v *AllHasSBOMTreeSubjectArtifact) MarshalJSON() ([]byte, error)

func (*AllHasSBOMTreeSubjectArtifact) UnmarshalJSON added in v0.1.1

func (v *AllHasSBOMTreeSubjectArtifact) UnmarshalJSON(b []byte) error

type AllHasSBOMTreeSubjectPackage added in v0.1.1

type AllHasSBOMTreeSubjectPackage struct {
	Typename   *string `json:"__typename"`
	AllPkgTree `json:"-"`
}

AllHasSBOMTreeSubjectPackage includes the requested fields of the GraphQL type Package. The GraphQL type's documentation follows.

Package represents the root of the package trie/tree.

We map package information to a trie, closely matching the pURL specification (https://github.com/package-url/purl-spec/blob/0dd92f26f8bb11956ffdf5e8acfcee71e8560407/README.rst), but deviating from it where GUAC heuristics allow for better representation of package information. Each path in the trie fully represents a package; we split the trie based on the pURL components.

This node matches a pkg:<type> partial pURL. The type field matches the pURL types but we might also use "guac" for the cases where the pURL representation is not complete or when we have custom rules.

Since this node is at the root of the package trie, it is named Package, not PackageType.

func (*AllHasSBOMTreeSubjectPackage) GetId added in v0.1.1

GetId returns AllHasSBOMTreeSubjectPackage.Id, and is useful for accessing the field via an interface.

func (*AllHasSBOMTreeSubjectPackage) GetNamespaces added in v0.1.1

GetNamespaces returns AllHasSBOMTreeSubjectPackage.Namespaces, and is useful for accessing the field via an interface.

func (*AllHasSBOMTreeSubjectPackage) GetType added in v0.1.1

func (v *AllHasSBOMTreeSubjectPackage) GetType() string

GetType returns AllHasSBOMTreeSubjectPackage.Type, and is useful for accessing the field via an interface.

func (*AllHasSBOMTreeSubjectPackage) GetTypename added in v0.1.1

func (v *AllHasSBOMTreeSubjectPackage) GetTypename() *string

GetTypename returns AllHasSBOMTreeSubjectPackage.Typename, and is useful for accessing the field via an interface.

func (*AllHasSBOMTreeSubjectPackage) MarshalJSON added in v0.1.1

func (v *AllHasSBOMTreeSubjectPackage) MarshalJSON() ([]byte, error)

func (*AllHasSBOMTreeSubjectPackage) UnmarshalJSON added in v0.1.1

func (v *AllHasSBOMTreeSubjectPackage) UnmarshalJSON(b []byte) error

type AllHasSBOMTreeSubjectPackageOrArtifact added in v0.1.1

type AllHasSBOMTreeSubjectPackageOrArtifact interface {

	// GetTypename returns the receiver's concrete GraphQL type-name (see interface doc for possible values).
	GetTypename() *string
	// contains filtered or unexported methods
}

AllHasSBOMTreeSubjectPackageOrArtifact includes the requested fields of the GraphQL interface PackageOrArtifact.

AllHasSBOMTreeSubjectPackageOrArtifact is implemented by the following types: AllHasSBOMTreeSubjectArtifact AllHasSBOMTreeSubjectPackage The GraphQL type's documentation follows.

PackageOrArtifact is a union of Package and Artifact.

type AllHasSourceAt added in v0.1.1

type AllHasSourceAt struct {
	Id string `json:"id"`
	// Justification for the attested relationship
	Justification string `json:"justification"`
	// Timestamp since this link between package and source was certified
	KnownSince time.Time `json:"knownSince"`
	// The subject of the attestation: can be a PackageName or a PackageVersion
	Package AllHasSourceAtPackage `json:"package"`
	// Source repository from which the package is built
	Source AllHasSourceAtSource `json:"source"`
	// Document from which this attestation is generated from
	Origin string `json:"origin"`
	// GUAC collector for the document
	Collector string `json:"collector"`
}

AllHasSourceAt includes the GraphQL fields of HasSourceAt requested by the fragment AllHasSourceAt. The GraphQL type's documentation follows.

HasSourceAt records that a package's repository is a given source.

func (*AllHasSourceAt) GetCollector added in v0.1.1

func (v *AllHasSourceAt) GetCollector() string

GetCollector returns AllHasSourceAt.Collector, and is useful for accessing the field via an interface.

func (*AllHasSourceAt) GetId added in v0.1.1

func (v *AllHasSourceAt) GetId() string

GetId returns AllHasSourceAt.Id, and is useful for accessing the field via an interface.

func (*AllHasSourceAt) GetJustification added in v0.1.1

func (v *AllHasSourceAt) GetJustification() string

GetJustification returns AllHasSourceAt.Justification, and is useful for accessing the field via an interface.

func (*AllHasSourceAt) GetKnownSince added in v0.1.1

func (v *AllHasSourceAt) GetKnownSince() time.Time

GetKnownSince returns AllHasSourceAt.KnownSince, and is useful for accessing the field via an interface.

func (*AllHasSourceAt) GetOrigin added in v0.1.1

func (v *AllHasSourceAt) GetOrigin() string

GetOrigin returns AllHasSourceAt.Origin, and is useful for accessing the field via an interface.

func (*AllHasSourceAt) GetPackage added in v0.1.1

func (v *AllHasSourceAt) GetPackage() AllHasSourceAtPackage

GetPackage returns AllHasSourceAt.Package, and is useful for accessing the field via an interface.

func (*AllHasSourceAt) GetSource added in v0.1.1

func (v *AllHasSourceAt) GetSource() AllHasSourceAtSource

GetSource returns AllHasSourceAt.Source, and is useful for accessing the field via an interface.

type AllHasSourceAtPackage added in v0.1.1

type AllHasSourceAtPackage struct {
	AllPkgTree `json:"-"`
}

AllHasSourceAtPackage includes the requested fields of the GraphQL type Package. The GraphQL type's documentation follows.

Package represents the root of the package trie/tree.

We map package information to a trie, closely matching the pURL specification (https://github.com/package-url/purl-spec/blob/0dd92f26f8bb11956ffdf5e8acfcee71e8560407/README.rst), but deviating from it where GUAC heuristics allow for better representation of package information. Each path in the trie fully represents a package; we split the trie based on the pURL components.

This node matches a pkg:<type> partial pURL. The type field matches the pURL types but we might also use "guac" for the cases where the pURL representation is not complete or when we have custom rules.

Since this node is at the root of the package trie, it is named Package, not PackageType.

func (*AllHasSourceAtPackage) GetId added in v0.1.1

func (v *AllHasSourceAtPackage) GetId() string

GetId returns AllHasSourceAtPackage.Id, and is useful for accessing the field via an interface.

func (*AllHasSourceAtPackage) GetNamespaces added in v0.1.1

GetNamespaces returns AllHasSourceAtPackage.Namespaces, and is useful for accessing the field via an interface.

func (*AllHasSourceAtPackage) GetType added in v0.1.1

func (v *AllHasSourceAtPackage) GetType() string

GetType returns AllHasSourceAtPackage.Type, and is useful for accessing the field via an interface.

func (*AllHasSourceAtPackage) MarshalJSON added in v0.1.1

func (v *AllHasSourceAtPackage) MarshalJSON() ([]byte, error)

func (*AllHasSourceAtPackage) UnmarshalJSON added in v0.1.1

func (v *AllHasSourceAtPackage) UnmarshalJSON(b []byte) error

type AllHasSourceAtSource added in v0.1.1

type AllHasSourceAtSource struct {
	AllSourceTree `json:"-"`
}

AllHasSourceAtSource includes the requested fields of the GraphQL type Source. The GraphQL type's documentation follows.

Source represents the root of the source trie/tree.

We map source information to a trie, as a derivative of the pURL specification: each path in the trie represents a type, namespace, name and an optional qualifier that stands for tag/commit information.

This node represents the type part of the trie path. It is used to represent the version control system that is being used.

Since this node is at the root of the source trie, it is named Source, not SourceType.

func (*AllHasSourceAtSource) GetId added in v0.1.1

func (v *AllHasSourceAtSource) GetId() string

GetId returns AllHasSourceAtSource.Id, and is useful for accessing the field via an interface.

func (*AllHasSourceAtSource) GetNamespaces added in v0.1.1

GetNamespaces returns AllHasSourceAtSource.Namespaces, and is useful for accessing the field via an interface.

func (*AllHasSourceAtSource) GetType added in v0.1.1

func (v *AllHasSourceAtSource) GetType() string

GetType returns AllHasSourceAtSource.Type, and is useful for accessing the field via an interface.

func (*AllHasSourceAtSource) MarshalJSON added in v0.1.1

func (v *AllHasSourceAtSource) MarshalJSON() ([]byte, error)

func (*AllHasSourceAtSource) UnmarshalJSON added in v0.1.1

func (v *AllHasSourceAtSource) UnmarshalJSON(b []byte) error

type AllHashEqualTree added in v0.1.1

type AllHashEqualTree struct {
	Id string `json:"id"`
	// Justification for the claim that the artifacts are similar
	Justification string `json:"justification"`
	// Collection of artifacts that are similar
	Artifacts []AllHashEqualTreeArtifactsArtifact `json:"artifacts"`
	// Document from which this attestation is generated from
	Origin string `json:"origin"`
	// GUAC collector for the document
	Collector string `json:"collector"`
}

AllHashEqualTree includes the GraphQL fields of HashEqual requested by the fragment AllHashEqualTree. The GraphQL type's documentation follows.

HashEqual is an attestation that a set of artifacts are identical.

func (*AllHashEqualTree) GetArtifacts added in v0.1.1

GetArtifacts returns AllHashEqualTree.Artifacts, and is useful for accessing the field via an interface.

func (*AllHashEqualTree) GetCollector added in v0.1.1

func (v *AllHashEqualTree) GetCollector() string

GetCollector returns AllHashEqualTree.Collector, and is useful for accessing the field via an interface.

func (*AllHashEqualTree) GetId added in v0.1.1

func (v *AllHashEqualTree) GetId() string

GetId returns AllHashEqualTree.Id, and is useful for accessing the field via an interface.

func (*AllHashEqualTree) GetJustification added in v0.1.1

func (v *AllHashEqualTree) GetJustification() string

GetJustification returns AllHashEqualTree.Justification, and is useful for accessing the field via an interface.

func (*AllHashEqualTree) GetOrigin added in v0.1.1

func (v *AllHashEqualTree) GetOrigin() string

GetOrigin returns AllHashEqualTree.Origin, and is useful for accessing the field via an interface.

type AllHashEqualTreeArtifactsArtifact added in v0.1.1

type AllHashEqualTreeArtifactsArtifact struct {
	AllArtifactTree `json:"-"`
}

AllHashEqualTreeArtifactsArtifact includes the requested fields of the GraphQL type Artifact. The GraphQL type's documentation follows.

Artifact represents an artifact identified by a checksum hash.

The checksum is split into the digest value and the algorithm used to generate it. Both fields are mandatory and canonicalized to be lowercase.

If having a checksum Go object, algorithm can be strings.ToLower(string(checksum.Algorithm)) and digest can be checksum.Value.

func (*AllHashEqualTreeArtifactsArtifact) GetAlgorithm added in v0.1.1

func (v *AllHashEqualTreeArtifactsArtifact) GetAlgorithm() string

GetAlgorithm returns AllHashEqualTreeArtifactsArtifact.Algorithm, and is useful for accessing the field via an interface.

func (*AllHashEqualTreeArtifactsArtifact) GetDigest added in v0.1.1

GetDigest returns AllHashEqualTreeArtifactsArtifact.Digest, and is useful for accessing the field via an interface.

func (*AllHashEqualTreeArtifactsArtifact) GetId added in v0.1.1

GetId returns AllHashEqualTreeArtifactsArtifact.Id, and is useful for accessing the field via an interface.

func (*AllHashEqualTreeArtifactsArtifact) MarshalJSON added in v0.1.1

func (v *AllHashEqualTreeArtifactsArtifact) MarshalJSON() ([]byte, error)

func (*AllHashEqualTreeArtifactsArtifact) UnmarshalJSON added in v0.1.1

func (v *AllHashEqualTreeArtifactsArtifact) UnmarshalJSON(b []byte) error

type AllIsDependencyTree added in v0.1.1

type AllIsDependencyTree struct {
	Id string `json:"id"`
	// Justification for the attested relationship
	Justification string `json:"justification"`
	// Package that has the dependency
	Package AllIsDependencyTreePackage `json:"package"`
	// Package for the dependency; MUST BE PackageName, not PackageVersion
	DependentPackage AllIsDependencyTreeDependentPackage `json:"dependentPackage"`
	// Type of dependency
	DependencyType DependencyType `json:"dependencyType"`
	// Version range for the dependency link
	VersionRange string `json:"versionRange"`
	// Document from which this attestation is generated from
	Origin string `json:"origin"`
	// GUAC collector for the document
	Collector string `json:"collector"`
}

AllIsDependencyTree includes the GraphQL fields of IsDependency requested by the fragment AllIsDependencyTree. The GraphQL type's documentation follows.

IsDependency is an attestation to record that a package depends on another.

func (*AllIsDependencyTree) GetCollector added in v0.1.1

func (v *AllIsDependencyTree) GetCollector() string

GetCollector returns AllIsDependencyTree.Collector, and is useful for accessing the field via an interface.

func (*AllIsDependencyTree) GetDependencyType added in v0.1.1

func (v *AllIsDependencyTree) GetDependencyType() DependencyType

GetDependencyType returns AllIsDependencyTree.DependencyType, and is useful for accessing the field via an interface.

func (*AllIsDependencyTree) GetDependentPackage added in v0.1.1

GetDependentPackage returns AllIsDependencyTree.DependentPackage, and is useful for accessing the field via an interface.

func (*AllIsDependencyTree) GetId added in v0.1.1

func (v *AllIsDependencyTree) GetId() string

GetId returns AllIsDependencyTree.Id, and is useful for accessing the field via an interface.

func (*AllIsDependencyTree) GetJustification added in v0.1.1

func (v *AllIsDependencyTree) GetJustification() string

GetJustification returns AllIsDependencyTree.Justification, and is useful for accessing the field via an interface.

func (*AllIsDependencyTree) GetOrigin added in v0.1.1

func (v *AllIsDependencyTree) GetOrigin() string

GetOrigin returns AllIsDependencyTree.Origin, and is useful for accessing the field via an interface.

func (*AllIsDependencyTree) GetPackage added in v0.1.1

GetPackage returns AllIsDependencyTree.Package, and is useful for accessing the field via an interface.

func (*AllIsDependencyTree) GetVersionRange added in v0.1.1

func (v *AllIsDependencyTree) GetVersionRange() string

GetVersionRange returns AllIsDependencyTree.VersionRange, and is useful for accessing the field via an interface.

type AllIsDependencyTreeDependentPackage added in v0.1.1

type AllIsDependencyTreeDependentPackage struct {
	AllPkgTree `json:"-"`
}

AllIsDependencyTreeDependentPackage includes the requested fields of the GraphQL type Package. The GraphQL type's documentation follows.

Package represents the root of the package trie/tree.

We map package information to a trie, closely matching the pURL specification (https://github.com/package-url/purl-spec/blob/0dd92f26f8bb11956ffdf5e8acfcee71e8560407/README.rst), but deviating from it where GUAC heuristics allow for better representation of package information. Each path in the trie fully represents a package; we split the trie based on the pURL components.

This node matches a pkg:<type> partial pURL. The type field matches the pURL types but we might also use "guac" for the cases where the pURL representation is not complete or when we have custom rules.

Since this node is at the root of the package trie, it is named Package, not PackageType.

func (*AllIsDependencyTreeDependentPackage) GetId added in v0.1.1

GetId returns AllIsDependencyTreeDependentPackage.Id, and is useful for accessing the field via an interface.

func (*AllIsDependencyTreeDependentPackage) GetNamespaces added in v0.1.1

GetNamespaces returns AllIsDependencyTreeDependentPackage.Namespaces, and is useful for accessing the field via an interface.

func (*AllIsDependencyTreeDependentPackage) GetType added in v0.1.1

GetType returns AllIsDependencyTreeDependentPackage.Type, and is useful for accessing the field via an interface.

func (*AllIsDependencyTreeDependentPackage) MarshalJSON added in v0.1.1

func (v *AllIsDependencyTreeDependentPackage) MarshalJSON() ([]byte, error)

func (*AllIsDependencyTreeDependentPackage) UnmarshalJSON added in v0.1.1

func (v *AllIsDependencyTreeDependentPackage) UnmarshalJSON(b []byte) error

type AllIsDependencyTreePackage added in v0.1.1

type AllIsDependencyTreePackage struct {
	AllPkgTree `json:"-"`
}

AllIsDependencyTreePackage includes the requested fields of the GraphQL type Package. The GraphQL type's documentation follows.

Package represents the root of the package trie/tree.

We map package information to a trie, closely matching the pURL specification (https://github.com/package-url/purl-spec/blob/0dd92f26f8bb11956ffdf5e8acfcee71e8560407/README.rst), but deviating from it where GUAC heuristics allow for better representation of package information. Each path in the trie fully represents a package; we split the trie based on the pURL components.

This node matches a pkg:<type> partial pURL. The type field matches the pURL types but we might also use "guac" for the cases where the pURL representation is not complete or when we have custom rules.

Since this node is at the root of the package trie, it is named Package, not PackageType.

func (*AllIsDependencyTreePackage) GetId added in v0.1.1

GetId returns AllIsDependencyTreePackage.Id, and is useful for accessing the field via an interface.

func (*AllIsDependencyTreePackage) GetNamespaces added in v0.1.1

GetNamespaces returns AllIsDependencyTreePackage.Namespaces, and is useful for accessing the field via an interface.

func (*AllIsDependencyTreePackage) GetType added in v0.1.1

func (v *AllIsDependencyTreePackage) GetType() string

GetType returns AllIsDependencyTreePackage.Type, and is useful for accessing the field via an interface.

func (*AllIsDependencyTreePackage) MarshalJSON added in v0.1.1

func (v *AllIsDependencyTreePackage) MarshalJSON() ([]byte, error)

func (*AllIsDependencyTreePackage) UnmarshalJSON added in v0.1.1

func (v *AllIsDependencyTreePackage) UnmarshalJSON(b []byte) error

type AllIsOccurrencesTree

type AllIsOccurrencesTree struct {
	Id string `json:"id"`
	// Package or source from which the artifact originates
	Subject AllIsOccurrencesTreeSubjectPackageOrSource `json:"-"`
	// The artifact in the relationship
	Artifact AllIsOccurrencesTreeArtifact `json:"artifact"`
	// Justification for the attested relationship
	Justification string `json:"justification"`
	// Document from which this attestation is generated from
	Origin string `json:"origin"`
	// GUAC collector for the document
	Collector string `json:"collector"`
}

AllIsOccurrencesTree includes the GraphQL fields of IsOccurrence requested by the fragment AllIsOccurrencesTree. The GraphQL type's documentation follows.

IsOccurrence is an attestation to link an artifact to a package or source.

Attestation must occur at the PackageVersion or at the SourceName.

func (*AllIsOccurrencesTree) GetArtifact

GetArtifact returns AllIsOccurrencesTree.Artifact, and is useful for accessing the field via an interface.

func (*AllIsOccurrencesTree) GetCollector

func (v *AllIsOccurrencesTree) GetCollector() string

GetCollector returns AllIsOccurrencesTree.Collector, and is useful for accessing the field via an interface.

func (*AllIsOccurrencesTree) GetId

func (v *AllIsOccurrencesTree) GetId() string

GetId returns AllIsOccurrencesTree.Id, and is useful for accessing the field via an interface.

func (*AllIsOccurrencesTree) GetJustification

func (v *AllIsOccurrencesTree) GetJustification() string

GetJustification returns AllIsOccurrencesTree.Justification, and is useful for accessing the field via an interface.

func (*AllIsOccurrencesTree) GetOrigin

func (v *AllIsOccurrencesTree) GetOrigin() string

GetOrigin returns AllIsOccurrencesTree.Origin, and is useful for accessing the field via an interface.

func (*AllIsOccurrencesTree) GetSubject

GetSubject returns AllIsOccurrencesTree.Subject, and is useful for accessing the field via an interface.

func (*AllIsOccurrencesTree) MarshalJSON

func (v *AllIsOccurrencesTree) MarshalJSON() ([]byte, error)

func (*AllIsOccurrencesTree) UnmarshalJSON

func (v *AllIsOccurrencesTree) UnmarshalJSON(b []byte) error

type AllIsOccurrencesTreeArtifact

type AllIsOccurrencesTreeArtifact struct {
	AllArtifactTree `json:"-"`
}

AllIsOccurrencesTreeArtifact includes the requested fields of the GraphQL type Artifact. The GraphQL type's documentation follows.

Artifact represents an artifact identified by a checksum hash.

The checksum is split into the digest value and the algorithm used to generate it. Both fields are mandatory and canonicalized to be lowercase.

If having a checksum Go object, algorithm can be strings.ToLower(string(checksum.Algorithm)) and digest can be checksum.Value.

func (*AllIsOccurrencesTreeArtifact) GetAlgorithm

func (v *AllIsOccurrencesTreeArtifact) GetAlgorithm() string

GetAlgorithm returns AllIsOccurrencesTreeArtifact.Algorithm, and is useful for accessing the field via an interface.

func (*AllIsOccurrencesTreeArtifact) GetDigest

func (v *AllIsOccurrencesTreeArtifact) GetDigest() string

GetDigest returns AllIsOccurrencesTreeArtifact.Digest, and is useful for accessing the field via an interface.

func (*AllIsOccurrencesTreeArtifact) GetId

GetId returns AllIsOccurrencesTreeArtifact.Id, and is useful for accessing the field via an interface.

func (*AllIsOccurrencesTreeArtifact) MarshalJSON

func (v *AllIsOccurrencesTreeArtifact) MarshalJSON() ([]byte, error)

func (*AllIsOccurrencesTreeArtifact) UnmarshalJSON

func (v *AllIsOccurrencesTreeArtifact) UnmarshalJSON(b []byte) error

type AllIsOccurrencesTreeSubjectPackage

type AllIsOccurrencesTreeSubjectPackage struct {
	Typename   *string `json:"__typename"`
	AllPkgTree `json:"-"`
}

AllIsOccurrencesTreeSubjectPackage includes the requested fields of the GraphQL type Package. The GraphQL type's documentation follows.

Package represents the root of the package trie/tree.

We map package information to a trie, closely matching the pURL specification (https://github.com/package-url/purl-spec/blob/0dd92f26f8bb11956ffdf5e8acfcee71e8560407/README.rst), but deviating from it where GUAC heuristics allow for better representation of package information. Each path in the trie fully represents a package; we split the trie based on the pURL components.

This node matches a pkg:<type> partial pURL. The type field matches the pURL types but we might also use "guac" for the cases where the pURL representation is not complete or when we have custom rules.

Since this node is at the root of the package trie, it is named Package, not PackageType.

func (*AllIsOccurrencesTreeSubjectPackage) GetId

GetId returns AllIsOccurrencesTreeSubjectPackage.Id, and is useful for accessing the field via an interface.

func (*AllIsOccurrencesTreeSubjectPackage) GetNamespaces

GetNamespaces returns AllIsOccurrencesTreeSubjectPackage.Namespaces, and is useful for accessing the field via an interface.

func (*AllIsOccurrencesTreeSubjectPackage) GetType

GetType returns AllIsOccurrencesTreeSubjectPackage.Type, and is useful for accessing the field via an interface.

func (*AllIsOccurrencesTreeSubjectPackage) GetTypename

func (v *AllIsOccurrencesTreeSubjectPackage) GetTypename() *string

GetTypename returns AllIsOccurrencesTreeSubjectPackage.Typename, and is useful for accessing the field via an interface.

func (*AllIsOccurrencesTreeSubjectPackage) MarshalJSON

func (v *AllIsOccurrencesTreeSubjectPackage) MarshalJSON() ([]byte, error)

func (*AllIsOccurrencesTreeSubjectPackage) UnmarshalJSON

func (v *AllIsOccurrencesTreeSubjectPackage) UnmarshalJSON(b []byte) error

type AllIsOccurrencesTreeSubjectPackageOrSource

type AllIsOccurrencesTreeSubjectPackageOrSource interface {

	// GetTypename returns the receiver's concrete GraphQL type-name (see interface doc for possible values).
	GetTypename() *string
	// contains filtered or unexported methods
}

AllIsOccurrencesTreeSubjectPackageOrSource includes the requested fields of the GraphQL interface PackageOrSource.

AllIsOccurrencesTreeSubjectPackageOrSource is implemented by the following types: AllIsOccurrencesTreeSubjectPackage AllIsOccurrencesTreeSubjectSource The GraphQL type's documentation follows.

PackageOrSource is a union of Package and Source.

type AllIsOccurrencesTreeSubjectSource

type AllIsOccurrencesTreeSubjectSource struct {
	Typename      *string `json:"__typename"`
	AllSourceTree `json:"-"`
}

AllIsOccurrencesTreeSubjectSource includes the requested fields of the GraphQL type Source. The GraphQL type's documentation follows.

Source represents the root of the source trie/tree.

We map source information to a trie, as a derivative of the pURL specification: each path in the trie represents a type, namespace, name and an optional qualifier that stands for tag/commit information.

This node represents the type part of the trie path. It is used to represent the version control system that is being used.

Since this node is at the root of the source trie, it is named Source, not SourceType.

func (*AllIsOccurrencesTreeSubjectSource) GetId

GetId returns AllIsOccurrencesTreeSubjectSource.Id, and is useful for accessing the field via an interface.

func (*AllIsOccurrencesTreeSubjectSource) GetNamespaces

GetNamespaces returns AllIsOccurrencesTreeSubjectSource.Namespaces, and is useful for accessing the field via an interface.

func (*AllIsOccurrencesTreeSubjectSource) GetType

GetType returns AllIsOccurrencesTreeSubjectSource.Type, and is useful for accessing the field via an interface.

func (*AllIsOccurrencesTreeSubjectSource) GetTypename

func (v *AllIsOccurrencesTreeSubjectSource) GetTypename() *string

GetTypename returns AllIsOccurrencesTreeSubjectSource.Typename, and is useful for accessing the field via an interface.

func (*AllIsOccurrencesTreeSubjectSource) MarshalJSON

func (v *AllIsOccurrencesTreeSubjectSource) MarshalJSON() ([]byte, error)

func (*AllIsOccurrencesTreeSubjectSource) UnmarshalJSON

func (v *AllIsOccurrencesTreeSubjectSource) UnmarshalJSON(b []byte) error

type AllIsVulnerability added in v0.1.1

type AllIsVulnerability struct {
	Id string `json:"id"`
	// The OSV that encapsulates the vulnerability
	Osv AllIsVulnerabilityOsvOSV `json:"osv"`
	// The upstream vulnerability information
	Vulnerability AllIsVulnerabilityVulnerabilityCveOrGhsa `json:"-"`
	// Justification for the attested relationship
	Justification string `json:"justification"`
	// Document from which this attestation is generated from
	Origin string `json:"origin"`
	// GUAC collector for the document
	Collector string `json:"collector"`
}

AllIsVulnerability includes the GraphQL fields of IsVulnerability requested by the fragment AllIsVulnerability. The GraphQL type's documentation follows.

IsVulnerability is an attestation to link CVE/GHSA with data in OSV.

func (*AllIsVulnerability) GetCollector added in v0.1.1

func (v *AllIsVulnerability) GetCollector() string

GetCollector returns AllIsVulnerability.Collector, and is useful for accessing the field via an interface.

func (*AllIsVulnerability) GetId added in v0.1.1

func (v *AllIsVulnerability) GetId() string

GetId returns AllIsVulnerability.Id, and is useful for accessing the field via an interface.

func (*AllIsVulnerability) GetJustification added in v0.1.1

func (v *AllIsVulnerability) GetJustification() string

GetJustification returns AllIsVulnerability.Justification, and is useful for accessing the field via an interface.

func (*AllIsVulnerability) GetOrigin added in v0.1.1

func (v *AllIsVulnerability) GetOrigin() string

GetOrigin returns AllIsVulnerability.Origin, and is useful for accessing the field via an interface.

func (*AllIsVulnerability) GetOsv added in v0.1.1

GetOsv returns AllIsVulnerability.Osv, and is useful for accessing the field via an interface.

func (*AllIsVulnerability) GetVulnerability added in v0.1.1

GetVulnerability returns AllIsVulnerability.Vulnerability, and is useful for accessing the field via an interface.

func (*AllIsVulnerability) MarshalJSON added in v0.1.1

func (v *AllIsVulnerability) MarshalJSON() ([]byte, error)

func (*AllIsVulnerability) UnmarshalJSON added in v0.1.1

func (v *AllIsVulnerability) UnmarshalJSON(b []byte) error

type AllIsVulnerabilityOsvOSV added in v0.1.1

type AllIsVulnerabilityOsvOSV struct {
	AllOSVTree `json:"-"`
}

AllIsVulnerabilityOsvOSV includes the requested fields of the GraphQL type OSV. The GraphQL type's documentation follows.

OSV represents an Open Source Vulnerability.

The osvId field is mandatory and canonicalized to be lowercase.

This maps to a vulnerability ID specific to the environment (e.g., GHSA ID or CVE ID).

This node can be referred to by other parts of GUAC.

func (*AllIsVulnerabilityOsvOSV) GetId added in v0.1.1

func (v *AllIsVulnerabilityOsvOSV) GetId() string

GetId returns AllIsVulnerabilityOsvOSV.Id, and is useful for accessing the field via an interface.

func (*AllIsVulnerabilityOsvOSV) GetOsvId added in v0.1.1

func (v *AllIsVulnerabilityOsvOSV) GetOsvId() string

GetOsvId returns AllIsVulnerabilityOsvOSV.OsvId, and is useful for accessing the field via an interface.

func (*AllIsVulnerabilityOsvOSV) MarshalJSON added in v0.1.1

func (v *AllIsVulnerabilityOsvOSV) MarshalJSON() ([]byte, error)

func (*AllIsVulnerabilityOsvOSV) UnmarshalJSON added in v0.1.1

func (v *AllIsVulnerabilityOsvOSV) UnmarshalJSON(b []byte) error

type AllIsVulnerabilityVulnerabilityCVE added in v0.1.1

type AllIsVulnerabilityVulnerabilityCVE struct {
	Typename   *string `json:"__typename"`
	AllCveTree `json:"-"`
}

AllIsVulnerabilityVulnerabilityCVE includes the requested fields of the GraphQL type CVE. The GraphQL type's documentation follows.

CVE represents a vulnerability in the Common Vulnerabilities and Exposures schema.

The vulnerability identifier contains a year field, so we are extracting that to allow matching for vulnerabilities found in a given year.

The vulnerability identifier field is mandatory and canonicalized to be lowercase.

This node can be referred to by other parts of GUAC.

func (*AllIsVulnerabilityVulnerabilityCVE) GetCveId added in v0.1.1

GetCveId returns AllIsVulnerabilityVulnerabilityCVE.CveId, and is useful for accessing the field via an interface.

func (*AllIsVulnerabilityVulnerabilityCVE) GetId added in v0.1.1

GetId returns AllIsVulnerabilityVulnerabilityCVE.Id, and is useful for accessing the field via an interface.

func (*AllIsVulnerabilityVulnerabilityCVE) GetTypename added in v0.1.1

func (v *AllIsVulnerabilityVulnerabilityCVE) GetTypename() *string

GetTypename returns AllIsVulnerabilityVulnerabilityCVE.Typename, and is useful for accessing the field via an interface.

func (*AllIsVulnerabilityVulnerabilityCVE) GetYear added in v0.1.1

GetYear returns AllIsVulnerabilityVulnerabilityCVE.Year, and is useful for accessing the field via an interface.

func (*AllIsVulnerabilityVulnerabilityCVE) MarshalJSON added in v0.1.1

func (v *AllIsVulnerabilityVulnerabilityCVE) MarshalJSON() ([]byte, error)

func (*AllIsVulnerabilityVulnerabilityCVE) UnmarshalJSON added in v0.1.1

func (v *AllIsVulnerabilityVulnerabilityCVE) UnmarshalJSON(b []byte) error

type AllIsVulnerabilityVulnerabilityCveOrGhsa added in v0.1.1

type AllIsVulnerabilityVulnerabilityCveOrGhsa interface {

	// GetTypename returns the receiver's concrete GraphQL type-name (see interface doc for possible values).
	GetTypename() *string
	// contains filtered or unexported methods
}

AllIsVulnerabilityVulnerabilityCveOrGhsa includes the requested fields of the GraphQL interface CveOrGhsa.

AllIsVulnerabilityVulnerabilityCveOrGhsa is implemented by the following types: AllIsVulnerabilityVulnerabilityCVE AllIsVulnerabilityVulnerabilityGHSA The GraphQL type's documentation follows.

CveOrGhsa is a union of CVE and GHSA.

type AllIsVulnerabilityVulnerabilityGHSA added in v0.1.1

type AllIsVulnerabilityVulnerabilityGHSA struct {
	Typename    *string `json:"__typename"`
	AllGHSATree `json:"-"`
}

AllIsVulnerabilityVulnerabilityGHSA includes the requested fields of the GraphQL type GHSA. The GraphQL type's documentation follows.

GHSA represents GitHub security advisories.

The advisory id field is mandatory and canonicalized to be lowercase.

This node can be referred to by other parts of GUAC.

func (*AllIsVulnerabilityVulnerabilityGHSA) GetGhsaId added in v0.1.1

GetGhsaId returns AllIsVulnerabilityVulnerabilityGHSA.GhsaId, and is useful for accessing the field via an interface.

func (*AllIsVulnerabilityVulnerabilityGHSA) GetId added in v0.1.1

GetId returns AllIsVulnerabilityVulnerabilityGHSA.Id, and is useful for accessing the field via an interface.

func (*AllIsVulnerabilityVulnerabilityGHSA) GetTypename added in v0.1.1

func (v *AllIsVulnerabilityVulnerabilityGHSA) GetTypename() *string

GetTypename returns AllIsVulnerabilityVulnerabilityGHSA.Typename, and is useful for accessing the field via an interface.

func (*AllIsVulnerabilityVulnerabilityGHSA) MarshalJSON added in v0.1.1

func (v *AllIsVulnerabilityVulnerabilityGHSA) MarshalJSON() ([]byte, error)

func (*AllIsVulnerabilityVulnerabilityGHSA) UnmarshalJSON added in v0.1.1

func (v *AllIsVulnerabilityVulnerabilityGHSA) UnmarshalJSON(b []byte) error

type AllOSVTree

type AllOSVTree struct {
	Id    string `json:"id"`
	OsvId string `json:"osvId"`
}

AllOSVTree includes the GraphQL fields of OSV requested by the fragment AllOSVTree. The GraphQL type's documentation follows.

OSV represents an Open Source Vulnerability.

The osvId field is mandatory and canonicalized to be lowercase.

This maps to a vulnerability ID specific to the environment (e.g., GHSA ID or CVE ID).

This node can be referred to by other parts of GUAC.

func (*AllOSVTree) GetId

func (v *AllOSVTree) GetId() string

GetId returns AllOSVTree.Id, and is useful for accessing the field via an interface.

func (*AllOSVTree) GetOsvId

func (v *AllOSVTree) GetOsvId() string

GetOsvId returns AllOSVTree.OsvId, and is useful for accessing the field via an interface.

type AllPkgEqual added in v0.1.1

type AllPkgEqual struct {
	Id string `json:"id"`
	// Justification for the claim that the packages are similar
	Justification string `json:"justification"`
	// Collection of packages that are similar
	Packages []AllPkgEqualPackagesPackage `json:"packages"`
	// Document from which this attestation is generated from
	Origin string `json:"origin"`
	// GUAC collector for the document
	Collector string `json:"collector"`
}

AllPkgEqual includes the GraphQL fields of PkgEqual requested by the fragment AllPkgEqual. The GraphQL type's documentation follows.

PkgEqual is an attestation that a set of packages are similar.

func (*AllPkgEqual) GetCollector added in v0.1.1

func (v *AllPkgEqual) GetCollector() string

GetCollector returns AllPkgEqual.Collector, and is useful for accessing the field via an interface.

func (*AllPkgEqual) GetId added in v0.1.1

func (v *AllPkgEqual) GetId() string

GetId returns AllPkgEqual.Id, and is useful for accessing the field via an interface.

func (*AllPkgEqual) GetJustification added in v0.1.1

func (v *AllPkgEqual) GetJustification() string

GetJustification returns AllPkgEqual.Justification, and is useful for accessing the field via an interface.

func (*AllPkgEqual) GetOrigin added in v0.1.1

func (v *AllPkgEqual) GetOrigin() string

GetOrigin returns AllPkgEqual.Origin, and is useful for accessing the field via an interface.

func (*AllPkgEqual) GetPackages added in v0.1.1

func (v *AllPkgEqual) GetPackages() []AllPkgEqualPackagesPackage

GetPackages returns AllPkgEqual.Packages, and is useful for accessing the field via an interface.

type AllPkgEqualPackagesPackage added in v0.1.1

type AllPkgEqualPackagesPackage struct {
	AllPkgTree `json:"-"`
}

AllPkgEqualPackagesPackage includes the requested fields of the GraphQL type Package. The GraphQL type's documentation follows.

Package represents the root of the package trie/tree.

We map package information to a trie, closely matching the pURL specification (https://github.com/package-url/purl-spec/blob/0dd92f26f8bb11956ffdf5e8acfcee71e8560407/README.rst), but deviating from it where GUAC heuristics allow for better representation of package information. Each path in the trie fully represents a package; we split the trie based on the pURL components.

This node matches a pkg:<type> partial pURL. The type field matches the pURL types but we might also use "guac" for the cases where the pURL representation is not complete or when we have custom rules.

Since this node is at the root of the package trie, it is named Package, not PackageType.

func (*AllPkgEqualPackagesPackage) GetId added in v0.1.1

GetId returns AllPkgEqualPackagesPackage.Id, and is useful for accessing the field via an interface.

func (*AllPkgEqualPackagesPackage) GetNamespaces added in v0.1.1

GetNamespaces returns AllPkgEqualPackagesPackage.Namespaces, and is useful for accessing the field via an interface.

func (*AllPkgEqualPackagesPackage) GetType added in v0.1.1

func (v *AllPkgEqualPackagesPackage) GetType() string

GetType returns AllPkgEqualPackagesPackage.Type, and is useful for accessing the field via an interface.

func (*AllPkgEqualPackagesPackage) MarshalJSON added in v0.1.1

func (v *AllPkgEqualPackagesPackage) MarshalJSON() ([]byte, error)

func (*AllPkgEqualPackagesPackage) UnmarshalJSON added in v0.1.1

func (v *AllPkgEqualPackagesPackage) UnmarshalJSON(b []byte) error

type AllPkgTree

type AllPkgTree struct {
	Id         string                                 `json:"id"`
	Type       string                                 `json:"type"`
	Namespaces []AllPkgTreeNamespacesPackageNamespace `json:"namespaces"`
}

AllPkgTree includes the GraphQL fields of Package requested by the fragment AllPkgTree. The GraphQL type's documentation follows.

Package represents the root of the package trie/tree.

We map package information to a trie, closely matching the pURL specification (https://github.com/package-url/purl-spec/blob/0dd92f26f8bb11956ffdf5e8acfcee71e8560407/README.rst), but deviating from it where GUAC heuristics allow for better representation of package information. Each path in the trie fully represents a package; we split the trie based on the pURL components.

This node matches a pkg:<type> partial pURL. The type field matches the pURL types but we might also use "guac" for the cases where the pURL representation is not complete or when we have custom rules.

Since this node is at the root of the package trie, it is named Package, not PackageType.

func (*AllPkgTree) GetId

func (v *AllPkgTree) GetId() string

GetId returns AllPkgTree.Id, and is useful for accessing the field via an interface.

func (*AllPkgTree) GetNamespaces

func (v *AllPkgTree) GetNamespaces() []AllPkgTreeNamespacesPackageNamespace

GetNamespaces returns AllPkgTree.Namespaces, and is useful for accessing the field via an interface.

func (*AllPkgTree) GetType

func (v *AllPkgTree) GetType() string

GetType returns AllPkgTree.Type, and is useful for accessing the field via an interface.

type AllPkgTreeNamespacesPackageNamespace

type AllPkgTreeNamespacesPackageNamespace struct {
	Id        string                                                 `json:"id"`
	Namespace string                                                 `json:"namespace"`
	Names     []AllPkgTreeNamespacesPackageNamespaceNamesPackageName `json:"names"`
}

AllPkgTreeNamespacesPackageNamespace includes the requested fields of the GraphQL type PackageNamespace. The GraphQL type's documentation follows.

PackageNamespace is a namespace for packages.

In the pURL representation, each PackageNamespace matches the pkg:<type>/<namespace>/ partial pURL.

Namespaces are optional and type specific. Because they are optional, we use empty string to denote missing namespaces.

func (*AllPkgTreeNamespacesPackageNamespace) GetId

GetId returns AllPkgTreeNamespacesPackageNamespace.Id, and is useful for accessing the field via an interface.

func (*AllPkgTreeNamespacesPackageNamespace) GetNames

GetNames returns AllPkgTreeNamespacesPackageNamespace.Names, and is useful for accessing the field via an interface.

func (*AllPkgTreeNamespacesPackageNamespace) GetNamespace

func (v *AllPkgTreeNamespacesPackageNamespace) GetNamespace() string

GetNamespace returns AllPkgTreeNamespacesPackageNamespace.Namespace, and is useful for accessing the field via an interface.

type AllPkgTreeNamespacesPackageNamespaceNamesPackageName

type AllPkgTreeNamespacesPackageNamespaceNamesPackageName struct {
	Id       string                                                                       `json:"id"`
	Name     string                                                                       `json:"name"`
	Versions []AllPkgTreeNamespacesPackageNamespaceNamesPackageNameVersionsPackageVersion `json:"versions"`
}

AllPkgTreeNamespacesPackageNamespaceNamesPackageName includes the requested fields of the GraphQL type PackageName. The GraphQL type's documentation follows.

PackageName is a name for packages.

In the pURL representation, each PackageName matches the pkg:<type>/<namespace>/<name> pURL.

Names are always mandatory.

This is the first node in the trie that can be referred to by other parts of GUAC.

func (*AllPkgTreeNamespacesPackageNamespaceNamesPackageName) GetId

GetId returns AllPkgTreeNamespacesPackageNamespaceNamesPackageName.Id, and is useful for accessing the field via an interface.

func (*AllPkgTreeNamespacesPackageNamespaceNamesPackageName) GetName

GetName returns AllPkgTreeNamespacesPackageNamespaceNamesPackageName.Name, and is useful for accessing the field via an interface.

func (*AllPkgTreeNamespacesPackageNamespaceNamesPackageName) GetVersions

GetVersions returns AllPkgTreeNamespacesPackageNamespaceNamesPackageName.Versions, and is useful for accessing the field via an interface.

type AllPkgTreeNamespacesPackageNamespaceNamesPackageNameVersionsPackageVersion

type AllPkgTreeNamespacesPackageNamespaceNamesPackageNameVersionsPackageVersion struct {
	Id         string                                                                                                 `json:"id"`
	Version    string                                                                                                 `json:"version"`
	Qualifiers []AllPkgTreeNamespacesPackageNamespaceNamesPackageNameVersionsPackageVersionQualifiersPackageQualifier `json:"qualifiers"`
	Subpath    string                                                                                                 `json:"subpath"`
}

AllPkgTreeNamespacesPackageNamespaceNamesPackageNameVersionsPackageVersion includes the requested fields of the GraphQL type PackageVersion. The GraphQL type's documentation follows.

PackageVersion is a package version.

In the pURL representation, each PackageName matches the pkg:<type>/<namespace>/<name>@<version> pURL.

Versions are optional and each Package type defines own rules for handling them. For this level of GUAC, these are just opaque strings.

NOTE: The handling of versions might change before this schema becomes stable.

This node can be referred to by other parts of GUAC.

Subpath and qualifiers are optional. Lack of qualifiers is represented by an empty list and lack of subpath by empty string (to be consistent with optionality of namespace and version). Two nodes that have different qualifiers and/or subpath but the same version mean two different packages in the trie (they are different). Two nodes that have same version but qualifiers of one are a subset of the qualifier of the other also mean two different packages in the trie.

func (*AllPkgTreeNamespacesPackageNamespaceNamesPackageNameVersionsPackageVersion) GetId

GetId returns AllPkgTreeNamespacesPackageNamespaceNamesPackageNameVersionsPackageVersion.Id, and is useful for accessing the field via an interface.

func (*AllPkgTreeNamespacesPackageNamespaceNamesPackageNameVersionsPackageVersion) GetQualifiers

GetQualifiers returns AllPkgTreeNamespacesPackageNamespaceNamesPackageNameVersionsPackageVersion.Qualifiers, and is useful for accessing the field via an interface.

func (*AllPkgTreeNamespacesPackageNamespaceNamesPackageNameVersionsPackageVersion) GetSubpath

GetSubpath returns AllPkgTreeNamespacesPackageNamespaceNamesPackageNameVersionsPackageVersion.Subpath, and is useful for accessing the field via an interface.

func (*AllPkgTreeNamespacesPackageNamespaceNamesPackageNameVersionsPackageVersion) GetVersion

GetVersion returns AllPkgTreeNamespacesPackageNamespaceNamesPackageNameVersionsPackageVersion.Version, and is useful for accessing the field via an interface.

type AllPkgTreeNamespacesPackageNamespaceNamesPackageNameVersionsPackageVersionQualifiersPackageQualifier

type AllPkgTreeNamespacesPackageNamespaceNamesPackageNameVersionsPackageVersionQualifiersPackageQualifier struct {
	Key   string `json:"key"`
	Value string `json:"value"`
}

AllPkgTreeNamespacesPackageNamespaceNamesPackageNameVersionsPackageVersionQualifiersPackageQualifier includes the requested fields of the GraphQL type PackageQualifier. The GraphQL type's documentation follows.

PackageQualifier is a qualifier for a package, a key-value pair.

In the pURL representation, it is a part of the <qualifiers> part of the pkg:<type>/<namespace>/<name>@<version>?<qualifiers> pURL.

Qualifiers are optional, each Package type defines own rules for handling them, and multiple qualifiers could be attached to the same package.

This node cannot be directly referred by other parts of GUAC.

func (*AllPkgTreeNamespacesPackageNamespaceNamesPackageNameVersionsPackageVersionQualifiersPackageQualifier) GetKey

GetKey returns AllPkgTreeNamespacesPackageNamespaceNamesPackageNameVersionsPackageVersionQualifiersPackageQualifier.Key, and is useful for accessing the field via an interface.

func (*AllPkgTreeNamespacesPackageNamespaceNamesPackageNameVersionsPackageVersionQualifiersPackageQualifier) GetValue

GetValue returns AllPkgTreeNamespacesPackageNamespaceNamesPackageNameVersionsPackageVersionQualifiersPackageQualifier.Value, and is useful for accessing the field via an interface.

type AllPointOfContact added in v0.1.1

type AllPointOfContact struct {
	Id            string                                          `json:"id"`
	Subject       AllPointOfContactSubjectPackageSourceOrArtifact `json:"-"`
	Email         string                                          `json:"email"`
	Info          string                                          `json:"info"`
	Since         time.Time                                       `json:"since"`
	Justification string                                          `json:"justification"`
	Origin        string                                          `json:"origin"`
	Collector     string                                          `json:"collector"`
}

AllPointOfContact includes the GraphQL fields of PointOfContact requested by the fragment AllPointOfContact. The GraphQL type's documentation follows.

PointOfContact is an attestation of how to get in touch with the person(s) responsible for a package, source, or artifact.

All evidence trees record a justification for the property they represent as well as the document that contains the attestation (origin) and the collector that collected the document (collector).

The attestation applies to a subject which is a package, source, or artifact. If the attestation targets a package, it must target a PackageName or a PackageVersion. If the attestation targets a source, it must target a SourceName.

email is the email address (singular) of the point of contact.

info is additional contact information other than email address. This is free form.

NOTE: the identifiers for point of contact should be part of software trees. This will benefit from identifier look up and traversal as well as organization hierarchy. However, until the use case arises, PointOfContact will be a flat reference to the contact details.

func (*AllPointOfContact) GetCollector added in v0.1.1

func (v *AllPointOfContact) GetCollector() string

GetCollector returns AllPointOfContact.Collector, and is useful for accessing the field via an interface.

func (*AllPointOfContact) GetEmail added in v0.1.1

func (v *AllPointOfContact) GetEmail() string

GetEmail returns AllPointOfContact.Email, and is useful for accessing the field via an interface.

func (*AllPointOfContact) GetId added in v0.1.1

func (v *AllPointOfContact) GetId() string

GetId returns AllPointOfContact.Id, and is useful for accessing the field via an interface.

func (*AllPointOfContact) GetInfo added in v0.1.1

func (v *AllPointOfContact) GetInfo() string

GetInfo returns AllPointOfContact.Info, and is useful for accessing the field via an interface.

func (*AllPointOfContact) GetJustification added in v0.1.1

func (v *AllPointOfContact) GetJustification() string

GetJustification returns AllPointOfContact.Justification, and is useful for accessing the field via an interface.

func (*AllPointOfContact) GetOrigin added in v0.1.1

func (v *AllPointOfContact) GetOrigin() string

GetOrigin returns AllPointOfContact.Origin, and is useful for accessing the field via an interface.

func (*AllPointOfContact) GetSince added in v0.1.1

func (v *AllPointOfContact) GetSince() time.Time

GetSince returns AllPointOfContact.Since, and is useful for accessing the field via an interface.

func (*AllPointOfContact) GetSubject added in v0.1.1

GetSubject returns AllPointOfContact.Subject, and is useful for accessing the field via an interface.

func (*AllPointOfContact) MarshalJSON added in v0.1.1

func (v *AllPointOfContact) MarshalJSON() ([]byte, error)

func (*AllPointOfContact) UnmarshalJSON added in v0.1.1

func (v *AllPointOfContact) UnmarshalJSON(b []byte) error

type AllPointOfContactSubjectArtifact added in v0.1.1

type AllPointOfContactSubjectArtifact struct {
	Typename        *string `json:"__typename"`
	AllArtifactTree `json:"-"`
}

AllPointOfContactSubjectArtifact includes the requested fields of the GraphQL type Artifact. The GraphQL type's documentation follows.

Artifact represents an artifact identified by a checksum hash.

The checksum is split into the digest value and the algorithm used to generate it. Both fields are mandatory and canonicalized to be lowercase.

If having a checksum Go object, algorithm can be strings.ToLower(string(checksum.Algorithm)) and digest can be checksum.Value.

func (*AllPointOfContactSubjectArtifact) GetAlgorithm added in v0.1.1

func (v *AllPointOfContactSubjectArtifact) GetAlgorithm() string

GetAlgorithm returns AllPointOfContactSubjectArtifact.Algorithm, and is useful for accessing the field via an interface.

func (*AllPointOfContactSubjectArtifact) GetDigest added in v0.1.1

GetDigest returns AllPointOfContactSubjectArtifact.Digest, and is useful for accessing the field via an interface.

func (*AllPointOfContactSubjectArtifact) GetId added in v0.1.1

GetId returns AllPointOfContactSubjectArtifact.Id, and is useful for accessing the field via an interface.

func (*AllPointOfContactSubjectArtifact) GetTypename added in v0.1.1

func (v *AllPointOfContactSubjectArtifact) GetTypename() *string

GetTypename returns AllPointOfContactSubjectArtifact.Typename, and is useful for accessing the field via an interface.

func (*AllPointOfContactSubjectArtifact) MarshalJSON added in v0.1.1

func (v *AllPointOfContactSubjectArtifact) MarshalJSON() ([]byte, error)

func (*AllPointOfContactSubjectArtifact) UnmarshalJSON added in v0.1.1

func (v *AllPointOfContactSubjectArtifact) UnmarshalJSON(b []byte) error

type AllPointOfContactSubjectPackage added in v0.1.1

type AllPointOfContactSubjectPackage struct {
	Typename   *string `json:"__typename"`
	AllPkgTree `json:"-"`
}

AllPointOfContactSubjectPackage includes the requested fields of the GraphQL type Package. The GraphQL type's documentation follows.

Package represents the root of the package trie/tree.

We map package information to a trie, closely matching the pURL specification (https://github.com/package-url/purl-spec/blob/0dd92f26f8bb11956ffdf5e8acfcee71e8560407/README.rst), but deviating from it where GUAC heuristics allow for better representation of package information. Each path in the trie fully represents a package; we split the trie based on the pURL components.

This node matches a pkg:<type> partial pURL. The type field matches the pURL types but we might also use "guac" for the cases where the pURL representation is not complete or when we have custom rules.

Since this node is at the root of the package trie, it is named Package, not PackageType.

func (*AllPointOfContactSubjectPackage) GetId added in v0.1.1

GetId returns AllPointOfContactSubjectPackage.Id, and is useful for accessing the field via an interface.

func (*AllPointOfContactSubjectPackage) GetNamespaces added in v0.1.1

GetNamespaces returns AllPointOfContactSubjectPackage.Namespaces, and is useful for accessing the field via an interface.

func (*AllPointOfContactSubjectPackage) GetType added in v0.1.1

GetType returns AllPointOfContactSubjectPackage.Type, and is useful for accessing the field via an interface.

func (*AllPointOfContactSubjectPackage) GetTypename added in v0.1.1

func (v *AllPointOfContactSubjectPackage) GetTypename() *string

GetTypename returns AllPointOfContactSubjectPackage.Typename, and is useful for accessing the field via an interface.

func (*AllPointOfContactSubjectPackage) MarshalJSON added in v0.1.1

func (v *AllPointOfContactSubjectPackage) MarshalJSON() ([]byte, error)

func (*AllPointOfContactSubjectPackage) UnmarshalJSON added in v0.1.1

func (v *AllPointOfContactSubjectPackage) UnmarshalJSON(b []byte) error

type AllPointOfContactSubjectPackageSourceOrArtifact added in v0.1.1

type AllPointOfContactSubjectPackageSourceOrArtifact interface {

	// GetTypename returns the receiver's concrete GraphQL type-name (see interface doc for possible values).
	GetTypename() *string
	// contains filtered or unexported methods
}

AllPointOfContactSubjectPackageSourceOrArtifact includes the requested fields of the GraphQL interface PackageSourceOrArtifact.

AllPointOfContactSubjectPackageSourceOrArtifact is implemented by the following types: AllPointOfContactSubjectArtifact AllPointOfContactSubjectPackage AllPointOfContactSubjectSource The GraphQL type's documentation follows.

PackageSourceOrArtifact is a union of Package, Source, and Artifact.

type AllPointOfContactSubjectSource added in v0.1.1

type AllPointOfContactSubjectSource struct {
	Typename      *string `json:"__typename"`
	AllSourceTree `json:"-"`
}

AllPointOfContactSubjectSource includes the requested fields of the GraphQL type Source. The GraphQL type's documentation follows.

Source represents the root of the source trie/tree.

We map source information to a trie, as a derivative of the pURL specification: each path in the trie represents a type, namespace, name and an optional qualifier that stands for tag/commit information.

This node represents the type part of the trie path. It is used to represent the version control system that is being used.

Since this node is at the root of the source trie, it is named Source, not SourceType.

func (*AllPointOfContactSubjectSource) GetId added in v0.1.1

GetId returns AllPointOfContactSubjectSource.Id, and is useful for accessing the field via an interface.

func (*AllPointOfContactSubjectSource) GetNamespaces added in v0.1.1

GetNamespaces returns AllPointOfContactSubjectSource.Namespaces, and is useful for accessing the field via an interface.

func (*AllPointOfContactSubjectSource) GetType added in v0.1.1

GetType returns AllPointOfContactSubjectSource.Type, and is useful for accessing the field via an interface.

func (*AllPointOfContactSubjectSource) GetTypename added in v0.1.1

func (v *AllPointOfContactSubjectSource) GetTypename() *string

GetTypename returns AllPointOfContactSubjectSource.Typename, and is useful for accessing the field via an interface.

func (*AllPointOfContactSubjectSource) MarshalJSON added in v0.1.1

func (v *AllPointOfContactSubjectSource) MarshalJSON() ([]byte, error)

func (*AllPointOfContactSubjectSource) UnmarshalJSON added in v0.1.1

func (v *AllPointOfContactSubjectSource) UnmarshalJSON(b []byte) error

type AllSLSATree added in v0.1.1

type AllSLSATree struct {
	Id string `json:"id"`
	// The subject of SLSA attestation
	Subject AllSLSATreeSubjectArtifact `json:"subject"`
	// The SLSA attestation
	Slsa AllSLSATreeSlsaSLSA `json:"slsa"`
}

AllSLSATree includes the GraphQL fields of HasSLSA requested by the fragment AllSLSATree. The GraphQL type's documentation follows.

HasSLSA records that a subject node has a SLSA attestation.

func (*AllSLSATree) GetId added in v0.1.1

func (v *AllSLSATree) GetId() string

GetId returns AllSLSATree.Id, and is useful for accessing the field via an interface.

func (*AllSLSATree) GetSlsa added in v0.1.1

func (v *AllSLSATree) GetSlsa() AllSLSATreeSlsaSLSA

GetSlsa returns AllSLSATree.Slsa, and is useful for accessing the field via an interface.

func (*AllSLSATree) GetSubject added in v0.1.1

func (v *AllSLSATree) GetSubject() AllSLSATreeSubjectArtifact

GetSubject returns AllSLSATree.Subject, and is useful for accessing the field via an interface.

type AllSLSATreeSlsaSLSA added in v0.1.1

type AllSLSATreeSlsaSLSA struct {
	// Materials of the build resulting in subject
	BuiltFrom []AllSLSATreeSlsaSLSABuiltFromArtifact `json:"builtFrom"`
	// Builder performing the build
	BuiltBy AllSLSATreeSlsaSLSABuiltByBuilder `json:"builtBy"`
	// Type of the builder
	BuildType string `json:"buildType"`
	// Individual predicates found in the attestation
	SlsaPredicate []AllSLSATreeSlsaSLSASlsaPredicateSLSAPredicate `json:"slsaPredicate"`
	// Version of the SLSA predicate
	SlsaVersion string `json:"slsaVersion"`
	// Timestamp (RFC3339Nano format) of build start time
	StartedOn *time.Time `json:"startedOn"`
	// Timestamp (RFC3339Nano format) of build end time
	FinishedOn *time.Time `json:"finishedOn"`
	// Document from which this attestation is generated from
	Origin string `json:"origin"`
	// GUAC collector for the document
	Collector string `json:"collector"`
}

AllSLSATreeSlsaSLSA includes the requested fields of the GraphQL type SLSA. The GraphQL type's documentation follows.

SLSA contains all of the fields present in a SLSA attestation.

The materials and builders are objects of the HasSLSA predicate, everything else are properties extracted from the attestation.

We also include fields to specify under what conditions the check was performed (time of scan, version of scanners, etc.) as well as how this information got included into GUAC (origin document and the collector for that document).

func (*AllSLSATreeSlsaSLSA) GetBuildType added in v0.1.1

func (v *AllSLSATreeSlsaSLSA) GetBuildType() string

GetBuildType returns AllSLSATreeSlsaSLSA.BuildType, and is useful for accessing the field via an interface.

func (*AllSLSATreeSlsaSLSA) GetBuiltBy added in v0.1.1

GetBuiltBy returns AllSLSATreeSlsaSLSA.BuiltBy, and is useful for accessing the field via an interface.

func (*AllSLSATreeSlsaSLSA) GetBuiltFrom added in v0.1.1

GetBuiltFrom returns AllSLSATreeSlsaSLSA.BuiltFrom, and is useful for accessing the field via an interface.

func (*AllSLSATreeSlsaSLSA) GetCollector added in v0.1.1

func (v *AllSLSATreeSlsaSLSA) GetCollector() string

GetCollector returns AllSLSATreeSlsaSLSA.Collector, and is useful for accessing the field via an interface.

func (*AllSLSATreeSlsaSLSA) GetFinishedOn added in v0.1.1

func (v *AllSLSATreeSlsaSLSA) GetFinishedOn() *time.Time

GetFinishedOn returns AllSLSATreeSlsaSLSA.FinishedOn, and is useful for accessing the field via an interface.

func (*AllSLSATreeSlsaSLSA) GetOrigin added in v0.1.1

func (v *AllSLSATreeSlsaSLSA) GetOrigin() string

GetOrigin returns AllSLSATreeSlsaSLSA.Origin, and is useful for accessing the field via an interface.

func (*AllSLSATreeSlsaSLSA) GetSlsaPredicate added in v0.1.1

GetSlsaPredicate returns AllSLSATreeSlsaSLSA.SlsaPredicate, and is useful for accessing the field via an interface.

func (*AllSLSATreeSlsaSLSA) GetSlsaVersion added in v0.1.1

func (v *AllSLSATreeSlsaSLSA) GetSlsaVersion() string

GetSlsaVersion returns AllSLSATreeSlsaSLSA.SlsaVersion, and is useful for accessing the field via an interface.

func (*AllSLSATreeSlsaSLSA) GetStartedOn added in v0.1.1

func (v *AllSLSATreeSlsaSLSA) GetStartedOn() *time.Time

GetStartedOn returns AllSLSATreeSlsaSLSA.StartedOn, and is useful for accessing the field via an interface.

type AllSLSATreeSlsaSLSABuiltByBuilder added in v0.1.1

type AllSLSATreeSlsaSLSABuiltByBuilder struct {
	Id  string `json:"id"`
	Uri string `json:"uri"`
}

AllSLSATreeSlsaSLSABuiltByBuilder includes the requested fields of the GraphQL type Builder. The GraphQL type's documentation follows.

Builder represents the builder (e.g., FRSCA or GitHub Actions).

Currently builders are identified by the uri field.

func (*AllSLSATreeSlsaSLSABuiltByBuilder) GetId added in v0.1.1

GetId returns AllSLSATreeSlsaSLSABuiltByBuilder.Id, and is useful for accessing the field via an interface.

func (*AllSLSATreeSlsaSLSABuiltByBuilder) GetUri added in v0.1.1

GetUri returns AllSLSATreeSlsaSLSABuiltByBuilder.Uri, and is useful for accessing the field via an interface.

type AllSLSATreeSlsaSLSABuiltFromArtifact added in v0.1.1

type AllSLSATreeSlsaSLSABuiltFromArtifact struct {
	AllArtifactTree `json:"-"`
}

AllSLSATreeSlsaSLSABuiltFromArtifact includes the requested fields of the GraphQL type Artifact. The GraphQL type's documentation follows.

Artifact represents an artifact identified by a checksum hash.

The checksum is split into the digest value and the algorithm used to generate it. Both fields are mandatory and canonicalized to be lowercase.

If having a checksum Go object, algorithm can be strings.ToLower(string(checksum.Algorithm)) and digest can be checksum.Value.

func (*AllSLSATreeSlsaSLSABuiltFromArtifact) GetAlgorithm added in v0.1.1

func (v *AllSLSATreeSlsaSLSABuiltFromArtifact) GetAlgorithm() string

GetAlgorithm returns AllSLSATreeSlsaSLSABuiltFromArtifact.Algorithm, and is useful for accessing the field via an interface.

func (*AllSLSATreeSlsaSLSABuiltFromArtifact) GetDigest added in v0.1.1

GetDigest returns AllSLSATreeSlsaSLSABuiltFromArtifact.Digest, and is useful for accessing the field via an interface.

func (*AllSLSATreeSlsaSLSABuiltFromArtifact) GetId added in v0.1.1

GetId returns AllSLSATreeSlsaSLSABuiltFromArtifact.Id, and is useful for accessing the field via an interface.

func (*AllSLSATreeSlsaSLSABuiltFromArtifact) MarshalJSON added in v0.1.1

func (v *AllSLSATreeSlsaSLSABuiltFromArtifact) MarshalJSON() ([]byte, error)

func (*AllSLSATreeSlsaSLSABuiltFromArtifact) UnmarshalJSON added in v0.1.1

func (v *AllSLSATreeSlsaSLSABuiltFromArtifact) UnmarshalJSON(b []byte) error

type AllSLSATreeSlsaSLSASlsaPredicateSLSAPredicate added in v0.1.1

type AllSLSATreeSlsaSLSASlsaPredicateSLSAPredicate struct {
	Key   string `json:"key"`
	Value string `json:"value"`
}

AllSLSATreeSlsaSLSASlsaPredicateSLSAPredicate includes the requested fields of the GraphQL type SLSAPredicate. The GraphQL type's documentation follows.

SLSAPredicate are the values from the SLSA predicate in key-value pair form.

For example, given the following predicate

``` "predicate": { "buildDefinition": { "externalParameters": { "repository": "https://github.com/octocat/hello-world", ... }, ... }, ... } ```

we have

``` key = "buildDefinition.externalParameters.repository" value = "https://github.com/octocat/hello-world" ```

This node cannot be directly referred by other parts of GUAC.

func (*AllSLSATreeSlsaSLSASlsaPredicateSLSAPredicate) GetKey added in v0.1.1

GetKey returns AllSLSATreeSlsaSLSASlsaPredicateSLSAPredicate.Key, and is useful for accessing the field via an interface.

func (*AllSLSATreeSlsaSLSASlsaPredicateSLSAPredicate) GetValue added in v0.1.1

GetValue returns AllSLSATreeSlsaSLSASlsaPredicateSLSAPredicate.Value, and is useful for accessing the field via an interface.

type AllSLSATreeSubjectArtifact added in v0.1.1

type AllSLSATreeSubjectArtifact struct {
	AllArtifactTree `json:"-"`
}

AllSLSATreeSubjectArtifact includes the requested fields of the GraphQL type Artifact. The GraphQL type's documentation follows.

Artifact represents an artifact identified by a checksum hash.

The checksum is split into the digest value and the algorithm used to generate it. Both fields are mandatory and canonicalized to be lowercase.

If having a checksum Go object, algorithm can be strings.ToLower(string(checksum.Algorithm)) and digest can be checksum.Value.

func (*AllSLSATreeSubjectArtifact) GetAlgorithm added in v0.1.1

func (v *AllSLSATreeSubjectArtifact) GetAlgorithm() string

GetAlgorithm returns AllSLSATreeSubjectArtifact.Algorithm, and is useful for accessing the field via an interface.

func (*AllSLSATreeSubjectArtifact) GetDigest added in v0.1.1

func (v *AllSLSATreeSubjectArtifact) GetDigest() string

GetDigest returns AllSLSATreeSubjectArtifact.Digest, and is useful for accessing the field via an interface.

func (*AllSLSATreeSubjectArtifact) GetId added in v0.1.1

GetId returns AllSLSATreeSubjectArtifact.Id, and is useful for accessing the field via an interface.

func (*AllSLSATreeSubjectArtifact) MarshalJSON added in v0.1.1

func (v *AllSLSATreeSubjectArtifact) MarshalJSON() ([]byte, error)

func (*AllSLSATreeSubjectArtifact) UnmarshalJSON added in v0.1.1

func (v *AllSLSATreeSubjectArtifact) UnmarshalJSON(b []byte) error

type AllSourceTree

type AllSourceTree struct {
	Id         string                                   `json:"id"`
	Type       string                                   `json:"type"`
	Namespaces []AllSourceTreeNamespacesSourceNamespace `json:"namespaces"`
}

AllSourceTree includes the GraphQL fields of Source requested by the fragment AllSourceTree. The GraphQL type's documentation follows.

Source represents the root of the source trie/tree.

We map source information to a trie, as a derivative of the pURL specification: each path in the trie represents a type, namespace, name and an optional qualifier that stands for tag/commit information.

This node represents the type part of the trie path. It is used to represent the version control system that is being used.

Since this node is at the root of the source trie, it is named Source, not SourceType.

func (*AllSourceTree) GetId

func (v *AllSourceTree) GetId() string

GetId returns AllSourceTree.Id, and is useful for accessing the field via an interface.

func (*AllSourceTree) GetNamespaces

GetNamespaces returns AllSourceTree.Namespaces, and is useful for accessing the field via an interface.

func (*AllSourceTree) GetType

func (v *AllSourceTree) GetType() string

GetType returns AllSourceTree.Type, and is useful for accessing the field via an interface.

type AllSourceTreeNamespacesSourceNamespace

type AllSourceTreeNamespacesSourceNamespace struct {
	Id        string                                                  `json:"id"`
	Namespace string                                                  `json:"namespace"`
	Names     []AllSourceTreeNamespacesSourceNamespaceNamesSourceName `json:"names"`
}

AllSourceTreeNamespacesSourceNamespace includes the requested fields of the GraphQL type SourceNamespace. The GraphQL type's documentation follows.

SourceNamespace is a namespace for sources.

This is the location of the repository (such as github/gitlab/bitbucket).

The namespace field is mandatory.

func (*AllSourceTreeNamespacesSourceNamespace) GetId

GetId returns AllSourceTreeNamespacesSourceNamespace.Id, and is useful for accessing the field via an interface.

func (*AllSourceTreeNamespacesSourceNamespace) GetNames

GetNames returns AllSourceTreeNamespacesSourceNamespace.Names, and is useful for accessing the field via an interface.

func (*AllSourceTreeNamespacesSourceNamespace) GetNamespace

GetNamespace returns AllSourceTreeNamespacesSourceNamespace.Namespace, and is useful for accessing the field via an interface.

type AllSourceTreeNamespacesSourceNamespaceNamesSourceName

type AllSourceTreeNamespacesSourceNamespaceNamesSourceName struct {
	Id     string  `json:"id"`
	Name   string  `json:"name"`
	Tag    *string `json:"tag"`
	Commit *string `json:"commit"`
}

AllSourceTreeNamespacesSourceNamespaceNamesSourceName includes the requested fields of the GraphQL type SourceName. The GraphQL type's documentation follows.

SourceName represents the url of the repository.

The name field is mandatory. The tag and commit fields are optional, but it is an error to specify both.

This is the only source trie node that can be referenced by other parts of GUAC.

func (*AllSourceTreeNamespacesSourceNamespaceNamesSourceName) GetCommit

GetCommit returns AllSourceTreeNamespacesSourceNamespaceNamesSourceName.Commit, and is useful for accessing the field via an interface.

func (*AllSourceTreeNamespacesSourceNamespaceNamesSourceName) GetId

GetId returns AllSourceTreeNamespacesSourceNamespaceNamesSourceName.Id, and is useful for accessing the field via an interface.

func (*AllSourceTreeNamespacesSourceNamespaceNamesSourceName) GetName

GetName returns AllSourceTreeNamespacesSourceNamespaceNamesSourceName.Name, and is useful for accessing the field via an interface.

func (*AllSourceTreeNamespacesSourceNamespaceNamesSourceName) GetTag

GetTag returns AllSourceTreeNamespacesSourceNamespaceNamesSourceName.Tag, and is useful for accessing the field via an interface.

type ArtifactInputSpec

type ArtifactInputSpec struct {
	Algorithm string `json:"algorithm"`
	Digest    string `json:"digest"`
}

ArtifactInputSpec specifies an artifact for mutations.

The checksum fields are canonicalized to be lowercase.

func (*ArtifactInputSpec) GetAlgorithm

func (v *ArtifactInputSpec) GetAlgorithm() string

GetAlgorithm returns ArtifactInputSpec.Algorithm, and is useful for accessing the field via an interface.

func (*ArtifactInputSpec) GetDigest

func (v *ArtifactInputSpec) GetDigest() string

GetDigest returns ArtifactInputSpec.Digest, and is useful for accessing the field via an interface.

type ArtifactSpec

type ArtifactSpec struct {
	Id        *string `json:"id"`
	Algorithm *string `json:"algorithm"`
	Digest    *string `json:"digest"`
}

ArtifactSpec allows filtering the list of artifacts to return in a query.

The checksum fields are canonicalized to be lowercase.

func (*ArtifactSpec) GetAlgorithm

func (v *ArtifactSpec) GetAlgorithm() *string

GetAlgorithm returns ArtifactSpec.Algorithm, and is useful for accessing the field via an interface.

func (*ArtifactSpec) GetDigest

func (v *ArtifactSpec) GetDigest() *string

GetDigest returns ArtifactSpec.Digest, and is useful for accessing the field via an interface.

func (*ArtifactSpec) GetId

func (v *ArtifactSpec) GetId() *string

GetId returns ArtifactSpec.Id, and is useful for accessing the field via an interface.

type ArtifactsArtifactsArtifact

type ArtifactsArtifactsArtifact struct {
	AllArtifactTree `json:"-"`
}

ArtifactsArtifactsArtifact includes the requested fields of the GraphQL type Artifact. The GraphQL type's documentation follows.

Artifact represents an artifact identified by a checksum hash.

The checksum is split into the digest value and the algorithm used to generate it. Both fields are mandatory and canonicalized to be lowercase.

If having a checksum Go object, algorithm can be strings.ToLower(string(checksum.Algorithm)) and digest can be checksum.Value.

func (*ArtifactsArtifactsArtifact) GetAlgorithm

func (v *ArtifactsArtifactsArtifact) GetAlgorithm() string

GetAlgorithm returns ArtifactsArtifactsArtifact.Algorithm, and is useful for accessing the field via an interface.

func (*ArtifactsArtifactsArtifact) GetDigest

func (v *ArtifactsArtifactsArtifact) GetDigest() string

GetDigest returns ArtifactsArtifactsArtifact.Digest, and is useful for accessing the field via an interface.

func (*ArtifactsArtifactsArtifact) GetId

GetId returns ArtifactsArtifactsArtifact.Id, and is useful for accessing the field via an interface.

func (*ArtifactsArtifactsArtifact) MarshalJSON

func (v *ArtifactsArtifactsArtifact) MarshalJSON() ([]byte, error)

func (*ArtifactsArtifactsArtifact) UnmarshalJSON

func (v *ArtifactsArtifactsArtifact) UnmarshalJSON(b []byte) error

type ArtifactsResponse

type ArtifactsResponse struct {
	// Returns all artifacts matching a filter.
	Artifacts []ArtifactsArtifactsArtifact `json:"artifacts"`
}

ArtifactsResponse is returned by Artifacts on success.

func Artifacts

func Artifacts(
	ctx context.Context,
	client graphql.Client,
	filter *ArtifactSpec,
) (*ArtifactsResponse, error)

func (*ArtifactsResponse) GetArtifacts

func (v *ArtifactsResponse) GetArtifacts() []ArtifactsArtifactsArtifact

GetArtifacts returns ArtifactsResponse.Artifacts, and is useful for accessing the field via an interface.

type BuilderInputSpec

type BuilderInputSpec struct {
	Uri string `json:"uri"`
}

BuilderInputSpec specifies a builder for mutations.

func (*BuilderInputSpec) GetUri

func (v *BuilderInputSpec) GetUri() string

GetUri returns BuilderInputSpec.Uri, and is useful for accessing the field via an interface.

type CVEInputSpec

type CVEInputSpec struct {
	Year  int    `json:"year"`
	CveId string `json:"cveId"`
}

CVEInputSpec specifies a CVE vulnerability for mutations.

func (*CVEInputSpec) GetCveId

func (v *CVEInputSpec) GetCveId() string

GetCveId returns CVEInputSpec.CveId, and is useful for accessing the field via an interface.

func (*CVEInputSpec) GetYear

func (v *CVEInputSpec) GetYear() int

GetYear returns CVEInputSpec.Year, and is useful for accessing the field via an interface.

type CVESpec

type CVESpec struct {
	Id    *string `json:"id"`
	Year  *int    `json:"year"`
	CveId *string `json:"cveId"`
}

CVESpec allows filtering the list of advisories to return in a query.

func (*CVESpec) GetCveId

func (v *CVESpec) GetCveId() *string

GetCveId returns CVESpec.CveId, and is useful for accessing the field via an interface.

func (*CVESpec) GetId

func (v *CVESpec) GetId() *string

GetId returns CVESpec.Id, and is useful for accessing the field via an interface.

func (*CVESpec) GetYear

func (v *CVESpec) GetYear() *int

GetYear returns CVESpec.Year, and is useful for accessing the field via an interface.

type CVEsCveCVE

type CVEsCveCVE struct {
	AllCveTree `json:"-"`
}

CVEsCveCVE includes the requested fields of the GraphQL type CVE. The GraphQL type's documentation follows.

CVE represents a vulnerability in the Common Vulnerabilities and Exposures schema.

The vulnerability identifier contains a year field, so we are extracting that to allow matching for vulnerabilities found in a given year.

The vulnerability identifier field is mandatory and canonicalized to be lowercase.

This node can be referred to by other parts of GUAC.

func (*CVEsCveCVE) GetCveId

func (v *CVEsCveCVE) GetCveId() string

GetCveId returns CVEsCveCVE.CveId, and is useful for accessing the field via an interface.

func (*CVEsCveCVE) GetId

func (v *CVEsCveCVE) GetId() string

GetId returns CVEsCveCVE.Id, and is useful for accessing the field via an interface.

func (*CVEsCveCVE) GetYear

func (v *CVEsCveCVE) GetYear() int

GetYear returns CVEsCveCVE.Year, and is useful for accessing the field via an interface.

func (*CVEsCveCVE) MarshalJSON

func (v *CVEsCveCVE) MarshalJSON() ([]byte, error)

func (*CVEsCveCVE) UnmarshalJSON

func (v *CVEsCveCVE) UnmarshalJSON(b []byte) error

type CVEsResponse

type CVEsResponse struct {
	// Returns all CVEs matching a filter.
	Cve []CVEsCveCVE `json:"cve"`
}

CVEsResponse is returned by CVEs on success.

func CVEs

func CVEs(
	ctx context.Context,
	client graphql.Client,
	filter *CVESpec,
) (*CVEsResponse, error)

func (*CVEsResponse) GetCve

func (v *CVEsResponse) GetCve() []CVEsCveCVE

GetCve returns CVEsResponse.Cve, and is useful for accessing the field via an interface.

type CertifyBadArtifactIngestCertifyBad

type CertifyBadArtifactIngestCertifyBad struct {
	AllCertifyBad `json:"-"`
}

CertifyBadArtifactIngestCertifyBad includes the requested fields of the GraphQL type CertifyBad. The GraphQL type's documentation follows.

CertifyBad is an attestation that a package, source, or artifact is considered bad.

All evidence trees record a justification for the property they represent as well as the document that contains the attestation (origin) and the collector that collected the document (collector).

The certification applies to a subject which is a package, source, or artifact. If the attestation targets a package, it must target a PackageName or a PackageVersion. If the attestation targets a source, it must target a SourceName.

func (*CertifyBadArtifactIngestCertifyBad) GetCollector

func (v *CertifyBadArtifactIngestCertifyBad) GetCollector() string

GetCollector returns CertifyBadArtifactIngestCertifyBad.Collector, and is useful for accessing the field via an interface.

func (*CertifyBadArtifactIngestCertifyBad) GetId

GetId returns CertifyBadArtifactIngestCertifyBad.Id, and is useful for accessing the field via an interface.

func (*CertifyBadArtifactIngestCertifyBad) GetJustification

func (v *CertifyBadArtifactIngestCertifyBad) GetJustification() string

GetJustification returns CertifyBadArtifactIngestCertifyBad.Justification, and is useful for accessing the field via an interface.

func (*CertifyBadArtifactIngestCertifyBad) GetOrigin

GetOrigin returns CertifyBadArtifactIngestCertifyBad.Origin, and is useful for accessing the field via an interface.

func (*CertifyBadArtifactIngestCertifyBad) GetSubject

GetSubject returns CertifyBadArtifactIngestCertifyBad.Subject, and is useful for accessing the field via an interface.

func (*CertifyBadArtifactIngestCertifyBad) MarshalJSON

func (v *CertifyBadArtifactIngestCertifyBad) MarshalJSON() ([]byte, error)

func (*CertifyBadArtifactIngestCertifyBad) UnmarshalJSON

func (v *CertifyBadArtifactIngestCertifyBad) UnmarshalJSON(b []byte) error

type CertifyBadArtifactResponse

type CertifyBadArtifactResponse struct {
	// Adds a certification that a package, source or artifact is considered bad.
	IngestCertifyBad CertifyBadArtifactIngestCertifyBad `json:"ingestCertifyBad"`
}

CertifyBadArtifactResponse is returned by CertifyBadArtifact on success.

func CertifyBadArtifact

func CertifyBadArtifact(
	ctx context.Context,
	client graphql.Client,
	artifact ArtifactInputSpec,
	certifyBad CertifyBadInputSpec,
) (*CertifyBadArtifactResponse, error)

func (*CertifyBadArtifactResponse) GetIngestCertifyBad

GetIngestCertifyBad returns CertifyBadArtifactResponse.IngestCertifyBad, and is useful for accessing the field via an interface.

type CertifyBadInputSpec

type CertifyBadInputSpec struct {
	Justification string `json:"justification"`
	Origin        string `json:"origin"`
	Collector     string `json:"collector"`
}

CertifyBadInputSpec represents the mutation input to ingest a CertifyBad evidence.

func (*CertifyBadInputSpec) GetCollector

func (v *CertifyBadInputSpec) GetCollector() string

GetCollector returns CertifyBadInputSpec.Collector, and is useful for accessing the field via an interface.

func (*CertifyBadInputSpec) GetJustification

func (v *CertifyBadInputSpec) GetJustification() string

GetJustification returns CertifyBadInputSpec.Justification, and is useful for accessing the field via an interface.

func (*CertifyBadInputSpec) GetOrigin

func (v *CertifyBadInputSpec) GetOrigin() string

GetOrigin returns CertifyBadInputSpec.Origin, and is useful for accessing the field via an interface.

type CertifyBadPkgIngestCertifyBad

type CertifyBadPkgIngestCertifyBad struct {
	AllCertifyBad `json:"-"`
}

CertifyBadPkgIngestCertifyBad includes the requested fields of the GraphQL type CertifyBad. The GraphQL type's documentation follows.

CertifyBad is an attestation that a package, source, or artifact is considered bad.

All evidence trees record a justification for the property they represent as well as the document that contains the attestation (origin) and the collector that collected the document (collector).

The certification applies to a subject which is a package, source, or artifact. If the attestation targets a package, it must target a PackageName or a PackageVersion. If the attestation targets a source, it must target a SourceName.

func (*CertifyBadPkgIngestCertifyBad) GetCollector

func (v *CertifyBadPkgIngestCertifyBad) GetCollector() string

GetCollector returns CertifyBadPkgIngestCertifyBad.Collector, and is useful for accessing the field via an interface.

func (*CertifyBadPkgIngestCertifyBad) GetId

GetId returns CertifyBadPkgIngestCertifyBad.Id, and is useful for accessing the field via an interface.

func (*CertifyBadPkgIngestCertifyBad) GetJustification

func (v *CertifyBadPkgIngestCertifyBad) GetJustification() string

GetJustification returns CertifyBadPkgIngestCertifyBad.Justification, and is useful for accessing the field via an interface.

func (*CertifyBadPkgIngestCertifyBad) GetOrigin

func (v *CertifyBadPkgIngestCertifyBad) GetOrigin() string

GetOrigin returns CertifyBadPkgIngestCertifyBad.Origin, and is useful for accessing the field via an interface.

func (*CertifyBadPkgIngestCertifyBad) GetSubject

GetSubject returns CertifyBadPkgIngestCertifyBad.Subject, and is useful for accessing the field via an interface.

func (*CertifyBadPkgIngestCertifyBad) MarshalJSON

func (v *CertifyBadPkgIngestCertifyBad) MarshalJSON() ([]byte, error)

func (*CertifyBadPkgIngestCertifyBad) UnmarshalJSON

func (v *CertifyBadPkgIngestCertifyBad) UnmarshalJSON(b []byte) error

type CertifyBadPkgResponse

type CertifyBadPkgResponse struct {
	// Adds a certification that a package, source or artifact is considered bad.
	IngestCertifyBad CertifyBadPkgIngestCertifyBad `json:"ingestCertifyBad"`
}

CertifyBadPkgResponse is returned by CertifyBadPkg on success.

func CertifyBadPkg

func CertifyBadPkg(
	ctx context.Context,
	client graphql.Client,
	pkg PkgInputSpec,
	pkgMatchType *MatchFlags,
	certifyBad CertifyBadInputSpec,
) (*CertifyBadPkgResponse, error)

func (*CertifyBadPkgResponse) GetIngestCertifyBad

func (v *CertifyBadPkgResponse) GetIngestCertifyBad() CertifyBadPkgIngestCertifyBad

GetIngestCertifyBad returns CertifyBadPkgResponse.IngestCertifyBad, and is useful for accessing the field via an interface.

type CertifyBadSpec

type CertifyBadSpec struct {
	Id            *string                      `json:"id"`
	Subject       *PackageSourceOrArtifactSpec `json:"subject"`
	Justification *string                      `json:"justification"`
	Origin        *string                      `json:"origin"`
	Collector     *string                      `json:"collector"`
}

CertifyBadSpec allows filtering the list of CertifyBad evidence to return in a query.

If a package is specified in the subject filter, then it must be specified up to PackageName or PackageVersion. That is, user must specify package name, or name and one of version, qualifiers, or subpath.

If a source is specified in the subject filter, then it must specify a name, and optionally a tag and a commit.

func (*CertifyBadSpec) GetCollector

func (v *CertifyBadSpec) GetCollector() *string

GetCollector returns CertifyBadSpec.Collector, and is useful for accessing the field via an interface.

func (*CertifyBadSpec) GetId

func (v *CertifyBadSpec) GetId() *string

GetId returns CertifyBadSpec.Id, and is useful for accessing the field via an interface.

func (*CertifyBadSpec) GetJustification

func (v *CertifyBadSpec) GetJustification() *string

GetJustification returns CertifyBadSpec.Justification, and is useful for accessing the field via an interface.

func (*CertifyBadSpec) GetOrigin

func (v *CertifyBadSpec) GetOrigin() *string

GetOrigin returns CertifyBadSpec.Origin, and is useful for accessing the field via an interface.

func (*CertifyBadSpec) GetSubject

GetSubject returns CertifyBadSpec.Subject, and is useful for accessing the field via an interface.

type CertifyBadSrcIngestCertifyBad

type CertifyBadSrcIngestCertifyBad struct {
	AllCertifyBad `json:"-"`
}

CertifyBadSrcIngestCertifyBad includes the requested fields of the GraphQL type CertifyBad. The GraphQL type's documentation follows.

CertifyBad is an attestation that a package, source, or artifact is considered bad.

All evidence trees record a justification for the property they represent as well as the document that contains the attestation (origin) and the collector that collected the document (collector).

The certification applies to a subject which is a package, source, or artifact. If the attestation targets a package, it must target a PackageName or a PackageVersion. If the attestation targets a source, it must target a SourceName.

func (*CertifyBadSrcIngestCertifyBad) GetCollector

func (v *CertifyBadSrcIngestCertifyBad) GetCollector() string

GetCollector returns CertifyBadSrcIngestCertifyBad.Collector, and is useful for accessing the field via an interface.

func (*CertifyBadSrcIngestCertifyBad) GetId

GetId returns CertifyBadSrcIngestCertifyBad.Id, and is useful for accessing the field via an interface.

func (*CertifyBadSrcIngestCertifyBad) GetJustification

func (v *CertifyBadSrcIngestCertifyBad) GetJustification() string

GetJustification returns CertifyBadSrcIngestCertifyBad.Justification, and is useful for accessing the field via an interface.

func (*CertifyBadSrcIngestCertifyBad) GetOrigin

func (v *CertifyBadSrcIngestCertifyBad) GetOrigin() string

GetOrigin returns CertifyBadSrcIngestCertifyBad.Origin, and is useful for accessing the field via an interface.

func (*CertifyBadSrcIngestCertifyBad) GetSubject

GetSubject returns CertifyBadSrcIngestCertifyBad.Subject, and is useful for accessing the field via an interface.

func (*CertifyBadSrcIngestCertifyBad) MarshalJSON

func (v *CertifyBadSrcIngestCertifyBad) MarshalJSON() ([]byte, error)

func (*CertifyBadSrcIngestCertifyBad) UnmarshalJSON

func (v *CertifyBadSrcIngestCertifyBad) UnmarshalJSON(b []byte) error

type CertifyBadSrcResponse

type CertifyBadSrcResponse struct {
	// Adds a certification that a package, source or artifact is considered bad.
	IngestCertifyBad CertifyBadSrcIngestCertifyBad `json:"ingestCertifyBad"`
}

CertifyBadSrcResponse is returned by CertifyBadSrc on success.

func CertifyBadSrc

func CertifyBadSrc(
	ctx context.Context,
	client graphql.Client,
	source SourceInputSpec,
	certifyBad CertifyBadInputSpec,
) (*CertifyBadSrcResponse, error)

func (*CertifyBadSrcResponse) GetIngestCertifyBad

func (v *CertifyBadSrcResponse) GetIngestCertifyBad() CertifyBadSrcIngestCertifyBad

GetIngestCertifyBad returns CertifyBadSrcResponse.IngestCertifyBad, and is useful for accessing the field via an interface.

type CertifyBadsCertifyBad

type CertifyBadsCertifyBad struct {
	AllCertifyBad `json:"-"`
}

CertifyBadsCertifyBad includes the requested fields of the GraphQL type CertifyBad. The GraphQL type's documentation follows.

CertifyBad is an attestation that a package, source, or artifact is considered bad.

All evidence trees record a justification for the property they represent as well as the document that contains the attestation (origin) and the collector that collected the document (collector).

The certification applies to a subject which is a package, source, or artifact. If the attestation targets a package, it must target a PackageName or a PackageVersion. If the attestation targets a source, it must target a SourceName.

func (*CertifyBadsCertifyBad) GetCollector

func (v *CertifyBadsCertifyBad) GetCollector() string

GetCollector returns CertifyBadsCertifyBad.Collector, and is useful for accessing the field via an interface.

func (*CertifyBadsCertifyBad) GetId

func (v *CertifyBadsCertifyBad) GetId() string

GetId returns CertifyBadsCertifyBad.Id, and is useful for accessing the field via an interface.

func (*CertifyBadsCertifyBad) GetJustification

func (v *CertifyBadsCertifyBad) GetJustification() string

GetJustification returns CertifyBadsCertifyBad.Justification, and is useful for accessing the field via an interface.

func (*CertifyBadsCertifyBad) GetOrigin

func (v *CertifyBadsCertifyBad) GetOrigin() string

GetOrigin returns CertifyBadsCertifyBad.Origin, and is useful for accessing the field via an interface.

func (*CertifyBadsCertifyBad) GetSubject

GetSubject returns CertifyBadsCertifyBad.Subject, and is useful for accessing the field via an interface.

func (*CertifyBadsCertifyBad) MarshalJSON

func (v *CertifyBadsCertifyBad) MarshalJSON() ([]byte, error)

func (*CertifyBadsCertifyBad) UnmarshalJSON

func (v *CertifyBadsCertifyBad) UnmarshalJSON(b []byte) error

type CertifyBadsResponse

type CertifyBadsResponse struct {
	// Returns all CertifyBad attestations matching a filter.
	CertifyBad []CertifyBadsCertifyBad `json:"CertifyBad"`
}

CertifyBadsResponse is returned by CertifyBads on success.

func CertifyBads

func CertifyBads(
	ctx context.Context,
	client graphql.Client,
	filter *CertifyBadSpec,
) (*CertifyBadsResponse, error)

func (*CertifyBadsResponse) GetCertifyBad

func (v *CertifyBadsResponse) GetCertifyBad() []CertifyBadsCertifyBad

GetCertifyBad returns CertifyBadsResponse.CertifyBad, and is useful for accessing the field via an interface.

type CertifyCVEIngestVulnerabilityCertifyVuln

type CertifyCVEIngestVulnerabilityCertifyVuln struct {
	AllCertifyVuln `json:"-"`
}

CertifyCVEIngestVulnerabilityCertifyVuln includes the requested fields of the GraphQL type CertifyVuln. The GraphQL type's documentation follows.

CertifyVuln is an attestation to attach vulnerability information to a package.

This information is obtained via a scanner. If there is no vulnerability detected (no OSV, CVE, or GHSA), we attach the special NoVuln node.

func (*CertifyCVEIngestVulnerabilityCertifyVuln) GetId

GetId returns CertifyCVEIngestVulnerabilityCertifyVuln.Id, and is useful for accessing the field via an interface.

func (*CertifyCVEIngestVulnerabilityCertifyVuln) GetMetadata

GetMetadata returns CertifyCVEIngestVulnerabilityCertifyVuln.Metadata, and is useful for accessing the field via an interface.

func (*CertifyCVEIngestVulnerabilityCertifyVuln) GetPackage

GetPackage returns CertifyCVEIngestVulnerabilityCertifyVuln.Package, and is useful for accessing the field via an interface.

func (*CertifyCVEIngestVulnerabilityCertifyVuln) GetVulnerability

GetVulnerability returns CertifyCVEIngestVulnerabilityCertifyVuln.Vulnerability, and is useful for accessing the field via an interface.

func (*CertifyCVEIngestVulnerabilityCertifyVuln) MarshalJSON

func (v *CertifyCVEIngestVulnerabilityCertifyVuln) MarshalJSON() ([]byte, error)

func (*CertifyCVEIngestVulnerabilityCertifyVuln) UnmarshalJSON

func (v *CertifyCVEIngestVulnerabilityCertifyVuln) UnmarshalJSON(b []byte) error

type CertifyCVEResponse

type CertifyCVEResponse struct {
	// Adds a certification that a package has been scanned for vulnerabilities.
	IngestVulnerability CertifyCVEIngestVulnerabilityCertifyVuln `json:"ingestVulnerability"`
}

CertifyCVEResponse is returned by CertifyCVE on success.

func CertifyCVE

func CertifyCVE(
	ctx context.Context,
	client graphql.Client,
	pkg PkgInputSpec,
	cve CVEInputSpec,
	certifyVuln VulnerabilityMetaDataInput,
) (*CertifyCVEResponse, error)

func (*CertifyCVEResponse) GetIngestVulnerability

GetIngestVulnerability returns CertifyCVEResponse.IngestVulnerability, and is useful for accessing the field via an interface.

type CertifyGHSAIngestVulnerabilityCertifyVuln

type CertifyGHSAIngestVulnerabilityCertifyVuln struct {
	AllCertifyVuln `json:"-"`
}

CertifyGHSAIngestVulnerabilityCertifyVuln includes the requested fields of the GraphQL type CertifyVuln. The GraphQL type's documentation follows.

CertifyVuln is an attestation to attach vulnerability information to a package.

This information is obtained via a scanner. If there is no vulnerability detected (no OSV, CVE, or GHSA), we attach the special NoVuln node.

func (*CertifyGHSAIngestVulnerabilityCertifyVuln) GetId

GetId returns CertifyGHSAIngestVulnerabilityCertifyVuln.Id, and is useful for accessing the field via an interface.

func (*CertifyGHSAIngestVulnerabilityCertifyVuln) GetMetadata

GetMetadata returns CertifyGHSAIngestVulnerabilityCertifyVuln.Metadata, and is useful for accessing the field via an interface.

func (*CertifyGHSAIngestVulnerabilityCertifyVuln) GetPackage

GetPackage returns CertifyGHSAIngestVulnerabilityCertifyVuln.Package, and is useful for accessing the field via an interface.

func (*CertifyGHSAIngestVulnerabilityCertifyVuln) GetVulnerability

GetVulnerability returns CertifyGHSAIngestVulnerabilityCertifyVuln.Vulnerability, and is useful for accessing the field via an interface.

func (*CertifyGHSAIngestVulnerabilityCertifyVuln) MarshalJSON

func (*CertifyGHSAIngestVulnerabilityCertifyVuln) UnmarshalJSON

type CertifyGHSAResponse

type CertifyGHSAResponse struct {
	// Adds a certification that a package has been scanned for vulnerabilities.
	IngestVulnerability CertifyGHSAIngestVulnerabilityCertifyVuln `json:"ingestVulnerability"`
}

CertifyGHSAResponse is returned by CertifyGHSA on success.

func CertifyGHSA

func CertifyGHSA(
	ctx context.Context,
	client graphql.Client,
	pkg PkgInputSpec,
	ghsa GHSAInputSpec,
	certifyVuln VulnerabilityMetaDataInput,
) (*CertifyGHSAResponse, error)

func (*CertifyGHSAResponse) GetIngestVulnerability

GetIngestVulnerability returns CertifyGHSAResponse.IngestVulnerability, and is useful for accessing the field via an interface.

type CertifyGoodArtifactIngestCertifyGood

type CertifyGoodArtifactIngestCertifyGood struct {
	AllCertifyGood `json:"-"`
}

CertifyGoodArtifactIngestCertifyGood includes the requested fields of the GraphQL type CertifyGood. The GraphQL type's documentation follows.

CertifyGood is an attestation that a package, source, or artifact is considered good.

All evidence trees record a justification for the property they represent as well as the document that contains the attestation (origin) and the collector that collected the document (collector).

The certification applies to a subject which is a package, source, or artifact. If the attestation targets a package, it must target a PackageName or a PackageVersion. If the attestation targets a source, it must target a SourceName.

func (*CertifyGoodArtifactIngestCertifyGood) GetCollector

func (v *CertifyGoodArtifactIngestCertifyGood) GetCollector() string

GetCollector returns CertifyGoodArtifactIngestCertifyGood.Collector, and is useful for accessing the field via an interface.

func (*CertifyGoodArtifactIngestCertifyGood) GetId

GetId returns CertifyGoodArtifactIngestCertifyGood.Id, and is useful for accessing the field via an interface.

func (*CertifyGoodArtifactIngestCertifyGood) GetJustification

func (v *CertifyGoodArtifactIngestCertifyGood) GetJustification() string

GetJustification returns CertifyGoodArtifactIngestCertifyGood.Justification, and is useful for accessing the field via an interface.

func (*CertifyGoodArtifactIngestCertifyGood) GetOrigin

GetOrigin returns CertifyGoodArtifactIngestCertifyGood.Origin, and is useful for accessing the field via an interface.

func (*CertifyGoodArtifactIngestCertifyGood) GetSubject

GetSubject returns CertifyGoodArtifactIngestCertifyGood.Subject, and is useful for accessing the field via an interface.

func (*CertifyGoodArtifactIngestCertifyGood) MarshalJSON

func (v *CertifyGoodArtifactIngestCertifyGood) MarshalJSON() ([]byte, error)

func (*CertifyGoodArtifactIngestCertifyGood) UnmarshalJSON

func (v *CertifyGoodArtifactIngestCertifyGood) UnmarshalJSON(b []byte) error

type CertifyGoodArtifactResponse

type CertifyGoodArtifactResponse struct {
	// Adds a certification that a package, source or artifact is considered good.
	IngestCertifyGood CertifyGoodArtifactIngestCertifyGood `json:"ingestCertifyGood"`
}

CertifyGoodArtifactResponse is returned by CertifyGoodArtifact on success.

func CertifyGoodArtifact

func CertifyGoodArtifact(
	ctx context.Context,
	client graphql.Client,
	artifact ArtifactInputSpec,
	certifyGood CertifyGoodInputSpec,
) (*CertifyGoodArtifactResponse, error)

func (*CertifyGoodArtifactResponse) GetIngestCertifyGood

GetIngestCertifyGood returns CertifyGoodArtifactResponse.IngestCertifyGood, and is useful for accessing the field via an interface.

type CertifyGoodInputSpec

type CertifyGoodInputSpec struct {
	Justification string `json:"justification"`
	Origin        string `json:"origin"`
	Collector     string `json:"collector"`
}

CertifyGoodInputSpec represents the mutation input to ingest a CertifyGood evidence.

func (*CertifyGoodInputSpec) GetCollector

func (v *CertifyGoodInputSpec) GetCollector() string

GetCollector returns CertifyGoodInputSpec.Collector, and is useful for accessing the field via an interface.

func (*CertifyGoodInputSpec) GetJustification

func (v *CertifyGoodInputSpec) GetJustification() string

GetJustification returns CertifyGoodInputSpec.Justification, and is useful for accessing the field via an interface.

func (*CertifyGoodInputSpec) GetOrigin

func (v *CertifyGoodInputSpec) GetOrigin() string

GetOrigin returns CertifyGoodInputSpec.Origin, and is useful for accessing the field via an interface.

type CertifyGoodPkgIngestCertifyGood

type CertifyGoodPkgIngestCertifyGood struct {
	AllCertifyGood `json:"-"`
}

CertifyGoodPkgIngestCertifyGood includes the requested fields of the GraphQL type CertifyGood. The GraphQL type's documentation follows.

CertifyGood is an attestation that a package, source, or artifact is considered good.

All evidence trees record a justification for the property they represent as well as the document that contains the attestation (origin) and the collector that collected the document (collector).

The certification applies to a subject which is a package, source, or artifact. If the attestation targets a package, it must target a PackageName or a PackageVersion. If the attestation targets a source, it must target a SourceName.

func (*CertifyGoodPkgIngestCertifyGood) GetCollector

func (v *CertifyGoodPkgIngestCertifyGood) GetCollector() string

GetCollector returns CertifyGoodPkgIngestCertifyGood.Collector, and is useful for accessing the field via an interface.

func (*CertifyGoodPkgIngestCertifyGood) GetId

GetId returns CertifyGoodPkgIngestCertifyGood.Id, and is useful for accessing the field via an interface.

func (*CertifyGoodPkgIngestCertifyGood) GetJustification

func (v *CertifyGoodPkgIngestCertifyGood) GetJustification() string

GetJustification returns CertifyGoodPkgIngestCertifyGood.Justification, and is useful for accessing the field via an interface.

func (*CertifyGoodPkgIngestCertifyGood) GetOrigin

func (v *CertifyGoodPkgIngestCertifyGood) GetOrigin() string

GetOrigin returns CertifyGoodPkgIngestCertifyGood.Origin, and is useful for accessing the field via an interface.

func (*CertifyGoodPkgIngestCertifyGood) GetSubject

GetSubject returns CertifyGoodPkgIngestCertifyGood.Subject, and is useful for accessing the field via an interface.

func (*CertifyGoodPkgIngestCertifyGood) MarshalJSON

func (v *CertifyGoodPkgIngestCertifyGood) MarshalJSON() ([]byte, error)

func (*CertifyGoodPkgIngestCertifyGood) UnmarshalJSON

func (v *CertifyGoodPkgIngestCertifyGood) UnmarshalJSON(b []byte) error

type CertifyGoodPkgResponse

type CertifyGoodPkgResponse struct {
	// Adds a certification that a package, source or artifact is considered good.
	IngestCertifyGood CertifyGoodPkgIngestCertifyGood `json:"ingestCertifyGood"`
}

CertifyGoodPkgResponse is returned by CertifyGoodPkg on success.

func CertifyGoodPkg

func CertifyGoodPkg(
	ctx context.Context,
	client graphql.Client,
	pkg PkgInputSpec,
	pkgMatchType *MatchFlags,
	certifyGood CertifyGoodInputSpec,
) (*CertifyGoodPkgResponse, error)

func (*CertifyGoodPkgResponse) GetIngestCertifyGood

func (v *CertifyGoodPkgResponse) GetIngestCertifyGood() CertifyGoodPkgIngestCertifyGood

GetIngestCertifyGood returns CertifyGoodPkgResponse.IngestCertifyGood, and is useful for accessing the field via an interface.

type CertifyGoodSrcIngestCertifyGood

type CertifyGoodSrcIngestCertifyGood struct {
	AllCertifyGood `json:"-"`
}

CertifyGoodSrcIngestCertifyGood includes the requested fields of the GraphQL type CertifyGood. The GraphQL type's documentation follows.

CertifyGood is an attestation that a package, source, or artifact is considered good.

All evidence trees record a justification for the property they represent as well as the document that contains the attestation (origin) and the collector that collected the document (collector).

The certification applies to a subject which is a package, source, or artifact. If the attestation targets a package, it must target a PackageName or a PackageVersion. If the attestation targets a source, it must target a SourceName.

func (*CertifyGoodSrcIngestCertifyGood) GetCollector

func (v *CertifyGoodSrcIngestCertifyGood) GetCollector() string

GetCollector returns CertifyGoodSrcIngestCertifyGood.Collector, and is useful for accessing the field via an interface.

func (*CertifyGoodSrcIngestCertifyGood) GetId

GetId returns CertifyGoodSrcIngestCertifyGood.Id, and is useful for accessing the field via an interface.

func (*CertifyGoodSrcIngestCertifyGood) GetJustification

func (v *CertifyGoodSrcIngestCertifyGood) GetJustification() string

GetJustification returns CertifyGoodSrcIngestCertifyGood.Justification, and is useful for accessing the field via an interface.

func (*CertifyGoodSrcIngestCertifyGood) GetOrigin

func (v *CertifyGoodSrcIngestCertifyGood) GetOrigin() string

GetOrigin returns CertifyGoodSrcIngestCertifyGood.Origin, and is useful for accessing the field via an interface.

func (*CertifyGoodSrcIngestCertifyGood) GetSubject

GetSubject returns CertifyGoodSrcIngestCertifyGood.Subject, and is useful for accessing the field via an interface.

func (*CertifyGoodSrcIngestCertifyGood) MarshalJSON

func (v *CertifyGoodSrcIngestCertifyGood) MarshalJSON() ([]byte, error)

func (*CertifyGoodSrcIngestCertifyGood) UnmarshalJSON

func (v *CertifyGoodSrcIngestCertifyGood) UnmarshalJSON(b []byte) error

type CertifyGoodSrcResponse

type CertifyGoodSrcResponse struct {
	// Adds a certification that a package, source or artifact is considered good.
	IngestCertifyGood CertifyGoodSrcIngestCertifyGood `json:"ingestCertifyGood"`
}

CertifyGoodSrcResponse is returned by CertifyGoodSrc on success.

func CertifyGoodSrc

func CertifyGoodSrc(
	ctx context.Context,
	client graphql.Client,
	source SourceInputSpec,
	certifyGood CertifyGoodInputSpec,
) (*CertifyGoodSrcResponse, error)

func (*CertifyGoodSrcResponse) GetIngestCertifyGood

func (v *CertifyGoodSrcResponse) GetIngestCertifyGood() CertifyGoodSrcIngestCertifyGood

GetIngestCertifyGood returns CertifyGoodSrcResponse.IngestCertifyGood, and is useful for accessing the field via an interface.

type CertifyNoKnownVulnIngestVulnerabilityCertifyVuln

type CertifyNoKnownVulnIngestVulnerabilityCertifyVuln struct {
	AllCertifyVuln `json:"-"`
}

CertifyNoKnownVulnIngestVulnerabilityCertifyVuln includes the requested fields of the GraphQL type CertifyVuln. The GraphQL type's documentation follows.

CertifyVuln is an attestation to attach vulnerability information to a package.

This information is obtained via a scanner. If there is no vulnerability detected (no OSV, CVE, or GHSA), we attach the special NoVuln node.

func (*CertifyNoKnownVulnIngestVulnerabilityCertifyVuln) GetId

GetId returns CertifyNoKnownVulnIngestVulnerabilityCertifyVuln.Id, and is useful for accessing the field via an interface.

func (*CertifyNoKnownVulnIngestVulnerabilityCertifyVuln) GetMetadata

GetMetadata returns CertifyNoKnownVulnIngestVulnerabilityCertifyVuln.Metadata, and is useful for accessing the field via an interface.

func (*CertifyNoKnownVulnIngestVulnerabilityCertifyVuln) GetPackage

GetPackage returns CertifyNoKnownVulnIngestVulnerabilityCertifyVuln.Package, and is useful for accessing the field via an interface.

func (*CertifyNoKnownVulnIngestVulnerabilityCertifyVuln) GetVulnerability

GetVulnerability returns CertifyNoKnownVulnIngestVulnerabilityCertifyVuln.Vulnerability, and is useful for accessing the field via an interface.

func (*CertifyNoKnownVulnIngestVulnerabilityCertifyVuln) MarshalJSON

func (*CertifyNoKnownVulnIngestVulnerabilityCertifyVuln) UnmarshalJSON

type CertifyNoKnownVulnResponse

type CertifyNoKnownVulnResponse struct {
	// Adds a certification that a package has been scanned for vulnerabilities.
	IngestVulnerability CertifyNoKnownVulnIngestVulnerabilityCertifyVuln `json:"ingestVulnerability"`
}

CertifyNoKnownVulnResponse is returned by CertifyNoKnownVuln on success.

func CertifyNoKnownVuln

func CertifyNoKnownVuln(
	ctx context.Context,
	client graphql.Client,
	pkg PkgInputSpec,
	certifyVuln VulnerabilityMetaDataInput,
) (*CertifyNoKnownVulnResponse, error)

func (*CertifyNoKnownVulnResponse) GetIngestVulnerability

GetIngestVulnerability returns CertifyNoKnownVulnResponse.IngestVulnerability, and is useful for accessing the field via an interface.

type CertifyOSVIngestVulnerabilityCertifyVuln

type CertifyOSVIngestVulnerabilityCertifyVuln struct {
	AllCertifyVuln `json:"-"`
}

CertifyOSVIngestVulnerabilityCertifyVuln includes the requested fields of the GraphQL type CertifyVuln. The GraphQL type's documentation follows.

CertifyVuln is an attestation to attach vulnerability information to a package.

This information is obtained via a scanner. If there is no vulnerability detected (no OSV, CVE, or GHSA), we attach the special NoVuln node.

func (*CertifyOSVIngestVulnerabilityCertifyVuln) GetId

GetId returns CertifyOSVIngestVulnerabilityCertifyVuln.Id, and is useful for accessing the field via an interface.

func (*CertifyOSVIngestVulnerabilityCertifyVuln) GetMetadata

GetMetadata returns CertifyOSVIngestVulnerabilityCertifyVuln.Metadata, and is useful for accessing the field via an interface.

func (*CertifyOSVIngestVulnerabilityCertifyVuln) GetPackage

GetPackage returns CertifyOSVIngestVulnerabilityCertifyVuln.Package, and is useful for accessing the field via an interface.

func (*CertifyOSVIngestVulnerabilityCertifyVuln) GetVulnerability

GetVulnerability returns CertifyOSVIngestVulnerabilityCertifyVuln.Vulnerability, and is useful for accessing the field via an interface.

func (*CertifyOSVIngestVulnerabilityCertifyVuln) MarshalJSON

func (v *CertifyOSVIngestVulnerabilityCertifyVuln) MarshalJSON() ([]byte, error)

func (*CertifyOSVIngestVulnerabilityCertifyVuln) UnmarshalJSON

func (v *CertifyOSVIngestVulnerabilityCertifyVuln) UnmarshalJSON(b []byte) error

type CertifyOSVResponse

type CertifyOSVResponse struct {
	// Adds a certification that a package has been scanned for vulnerabilities.
	IngestVulnerability CertifyOSVIngestVulnerabilityCertifyVuln `json:"ingestVulnerability"`
}

CertifyOSVResponse is returned by CertifyOSV on success.

func CertifyOSV

func CertifyOSV(
	ctx context.Context,
	client graphql.Client,
	pkg PkgInputSpec,
	osv OSVInputSpec,
	certifyVuln VulnerabilityMetaDataInput,
) (*CertifyOSVResponse, error)

func (*CertifyOSVResponse) GetIngestVulnerability

GetIngestVulnerability returns CertifyOSVResponse.IngestVulnerability, and is useful for accessing the field via an interface.

type CertifyScorecardIngestScorecardCertifyScorecard added in v0.1.1

type CertifyScorecardIngestScorecardCertifyScorecard struct {
	AllCertifyScorecard `json:"-"`
}

CertifyScorecardIngestScorecardCertifyScorecard includes the requested fields of the GraphQL type CertifyScorecard. The GraphQL type's documentation follows.

CertifyScorecard is an attestation to attach a Scorecard analysis to a particular source repository.

func (*CertifyScorecardIngestScorecardCertifyScorecard) GetId added in v0.1.1

GetId returns CertifyScorecardIngestScorecardCertifyScorecard.Id, and is useful for accessing the field via an interface.

func (*CertifyScorecardIngestScorecardCertifyScorecard) GetScorecard added in v0.1.1

GetScorecard returns CertifyScorecardIngestScorecardCertifyScorecard.Scorecard, and is useful for accessing the field via an interface.

func (*CertifyScorecardIngestScorecardCertifyScorecard) GetSource added in v0.1.1

GetSource returns CertifyScorecardIngestScorecardCertifyScorecard.Source, and is useful for accessing the field via an interface.

func (*CertifyScorecardIngestScorecardCertifyScorecard) MarshalJSON added in v0.1.1

func (*CertifyScorecardIngestScorecardCertifyScorecard) UnmarshalJSON added in v0.1.1

type CertifyScorecardResponse added in v0.1.1

type CertifyScorecardResponse struct {
	// Adds a certification that a source repository has a Scorecard.
	IngestScorecard CertifyScorecardIngestScorecardCertifyScorecard `json:"ingestScorecard"`
}

CertifyScorecardResponse is returned by CertifyScorecard on success.

func CertifyScorecard added in v0.1.1

func CertifyScorecard(
	ctx context.Context,
	client graphql.Client,
	source SourceInputSpec,
	scorecard ScorecardInputSpec,
) (*CertifyScorecardResponse, error)

func (*CertifyScorecardResponse) GetIngestScorecard added in v0.1.1

GetIngestScorecard returns CertifyScorecardResponse.IngestScorecard, and is useful for accessing the field via an interface.

type CertifyScorecardsIngestScorecardsCertifyScorecard added in v0.1.1

type CertifyScorecardsIngestScorecardsCertifyScorecard struct {
	AllCertifyScorecard `json:"-"`
}

CertifyScorecardsIngestScorecardsCertifyScorecard includes the requested fields of the GraphQL type CertifyScorecard. The GraphQL type's documentation follows.

CertifyScorecard is an attestation to attach a Scorecard analysis to a particular source repository.

func (*CertifyScorecardsIngestScorecardsCertifyScorecard) GetId added in v0.1.1

GetId returns CertifyScorecardsIngestScorecardsCertifyScorecard.Id, and is useful for accessing the field via an interface.

func (*CertifyScorecardsIngestScorecardsCertifyScorecard) GetScorecard added in v0.1.1

GetScorecard returns CertifyScorecardsIngestScorecardsCertifyScorecard.Scorecard, and is useful for accessing the field via an interface.

func (*CertifyScorecardsIngestScorecardsCertifyScorecard) GetSource added in v0.1.1

GetSource returns CertifyScorecardsIngestScorecardsCertifyScorecard.Source, and is useful for accessing the field via an interface.

func (*CertifyScorecardsIngestScorecardsCertifyScorecard) MarshalJSON added in v0.1.1

func (*CertifyScorecardsIngestScorecardsCertifyScorecard) UnmarshalJSON added in v0.1.1

type CertifyScorecardsResponse added in v0.1.1

type CertifyScorecardsResponse struct {
	// Adds bulk certifications that a source repository has a Scorecard.
	IngestScorecards []CertifyScorecardsIngestScorecardsCertifyScorecard `json:"ingestScorecards"`
}

CertifyScorecardsResponse is returned by CertifyScorecards on success.

func CertifyScorecards added in v0.1.1

func CertifyScorecards(
	ctx context.Context,
	client graphql.Client,
	sources []SourceInputSpec,
	scorecards []ScorecardInputSpec,
) (*CertifyScorecardsResponse, error)

func (*CertifyScorecardsResponse) GetIngestScorecards added in v0.1.1

GetIngestScorecards returns CertifyScorecardsResponse.IngestScorecards, and is useful for accessing the field via an interface.

type DependencyType

type DependencyType string

DependencyType determines the type of the dependency.

const (
	// direct dependency
	DependencyTypeDirect DependencyType = "DIRECT"
	// indirect dependency
	DependencyTypeIndirect DependencyType = "INDIRECT"
	// type not known/not specified
	DependencyTypeUnknown DependencyType = "UNKNOWN"
)

type Edge

type Edge string

Edge allows filtering path/neighbors output to only contain a subset of all possible GUAC links.

Each member of the enum is formed by merging two Node names with _. Each name is converted from CamelCase to CAPITALS_WITH_UNDERSCORES. Only valid edges (pairs from Node to Node) are included.

The only exception to the above rule is for links out of HasSLSA. The names are HAS_SLSA_SUBJECT, HAS_SLSA_BUILT_BY, and HAS_SLSA_MATERIALS. This is because ARTIFACT_HAS_SLSA is only from subject Artifact to HasSLSA.

const (
	EdgeArtifactCertifyBad          Edge = "ARTIFACT_CERTIFY_BAD"
	EdgeArtifactCertifyGood         Edge = "ARTIFACT_CERTIFY_GOOD"
	EdgeArtifactCertifyVexStatement Edge = "ARTIFACT_CERTIFY_VEX_STATEMENT"
	EdgeArtifactHashEqual           Edge = "ARTIFACT_HASH_EQUAL"
	EdgeArtifactHasSbom             Edge = "ARTIFACT_HAS_SBOM"
	EdgeArtifactHasSlsa             Edge = "ARTIFACT_HAS_SLSA"
	EdgeArtifactIsOccurrence        Edge = "ARTIFACT_IS_OCCURRENCE"
	EdgeArtifactHasMetadata         Edge = "ARTIFACT_HAS_METADATA"
	EdgeArtifactPointOfContact      Edge = "ARTIFACT_POINT_OF_CONTACT"
	EdgeBuilderHasSlsa              Edge = "BUILDER_HAS_SLSA"
	EdgeCveCertifyVexStatement      Edge = "CVE_CERTIFY_VEX_STATEMENT"
	EdgeCveCertifyVuln              Edge = "CVE_CERTIFY_VULN"
	EdgeCveIsVulnerability          Edge = "CVE_IS_VULNERABILITY"
	EdgeGhsaCertifyVexStatement     Edge = "GHSA_CERTIFY_VEX_STATEMENT"
	EdgeGhsaCertifyVuln             Edge = "GHSA_CERTIFY_VULN"
	EdgeGhsaIsVulnerability         Edge = "GHSA_IS_VULNERABILITY"
	EdgeNoVulnCertifyVuln           Edge = "NO_VULN_CERTIFY_VULN"
	EdgeOsvCertifyVexStatement      Edge = "OSV_CERTIFY_VEX_STATEMENT"
	EdgeOsvCertifyVuln              Edge = "OSV_CERTIFY_VULN"
	EdgeOsvIsVulnerability          Edge = "OSV_IS_VULNERABILITY"
	EdgePackageCertifyBad           Edge = "PACKAGE_CERTIFY_BAD"
	EdgePackageCertifyGood          Edge = "PACKAGE_CERTIFY_GOOD"
	EdgePackageCertifyVexStatement  Edge = "PACKAGE_CERTIFY_VEX_STATEMENT"
	EdgePackageCertifyVuln          Edge = "PACKAGE_CERTIFY_VULN"
	EdgePackageHasSbom              Edge = "PACKAGE_HAS_SBOM"
	EdgePackageHasSourceAt          Edge = "PACKAGE_HAS_SOURCE_AT"
	EdgePackageIsDependency         Edge = "PACKAGE_IS_DEPENDENCY"
	EdgePackageIsOccurrence         Edge = "PACKAGE_IS_OCCURRENCE"
	EdgePackagePkgEqual             Edge = "PACKAGE_PKG_EQUAL"
	EdgePackageHasMetadata          Edge = "PACKAGE_HAS_METADATA"
	EdgePackagePointOfContact       Edge = "PACKAGE_POINT_OF_CONTACT"
	EdgeSourceCertifyBad            Edge = "SOURCE_CERTIFY_BAD"
	EdgeSourceCertifyGood           Edge = "SOURCE_CERTIFY_GOOD"
	EdgeSourceCertifyScorecard      Edge = "SOURCE_CERTIFY_SCORECARD"
	EdgeSourceHasSourceAt           Edge = "SOURCE_HAS_SOURCE_AT"
	EdgeSourceIsOccurrence          Edge = "SOURCE_IS_OCCURRENCE"
	EdgeSourceHasMetadata           Edge = "SOURCE_HAS_METADATA"
	EdgeSourcePointOfContact        Edge = "SOURCE_POINT_OF_CONTACT"
	EdgeCertifyBadArtifact          Edge = "CERTIFY_BAD_ARTIFACT"
	EdgeCertifyBadPackage           Edge = "CERTIFY_BAD_PACKAGE"
	EdgeCertifyBadSource            Edge = "CERTIFY_BAD_SOURCE"
	EdgeCertifyGoodArtifact         Edge = "CERTIFY_GOOD_ARTIFACT"
	EdgeCertifyGoodPackage          Edge = "CERTIFY_GOOD_PACKAGE"
	EdgeCertifyGoodSource           Edge = "CERTIFY_GOOD_SOURCE"
	EdgeCertifyScorecardSource      Edge = "CERTIFY_SCORECARD_SOURCE"
	EdgeCertifyVexStatementArtifact Edge = "CERTIFY_VEX_STATEMENT_ARTIFACT"
	EdgeCertifyVexStatementCve      Edge = "CERTIFY_VEX_STATEMENT_CVE"
	EdgeCertifyVexStatementGhsa     Edge = "CERTIFY_VEX_STATEMENT_GHSA"
	EdgeCertifyVexStatementOsv      Edge = "CERTIFY_VEX_STATEMENT_OSV"
	EdgeCertifyVexStatementPackage  Edge = "CERTIFY_VEX_STATEMENT_PACKAGE"
	EdgeCertifyVulnCve              Edge = "CERTIFY_VULN_CVE"
	EdgeCertifyVulnGhsa             Edge = "CERTIFY_VULN_GHSA"
	EdgeCertifyVulnNoVuln           Edge = "CERTIFY_VULN_NO_VULN"
	EdgeCertifyVulnOsv              Edge = "CERTIFY_VULN_OSV"
	EdgeCertifyVulnPackage          Edge = "CERTIFY_VULN_PACKAGE"
	EdgeHashEqualArtifact           Edge = "HASH_EQUAL_ARTIFACT"
	EdgeHasSbomArtifact             Edge = "HAS_SBOM_ARTIFACT"
	EdgeHasSbomPackage              Edge = "HAS_SBOM_PACKAGE"
	EdgeHasSlsaBuiltBy              Edge = "HAS_SLSA_BUILT_BY"
	EdgeHasSlsaMaterials            Edge = "HAS_SLSA_MATERIALS"
	EdgeHasSlsaSubject              Edge = "HAS_SLSA_SUBJECT"
	EdgeHasSourceAtPackage          Edge = "HAS_SOURCE_AT_PACKAGE"
	EdgeHasSourceAtSource           Edge = "HAS_SOURCE_AT_SOURCE"
	EdgeIsDependencyPackage         Edge = "IS_DEPENDENCY_PACKAGE"
	EdgeIsOccurrenceArtifact        Edge = "IS_OCCURRENCE_ARTIFACT"
	EdgeIsOccurrencePackage         Edge = "IS_OCCURRENCE_PACKAGE"
	EdgeIsOccurrenceSource          Edge = "IS_OCCURRENCE_SOURCE"
	EdgeIsVulnerabilityCve          Edge = "IS_VULNERABILITY_CVE"
	EdgeIsVulnerabilityGhsa         Edge = "IS_VULNERABILITY_GHSA"
	EdgeIsVulnerabilityOsv          Edge = "IS_VULNERABILITY_OSV"
	EdgePkgEqualPackage             Edge = "PKG_EQUAL_PACKAGE"
	EdgeHasMetadataPackage          Edge = "HAS_METADATA_PACKAGE"
	EdgeHasMetadataArtifact         Edge = "HAS_METADATA_ARTIFACT"
	EdgeHasMetadataSource           Edge = "HAS_METADATA_SOURCE"
	EdgePointOfContactPackage       Edge = "POINT_OF_CONTACT_PACKAGE"
	EdgePointOfContactArtifact      Edge = "POINT_OF_CONTACT_ARTIFACT"
	EdgePointOfContactSource        Edge = "POINT_OF_CONTACT_SOURCE"
)

type FindSoftwareFindSoftwareArtifact added in v0.1.1

type FindSoftwareFindSoftwareArtifact struct {
	Typename        *string `json:"__typename"`
	AllArtifactTree `json:"-"`
}

FindSoftwareFindSoftwareArtifact includes the requested fields of the GraphQL type Artifact. The GraphQL type's documentation follows.

Artifact represents an artifact identified by a checksum hash.

The checksum is split into the digest value and the algorithm used to generate it. Both fields are mandatory and canonicalized to be lowercase.

If having a checksum Go object, algorithm can be strings.ToLower(string(checksum.Algorithm)) and digest can be checksum.Value.

func (*FindSoftwareFindSoftwareArtifact) GetAlgorithm added in v0.1.1

func (v *FindSoftwareFindSoftwareArtifact) GetAlgorithm() string

GetAlgorithm returns FindSoftwareFindSoftwareArtifact.Algorithm, and is useful for accessing the field via an interface.

func (*FindSoftwareFindSoftwareArtifact) GetDigest added in v0.1.1

GetDigest returns FindSoftwareFindSoftwareArtifact.Digest, and is useful for accessing the field via an interface.

func (*FindSoftwareFindSoftwareArtifact) GetId added in v0.1.1

GetId returns FindSoftwareFindSoftwareArtifact.Id, and is useful for accessing the field via an interface.

func (*FindSoftwareFindSoftwareArtifact) GetTypename added in v0.1.1

func (v *FindSoftwareFindSoftwareArtifact) GetTypename() *string

GetTypename returns FindSoftwareFindSoftwareArtifact.Typename, and is useful for accessing the field via an interface.

func (*FindSoftwareFindSoftwareArtifact) MarshalJSON added in v0.1.1

func (v *FindSoftwareFindSoftwareArtifact) MarshalJSON() ([]byte, error)

func (*FindSoftwareFindSoftwareArtifact) UnmarshalJSON added in v0.1.1

func (v *FindSoftwareFindSoftwareArtifact) UnmarshalJSON(b []byte) error

type FindSoftwareFindSoftwarePackage added in v0.1.1

type FindSoftwareFindSoftwarePackage struct {
	Typename   *string `json:"__typename"`
	AllPkgTree `json:"-"`
}

FindSoftwareFindSoftwarePackage includes the requested fields of the GraphQL type Package. The GraphQL type's documentation follows.

Package represents the root of the package trie/tree.

We map package information to a trie, closely matching the pURL specification (https://github.com/package-url/purl-spec/blob/0dd92f26f8bb11956ffdf5e8acfcee71e8560407/README.rst), but deviating from it where GUAC heuristics allow for better representation of package information. Each path in the trie fully represents a package; we split the trie based on the pURL components.

This node matches a pkg:<type> partial pURL. The type field matches the pURL types but we might also use "guac" for the cases where the pURL representation is not complete or when we have custom rules.

Since this node is at the root of the package trie, it is named Package, not PackageType.

func (*FindSoftwareFindSoftwarePackage) GetId added in v0.1.1

GetId returns FindSoftwareFindSoftwarePackage.Id, and is useful for accessing the field via an interface.

func (*FindSoftwareFindSoftwarePackage) GetNamespaces added in v0.1.1

GetNamespaces returns FindSoftwareFindSoftwarePackage.Namespaces, and is useful for accessing the field via an interface.

func (*FindSoftwareFindSoftwarePackage) GetType added in v0.1.1

GetType returns FindSoftwareFindSoftwarePackage.Type, and is useful for accessing the field via an interface.

func (*FindSoftwareFindSoftwarePackage) GetTypename added in v0.1.1

func (v *FindSoftwareFindSoftwarePackage) GetTypename() *string

GetTypename returns FindSoftwareFindSoftwarePackage.Typename, and is useful for accessing the field via an interface.

func (*FindSoftwareFindSoftwarePackage) MarshalJSON added in v0.1.1

func (v *FindSoftwareFindSoftwarePackage) MarshalJSON() ([]byte, error)

func (*FindSoftwareFindSoftwarePackage) UnmarshalJSON added in v0.1.1

func (v *FindSoftwareFindSoftwarePackage) UnmarshalJSON(b []byte) error

type FindSoftwareFindSoftwarePackageSourceOrArtifact added in v0.1.1

type FindSoftwareFindSoftwarePackageSourceOrArtifact interface {

	// GetTypename returns the receiver's concrete GraphQL type-name (see interface doc for possible values).
	GetTypename() *string
	// contains filtered or unexported methods
}

FindSoftwareFindSoftwarePackageSourceOrArtifact includes the requested fields of the GraphQL interface PackageSourceOrArtifact.

FindSoftwareFindSoftwarePackageSourceOrArtifact is implemented by the following types: FindSoftwareFindSoftwareArtifact FindSoftwareFindSoftwarePackage FindSoftwareFindSoftwareSource The GraphQL type's documentation follows.

PackageSourceOrArtifact is a union of Package, Source, and Artifact.

type FindSoftwareFindSoftwareSource added in v0.1.1

type FindSoftwareFindSoftwareSource struct {
	Typename      *string `json:"__typename"`
	AllSourceTree `json:"-"`
}

FindSoftwareFindSoftwareSource includes the requested fields of the GraphQL type Source. The GraphQL type's documentation follows.

Source represents the root of the source trie/tree.

We map source information to a trie, as a derivative of the pURL specification: each path in the trie represents a type, namespace, name and an optional qualifier that stands for tag/commit information.

This node represents the type part of the trie path. It is used to represent the version control system that is being used.

Since this node is at the root of the source trie, it is named Source, not SourceType.

func (*FindSoftwareFindSoftwareSource) GetId added in v0.1.1

GetId returns FindSoftwareFindSoftwareSource.Id, and is useful for accessing the field via an interface.

func (*FindSoftwareFindSoftwareSource) GetNamespaces added in v0.1.1

GetNamespaces returns FindSoftwareFindSoftwareSource.Namespaces, and is useful for accessing the field via an interface.

func (*FindSoftwareFindSoftwareSource) GetType added in v0.1.1

GetType returns FindSoftwareFindSoftwareSource.Type, and is useful for accessing the field via an interface.

func (*FindSoftwareFindSoftwareSource) GetTypename added in v0.1.1

func (v *FindSoftwareFindSoftwareSource) GetTypename() *string

GetTypename returns FindSoftwareFindSoftwareSource.Typename, and is useful for accessing the field via an interface.

func (*FindSoftwareFindSoftwareSource) MarshalJSON added in v0.1.1

func (v *FindSoftwareFindSoftwareSource) MarshalJSON() ([]byte, error)

func (*FindSoftwareFindSoftwareSource) UnmarshalJSON added in v0.1.1

func (v *FindSoftwareFindSoftwareSource) UnmarshalJSON(b []byte) error

type FindSoftwareResponse added in v0.1.1

type FindSoftwareResponse struct {
	// findSoftware takes in a searchText string and looks for software
	// that may be relevant for the input text. This can be seen as fuzzy search
	// function for Packages, Sources and Artifacts. findSoftware returns a list
	// of Packages, Sources and Artifacts that it determines to be relevant to
	// the input searchText.
	//
	// Due to the nature of full text search being implemented differently on
	// different db platforms, the behavior of findSoftware is not guaranteed
	// to be the same. In addition, their statistical nature may result in
	// results being different per call and not reproducible.
	//
	// All that is asked in the implementation of this API is that it follows
	// the spirit of helping to retrieve the right nodes with best effort.
	//
	// Warning: This is an EXPERIMENTAL feature. This is subject to change.
	// Warning: This is an OPTIONAL feature. Backends are not required to
	// implement this API.
	FindSoftware []FindSoftwareFindSoftwarePackageSourceOrArtifact `json:"-"`
}

FindSoftwareResponse is returned by FindSoftware on success.

func FindSoftware added in v0.1.1

func FindSoftware(
	ctx context.Context,
	client graphql.Client,
	searchText string,
) (*FindSoftwareResponse, error)

func (*FindSoftwareResponse) GetFindSoftware added in v0.1.1

GetFindSoftware returns FindSoftwareResponse.FindSoftware, and is useful for accessing the field via an interface.

func (*FindSoftwareResponse) MarshalJSON added in v0.1.1

func (v *FindSoftwareResponse) MarshalJSON() ([]byte, error)

func (*FindSoftwareResponse) UnmarshalJSON added in v0.1.1

func (v *FindSoftwareResponse) UnmarshalJSON(b []byte) error

type GHSAInputSpec

type GHSAInputSpec struct {
	GhsaId string `json:"ghsaId"`
}

GHSAInputSpec specifies a GitHub Security Advisory for mutations.

func (*GHSAInputSpec) GetGhsaId

func (v *GHSAInputSpec) GetGhsaId() string

GetGhsaId returns GHSAInputSpec.GhsaId, and is useful for accessing the field via an interface.

type GHSASpec

type GHSASpec struct {
	Id     *string `json:"id"`
	GhsaId *string `json:"ghsaId"`
}

GHSASpec allows filtering the list of advisories to return in a query.

func (*GHSASpec) GetGhsaId

func (v *GHSASpec) GetGhsaId() *string

GetGhsaId returns GHSASpec.GhsaId, and is useful for accessing the field via an interface.

func (*GHSASpec) GetId

func (v *GHSASpec) GetId() *string

GetId returns GHSASpec.Id, and is useful for accessing the field via an interface.

type GHSAsGhsaGHSA

type GHSAsGhsaGHSA struct {
	AllGHSATree `json:"-"`
}

GHSAsGhsaGHSA includes the requested fields of the GraphQL type GHSA. The GraphQL type's documentation follows.

GHSA represents GitHub security advisories.

The advisory id field is mandatory and canonicalized to be lowercase.

This node can be referred to by other parts of GUAC.

func (*GHSAsGhsaGHSA) GetGhsaId

func (v *GHSAsGhsaGHSA) GetGhsaId() string

GetGhsaId returns GHSAsGhsaGHSA.GhsaId, and is useful for accessing the field via an interface.

func (*GHSAsGhsaGHSA) GetId

func (v *GHSAsGhsaGHSA) GetId() string

GetId returns GHSAsGhsaGHSA.Id, and is useful for accessing the field via an interface.

func (*GHSAsGhsaGHSA) MarshalJSON

func (v *GHSAsGhsaGHSA) MarshalJSON() ([]byte, error)

func (*GHSAsGhsaGHSA) UnmarshalJSON

func (v *GHSAsGhsaGHSA) UnmarshalJSON(b []byte) error

type GHSAsResponse

type GHSAsResponse struct {
	// Returns all GitHub Security Advisories matching a filter.
	Ghsa []GHSAsGhsaGHSA `json:"ghsa"`
}

GHSAsResponse is returned by GHSAs on success.

func GHSAs

func GHSAs(
	ctx context.Context,
	client graphql.Client,
	filter *GHSASpec,
) (*GHSAsResponse, error)

func (*GHSAsResponse) GetGhsa

func (v *GHSAsResponse) GetGhsa() []GHSAsGhsaGHSA

GetGhsa returns GHSAsResponse.Ghsa, and is useful for accessing the field via an interface.

type HasMetadataArtifactIngestHasMetadata added in v0.1.1

type HasMetadataArtifactIngestHasMetadata struct {
	AllHasMetadata `json:"-"`
}

HasMetadataArtifactIngestHasMetadata includes the requested fields of the GraphQL type HasMetadata. The GraphQL type's documentation follows.

HasMetadata is an attestation that a package, source, or artifact has a certain attested property (key) with value (value). For example, a source may have metadata "SourceRepo2FAEnabled=true".

The intent of this evidence tree predicate is to allow extensibility of metadata expressible within the GUAC ontology. Metadata that is commonly used will then be promoted to a predicate on its own.

Justification indicates how the metadata was determined.

The metadata applies to a subject which is a package, source, or artifact. If the attestation targets a package, it must target a PackageName or a PackageVersion. If the attestation targets a source, it must target a SourceName.

func (*HasMetadataArtifactIngestHasMetadata) GetCollector added in v0.1.1

func (v *HasMetadataArtifactIngestHasMetadata) GetCollector() string

GetCollector returns HasMetadataArtifactIngestHasMetadata.Collector, and is useful for accessing the field via an interface.

func (*HasMetadataArtifactIngestHasMetadata) GetId added in v0.1.1

GetId returns HasMetadataArtifactIngestHasMetadata.Id, and is useful for accessing the field via an interface.

func (*HasMetadataArtifactIngestHasMetadata) GetJustification added in v0.1.1

func (v *HasMetadataArtifactIngestHasMetadata) GetJustification() string

GetJustification returns HasMetadataArtifactIngestHasMetadata.Justification, and is useful for accessing the field via an interface.

func (*HasMetadataArtifactIngestHasMetadata) GetKey added in v0.1.1

GetKey returns HasMetadataArtifactIngestHasMetadata.Key, and is useful for accessing the field via an interface.

func (*HasMetadataArtifactIngestHasMetadata) GetOrigin added in v0.1.1

GetOrigin returns HasMetadataArtifactIngestHasMetadata.Origin, and is useful for accessing the field via an interface.

func (*HasMetadataArtifactIngestHasMetadata) GetSubject added in v0.1.1

GetSubject returns HasMetadataArtifactIngestHasMetadata.Subject, and is useful for accessing the field via an interface.

func (*HasMetadataArtifactIngestHasMetadata) GetTimestamp added in v0.1.1

GetTimestamp returns HasMetadataArtifactIngestHasMetadata.Timestamp, and is useful for accessing the field via an interface.

func (*HasMetadataArtifactIngestHasMetadata) GetValue added in v0.1.1

GetValue returns HasMetadataArtifactIngestHasMetadata.Value, and is useful for accessing the field via an interface.

func (*HasMetadataArtifactIngestHasMetadata) MarshalJSON added in v0.1.1

func (v *HasMetadataArtifactIngestHasMetadata) MarshalJSON() ([]byte, error)

func (*HasMetadataArtifactIngestHasMetadata) UnmarshalJSON added in v0.1.1

func (v *HasMetadataArtifactIngestHasMetadata) UnmarshalJSON(b []byte) error

type HasMetadataArtifactResponse added in v0.1.1

type HasMetadataArtifactResponse struct {
	// Adds metadata about a package, source or artifact.
	IngestHasMetadata HasMetadataArtifactIngestHasMetadata `json:"ingestHasMetadata"`
}

HasMetadataArtifactResponse is returned by HasMetadataArtifact on success.

func HasMetadataArtifact added in v0.1.1

func HasMetadataArtifact(
	ctx context.Context,
	client graphql.Client,
	artifact ArtifactInputSpec,
	hasMetadata HasMetadataInputSpec,
) (*HasMetadataArtifactResponse, error)

func (*HasMetadataArtifactResponse) GetIngestHasMetadata added in v0.1.1

GetIngestHasMetadata returns HasMetadataArtifactResponse.IngestHasMetadata, and is useful for accessing the field via an interface.

type HasMetadataInputSpec added in v0.1.1

type HasMetadataInputSpec struct {
	Key           string    `json:"key"`
	Value         string    `json:"value"`
	Timestamp     time.Time `json:"timestamp"`
	Justification string    `json:"justification"`
	Origin        string    `json:"origin"`
	Collector     string    `json:"collector"`
}

HasMetadataInputSpec represents the mutation input to ingest a CertifyGood evidence.

func (*HasMetadataInputSpec) GetCollector added in v0.1.1

func (v *HasMetadataInputSpec) GetCollector() string

GetCollector returns HasMetadataInputSpec.Collector, and is useful for accessing the field via an interface.

func (*HasMetadataInputSpec) GetJustification added in v0.1.1

func (v *HasMetadataInputSpec) GetJustification() string

GetJustification returns HasMetadataInputSpec.Justification, and is useful for accessing the field via an interface.

func (*HasMetadataInputSpec) GetKey added in v0.1.1

func (v *HasMetadataInputSpec) GetKey() string

GetKey returns HasMetadataInputSpec.Key, and is useful for accessing the field via an interface.

func (*HasMetadataInputSpec) GetOrigin added in v0.1.1

func (v *HasMetadataInputSpec) GetOrigin() string

GetOrigin returns HasMetadataInputSpec.Origin, and is useful for accessing the field via an interface.

func (*HasMetadataInputSpec) GetTimestamp added in v0.1.1

func (v *HasMetadataInputSpec) GetTimestamp() time.Time

GetTimestamp returns HasMetadataInputSpec.Timestamp, and is useful for accessing the field via an interface.

func (*HasMetadataInputSpec) GetValue added in v0.1.1

func (v *HasMetadataInputSpec) GetValue() string

GetValue returns HasMetadataInputSpec.Value, and is useful for accessing the field via an interface.

type HasMetadataPkgIngestHasMetadata added in v0.1.1

type HasMetadataPkgIngestHasMetadata struct {
	AllHasMetadata `json:"-"`
}

HasMetadataPkgIngestHasMetadata includes the requested fields of the GraphQL type HasMetadata. The GraphQL type's documentation follows.

HasMetadata is an attestation that a package, source, or artifact has a certain attested property (key) with value (value). For example, a source may have metadata "SourceRepo2FAEnabled=true".

The intent of this evidence tree predicate is to allow extensibility of metadata expressible within the GUAC ontology. Metadata that is commonly used will then be promoted to a predicate on its own.

Justification indicates how the metadata was determined.

The metadata applies to a subject which is a package, source, or artifact. If the attestation targets a package, it must target a PackageName or a PackageVersion. If the attestation targets a source, it must target a SourceName.

func (*HasMetadataPkgIngestHasMetadata) GetCollector added in v0.1.1

func (v *HasMetadataPkgIngestHasMetadata) GetCollector() string

GetCollector returns HasMetadataPkgIngestHasMetadata.Collector, and is useful for accessing the field via an interface.

func (*HasMetadataPkgIngestHasMetadata) GetId added in v0.1.1

GetId returns HasMetadataPkgIngestHasMetadata.Id, and is useful for accessing the field via an interface.

func (*HasMetadataPkgIngestHasMetadata) GetJustification added in v0.1.1

func (v *HasMetadataPkgIngestHasMetadata) GetJustification() string

GetJustification returns HasMetadataPkgIngestHasMetadata.Justification, and is useful for accessing the field via an interface.

func (*HasMetadataPkgIngestHasMetadata) GetKey added in v0.1.1

GetKey returns HasMetadataPkgIngestHasMetadata.Key, and is useful for accessing the field via an interface.

func (*HasMetadataPkgIngestHasMetadata) GetOrigin added in v0.1.1

func (v *HasMetadataPkgIngestHasMetadata) GetOrigin() string

GetOrigin returns HasMetadataPkgIngestHasMetadata.Origin, and is useful for accessing the field via an interface.

func (*HasMetadataPkgIngestHasMetadata) GetSubject added in v0.1.1

GetSubject returns HasMetadataPkgIngestHasMetadata.Subject, and is useful for accessing the field via an interface.

func (*HasMetadataPkgIngestHasMetadata) GetTimestamp added in v0.1.1

func (v *HasMetadataPkgIngestHasMetadata) GetTimestamp() time.Time

GetTimestamp returns HasMetadataPkgIngestHasMetadata.Timestamp, and is useful for accessing the field via an interface.

func (*HasMetadataPkgIngestHasMetadata) GetValue added in v0.1.1

GetValue returns HasMetadataPkgIngestHasMetadata.Value, and is useful for accessing the field via an interface.

func (*HasMetadataPkgIngestHasMetadata) MarshalJSON added in v0.1.1

func (v *HasMetadataPkgIngestHasMetadata) MarshalJSON() ([]byte, error)

func (*HasMetadataPkgIngestHasMetadata) UnmarshalJSON added in v0.1.1

func (v *HasMetadataPkgIngestHasMetadata) UnmarshalJSON(b []byte) error

type HasMetadataPkgResponse added in v0.1.1

type HasMetadataPkgResponse struct {
	// Adds metadata about a package, source or artifact.
	IngestHasMetadata HasMetadataPkgIngestHasMetadata `json:"ingestHasMetadata"`
}

HasMetadataPkgResponse is returned by HasMetadataPkg on success.

func HasMetadataPkg added in v0.1.1

func HasMetadataPkg(
	ctx context.Context,
	client graphql.Client,
	pkg PkgInputSpec,
	pkgMatchType *MatchFlags,
	hasMetadata HasMetadataInputSpec,
) (*HasMetadataPkgResponse, error)

func (*HasMetadataPkgResponse) GetIngestHasMetadata added in v0.1.1

func (v *HasMetadataPkgResponse) GetIngestHasMetadata() HasMetadataPkgIngestHasMetadata

GetIngestHasMetadata returns HasMetadataPkgResponse.IngestHasMetadata, and is useful for accessing the field via an interface.

type HasMetadataSrcIngestHasMetadata added in v0.1.1

type HasMetadataSrcIngestHasMetadata struct {
	AllHasMetadata `json:"-"`
}

HasMetadataSrcIngestHasMetadata includes the requested fields of the GraphQL type HasMetadata. The GraphQL type's documentation follows.

HasMetadata is an attestation that a package, source, or artifact has a certain attested property (key) with value (value). For example, a source may have metadata "SourceRepo2FAEnabled=true".

The intent of this evidence tree predicate is to allow extensibility of metadata expressible within the GUAC ontology. Metadata that is commonly used will then be promoted to a predicate on its own.

Justification indicates how the metadata was determined.

The metadata applies to a subject which is a package, source, or artifact. If the attestation targets a package, it must target a PackageName or a PackageVersion. If the attestation targets a source, it must target a SourceName.

func (*HasMetadataSrcIngestHasMetadata) GetCollector added in v0.1.1

func (v *HasMetadataSrcIngestHasMetadata) GetCollector() string

GetCollector returns HasMetadataSrcIngestHasMetadata.Collector, and is useful for accessing the field via an interface.

func (*HasMetadataSrcIngestHasMetadata) GetId added in v0.1.1

GetId returns HasMetadataSrcIngestHasMetadata.Id, and is useful for accessing the field via an interface.

func (*HasMetadataSrcIngestHasMetadata) GetJustification added in v0.1.1

func (v *HasMetadataSrcIngestHasMetadata) GetJustification() string

GetJustification returns HasMetadataSrcIngestHasMetadata.Justification, and is useful for accessing the field via an interface.

func (*HasMetadataSrcIngestHasMetadata) GetKey added in v0.1.1

GetKey returns HasMetadataSrcIngestHasMetadata.Key, and is useful for accessing the field via an interface.

func (*HasMetadataSrcIngestHasMetadata) GetOrigin added in v0.1.1

func (v *HasMetadataSrcIngestHasMetadata) GetOrigin() string

GetOrigin returns HasMetadataSrcIngestHasMetadata.Origin, and is useful for accessing the field via an interface.

func (*HasMetadataSrcIngestHasMetadata) GetSubject added in v0.1.1

GetSubject returns HasMetadataSrcIngestHasMetadata.Subject, and is useful for accessing the field via an interface.

func (*HasMetadataSrcIngestHasMetadata) GetTimestamp added in v0.1.1

func (v *HasMetadataSrcIngestHasMetadata) GetTimestamp() time.Time

GetTimestamp returns HasMetadataSrcIngestHasMetadata.Timestamp, and is useful for accessing the field via an interface.

func (*HasMetadataSrcIngestHasMetadata) GetValue added in v0.1.1

GetValue returns HasMetadataSrcIngestHasMetadata.Value, and is useful for accessing the field via an interface.

func (*HasMetadataSrcIngestHasMetadata) MarshalJSON added in v0.1.1

func (v *HasMetadataSrcIngestHasMetadata) MarshalJSON() ([]byte, error)

func (*HasMetadataSrcIngestHasMetadata) UnmarshalJSON added in v0.1.1

func (v *HasMetadataSrcIngestHasMetadata) UnmarshalJSON(b []byte) error

type HasMetadataSrcResponse added in v0.1.1

type HasMetadataSrcResponse struct {
	// Adds metadata about a package, source or artifact.
	IngestHasMetadata HasMetadataSrcIngestHasMetadata `json:"ingestHasMetadata"`
}

HasMetadataSrcResponse is returned by HasMetadataSrc on success.

func HasMetadataSrc added in v0.1.1

func HasMetadataSrc(
	ctx context.Context,
	client graphql.Client,
	source SourceInputSpec,
	hasMetadata HasMetadataInputSpec,
) (*HasMetadataSrcResponse, error)

func (*HasMetadataSrcResponse) GetIngestHasMetadata added in v0.1.1

func (v *HasMetadataSrcResponse) GetIngestHasMetadata() HasMetadataSrcIngestHasMetadata

GetIngestHasMetadata returns HasMetadataSrcResponse.IngestHasMetadata, and is useful for accessing the field via an interface.

type HasSBOMArtifactIngestHasSBOM

type HasSBOMArtifactIngestHasSBOM struct {
	AllHasSBOMTree `json:"-"`
}

HasSBOMArtifactIngestHasSBOM includes the requested fields of the GraphQL type HasSBOM.

func (*HasSBOMArtifactIngestHasSBOM) GetAlgorithm

func (v *HasSBOMArtifactIngestHasSBOM) GetAlgorithm() string

GetAlgorithm returns HasSBOMArtifactIngestHasSBOM.Algorithm, and is useful for accessing the field via an interface.

func (*HasSBOMArtifactIngestHasSBOM) GetCollector

func (v *HasSBOMArtifactIngestHasSBOM) GetCollector() string

GetCollector returns HasSBOMArtifactIngestHasSBOM.Collector, and is useful for accessing the field via an interface.

func (*HasSBOMArtifactIngestHasSBOM) GetDigest

func (v *HasSBOMArtifactIngestHasSBOM) GetDigest() string

GetDigest returns HasSBOMArtifactIngestHasSBOM.Digest, and is useful for accessing the field via an interface.

func (*HasSBOMArtifactIngestHasSBOM) GetDownloadLocation

func (v *HasSBOMArtifactIngestHasSBOM) GetDownloadLocation() string

GetDownloadLocation returns HasSBOMArtifactIngestHasSBOM.DownloadLocation, and is useful for accessing the field via an interface.

func (*HasSBOMArtifactIngestHasSBOM) GetId

GetId returns HasSBOMArtifactIngestHasSBOM.Id, and is useful for accessing the field via an interface.

func (*HasSBOMArtifactIngestHasSBOM) GetOrigin

func (v *HasSBOMArtifactIngestHasSBOM) GetOrigin() string

GetOrigin returns HasSBOMArtifactIngestHasSBOM.Origin, and is useful for accessing the field via an interface.

func (*HasSBOMArtifactIngestHasSBOM) GetSubject

GetSubject returns HasSBOMArtifactIngestHasSBOM.Subject, and is useful for accessing the field via an interface.

func (*HasSBOMArtifactIngestHasSBOM) GetUri

GetUri returns HasSBOMArtifactIngestHasSBOM.Uri, and is useful for accessing the field via an interface.

func (*HasSBOMArtifactIngestHasSBOM) MarshalJSON

func (v *HasSBOMArtifactIngestHasSBOM) MarshalJSON() ([]byte, error)

func (*HasSBOMArtifactIngestHasSBOM) UnmarshalJSON

func (v *HasSBOMArtifactIngestHasSBOM) UnmarshalJSON(b []byte) error

type HasSBOMArtifactResponse

type HasSBOMArtifactResponse struct {
	// Certifies that a package or artifact has an SBOM.
	IngestHasSBOM HasSBOMArtifactIngestHasSBOM `json:"ingestHasSBOM"`
}

HasSBOMArtifactResponse is returned by HasSBOMArtifact on success.

func HasSBOMArtifact

func HasSBOMArtifact(
	ctx context.Context,
	client graphql.Client,
	artifact ArtifactInputSpec,
	hasSBOM HasSBOMInputSpec,
) (*HasSBOMArtifactResponse, error)

func (*HasSBOMArtifactResponse) GetIngestHasSBOM

GetIngestHasSBOM returns HasSBOMArtifactResponse.IngestHasSBOM, and is useful for accessing the field via an interface.

type HasSBOMInputSpec

type HasSBOMInputSpec struct {
	Uri              string `json:"uri"`
	Algorithm        string `json:"algorithm"`
	Digest           string `json:"digest"`
	DownloadLocation string `json:"downloadLocation"`
	Origin           string `json:"origin"`
	Collector        string `json:"collector"`
}

HasSBOMInputSpec is the same as HasSBOM but for mutation input.

func (*HasSBOMInputSpec) GetAlgorithm

func (v *HasSBOMInputSpec) GetAlgorithm() string

GetAlgorithm returns HasSBOMInputSpec.Algorithm, and is useful for accessing the field via an interface.

func (*HasSBOMInputSpec) GetCollector

func (v *HasSBOMInputSpec) GetCollector() string

GetCollector returns HasSBOMInputSpec.Collector, and is useful for accessing the field via an interface.

func (*HasSBOMInputSpec) GetDigest

func (v *HasSBOMInputSpec) GetDigest() string

GetDigest returns HasSBOMInputSpec.Digest, and is useful for accessing the field via an interface.

func (*HasSBOMInputSpec) GetDownloadLocation

func (v *HasSBOMInputSpec) GetDownloadLocation() string

GetDownloadLocation returns HasSBOMInputSpec.DownloadLocation, and is useful for accessing the field via an interface.

func (*HasSBOMInputSpec) GetOrigin

func (v *HasSBOMInputSpec) GetOrigin() string

GetOrigin returns HasSBOMInputSpec.Origin, and is useful for accessing the field via an interface.

func (*HasSBOMInputSpec) GetUri

func (v *HasSBOMInputSpec) GetUri() string

GetUri returns HasSBOMInputSpec.Uri, and is useful for accessing the field via an interface.

type HasSBOMPkgIngestHasSBOM

type HasSBOMPkgIngestHasSBOM struct {
	AllHasSBOMTree `json:"-"`
}

HasSBOMPkgIngestHasSBOM includes the requested fields of the GraphQL type HasSBOM.

func (*HasSBOMPkgIngestHasSBOM) GetAlgorithm

func (v *HasSBOMPkgIngestHasSBOM) GetAlgorithm() string

GetAlgorithm returns HasSBOMPkgIngestHasSBOM.Algorithm, and is useful for accessing the field via an interface.

func (*HasSBOMPkgIngestHasSBOM) GetCollector

func (v *HasSBOMPkgIngestHasSBOM) GetCollector() string

GetCollector returns HasSBOMPkgIngestHasSBOM.Collector, and is useful for accessing the field via an interface.

func (*HasSBOMPkgIngestHasSBOM) GetDigest

func (v *HasSBOMPkgIngestHasSBOM) GetDigest() string

GetDigest returns HasSBOMPkgIngestHasSBOM.Digest, and is useful for accessing the field via an interface.

func (*HasSBOMPkgIngestHasSBOM) GetDownloadLocation

func (v *HasSBOMPkgIngestHasSBOM) GetDownloadLocation() string

GetDownloadLocation returns HasSBOMPkgIngestHasSBOM.DownloadLocation, and is useful for accessing the field via an interface.

func (*HasSBOMPkgIngestHasSBOM) GetId

func (v *HasSBOMPkgIngestHasSBOM) GetId() string

GetId returns HasSBOMPkgIngestHasSBOM.Id, and is useful for accessing the field via an interface.

func (*HasSBOMPkgIngestHasSBOM) GetOrigin

func (v *HasSBOMPkgIngestHasSBOM) GetOrigin() string

GetOrigin returns HasSBOMPkgIngestHasSBOM.Origin, and is useful for accessing the field via an interface.

func (*HasSBOMPkgIngestHasSBOM) GetSubject

GetSubject returns HasSBOMPkgIngestHasSBOM.Subject, and is useful for accessing the field via an interface.

func (*HasSBOMPkgIngestHasSBOM) GetUri

func (v *HasSBOMPkgIngestHasSBOM) GetUri() string

GetUri returns HasSBOMPkgIngestHasSBOM.Uri, and is useful for accessing the field via an interface.

func (*HasSBOMPkgIngestHasSBOM) MarshalJSON

func (v *HasSBOMPkgIngestHasSBOM) MarshalJSON() ([]byte, error)

func (*HasSBOMPkgIngestHasSBOM) UnmarshalJSON

func (v *HasSBOMPkgIngestHasSBOM) UnmarshalJSON(b []byte) error

type HasSBOMPkgResponse

type HasSBOMPkgResponse struct {
	// Certifies that a package or artifact has an SBOM.
	IngestHasSBOM HasSBOMPkgIngestHasSBOM `json:"ingestHasSBOM"`
}

HasSBOMPkgResponse is returned by HasSBOMPkg on success.

func HasSBOMPkg

func HasSBOMPkg(
	ctx context.Context,
	client graphql.Client,
	pkg PkgInputSpec,
	hasSBOM HasSBOMInputSpec,
) (*HasSBOMPkgResponse, error)

func (*HasSBOMPkgResponse) GetIngestHasSBOM

func (v *HasSBOMPkgResponse) GetIngestHasSBOM() HasSBOMPkgIngestHasSBOM

GetIngestHasSBOM returns HasSBOMPkgResponse.IngestHasSBOM, and is useful for accessing the field via an interface.

type HasSourceAtIngestHasSourceAt

type HasSourceAtIngestHasSourceAt struct {
	AllHasSourceAt `json:"-"`
}

HasSourceAtIngestHasSourceAt includes the requested fields of the GraphQL type HasSourceAt. The GraphQL type's documentation follows.

HasSourceAt records that a package's repository is a given source.

func (*HasSourceAtIngestHasSourceAt) GetCollector

func (v *HasSourceAtIngestHasSourceAt) GetCollector() string

GetCollector returns HasSourceAtIngestHasSourceAt.Collector, and is useful for accessing the field via an interface.

func (*HasSourceAtIngestHasSourceAt) GetId

GetId returns HasSourceAtIngestHasSourceAt.Id, and is useful for accessing the field via an interface.

func (*HasSourceAtIngestHasSourceAt) GetJustification

func (v *HasSourceAtIngestHasSourceAt) GetJustification() string

GetJustification returns HasSourceAtIngestHasSourceAt.Justification, and is useful for accessing the field via an interface.

func (*HasSourceAtIngestHasSourceAt) GetKnownSince

func (v *HasSourceAtIngestHasSourceAt) GetKnownSince() time.Time

GetKnownSince returns HasSourceAtIngestHasSourceAt.KnownSince, and is useful for accessing the field via an interface.

func (*HasSourceAtIngestHasSourceAt) GetOrigin

func (v *HasSourceAtIngestHasSourceAt) GetOrigin() string

GetOrigin returns HasSourceAtIngestHasSourceAt.Origin, and is useful for accessing the field via an interface.

func (*HasSourceAtIngestHasSourceAt) GetPackage

GetPackage returns HasSourceAtIngestHasSourceAt.Package, and is useful for accessing the field via an interface.

func (*HasSourceAtIngestHasSourceAt) GetSource

GetSource returns HasSourceAtIngestHasSourceAt.Source, and is useful for accessing the field via an interface.

func (*HasSourceAtIngestHasSourceAt) MarshalJSON

func (v *HasSourceAtIngestHasSourceAt) MarshalJSON() ([]byte, error)

func (*HasSourceAtIngestHasSourceAt) UnmarshalJSON

func (v *HasSourceAtIngestHasSourceAt) UnmarshalJSON(b []byte) error

type HasSourceAtInputSpec

type HasSourceAtInputSpec struct {
	KnownSince    time.Time `json:"knownSince"`
	Justification string    `json:"justification"`
	Origin        string    `json:"origin"`
	Collector     string    `json:"collector"`
}

HasSourceAtInputSpec is the same as HasSourceAt but for mutation input.

func (*HasSourceAtInputSpec) GetCollector

func (v *HasSourceAtInputSpec) GetCollector() string

GetCollector returns HasSourceAtInputSpec.Collector, and is useful for accessing the field via an interface.

func (*HasSourceAtInputSpec) GetJustification

func (v *HasSourceAtInputSpec) GetJustification() string

GetJustification returns HasSourceAtInputSpec.Justification, and is useful for accessing the field via an interface.

func (*HasSourceAtInputSpec) GetKnownSince

func (v *HasSourceAtInputSpec) GetKnownSince() time.Time

GetKnownSince returns HasSourceAtInputSpec.KnownSince, and is useful for accessing the field via an interface.

func (*HasSourceAtInputSpec) GetOrigin

func (v *HasSourceAtInputSpec) GetOrigin() string

GetOrigin returns HasSourceAtInputSpec.Origin, and is useful for accessing the field via an interface.

type HasSourceAtResponse

type HasSourceAtResponse struct {
	// Adds a certification that a package (PackageName or PackageVersion) is built from the source.
	IngestHasSourceAt HasSourceAtIngestHasSourceAt `json:"ingestHasSourceAt"`
}

HasSourceAtResponse is returned by HasSourceAt on success.

func HasSourceAt

func HasSourceAt(
	ctx context.Context,
	client graphql.Client,
	pkg PkgInputSpec,
	pkgMatchType MatchFlags,
	source SourceInputSpec,
	hasSourceAt HasSourceAtInputSpec,
) (*HasSourceAtResponse, error)

func (*HasSourceAtResponse) GetIngestHasSourceAt

func (v *HasSourceAtResponse) GetIngestHasSourceAt() HasSourceAtIngestHasSourceAt

GetIngestHasSourceAt returns HasSourceAtResponse.IngestHasSourceAt, and is useful for accessing the field via an interface.

type HashEqualIngestHashEqual

type HashEqualIngestHashEqual struct {
	AllHashEqualTree `json:"-"`
}

HashEqualIngestHashEqual includes the requested fields of the GraphQL type HashEqual. The GraphQL type's documentation follows.

HashEqual is an attestation that a set of artifacts are identical.

func (*HashEqualIngestHashEqual) GetArtifacts

GetArtifacts returns HashEqualIngestHashEqual.Artifacts, and is useful for accessing the field via an interface.

func (*HashEqualIngestHashEqual) GetCollector

func (v *HashEqualIngestHashEqual) GetCollector() string

GetCollector returns HashEqualIngestHashEqual.Collector, and is useful for accessing the field via an interface.

func (*HashEqualIngestHashEqual) GetId

func (v *HashEqualIngestHashEqual) GetId() string

GetId returns HashEqualIngestHashEqual.Id, and is useful for accessing the field via an interface.

func (*HashEqualIngestHashEqual) GetJustification

func (v *HashEqualIngestHashEqual) GetJustification() string

GetJustification returns HashEqualIngestHashEqual.Justification, and is useful for accessing the field via an interface.

func (*HashEqualIngestHashEqual) GetOrigin

func (v *HashEqualIngestHashEqual) GetOrigin() string

GetOrigin returns HashEqualIngestHashEqual.Origin, and is useful for accessing the field via an interface.

func (*HashEqualIngestHashEqual) MarshalJSON

func (v *HashEqualIngestHashEqual) MarshalJSON() ([]byte, error)

func (*HashEqualIngestHashEqual) UnmarshalJSON

func (v *HashEqualIngestHashEqual) UnmarshalJSON(b []byte) error

type HashEqualInputSpec

type HashEqualInputSpec struct {
	Justification string `json:"justification"`
	Origin        string `json:"origin"`
	Collector     string `json:"collector"`
}

HashEqualInputSpec represents the input to certify that packages are similar.

func (*HashEqualInputSpec) GetCollector

func (v *HashEqualInputSpec) GetCollector() string

GetCollector returns HashEqualInputSpec.Collector, and is useful for accessing the field via an interface.

func (*HashEqualInputSpec) GetJustification

func (v *HashEqualInputSpec) GetJustification() string

GetJustification returns HashEqualInputSpec.Justification, and is useful for accessing the field via an interface.

func (*HashEqualInputSpec) GetOrigin

func (v *HashEqualInputSpec) GetOrigin() string

GetOrigin returns HashEqualInputSpec.Origin, and is useful for accessing the field via an interface.

type HashEqualResponse

type HashEqualResponse struct {
	// Adds a certification that two artifacts are similar.
	IngestHashEqual HashEqualIngestHashEqual `json:"ingestHashEqual"`
}

HashEqualResponse is returned by HashEqual on success.

func HashEqual

func HashEqual(
	ctx context.Context,
	client graphql.Client,
	artifact ArtifactInputSpec,
	otherArtifact ArtifactInputSpec,
	hashEqual HashEqualInputSpec,
) (*HashEqualResponse, error)

func (*HashEqualResponse) GetIngestHashEqual

func (v *HashEqualResponse) GetIngestHashEqual() HashEqualIngestHashEqual

GetIngestHashEqual returns HashEqualResponse.IngestHashEqual, and is useful for accessing the field via an interface.

type IngestArtifactIngestArtifact added in v0.1.1

type IngestArtifactIngestArtifact struct {
	AllArtifactTree `json:"-"`
}

IngestArtifactIngestArtifact includes the requested fields of the GraphQL type Artifact. The GraphQL type's documentation follows.

Artifact represents an artifact identified by a checksum hash.

The checksum is split into the digest value and the algorithm used to generate it. Both fields are mandatory and canonicalized to be lowercase.

If having a checksum Go object, algorithm can be strings.ToLower(string(checksum.Algorithm)) and digest can be checksum.Value.

func (*IngestArtifactIngestArtifact) GetAlgorithm added in v0.1.1

func (v *IngestArtifactIngestArtifact) GetAlgorithm() string

GetAlgorithm returns IngestArtifactIngestArtifact.Algorithm, and is useful for accessing the field via an interface.

func (*IngestArtifactIngestArtifact) GetDigest added in v0.1.1

func (v *IngestArtifactIngestArtifact) GetDigest() string

GetDigest returns IngestArtifactIngestArtifact.Digest, and is useful for accessing the field via an interface.

func (*IngestArtifactIngestArtifact) GetId added in v0.1.1

GetId returns IngestArtifactIngestArtifact.Id, and is useful for accessing the field via an interface.

func (*IngestArtifactIngestArtifact) MarshalJSON added in v0.1.1

func (v *IngestArtifactIngestArtifact) MarshalJSON() ([]byte, error)

func (*IngestArtifactIngestArtifact) UnmarshalJSON added in v0.1.1

func (v *IngestArtifactIngestArtifact) UnmarshalJSON(b []byte) error

type IngestArtifactResponse added in v0.1.1

type IngestArtifactResponse struct {
	// Ingests a new artifact and returns it.
	IngestArtifact IngestArtifactIngestArtifact `json:"ingestArtifact"`
}

IngestArtifactResponse is returned by IngestArtifact on success.

func IngestArtifact added in v0.1.1

func IngestArtifact(
	ctx context.Context,
	client graphql.Client,
	artifact ArtifactInputSpec,
) (*IngestArtifactResponse, error)

func (*IngestArtifactResponse) GetIngestArtifact added in v0.1.1

GetIngestArtifact returns IngestArtifactResponse.IngestArtifact, and is useful for accessing the field via an interface.

type IngestArtifactsIngestArtifactsArtifact added in v0.1.1

type IngestArtifactsIngestArtifactsArtifact struct {
	AllArtifactTree `json:"-"`
}

IngestArtifactsIngestArtifactsArtifact includes the requested fields of the GraphQL type Artifact. The GraphQL type's documentation follows.

Artifact represents an artifact identified by a checksum hash.

The checksum is split into the digest value and the algorithm used to generate it. Both fields are mandatory and canonicalized to be lowercase.

If having a checksum Go object, algorithm can be strings.ToLower(string(checksum.Algorithm)) and digest can be checksum.Value.

func (*IngestArtifactsIngestArtifactsArtifact) GetAlgorithm added in v0.1.1

GetAlgorithm returns IngestArtifactsIngestArtifactsArtifact.Algorithm, and is useful for accessing the field via an interface.

func (*IngestArtifactsIngestArtifactsArtifact) GetDigest added in v0.1.1

GetDigest returns IngestArtifactsIngestArtifactsArtifact.Digest, and is useful for accessing the field via an interface.

func (*IngestArtifactsIngestArtifactsArtifact) GetId added in v0.1.1

GetId returns IngestArtifactsIngestArtifactsArtifact.Id, and is useful for accessing the field via an interface.

func (*IngestArtifactsIngestArtifactsArtifact) MarshalJSON added in v0.1.1

func (v *IngestArtifactsIngestArtifactsArtifact) MarshalJSON() ([]byte, error)

func (*IngestArtifactsIngestArtifactsArtifact) UnmarshalJSON added in v0.1.1

func (v *IngestArtifactsIngestArtifactsArtifact) UnmarshalJSON(b []byte) error

type IngestArtifactsResponse added in v0.1.1

type IngestArtifactsResponse struct {
	// Bulk ingests new artifacts and returns a list of them.
	IngestArtifacts []IngestArtifactsIngestArtifactsArtifact `json:"ingestArtifacts"`
}

IngestArtifactsResponse is returned by IngestArtifacts on success.

func IngestArtifacts added in v0.1.1

func IngestArtifacts(
	ctx context.Context,
	client graphql.Client,
	artifacts []ArtifactInputSpec,
) (*IngestArtifactsResponse, error)

func (*IngestArtifactsResponse) GetIngestArtifacts added in v0.1.1

GetIngestArtifacts returns IngestArtifactsResponse.IngestArtifacts, and is useful for accessing the field via an interface.

type IngestBuilderIngestBuilder added in v0.1.1

type IngestBuilderIngestBuilder struct {
	Uri string `json:"uri"`
}

IngestBuilderIngestBuilder includes the requested fields of the GraphQL type Builder. The GraphQL type's documentation follows.

Builder represents the builder (e.g., FRSCA or GitHub Actions).

Currently builders are identified by the uri field.

func (*IngestBuilderIngestBuilder) GetUri added in v0.1.1

func (v *IngestBuilderIngestBuilder) GetUri() string

GetUri returns IngestBuilderIngestBuilder.Uri, and is useful for accessing the field via an interface.

type IngestBuilderResponse added in v0.1.1

type IngestBuilderResponse struct {
	// Ingests a new builder and returns it.
	IngestBuilder IngestBuilderIngestBuilder `json:"ingestBuilder"`
}

IngestBuilderResponse is returned by IngestBuilder on success.

func IngestBuilder added in v0.1.1

func IngestBuilder(
	ctx context.Context,
	client graphql.Client,
	builder BuilderInputSpec,
) (*IngestBuilderResponse, error)

func (*IngestBuilderResponse) GetIngestBuilder added in v0.1.1

func (v *IngestBuilderResponse) GetIngestBuilder() IngestBuilderIngestBuilder

GetIngestBuilder returns IngestBuilderResponse.IngestBuilder, and is useful for accessing the field via an interface.

type IngestBuildersIngestBuildersBuilder added in v0.1.1

type IngestBuildersIngestBuildersBuilder struct {
	Uri string `json:"uri"`
}

IngestBuildersIngestBuildersBuilder includes the requested fields of the GraphQL type Builder. The GraphQL type's documentation follows.

Builder represents the builder (e.g., FRSCA or GitHub Actions).

Currently builders are identified by the uri field.

func (*IngestBuildersIngestBuildersBuilder) GetUri added in v0.1.1

GetUri returns IngestBuildersIngestBuildersBuilder.Uri, and is useful for accessing the field via an interface.

type IngestBuildersResponse added in v0.1.1

type IngestBuildersResponse struct {
	// Bulk ingests new builders and returns a list of them.
	IngestBuilders []IngestBuildersIngestBuildersBuilder `json:"ingestBuilders"`
}

IngestBuildersResponse is returned by IngestBuilders on success.

func IngestBuilders added in v0.1.1

func IngestBuilders(
	ctx context.Context,
	client graphql.Client,
	builders []BuilderInputSpec,
) (*IngestBuildersResponse, error)

func (*IngestBuildersResponse) GetIngestBuilders added in v0.1.1

GetIngestBuilders returns IngestBuildersResponse.IngestBuilders, and is useful for accessing the field via an interface.

type IngestCVEIngestCVE added in v0.1.1

type IngestCVEIngestCVE struct {
	AllCveTree `json:"-"`
}

IngestCVEIngestCVE includes the requested fields of the GraphQL type CVE. The GraphQL type's documentation follows.

CVE represents a vulnerability in the Common Vulnerabilities and Exposures schema.

The vulnerability identifier contains a year field, so we are extracting that to allow matching for vulnerabilities found in a given year.

The vulnerability identifier field is mandatory and canonicalized to be lowercase.

This node can be referred to by other parts of GUAC.

func (*IngestCVEIngestCVE) GetCveId added in v0.1.1

func (v *IngestCVEIngestCVE) GetCveId() string

GetCveId returns IngestCVEIngestCVE.CveId, and is useful for accessing the field via an interface.

func (*IngestCVEIngestCVE) GetId added in v0.1.1

func (v *IngestCVEIngestCVE) GetId() string

GetId returns IngestCVEIngestCVE.Id, and is useful for accessing the field via an interface.

func (*IngestCVEIngestCVE) GetYear added in v0.1.1

func (v *IngestCVEIngestCVE) GetYear() int

GetYear returns IngestCVEIngestCVE.Year, and is useful for accessing the field via an interface.

func (*IngestCVEIngestCVE) MarshalJSON added in v0.1.1

func (v *IngestCVEIngestCVE) MarshalJSON() ([]byte, error)

func (*IngestCVEIngestCVE) UnmarshalJSON added in v0.1.1

func (v *IngestCVEIngestCVE) UnmarshalJSON(b []byte) error

type IngestCVEResponse added in v0.1.1

type IngestCVEResponse struct {
	// Ingests new CVE and returns it.
	IngestCVE IngestCVEIngestCVE `json:"ingestCVE"`
}

IngestCVEResponse is returned by IngestCVE on success.

func IngestCVE added in v0.1.1

func IngestCVE(
	ctx context.Context,
	client graphql.Client,
	cve CVEInputSpec,
) (*IngestCVEResponse, error)

func (*IngestCVEResponse) GetIngestCVE added in v0.1.1

func (v *IngestCVEResponse) GetIngestCVE() IngestCVEIngestCVE

GetIngestCVE returns IngestCVEResponse.IngestCVE, and is useful for accessing the field via an interface.

type IngestCVEsIngestCVEsCVE added in v0.1.1

type IngestCVEsIngestCVEsCVE struct {
	AllCveTree `json:"-"`
}

IngestCVEsIngestCVEsCVE includes the requested fields of the GraphQL type CVE. The GraphQL type's documentation follows.

CVE represents a vulnerability in the Common Vulnerabilities and Exposures schema.

The vulnerability identifier contains a year field, so we are extracting that to allow matching for vulnerabilities found in a given year.

The vulnerability identifier field is mandatory and canonicalized to be lowercase.

This node can be referred to by other parts of GUAC.

func (*IngestCVEsIngestCVEsCVE) GetCveId added in v0.1.1

func (v *IngestCVEsIngestCVEsCVE) GetCveId() string

GetCveId returns IngestCVEsIngestCVEsCVE.CveId, and is useful for accessing the field via an interface.

func (*IngestCVEsIngestCVEsCVE) GetId added in v0.1.1

func (v *IngestCVEsIngestCVEsCVE) GetId() string

GetId returns IngestCVEsIngestCVEsCVE.Id, and is useful for accessing the field via an interface.

func (*IngestCVEsIngestCVEsCVE) GetYear added in v0.1.1

func (v *IngestCVEsIngestCVEsCVE) GetYear() int

GetYear returns IngestCVEsIngestCVEsCVE.Year, and is useful for accessing the field via an interface.

func (*IngestCVEsIngestCVEsCVE) MarshalJSON added in v0.1.1

func (v *IngestCVEsIngestCVEsCVE) MarshalJSON() ([]byte, error)

func (*IngestCVEsIngestCVEsCVE) UnmarshalJSON added in v0.1.1

func (v *IngestCVEsIngestCVEsCVE) UnmarshalJSON(b []byte) error

type IngestCVEsResponse added in v0.1.1

type IngestCVEsResponse struct {
	// Bulk ingests new CVEs and returns a list of them.
	IngestCVEs []IngestCVEsIngestCVEsCVE `json:"ingestCVEs"`
}

IngestCVEsResponse is returned by IngestCVEs on success.

func IngestCVEs added in v0.1.1

func IngestCVEs(
	ctx context.Context,
	client graphql.Client,
	cves []CVEInputSpec,
) (*IngestCVEsResponse, error)

func (*IngestCVEsResponse) GetIngestCVEs added in v0.1.1

func (v *IngestCVEsResponse) GetIngestCVEs() []IngestCVEsIngestCVEsCVE

GetIngestCVEs returns IngestCVEsResponse.IngestCVEs, and is useful for accessing the field via an interface.

type IngestGHSAIngestGHSA added in v0.1.1

type IngestGHSAIngestGHSA struct {
	AllGHSATree `json:"-"`
}

IngestGHSAIngestGHSA includes the requested fields of the GraphQL type GHSA. The GraphQL type's documentation follows.

GHSA represents GitHub security advisories.

The advisory id field is mandatory and canonicalized to be lowercase.

This node can be referred to by other parts of GUAC.

func (*IngestGHSAIngestGHSA) GetGhsaId added in v0.1.1

func (v *IngestGHSAIngestGHSA) GetGhsaId() string

GetGhsaId returns IngestGHSAIngestGHSA.GhsaId, and is useful for accessing the field via an interface.

func (*IngestGHSAIngestGHSA) GetId added in v0.1.1

func (v *IngestGHSAIngestGHSA) GetId() string

GetId returns IngestGHSAIngestGHSA.Id, and is useful for accessing the field via an interface.

func (*IngestGHSAIngestGHSA) MarshalJSON added in v0.1.1

func (v *IngestGHSAIngestGHSA) MarshalJSON() ([]byte, error)

func (*IngestGHSAIngestGHSA) UnmarshalJSON added in v0.1.1

func (v *IngestGHSAIngestGHSA) UnmarshalJSON(b []byte) error

type IngestGHSAResponse added in v0.1.1

type IngestGHSAResponse struct {
	// Ingests a new GitHub Security Advisory and returns it.
	IngestGHSA IngestGHSAIngestGHSA `json:"ingestGHSA"`
}

IngestGHSAResponse is returned by IngestGHSA on success.

func IngestGHSA added in v0.1.1

func IngestGHSA(
	ctx context.Context,
	client graphql.Client,
	ghsa GHSAInputSpec,
) (*IngestGHSAResponse, error)

func (*IngestGHSAResponse) GetIngestGHSA added in v0.1.1

func (v *IngestGHSAResponse) GetIngestGHSA() IngestGHSAIngestGHSA

GetIngestGHSA returns IngestGHSAResponse.IngestGHSA, and is useful for accessing the field via an interface.

type IngestGHSAsIngestGHSAsGHSA added in v0.1.1

type IngestGHSAsIngestGHSAsGHSA struct {
	AllGHSATree `json:"-"`
}

IngestGHSAsIngestGHSAsGHSA includes the requested fields of the GraphQL type GHSA. The GraphQL type's documentation follows.

GHSA represents GitHub security advisories.

The advisory id field is mandatory and canonicalized to be lowercase.

This node can be referred to by other parts of GUAC.

func (*IngestGHSAsIngestGHSAsGHSA) GetGhsaId added in v0.1.1

func (v *IngestGHSAsIngestGHSAsGHSA) GetGhsaId() string

GetGhsaId returns IngestGHSAsIngestGHSAsGHSA.GhsaId, and is useful for accessing the field via an interface.

func (*IngestGHSAsIngestGHSAsGHSA) GetId added in v0.1.1

GetId returns IngestGHSAsIngestGHSAsGHSA.Id, and is useful for accessing the field via an interface.

func (*IngestGHSAsIngestGHSAsGHSA) MarshalJSON added in v0.1.1

func (v *IngestGHSAsIngestGHSAsGHSA) MarshalJSON() ([]byte, error)

func (*IngestGHSAsIngestGHSAsGHSA) UnmarshalJSON added in v0.1.1

func (v *IngestGHSAsIngestGHSAsGHSA) UnmarshalJSON(b []byte) error

type IngestGHSAsResponse added in v0.1.1

type IngestGHSAsResponse struct {
	// Bulk ingests new GHSAs and returns a list of them.
	IngestGHSAs []IngestGHSAsIngestGHSAsGHSA `json:"ingestGHSAs"`
}

IngestGHSAsResponse is returned by IngestGHSAs on success.

func IngestGHSAs added in v0.1.1

func IngestGHSAs(
	ctx context.Context,
	client graphql.Client,
	ghsas []GHSAInputSpec,
) (*IngestGHSAsResponse, error)

func (*IngestGHSAsResponse) GetIngestGHSAs added in v0.1.1

func (v *IngestGHSAsResponse) GetIngestGHSAs() []IngestGHSAsIngestGHSAsGHSA

GetIngestGHSAs returns IngestGHSAsResponse.IngestGHSAs, and is useful for accessing the field via an interface.

type IngestOSVIngestOSV added in v0.1.1

type IngestOSVIngestOSV struct {
	AllOSVTree `json:"-"`
}

IngestOSVIngestOSV includes the requested fields of the GraphQL type OSV. The GraphQL type's documentation follows.

OSV represents an Open Source Vulnerability.

The osvId field is mandatory and canonicalized to be lowercase.

This maps to a vulnerability ID specific to the environment (e.g., GHSA ID or CVE ID).

This node can be referred to by other parts of GUAC.

func (*IngestOSVIngestOSV) GetId added in v0.1.1

func (v *IngestOSVIngestOSV) GetId() string

GetId returns IngestOSVIngestOSV.Id, and is useful for accessing the field via an interface.

func (*IngestOSVIngestOSV) GetOsvId added in v0.1.1

func (v *IngestOSVIngestOSV) GetOsvId() string

GetOsvId returns IngestOSVIngestOSV.OsvId, and is useful for accessing the field via an interface.

func (*IngestOSVIngestOSV) MarshalJSON added in v0.1.1

func (v *IngestOSVIngestOSV) MarshalJSON() ([]byte, error)

func (*IngestOSVIngestOSV) UnmarshalJSON added in v0.1.1

func (v *IngestOSVIngestOSV) UnmarshalJSON(b []byte) error

type IngestOSVResponse added in v0.1.1

type IngestOSVResponse struct {
	// Ingests a new OSV vulnerability and returns it.
	IngestOSV IngestOSVIngestOSV `json:"ingestOSV"`
}

IngestOSVResponse is returned by IngestOSV on success.

func IngestOSV added in v0.1.1

func IngestOSV(
	ctx context.Context,
	client graphql.Client,
	osv OSVInputSpec,
) (*IngestOSVResponse, error)

func (*IngestOSVResponse) GetIngestOSV added in v0.1.1

func (v *IngestOSVResponse) GetIngestOSV() IngestOSVIngestOSV

GetIngestOSV returns IngestOSVResponse.IngestOSV, and is useful for accessing the field via an interface.

type IngestOSVsIngestOSVsOSV added in v0.1.1

type IngestOSVsIngestOSVsOSV struct {
	AllOSVTree `json:"-"`
}

IngestOSVsIngestOSVsOSV includes the requested fields of the GraphQL type OSV. The GraphQL type's documentation follows.

OSV represents an Open Source Vulnerability.

The osvId field is mandatory and canonicalized to be lowercase.

This maps to a vulnerability ID specific to the environment (e.g., GHSA ID or CVE ID).

This node can be referred to by other parts of GUAC.

func (*IngestOSVsIngestOSVsOSV) GetId added in v0.1.1

func (v *IngestOSVsIngestOSVsOSV) GetId() string

GetId returns IngestOSVsIngestOSVsOSV.Id, and is useful for accessing the field via an interface.

func (*IngestOSVsIngestOSVsOSV) GetOsvId added in v0.1.1

func (v *IngestOSVsIngestOSVsOSV) GetOsvId() string

GetOsvId returns IngestOSVsIngestOSVsOSV.OsvId, and is useful for accessing the field via an interface.

func (*IngestOSVsIngestOSVsOSV) MarshalJSON added in v0.1.1

func (v *IngestOSVsIngestOSVsOSV) MarshalJSON() ([]byte, error)

func (*IngestOSVsIngestOSVsOSV) UnmarshalJSON added in v0.1.1

func (v *IngestOSVsIngestOSVsOSV) UnmarshalJSON(b []byte) error

type IngestOSVsResponse added in v0.1.1

type IngestOSVsResponse struct {
	// Bulk ingests new OSVs and returns a list of them.
	IngestOSVs []IngestOSVsIngestOSVsOSV `json:"ingestOSVs"`
}

IngestOSVsResponse is returned by IngestOSVs on success.

func IngestOSVs added in v0.1.1

func IngestOSVs(
	ctx context.Context,
	client graphql.Client,
	osvs []OSVInputSpec,
) (*IngestOSVsResponse, error)

func (*IngestOSVsResponse) GetIngestOSVs added in v0.1.1

func (v *IngestOSVsResponse) GetIngestOSVs() []IngestOSVsIngestOSVsOSV

GetIngestOSVs returns IngestOSVsResponse.IngestOSVs, and is useful for accessing the field via an interface.

type IngestPackageIngestPackage added in v0.1.1

type IngestPackageIngestPackage struct {
	AllPkgTree `json:"-"`
}

IngestPackageIngestPackage includes the requested fields of the GraphQL type Package. The GraphQL type's documentation follows.

Package represents the root of the package trie/tree.

We map package information to a trie, closely matching the pURL specification (https://github.com/package-url/purl-spec/blob/0dd92f26f8bb11956ffdf5e8acfcee71e8560407/README.rst), but deviating from it where GUAC heuristics allow for better representation of package information. Each path in the trie fully represents a package; we split the trie based on the pURL components.

This node matches a pkg:<type> partial pURL. The type field matches the pURL types but we might also use "guac" for the cases where the pURL representation is not complete or when we have custom rules.

Since this node is at the root of the package trie, it is named Package, not PackageType.

func (*IngestPackageIngestPackage) GetId added in v0.1.1

GetId returns IngestPackageIngestPackage.Id, and is useful for accessing the field via an interface.

func (*IngestPackageIngestPackage) GetNamespaces added in v0.1.1

GetNamespaces returns IngestPackageIngestPackage.Namespaces, and is useful for accessing the field via an interface.

func (*IngestPackageIngestPackage) GetType added in v0.1.1

func (v *IngestPackageIngestPackage) GetType() string

GetType returns IngestPackageIngestPackage.Type, and is useful for accessing the field via an interface.

func (*IngestPackageIngestPackage) MarshalJSON added in v0.1.1

func (v *IngestPackageIngestPackage) MarshalJSON() ([]byte, error)

func (*IngestPackageIngestPackage) UnmarshalJSON added in v0.1.1

func (v *IngestPackageIngestPackage) UnmarshalJSON(b []byte) error

type IngestPackageResponse added in v0.1.1

type IngestPackageResponse struct {
	// Ingests a new package and returns the corresponding package trie path.
	IngestPackage IngestPackageIngestPackage `json:"ingestPackage"`
}

IngestPackageResponse is returned by IngestPackage on success.

func IngestPackage added in v0.1.1

func IngestPackage(
	ctx context.Context,
	client graphql.Client,
	pkg PkgInputSpec,
) (*IngestPackageResponse, error)

func (*IngestPackageResponse) GetIngestPackage added in v0.1.1

func (v *IngestPackageResponse) GetIngestPackage() IngestPackageIngestPackage

GetIngestPackage returns IngestPackageResponse.IngestPackage, and is useful for accessing the field via an interface.

type IngestPackagesIngestPackagesPackage added in v0.1.1

type IngestPackagesIngestPackagesPackage struct {
	AllPkgTree `json:"-"`
}

IngestPackagesIngestPackagesPackage includes the requested fields of the GraphQL type Package. The GraphQL type's documentation follows.

Package represents the root of the package trie/tree.

We map package information to a trie, closely matching the pURL specification (https://github.com/package-url/purl-spec/blob/0dd92f26f8bb11956ffdf5e8acfcee71e8560407/README.rst), but deviating from it where GUAC heuristics allow for better representation of package information. Each path in the trie fully represents a package; we split the trie based on the pURL components.

This node matches a pkg:<type> partial pURL. The type field matches the pURL types but we might also use "guac" for the cases where the pURL representation is not complete or when we have custom rules.

Since this node is at the root of the package trie, it is named Package, not PackageType.

func (*IngestPackagesIngestPackagesPackage) GetId added in v0.1.1

GetId returns IngestPackagesIngestPackagesPackage.Id, and is useful for accessing the field via an interface.

func (*IngestPackagesIngestPackagesPackage) GetNamespaces added in v0.1.1

GetNamespaces returns IngestPackagesIngestPackagesPackage.Namespaces, and is useful for accessing the field via an interface.

func (*IngestPackagesIngestPackagesPackage) GetType added in v0.1.1

GetType returns IngestPackagesIngestPackagesPackage.Type, and is useful for accessing the field via an interface.

func (*IngestPackagesIngestPackagesPackage) MarshalJSON added in v0.1.1

func (v *IngestPackagesIngestPackagesPackage) MarshalJSON() ([]byte, error)

func (*IngestPackagesIngestPackagesPackage) UnmarshalJSON added in v0.1.1

func (v *IngestPackagesIngestPackagesPackage) UnmarshalJSON(b []byte) error

type IngestPackagesResponse added in v0.1.1

type IngestPackagesResponse struct {
	// Bulk ingests packages and returns the list of corresponding package trie path.
	IngestPackages []IngestPackagesIngestPackagesPackage `json:"ingestPackages"`
}

IngestPackagesResponse is returned by IngestPackages on success.

func IngestPackages added in v0.1.1

func IngestPackages(
	ctx context.Context,
	client graphql.Client,
	pkgs []PkgInputSpec,
) (*IngestPackagesResponse, error)

func (*IngestPackagesResponse) GetIngestPackages added in v0.1.1

GetIngestPackages returns IngestPackagesResponse.IngestPackages, and is useful for accessing the field via an interface.

type IngestSourceIngestSource added in v0.1.1

type IngestSourceIngestSource struct {
	AllSourceTree `json:"-"`
}

IngestSourceIngestSource includes the requested fields of the GraphQL type Source. The GraphQL type's documentation follows.

Source represents the root of the source trie/tree.

We map source information to a trie, as a derivative of the pURL specification: each path in the trie represents a type, namespace, name and an optional qualifier that stands for tag/commit information.

This node represents the type part of the trie path. It is used to represent the version control system that is being used.

Since this node is at the root of the source trie, it is named Source, not SourceType.

func (*IngestSourceIngestSource) GetId added in v0.1.1

func (v *IngestSourceIngestSource) GetId() string

GetId returns IngestSourceIngestSource.Id, and is useful for accessing the field via an interface.

func (*IngestSourceIngestSource) GetNamespaces added in v0.1.1

GetNamespaces returns IngestSourceIngestSource.Namespaces, and is useful for accessing the field via an interface.

func (*IngestSourceIngestSource) GetType added in v0.1.1

func (v *IngestSourceIngestSource) GetType() string

GetType returns IngestSourceIngestSource.Type, and is useful for accessing the field via an interface.

func (*IngestSourceIngestSource) MarshalJSON added in v0.1.1

func (v *IngestSourceIngestSource) MarshalJSON() ([]byte, error)

func (*IngestSourceIngestSource) UnmarshalJSON added in v0.1.1

func (v *IngestSourceIngestSource) UnmarshalJSON(b []byte) error

type IngestSourceResponse added in v0.1.1

type IngestSourceResponse struct {
	// Ingests a new source and returns the corresponding source trie path.
	IngestSource IngestSourceIngestSource `json:"ingestSource"`
}

IngestSourceResponse is returned by IngestSource on success.

func IngestSource added in v0.1.1

func IngestSource(
	ctx context.Context,
	client graphql.Client,
	source SourceInputSpec,
) (*IngestSourceResponse, error)

func (*IngestSourceResponse) GetIngestSource added in v0.1.1

func (v *IngestSourceResponse) GetIngestSource() IngestSourceIngestSource

GetIngestSource returns IngestSourceResponse.IngestSource, and is useful for accessing the field via an interface.

type IngestSourcesIngestSourcesSource added in v0.1.1

type IngestSourcesIngestSourcesSource struct {
	AllSourceTree `json:"-"`
}

IngestSourcesIngestSourcesSource includes the requested fields of the GraphQL type Source. The GraphQL type's documentation follows.

Source represents the root of the source trie/tree.

We map source information to a trie, as a derivative of the pURL specification: each path in the trie represents a type, namespace, name and an optional qualifier that stands for tag/commit information.

This node represents the type part of the trie path. It is used to represent the version control system that is being used.

Since this node is at the root of the source trie, it is named Source, not SourceType.

func (*IngestSourcesIngestSourcesSource) GetId added in v0.1.1

GetId returns IngestSourcesIngestSourcesSource.Id, and is useful for accessing the field via an interface.

func (*IngestSourcesIngestSourcesSource) GetNamespaces added in v0.1.1

GetNamespaces returns IngestSourcesIngestSourcesSource.Namespaces, and is useful for accessing the field via an interface.

func (*IngestSourcesIngestSourcesSource) GetType added in v0.1.1

GetType returns IngestSourcesIngestSourcesSource.Type, and is useful for accessing the field via an interface.

func (*IngestSourcesIngestSourcesSource) MarshalJSON added in v0.1.1

func (v *IngestSourcesIngestSourcesSource) MarshalJSON() ([]byte, error)

func (*IngestSourcesIngestSourcesSource) UnmarshalJSON added in v0.1.1

func (v *IngestSourcesIngestSourcesSource) UnmarshalJSON(b []byte) error

type IngestSourcesResponse added in v0.1.1

type IngestSourcesResponse struct {
	// Bulk ingests sources and returns the list of corresponding source trie path.
	IngestSources []IngestSourcesIngestSourcesSource `json:"ingestSources"`
}

IngestSourcesResponse is returned by IngestSources on success.

func IngestSources added in v0.1.1

func IngestSources(
	ctx context.Context,
	client graphql.Client,
	sources []SourceInputSpec,
) (*IngestSourcesResponse, error)

func (*IngestSourcesResponse) GetIngestSources added in v0.1.1

GetIngestSources returns IngestSourcesResponse.IngestSources, and is useful for accessing the field via an interface.

type IsDependenciesIngestDependenciesIsDependency added in v0.1.1

type IsDependenciesIngestDependenciesIsDependency struct {
	AllIsDependencyTree `json:"-"`
}

IsDependenciesIngestDependenciesIsDependency includes the requested fields of the GraphQL type IsDependency. The GraphQL type's documentation follows.

IsDependency is an attestation to record that a package depends on another.

func (*IsDependenciesIngestDependenciesIsDependency) GetCollector added in v0.1.1

GetCollector returns IsDependenciesIngestDependenciesIsDependency.Collector, and is useful for accessing the field via an interface.

func (*IsDependenciesIngestDependenciesIsDependency) GetDependencyType added in v0.1.1

GetDependencyType returns IsDependenciesIngestDependenciesIsDependency.DependencyType, and is useful for accessing the field via an interface.

func (*IsDependenciesIngestDependenciesIsDependency) GetDependentPackage added in v0.1.1

GetDependentPackage returns IsDependenciesIngestDependenciesIsDependency.DependentPackage, and is useful for accessing the field via an interface.

func (*IsDependenciesIngestDependenciesIsDependency) GetId added in v0.1.1

GetId returns IsDependenciesIngestDependenciesIsDependency.Id, and is useful for accessing the field via an interface.

func (*IsDependenciesIngestDependenciesIsDependency) GetJustification added in v0.1.1

GetJustification returns IsDependenciesIngestDependenciesIsDependency.Justification, and is useful for accessing the field via an interface.

func (*IsDependenciesIngestDependenciesIsDependency) GetOrigin added in v0.1.1

GetOrigin returns IsDependenciesIngestDependenciesIsDependency.Origin, and is useful for accessing the field via an interface.

func (*IsDependenciesIngestDependenciesIsDependency) GetPackage added in v0.1.1

GetPackage returns IsDependenciesIngestDependenciesIsDependency.Package, and is useful for accessing the field via an interface.

func (*IsDependenciesIngestDependenciesIsDependency) GetVersionRange added in v0.1.1

GetVersionRange returns IsDependenciesIngestDependenciesIsDependency.VersionRange, and is useful for accessing the field via an interface.

func (*IsDependenciesIngestDependenciesIsDependency) MarshalJSON added in v0.1.1

func (*IsDependenciesIngestDependenciesIsDependency) UnmarshalJSON added in v0.1.1

type IsDependenciesResponse added in v0.1.1

type IsDependenciesResponse struct {
	// Bulk adds a dependency between two packages
	IngestDependencies []IsDependenciesIngestDependenciesIsDependency `json:"ingestDependencies"`
}

IsDependenciesResponse is returned by IsDependencies on success.

func IsDependencies added in v0.1.1

func IsDependencies(
	ctx context.Context,
	client graphql.Client,
	pkgs []PkgInputSpec,
	depPkgs []PkgInputSpec,
	dependencies []IsDependencyInputSpec,
) (*IsDependenciesResponse, error)

func (*IsDependenciesResponse) GetIngestDependencies added in v0.1.1

GetIngestDependencies returns IsDependenciesResponse.IngestDependencies, and is useful for accessing the field via an interface.

type IsDependencyIngestDependencyIsDependency

type IsDependencyIngestDependencyIsDependency struct {
	AllIsDependencyTree `json:"-"`
}

IsDependencyIngestDependencyIsDependency includes the requested fields of the GraphQL type IsDependency. The GraphQL type's documentation follows.

IsDependency is an attestation to record that a package depends on another.

func (*IsDependencyIngestDependencyIsDependency) GetCollector

GetCollector returns IsDependencyIngestDependencyIsDependency.Collector, and is useful for accessing the field via an interface.

func (*IsDependencyIngestDependencyIsDependency) GetDependencyType

GetDependencyType returns IsDependencyIngestDependencyIsDependency.DependencyType, and is useful for accessing the field via an interface.

func (*IsDependencyIngestDependencyIsDependency) GetDependentPackage

GetDependentPackage returns IsDependencyIngestDependencyIsDependency.DependentPackage, and is useful for accessing the field via an interface.

func (*IsDependencyIngestDependencyIsDependency) GetId

GetId returns IsDependencyIngestDependencyIsDependency.Id, and is useful for accessing the field via an interface.

func (*IsDependencyIngestDependencyIsDependency) GetJustification

func (v *IsDependencyIngestDependencyIsDependency) GetJustification() string

GetJustification returns IsDependencyIngestDependencyIsDependency.Justification, and is useful for accessing the field via an interface.

func (*IsDependencyIngestDependencyIsDependency) GetOrigin

GetOrigin returns IsDependencyIngestDependencyIsDependency.Origin, and is useful for accessing the field via an interface.

func (*IsDependencyIngestDependencyIsDependency) GetPackage

GetPackage returns IsDependencyIngestDependencyIsDependency.Package, and is useful for accessing the field via an interface.

func (*IsDependencyIngestDependencyIsDependency) GetVersionRange

func (v *IsDependencyIngestDependencyIsDependency) GetVersionRange() string

GetVersionRange returns IsDependencyIngestDependencyIsDependency.VersionRange, and is useful for accessing the field via an interface.

func (*IsDependencyIngestDependencyIsDependency) MarshalJSON

func (v *IsDependencyIngestDependencyIsDependency) MarshalJSON() ([]byte, error)

func (*IsDependencyIngestDependencyIsDependency) UnmarshalJSON

func (v *IsDependencyIngestDependencyIsDependency) UnmarshalJSON(b []byte) error

type IsDependencyInputSpec

type IsDependencyInputSpec struct {
	VersionRange   string         `json:"versionRange"`
	DependencyType DependencyType `json:"dependencyType"`
	Justification  string         `json:"justification"`
	Origin         string         `json:"origin"`
	Collector      string         `json:"collector"`
}

IsDependencyInputSpec is the input to record a new dependency.

func (*IsDependencyInputSpec) GetCollector

func (v *IsDependencyInputSpec) GetCollector() string

GetCollector returns IsDependencyInputSpec.Collector, and is useful for accessing the field via an interface.

func (*IsDependencyInputSpec) GetDependencyType

func (v *IsDependencyInputSpec) GetDependencyType() DependencyType

GetDependencyType returns IsDependencyInputSpec.DependencyType, and is useful for accessing the field via an interface.

func (*IsDependencyInputSpec) GetJustification

func (v *IsDependencyInputSpec) GetJustification() string

GetJustification returns IsDependencyInputSpec.Justification, and is useful for accessing the field via an interface.

func (*IsDependencyInputSpec) GetOrigin

func (v *IsDependencyInputSpec) GetOrigin() string

GetOrigin returns IsDependencyInputSpec.Origin, and is useful for accessing the field via an interface.

func (*IsDependencyInputSpec) GetVersionRange

func (v *IsDependencyInputSpec) GetVersionRange() string

GetVersionRange returns IsDependencyInputSpec.VersionRange, and is useful for accessing the field via an interface.

type IsDependencyResponse

type IsDependencyResponse struct {
	// Adds a dependency between two packages
	IngestDependency IsDependencyIngestDependencyIsDependency `json:"ingestDependency"`
}

IsDependencyResponse is returned by IsDependency on success.

func IsDependency

func IsDependency(
	ctx context.Context,
	client graphql.Client,
	pkg PkgInputSpec,
	depPkg PkgInputSpec,
	dependency IsDependencyInputSpec,
) (*IsDependencyResponse, error)

func (*IsDependencyResponse) GetIngestDependency

GetIngestDependency returns IsDependencyResponse.IngestDependency, and is useful for accessing the field via an interface.

type IsOccurrenceInputSpec

type IsOccurrenceInputSpec struct {
	Justification string `json:"justification"`
	Origin        string `json:"origin"`
	Collector     string `json:"collector"`
}

IsOccurrenceInputSpec represents the input to record an artifact's origin.

func (*IsOccurrenceInputSpec) GetCollector

func (v *IsOccurrenceInputSpec) GetCollector() string

GetCollector returns IsOccurrenceInputSpec.Collector, and is useful for accessing the field via an interface.

func (*IsOccurrenceInputSpec) GetJustification

func (v *IsOccurrenceInputSpec) GetJustification() string

GetJustification returns IsOccurrenceInputSpec.Justification, and is useful for accessing the field via an interface.

func (*IsOccurrenceInputSpec) GetOrigin

func (v *IsOccurrenceInputSpec) GetOrigin() string

GetOrigin returns IsOccurrenceInputSpec.Origin, and is useful for accessing the field via an interface.

type IsOccurrencePkgIngestOccurrenceIsOccurrence

type IsOccurrencePkgIngestOccurrenceIsOccurrence struct {
	AllIsOccurrencesTree `json:"-"`
}

IsOccurrencePkgIngestOccurrenceIsOccurrence includes the requested fields of the GraphQL type IsOccurrence. The GraphQL type's documentation follows.

IsOccurrence is an attestation to link an artifact to a package or source.

Attestation must occur at the PackageVersion or at the SourceName.

func (*IsOccurrencePkgIngestOccurrenceIsOccurrence) GetArtifact

GetArtifact returns IsOccurrencePkgIngestOccurrenceIsOccurrence.Artifact, and is useful for accessing the field via an interface.

func (*IsOccurrencePkgIngestOccurrenceIsOccurrence) GetCollector

GetCollector returns IsOccurrencePkgIngestOccurrenceIsOccurrence.Collector, and is useful for accessing the field via an interface.

func (*IsOccurrencePkgIngestOccurrenceIsOccurrence) GetId

GetId returns IsOccurrencePkgIngestOccurrenceIsOccurrence.Id, and is useful for accessing the field via an interface.

func (*IsOccurrencePkgIngestOccurrenceIsOccurrence) GetJustification

GetJustification returns IsOccurrencePkgIngestOccurrenceIsOccurrence.Justification, and is useful for accessing the field via an interface.

func (*IsOccurrencePkgIngestOccurrenceIsOccurrence) GetOrigin

GetOrigin returns IsOccurrencePkgIngestOccurrenceIsOccurrence.Origin, and is useful for accessing the field via an interface.

func (*IsOccurrencePkgIngestOccurrenceIsOccurrence) GetSubject

GetSubject returns IsOccurrencePkgIngestOccurrenceIsOccurrence.Subject, and is useful for accessing the field via an interface.

func (*IsOccurrencePkgIngestOccurrenceIsOccurrence) MarshalJSON

func (*IsOccurrencePkgIngestOccurrenceIsOccurrence) UnmarshalJSON

type IsOccurrencePkgResponse

type IsOccurrencePkgResponse struct {
	// Ingest that an artifact is produced from a package or source.
	IngestOccurrence IsOccurrencePkgIngestOccurrenceIsOccurrence `json:"ingestOccurrence"`
}

IsOccurrencePkgResponse is returned by IsOccurrencePkg on success.

func IsOccurrencePkg

func IsOccurrencePkg(
	ctx context.Context,
	client graphql.Client,
	pkg PkgInputSpec,
	artifact ArtifactInputSpec,
	occurrence IsOccurrenceInputSpec,
) (*IsOccurrencePkgResponse, error)

func (*IsOccurrencePkgResponse) GetIngestOccurrence

GetIngestOccurrence returns IsOccurrencePkgResponse.IngestOccurrence, and is useful for accessing the field via an interface.

type IsOccurrenceSrcIngestOccurrenceIsOccurrence

type IsOccurrenceSrcIngestOccurrenceIsOccurrence struct {
	AllIsOccurrencesTree `json:"-"`
}

IsOccurrenceSrcIngestOccurrenceIsOccurrence includes the requested fields of the GraphQL type IsOccurrence. The GraphQL type's documentation follows.

IsOccurrence is an attestation to link an artifact to a package or source.

Attestation must occur at the PackageVersion or at the SourceName.

func (*IsOccurrenceSrcIngestOccurrenceIsOccurrence) GetArtifact

GetArtifact returns IsOccurrenceSrcIngestOccurrenceIsOccurrence.Artifact, and is useful for accessing the field via an interface.

func (*IsOccurrenceSrcIngestOccurrenceIsOccurrence) GetCollector

GetCollector returns IsOccurrenceSrcIngestOccurrenceIsOccurrence.Collector, and is useful for accessing the field via an interface.

func (*IsOccurrenceSrcIngestOccurrenceIsOccurrence) GetId

GetId returns IsOccurrenceSrcIngestOccurrenceIsOccurrence.Id, and is useful for accessing the field via an interface.

func (*IsOccurrenceSrcIngestOccurrenceIsOccurrence) GetJustification

GetJustification returns IsOccurrenceSrcIngestOccurrenceIsOccurrence.Justification, and is useful for accessing the field via an interface.

func (*IsOccurrenceSrcIngestOccurrenceIsOccurrence) GetOrigin

GetOrigin returns IsOccurrenceSrcIngestOccurrenceIsOccurrence.Origin, and is useful for accessing the field via an interface.

func (*IsOccurrenceSrcIngestOccurrenceIsOccurrence) GetSubject

GetSubject returns IsOccurrenceSrcIngestOccurrenceIsOccurrence.Subject, and is useful for accessing the field via an interface.

func (*IsOccurrenceSrcIngestOccurrenceIsOccurrence) MarshalJSON

func (*IsOccurrenceSrcIngestOccurrenceIsOccurrence) UnmarshalJSON

type IsOccurrenceSrcResponse

type IsOccurrenceSrcResponse struct {
	// Ingest that an artifact is produced from a package or source.
	IngestOccurrence IsOccurrenceSrcIngestOccurrenceIsOccurrence `json:"ingestOccurrence"`
}

IsOccurrenceSrcResponse is returned by IsOccurrenceSrc on success.

func IsOccurrenceSrc

func IsOccurrenceSrc(
	ctx context.Context,
	client graphql.Client,
	source SourceInputSpec,
	artifact ArtifactInputSpec,
	occurrence IsOccurrenceInputSpec,
) (*IsOccurrenceSrcResponse, error)

func (*IsOccurrenceSrcResponse) GetIngestOccurrence

GetIngestOccurrence returns IsOccurrenceSrcResponse.IngestOccurrence, and is useful for accessing the field via an interface.

type IsOccurrencesPkgIngestOccurrencesIsOccurrence added in v0.1.1

type IsOccurrencesPkgIngestOccurrencesIsOccurrence struct {
	AllIsOccurrencesTree `json:"-"`
}

IsOccurrencesPkgIngestOccurrencesIsOccurrence includes the requested fields of the GraphQL type IsOccurrence. The GraphQL type's documentation follows.

IsOccurrence is an attestation to link an artifact to a package or source.

Attestation must occur at the PackageVersion or at the SourceName.

func (*IsOccurrencesPkgIngestOccurrencesIsOccurrence) GetArtifact added in v0.1.1

GetArtifact returns IsOccurrencesPkgIngestOccurrencesIsOccurrence.Artifact, and is useful for accessing the field via an interface.

func (*IsOccurrencesPkgIngestOccurrencesIsOccurrence) GetCollector added in v0.1.1

GetCollector returns IsOccurrencesPkgIngestOccurrencesIsOccurrence.Collector, and is useful for accessing the field via an interface.

func (*IsOccurrencesPkgIngestOccurrencesIsOccurrence) GetId added in v0.1.1

GetId returns IsOccurrencesPkgIngestOccurrencesIsOccurrence.Id, and is useful for accessing the field via an interface.

func (*IsOccurrencesPkgIngestOccurrencesIsOccurrence) GetJustification added in v0.1.1

GetJustification returns IsOccurrencesPkgIngestOccurrencesIsOccurrence.Justification, and is useful for accessing the field via an interface.

func (*IsOccurrencesPkgIngestOccurrencesIsOccurrence) GetOrigin added in v0.1.1

GetOrigin returns IsOccurrencesPkgIngestOccurrencesIsOccurrence.Origin, and is useful for accessing the field via an interface.

func (*IsOccurrencesPkgIngestOccurrencesIsOccurrence) GetSubject added in v0.1.1

GetSubject returns IsOccurrencesPkgIngestOccurrencesIsOccurrence.Subject, and is useful for accessing the field via an interface.

func (*IsOccurrencesPkgIngestOccurrencesIsOccurrence) MarshalJSON added in v0.1.1

func (*IsOccurrencesPkgIngestOccurrencesIsOccurrence) UnmarshalJSON added in v0.1.1

type IsOccurrencesPkgResponse added in v0.1.1

type IsOccurrencesPkgResponse struct {
	// Bulk ingest that an artifact is produced from a package or source.
	IngestOccurrences []IsOccurrencesPkgIngestOccurrencesIsOccurrence `json:"ingestOccurrences"`
}

IsOccurrencesPkgResponse is returned by IsOccurrencesPkg on success.

func IsOccurrencesPkg added in v0.1.1

func IsOccurrencesPkg(
	ctx context.Context,
	client graphql.Client,
	pkgs []PkgInputSpec,
	artifacts []ArtifactInputSpec,
	occurrences []IsOccurrenceInputSpec,
) (*IsOccurrencesPkgResponse, error)

func (*IsOccurrencesPkgResponse) GetIngestOccurrences added in v0.1.1

GetIngestOccurrences returns IsOccurrencesPkgResponse.IngestOccurrences, and is useful for accessing the field via an interface.

type IsOccurrencesSrcIngestOccurrencesIsOccurrence added in v0.1.1

type IsOccurrencesSrcIngestOccurrencesIsOccurrence struct {
	AllIsOccurrencesTree `json:"-"`
}

IsOccurrencesSrcIngestOccurrencesIsOccurrence includes the requested fields of the GraphQL type IsOccurrence. The GraphQL type's documentation follows.

IsOccurrence is an attestation to link an artifact to a package or source.

Attestation must occur at the PackageVersion or at the SourceName.

func (*IsOccurrencesSrcIngestOccurrencesIsOccurrence) GetArtifact added in v0.1.1

GetArtifact returns IsOccurrencesSrcIngestOccurrencesIsOccurrence.Artifact, and is useful for accessing the field via an interface.

func (*IsOccurrencesSrcIngestOccurrencesIsOccurrence) GetCollector added in v0.1.1

GetCollector returns IsOccurrencesSrcIngestOccurrencesIsOccurrence.Collector, and is useful for accessing the field via an interface.

func (*IsOccurrencesSrcIngestOccurrencesIsOccurrence) GetId added in v0.1.1

GetId returns IsOccurrencesSrcIngestOccurrencesIsOccurrence.Id, and is useful for accessing the field via an interface.

func (*IsOccurrencesSrcIngestOccurrencesIsOccurrence) GetJustification added in v0.1.1

GetJustification returns IsOccurrencesSrcIngestOccurrencesIsOccurrence.Justification, and is useful for accessing the field via an interface.

func (*IsOccurrencesSrcIngestOccurrencesIsOccurrence) GetOrigin added in v0.1.1

GetOrigin returns IsOccurrencesSrcIngestOccurrencesIsOccurrence.Origin, and is useful for accessing the field via an interface.

func (*IsOccurrencesSrcIngestOccurrencesIsOccurrence) GetSubject added in v0.1.1

GetSubject returns IsOccurrencesSrcIngestOccurrencesIsOccurrence.Subject, and is useful for accessing the field via an interface.

func (*IsOccurrencesSrcIngestOccurrencesIsOccurrence) MarshalJSON added in v0.1.1

func (*IsOccurrencesSrcIngestOccurrencesIsOccurrence) UnmarshalJSON added in v0.1.1

type IsOccurrencesSrcResponse added in v0.1.1

type IsOccurrencesSrcResponse struct {
	// Bulk ingest that an artifact is produced from a package or source.
	IngestOccurrences []IsOccurrencesSrcIngestOccurrencesIsOccurrence `json:"ingestOccurrences"`
}

IsOccurrencesSrcResponse is returned by IsOccurrencesSrc on success.

func IsOccurrencesSrc added in v0.1.1

func IsOccurrencesSrc(
	ctx context.Context,
	client graphql.Client,
	sources []SourceInputSpec,
	artifacts []ArtifactInputSpec,
	occurrences []IsOccurrenceInputSpec,
) (*IsOccurrencesSrcResponse, error)

func (*IsOccurrencesSrcResponse) GetIngestOccurrences added in v0.1.1

GetIngestOccurrences returns IsOccurrencesSrcResponse.IngestOccurrences, and is useful for accessing the field via an interface.

type IsVulnerabilityCVEIngestIsVulnerability

type IsVulnerabilityCVEIngestIsVulnerability struct {
	AllIsVulnerability `json:"-"`
}

IsVulnerabilityCVEIngestIsVulnerability includes the requested fields of the GraphQL type IsVulnerability. The GraphQL type's documentation follows.

IsVulnerability is an attestation to link CVE/GHSA with data in OSV.

func (*IsVulnerabilityCVEIngestIsVulnerability) GetCollector

GetCollector returns IsVulnerabilityCVEIngestIsVulnerability.Collector, and is useful for accessing the field via an interface.

func (*IsVulnerabilityCVEIngestIsVulnerability) GetId

GetId returns IsVulnerabilityCVEIngestIsVulnerability.Id, and is useful for accessing the field via an interface.

func (*IsVulnerabilityCVEIngestIsVulnerability) GetJustification

func (v *IsVulnerabilityCVEIngestIsVulnerability) GetJustification() string

GetJustification returns IsVulnerabilityCVEIngestIsVulnerability.Justification, and is useful for accessing the field via an interface.

func (*IsVulnerabilityCVEIngestIsVulnerability) GetOrigin

GetOrigin returns IsVulnerabilityCVEIngestIsVulnerability.Origin, and is useful for accessing the field via an interface.

func (*IsVulnerabilityCVEIngestIsVulnerability) GetOsv

GetOsv returns IsVulnerabilityCVEIngestIsVulnerability.Osv, and is useful for accessing the field via an interface.

func (*IsVulnerabilityCVEIngestIsVulnerability) GetVulnerability

GetVulnerability returns IsVulnerabilityCVEIngestIsVulnerability.Vulnerability, and is useful for accessing the field via an interface.

func (*IsVulnerabilityCVEIngestIsVulnerability) MarshalJSON

func (v *IsVulnerabilityCVEIngestIsVulnerability) MarshalJSON() ([]byte, error)

func (*IsVulnerabilityCVEIngestIsVulnerability) UnmarshalJSON

func (v *IsVulnerabilityCVEIngestIsVulnerability) UnmarshalJSON(b []byte) error

type IsVulnerabilityCVEResponse

type IsVulnerabilityCVEResponse struct {
	// Ingest a mapping between an OSV entry and a CVE/GHSA vulnerability.
	IngestIsVulnerability IsVulnerabilityCVEIngestIsVulnerability `json:"ingestIsVulnerability"`
}

IsVulnerabilityCVEResponse is returned by IsVulnerabilityCVE on success.

func IsVulnerabilityCVE

func IsVulnerabilityCVE(
	ctx context.Context,
	client graphql.Client,
	osv OSVInputSpec,
	cve CVEInputSpec,
	isVulnerability IsVulnerabilityInputSpec,
) (*IsVulnerabilityCVEResponse, error)

func (*IsVulnerabilityCVEResponse) GetIngestIsVulnerability

GetIngestIsVulnerability returns IsVulnerabilityCVEResponse.IngestIsVulnerability, and is useful for accessing the field via an interface.

type IsVulnerabilityGHSAIngestIsVulnerability

type IsVulnerabilityGHSAIngestIsVulnerability struct {
	AllIsVulnerability `json:"-"`
}

IsVulnerabilityGHSAIngestIsVulnerability includes the requested fields of the GraphQL type IsVulnerability. The GraphQL type's documentation follows.

IsVulnerability is an attestation to link CVE/GHSA with data in OSV.

func (*IsVulnerabilityGHSAIngestIsVulnerability) GetCollector

GetCollector returns IsVulnerabilityGHSAIngestIsVulnerability.Collector, and is useful for accessing the field via an interface.

func (*IsVulnerabilityGHSAIngestIsVulnerability) GetId

GetId returns IsVulnerabilityGHSAIngestIsVulnerability.Id, and is useful for accessing the field via an interface.

func (*IsVulnerabilityGHSAIngestIsVulnerability) GetJustification

func (v *IsVulnerabilityGHSAIngestIsVulnerability) GetJustification() string

GetJustification returns IsVulnerabilityGHSAIngestIsVulnerability.Justification, and is useful for accessing the field via an interface.

func (*IsVulnerabilityGHSAIngestIsVulnerability) GetOrigin

GetOrigin returns IsVulnerabilityGHSAIngestIsVulnerability.Origin, and is useful for accessing the field via an interface.

func (*IsVulnerabilityGHSAIngestIsVulnerability) GetOsv

GetOsv returns IsVulnerabilityGHSAIngestIsVulnerability.Osv, and is useful for accessing the field via an interface.

func (*IsVulnerabilityGHSAIngestIsVulnerability) GetVulnerability

GetVulnerability returns IsVulnerabilityGHSAIngestIsVulnerability.Vulnerability, and is useful for accessing the field via an interface.

func (*IsVulnerabilityGHSAIngestIsVulnerability) MarshalJSON

func (v *IsVulnerabilityGHSAIngestIsVulnerability) MarshalJSON() ([]byte, error)

func (*IsVulnerabilityGHSAIngestIsVulnerability) UnmarshalJSON

func (v *IsVulnerabilityGHSAIngestIsVulnerability) UnmarshalJSON(b []byte) error

type IsVulnerabilityGHSAResponse

type IsVulnerabilityGHSAResponse struct {
	// Ingest a mapping between an OSV entry and a CVE/GHSA vulnerability.
	IngestIsVulnerability IsVulnerabilityGHSAIngestIsVulnerability `json:"ingestIsVulnerability"`
}

IsVulnerabilityGHSAResponse is returned by IsVulnerabilityGHSA on success.

func IsVulnerabilityGHSA

func IsVulnerabilityGHSA(
	ctx context.Context,
	client graphql.Client,
	osv OSVInputSpec,
	ghsa GHSAInputSpec,
	isVulnerability IsVulnerabilityInputSpec,
) (*IsVulnerabilityGHSAResponse, error)

func (*IsVulnerabilityGHSAResponse) GetIngestIsVulnerability

GetIngestIsVulnerability returns IsVulnerabilityGHSAResponse.IngestIsVulnerability, and is useful for accessing the field via an interface.

type IsVulnerabilityInputSpec

type IsVulnerabilityInputSpec struct {
	Justification string `json:"justification"`
	Origin        string `json:"origin"`
	Collector     string `json:"collector"`
}

IsVulnerabilityInputSpec represents the input to link CVE/GHSA with OSV data.

func (*IsVulnerabilityInputSpec) GetCollector

func (v *IsVulnerabilityInputSpec) GetCollector() string

GetCollector returns IsVulnerabilityInputSpec.Collector, and is useful for accessing the field via an interface.

func (*IsVulnerabilityInputSpec) GetJustification

func (v *IsVulnerabilityInputSpec) GetJustification() string

GetJustification returns IsVulnerabilityInputSpec.Justification, and is useful for accessing the field via an interface.

func (*IsVulnerabilityInputSpec) GetOrigin

func (v *IsVulnerabilityInputSpec) GetOrigin() string

GetOrigin returns IsVulnerabilityInputSpec.Origin, and is useful for accessing the field via an interface.

type MatchFlags

type MatchFlags struct {
	Pkg PkgMatchType `json:"pkg"`
}

MatchFlags is used to input the PkgMatchType enum.

func (*MatchFlags) GetPkg

func (v *MatchFlags) GetPkg() PkgMatchType

GetPkg returns MatchFlags.Pkg, and is useful for accessing the field via an interface.

type NeighborsNeighborsArtifact

type NeighborsNeighborsArtifact struct {
	Typename        *string `json:"__typename"`
	AllArtifactTree `json:"-"`
}

NeighborsNeighborsArtifact includes the requested fields of the GraphQL type Artifact. The GraphQL type's documentation follows.

Artifact represents an artifact identified by a checksum hash.

The checksum is split into the digest value and the algorithm used to generate it. Both fields are mandatory and canonicalized to be lowercase.

If having a checksum Go object, algorithm can be strings.ToLower(string(checksum.Algorithm)) and digest can be checksum.Value.

func (*NeighborsNeighborsArtifact) GetAlgorithm

func (v *NeighborsNeighborsArtifact) GetAlgorithm() string

GetAlgorithm returns NeighborsNeighborsArtifact.Algorithm, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsArtifact) GetDigest

func (v *NeighborsNeighborsArtifact) GetDigest() string

GetDigest returns NeighborsNeighborsArtifact.Digest, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsArtifact) GetId

GetId returns NeighborsNeighborsArtifact.Id, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsArtifact) GetTypename

func (v *NeighborsNeighborsArtifact) GetTypename() *string

GetTypename returns NeighborsNeighborsArtifact.Typename, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsArtifact) MarshalJSON

func (v *NeighborsNeighborsArtifact) MarshalJSON() ([]byte, error)

func (*NeighborsNeighborsArtifact) UnmarshalJSON

func (v *NeighborsNeighborsArtifact) UnmarshalJSON(b []byte) error

type NeighborsNeighborsBuilder

type NeighborsNeighborsBuilder struct {
	Typename       *string `json:"__typename"`
	AllBuilderTree `json:"-"`
}

NeighborsNeighborsBuilder includes the requested fields of the GraphQL type Builder. The GraphQL type's documentation follows.

Builder represents the builder (e.g., FRSCA or GitHub Actions).

Currently builders are identified by the uri field.

func (*NeighborsNeighborsBuilder) GetId

func (v *NeighborsNeighborsBuilder) GetId() string

GetId returns NeighborsNeighborsBuilder.Id, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsBuilder) GetTypename

func (v *NeighborsNeighborsBuilder) GetTypename() *string

GetTypename returns NeighborsNeighborsBuilder.Typename, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsBuilder) GetUri

func (v *NeighborsNeighborsBuilder) GetUri() string

GetUri returns NeighborsNeighborsBuilder.Uri, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsBuilder) MarshalJSON

func (v *NeighborsNeighborsBuilder) MarshalJSON() ([]byte, error)

func (*NeighborsNeighborsBuilder) UnmarshalJSON

func (v *NeighborsNeighborsBuilder) UnmarshalJSON(b []byte) error

type NeighborsNeighborsCVE

type NeighborsNeighborsCVE struct {
	Typename   *string `json:"__typename"`
	AllCveTree `json:"-"`
}

NeighborsNeighborsCVE includes the requested fields of the GraphQL type CVE. The GraphQL type's documentation follows.

CVE represents a vulnerability in the Common Vulnerabilities and Exposures schema.

The vulnerability identifier contains a year field, so we are extracting that to allow matching for vulnerabilities found in a given year.

The vulnerability identifier field is mandatory and canonicalized to be lowercase.

This node can be referred to by other parts of GUAC.

func (*NeighborsNeighborsCVE) GetCveId

func (v *NeighborsNeighborsCVE) GetCveId() string

GetCveId returns NeighborsNeighborsCVE.CveId, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsCVE) GetId

func (v *NeighborsNeighborsCVE) GetId() string

GetId returns NeighborsNeighborsCVE.Id, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsCVE) GetTypename

func (v *NeighborsNeighborsCVE) GetTypename() *string

GetTypename returns NeighborsNeighborsCVE.Typename, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsCVE) GetYear

func (v *NeighborsNeighborsCVE) GetYear() int

GetYear returns NeighborsNeighborsCVE.Year, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsCVE) MarshalJSON

func (v *NeighborsNeighborsCVE) MarshalJSON() ([]byte, error)

func (*NeighborsNeighborsCVE) UnmarshalJSON

func (v *NeighborsNeighborsCVE) UnmarshalJSON(b []byte) error

type NeighborsNeighborsCertifyBad

type NeighborsNeighborsCertifyBad struct {
	Typename      *string `json:"__typename"`
	AllCertifyBad `json:"-"`
}

NeighborsNeighborsCertifyBad includes the requested fields of the GraphQL type CertifyBad. The GraphQL type's documentation follows.

CertifyBad is an attestation that a package, source, or artifact is considered bad.

All evidence trees record a justification for the property they represent as well as the document that contains the attestation (origin) and the collector that collected the document (collector).

The certification applies to a subject which is a package, source, or artifact. If the attestation targets a package, it must target a PackageName or a PackageVersion. If the attestation targets a source, it must target a SourceName.

func (*NeighborsNeighborsCertifyBad) GetCollector

func (v *NeighborsNeighborsCertifyBad) GetCollector() string

GetCollector returns NeighborsNeighborsCertifyBad.Collector, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsCertifyBad) GetId

GetId returns NeighborsNeighborsCertifyBad.Id, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsCertifyBad) GetJustification

func (v *NeighborsNeighborsCertifyBad) GetJustification() string

GetJustification returns NeighborsNeighborsCertifyBad.Justification, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsCertifyBad) GetOrigin

func (v *NeighborsNeighborsCertifyBad) GetOrigin() string

GetOrigin returns NeighborsNeighborsCertifyBad.Origin, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsCertifyBad) GetSubject

GetSubject returns NeighborsNeighborsCertifyBad.Subject, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsCertifyBad) GetTypename

func (v *NeighborsNeighborsCertifyBad) GetTypename() *string

GetTypename returns NeighborsNeighborsCertifyBad.Typename, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsCertifyBad) MarshalJSON

func (v *NeighborsNeighborsCertifyBad) MarshalJSON() ([]byte, error)

func (*NeighborsNeighborsCertifyBad) UnmarshalJSON

func (v *NeighborsNeighborsCertifyBad) UnmarshalJSON(b []byte) error

type NeighborsNeighborsCertifyGood

type NeighborsNeighborsCertifyGood struct {
	Typename       *string `json:"__typename"`
	AllCertifyGood `json:"-"`
}

NeighborsNeighborsCertifyGood includes the requested fields of the GraphQL type CertifyGood. The GraphQL type's documentation follows.

CertifyGood is an attestation that a package, source, or artifact is considered good.

All evidence trees record a justification for the property they represent as well as the document that contains the attestation (origin) and the collector that collected the document (collector).

The certification applies to a subject which is a package, source, or artifact. If the attestation targets a package, it must target a PackageName or a PackageVersion. If the attestation targets a source, it must target a SourceName.

func (*NeighborsNeighborsCertifyGood) GetCollector

func (v *NeighborsNeighborsCertifyGood) GetCollector() string

GetCollector returns NeighborsNeighborsCertifyGood.Collector, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsCertifyGood) GetId

GetId returns NeighborsNeighborsCertifyGood.Id, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsCertifyGood) GetJustification

func (v *NeighborsNeighborsCertifyGood) GetJustification() string

GetJustification returns NeighborsNeighborsCertifyGood.Justification, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsCertifyGood) GetOrigin

func (v *NeighborsNeighborsCertifyGood) GetOrigin() string

GetOrigin returns NeighborsNeighborsCertifyGood.Origin, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsCertifyGood) GetSubject

GetSubject returns NeighborsNeighborsCertifyGood.Subject, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsCertifyGood) GetTypename

func (v *NeighborsNeighborsCertifyGood) GetTypename() *string

GetTypename returns NeighborsNeighborsCertifyGood.Typename, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsCertifyGood) MarshalJSON

func (v *NeighborsNeighborsCertifyGood) MarshalJSON() ([]byte, error)

func (*NeighborsNeighborsCertifyGood) UnmarshalJSON

func (v *NeighborsNeighborsCertifyGood) UnmarshalJSON(b []byte) error

type NeighborsNeighborsCertifyScorecard

type NeighborsNeighborsCertifyScorecard struct {
	Typename            *string `json:"__typename"`
	AllCertifyScorecard `json:"-"`
}

NeighborsNeighborsCertifyScorecard includes the requested fields of the GraphQL type CertifyScorecard. The GraphQL type's documentation follows.

CertifyScorecard is an attestation to attach a Scorecard analysis to a particular source repository.

func (*NeighborsNeighborsCertifyScorecard) GetId

GetId returns NeighborsNeighborsCertifyScorecard.Id, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsCertifyScorecard) GetScorecard

GetScorecard returns NeighborsNeighborsCertifyScorecard.Scorecard, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsCertifyScorecard) GetSource

GetSource returns NeighborsNeighborsCertifyScorecard.Source, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsCertifyScorecard) GetTypename

func (v *NeighborsNeighborsCertifyScorecard) GetTypename() *string

GetTypename returns NeighborsNeighborsCertifyScorecard.Typename, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsCertifyScorecard) MarshalJSON

func (v *NeighborsNeighborsCertifyScorecard) MarshalJSON() ([]byte, error)

func (*NeighborsNeighborsCertifyScorecard) UnmarshalJSON

func (v *NeighborsNeighborsCertifyScorecard) UnmarshalJSON(b []byte) error

type NeighborsNeighborsCertifyVEXStatement

type NeighborsNeighborsCertifyVEXStatement struct {
	Typename               *string `json:"__typename"`
	AllCertifyVEXStatement `json:"-"`
}

NeighborsNeighborsCertifyVEXStatement includes the requested fields of the GraphQL type CertifyVEXStatement. The GraphQL type's documentation follows.

CertifyVEXStatement is an attestation to attach VEX statements to a package or artifact to clarify the impact of a specific vulnerability (CVE, GHSA or OSV).

func (*NeighborsNeighborsCertifyVEXStatement) GetCollector

GetCollector returns NeighborsNeighborsCertifyVEXStatement.Collector, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsCertifyVEXStatement) GetId

GetId returns NeighborsNeighborsCertifyVEXStatement.Id, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsCertifyVEXStatement) GetKnownSince

func (v *NeighborsNeighborsCertifyVEXStatement) GetKnownSince() time.Time

GetKnownSince returns NeighborsNeighborsCertifyVEXStatement.KnownSince, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsCertifyVEXStatement) GetOrigin

GetOrigin returns NeighborsNeighborsCertifyVEXStatement.Origin, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsCertifyVEXStatement) GetStatement

GetStatement returns NeighborsNeighborsCertifyVEXStatement.Statement, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsCertifyVEXStatement) GetStatus

GetStatus returns NeighborsNeighborsCertifyVEXStatement.Status, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsCertifyVEXStatement) GetStatusNotes

func (v *NeighborsNeighborsCertifyVEXStatement) GetStatusNotes() string

GetStatusNotes returns NeighborsNeighborsCertifyVEXStatement.StatusNotes, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsCertifyVEXStatement) GetSubject

GetSubject returns NeighborsNeighborsCertifyVEXStatement.Subject, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsCertifyVEXStatement) GetTypename

GetTypename returns NeighborsNeighborsCertifyVEXStatement.Typename, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsCertifyVEXStatement) GetVexJustification

GetVexJustification returns NeighborsNeighborsCertifyVEXStatement.VexJustification, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsCertifyVEXStatement) GetVulnerability

GetVulnerability returns NeighborsNeighborsCertifyVEXStatement.Vulnerability, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsCertifyVEXStatement) MarshalJSON

func (v *NeighborsNeighborsCertifyVEXStatement) MarshalJSON() ([]byte, error)

func (*NeighborsNeighborsCertifyVEXStatement) UnmarshalJSON

func (v *NeighborsNeighborsCertifyVEXStatement) UnmarshalJSON(b []byte) error

type NeighborsNeighborsCertifyVuln

type NeighborsNeighborsCertifyVuln struct {
	Typename       *string `json:"__typename"`
	AllCertifyVuln `json:"-"`
}

NeighborsNeighborsCertifyVuln includes the requested fields of the GraphQL type CertifyVuln. The GraphQL type's documentation follows.

CertifyVuln is an attestation to attach vulnerability information to a package.

This information is obtained via a scanner. If there is no vulnerability detected (no OSV, CVE, or GHSA), we attach the special NoVuln node.

func (*NeighborsNeighborsCertifyVuln) GetId

GetId returns NeighborsNeighborsCertifyVuln.Id, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsCertifyVuln) GetMetadata

GetMetadata returns NeighborsNeighborsCertifyVuln.Metadata, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsCertifyVuln) GetPackage

GetPackage returns NeighborsNeighborsCertifyVuln.Package, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsCertifyVuln) GetTypename

func (v *NeighborsNeighborsCertifyVuln) GetTypename() *string

GetTypename returns NeighborsNeighborsCertifyVuln.Typename, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsCertifyVuln) GetVulnerability

GetVulnerability returns NeighborsNeighborsCertifyVuln.Vulnerability, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsCertifyVuln) MarshalJSON

func (v *NeighborsNeighborsCertifyVuln) MarshalJSON() ([]byte, error)

func (*NeighborsNeighborsCertifyVuln) UnmarshalJSON

func (v *NeighborsNeighborsCertifyVuln) UnmarshalJSON(b []byte) error

type NeighborsNeighborsGHSA

type NeighborsNeighborsGHSA struct {
	Typename    *string `json:"__typename"`
	AllGHSATree `json:"-"`
}

NeighborsNeighborsGHSA includes the requested fields of the GraphQL type GHSA. The GraphQL type's documentation follows.

GHSA represents GitHub security advisories.

The advisory id field is mandatory and canonicalized to be lowercase.

This node can be referred to by other parts of GUAC.

func (*NeighborsNeighborsGHSA) GetGhsaId

func (v *NeighborsNeighborsGHSA) GetGhsaId() string

GetGhsaId returns NeighborsNeighborsGHSA.GhsaId, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsGHSA) GetId

func (v *NeighborsNeighborsGHSA) GetId() string

GetId returns NeighborsNeighborsGHSA.Id, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsGHSA) GetTypename

func (v *NeighborsNeighborsGHSA) GetTypename() *string

GetTypename returns NeighborsNeighborsGHSA.Typename, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsGHSA) MarshalJSON

func (v *NeighborsNeighborsGHSA) MarshalJSON() ([]byte, error)

func (*NeighborsNeighborsGHSA) UnmarshalJSON

func (v *NeighborsNeighborsGHSA) UnmarshalJSON(b []byte) error

type NeighborsNeighborsHasMetadata added in v0.1.1

type NeighborsNeighborsHasMetadata struct {
	Typename *string `json:"__typename"`
}

NeighborsNeighborsHasMetadata includes the requested fields of the GraphQL type HasMetadata. The GraphQL type's documentation follows.

HasMetadata is an attestation that a package, source, or artifact has a certain attested property (key) with value (value). For example, a source may have metadata "SourceRepo2FAEnabled=true".

The intent of this evidence tree predicate is to allow extensibility of metadata expressible within the GUAC ontology. Metadata that is commonly used will then be promoted to a predicate on its own.

Justification indicates how the metadata was determined.

The metadata applies to a subject which is a package, source, or artifact. If the attestation targets a package, it must target a PackageName or a PackageVersion. If the attestation targets a source, it must target a SourceName.

func (*NeighborsNeighborsHasMetadata) GetTypename added in v0.1.1

func (v *NeighborsNeighborsHasMetadata) GetTypename() *string

GetTypename returns NeighborsNeighborsHasMetadata.Typename, and is useful for accessing the field via an interface.

type NeighborsNeighborsHasSBOM

type NeighborsNeighborsHasSBOM struct {
	Typename       *string `json:"__typename"`
	AllHasSBOMTree `json:"-"`
}

NeighborsNeighborsHasSBOM includes the requested fields of the GraphQL type HasSBOM.

func (*NeighborsNeighborsHasSBOM) GetAlgorithm

func (v *NeighborsNeighborsHasSBOM) GetAlgorithm() string

GetAlgorithm returns NeighborsNeighborsHasSBOM.Algorithm, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsHasSBOM) GetCollector

func (v *NeighborsNeighborsHasSBOM) GetCollector() string

GetCollector returns NeighborsNeighborsHasSBOM.Collector, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsHasSBOM) GetDigest

func (v *NeighborsNeighborsHasSBOM) GetDigest() string

GetDigest returns NeighborsNeighborsHasSBOM.Digest, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsHasSBOM) GetDownloadLocation

func (v *NeighborsNeighborsHasSBOM) GetDownloadLocation() string

GetDownloadLocation returns NeighborsNeighborsHasSBOM.DownloadLocation, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsHasSBOM) GetId

func (v *NeighborsNeighborsHasSBOM) GetId() string

GetId returns NeighborsNeighborsHasSBOM.Id, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsHasSBOM) GetOrigin

func (v *NeighborsNeighborsHasSBOM) GetOrigin() string

GetOrigin returns NeighborsNeighborsHasSBOM.Origin, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsHasSBOM) GetSubject

GetSubject returns NeighborsNeighborsHasSBOM.Subject, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsHasSBOM) GetTypename

func (v *NeighborsNeighborsHasSBOM) GetTypename() *string

GetTypename returns NeighborsNeighborsHasSBOM.Typename, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsHasSBOM) GetUri

func (v *NeighborsNeighborsHasSBOM) GetUri() string

GetUri returns NeighborsNeighborsHasSBOM.Uri, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsHasSBOM) MarshalJSON

func (v *NeighborsNeighborsHasSBOM) MarshalJSON() ([]byte, error)

func (*NeighborsNeighborsHasSBOM) UnmarshalJSON

func (v *NeighborsNeighborsHasSBOM) UnmarshalJSON(b []byte) error

type NeighborsNeighborsHasSLSA

type NeighborsNeighborsHasSLSA struct {
	Typename    *string `json:"__typename"`
	AllSLSATree `json:"-"`
}

NeighborsNeighborsHasSLSA includes the requested fields of the GraphQL type HasSLSA. The GraphQL type's documentation follows.

HasSLSA records that a subject node has a SLSA attestation.

func (*NeighborsNeighborsHasSLSA) GetId

func (v *NeighborsNeighborsHasSLSA) GetId() string

GetId returns NeighborsNeighborsHasSLSA.Id, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsHasSLSA) GetSlsa

GetSlsa returns NeighborsNeighborsHasSLSA.Slsa, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsHasSLSA) GetSubject

GetSubject returns NeighborsNeighborsHasSLSA.Subject, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsHasSLSA) GetTypename

func (v *NeighborsNeighborsHasSLSA) GetTypename() *string

GetTypename returns NeighborsNeighborsHasSLSA.Typename, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsHasSLSA) MarshalJSON

func (v *NeighborsNeighborsHasSLSA) MarshalJSON() ([]byte, error)

func (*NeighborsNeighborsHasSLSA) UnmarshalJSON

func (v *NeighborsNeighborsHasSLSA) UnmarshalJSON(b []byte) error

type NeighborsNeighborsHasSourceAt

type NeighborsNeighborsHasSourceAt struct {
	Typename       *string `json:"__typename"`
	AllHasSourceAt `json:"-"`
}

NeighborsNeighborsHasSourceAt includes the requested fields of the GraphQL type HasSourceAt. The GraphQL type's documentation follows.

HasSourceAt records that a package's repository is a given source.

func (*NeighborsNeighborsHasSourceAt) GetCollector

func (v *NeighborsNeighborsHasSourceAt) GetCollector() string

GetCollector returns NeighborsNeighborsHasSourceAt.Collector, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsHasSourceAt) GetId

GetId returns NeighborsNeighborsHasSourceAt.Id, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsHasSourceAt) GetJustification

func (v *NeighborsNeighborsHasSourceAt) GetJustification() string

GetJustification returns NeighborsNeighborsHasSourceAt.Justification, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsHasSourceAt) GetKnownSince

func (v *NeighborsNeighborsHasSourceAt) GetKnownSince() time.Time

GetKnownSince returns NeighborsNeighborsHasSourceAt.KnownSince, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsHasSourceAt) GetOrigin

func (v *NeighborsNeighborsHasSourceAt) GetOrigin() string

GetOrigin returns NeighborsNeighborsHasSourceAt.Origin, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsHasSourceAt) GetPackage

GetPackage returns NeighborsNeighborsHasSourceAt.Package, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsHasSourceAt) GetSource

GetSource returns NeighborsNeighborsHasSourceAt.Source, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsHasSourceAt) GetTypename

func (v *NeighborsNeighborsHasSourceAt) GetTypename() *string

GetTypename returns NeighborsNeighborsHasSourceAt.Typename, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsHasSourceAt) MarshalJSON

func (v *NeighborsNeighborsHasSourceAt) MarshalJSON() ([]byte, error)

func (*NeighborsNeighborsHasSourceAt) UnmarshalJSON

func (v *NeighborsNeighborsHasSourceAt) UnmarshalJSON(b []byte) error

type NeighborsNeighborsHashEqual

type NeighborsNeighborsHashEqual struct {
	Typename         *string `json:"__typename"`
	AllHashEqualTree `json:"-"`
}

NeighborsNeighborsHashEqual includes the requested fields of the GraphQL type HashEqual. The GraphQL type's documentation follows.

HashEqual is an attestation that a set of artifacts are identical.

func (*NeighborsNeighborsHashEqual) GetArtifacts

GetArtifacts returns NeighborsNeighborsHashEqual.Artifacts, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsHashEqual) GetCollector

func (v *NeighborsNeighborsHashEqual) GetCollector() string

GetCollector returns NeighborsNeighborsHashEqual.Collector, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsHashEqual) GetId

GetId returns NeighborsNeighborsHashEqual.Id, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsHashEqual) GetJustification

func (v *NeighborsNeighborsHashEqual) GetJustification() string

GetJustification returns NeighborsNeighborsHashEqual.Justification, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsHashEqual) GetOrigin

func (v *NeighborsNeighborsHashEqual) GetOrigin() string

GetOrigin returns NeighborsNeighborsHashEqual.Origin, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsHashEqual) GetTypename

func (v *NeighborsNeighborsHashEqual) GetTypename() *string

GetTypename returns NeighborsNeighborsHashEqual.Typename, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsHashEqual) MarshalJSON

func (v *NeighborsNeighborsHashEqual) MarshalJSON() ([]byte, error)

func (*NeighborsNeighborsHashEqual) UnmarshalJSON

func (v *NeighborsNeighborsHashEqual) UnmarshalJSON(b []byte) error

type NeighborsNeighborsIsDependency

type NeighborsNeighborsIsDependency struct {
	Typename            *string `json:"__typename"`
	AllIsDependencyTree `json:"-"`
}

NeighborsNeighborsIsDependency includes the requested fields of the GraphQL type IsDependency. The GraphQL type's documentation follows.

IsDependency is an attestation to record that a package depends on another.

func (*NeighborsNeighborsIsDependency) GetCollector

func (v *NeighborsNeighborsIsDependency) GetCollector() string

GetCollector returns NeighborsNeighborsIsDependency.Collector, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsIsDependency) GetDependencyType

func (v *NeighborsNeighborsIsDependency) GetDependencyType() DependencyType

GetDependencyType returns NeighborsNeighborsIsDependency.DependencyType, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsIsDependency) GetDependentPackage

GetDependentPackage returns NeighborsNeighborsIsDependency.DependentPackage, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsIsDependency) GetId

GetId returns NeighborsNeighborsIsDependency.Id, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsIsDependency) GetJustification

func (v *NeighborsNeighborsIsDependency) GetJustification() string

GetJustification returns NeighborsNeighborsIsDependency.Justification, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsIsDependency) GetOrigin

func (v *NeighborsNeighborsIsDependency) GetOrigin() string

GetOrigin returns NeighborsNeighborsIsDependency.Origin, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsIsDependency) GetPackage

GetPackage returns NeighborsNeighborsIsDependency.Package, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsIsDependency) GetTypename

func (v *NeighborsNeighborsIsDependency) GetTypename() *string

GetTypename returns NeighborsNeighborsIsDependency.Typename, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsIsDependency) GetVersionRange

func (v *NeighborsNeighborsIsDependency) GetVersionRange() string

GetVersionRange returns NeighborsNeighborsIsDependency.VersionRange, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsIsDependency) MarshalJSON

func (v *NeighborsNeighborsIsDependency) MarshalJSON() ([]byte, error)

func (*NeighborsNeighborsIsDependency) UnmarshalJSON

func (v *NeighborsNeighborsIsDependency) UnmarshalJSON(b []byte) error

type NeighborsNeighborsIsOccurrence

type NeighborsNeighborsIsOccurrence struct {
	Typename             *string `json:"__typename"`
	AllIsOccurrencesTree `json:"-"`
}

NeighborsNeighborsIsOccurrence includes the requested fields of the GraphQL type IsOccurrence. The GraphQL type's documentation follows.

IsOccurrence is an attestation to link an artifact to a package or source.

Attestation must occur at the PackageVersion or at the SourceName.

func (*NeighborsNeighborsIsOccurrence) GetArtifact

GetArtifact returns NeighborsNeighborsIsOccurrence.Artifact, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsIsOccurrence) GetCollector

func (v *NeighborsNeighborsIsOccurrence) GetCollector() string

GetCollector returns NeighborsNeighborsIsOccurrence.Collector, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsIsOccurrence) GetId

GetId returns NeighborsNeighborsIsOccurrence.Id, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsIsOccurrence) GetJustification

func (v *NeighborsNeighborsIsOccurrence) GetJustification() string

GetJustification returns NeighborsNeighborsIsOccurrence.Justification, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsIsOccurrence) GetOrigin

func (v *NeighborsNeighborsIsOccurrence) GetOrigin() string

GetOrigin returns NeighborsNeighborsIsOccurrence.Origin, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsIsOccurrence) GetSubject

GetSubject returns NeighborsNeighborsIsOccurrence.Subject, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsIsOccurrence) GetTypename

func (v *NeighborsNeighborsIsOccurrence) GetTypename() *string

GetTypename returns NeighborsNeighborsIsOccurrence.Typename, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsIsOccurrence) MarshalJSON

func (v *NeighborsNeighborsIsOccurrence) MarshalJSON() ([]byte, error)

func (*NeighborsNeighborsIsOccurrence) UnmarshalJSON

func (v *NeighborsNeighborsIsOccurrence) UnmarshalJSON(b []byte) error

type NeighborsNeighborsIsVulnerability

type NeighborsNeighborsIsVulnerability struct {
	Typename           *string `json:"__typename"`
	AllIsVulnerability `json:"-"`
}

NeighborsNeighborsIsVulnerability includes the requested fields of the GraphQL type IsVulnerability. The GraphQL type's documentation follows.

IsVulnerability is an attestation to link CVE/GHSA with data in OSV.

func (*NeighborsNeighborsIsVulnerability) GetCollector

func (v *NeighborsNeighborsIsVulnerability) GetCollector() string

GetCollector returns NeighborsNeighborsIsVulnerability.Collector, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsIsVulnerability) GetId

GetId returns NeighborsNeighborsIsVulnerability.Id, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsIsVulnerability) GetJustification

func (v *NeighborsNeighborsIsVulnerability) GetJustification() string

GetJustification returns NeighborsNeighborsIsVulnerability.Justification, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsIsVulnerability) GetOrigin

GetOrigin returns NeighborsNeighborsIsVulnerability.Origin, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsIsVulnerability) GetOsv

GetOsv returns NeighborsNeighborsIsVulnerability.Osv, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsIsVulnerability) GetTypename

func (v *NeighborsNeighborsIsVulnerability) GetTypename() *string

GetTypename returns NeighborsNeighborsIsVulnerability.Typename, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsIsVulnerability) GetVulnerability

GetVulnerability returns NeighborsNeighborsIsVulnerability.Vulnerability, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsIsVulnerability) MarshalJSON

func (v *NeighborsNeighborsIsVulnerability) MarshalJSON() ([]byte, error)

func (*NeighborsNeighborsIsVulnerability) UnmarshalJSON

func (v *NeighborsNeighborsIsVulnerability) UnmarshalJSON(b []byte) error

type NeighborsNeighborsNoVuln

type NeighborsNeighborsNoVuln struct {
	Typename *string `json:"__typename"`
	Id       string  `json:"id"`
}

NeighborsNeighborsNoVuln includes the requested fields of the GraphQL type NoVuln. The GraphQL type's documentation follows.

NoVuln is a special vulnerability node to attest that no vulnerability has been found during a vulnerability scan.

Backends guarantee that this is a singleton node.

func (*NeighborsNeighborsNoVuln) GetId

func (v *NeighborsNeighborsNoVuln) GetId() string

GetId returns NeighborsNeighborsNoVuln.Id, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsNoVuln) GetTypename

func (v *NeighborsNeighborsNoVuln) GetTypename() *string

GetTypename returns NeighborsNeighborsNoVuln.Typename, and is useful for accessing the field via an interface.

type NeighborsNeighborsNode

type NeighborsNeighborsNode interface {

	// GetTypename returns the receiver's concrete GraphQL type-name (see interface doc for possible values).
	GetTypename() *string
	// contains filtered or unexported methods
}

NeighborsNeighborsNode includes the requested fields of the GraphQL interface Node.

NeighborsNeighborsNode is implemented by the following types: NeighborsNeighborsArtifact NeighborsNeighborsBuilder NeighborsNeighborsCVE NeighborsNeighborsCertifyBad NeighborsNeighborsCertifyGood NeighborsNeighborsCertifyScorecard NeighborsNeighborsCertifyVEXStatement NeighborsNeighborsCertifyVuln NeighborsNeighborsGHSA NeighborsNeighborsHasMetadata NeighborsNeighborsHasSBOM NeighborsNeighborsHasSLSA NeighborsNeighborsHasSourceAt NeighborsNeighborsHashEqual NeighborsNeighborsIsDependency NeighborsNeighborsIsOccurrence NeighborsNeighborsIsVulnerability NeighborsNeighborsNoVuln NeighborsNeighborsOSV NeighborsNeighborsPackage NeighborsNeighborsPkgEqual NeighborsNeighborsPointOfContact NeighborsNeighborsSource The GraphQL type's documentation follows.

Node is a union type of all the possible nodes.

It encapsulates the software tree nodes along with the evidence nodes. In a path query, all connecting evidence nodes along with their intermediate subject nodes need to be returned in order to create a complete graph.

type NeighborsNeighborsOSV

type NeighborsNeighborsOSV struct {
	Typename   *string `json:"__typename"`
	AllOSVTree `json:"-"`
}

NeighborsNeighborsOSV includes the requested fields of the GraphQL type OSV. The GraphQL type's documentation follows.

OSV represents an Open Source Vulnerability.

The osvId field is mandatory and canonicalized to be lowercase.

This maps to a vulnerability ID specific to the environment (e.g., GHSA ID or CVE ID).

This node can be referred to by other parts of GUAC.

func (*NeighborsNeighborsOSV) GetId

func (v *NeighborsNeighborsOSV) GetId() string

GetId returns NeighborsNeighborsOSV.Id, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsOSV) GetOsvId

func (v *NeighborsNeighborsOSV) GetOsvId() string

GetOsvId returns NeighborsNeighborsOSV.OsvId, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsOSV) GetTypename

func (v *NeighborsNeighborsOSV) GetTypename() *string

GetTypename returns NeighborsNeighborsOSV.Typename, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsOSV) MarshalJSON

func (v *NeighborsNeighborsOSV) MarshalJSON() ([]byte, error)

func (*NeighborsNeighborsOSV) UnmarshalJSON

func (v *NeighborsNeighborsOSV) UnmarshalJSON(b []byte) error

type NeighborsNeighborsPackage

type NeighborsNeighborsPackage struct {
	Typename   *string `json:"__typename"`
	AllPkgTree `json:"-"`
}

NeighborsNeighborsPackage includes the requested fields of the GraphQL type Package. The GraphQL type's documentation follows.

Package represents the root of the package trie/tree.

We map package information to a trie, closely matching the pURL specification (https://github.com/package-url/purl-spec/blob/0dd92f26f8bb11956ffdf5e8acfcee71e8560407/README.rst), but deviating from it where GUAC heuristics allow for better representation of package information. Each path in the trie fully represents a package; we split the trie based on the pURL components.

This node matches a pkg:<type> partial pURL. The type field matches the pURL types but we might also use "guac" for the cases where the pURL representation is not complete or when we have custom rules.

Since this node is at the root of the package trie, it is named Package, not PackageType.

func (*NeighborsNeighborsPackage) GetId

func (v *NeighborsNeighborsPackage) GetId() string

GetId returns NeighborsNeighborsPackage.Id, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsPackage) GetNamespaces

GetNamespaces returns NeighborsNeighborsPackage.Namespaces, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsPackage) GetType

func (v *NeighborsNeighborsPackage) GetType() string

GetType returns NeighborsNeighborsPackage.Type, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsPackage) GetTypename

func (v *NeighborsNeighborsPackage) GetTypename() *string

GetTypename returns NeighborsNeighborsPackage.Typename, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsPackage) MarshalJSON

func (v *NeighborsNeighborsPackage) MarshalJSON() ([]byte, error)

func (*NeighborsNeighborsPackage) UnmarshalJSON

func (v *NeighborsNeighborsPackage) UnmarshalJSON(b []byte) error

type NeighborsNeighborsPkgEqual

type NeighborsNeighborsPkgEqual struct {
	Typename    *string `json:"__typename"`
	AllPkgEqual `json:"-"`
}

NeighborsNeighborsPkgEqual includes the requested fields of the GraphQL type PkgEqual. The GraphQL type's documentation follows.

PkgEqual is an attestation that a set of packages are similar.

func (*NeighborsNeighborsPkgEqual) GetCollector

func (v *NeighborsNeighborsPkgEqual) GetCollector() string

GetCollector returns NeighborsNeighborsPkgEqual.Collector, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsPkgEqual) GetId

GetId returns NeighborsNeighborsPkgEqual.Id, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsPkgEqual) GetJustification

func (v *NeighborsNeighborsPkgEqual) GetJustification() string

GetJustification returns NeighborsNeighborsPkgEqual.Justification, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsPkgEqual) GetOrigin

func (v *NeighborsNeighborsPkgEqual) GetOrigin() string

GetOrigin returns NeighborsNeighborsPkgEqual.Origin, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsPkgEqual) GetPackages

GetPackages returns NeighborsNeighborsPkgEqual.Packages, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsPkgEqual) GetTypename

func (v *NeighborsNeighborsPkgEqual) GetTypename() *string

GetTypename returns NeighborsNeighborsPkgEqual.Typename, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsPkgEqual) MarshalJSON

func (v *NeighborsNeighborsPkgEqual) MarshalJSON() ([]byte, error)

func (*NeighborsNeighborsPkgEqual) UnmarshalJSON

func (v *NeighborsNeighborsPkgEqual) UnmarshalJSON(b []byte) error

type NeighborsNeighborsPointOfContact added in v0.1.1

type NeighborsNeighborsPointOfContact struct {
	Typename *string `json:"__typename"`
}

NeighborsNeighborsPointOfContact includes the requested fields of the GraphQL type PointOfContact. The GraphQL type's documentation follows.

PointOfContact is an attestation of how to get in touch with the person(s) responsible for a package, source, or artifact.

All evidence trees record a justification for the property they represent as well as the document that contains the attestation (origin) and the collector that collected the document (collector).

The attestation applies to a subject which is a package, source, or artifact. If the attestation targets a package, it must target a PackageName or a PackageVersion. If the attestation targets a source, it must target a SourceName.

email is the email address (singular) of the point of contact.

info is additional contact information other than email address. This is free form.

NOTE: the identifiers for point of contact should be part of software trees. This will benefit from identifier look up and traversal as well as organization hierarchy. However, until the use case arises, PointOfContact will be a flat reference to the contact details.

func (*NeighborsNeighborsPointOfContact) GetTypename added in v0.1.1

func (v *NeighborsNeighborsPointOfContact) GetTypename() *string

GetTypename returns NeighborsNeighborsPointOfContact.Typename, and is useful for accessing the field via an interface.

type NeighborsNeighborsSource

type NeighborsNeighborsSource struct {
	Typename      *string `json:"__typename"`
	AllSourceTree `json:"-"`
}

NeighborsNeighborsSource includes the requested fields of the GraphQL type Source. The GraphQL type's documentation follows.

Source represents the root of the source trie/tree.

We map source information to a trie, as a derivative of the pURL specification: each path in the trie represents a type, namespace, name and an optional qualifier that stands for tag/commit information.

This node represents the type part of the trie path. It is used to represent the version control system that is being used.

Since this node is at the root of the source trie, it is named Source, not SourceType.

func (*NeighborsNeighborsSource) GetId

func (v *NeighborsNeighborsSource) GetId() string

GetId returns NeighborsNeighborsSource.Id, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsSource) GetNamespaces

GetNamespaces returns NeighborsNeighborsSource.Namespaces, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsSource) GetType

func (v *NeighborsNeighborsSource) GetType() string

GetType returns NeighborsNeighborsSource.Type, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsSource) GetTypename

func (v *NeighborsNeighborsSource) GetTypename() *string

GetTypename returns NeighborsNeighborsSource.Typename, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsSource) MarshalJSON

func (v *NeighborsNeighborsSource) MarshalJSON() ([]byte, error)

func (*NeighborsNeighborsSource) UnmarshalJSON

func (v *NeighborsNeighborsSource) UnmarshalJSON(b []byte) error

type NeighborsResponse

type NeighborsResponse struct {
	// neighbors returns all the direct neighbors of a node.
	//
	// Similarly, the input is only specified by its ID.
	//
	// Specifying any Edge value in `usingOnly` will make the neighbors list only
	// contain the corresponding GUAC evidence trees (GUAC verbs).
	Neighbors []NeighborsNeighborsNode `json:"-"`
}

NeighborsResponse is returned by Neighbors on success.

func Neighbors

func Neighbors(
	ctx context.Context,
	client graphql.Client,
	node string,
	usingOnly []Edge,
) (*NeighborsResponse, error)

func (*NeighborsResponse) GetNeighbors

func (v *NeighborsResponse) GetNeighbors() []NeighborsNeighborsNode

GetNeighbors returns NeighborsResponse.Neighbors, and is useful for accessing the field via an interface.

func (*NeighborsResponse) MarshalJSON

func (v *NeighborsResponse) MarshalJSON() ([]byte, error)

func (*NeighborsResponse) UnmarshalJSON

func (v *NeighborsResponse) UnmarshalJSON(b []byte) error

type NodeNode

type NodeNode interface {

	// GetTypename returns the receiver's concrete GraphQL type-name (see interface doc for possible values).
	GetTypename() *string
	// contains filtered or unexported methods
}

NodeNode includes the requested fields of the GraphQL interface Node.

NodeNode is implemented by the following types: NodeNodeArtifact NodeNodeBuilder NodeNodeCVE NodeNodeCertifyBad NodeNodeCertifyGood NodeNodeCertifyScorecard NodeNodeCertifyVEXStatement NodeNodeCertifyVuln NodeNodeGHSA NodeNodeHasMetadata NodeNodeHasSBOM NodeNodeHasSLSA NodeNodeHasSourceAt NodeNodeHashEqual NodeNodeIsDependency NodeNodeIsOccurrence NodeNodeIsVulnerability NodeNodeNoVuln NodeNodeOSV NodeNodePackage NodeNodePkgEqual NodeNodePointOfContact NodeNodeSource The GraphQL type's documentation follows.

Node is a union type of all the possible nodes.

It encapsulates the software tree nodes along with the evidence nodes. In a path query, all connecting evidence nodes along with their intermediate subject nodes need to be returned in order to create a complete graph.

type NodeNodeArtifact

type NodeNodeArtifact struct {
	Typename        *string `json:"__typename"`
	AllArtifactTree `json:"-"`
}

NodeNodeArtifact includes the requested fields of the GraphQL type Artifact. The GraphQL type's documentation follows.

Artifact represents an artifact identified by a checksum hash.

The checksum is split into the digest value and the algorithm used to generate it. Both fields are mandatory and canonicalized to be lowercase.

If having a checksum Go object, algorithm can be strings.ToLower(string(checksum.Algorithm)) and digest can be checksum.Value.

func (*NodeNodeArtifact) GetAlgorithm

func (v *NodeNodeArtifact) GetAlgorithm() string

GetAlgorithm returns NodeNodeArtifact.Algorithm, and is useful for accessing the field via an interface.

func (*NodeNodeArtifact) GetDigest

func (v *NodeNodeArtifact) GetDigest() string

GetDigest returns NodeNodeArtifact.Digest, and is useful for accessing the field via an interface.

func (*NodeNodeArtifact) GetId

func (v *NodeNodeArtifact) GetId() string

GetId returns NodeNodeArtifact.Id, and is useful for accessing the field via an interface.

func (*NodeNodeArtifact) GetTypename

func (v *NodeNodeArtifact) GetTypename() *string

GetTypename returns NodeNodeArtifact.Typename, and is useful for accessing the field via an interface.

func (*NodeNodeArtifact) MarshalJSON

func (v *NodeNodeArtifact) MarshalJSON() ([]byte, error)

func (*NodeNodeArtifact) UnmarshalJSON

func (v *NodeNodeArtifact) UnmarshalJSON(b []byte) error

type NodeNodeBuilder

type NodeNodeBuilder struct {
	Typename       *string `json:"__typename"`
	AllBuilderTree `json:"-"`
}

NodeNodeBuilder includes the requested fields of the GraphQL type Builder. The GraphQL type's documentation follows.

Builder represents the builder (e.g., FRSCA or GitHub Actions).

Currently builders are identified by the uri field.

func (*NodeNodeBuilder) GetId

func (v *NodeNodeBuilder) GetId() string

GetId returns NodeNodeBuilder.Id, and is useful for accessing the field via an interface.

func (*NodeNodeBuilder) GetTypename

func (v *NodeNodeBuilder) GetTypename() *string

GetTypename returns NodeNodeBuilder.Typename, and is useful for accessing the field via an interface.

func (*NodeNodeBuilder) GetUri

func (v *NodeNodeBuilder) GetUri() string

GetUri returns NodeNodeBuilder.Uri, and is useful for accessing the field via an interface.

func (*NodeNodeBuilder) MarshalJSON

func (v *NodeNodeBuilder) MarshalJSON() ([]byte, error)

func (*NodeNodeBuilder) UnmarshalJSON

func (v *NodeNodeBuilder) UnmarshalJSON(b []byte) error

type NodeNodeCVE

type NodeNodeCVE struct {
	Typename   *string `json:"__typename"`
	AllCveTree `json:"-"`
}

NodeNodeCVE includes the requested fields of the GraphQL type CVE. The GraphQL type's documentation follows.

CVE represents a vulnerability in the Common Vulnerabilities and Exposures schema.

The vulnerability identifier contains a year field, so we are extracting that to allow matching for vulnerabilities found in a given year.

The vulnerability identifier field is mandatory and canonicalized to be lowercase.

This node can be referred to by other parts of GUAC.

func (*NodeNodeCVE) GetCveId

func (v *NodeNodeCVE) GetCveId() string

GetCveId returns NodeNodeCVE.CveId, and is useful for accessing the field via an interface.

func (*NodeNodeCVE) GetId

func (v *NodeNodeCVE) GetId() string

GetId returns NodeNodeCVE.Id, and is useful for accessing the field via an interface.

func (*NodeNodeCVE) GetTypename

func (v *NodeNodeCVE) GetTypename() *string

GetTypename returns NodeNodeCVE.Typename, and is useful for accessing the field via an interface.

func (*NodeNodeCVE) GetYear

func (v *NodeNodeCVE) GetYear() int

GetYear returns NodeNodeCVE.Year, and is useful for accessing the field via an interface.

func (*NodeNodeCVE) MarshalJSON

func (v *NodeNodeCVE) MarshalJSON() ([]byte, error)

func (*NodeNodeCVE) UnmarshalJSON

func (v *NodeNodeCVE) UnmarshalJSON(b []byte) error

type NodeNodeCertifyBad

type NodeNodeCertifyBad struct {
	Typename      *string `json:"__typename"`
	AllCertifyBad `json:"-"`
}

NodeNodeCertifyBad includes the requested fields of the GraphQL type CertifyBad. The GraphQL type's documentation follows.

CertifyBad is an attestation that a package, source, or artifact is considered bad.

All evidence trees record a justification for the property they represent as well as the document that contains the attestation (origin) and the collector that collected the document (collector).

The certification applies to a subject which is a package, source, or artifact. If the attestation targets a package, it must target a PackageName or a PackageVersion. If the attestation targets a source, it must target a SourceName.

func (*NodeNodeCertifyBad) GetCollector

func (v *NodeNodeCertifyBad) GetCollector() string

GetCollector returns NodeNodeCertifyBad.Collector, and is useful for accessing the field via an interface.

func (*NodeNodeCertifyBad) GetId

func (v *NodeNodeCertifyBad) GetId() string

GetId returns NodeNodeCertifyBad.Id, and is useful for accessing the field via an interface.

func (*NodeNodeCertifyBad) GetJustification

func (v *NodeNodeCertifyBad) GetJustification() string

GetJustification returns NodeNodeCertifyBad.Justification, and is useful for accessing the field via an interface.

func (*NodeNodeCertifyBad) GetOrigin

func (v *NodeNodeCertifyBad) GetOrigin() string

GetOrigin returns NodeNodeCertifyBad.Origin, and is useful for accessing the field via an interface.

func (*NodeNodeCertifyBad) GetSubject

GetSubject returns NodeNodeCertifyBad.Subject, and is useful for accessing the field via an interface.

func (*NodeNodeCertifyBad) GetTypename

func (v *NodeNodeCertifyBad) GetTypename() *string

GetTypename returns NodeNodeCertifyBad.Typename, and is useful for accessing the field via an interface.

func (*NodeNodeCertifyBad) MarshalJSON

func (v *NodeNodeCertifyBad) MarshalJSON() ([]byte, error)

func (*NodeNodeCertifyBad) UnmarshalJSON

func (v *NodeNodeCertifyBad) UnmarshalJSON(b []byte) error

type NodeNodeCertifyGood

type NodeNodeCertifyGood struct {
	Typename       *string `json:"__typename"`
	AllCertifyGood `json:"-"`
}

NodeNodeCertifyGood includes the requested fields of the GraphQL type CertifyGood. The GraphQL type's documentation follows.

CertifyGood is an attestation that a package, source, or artifact is considered good.

All evidence trees record a justification for the property they represent as well as the document that contains the attestation (origin) and the collector that collected the document (collector).

The certification applies to a subject which is a package, source, or artifact. If the attestation targets a package, it must target a PackageName or a PackageVersion. If the attestation targets a source, it must target a SourceName.

func (*NodeNodeCertifyGood) GetCollector

func (v *NodeNodeCertifyGood) GetCollector() string

GetCollector returns NodeNodeCertifyGood.Collector, and is useful for accessing the field via an interface.

func (*NodeNodeCertifyGood) GetId

func (v *NodeNodeCertifyGood) GetId() string

GetId returns NodeNodeCertifyGood.Id, and is useful for accessing the field via an interface.

func (*NodeNodeCertifyGood) GetJustification

func (v *NodeNodeCertifyGood) GetJustification() string

GetJustification returns NodeNodeCertifyGood.Justification, and is useful for accessing the field via an interface.

func (*NodeNodeCertifyGood) GetOrigin

func (v *NodeNodeCertifyGood) GetOrigin() string

GetOrigin returns NodeNodeCertifyGood.Origin, and is useful for accessing the field via an interface.

func (*NodeNodeCertifyGood) GetSubject

GetSubject returns NodeNodeCertifyGood.Subject, and is useful for accessing the field via an interface.

func (*NodeNodeCertifyGood) GetTypename

func (v *NodeNodeCertifyGood) GetTypename() *string

GetTypename returns NodeNodeCertifyGood.Typename, and is useful for accessing the field via an interface.

func (*NodeNodeCertifyGood) MarshalJSON

func (v *NodeNodeCertifyGood) MarshalJSON() ([]byte, error)

func (*NodeNodeCertifyGood) UnmarshalJSON

func (v *NodeNodeCertifyGood) UnmarshalJSON(b []byte) error

type NodeNodeCertifyScorecard

type NodeNodeCertifyScorecard struct {
	Typename            *string `json:"__typename"`
	AllCertifyScorecard `json:"-"`
}

NodeNodeCertifyScorecard includes the requested fields of the GraphQL type CertifyScorecard. The GraphQL type's documentation follows.

CertifyScorecard is an attestation to attach a Scorecard analysis to a particular source repository.

func (*NodeNodeCertifyScorecard) GetId

func (v *NodeNodeCertifyScorecard) GetId() string

GetId returns NodeNodeCertifyScorecard.Id, and is useful for accessing the field via an interface.

func (*NodeNodeCertifyScorecard) GetScorecard

GetScorecard returns NodeNodeCertifyScorecard.Scorecard, and is useful for accessing the field via an interface.

func (*NodeNodeCertifyScorecard) GetSource

GetSource returns NodeNodeCertifyScorecard.Source, and is useful for accessing the field via an interface.

func (*NodeNodeCertifyScorecard) GetTypename

func (v *NodeNodeCertifyScorecard) GetTypename() *string

GetTypename returns NodeNodeCertifyScorecard.Typename, and is useful for accessing the field via an interface.

func (*NodeNodeCertifyScorecard) MarshalJSON

func (v *NodeNodeCertifyScorecard) MarshalJSON() ([]byte, error)

func (*NodeNodeCertifyScorecard) UnmarshalJSON

func (v *NodeNodeCertifyScorecard) UnmarshalJSON(b []byte) error

type NodeNodeCertifyVEXStatement

type NodeNodeCertifyVEXStatement struct {
	Typename               *string `json:"__typename"`
	AllCertifyVEXStatement `json:"-"`
}

NodeNodeCertifyVEXStatement includes the requested fields of the GraphQL type CertifyVEXStatement. The GraphQL type's documentation follows.

CertifyVEXStatement is an attestation to attach VEX statements to a package or artifact to clarify the impact of a specific vulnerability (CVE, GHSA or OSV).

func (*NodeNodeCertifyVEXStatement) GetCollector

func (v *NodeNodeCertifyVEXStatement) GetCollector() string

GetCollector returns NodeNodeCertifyVEXStatement.Collector, and is useful for accessing the field via an interface.

func (*NodeNodeCertifyVEXStatement) GetId

GetId returns NodeNodeCertifyVEXStatement.Id, and is useful for accessing the field via an interface.

func (*NodeNodeCertifyVEXStatement) GetKnownSince

func (v *NodeNodeCertifyVEXStatement) GetKnownSince() time.Time

GetKnownSince returns NodeNodeCertifyVEXStatement.KnownSince, and is useful for accessing the field via an interface.

func (*NodeNodeCertifyVEXStatement) GetOrigin

func (v *NodeNodeCertifyVEXStatement) GetOrigin() string

GetOrigin returns NodeNodeCertifyVEXStatement.Origin, and is useful for accessing the field via an interface.

func (*NodeNodeCertifyVEXStatement) GetStatement

func (v *NodeNodeCertifyVEXStatement) GetStatement() string

GetStatement returns NodeNodeCertifyVEXStatement.Statement, and is useful for accessing the field via an interface.

func (*NodeNodeCertifyVEXStatement) GetStatus

func (v *NodeNodeCertifyVEXStatement) GetStatus() VexStatus

GetStatus returns NodeNodeCertifyVEXStatement.Status, and is useful for accessing the field via an interface.

func (*NodeNodeCertifyVEXStatement) GetStatusNotes

func (v *NodeNodeCertifyVEXStatement) GetStatusNotes() string

GetStatusNotes returns NodeNodeCertifyVEXStatement.StatusNotes, and is useful for accessing the field via an interface.

func (*NodeNodeCertifyVEXStatement) GetSubject

GetSubject returns NodeNodeCertifyVEXStatement.Subject, and is useful for accessing the field via an interface.

func (*NodeNodeCertifyVEXStatement) GetTypename

func (v *NodeNodeCertifyVEXStatement) GetTypename() *string

GetTypename returns NodeNodeCertifyVEXStatement.Typename, and is useful for accessing the field via an interface.

func (*NodeNodeCertifyVEXStatement) GetVexJustification

func (v *NodeNodeCertifyVEXStatement) GetVexJustification() VexJustification

GetVexJustification returns NodeNodeCertifyVEXStatement.VexJustification, and is useful for accessing the field via an interface.

func (*NodeNodeCertifyVEXStatement) GetVulnerability

GetVulnerability returns NodeNodeCertifyVEXStatement.Vulnerability, and is useful for accessing the field via an interface.

func (*NodeNodeCertifyVEXStatement) MarshalJSON

func (v *NodeNodeCertifyVEXStatement) MarshalJSON() ([]byte, error)

func (*NodeNodeCertifyVEXStatement) UnmarshalJSON

func (v *NodeNodeCertifyVEXStatement) UnmarshalJSON(b []byte) error

type NodeNodeCertifyVuln

type NodeNodeCertifyVuln struct {
	Typename       *string `json:"__typename"`
	AllCertifyVuln `json:"-"`
}

NodeNodeCertifyVuln includes the requested fields of the GraphQL type CertifyVuln. The GraphQL type's documentation follows.

CertifyVuln is an attestation to attach vulnerability information to a package.

This information is obtained via a scanner. If there is no vulnerability detected (no OSV, CVE, or GHSA), we attach the special NoVuln node.

func (*NodeNodeCertifyVuln) GetId

func (v *NodeNodeCertifyVuln) GetId() string

GetId returns NodeNodeCertifyVuln.Id, and is useful for accessing the field via an interface.

func (*NodeNodeCertifyVuln) GetMetadata

GetMetadata returns NodeNodeCertifyVuln.Metadata, and is useful for accessing the field via an interface.

func (*NodeNodeCertifyVuln) GetPackage

GetPackage returns NodeNodeCertifyVuln.Package, and is useful for accessing the field via an interface.

func (*NodeNodeCertifyVuln) GetTypename

func (v *NodeNodeCertifyVuln) GetTypename() *string

GetTypename returns NodeNodeCertifyVuln.Typename, and is useful for accessing the field via an interface.

func (*NodeNodeCertifyVuln) GetVulnerability

func (v *NodeNodeCertifyVuln) GetVulnerability() AllCertifyVulnVulnerability

GetVulnerability returns NodeNodeCertifyVuln.Vulnerability, and is useful for accessing the field via an interface.

func (*NodeNodeCertifyVuln) MarshalJSON

func (v *NodeNodeCertifyVuln) MarshalJSON() ([]byte, error)

func (*NodeNodeCertifyVuln) UnmarshalJSON

func (v *NodeNodeCertifyVuln) UnmarshalJSON(b []byte) error

type NodeNodeGHSA

type NodeNodeGHSA struct {
	Typename    *string `json:"__typename"`
	AllGHSATree `json:"-"`
}

NodeNodeGHSA includes the requested fields of the GraphQL type GHSA. The GraphQL type's documentation follows.

GHSA represents GitHub security advisories.

The advisory id field is mandatory and canonicalized to be lowercase.

This node can be referred to by other parts of GUAC.

func (*NodeNodeGHSA) GetGhsaId

func (v *NodeNodeGHSA) GetGhsaId() string

GetGhsaId returns NodeNodeGHSA.GhsaId, and is useful for accessing the field via an interface.

func (*NodeNodeGHSA) GetId

func (v *NodeNodeGHSA) GetId() string

GetId returns NodeNodeGHSA.Id, and is useful for accessing the field via an interface.

func (*NodeNodeGHSA) GetTypename

func (v *NodeNodeGHSA) GetTypename() *string

GetTypename returns NodeNodeGHSA.Typename, and is useful for accessing the field via an interface.

func (*NodeNodeGHSA) MarshalJSON

func (v *NodeNodeGHSA) MarshalJSON() ([]byte, error)

func (*NodeNodeGHSA) UnmarshalJSON

func (v *NodeNodeGHSA) UnmarshalJSON(b []byte) error

type NodeNodeHasMetadata added in v0.1.1

type NodeNodeHasMetadata struct {
	Typename *string `json:"__typename"`
}

NodeNodeHasMetadata includes the requested fields of the GraphQL type HasMetadata. The GraphQL type's documentation follows.

HasMetadata is an attestation that a package, source, or artifact has a certain attested property (key) with value (value). For example, a source may have metadata "SourceRepo2FAEnabled=true".

The intent of this evidence tree predicate is to allow extensibility of metadata expressible within the GUAC ontology. Metadata that is commonly used will then be promoted to a predicate on its own.

Justification indicates how the metadata was determined.

The metadata applies to a subject which is a package, source, or artifact. If the attestation targets a package, it must target a PackageName or a PackageVersion. If the attestation targets a source, it must target a SourceName.

func (*NodeNodeHasMetadata) GetTypename added in v0.1.1

func (v *NodeNodeHasMetadata) GetTypename() *string

GetTypename returns NodeNodeHasMetadata.Typename, and is useful for accessing the field via an interface.

type NodeNodeHasSBOM

type NodeNodeHasSBOM struct {
	Typename       *string `json:"__typename"`
	AllHasSBOMTree `json:"-"`
}

NodeNodeHasSBOM includes the requested fields of the GraphQL type HasSBOM.

func (*NodeNodeHasSBOM) GetAlgorithm

func (v *NodeNodeHasSBOM) GetAlgorithm() string

GetAlgorithm returns NodeNodeHasSBOM.Algorithm, and is useful for accessing the field via an interface.

func (*NodeNodeHasSBOM) GetCollector

func (v *NodeNodeHasSBOM) GetCollector() string

GetCollector returns NodeNodeHasSBOM.Collector, and is useful for accessing the field via an interface.

func (*NodeNodeHasSBOM) GetDigest

func (v *NodeNodeHasSBOM) GetDigest() string

GetDigest returns NodeNodeHasSBOM.Digest, and is useful for accessing the field via an interface.

func (*NodeNodeHasSBOM) GetDownloadLocation

func (v *NodeNodeHasSBOM) GetDownloadLocation() string

GetDownloadLocation returns NodeNodeHasSBOM.DownloadLocation, and is useful for accessing the field via an interface.

func (*NodeNodeHasSBOM) GetId

func (v *NodeNodeHasSBOM) GetId() string

GetId returns NodeNodeHasSBOM.Id, and is useful for accessing the field via an interface.

func (*NodeNodeHasSBOM) GetOrigin

func (v *NodeNodeHasSBOM) GetOrigin() string

GetOrigin returns NodeNodeHasSBOM.Origin, and is useful for accessing the field via an interface.

func (*NodeNodeHasSBOM) GetSubject

GetSubject returns NodeNodeHasSBOM.Subject, and is useful for accessing the field via an interface.

func (*NodeNodeHasSBOM) GetTypename

func (v *NodeNodeHasSBOM) GetTypename() *string

GetTypename returns NodeNodeHasSBOM.Typename, and is useful for accessing the field via an interface.

func (*NodeNodeHasSBOM) GetUri

func (v *NodeNodeHasSBOM) GetUri() string

GetUri returns NodeNodeHasSBOM.Uri, and is useful for accessing the field via an interface.

func (*NodeNodeHasSBOM) MarshalJSON

func (v *NodeNodeHasSBOM) MarshalJSON() ([]byte, error)

func (*NodeNodeHasSBOM) UnmarshalJSON

func (v *NodeNodeHasSBOM) UnmarshalJSON(b []byte) error

type NodeNodeHasSLSA

type NodeNodeHasSLSA struct {
	Typename    *string `json:"__typename"`
	AllSLSATree `json:"-"`
}

NodeNodeHasSLSA includes the requested fields of the GraphQL type HasSLSA. The GraphQL type's documentation follows.

HasSLSA records that a subject node has a SLSA attestation.

func (*NodeNodeHasSLSA) GetId

func (v *NodeNodeHasSLSA) GetId() string

GetId returns NodeNodeHasSLSA.Id, and is useful for accessing the field via an interface.

func (*NodeNodeHasSLSA) GetSlsa

func (v *NodeNodeHasSLSA) GetSlsa() AllSLSATreeSlsaSLSA

GetSlsa returns NodeNodeHasSLSA.Slsa, and is useful for accessing the field via an interface.

func (*NodeNodeHasSLSA) GetSubject

GetSubject returns NodeNodeHasSLSA.Subject, and is useful for accessing the field via an interface.

func (*NodeNodeHasSLSA) GetTypename

func (v *NodeNodeHasSLSA) GetTypename() *string

GetTypename returns NodeNodeHasSLSA.Typename, and is useful for accessing the field via an interface.

func (*NodeNodeHasSLSA) MarshalJSON

func (v *NodeNodeHasSLSA) MarshalJSON() ([]byte, error)

func (*NodeNodeHasSLSA) UnmarshalJSON

func (v *NodeNodeHasSLSA) UnmarshalJSON(b []byte) error

type NodeNodeHasSourceAt

type NodeNodeHasSourceAt struct {
	Typename       *string `json:"__typename"`
	AllHasSourceAt `json:"-"`
}

NodeNodeHasSourceAt includes the requested fields of the GraphQL type HasSourceAt. The GraphQL type's documentation follows.

HasSourceAt records that a package's repository is a given source.

func (*NodeNodeHasSourceAt) GetCollector

func (v *NodeNodeHasSourceAt) GetCollector() string

GetCollector returns NodeNodeHasSourceAt.Collector, and is useful for accessing the field via an interface.

func (*NodeNodeHasSourceAt) GetId

func (v *NodeNodeHasSourceAt) GetId() string

GetId returns NodeNodeHasSourceAt.Id, and is useful for accessing the field via an interface.

func (*NodeNodeHasSourceAt) GetJustification

func (v *NodeNodeHasSourceAt) GetJustification() string

GetJustification returns NodeNodeHasSourceAt.Justification, and is useful for accessing the field via an interface.

func (*NodeNodeHasSourceAt) GetKnownSince

func (v *NodeNodeHasSourceAt) GetKnownSince() time.Time

GetKnownSince returns NodeNodeHasSourceAt.KnownSince, and is useful for accessing the field via an interface.

func (*NodeNodeHasSourceAt) GetOrigin

func (v *NodeNodeHasSourceAt) GetOrigin() string

GetOrigin returns NodeNodeHasSourceAt.Origin, and is useful for accessing the field via an interface.

func (*NodeNodeHasSourceAt) GetPackage

GetPackage returns NodeNodeHasSourceAt.Package, and is useful for accessing the field via an interface.

func (*NodeNodeHasSourceAt) GetSource

GetSource returns NodeNodeHasSourceAt.Source, and is useful for accessing the field via an interface.

func (*NodeNodeHasSourceAt) GetTypename

func (v *NodeNodeHasSourceAt) GetTypename() *string

GetTypename returns NodeNodeHasSourceAt.Typename, and is useful for accessing the field via an interface.

func (*NodeNodeHasSourceAt) MarshalJSON

func (v *NodeNodeHasSourceAt) MarshalJSON() ([]byte, error)

func (*NodeNodeHasSourceAt) UnmarshalJSON

func (v *NodeNodeHasSourceAt) UnmarshalJSON(b []byte) error

type NodeNodeHashEqual

type NodeNodeHashEqual struct {
	Typename         *string `json:"__typename"`
	AllHashEqualTree `json:"-"`
}

NodeNodeHashEqual includes the requested fields of the GraphQL type HashEqual. The GraphQL type's documentation follows.

HashEqual is an attestation that a set of artifacts are identical.

func (*NodeNodeHashEqual) GetArtifacts

GetArtifacts returns NodeNodeHashEqual.Artifacts, and is useful for accessing the field via an interface.

func (*NodeNodeHashEqual) GetCollector

func (v *NodeNodeHashEqual) GetCollector() string

GetCollector returns NodeNodeHashEqual.Collector, and is useful for accessing the field via an interface.

func (*NodeNodeHashEqual) GetId

func (v *NodeNodeHashEqual) GetId() string

GetId returns NodeNodeHashEqual.Id, and is useful for accessing the field via an interface.

func (*NodeNodeHashEqual) GetJustification

func (v *NodeNodeHashEqual) GetJustification() string

GetJustification returns NodeNodeHashEqual.Justification, and is useful for accessing the field via an interface.

func (*NodeNodeHashEqual) GetOrigin

func (v *NodeNodeHashEqual) GetOrigin() string

GetOrigin returns NodeNodeHashEqual.Origin, and is useful for accessing the field via an interface.

func (*NodeNodeHashEqual) GetTypename

func (v *NodeNodeHashEqual) GetTypename() *string

GetTypename returns NodeNodeHashEqual.Typename, and is useful for accessing the field via an interface.

func (*NodeNodeHashEqual) MarshalJSON

func (v *NodeNodeHashEqual) MarshalJSON() ([]byte, error)

func (*NodeNodeHashEqual) UnmarshalJSON

func (v *NodeNodeHashEqual) UnmarshalJSON(b []byte) error

type NodeNodeIsDependency

type NodeNodeIsDependency struct {
	Typename            *string `json:"__typename"`
	AllIsDependencyTree `json:"-"`
}

NodeNodeIsDependency includes the requested fields of the GraphQL type IsDependency. The GraphQL type's documentation follows.

IsDependency is an attestation to record that a package depends on another.

func (*NodeNodeIsDependency) GetCollector

func (v *NodeNodeIsDependency) GetCollector() string

GetCollector returns NodeNodeIsDependency.Collector, and is useful for accessing the field via an interface.

func (*NodeNodeIsDependency) GetDependencyType

func (v *NodeNodeIsDependency) GetDependencyType() DependencyType

GetDependencyType returns NodeNodeIsDependency.DependencyType, and is useful for accessing the field via an interface.

func (*NodeNodeIsDependency) GetDependentPackage

GetDependentPackage returns NodeNodeIsDependency.DependentPackage, and is useful for accessing the field via an interface.

func (*NodeNodeIsDependency) GetId

func (v *NodeNodeIsDependency) GetId() string

GetId returns NodeNodeIsDependency.Id, and is useful for accessing the field via an interface.

func (*NodeNodeIsDependency) GetJustification

func (v *NodeNodeIsDependency) GetJustification() string

GetJustification returns NodeNodeIsDependency.Justification, and is useful for accessing the field via an interface.

func (*NodeNodeIsDependency) GetOrigin

func (v *NodeNodeIsDependency) GetOrigin() string

GetOrigin returns NodeNodeIsDependency.Origin, and is useful for accessing the field via an interface.

func (*NodeNodeIsDependency) GetPackage

GetPackage returns NodeNodeIsDependency.Package, and is useful for accessing the field via an interface.

func (*NodeNodeIsDependency) GetTypename

func (v *NodeNodeIsDependency) GetTypename() *string

GetTypename returns NodeNodeIsDependency.Typename, and is useful for accessing the field via an interface.

func (*NodeNodeIsDependency) GetVersionRange

func (v *NodeNodeIsDependency) GetVersionRange() string

GetVersionRange returns NodeNodeIsDependency.VersionRange, and is useful for accessing the field via an interface.

func (*NodeNodeIsDependency) MarshalJSON

func (v *NodeNodeIsDependency) MarshalJSON() ([]byte, error)

func (*NodeNodeIsDependency) UnmarshalJSON

func (v *NodeNodeIsDependency) UnmarshalJSON(b []byte) error

type NodeNodeIsOccurrence

type NodeNodeIsOccurrence struct {
	Typename             *string `json:"__typename"`
	AllIsOccurrencesTree `json:"-"`
}

NodeNodeIsOccurrence includes the requested fields of the GraphQL type IsOccurrence. The GraphQL type's documentation follows.

IsOccurrence is an attestation to link an artifact to a package or source.

Attestation must occur at the PackageVersion or at the SourceName.

func (*NodeNodeIsOccurrence) GetArtifact

GetArtifact returns NodeNodeIsOccurrence.Artifact, and is useful for accessing the field via an interface.

func (*NodeNodeIsOccurrence) GetCollector

func (v *NodeNodeIsOccurrence) GetCollector() string

GetCollector returns NodeNodeIsOccurrence.Collector, and is useful for accessing the field via an interface.

func (*NodeNodeIsOccurrence) GetId

func (v *NodeNodeIsOccurrence) GetId() string

GetId returns NodeNodeIsOccurrence.Id, and is useful for accessing the field via an interface.

func (*NodeNodeIsOccurrence) GetJustification

func (v *NodeNodeIsOccurrence) GetJustification() string

GetJustification returns NodeNodeIsOccurrence.Justification, and is useful for accessing the field via an interface.

func (*NodeNodeIsOccurrence) GetOrigin

func (v *NodeNodeIsOccurrence) GetOrigin() string

GetOrigin returns NodeNodeIsOccurrence.Origin, and is useful for accessing the field via an interface.

func (*NodeNodeIsOccurrence) GetSubject

GetSubject returns NodeNodeIsOccurrence.Subject, and is useful for accessing the field via an interface.

func (*NodeNodeIsOccurrence) GetTypename

func (v *NodeNodeIsOccurrence) GetTypename() *string

GetTypename returns NodeNodeIsOccurrence.Typename, and is useful for accessing the field via an interface.

func (*NodeNodeIsOccurrence) MarshalJSON

func (v *NodeNodeIsOccurrence) MarshalJSON() ([]byte, error)

func (*NodeNodeIsOccurrence) UnmarshalJSON

func (v *NodeNodeIsOccurrence) UnmarshalJSON(b []byte) error

type NodeNodeIsVulnerability

type NodeNodeIsVulnerability struct {
	Typename           *string `json:"__typename"`
	AllIsVulnerability `json:"-"`
}

NodeNodeIsVulnerability includes the requested fields of the GraphQL type IsVulnerability. The GraphQL type's documentation follows.

IsVulnerability is an attestation to link CVE/GHSA with data in OSV.

func (*NodeNodeIsVulnerability) GetCollector

func (v *NodeNodeIsVulnerability) GetCollector() string

GetCollector returns NodeNodeIsVulnerability.Collector, and is useful for accessing the field via an interface.

func (*NodeNodeIsVulnerability) GetId

func (v *NodeNodeIsVulnerability) GetId() string

GetId returns NodeNodeIsVulnerability.Id, and is useful for accessing the field via an interface.

func (*NodeNodeIsVulnerability) GetJustification

func (v *NodeNodeIsVulnerability) GetJustification() string

GetJustification returns NodeNodeIsVulnerability.Justification, and is useful for accessing the field via an interface.

func (*NodeNodeIsVulnerability) GetOrigin

func (v *NodeNodeIsVulnerability) GetOrigin() string

GetOrigin returns NodeNodeIsVulnerability.Origin, and is useful for accessing the field via an interface.

func (*NodeNodeIsVulnerability) GetOsv

GetOsv returns NodeNodeIsVulnerability.Osv, and is useful for accessing the field via an interface.

func (*NodeNodeIsVulnerability) GetTypename

func (v *NodeNodeIsVulnerability) GetTypename() *string

GetTypename returns NodeNodeIsVulnerability.Typename, and is useful for accessing the field via an interface.

func (*NodeNodeIsVulnerability) GetVulnerability

GetVulnerability returns NodeNodeIsVulnerability.Vulnerability, and is useful for accessing the field via an interface.

func (*NodeNodeIsVulnerability) MarshalJSON

func (v *NodeNodeIsVulnerability) MarshalJSON() ([]byte, error)

func (*NodeNodeIsVulnerability) UnmarshalJSON

func (v *NodeNodeIsVulnerability) UnmarshalJSON(b []byte) error

type NodeNodeNoVuln

type NodeNodeNoVuln struct {
	Typename *string `json:"__typename"`
	Id       string  `json:"id"`
}

NodeNodeNoVuln includes the requested fields of the GraphQL type NoVuln. The GraphQL type's documentation follows.

NoVuln is a special vulnerability node to attest that no vulnerability has been found during a vulnerability scan.

Backends guarantee that this is a singleton node.

func (*NodeNodeNoVuln) GetId

func (v *NodeNodeNoVuln) GetId() string

GetId returns NodeNodeNoVuln.Id, and is useful for accessing the field via an interface.

func (*NodeNodeNoVuln) GetTypename

func (v *NodeNodeNoVuln) GetTypename() *string

GetTypename returns NodeNodeNoVuln.Typename, and is useful for accessing the field via an interface.

type NodeNodeOSV

type NodeNodeOSV struct {
	Typename   *string `json:"__typename"`
	AllOSVTree `json:"-"`
}

NodeNodeOSV includes the requested fields of the GraphQL type OSV. The GraphQL type's documentation follows.

OSV represents an Open Source Vulnerability.

The osvId field is mandatory and canonicalized to be lowercase.

This maps to a vulnerability ID specific to the environment (e.g., GHSA ID or CVE ID).

This node can be referred to by other parts of GUAC.

func (*NodeNodeOSV) GetId

func (v *NodeNodeOSV) GetId() string

GetId returns NodeNodeOSV.Id, and is useful for accessing the field via an interface.

func (*NodeNodeOSV) GetOsvId

func (v *NodeNodeOSV) GetOsvId() string

GetOsvId returns NodeNodeOSV.OsvId, and is useful for accessing the field via an interface.

func (*NodeNodeOSV) GetTypename

func (v *NodeNodeOSV) GetTypename() *string

GetTypename returns NodeNodeOSV.Typename, and is useful for accessing the field via an interface.

func (*NodeNodeOSV) MarshalJSON

func (v *NodeNodeOSV) MarshalJSON() ([]byte, error)

func (*NodeNodeOSV) UnmarshalJSON

func (v *NodeNodeOSV) UnmarshalJSON(b []byte) error

type NodeNodePackage

type NodeNodePackage struct {
	Typename   *string `json:"__typename"`
	AllPkgTree `json:"-"`
}

NodeNodePackage includes the requested fields of the GraphQL type Package. The GraphQL type's documentation follows.

Package represents the root of the package trie/tree.

We map package information to a trie, closely matching the pURL specification (https://github.com/package-url/purl-spec/blob/0dd92f26f8bb11956ffdf5e8acfcee71e8560407/README.rst), but deviating from it where GUAC heuristics allow for better representation of package information. Each path in the trie fully represents a package; we split the trie based on the pURL components.

This node matches a pkg:<type> partial pURL. The type field matches the pURL types but we might also use "guac" for the cases where the pURL representation is not complete or when we have custom rules.

Since this node is at the root of the package trie, it is named Package, not PackageType.

func (*NodeNodePackage) GetId

func (v *NodeNodePackage) GetId() string

GetId returns NodeNodePackage.Id, and is useful for accessing the field via an interface.

func (*NodeNodePackage) GetNamespaces

GetNamespaces returns NodeNodePackage.Namespaces, and is useful for accessing the field via an interface.

func (*NodeNodePackage) GetType

func (v *NodeNodePackage) GetType() string

GetType returns NodeNodePackage.Type, and is useful for accessing the field via an interface.

func (*NodeNodePackage) GetTypename

func (v *NodeNodePackage) GetTypename() *string

GetTypename returns NodeNodePackage.Typename, and is useful for accessing the field via an interface.

func (*NodeNodePackage) MarshalJSON

func (v *NodeNodePackage) MarshalJSON() ([]byte, error)

func (*NodeNodePackage) UnmarshalJSON

func (v *NodeNodePackage) UnmarshalJSON(b []byte) error

type NodeNodePkgEqual

type NodeNodePkgEqual struct {
	Typename    *string `json:"__typename"`
	AllPkgEqual `json:"-"`
}

NodeNodePkgEqual includes the requested fields of the GraphQL type PkgEqual. The GraphQL type's documentation follows.

PkgEqual is an attestation that a set of packages are similar.

func (*NodeNodePkgEqual) GetCollector

func (v *NodeNodePkgEqual) GetCollector() string

GetCollector returns NodeNodePkgEqual.Collector, and is useful for accessing the field via an interface.

func (*NodeNodePkgEqual) GetId

func (v *NodeNodePkgEqual) GetId() string

GetId returns NodeNodePkgEqual.Id, and is useful for accessing the field via an interface.

func (*NodeNodePkgEqual) GetJustification

func (v *NodeNodePkgEqual) GetJustification() string

GetJustification returns NodeNodePkgEqual.Justification, and is useful for accessing the field via an interface.

func (*NodeNodePkgEqual) GetOrigin

func (v *NodeNodePkgEqual) GetOrigin() string

GetOrigin returns NodeNodePkgEqual.Origin, and is useful for accessing the field via an interface.

func (*NodeNodePkgEqual) GetPackages

func (v *NodeNodePkgEqual) GetPackages() []AllPkgEqualPackagesPackage

GetPackages returns NodeNodePkgEqual.Packages, and is useful for accessing the field via an interface.

func (*NodeNodePkgEqual) GetTypename

func (v *NodeNodePkgEqual) GetTypename() *string

GetTypename returns NodeNodePkgEqual.Typename, and is useful for accessing the field via an interface.

func (*NodeNodePkgEqual) MarshalJSON

func (v *NodeNodePkgEqual) MarshalJSON() ([]byte, error)

func (*NodeNodePkgEqual) UnmarshalJSON

func (v *NodeNodePkgEqual) UnmarshalJSON(b []byte) error

type NodeNodePointOfContact added in v0.1.1

type NodeNodePointOfContact struct {
	Typename *string `json:"__typename"`
}

NodeNodePointOfContact includes the requested fields of the GraphQL type PointOfContact. The GraphQL type's documentation follows.

PointOfContact is an attestation of how to get in touch with the person(s) responsible for a package, source, or artifact.

All evidence trees record a justification for the property they represent as well as the document that contains the attestation (origin) and the collector that collected the document (collector).

The attestation applies to a subject which is a package, source, or artifact. If the attestation targets a package, it must target a PackageName or a PackageVersion. If the attestation targets a source, it must target a SourceName.

email is the email address (singular) of the point of contact.

info is additional contact information other than email address. This is free form.

NOTE: the identifiers for point of contact should be part of software trees. This will benefit from identifier look up and traversal as well as organization hierarchy. However, until the use case arises, PointOfContact will be a flat reference to the contact details.

func (*NodeNodePointOfContact) GetTypename added in v0.1.1

func (v *NodeNodePointOfContact) GetTypename() *string

GetTypename returns NodeNodePointOfContact.Typename, and is useful for accessing the field via an interface.

type NodeNodeSource

type NodeNodeSource struct {
	Typename      *string `json:"__typename"`
	AllSourceTree `json:"-"`
}

NodeNodeSource includes the requested fields of the GraphQL type Source. The GraphQL type's documentation follows.

Source represents the root of the source trie/tree.

We map source information to a trie, as a derivative of the pURL specification: each path in the trie represents a type, namespace, name and an optional qualifier that stands for tag/commit information.

This node represents the type part of the trie path. It is used to represent the version control system that is being used.

Since this node is at the root of the source trie, it is named Source, not SourceType.

func (*NodeNodeSource) GetId

func (v *NodeNodeSource) GetId() string

GetId returns NodeNodeSource.Id, and is useful for accessing the field via an interface.

func (*NodeNodeSource) GetNamespaces

GetNamespaces returns NodeNodeSource.Namespaces, and is useful for accessing the field via an interface.

func (*NodeNodeSource) GetType

func (v *NodeNodeSource) GetType() string

GetType returns NodeNodeSource.Type, and is useful for accessing the field via an interface.

func (*NodeNodeSource) GetTypename

func (v *NodeNodeSource) GetTypename() *string

GetTypename returns NodeNodeSource.Typename, and is useful for accessing the field via an interface.

func (*NodeNodeSource) MarshalJSON

func (v *NodeNodeSource) MarshalJSON() ([]byte, error)

func (*NodeNodeSource) UnmarshalJSON

func (v *NodeNodeSource) UnmarshalJSON(b []byte) error

type NodeResponse

type NodeResponse struct {
	// node returns a single node, regardless of type.
	//
	// The input is only specified by its ID.
	Node NodeNode `json:"-"`
}

NodeResponse is returned by Node on success.

func Node

func Node(
	ctx context.Context,
	client graphql.Client,
	node string,
) (*NodeResponse, error)

func (*NodeResponse) GetNode

func (v *NodeResponse) GetNode() NodeNode

GetNode returns NodeResponse.Node, and is useful for accessing the field via an interface.

func (*NodeResponse) MarshalJSON

func (v *NodeResponse) MarshalJSON() ([]byte, error)

func (*NodeResponse) UnmarshalJSON

func (v *NodeResponse) UnmarshalJSON(b []byte) error

type NodesNodesArtifact

type NodesNodesArtifact struct {
	Typename        *string `json:"__typename"`
	AllArtifactTree `json:"-"`
}

NodesNodesArtifact includes the requested fields of the GraphQL type Artifact. The GraphQL type's documentation follows.

Artifact represents an artifact identified by a checksum hash.

The checksum is split into the digest value and the algorithm used to generate it. Both fields are mandatory and canonicalized to be lowercase.

If having a checksum Go object, algorithm can be strings.ToLower(string(checksum.Algorithm)) and digest can be checksum.Value.

func (*NodesNodesArtifact) GetAlgorithm

func (v *NodesNodesArtifact) GetAlgorithm() string

GetAlgorithm returns NodesNodesArtifact.Algorithm, and is useful for accessing the field via an interface.

func (*NodesNodesArtifact) GetDigest

func (v *NodesNodesArtifact) GetDigest() string

GetDigest returns NodesNodesArtifact.Digest, and is useful for accessing the field via an interface.

func (*NodesNodesArtifact) GetId

func (v *NodesNodesArtifact) GetId() string

GetId returns NodesNodesArtifact.Id, and is useful for accessing the field via an interface.

func (*NodesNodesArtifact) GetTypename

func (v *NodesNodesArtifact) GetTypename() *string

GetTypename returns NodesNodesArtifact.Typename, and is useful for accessing the field via an interface.

func (*NodesNodesArtifact) MarshalJSON

func (v *NodesNodesArtifact) MarshalJSON() ([]byte, error)

func (*NodesNodesArtifact) UnmarshalJSON

func (v *NodesNodesArtifact) UnmarshalJSON(b []byte) error

type NodesNodesBuilder

type NodesNodesBuilder struct {
	Typename       *string `json:"__typename"`
	AllBuilderTree `json:"-"`
}

NodesNodesBuilder includes the requested fields of the GraphQL type Builder. The GraphQL type's documentation follows.

Builder represents the builder (e.g., FRSCA or GitHub Actions).

Currently builders are identified by the uri field.

func (*NodesNodesBuilder) GetId

func (v *NodesNodesBuilder) GetId() string

GetId returns NodesNodesBuilder.Id, and is useful for accessing the field via an interface.

func (*NodesNodesBuilder) GetTypename

func (v *NodesNodesBuilder) GetTypename() *string

GetTypename returns NodesNodesBuilder.Typename, and is useful for accessing the field via an interface.

func (*NodesNodesBuilder) GetUri

func (v *NodesNodesBuilder) GetUri() string

GetUri returns NodesNodesBuilder.Uri, and is useful for accessing the field via an interface.

func (*NodesNodesBuilder) MarshalJSON

func (v *NodesNodesBuilder) MarshalJSON() ([]byte, error)

func (*NodesNodesBuilder) UnmarshalJSON

func (v *NodesNodesBuilder) UnmarshalJSON(b []byte) error

type NodesNodesCVE

type NodesNodesCVE struct {
	Typename   *string `json:"__typename"`
	AllCveTree `json:"-"`
}

NodesNodesCVE includes the requested fields of the GraphQL type CVE. The GraphQL type's documentation follows.

CVE represents a vulnerability in the Common Vulnerabilities and Exposures schema.

The vulnerability identifier contains a year field, so we are extracting that to allow matching for vulnerabilities found in a given year.

The vulnerability identifier field is mandatory and canonicalized to be lowercase.

This node can be referred to by other parts of GUAC.

func (*NodesNodesCVE) GetCveId

func (v *NodesNodesCVE) GetCveId() string

GetCveId returns NodesNodesCVE.CveId, and is useful for accessing the field via an interface.

func (*NodesNodesCVE) GetId

func (v *NodesNodesCVE) GetId() string

GetId returns NodesNodesCVE.Id, and is useful for accessing the field via an interface.

func (*NodesNodesCVE) GetTypename

func (v *NodesNodesCVE) GetTypename() *string

GetTypename returns NodesNodesCVE.Typename, and is useful for accessing the field via an interface.

func (*NodesNodesCVE) GetYear

func (v *NodesNodesCVE) GetYear() int

GetYear returns NodesNodesCVE.Year, and is useful for accessing the field via an interface.

func (*NodesNodesCVE) MarshalJSON

func (v *NodesNodesCVE) MarshalJSON() ([]byte, error)

func (*NodesNodesCVE) UnmarshalJSON

func (v *NodesNodesCVE) UnmarshalJSON(b []byte) error

type NodesNodesCertifyBad

type NodesNodesCertifyBad struct {
	Typename      *string `json:"__typename"`
	AllCertifyBad `json:"-"`
}

NodesNodesCertifyBad includes the requested fields of the GraphQL type CertifyBad. The GraphQL type's documentation follows.

CertifyBad is an attestation that a package, source, or artifact is considered bad.

All evidence trees record a justification for the property they represent as well as the document that contains the attestation (origin) and the collector that collected the document (collector).

The certification applies to a subject which is a package, source, or artifact. If the attestation targets a package, it must target a PackageName or a PackageVersion. If the attestation targets a source, it must target a SourceName.

func (*NodesNodesCertifyBad) GetCollector

func (v *NodesNodesCertifyBad) GetCollector() string

GetCollector returns NodesNodesCertifyBad.Collector, and is useful for accessing the field via an interface.

func (*NodesNodesCertifyBad) GetId

func (v *NodesNodesCertifyBad) GetId() string

GetId returns NodesNodesCertifyBad.Id, and is useful for accessing the field via an interface.

func (*NodesNodesCertifyBad) GetJustification

func (v *NodesNodesCertifyBad) GetJustification() string

GetJustification returns NodesNodesCertifyBad.Justification, and is useful for accessing the field via an interface.

func (*NodesNodesCertifyBad) GetOrigin

func (v *NodesNodesCertifyBad) GetOrigin() string

GetOrigin returns NodesNodesCertifyBad.Origin, and is useful for accessing the field via an interface.

func (*NodesNodesCertifyBad) GetSubject

GetSubject returns NodesNodesCertifyBad.Subject, and is useful for accessing the field via an interface.

func (*NodesNodesCertifyBad) GetTypename

func (v *NodesNodesCertifyBad) GetTypename() *string

GetTypename returns NodesNodesCertifyBad.Typename, and is useful for accessing the field via an interface.

func (*NodesNodesCertifyBad) MarshalJSON

func (v *NodesNodesCertifyBad) MarshalJSON() ([]byte, error)

func (*NodesNodesCertifyBad) UnmarshalJSON

func (v *NodesNodesCertifyBad) UnmarshalJSON(b []byte) error

type NodesNodesCertifyGood

type NodesNodesCertifyGood struct {
	Typename       *string `json:"__typename"`
	AllCertifyGood `json:"-"`
}

NodesNodesCertifyGood includes the requested fields of the GraphQL type CertifyGood. The GraphQL type's documentation follows.

CertifyGood is an attestation that a package, source, or artifact is considered good.

All evidence trees record a justification for the property they represent as well as the document that contains the attestation (origin) and the collector that collected the document (collector).

The certification applies to a subject which is a package, source, or artifact. If the attestation targets a package, it must target a PackageName or a PackageVersion. If the attestation targets a source, it must target a SourceName.

func (*NodesNodesCertifyGood) GetCollector

func (v *NodesNodesCertifyGood) GetCollector() string

GetCollector returns NodesNodesCertifyGood.Collector, and is useful for accessing the field via an interface.

func (*NodesNodesCertifyGood) GetId

func (v *NodesNodesCertifyGood) GetId() string

GetId returns NodesNodesCertifyGood.Id, and is useful for accessing the field via an interface.

func (*NodesNodesCertifyGood) GetJustification

func (v *NodesNodesCertifyGood) GetJustification() string

GetJustification returns NodesNodesCertifyGood.Justification, and is useful for accessing the field via an interface.

func (*NodesNodesCertifyGood) GetOrigin

func (v *NodesNodesCertifyGood) GetOrigin() string

GetOrigin returns NodesNodesCertifyGood.Origin, and is useful for accessing the field via an interface.

func (*NodesNodesCertifyGood) GetSubject

GetSubject returns NodesNodesCertifyGood.Subject, and is useful for accessing the field via an interface.

func (*NodesNodesCertifyGood) GetTypename

func (v *NodesNodesCertifyGood) GetTypename() *string

GetTypename returns NodesNodesCertifyGood.Typename, and is useful for accessing the field via an interface.

func (*NodesNodesCertifyGood) MarshalJSON

func (v *NodesNodesCertifyGood) MarshalJSON() ([]byte, error)

func (*NodesNodesCertifyGood) UnmarshalJSON

func (v *NodesNodesCertifyGood) UnmarshalJSON(b []byte) error

type NodesNodesCertifyScorecard

type NodesNodesCertifyScorecard struct {
	Typename            *string `json:"__typename"`
	AllCertifyScorecard `json:"-"`
}

NodesNodesCertifyScorecard includes the requested fields of the GraphQL type CertifyScorecard. The GraphQL type's documentation follows.

CertifyScorecard is an attestation to attach a Scorecard analysis to a particular source repository.

func (*NodesNodesCertifyScorecard) GetId

GetId returns NodesNodesCertifyScorecard.Id, and is useful for accessing the field via an interface.

func (*NodesNodesCertifyScorecard) GetScorecard

GetScorecard returns NodesNodesCertifyScorecard.Scorecard, and is useful for accessing the field via an interface.

func (*NodesNodesCertifyScorecard) GetSource

GetSource returns NodesNodesCertifyScorecard.Source, and is useful for accessing the field via an interface.

func (*NodesNodesCertifyScorecard) GetTypename

func (v *NodesNodesCertifyScorecard) GetTypename() *string

GetTypename returns NodesNodesCertifyScorecard.Typename, and is useful for accessing the field via an interface.

func (*NodesNodesCertifyScorecard) MarshalJSON

func (v *NodesNodesCertifyScorecard) MarshalJSON() ([]byte, error)

func (*NodesNodesCertifyScorecard) UnmarshalJSON

func (v *NodesNodesCertifyScorecard) UnmarshalJSON(b []byte) error

type NodesNodesCertifyVEXStatement

type NodesNodesCertifyVEXStatement struct {
	Typename               *string `json:"__typename"`
	AllCertifyVEXStatement `json:"-"`
}

NodesNodesCertifyVEXStatement includes the requested fields of the GraphQL type CertifyVEXStatement. The GraphQL type's documentation follows.

CertifyVEXStatement is an attestation to attach VEX statements to a package or artifact to clarify the impact of a specific vulnerability (CVE, GHSA or OSV).

func (*NodesNodesCertifyVEXStatement) GetCollector

func (v *NodesNodesCertifyVEXStatement) GetCollector() string

GetCollector returns NodesNodesCertifyVEXStatement.Collector, and is useful for accessing the field via an interface.

func (*NodesNodesCertifyVEXStatement) GetId

GetId returns NodesNodesCertifyVEXStatement.Id, and is useful for accessing the field via an interface.

func (*NodesNodesCertifyVEXStatement) GetKnownSince

func (v *NodesNodesCertifyVEXStatement) GetKnownSince() time.Time

GetKnownSince returns NodesNodesCertifyVEXStatement.KnownSince, and is useful for accessing the field via an interface.

func (*NodesNodesCertifyVEXStatement) GetOrigin

func (v *NodesNodesCertifyVEXStatement) GetOrigin() string

GetOrigin returns NodesNodesCertifyVEXStatement.Origin, and is useful for accessing the field via an interface.

func (*NodesNodesCertifyVEXStatement) GetStatement

func (v *NodesNodesCertifyVEXStatement) GetStatement() string

GetStatement returns NodesNodesCertifyVEXStatement.Statement, and is useful for accessing the field via an interface.

func (*NodesNodesCertifyVEXStatement) GetStatus

GetStatus returns NodesNodesCertifyVEXStatement.Status, and is useful for accessing the field via an interface.

func (*NodesNodesCertifyVEXStatement) GetStatusNotes

func (v *NodesNodesCertifyVEXStatement) GetStatusNotes() string

GetStatusNotes returns NodesNodesCertifyVEXStatement.StatusNotes, and is useful for accessing the field via an interface.

func (*NodesNodesCertifyVEXStatement) GetSubject

GetSubject returns NodesNodesCertifyVEXStatement.Subject, and is useful for accessing the field via an interface.

func (*NodesNodesCertifyVEXStatement) GetTypename

func (v *NodesNodesCertifyVEXStatement) GetTypename() *string

GetTypename returns NodesNodesCertifyVEXStatement.Typename, and is useful for accessing the field via an interface.

func (*NodesNodesCertifyVEXStatement) GetVexJustification

func (v *NodesNodesCertifyVEXStatement) GetVexJustification() VexJustification

GetVexJustification returns NodesNodesCertifyVEXStatement.VexJustification, and is useful for accessing the field via an interface.

func (*NodesNodesCertifyVEXStatement) GetVulnerability

GetVulnerability returns NodesNodesCertifyVEXStatement.Vulnerability, and is useful for accessing the field via an interface.

func (*NodesNodesCertifyVEXStatement) MarshalJSON

func (v *NodesNodesCertifyVEXStatement) MarshalJSON() ([]byte, error)

func (*NodesNodesCertifyVEXStatement) UnmarshalJSON

func (v *NodesNodesCertifyVEXStatement) UnmarshalJSON(b []byte) error

type NodesNodesCertifyVuln

type NodesNodesCertifyVuln struct {
	Typename       *string `json:"__typename"`
	AllCertifyVuln `json:"-"`
}

NodesNodesCertifyVuln includes the requested fields of the GraphQL type CertifyVuln. The GraphQL type's documentation follows.

CertifyVuln is an attestation to attach vulnerability information to a package.

This information is obtained via a scanner. If there is no vulnerability detected (no OSV, CVE, or GHSA), we attach the special NoVuln node.

func (*NodesNodesCertifyVuln) GetId

func (v *NodesNodesCertifyVuln) GetId() string

GetId returns NodesNodesCertifyVuln.Id, and is useful for accessing the field via an interface.

func (*NodesNodesCertifyVuln) GetMetadata

GetMetadata returns NodesNodesCertifyVuln.Metadata, and is useful for accessing the field via an interface.

func (*NodesNodesCertifyVuln) GetPackage

GetPackage returns NodesNodesCertifyVuln.Package, and is useful for accessing the field via an interface.

func (*NodesNodesCertifyVuln) GetTypename

func (v *NodesNodesCertifyVuln) GetTypename() *string

GetTypename returns NodesNodesCertifyVuln.Typename, and is useful for accessing the field via an interface.

func (*NodesNodesCertifyVuln) GetVulnerability

func (v *NodesNodesCertifyVuln) GetVulnerability() AllCertifyVulnVulnerability

GetVulnerability returns NodesNodesCertifyVuln.Vulnerability, and is useful for accessing the field via an interface.

func (*NodesNodesCertifyVuln) MarshalJSON

func (v *NodesNodesCertifyVuln) MarshalJSON() ([]byte, error)

func (*NodesNodesCertifyVuln) UnmarshalJSON

func (v *NodesNodesCertifyVuln) UnmarshalJSON(b []byte) error

type NodesNodesGHSA

type NodesNodesGHSA struct {
	Typename    *string `json:"__typename"`
	AllGHSATree `json:"-"`
}

NodesNodesGHSA includes the requested fields of the GraphQL type GHSA. The GraphQL type's documentation follows.

GHSA represents GitHub security advisories.

The advisory id field is mandatory and canonicalized to be lowercase.

This node can be referred to by other parts of GUAC.

func (*NodesNodesGHSA) GetGhsaId

func (v *NodesNodesGHSA) GetGhsaId() string

GetGhsaId returns NodesNodesGHSA.GhsaId, and is useful for accessing the field via an interface.

func (*NodesNodesGHSA) GetId

func (v *NodesNodesGHSA) GetId() string

GetId returns NodesNodesGHSA.Id, and is useful for accessing the field via an interface.

func (*NodesNodesGHSA) GetTypename

func (v *NodesNodesGHSA) GetTypename() *string

GetTypename returns NodesNodesGHSA.Typename, and is useful for accessing the field via an interface.

func (*NodesNodesGHSA) MarshalJSON

func (v *NodesNodesGHSA) MarshalJSON() ([]byte, error)

func (*NodesNodesGHSA) UnmarshalJSON

func (v *NodesNodesGHSA) UnmarshalJSON(b []byte) error

type NodesNodesHasMetadata added in v0.1.1

type NodesNodesHasMetadata struct {
	Typename *string `json:"__typename"`
}

NodesNodesHasMetadata includes the requested fields of the GraphQL type HasMetadata. The GraphQL type's documentation follows.

HasMetadata is an attestation that a package, source, or artifact has a certain attested property (key) with value (value). For example, a source may have metadata "SourceRepo2FAEnabled=true".

The intent of this evidence tree predicate is to allow extensibility of metadata expressible within the GUAC ontology. Metadata that is commonly used will then be promoted to a predicate on its own.

Justification indicates how the metadata was determined.

The metadata applies to a subject which is a package, source, or artifact. If the attestation targets a package, it must target a PackageName or a PackageVersion. If the attestation targets a source, it must target a SourceName.

func (*NodesNodesHasMetadata) GetTypename added in v0.1.1

func (v *NodesNodesHasMetadata) GetTypename() *string

GetTypename returns NodesNodesHasMetadata.Typename, and is useful for accessing the field via an interface.

type NodesNodesHasSBOM

type NodesNodesHasSBOM struct {
	Typename       *string `json:"__typename"`
	AllHasSBOMTree `json:"-"`
}

NodesNodesHasSBOM includes the requested fields of the GraphQL type HasSBOM.

func (*NodesNodesHasSBOM) GetAlgorithm

func (v *NodesNodesHasSBOM) GetAlgorithm() string

GetAlgorithm returns NodesNodesHasSBOM.Algorithm, and is useful for accessing the field via an interface.

func (*NodesNodesHasSBOM) GetCollector

func (v *NodesNodesHasSBOM) GetCollector() string

GetCollector returns NodesNodesHasSBOM.Collector, and is useful for accessing the field via an interface.

func (*NodesNodesHasSBOM) GetDigest

func (v *NodesNodesHasSBOM) GetDigest() string

GetDigest returns NodesNodesHasSBOM.Digest, and is useful for accessing the field via an interface.

func (*NodesNodesHasSBOM) GetDownloadLocation

func (v *NodesNodesHasSBOM) GetDownloadLocation() string

GetDownloadLocation returns NodesNodesHasSBOM.DownloadLocation, and is useful for accessing the field via an interface.

func (*NodesNodesHasSBOM) GetId

func (v *NodesNodesHasSBOM) GetId() string

GetId returns NodesNodesHasSBOM.Id, and is useful for accessing the field via an interface.

func (*NodesNodesHasSBOM) GetOrigin

func (v *NodesNodesHasSBOM) GetOrigin() string

GetOrigin returns NodesNodesHasSBOM.Origin, and is useful for accessing the field via an interface.

func (*NodesNodesHasSBOM) GetSubject

GetSubject returns NodesNodesHasSBOM.Subject, and is useful for accessing the field via an interface.

func (*NodesNodesHasSBOM) GetTypename

func (v *NodesNodesHasSBOM) GetTypename() *string

GetTypename returns NodesNodesHasSBOM.Typename, and is useful for accessing the field via an interface.

func (*NodesNodesHasSBOM) GetUri

func (v *NodesNodesHasSBOM) GetUri() string

GetUri returns NodesNodesHasSBOM.Uri, and is useful for accessing the field via an interface.

func (*NodesNodesHasSBOM) MarshalJSON

func (v *NodesNodesHasSBOM) MarshalJSON() ([]byte, error)

func (*NodesNodesHasSBOM) UnmarshalJSON

func (v *NodesNodesHasSBOM) UnmarshalJSON(b []byte) error

type NodesNodesHasSLSA

type NodesNodesHasSLSA struct {
	Typename    *string `json:"__typename"`
	AllSLSATree `json:"-"`
}

NodesNodesHasSLSA includes the requested fields of the GraphQL type HasSLSA. The GraphQL type's documentation follows.

HasSLSA records that a subject node has a SLSA attestation.

func (*NodesNodesHasSLSA) GetId

func (v *NodesNodesHasSLSA) GetId() string

GetId returns NodesNodesHasSLSA.Id, and is useful for accessing the field via an interface.

func (*NodesNodesHasSLSA) GetSlsa

GetSlsa returns NodesNodesHasSLSA.Slsa, and is useful for accessing the field via an interface.

func (*NodesNodesHasSLSA) GetSubject

GetSubject returns NodesNodesHasSLSA.Subject, and is useful for accessing the field via an interface.

func (*NodesNodesHasSLSA) GetTypename

func (v *NodesNodesHasSLSA) GetTypename() *string

GetTypename returns NodesNodesHasSLSA.Typename, and is useful for accessing the field via an interface.

func (*NodesNodesHasSLSA) MarshalJSON

func (v *NodesNodesHasSLSA) MarshalJSON() ([]byte, error)

func (*NodesNodesHasSLSA) UnmarshalJSON

func (v *NodesNodesHasSLSA) UnmarshalJSON(b []byte) error

type NodesNodesHasSourceAt

type NodesNodesHasSourceAt struct {
	Typename       *string `json:"__typename"`
	AllHasSourceAt `json:"-"`
}

NodesNodesHasSourceAt includes the requested fields of the GraphQL type HasSourceAt. The GraphQL type's documentation follows.

HasSourceAt records that a package's repository is a given source.

func (*NodesNodesHasSourceAt) GetCollector

func (v *NodesNodesHasSourceAt) GetCollector() string

GetCollector returns NodesNodesHasSourceAt.Collector, and is useful for accessing the field via an interface.

func (*NodesNodesHasSourceAt) GetId

func (v *NodesNodesHasSourceAt) GetId() string

GetId returns NodesNodesHasSourceAt.Id, and is useful for accessing the field via an interface.

func (*NodesNodesHasSourceAt) GetJustification

func (v *NodesNodesHasSourceAt) GetJustification() string

GetJustification returns NodesNodesHasSourceAt.Justification, and is useful for accessing the field via an interface.

func (*NodesNodesHasSourceAt) GetKnownSince

func (v *NodesNodesHasSourceAt) GetKnownSince() time.Time

GetKnownSince returns NodesNodesHasSourceAt.KnownSince, and is useful for accessing the field via an interface.

func (*NodesNodesHasSourceAt) GetOrigin

func (v *NodesNodesHasSourceAt) GetOrigin() string

GetOrigin returns NodesNodesHasSourceAt.Origin, and is useful for accessing the field via an interface.

func (*NodesNodesHasSourceAt) GetPackage

GetPackage returns NodesNodesHasSourceAt.Package, and is useful for accessing the field via an interface.

func (*NodesNodesHasSourceAt) GetSource

GetSource returns NodesNodesHasSourceAt.Source, and is useful for accessing the field via an interface.

func (*NodesNodesHasSourceAt) GetTypename

func (v *NodesNodesHasSourceAt) GetTypename() *string

GetTypename returns NodesNodesHasSourceAt.Typename, and is useful for accessing the field via an interface.

func (*NodesNodesHasSourceAt) MarshalJSON

func (v *NodesNodesHasSourceAt) MarshalJSON() ([]byte, error)

func (*NodesNodesHasSourceAt) UnmarshalJSON

func (v *NodesNodesHasSourceAt) UnmarshalJSON(b []byte) error

type NodesNodesHashEqual

type NodesNodesHashEqual struct {
	Typename         *string `json:"__typename"`
	AllHashEqualTree `json:"-"`
}

NodesNodesHashEqual includes the requested fields of the GraphQL type HashEqual. The GraphQL type's documentation follows.

HashEqual is an attestation that a set of artifacts are identical.

func (*NodesNodesHashEqual) GetArtifacts

GetArtifacts returns NodesNodesHashEqual.Artifacts, and is useful for accessing the field via an interface.

func (*NodesNodesHashEqual) GetCollector

func (v *NodesNodesHashEqual) GetCollector() string

GetCollector returns NodesNodesHashEqual.Collector, and is useful for accessing the field via an interface.

func (*NodesNodesHashEqual) GetId

func (v *NodesNodesHashEqual) GetId() string

GetId returns NodesNodesHashEqual.Id, and is useful for accessing the field via an interface.

func (*NodesNodesHashEqual) GetJustification

func (v *NodesNodesHashEqual) GetJustification() string

GetJustification returns NodesNodesHashEqual.Justification, and is useful for accessing the field via an interface.

func (*NodesNodesHashEqual) GetOrigin

func (v *NodesNodesHashEqual) GetOrigin() string

GetOrigin returns NodesNodesHashEqual.Origin, and is useful for accessing the field via an interface.

func (*NodesNodesHashEqual) GetTypename

func (v *NodesNodesHashEqual) GetTypename() *string

GetTypename returns NodesNodesHashEqual.Typename, and is useful for accessing the field via an interface.

func (*NodesNodesHashEqual) MarshalJSON

func (v *NodesNodesHashEqual) MarshalJSON() ([]byte, error)

func (*NodesNodesHashEqual) UnmarshalJSON

func (v *NodesNodesHashEqual) UnmarshalJSON(b []byte) error

type NodesNodesIsDependency

type NodesNodesIsDependency struct {
	Typename            *string `json:"__typename"`
	AllIsDependencyTree `json:"-"`
}

NodesNodesIsDependency includes the requested fields of the GraphQL type IsDependency. The GraphQL type's documentation follows.

IsDependency is an attestation to record that a package depends on another.

func (*NodesNodesIsDependency) GetCollector

func (v *NodesNodesIsDependency) GetCollector() string

GetCollector returns NodesNodesIsDependency.Collector, and is useful for accessing the field via an interface.

func (*NodesNodesIsDependency) GetDependencyType

func (v *NodesNodesIsDependency) GetDependencyType() DependencyType

GetDependencyType returns NodesNodesIsDependency.DependencyType, and is useful for accessing the field via an interface.

func (*NodesNodesIsDependency) GetDependentPackage

GetDependentPackage returns NodesNodesIsDependency.DependentPackage, and is useful for accessing the field via an interface.

func (*NodesNodesIsDependency) GetId

func (v *NodesNodesIsDependency) GetId() string

GetId returns NodesNodesIsDependency.Id, and is useful for accessing the field via an interface.

func (*NodesNodesIsDependency) GetJustification

func (v *NodesNodesIsDependency) GetJustification() string

GetJustification returns NodesNodesIsDependency.Justification, and is useful for accessing the field via an interface.

func (*NodesNodesIsDependency) GetOrigin

func (v *NodesNodesIsDependency) GetOrigin() string

GetOrigin returns NodesNodesIsDependency.Origin, and is useful for accessing the field via an interface.

func (*NodesNodesIsDependency) GetPackage

GetPackage returns NodesNodesIsDependency.Package, and is useful for accessing the field via an interface.

func (*NodesNodesIsDependency) GetTypename

func (v *NodesNodesIsDependency) GetTypename() *string

GetTypename returns NodesNodesIsDependency.Typename, and is useful for accessing the field via an interface.

func (*NodesNodesIsDependency) GetVersionRange

func (v *NodesNodesIsDependency) GetVersionRange() string

GetVersionRange returns NodesNodesIsDependency.VersionRange, and is useful for accessing the field via an interface.

func (*NodesNodesIsDependency) MarshalJSON

func (v *NodesNodesIsDependency) MarshalJSON() ([]byte, error)

func (*NodesNodesIsDependency) UnmarshalJSON

func (v *NodesNodesIsDependency) UnmarshalJSON(b []byte) error

type NodesNodesIsOccurrence

type NodesNodesIsOccurrence struct {
	Typename             *string `json:"__typename"`
	AllIsOccurrencesTree `json:"-"`
}

NodesNodesIsOccurrence includes the requested fields of the GraphQL type IsOccurrence. The GraphQL type's documentation follows.

IsOccurrence is an attestation to link an artifact to a package or source.

Attestation must occur at the PackageVersion or at the SourceName.

func (*NodesNodesIsOccurrence) GetArtifact

GetArtifact returns NodesNodesIsOccurrence.Artifact, and is useful for accessing the field via an interface.

func (*NodesNodesIsOccurrence) GetCollector

func (v *NodesNodesIsOccurrence) GetCollector() string

GetCollector returns NodesNodesIsOccurrence.Collector, and is useful for accessing the field via an interface.

func (*NodesNodesIsOccurrence) GetId

func (v *NodesNodesIsOccurrence) GetId() string

GetId returns NodesNodesIsOccurrence.Id, and is useful for accessing the field via an interface.

func (*NodesNodesIsOccurrence) GetJustification

func (v *NodesNodesIsOccurrence) GetJustification() string

GetJustification returns NodesNodesIsOccurrence.Justification, and is useful for accessing the field via an interface.

func (*NodesNodesIsOccurrence) GetOrigin

func (v *NodesNodesIsOccurrence) GetOrigin() string

GetOrigin returns NodesNodesIsOccurrence.Origin, and is useful for accessing the field via an interface.

func (*NodesNodesIsOccurrence) GetSubject

GetSubject returns NodesNodesIsOccurrence.Subject, and is useful for accessing the field via an interface.

func (*NodesNodesIsOccurrence) GetTypename

func (v *NodesNodesIsOccurrence) GetTypename() *string

GetTypename returns NodesNodesIsOccurrence.Typename, and is useful for accessing the field via an interface.

func (*NodesNodesIsOccurrence) MarshalJSON

func (v *NodesNodesIsOccurrence) MarshalJSON() ([]byte, error)

func (*NodesNodesIsOccurrence) UnmarshalJSON

func (v *NodesNodesIsOccurrence) UnmarshalJSON(b []byte) error

type NodesNodesIsVulnerability

type NodesNodesIsVulnerability struct {
	Typename           *string `json:"__typename"`
	AllIsVulnerability `json:"-"`
}

NodesNodesIsVulnerability includes the requested fields of the GraphQL type IsVulnerability. The GraphQL type's documentation follows.

IsVulnerability is an attestation to link CVE/GHSA with data in OSV.

func (*NodesNodesIsVulnerability) GetCollector

func (v *NodesNodesIsVulnerability) GetCollector() string

GetCollector returns NodesNodesIsVulnerability.Collector, and is useful for accessing the field via an interface.

func (*NodesNodesIsVulnerability) GetId

func (v *NodesNodesIsVulnerability) GetId() string

GetId returns NodesNodesIsVulnerability.Id, and is useful for accessing the field via an interface.

func (*NodesNodesIsVulnerability) GetJustification

func (v *NodesNodesIsVulnerability) GetJustification() string

GetJustification returns NodesNodesIsVulnerability.Justification, and is useful for accessing the field via an interface.

func (*NodesNodesIsVulnerability) GetOrigin

func (v *NodesNodesIsVulnerability) GetOrigin() string

GetOrigin returns NodesNodesIsVulnerability.Origin, and is useful for accessing the field via an interface.

func (*NodesNodesIsVulnerability) GetOsv

GetOsv returns NodesNodesIsVulnerability.Osv, and is useful for accessing the field via an interface.

func (*NodesNodesIsVulnerability) GetTypename

func (v *NodesNodesIsVulnerability) GetTypename() *string

GetTypename returns NodesNodesIsVulnerability.Typename, and is useful for accessing the field via an interface.

func (*NodesNodesIsVulnerability) GetVulnerability

GetVulnerability returns NodesNodesIsVulnerability.Vulnerability, and is useful for accessing the field via an interface.

func (*NodesNodesIsVulnerability) MarshalJSON

func (v *NodesNodesIsVulnerability) MarshalJSON() ([]byte, error)

func (*NodesNodesIsVulnerability) UnmarshalJSON

func (v *NodesNodesIsVulnerability) UnmarshalJSON(b []byte) error

type NodesNodesNoVuln

type NodesNodesNoVuln struct {
	Typename *string `json:"__typename"`
	Id       string  `json:"id"`
}

NodesNodesNoVuln includes the requested fields of the GraphQL type NoVuln. The GraphQL type's documentation follows.

NoVuln is a special vulnerability node to attest that no vulnerability has been found during a vulnerability scan.

Backends guarantee that this is a singleton node.

func (*NodesNodesNoVuln) GetId

func (v *NodesNodesNoVuln) GetId() string

GetId returns NodesNodesNoVuln.Id, and is useful for accessing the field via an interface.

func (*NodesNodesNoVuln) GetTypename

func (v *NodesNodesNoVuln) GetTypename() *string

GetTypename returns NodesNodesNoVuln.Typename, and is useful for accessing the field via an interface.

type NodesNodesNode

type NodesNodesNode interface {

	// GetTypename returns the receiver's concrete GraphQL type-name (see interface doc for possible values).
	GetTypename() *string
	// contains filtered or unexported methods
}

NodesNodesNode includes the requested fields of the GraphQL interface Node.

NodesNodesNode is implemented by the following types: NodesNodesArtifact NodesNodesBuilder NodesNodesCVE NodesNodesCertifyBad NodesNodesCertifyGood NodesNodesCertifyScorecard NodesNodesCertifyVEXStatement NodesNodesCertifyVuln NodesNodesGHSA NodesNodesHasMetadata NodesNodesHasSBOM NodesNodesHasSLSA NodesNodesHasSourceAt NodesNodesHashEqual NodesNodesIsDependency NodesNodesIsOccurrence NodesNodesIsVulnerability NodesNodesNoVuln NodesNodesOSV NodesNodesPackage NodesNodesPkgEqual NodesNodesPointOfContact NodesNodesSource The GraphQL type's documentation follows.

Node is a union type of all the possible nodes.

It encapsulates the software tree nodes along with the evidence nodes. In a path query, all connecting evidence nodes along with their intermediate subject nodes need to be returned in order to create a complete graph.

type NodesNodesOSV

type NodesNodesOSV struct {
	Typename   *string `json:"__typename"`
	AllOSVTree `json:"-"`
}

NodesNodesOSV includes the requested fields of the GraphQL type OSV. The GraphQL type's documentation follows.

OSV represents an Open Source Vulnerability.

The osvId field is mandatory and canonicalized to be lowercase.

This maps to a vulnerability ID specific to the environment (e.g., GHSA ID or CVE ID).

This node can be referred to by other parts of GUAC.

func (*NodesNodesOSV) GetId

func (v *NodesNodesOSV) GetId() string

GetId returns NodesNodesOSV.Id, and is useful for accessing the field via an interface.

func (*NodesNodesOSV) GetOsvId

func (v *NodesNodesOSV) GetOsvId() string

GetOsvId returns NodesNodesOSV.OsvId, and is useful for accessing the field via an interface.

func (*NodesNodesOSV) GetTypename

func (v *NodesNodesOSV) GetTypename() *string

GetTypename returns NodesNodesOSV.Typename, and is useful for accessing the field via an interface.

func (*NodesNodesOSV) MarshalJSON

func (v *NodesNodesOSV) MarshalJSON() ([]byte, error)

func (*NodesNodesOSV) UnmarshalJSON

func (v *NodesNodesOSV) UnmarshalJSON(b []byte) error

type NodesNodesPackage

type NodesNodesPackage struct {
	Typename   *string `json:"__typename"`
	AllPkgTree `json:"-"`
}

NodesNodesPackage includes the requested fields of the GraphQL type Package. The GraphQL type's documentation follows.

Package represents the root of the package trie/tree.

We map package information to a trie, closely matching the pURL specification (https://github.com/package-url/purl-spec/blob/0dd92f26f8bb11956ffdf5e8acfcee71e8560407/README.rst), but deviating from it where GUAC heuristics allow for better representation of package information. Each path in the trie fully represents a package; we split the trie based on the pURL components.

This node matches a pkg:<type> partial pURL. The type field matches the pURL types but we might also use "guac" for the cases where the pURL representation is not complete or when we have custom rules.

Since this node is at the root of the package trie, it is named Package, not PackageType.

func (*NodesNodesPackage) GetId

func (v *NodesNodesPackage) GetId() string

GetId returns NodesNodesPackage.Id, and is useful for accessing the field via an interface.

func (*NodesNodesPackage) GetNamespaces

GetNamespaces returns NodesNodesPackage.Namespaces, and is useful for accessing the field via an interface.

func (*NodesNodesPackage) GetType

func (v *NodesNodesPackage) GetType() string

GetType returns NodesNodesPackage.Type, and is useful for accessing the field via an interface.

func (*NodesNodesPackage) GetTypename

func (v *NodesNodesPackage) GetTypename() *string

GetTypename returns NodesNodesPackage.Typename, and is useful for accessing the field via an interface.

func (*NodesNodesPackage) MarshalJSON

func (v *NodesNodesPackage) MarshalJSON() ([]byte, error)

func (*NodesNodesPackage) UnmarshalJSON

func (v *NodesNodesPackage) UnmarshalJSON(b []byte) error

type NodesNodesPkgEqual

type NodesNodesPkgEqual struct {
	Typename    *string `json:"__typename"`
	AllPkgEqual `json:"-"`
}

NodesNodesPkgEqual includes the requested fields of the GraphQL type PkgEqual. The GraphQL type's documentation follows.

PkgEqual is an attestation that a set of packages are similar.

func (*NodesNodesPkgEqual) GetCollector

func (v *NodesNodesPkgEqual) GetCollector() string

GetCollector returns NodesNodesPkgEqual.Collector, and is useful for accessing the field via an interface.

func (*NodesNodesPkgEqual) GetId

func (v *NodesNodesPkgEqual) GetId() string

GetId returns NodesNodesPkgEqual.Id, and is useful for accessing the field via an interface.

func (*NodesNodesPkgEqual) GetJustification

func (v *NodesNodesPkgEqual) GetJustification() string

GetJustification returns NodesNodesPkgEqual.Justification, and is useful for accessing the field via an interface.

func (*NodesNodesPkgEqual) GetOrigin

func (v *NodesNodesPkgEqual) GetOrigin() string

GetOrigin returns NodesNodesPkgEqual.Origin, and is useful for accessing the field via an interface.

func (*NodesNodesPkgEqual) GetPackages

GetPackages returns NodesNodesPkgEqual.Packages, and is useful for accessing the field via an interface.

func (*NodesNodesPkgEqual) GetTypename

func (v *NodesNodesPkgEqual) GetTypename() *string

GetTypename returns NodesNodesPkgEqual.Typename, and is useful for accessing the field via an interface.

func (*NodesNodesPkgEqual) MarshalJSON

func (v *NodesNodesPkgEqual) MarshalJSON() ([]byte, error)

func (*NodesNodesPkgEqual) UnmarshalJSON

func (v *NodesNodesPkgEqual) UnmarshalJSON(b []byte) error

type NodesNodesPointOfContact added in v0.1.1

type NodesNodesPointOfContact struct {
	Typename *string `json:"__typename"`
}

NodesNodesPointOfContact includes the requested fields of the GraphQL type PointOfContact. The GraphQL type's documentation follows.

PointOfContact is an attestation of how to get in touch with the person(s) responsible for a package, source, or artifact.

All evidence trees record a justification for the property they represent as well as the document that contains the attestation (origin) and the collector that collected the document (collector).

The attestation applies to a subject which is a package, source, or artifact. If the attestation targets a package, it must target a PackageName or a PackageVersion. If the attestation targets a source, it must target a SourceName.

email is the email address (singular) of the point of contact.

info is additional contact information other than email address. This is free form.

NOTE: the identifiers for point of contact should be part of software trees. This will benefit from identifier look up and traversal as well as organization hierarchy. However, until the use case arises, PointOfContact will be a flat reference to the contact details.

func (*NodesNodesPointOfContact) GetTypename added in v0.1.1

func (v *NodesNodesPointOfContact) GetTypename() *string

GetTypename returns NodesNodesPointOfContact.Typename, and is useful for accessing the field via an interface.

type NodesNodesSource

type NodesNodesSource struct {
	Typename      *string `json:"__typename"`
	AllSourceTree `json:"-"`
}

NodesNodesSource includes the requested fields of the GraphQL type Source. The GraphQL type's documentation follows.

Source represents the root of the source trie/tree.

We map source information to a trie, as a derivative of the pURL specification: each path in the trie represents a type, namespace, name and an optional qualifier that stands for tag/commit information.

This node represents the type part of the trie path. It is used to represent the version control system that is being used.

Since this node is at the root of the source trie, it is named Source, not SourceType.

func (*NodesNodesSource) GetId

func (v *NodesNodesSource) GetId() string

GetId returns NodesNodesSource.Id, and is useful for accessing the field via an interface.

func (*NodesNodesSource) GetNamespaces

GetNamespaces returns NodesNodesSource.Namespaces, and is useful for accessing the field via an interface.

func (*NodesNodesSource) GetType

func (v *NodesNodesSource) GetType() string

GetType returns NodesNodesSource.Type, and is useful for accessing the field via an interface.

func (*NodesNodesSource) GetTypename

func (v *NodesNodesSource) GetTypename() *string

GetTypename returns NodesNodesSource.Typename, and is useful for accessing the field via an interface.

func (*NodesNodesSource) MarshalJSON

func (v *NodesNodesSource) MarshalJSON() ([]byte, error)

func (*NodesNodesSource) UnmarshalJSON

func (v *NodesNodesSource) UnmarshalJSON(b []byte) error

type NodesResponse

type NodesResponse struct {
	// nodes returns an array of nodes, regardless of type.
	//
	// The input is an array of IDs to retrieve.
	Nodes []NodesNodesNode `json:"-"`
}

NodesResponse is returned by Nodes on success.

func Nodes

func Nodes(
	ctx context.Context,
	client graphql.Client,
	nodes []string,
) (*NodesResponse, error)

func (*NodesResponse) GetNodes

func (v *NodesResponse) GetNodes() []NodesNodesNode

GetNodes returns NodesResponse.Nodes, and is useful for accessing the field via an interface.

func (*NodesResponse) MarshalJSON

func (v *NodesResponse) MarshalJSON() ([]byte, error)

func (*NodesResponse) UnmarshalJSON

func (v *NodesResponse) UnmarshalJSON(b []byte) error

type OSVInputSpec

type OSVInputSpec struct {
	OsvId string `json:"osvId"`
}

OSVInputSpec specifies a OSV vulnerability for mutations.

func (*OSVInputSpec) GetOsvId

func (v *OSVInputSpec) GetOsvId() string

GetOsvId returns OSVInputSpec.OsvId, and is useful for accessing the field via an interface.

type OSVSpec

type OSVSpec struct {
	Id    *string `json:"id"`
	OsvId *string `json:"osvId"`
}

OSVSpec allows filtering the list of advisories to return in a query.

func (*OSVSpec) GetId

func (v *OSVSpec) GetId() *string

GetId returns OSVSpec.Id, and is useful for accessing the field via an interface.

func (*OSVSpec) GetOsvId

func (v *OSVSpec) GetOsvId() *string

GetOsvId returns OSVSpec.OsvId, and is useful for accessing the field via an interface.

type OSVsOsvOSV

type OSVsOsvOSV struct {
	AllOSVTree `json:"-"`
}

OSVsOsvOSV includes the requested fields of the GraphQL type OSV. The GraphQL type's documentation follows.

OSV represents an Open Source Vulnerability.

The osvId field is mandatory and canonicalized to be lowercase.

This maps to a vulnerability ID specific to the environment (e.g., GHSA ID or CVE ID).

This node can be referred to by other parts of GUAC.

func (*OSVsOsvOSV) GetId

func (v *OSVsOsvOSV) GetId() string

GetId returns OSVsOsvOSV.Id, and is useful for accessing the field via an interface.

func (*OSVsOsvOSV) GetOsvId

func (v *OSVsOsvOSV) GetOsvId() string

GetOsvId returns OSVsOsvOSV.OsvId, and is useful for accessing the field via an interface.

func (*OSVsOsvOSV) MarshalJSON

func (v *OSVsOsvOSV) MarshalJSON() ([]byte, error)

func (*OSVsOsvOSV) UnmarshalJSON

func (v *OSVsOsvOSV) UnmarshalJSON(b []byte) error

type OSVsResponse

type OSVsResponse struct {
	// Returns all OSV vulnerabilities matching a filter.
	Osv []OSVsOsvOSV `json:"osv"`
}

OSVsResponse is returned by OSVs on success.

func OSVs

func OSVs(
	ctx context.Context,
	client graphql.Client,
	filter *OSVSpec,
) (*OSVsResponse, error)

func (*OSVsResponse) GetOsv

func (v *OSVsResponse) GetOsv() []OSVsOsvOSV

GetOsv returns OSVsResponse.Osv, and is useful for accessing the field via an interface.

type PackageQualifierInputSpec

type PackageQualifierInputSpec struct {
	Key   string `json:"key"`
	Value string `json:"value"`
}

PackageQualifierInputSpec allows specifying package qualifiers in mutations.

func (*PackageQualifierInputSpec) GetKey

func (v *PackageQualifierInputSpec) GetKey() string

GetKey returns PackageQualifierInputSpec.Key, and is useful for accessing the field via an interface.

func (*PackageQualifierInputSpec) GetValue

func (v *PackageQualifierInputSpec) GetValue() string

GetValue returns PackageQualifierInputSpec.Value, and is useful for accessing the field via an interface.

type PackageQualifierSpec

type PackageQualifierSpec struct {
	Key   string  `json:"key"`
	Value *string `json:"value"`
}

PackageQualifierSpec allows filtering package qualifiers in a query.

Keys are mandatory, but values could also be null if we want to match all values for a specific key.

NOTE: Before the schema becomes stable, we might change the nulability requirements of these fields.

func (*PackageQualifierSpec) GetKey

func (v *PackageQualifierSpec) GetKey() string

GetKey returns PackageQualifierSpec.Key, and is useful for accessing the field via an interface.

func (*PackageQualifierSpec) GetValue

func (v *PackageQualifierSpec) GetValue() *string

GetValue returns PackageQualifierSpec.Value, and is useful for accessing the field via an interface.

type PackageSourceOrArtifactSpec

type PackageSourceOrArtifactSpec struct {
	Package  *PkgSpec      `json:"package"`
	Source   *SourceSpec   `json:"source"`
	Artifact *ArtifactSpec `json:"artifact"`
}

PackageSourceOrArtifactSpec allows using PackageSourceOrArtifact union as input type to be used in read queries.

Exactly one of the value must be set to non-nil.

func (*PackageSourceOrArtifactSpec) GetArtifact

func (v *PackageSourceOrArtifactSpec) GetArtifact() *ArtifactSpec

GetArtifact returns PackageSourceOrArtifactSpec.Artifact, and is useful for accessing the field via an interface.

func (*PackageSourceOrArtifactSpec) GetPackage

func (v *PackageSourceOrArtifactSpec) GetPackage() *PkgSpec

GetPackage returns PackageSourceOrArtifactSpec.Package, and is useful for accessing the field via an interface.

func (*PackageSourceOrArtifactSpec) GetSource

func (v *PackageSourceOrArtifactSpec) GetSource() *SourceSpec

GetSource returns PackageSourceOrArtifactSpec.Source, and is useful for accessing the field via an interface.

type PackagesPackagesPackage

type PackagesPackagesPackage struct {
	AllPkgTree `json:"-"`
}

PackagesPackagesPackage includes the requested fields of the GraphQL type Package. The GraphQL type's documentation follows.

Package represents the root of the package trie/tree.

We map package information to a trie, closely matching the pURL specification (https://github.com/package-url/purl-spec/blob/0dd92f26f8bb11956ffdf5e8acfcee71e8560407/README.rst), but deviating from it where GUAC heuristics allow for better representation of package information. Each path in the trie fully represents a package; we split the trie based on the pURL components.

This node matches a pkg:<type> partial pURL. The type field matches the pURL types but we might also use "guac" for the cases where the pURL representation is not complete or when we have custom rules.

Since this node is at the root of the package trie, it is named Package, not PackageType.

func (*PackagesPackagesPackage) GetId

func (v *PackagesPackagesPackage) GetId() string

GetId returns PackagesPackagesPackage.Id, and is useful for accessing the field via an interface.

func (*PackagesPackagesPackage) GetNamespaces

GetNamespaces returns PackagesPackagesPackage.Namespaces, and is useful for accessing the field via an interface.

func (*PackagesPackagesPackage) GetType

func (v *PackagesPackagesPackage) GetType() string

GetType returns PackagesPackagesPackage.Type, and is useful for accessing the field via an interface.

func (*PackagesPackagesPackage) MarshalJSON

func (v *PackagesPackagesPackage) MarshalJSON() ([]byte, error)

func (*PackagesPackagesPackage) UnmarshalJSON

func (v *PackagesPackagesPackage) UnmarshalJSON(b []byte) error

type PackagesResponse

type PackagesResponse struct {
	// Returns all packages matching a filter.
	Packages []PackagesPackagesPackage `json:"packages"`
}

PackagesResponse is returned by Packages on success.

func Packages

func Packages(
	ctx context.Context,
	client graphql.Client,
	filter *PkgSpec,
) (*PackagesResponse, error)

func (*PackagesResponse) GetPackages

func (v *PackagesResponse) GetPackages() []PackagesPackagesPackage

GetPackages returns PackagesResponse.Packages, and is useful for accessing the field via an interface.

type PathPathArtifact

type PathPathArtifact struct {
	Typename        *string `json:"__typename"`
	AllArtifactTree `json:"-"`
}

PathPathArtifact includes the requested fields of the GraphQL type Artifact. The GraphQL type's documentation follows.

Artifact represents an artifact identified by a checksum hash.

The checksum is split into the digest value and the algorithm used to generate it. Both fields are mandatory and canonicalized to be lowercase.

If having a checksum Go object, algorithm can be strings.ToLower(string(checksum.Algorithm)) and digest can be checksum.Value.

func (*PathPathArtifact) GetAlgorithm

func (v *PathPathArtifact) GetAlgorithm() string

GetAlgorithm returns PathPathArtifact.Algorithm, and is useful for accessing the field via an interface.

func (*PathPathArtifact) GetDigest

func (v *PathPathArtifact) GetDigest() string

GetDigest returns PathPathArtifact.Digest, and is useful for accessing the field via an interface.

func (*PathPathArtifact) GetId

func (v *PathPathArtifact) GetId() string

GetId returns PathPathArtifact.Id, and is useful for accessing the field via an interface.

func (*PathPathArtifact) GetTypename

func (v *PathPathArtifact) GetTypename() *string

GetTypename returns PathPathArtifact.Typename, and is useful for accessing the field via an interface.

func (*PathPathArtifact) MarshalJSON

func (v *PathPathArtifact) MarshalJSON() ([]byte, error)

func (*PathPathArtifact) UnmarshalJSON

func (v *PathPathArtifact) UnmarshalJSON(b []byte) error

type PathPathBuilder

type PathPathBuilder struct {
	Typename       *string `json:"__typename"`
	AllBuilderTree `json:"-"`
}

PathPathBuilder includes the requested fields of the GraphQL type Builder. The GraphQL type's documentation follows.

Builder represents the builder (e.g., FRSCA or GitHub Actions).

Currently builders are identified by the uri field.

func (*PathPathBuilder) GetId

func (v *PathPathBuilder) GetId() string

GetId returns PathPathBuilder.Id, and is useful for accessing the field via an interface.

func (*PathPathBuilder) GetTypename

func (v *PathPathBuilder) GetTypename() *string

GetTypename returns PathPathBuilder.Typename, and is useful for accessing the field via an interface.

func (*PathPathBuilder) GetUri

func (v *PathPathBuilder) GetUri() string

GetUri returns PathPathBuilder.Uri, and is useful for accessing the field via an interface.

func (*PathPathBuilder) MarshalJSON

func (v *PathPathBuilder) MarshalJSON() ([]byte, error)

func (*PathPathBuilder) UnmarshalJSON

func (v *PathPathBuilder) UnmarshalJSON(b []byte) error

type PathPathCVE

type PathPathCVE struct {
	Typename   *string `json:"__typename"`
	AllCveTree `json:"-"`
}

PathPathCVE includes the requested fields of the GraphQL type CVE. The GraphQL type's documentation follows.

CVE represents a vulnerability in the Common Vulnerabilities and Exposures schema.

The vulnerability identifier contains a year field, so we are extracting that to allow matching for vulnerabilities found in a given year.

The vulnerability identifier field is mandatory and canonicalized to be lowercase.

This node can be referred to by other parts of GUAC.

func (*PathPathCVE) GetCveId

func (v *PathPathCVE) GetCveId() string

GetCveId returns PathPathCVE.CveId, and is useful for accessing the field via an interface.

func (*PathPathCVE) GetId

func (v *PathPathCVE) GetId() string

GetId returns PathPathCVE.Id, and is useful for accessing the field via an interface.

func (*PathPathCVE) GetTypename

func (v *PathPathCVE) GetTypename() *string

GetTypename returns PathPathCVE.Typename, and is useful for accessing the field via an interface.

func (*PathPathCVE) GetYear

func (v *PathPathCVE) GetYear() int

GetYear returns PathPathCVE.Year, and is useful for accessing the field via an interface.

func (*PathPathCVE) MarshalJSON

func (v *PathPathCVE) MarshalJSON() ([]byte, error)

func (*PathPathCVE) UnmarshalJSON

func (v *PathPathCVE) UnmarshalJSON(b []byte) error

type PathPathCertifyBad

type PathPathCertifyBad struct {
	Typename      *string `json:"__typename"`
	AllCertifyBad `json:"-"`
}

PathPathCertifyBad includes the requested fields of the GraphQL type CertifyBad. The GraphQL type's documentation follows.

CertifyBad is an attestation that a package, source, or artifact is considered bad.

All evidence trees record a justification for the property they represent as well as the document that contains the attestation (origin) and the collector that collected the document (collector).

The certification applies to a subject which is a package, source, or artifact. If the attestation targets a package, it must target a PackageName or a PackageVersion. If the attestation targets a source, it must target a SourceName.

func (*PathPathCertifyBad) GetCollector

func (v *PathPathCertifyBad) GetCollector() string

GetCollector returns PathPathCertifyBad.Collector, and is useful for accessing the field via an interface.

func (*PathPathCertifyBad) GetId

func (v *PathPathCertifyBad) GetId() string

GetId returns PathPathCertifyBad.Id, and is useful for accessing the field via an interface.

func (*PathPathCertifyBad) GetJustification

func (v *PathPathCertifyBad) GetJustification() string

GetJustification returns PathPathCertifyBad.Justification, and is useful for accessing the field via an interface.

func (*PathPathCertifyBad) GetOrigin

func (v *PathPathCertifyBad) GetOrigin() string

GetOrigin returns PathPathCertifyBad.Origin, and is useful for accessing the field via an interface.

func (*PathPathCertifyBad) GetSubject

GetSubject returns PathPathCertifyBad.Subject, and is useful for accessing the field via an interface.

func (*PathPathCertifyBad) GetTypename

func (v *PathPathCertifyBad) GetTypename() *string

GetTypename returns PathPathCertifyBad.Typename, and is useful for accessing the field via an interface.

func (*PathPathCertifyBad) MarshalJSON

func (v *PathPathCertifyBad) MarshalJSON() ([]byte, error)

func (*PathPathCertifyBad) UnmarshalJSON

func (v *PathPathCertifyBad) UnmarshalJSON(b []byte) error

type PathPathCertifyGood

type PathPathCertifyGood struct {
	Typename       *string `json:"__typename"`
	AllCertifyGood `json:"-"`
}

PathPathCertifyGood includes the requested fields of the GraphQL type CertifyGood. The GraphQL type's documentation follows.

CertifyGood is an attestation that a package, source, or artifact is considered good.

All evidence trees record a justification for the property they represent as well as the document that contains the attestation (origin) and the collector that collected the document (collector).

The certification applies to a subject which is a package, source, or artifact. If the attestation targets a package, it must target a PackageName or a PackageVersion. If the attestation targets a source, it must target a SourceName.

func (*PathPathCertifyGood) GetCollector

func (v *PathPathCertifyGood) GetCollector() string

GetCollector returns PathPathCertifyGood.Collector, and is useful for accessing the field via an interface.

func (*PathPathCertifyGood) GetId

func (v *PathPathCertifyGood) GetId() string

GetId returns PathPathCertifyGood.Id, and is useful for accessing the field via an interface.

func (*PathPathCertifyGood) GetJustification

func (v *PathPathCertifyGood) GetJustification() string

GetJustification returns PathPathCertifyGood.Justification, and is useful for accessing the field via an interface.

func (*PathPathCertifyGood) GetOrigin

func (v *PathPathCertifyGood) GetOrigin() string

GetOrigin returns PathPathCertifyGood.Origin, and is useful for accessing the field via an interface.

func (*PathPathCertifyGood) GetSubject

GetSubject returns PathPathCertifyGood.Subject, and is useful for accessing the field via an interface.

func (*PathPathCertifyGood) GetTypename

func (v *PathPathCertifyGood) GetTypename() *string

GetTypename returns PathPathCertifyGood.Typename, and is useful for accessing the field via an interface.

func (*PathPathCertifyGood) MarshalJSON

func (v *PathPathCertifyGood) MarshalJSON() ([]byte, error)

func (*PathPathCertifyGood) UnmarshalJSON

func (v *PathPathCertifyGood) UnmarshalJSON(b []byte) error

type PathPathCertifyScorecard

type PathPathCertifyScorecard struct {
	Typename            *string `json:"__typename"`
	AllCertifyScorecard `json:"-"`
}

PathPathCertifyScorecard includes the requested fields of the GraphQL type CertifyScorecard. The GraphQL type's documentation follows.

CertifyScorecard is an attestation to attach a Scorecard analysis to a particular source repository.

func (*PathPathCertifyScorecard) GetId

func (v *PathPathCertifyScorecard) GetId() string

GetId returns PathPathCertifyScorecard.Id, and is useful for accessing the field via an interface.

func (*PathPathCertifyScorecard) GetScorecard

GetScorecard returns PathPathCertifyScorecard.Scorecard, and is useful for accessing the field via an interface.

func (*PathPathCertifyScorecard) GetSource

GetSource returns PathPathCertifyScorecard.Source, and is useful for accessing the field via an interface.

func (*PathPathCertifyScorecard) GetTypename

func (v *PathPathCertifyScorecard) GetTypename() *string

GetTypename returns PathPathCertifyScorecard.Typename, and is useful for accessing the field via an interface.

func (*PathPathCertifyScorecard) MarshalJSON

func (v *PathPathCertifyScorecard) MarshalJSON() ([]byte, error)

func (*PathPathCertifyScorecard) UnmarshalJSON

func (v *PathPathCertifyScorecard) UnmarshalJSON(b []byte) error

type PathPathCertifyVEXStatement

type PathPathCertifyVEXStatement struct {
	Typename               *string `json:"__typename"`
	AllCertifyVEXStatement `json:"-"`
}

PathPathCertifyVEXStatement includes the requested fields of the GraphQL type CertifyVEXStatement. The GraphQL type's documentation follows.

CertifyVEXStatement is an attestation to attach VEX statements to a package or artifact to clarify the impact of a specific vulnerability (CVE, GHSA or OSV).

func (*PathPathCertifyVEXStatement) GetCollector

func (v *PathPathCertifyVEXStatement) GetCollector() string

GetCollector returns PathPathCertifyVEXStatement.Collector, and is useful for accessing the field via an interface.

func (*PathPathCertifyVEXStatement) GetId

GetId returns PathPathCertifyVEXStatement.Id, and is useful for accessing the field via an interface.

func (*PathPathCertifyVEXStatement) GetKnownSince

func (v *PathPathCertifyVEXStatement) GetKnownSince() time.Time

GetKnownSince returns PathPathCertifyVEXStatement.KnownSince, and is useful for accessing the field via an interface.

func (*PathPathCertifyVEXStatement) GetOrigin

func (v *PathPathCertifyVEXStatement) GetOrigin() string

GetOrigin returns PathPathCertifyVEXStatement.Origin, and is useful for accessing the field via an interface.

func (*PathPathCertifyVEXStatement) GetStatement

func (v *PathPathCertifyVEXStatement) GetStatement() string

GetStatement returns PathPathCertifyVEXStatement.Statement, and is useful for accessing the field via an interface.

func (*PathPathCertifyVEXStatement) GetStatus

func (v *PathPathCertifyVEXStatement) GetStatus() VexStatus

GetStatus returns PathPathCertifyVEXStatement.Status, and is useful for accessing the field via an interface.

func (*PathPathCertifyVEXStatement) GetStatusNotes

func (v *PathPathCertifyVEXStatement) GetStatusNotes() string

GetStatusNotes returns PathPathCertifyVEXStatement.StatusNotes, and is useful for accessing the field via an interface.

func (*PathPathCertifyVEXStatement) GetSubject

GetSubject returns PathPathCertifyVEXStatement.Subject, and is useful for accessing the field via an interface.

func (*PathPathCertifyVEXStatement) GetTypename

func (v *PathPathCertifyVEXStatement) GetTypename() *string

GetTypename returns PathPathCertifyVEXStatement.Typename, and is useful for accessing the field via an interface.

func (*PathPathCertifyVEXStatement) GetVexJustification

func (v *PathPathCertifyVEXStatement) GetVexJustification() VexJustification

GetVexJustification returns PathPathCertifyVEXStatement.VexJustification, and is useful for accessing the field via an interface.

func (*PathPathCertifyVEXStatement) GetVulnerability

GetVulnerability returns PathPathCertifyVEXStatement.Vulnerability, and is useful for accessing the field via an interface.

func (*PathPathCertifyVEXStatement) MarshalJSON

func (v *PathPathCertifyVEXStatement) MarshalJSON() ([]byte, error)

func (*PathPathCertifyVEXStatement) UnmarshalJSON

func (v *PathPathCertifyVEXStatement) UnmarshalJSON(b []byte) error

type PathPathCertifyVuln

type PathPathCertifyVuln struct {
	Typename       *string `json:"__typename"`
	AllCertifyVuln `json:"-"`
}

PathPathCertifyVuln includes the requested fields of the GraphQL type CertifyVuln. The GraphQL type's documentation follows.

CertifyVuln is an attestation to attach vulnerability information to a package.

This information is obtained via a scanner. If there is no vulnerability detected (no OSV, CVE, or GHSA), we attach the special NoVuln node.

func (*PathPathCertifyVuln) GetId

func (v *PathPathCertifyVuln) GetId() string

GetId returns PathPathCertifyVuln.Id, and is useful for accessing the field via an interface.

func (*PathPathCertifyVuln) GetMetadata

GetMetadata returns PathPathCertifyVuln.Metadata, and is useful for accessing the field via an interface.

func (*PathPathCertifyVuln) GetPackage

GetPackage returns PathPathCertifyVuln.Package, and is useful for accessing the field via an interface.

func (*PathPathCertifyVuln) GetTypename

func (v *PathPathCertifyVuln) GetTypename() *string

GetTypename returns PathPathCertifyVuln.Typename, and is useful for accessing the field via an interface.

func (*PathPathCertifyVuln) GetVulnerability

func (v *PathPathCertifyVuln) GetVulnerability() AllCertifyVulnVulnerability

GetVulnerability returns PathPathCertifyVuln.Vulnerability, and is useful for accessing the field via an interface.

func (*PathPathCertifyVuln) MarshalJSON

func (v *PathPathCertifyVuln) MarshalJSON() ([]byte, error)

func (*PathPathCertifyVuln) UnmarshalJSON

func (v *PathPathCertifyVuln) UnmarshalJSON(b []byte) error

type PathPathGHSA

type PathPathGHSA struct {
	Typename    *string `json:"__typename"`
	AllGHSATree `json:"-"`
}

PathPathGHSA includes the requested fields of the GraphQL type GHSA. The GraphQL type's documentation follows.

GHSA represents GitHub security advisories.

The advisory id field is mandatory and canonicalized to be lowercase.

This node can be referred to by other parts of GUAC.

func (*PathPathGHSA) GetGhsaId

func (v *PathPathGHSA) GetGhsaId() string

GetGhsaId returns PathPathGHSA.GhsaId, and is useful for accessing the field via an interface.

func (*PathPathGHSA) GetId

func (v *PathPathGHSA) GetId() string

GetId returns PathPathGHSA.Id, and is useful for accessing the field via an interface.

func (*PathPathGHSA) GetTypename

func (v *PathPathGHSA) GetTypename() *string

GetTypename returns PathPathGHSA.Typename, and is useful for accessing the field via an interface.

func (*PathPathGHSA) MarshalJSON

func (v *PathPathGHSA) MarshalJSON() ([]byte, error)

func (*PathPathGHSA) UnmarshalJSON

func (v *PathPathGHSA) UnmarshalJSON(b []byte) error

type PathPathHasMetadata added in v0.1.1

type PathPathHasMetadata struct {
	Typename *string `json:"__typename"`
}

PathPathHasMetadata includes the requested fields of the GraphQL type HasMetadata. The GraphQL type's documentation follows.

HasMetadata is an attestation that a package, source, or artifact has a certain attested property (key) with value (value). For example, a source may have metadata "SourceRepo2FAEnabled=true".

The intent of this evidence tree predicate is to allow extensibility of metadata expressible within the GUAC ontology. Metadata that is commonly used will then be promoted to a predicate on its own.

Justification indicates how the metadata was determined.

The metadata applies to a subject which is a package, source, or artifact. If the attestation targets a package, it must target a PackageName or a PackageVersion. If the attestation targets a source, it must target a SourceName.

func (*PathPathHasMetadata) GetTypename added in v0.1.1

func (v *PathPathHasMetadata) GetTypename() *string

GetTypename returns PathPathHasMetadata.Typename, and is useful for accessing the field via an interface.

type PathPathHasSBOM

type PathPathHasSBOM struct {
	Typename       *string `json:"__typename"`
	AllHasSBOMTree `json:"-"`
}

PathPathHasSBOM includes the requested fields of the GraphQL type HasSBOM.

func (*PathPathHasSBOM) GetAlgorithm

func (v *PathPathHasSBOM) GetAlgorithm() string

GetAlgorithm returns PathPathHasSBOM.Algorithm, and is useful for accessing the field via an interface.

func (*PathPathHasSBOM) GetCollector

func (v *PathPathHasSBOM) GetCollector() string

GetCollector returns PathPathHasSBOM.Collector, and is useful for accessing the field via an interface.

func (*PathPathHasSBOM) GetDigest

func (v *PathPathHasSBOM) GetDigest() string

GetDigest returns PathPathHasSBOM.Digest, and is useful for accessing the field via an interface.

func (*PathPathHasSBOM) GetDownloadLocation

func (v *PathPathHasSBOM) GetDownloadLocation() string

GetDownloadLocation returns PathPathHasSBOM.DownloadLocation, and is useful for accessing the field via an interface.

func (*PathPathHasSBOM) GetId

func (v *PathPathHasSBOM) GetId() string

GetId returns PathPathHasSBOM.Id, and is useful for accessing the field via an interface.

func (*PathPathHasSBOM) GetOrigin

func (v *PathPathHasSBOM) GetOrigin() string

GetOrigin returns PathPathHasSBOM.Origin, and is useful for accessing the field via an interface.

func (*PathPathHasSBOM) GetSubject

GetSubject returns PathPathHasSBOM.Subject, and is useful for accessing the field via an interface.

func (*PathPathHasSBOM) GetTypename

func (v *PathPathHasSBOM) GetTypename() *string

GetTypename returns PathPathHasSBOM.Typename, and is useful for accessing the field via an interface.

func (*PathPathHasSBOM) GetUri

func (v *PathPathHasSBOM) GetUri() string

GetUri returns PathPathHasSBOM.Uri, and is useful for accessing the field via an interface.

func (*PathPathHasSBOM) MarshalJSON

func (v *PathPathHasSBOM) MarshalJSON() ([]byte, error)

func (*PathPathHasSBOM) UnmarshalJSON

func (v *PathPathHasSBOM) UnmarshalJSON(b []byte) error

type PathPathHasSLSA

type PathPathHasSLSA struct {
	Typename    *string `json:"__typename"`
	AllSLSATree `json:"-"`
}

PathPathHasSLSA includes the requested fields of the GraphQL type HasSLSA. The GraphQL type's documentation follows.

HasSLSA records that a subject node has a SLSA attestation.

func (*PathPathHasSLSA) GetId

func (v *PathPathHasSLSA) GetId() string

GetId returns PathPathHasSLSA.Id, and is useful for accessing the field via an interface.

func (*PathPathHasSLSA) GetSlsa

func (v *PathPathHasSLSA) GetSlsa() AllSLSATreeSlsaSLSA

GetSlsa returns PathPathHasSLSA.Slsa, and is useful for accessing the field via an interface.

func (*PathPathHasSLSA) GetSubject

GetSubject returns PathPathHasSLSA.Subject, and is useful for accessing the field via an interface.

func (*PathPathHasSLSA) GetTypename

func (v *PathPathHasSLSA) GetTypename() *string

GetTypename returns PathPathHasSLSA.Typename, and is useful for accessing the field via an interface.

func (*PathPathHasSLSA) MarshalJSON

func (v *PathPathHasSLSA) MarshalJSON() ([]byte, error)

func (*PathPathHasSLSA) UnmarshalJSON

func (v *PathPathHasSLSA) UnmarshalJSON(b []byte) error

type PathPathHasSourceAt

type PathPathHasSourceAt struct {
	Typename       *string `json:"__typename"`
	AllHasSourceAt `json:"-"`
}

PathPathHasSourceAt includes the requested fields of the GraphQL type HasSourceAt. The GraphQL type's documentation follows.

HasSourceAt records that a package's repository is a given source.

func (*PathPathHasSourceAt) GetCollector

func (v *PathPathHasSourceAt) GetCollector() string

GetCollector returns PathPathHasSourceAt.Collector, and is useful for accessing the field via an interface.

func (*PathPathHasSourceAt) GetId

func (v *PathPathHasSourceAt) GetId() string

GetId returns PathPathHasSourceAt.Id, and is useful for accessing the field via an interface.

func (*PathPathHasSourceAt) GetJustification

func (v *PathPathHasSourceAt) GetJustification() string

GetJustification returns PathPathHasSourceAt.Justification, and is useful for accessing the field via an interface.

func (*PathPathHasSourceAt) GetKnownSince

func (v *PathPathHasSourceAt) GetKnownSince() time.Time

GetKnownSince returns PathPathHasSourceAt.KnownSince, and is useful for accessing the field via an interface.

func (*PathPathHasSourceAt) GetOrigin

func (v *PathPathHasSourceAt) GetOrigin() string

GetOrigin returns PathPathHasSourceAt.Origin, and is useful for accessing the field via an interface.

func (*PathPathHasSourceAt) GetPackage

GetPackage returns PathPathHasSourceAt.Package, and is useful for accessing the field via an interface.

func (*PathPathHasSourceAt) GetSource

GetSource returns PathPathHasSourceAt.Source, and is useful for accessing the field via an interface.

func (*PathPathHasSourceAt) GetTypename

func (v *PathPathHasSourceAt) GetTypename() *string

GetTypename returns PathPathHasSourceAt.Typename, and is useful for accessing the field via an interface.

func (*PathPathHasSourceAt) MarshalJSON

func (v *PathPathHasSourceAt) MarshalJSON() ([]byte, error)

func (*PathPathHasSourceAt) UnmarshalJSON

func (v *PathPathHasSourceAt) UnmarshalJSON(b []byte) error

type PathPathHashEqual

type PathPathHashEqual struct {
	Typename         *string `json:"__typename"`
	AllHashEqualTree `json:"-"`
}

PathPathHashEqual includes the requested fields of the GraphQL type HashEqual. The GraphQL type's documentation follows.

HashEqual is an attestation that a set of artifacts are identical.

func (*PathPathHashEqual) GetArtifacts

GetArtifacts returns PathPathHashEqual.Artifacts, and is useful for accessing the field via an interface.

func (*PathPathHashEqual) GetCollector

func (v *PathPathHashEqual) GetCollector() string

GetCollector returns PathPathHashEqual.Collector, and is useful for accessing the field via an interface.

func (*PathPathHashEqual) GetId

func (v *PathPathHashEqual) GetId() string

GetId returns PathPathHashEqual.Id, and is useful for accessing the field via an interface.

func (*PathPathHashEqual) GetJustification

func (v *PathPathHashEqual) GetJustification() string

GetJustification returns PathPathHashEqual.Justification, and is useful for accessing the field via an interface.

func (*PathPathHashEqual) GetOrigin

func (v *PathPathHashEqual) GetOrigin() string

GetOrigin returns PathPathHashEqual.Origin, and is useful for accessing the field via an interface.

func (*PathPathHashEqual) GetTypename

func (v *PathPathHashEqual) GetTypename() *string

GetTypename returns PathPathHashEqual.Typename, and is useful for accessing the field via an interface.

func (*PathPathHashEqual) MarshalJSON

func (v *PathPathHashEqual) MarshalJSON() ([]byte, error)

func (*PathPathHashEqual) UnmarshalJSON

func (v *PathPathHashEqual) UnmarshalJSON(b []byte) error

type PathPathIsDependency

type PathPathIsDependency struct {
	Typename            *string `json:"__typename"`
	AllIsDependencyTree `json:"-"`
}

PathPathIsDependency includes the requested fields of the GraphQL type IsDependency. The GraphQL type's documentation follows.

IsDependency is an attestation to record that a package depends on another.

func (*PathPathIsDependency) GetCollector

func (v *PathPathIsDependency) GetCollector() string

GetCollector returns PathPathIsDependency.Collector, and is useful for accessing the field via an interface.

func (*PathPathIsDependency) GetDependencyType

func (v *PathPathIsDependency) GetDependencyType() DependencyType

GetDependencyType returns PathPathIsDependency.DependencyType, and is useful for accessing the field via an interface.

func (*PathPathIsDependency) GetDependentPackage

GetDependentPackage returns PathPathIsDependency.DependentPackage, and is useful for accessing the field via an interface.

func (*PathPathIsDependency) GetId

func (v *PathPathIsDependency) GetId() string

GetId returns PathPathIsDependency.Id, and is useful for accessing the field via an interface.

func (*PathPathIsDependency) GetJustification

func (v *PathPathIsDependency) GetJustification() string

GetJustification returns PathPathIsDependency.Justification, and is useful for accessing the field via an interface.

func (*PathPathIsDependency) GetOrigin

func (v *PathPathIsDependency) GetOrigin() string

GetOrigin returns PathPathIsDependency.Origin, and is useful for accessing the field via an interface.

func (*PathPathIsDependency) GetPackage

GetPackage returns PathPathIsDependency.Package, and is useful for accessing the field via an interface.

func (*PathPathIsDependency) GetTypename

func (v *PathPathIsDependency) GetTypename() *string

GetTypename returns PathPathIsDependency.Typename, and is useful for accessing the field via an interface.

func (*PathPathIsDependency) GetVersionRange

func (v *PathPathIsDependency) GetVersionRange() string

GetVersionRange returns PathPathIsDependency.VersionRange, and is useful for accessing the field via an interface.

func (*PathPathIsDependency) MarshalJSON

func (v *PathPathIsDependency) MarshalJSON() ([]byte, error)

func (*PathPathIsDependency) UnmarshalJSON

func (v *PathPathIsDependency) UnmarshalJSON(b []byte) error

type PathPathIsOccurrence

type PathPathIsOccurrence struct {
	Typename             *string `json:"__typename"`
	AllIsOccurrencesTree `json:"-"`
}

PathPathIsOccurrence includes the requested fields of the GraphQL type IsOccurrence. The GraphQL type's documentation follows.

IsOccurrence is an attestation to link an artifact to a package or source.

Attestation must occur at the PackageVersion or at the SourceName.

func (*PathPathIsOccurrence) GetArtifact

GetArtifact returns PathPathIsOccurrence.Artifact, and is useful for accessing the field via an interface.

func (*PathPathIsOccurrence) GetCollector

func (v *PathPathIsOccurrence) GetCollector() string

GetCollector returns PathPathIsOccurrence.Collector, and is useful for accessing the field via an interface.

func (*PathPathIsOccurrence) GetId

func (v *PathPathIsOccurrence) GetId() string

GetId returns PathPathIsOccurrence.Id, and is useful for accessing the field via an interface.

func (*PathPathIsOccurrence) GetJustification

func (v *PathPathIsOccurrence) GetJustification() string

GetJustification returns PathPathIsOccurrence.Justification, and is useful for accessing the field via an interface.

func (*PathPathIsOccurrence) GetOrigin

func (v *PathPathIsOccurrence) GetOrigin() string

GetOrigin returns PathPathIsOccurrence.Origin, and is useful for accessing the field via an interface.

func (*PathPathIsOccurrence) GetSubject

GetSubject returns PathPathIsOccurrence.Subject, and is useful for accessing the field via an interface.

func (*PathPathIsOccurrence) GetTypename

func (v *PathPathIsOccurrence) GetTypename() *string

GetTypename returns PathPathIsOccurrence.Typename, and is useful for accessing the field via an interface.

func (*PathPathIsOccurrence) MarshalJSON

func (v *PathPathIsOccurrence) MarshalJSON() ([]byte, error)

func (*PathPathIsOccurrence) UnmarshalJSON

func (v *PathPathIsOccurrence) UnmarshalJSON(b []byte) error

type PathPathIsVulnerability

type PathPathIsVulnerability struct {
	Typename           *string `json:"__typename"`
	AllIsVulnerability `json:"-"`
}

PathPathIsVulnerability includes the requested fields of the GraphQL type IsVulnerability. The GraphQL type's documentation follows.

IsVulnerability is an attestation to link CVE/GHSA with data in OSV.

func (*PathPathIsVulnerability) GetCollector

func (v *PathPathIsVulnerability) GetCollector() string

GetCollector returns PathPathIsVulnerability.Collector, and is useful for accessing the field via an interface.

func (*PathPathIsVulnerability) GetId

func (v *PathPathIsVulnerability) GetId() string

GetId returns PathPathIsVulnerability.Id, and is useful for accessing the field via an interface.

func (*PathPathIsVulnerability) GetJustification

func (v *PathPathIsVulnerability) GetJustification() string

GetJustification returns PathPathIsVulnerability.Justification, and is useful for accessing the field via an interface.

func (*PathPathIsVulnerability) GetOrigin

func (v *PathPathIsVulnerability) GetOrigin() string

GetOrigin returns PathPathIsVulnerability.Origin, and is useful for accessing the field via an interface.

func (*PathPathIsVulnerability) GetOsv

GetOsv returns PathPathIsVulnerability.Osv, and is useful for accessing the field via an interface.

func (*PathPathIsVulnerability) GetTypename

func (v *PathPathIsVulnerability) GetTypename() *string

GetTypename returns PathPathIsVulnerability.Typename, and is useful for accessing the field via an interface.

func (*PathPathIsVulnerability) GetVulnerability

GetVulnerability returns PathPathIsVulnerability.Vulnerability, and is useful for accessing the field via an interface.

func (*PathPathIsVulnerability) MarshalJSON

func (v *PathPathIsVulnerability) MarshalJSON() ([]byte, error)

func (*PathPathIsVulnerability) UnmarshalJSON

func (v *PathPathIsVulnerability) UnmarshalJSON(b []byte) error

type PathPathNoVuln

type PathPathNoVuln struct {
	Typename *string `json:"__typename"`
	Id       string  `json:"id"`
}

PathPathNoVuln includes the requested fields of the GraphQL type NoVuln. The GraphQL type's documentation follows.

NoVuln is a special vulnerability node to attest that no vulnerability has been found during a vulnerability scan.

Backends guarantee that this is a singleton node.

func (*PathPathNoVuln) GetId

func (v *PathPathNoVuln) GetId() string

GetId returns PathPathNoVuln.Id, and is useful for accessing the field via an interface.

func (*PathPathNoVuln) GetTypename

func (v *PathPathNoVuln) GetTypename() *string

GetTypename returns PathPathNoVuln.Typename, and is useful for accessing the field via an interface.

type PathPathNode

type PathPathNode interface {

	// GetTypename returns the receiver's concrete GraphQL type-name (see interface doc for possible values).
	GetTypename() *string
	// contains filtered or unexported methods
}

PathPathNode includes the requested fields of the GraphQL interface Node.

PathPathNode is implemented by the following types: PathPathArtifact PathPathBuilder PathPathCVE PathPathCertifyBad PathPathCertifyGood PathPathCertifyScorecard PathPathCertifyVEXStatement PathPathCertifyVuln PathPathGHSA PathPathHasMetadata PathPathHasSBOM PathPathHasSLSA PathPathHasSourceAt PathPathHashEqual PathPathIsDependency PathPathIsOccurrence PathPathIsVulnerability PathPathNoVuln PathPathOSV PathPathPackage PathPathPkgEqual PathPathPointOfContact PathPathSource The GraphQL type's documentation follows.

Node is a union type of all the possible nodes.

It encapsulates the software tree nodes along with the evidence nodes. In a path query, all connecting evidence nodes along with their intermediate subject nodes need to be returned in order to create a complete graph.

type PathPathOSV

type PathPathOSV struct {
	Typename   *string `json:"__typename"`
	AllOSVTree `json:"-"`
}

PathPathOSV includes the requested fields of the GraphQL type OSV. The GraphQL type's documentation follows.

OSV represents an Open Source Vulnerability.

The osvId field is mandatory and canonicalized to be lowercase.

This maps to a vulnerability ID specific to the environment (e.g., GHSA ID or CVE ID).

This node can be referred to by other parts of GUAC.

func (*PathPathOSV) GetId

func (v *PathPathOSV) GetId() string

GetId returns PathPathOSV.Id, and is useful for accessing the field via an interface.

func (*PathPathOSV) GetOsvId

func (v *PathPathOSV) GetOsvId() string

GetOsvId returns PathPathOSV.OsvId, and is useful for accessing the field via an interface.

func (*PathPathOSV) GetTypename

func (v *PathPathOSV) GetTypename() *string

GetTypename returns PathPathOSV.Typename, and is useful for accessing the field via an interface.

func (*PathPathOSV) MarshalJSON

func (v *PathPathOSV) MarshalJSON() ([]byte, error)

func (*PathPathOSV) UnmarshalJSON

func (v *PathPathOSV) UnmarshalJSON(b []byte) error

type PathPathPackage

type PathPathPackage struct {
	Typename   *string `json:"__typename"`
	AllPkgTree `json:"-"`
}

PathPathPackage includes the requested fields of the GraphQL type Package. The GraphQL type's documentation follows.

Package represents the root of the package trie/tree.

We map package information to a trie, closely matching the pURL specification (https://github.com/package-url/purl-spec/blob/0dd92f26f8bb11956ffdf5e8acfcee71e8560407/README.rst), but deviating from it where GUAC heuristics allow for better representation of package information. Each path in the trie fully represents a package; we split the trie based on the pURL components.

This node matches a pkg:<type> partial pURL. The type field matches the pURL types but we might also use "guac" for the cases where the pURL representation is not complete or when we have custom rules.

Since this node is at the root of the package trie, it is named Package, not PackageType.

func (*PathPathPackage) GetId

func (v *PathPathPackage) GetId() string

GetId returns PathPathPackage.Id, and is useful for accessing the field via an interface.

func (*PathPathPackage) GetNamespaces

GetNamespaces returns PathPathPackage.Namespaces, and is useful for accessing the field via an interface.

func (*PathPathPackage) GetType

func (v *PathPathPackage) GetType() string

GetType returns PathPathPackage.Type, and is useful for accessing the field via an interface.

func (*PathPathPackage) GetTypename

func (v *PathPathPackage) GetTypename() *string

GetTypename returns PathPathPackage.Typename, and is useful for accessing the field via an interface.

func (*PathPathPackage) MarshalJSON

func (v *PathPathPackage) MarshalJSON() ([]byte, error)

func (*PathPathPackage) UnmarshalJSON

func (v *PathPathPackage) UnmarshalJSON(b []byte) error

type PathPathPkgEqual

type PathPathPkgEqual struct {
	Typename    *string `json:"__typename"`
	AllPkgEqual `json:"-"`
}

PathPathPkgEqual includes the requested fields of the GraphQL type PkgEqual. The GraphQL type's documentation follows.

PkgEqual is an attestation that a set of packages are similar.

func (*PathPathPkgEqual) GetCollector

func (v *PathPathPkgEqual) GetCollector() string

GetCollector returns PathPathPkgEqual.Collector, and is useful for accessing the field via an interface.

func (*PathPathPkgEqual) GetId

func (v *PathPathPkgEqual) GetId() string

GetId returns PathPathPkgEqual.Id, and is useful for accessing the field via an interface.

func (*PathPathPkgEqual) GetJustification

func (v *PathPathPkgEqual) GetJustification() string

GetJustification returns PathPathPkgEqual.Justification, and is useful for accessing the field via an interface.

func (*PathPathPkgEqual) GetOrigin

func (v *PathPathPkgEqual) GetOrigin() string

GetOrigin returns PathPathPkgEqual.Origin, and is useful for accessing the field via an interface.

func (*PathPathPkgEqual) GetPackages

func (v *PathPathPkgEqual) GetPackages() []AllPkgEqualPackagesPackage

GetPackages returns PathPathPkgEqual.Packages, and is useful for accessing the field via an interface.

func (*PathPathPkgEqual) GetTypename

func (v *PathPathPkgEqual) GetTypename() *string

GetTypename returns PathPathPkgEqual.Typename, and is useful for accessing the field via an interface.

func (*PathPathPkgEqual) MarshalJSON

func (v *PathPathPkgEqual) MarshalJSON() ([]byte, error)

func (*PathPathPkgEqual) UnmarshalJSON

func (v *PathPathPkgEqual) UnmarshalJSON(b []byte) error

type PathPathPointOfContact added in v0.1.1

type PathPathPointOfContact struct {
	Typename *string `json:"__typename"`
}

PathPathPointOfContact includes the requested fields of the GraphQL type PointOfContact. The GraphQL type's documentation follows.

PointOfContact is an attestation of how to get in touch with the person(s) responsible for a package, source, or artifact.

All evidence trees record a justification for the property they represent as well as the document that contains the attestation (origin) and the collector that collected the document (collector).

The attestation applies to a subject which is a package, source, or artifact. If the attestation targets a package, it must target a PackageName or a PackageVersion. If the attestation targets a source, it must target a SourceName.

email is the email address (singular) of the point of contact.

info is additional contact information other than email address. This is free form.

NOTE: the identifiers for point of contact should be part of software trees. This will benefit from identifier look up and traversal as well as organization hierarchy. However, until the use case arises, PointOfContact will be a flat reference to the contact details.

func (*PathPathPointOfContact) GetTypename added in v0.1.1

func (v *PathPathPointOfContact) GetTypename() *string

GetTypename returns PathPathPointOfContact.Typename, and is useful for accessing the field via an interface.

type PathPathSource

type PathPathSource struct {
	Typename      *string `json:"__typename"`
	AllSourceTree `json:"-"`
}

PathPathSource includes the requested fields of the GraphQL type Source. The GraphQL type's documentation follows.

Source represents the root of the source trie/tree.

We map source information to a trie, as a derivative of the pURL specification: each path in the trie represents a type, namespace, name and an optional qualifier that stands for tag/commit information.

This node represents the type part of the trie path. It is used to represent the version control system that is being used.

Since this node is at the root of the source trie, it is named Source, not SourceType.

func (*PathPathSource) GetId

func (v *PathPathSource) GetId() string

GetId returns PathPathSource.Id, and is useful for accessing the field via an interface.

func (*PathPathSource) GetNamespaces

GetNamespaces returns PathPathSource.Namespaces, and is useful for accessing the field via an interface.

func (*PathPathSource) GetType

func (v *PathPathSource) GetType() string

GetType returns PathPathSource.Type, and is useful for accessing the field via an interface.

func (*PathPathSource) GetTypename

func (v *PathPathSource) GetTypename() *string

GetTypename returns PathPathSource.Typename, and is useful for accessing the field via an interface.

func (*PathPathSource) MarshalJSON

func (v *PathPathSource) MarshalJSON() ([]byte, error)

func (*PathPathSource) UnmarshalJSON

func (v *PathPathSource) UnmarshalJSON(b []byte) error

type PathResponse

type PathResponse struct {
	// path query returns a path between subject and target, of a maximum length.
	//
	// Since we want to uniquely identify endpoints, nodes must be specified by
	// valid IDs only (instead of using filters/input spec structs).
	//
	// Specifying any Edge value in `usingOnly` will make the path only contain the
	// corresponding GUAC evidence trees (GUAC verbs).
	Path []PathPathNode `json:"-"`
}

PathResponse is returned by Path on success.

func Path

func Path(
	ctx context.Context,
	client graphql.Client,
	subject string,
	target string,
	maxPathLength int,
	usingOnly []Edge,
) (*PathResponse, error)

func (*PathResponse) GetPath

func (v *PathResponse) GetPath() []PathPathNode

GetPath returns PathResponse.Path, and is useful for accessing the field via an interface.

func (*PathResponse) MarshalJSON

func (v *PathResponse) MarshalJSON() ([]byte, error)

func (*PathResponse) UnmarshalJSON

func (v *PathResponse) UnmarshalJSON(b []byte) error

type PkgEqualIngestPkgEqual

type PkgEqualIngestPkgEqual struct {
	AllPkgEqual `json:"-"`
}

PkgEqualIngestPkgEqual includes the requested fields of the GraphQL type PkgEqual. The GraphQL type's documentation follows.

PkgEqual is an attestation that a set of packages are similar.

func (*PkgEqualIngestPkgEqual) GetCollector

func (v *PkgEqualIngestPkgEqual) GetCollector() string

GetCollector returns PkgEqualIngestPkgEqual.Collector, and is useful for accessing the field via an interface.

func (*PkgEqualIngestPkgEqual) GetId

func (v *PkgEqualIngestPkgEqual) GetId() string

GetId returns PkgEqualIngestPkgEqual.Id, and is useful for accessing the field via an interface.

func (*PkgEqualIngestPkgEqual) GetJustification

func (v *PkgEqualIngestPkgEqual) GetJustification() string

GetJustification returns PkgEqualIngestPkgEqual.Justification, and is useful for accessing the field via an interface.

func (*PkgEqualIngestPkgEqual) GetOrigin

func (v *PkgEqualIngestPkgEqual) GetOrigin() string

GetOrigin returns PkgEqualIngestPkgEqual.Origin, and is useful for accessing the field via an interface.

func (*PkgEqualIngestPkgEqual) GetPackages

GetPackages returns PkgEqualIngestPkgEqual.Packages, and is useful for accessing the field via an interface.

func (*PkgEqualIngestPkgEqual) MarshalJSON

func (v *PkgEqualIngestPkgEqual) MarshalJSON() ([]byte, error)

func (*PkgEqualIngestPkgEqual) UnmarshalJSON

func (v *PkgEqualIngestPkgEqual) UnmarshalJSON(b []byte) error

type PkgEqualInputSpec

type PkgEqualInputSpec struct {
	Justification string `json:"justification"`
	Origin        string `json:"origin"`
	Collector     string `json:"collector"`
}

PkgEqualInputSpec represents the input to certify that packages are similar.

func (*PkgEqualInputSpec) GetCollector

func (v *PkgEqualInputSpec) GetCollector() string

GetCollector returns PkgEqualInputSpec.Collector, and is useful for accessing the field via an interface.

func (*PkgEqualInputSpec) GetJustification

func (v *PkgEqualInputSpec) GetJustification() string

GetJustification returns PkgEqualInputSpec.Justification, and is useful for accessing the field via an interface.

func (*PkgEqualInputSpec) GetOrigin

func (v *PkgEqualInputSpec) GetOrigin() string

GetOrigin returns PkgEqualInputSpec.Origin, and is useful for accessing the field via an interface.

type PkgEqualOtherPackage

type PkgEqualOtherPackage struct {
	AllPkgTree `json:"-"`
}

PkgEqualOtherPackage includes the requested fields of the GraphQL type Package. The GraphQL type's documentation follows.

Package represents the root of the package trie/tree.

We map package information to a trie, closely matching the pURL specification (https://github.com/package-url/purl-spec/blob/0dd92f26f8bb11956ffdf5e8acfcee71e8560407/README.rst), but deviating from it where GUAC heuristics allow for better representation of package information. Each path in the trie fully represents a package; we split the trie based on the pURL components.

This node matches a pkg:<type> partial pURL. The type field matches the pURL types but we might also use "guac" for the cases where the pURL representation is not complete or when we have custom rules.

Since this node is at the root of the package trie, it is named Package, not PackageType.

func (*PkgEqualOtherPackage) GetId

func (v *PkgEqualOtherPackage) GetId() string

GetId returns PkgEqualOtherPackage.Id, and is useful for accessing the field via an interface.

func (*PkgEqualOtherPackage) GetNamespaces

GetNamespaces returns PkgEqualOtherPackage.Namespaces, and is useful for accessing the field via an interface.

func (*PkgEqualOtherPackage) GetType

func (v *PkgEqualOtherPackage) GetType() string

GetType returns PkgEqualOtherPackage.Type, and is useful for accessing the field via an interface.

func (*PkgEqualOtherPackage) MarshalJSON

func (v *PkgEqualOtherPackage) MarshalJSON() ([]byte, error)

func (*PkgEqualOtherPackage) UnmarshalJSON

func (v *PkgEqualOtherPackage) UnmarshalJSON(b []byte) error

type PkgEqualPkgPackage

type PkgEqualPkgPackage struct {
	AllPkgTree `json:"-"`
}

PkgEqualPkgPackage includes the requested fields of the GraphQL type Package. The GraphQL type's documentation follows.

Package represents the root of the package trie/tree.

We map package information to a trie, closely matching the pURL specification (https://github.com/package-url/purl-spec/blob/0dd92f26f8bb11956ffdf5e8acfcee71e8560407/README.rst), but deviating from it where GUAC heuristics allow for better representation of package information. Each path in the trie fully represents a package; we split the trie based on the pURL components.

This node matches a pkg:<type> partial pURL. The type field matches the pURL types but we might also use "guac" for the cases where the pURL representation is not complete or when we have custom rules.

Since this node is at the root of the package trie, it is named Package, not PackageType.

func (*PkgEqualPkgPackage) GetId

func (v *PkgEqualPkgPackage) GetId() string

GetId returns PkgEqualPkgPackage.Id, and is useful for accessing the field via an interface.

func (*PkgEqualPkgPackage) GetNamespaces

GetNamespaces returns PkgEqualPkgPackage.Namespaces, and is useful for accessing the field via an interface.

func (*PkgEqualPkgPackage) GetType

func (v *PkgEqualPkgPackage) GetType() string

GetType returns PkgEqualPkgPackage.Type, and is useful for accessing the field via an interface.

func (*PkgEqualPkgPackage) MarshalJSON

func (v *PkgEqualPkgPackage) MarshalJSON() ([]byte, error)

func (*PkgEqualPkgPackage) UnmarshalJSON

func (v *PkgEqualPkgPackage) UnmarshalJSON(b []byte) error

type PkgEqualResponse

type PkgEqualResponse struct {
	// Ingests a new package and returns the corresponding package trie path.
	Pkg PkgEqualPkgPackage `json:"pkg"`
	// Ingests a new package and returns the corresponding package trie path.
	OtherPackage PkgEqualOtherPackage `json:"otherPackage"`
	// Adds a certification that two packages are similar.
	IngestPkgEqual PkgEqualIngestPkgEqual `json:"ingestPkgEqual"`
}

PkgEqualResponse is returned by PkgEqual on success.

func PkgEqual

func PkgEqual(
	ctx context.Context,
	client graphql.Client,
	pkg PkgInputSpec,
	otherPackage PkgInputSpec,
	pkgEqual PkgEqualInputSpec,
) (*PkgEqualResponse, error)

func (*PkgEqualResponse) GetIngestPkgEqual

func (v *PkgEqualResponse) GetIngestPkgEqual() PkgEqualIngestPkgEqual

GetIngestPkgEqual returns PkgEqualResponse.IngestPkgEqual, and is useful for accessing the field via an interface.

func (*PkgEqualResponse) GetOtherPackage

func (v *PkgEqualResponse) GetOtherPackage() PkgEqualOtherPackage

GetOtherPackage returns PkgEqualResponse.OtherPackage, and is useful for accessing the field via an interface.

func (*PkgEqualResponse) GetPkg

GetPkg returns PkgEqualResponse.Pkg, and is useful for accessing the field via an interface.

type PkgInputSpec

type PkgInputSpec struct {
	Type       string                      `json:"type"`
	Namespace  *string                     `json:"namespace"`
	Name       string                      `json:"name"`
	Version    *string                     `json:"version"`
	Qualifiers []PackageQualifierInputSpec `json:"qualifiers"`
	Subpath    *string                     `json:"subpath"`
}

PkgInputSpec specifies a package for mutations.

This is different than PkgSpec because we want to encode mandatory fields: type and name. All optional fields are given empty default values.

func (*PkgInputSpec) GetName

func (v *PkgInputSpec) GetName() string

GetName returns PkgInputSpec.Name, and is useful for accessing the field via an interface.

func (*PkgInputSpec) GetNamespace

func (v *PkgInputSpec) GetNamespace() *string

GetNamespace returns PkgInputSpec.Namespace, and is useful for accessing the field via an interface.

func (*PkgInputSpec) GetQualifiers

func (v *PkgInputSpec) GetQualifiers() []PackageQualifierInputSpec

GetQualifiers returns PkgInputSpec.Qualifiers, and is useful for accessing the field via an interface.

func (*PkgInputSpec) GetSubpath

func (v *PkgInputSpec) GetSubpath() *string

GetSubpath returns PkgInputSpec.Subpath, and is useful for accessing the field via an interface.

func (*PkgInputSpec) GetType

func (v *PkgInputSpec) GetType() string

GetType returns PkgInputSpec.Type, and is useful for accessing the field via an interface.

func (*PkgInputSpec) GetVersion

func (v *PkgInputSpec) GetVersion() *string

GetVersion returns PkgInputSpec.Version, and is useful for accessing the field via an interface.

type PkgMatchType

type PkgMatchType string

PkgMatchType is an enum to determine if the attestation should be done at the specific version or package name.

const (
	PkgMatchTypeAllVersions     PkgMatchType = "ALL_VERSIONS"
	PkgMatchTypeSpecificVersion PkgMatchType = "SPECIFIC_VERSION"
)

type PkgSpec

type PkgSpec struct {
	Id                       *string                `json:"id"`
	Type                     *string                `json:"type"`
	Namespace                *string                `json:"namespace"`
	Name                     *string                `json:"name"`
	Version                  *string                `json:"version"`
	Qualifiers               []PackageQualifierSpec `json:"qualifiers"`
	MatchOnlyEmptyQualifiers *bool                  `json:"matchOnlyEmptyQualifiers"`
	Subpath                  *string                `json:"subpath"`
}

PkgSpec allows filtering the list of sources to return in a query.

Each field matches a qualifier from pURL. Use null to match on all values at that level. For example, to get all packages in GUAC backend, use a PkgSpec where every field is null.

Empty string at a field means matching with the empty string. If passing in qualifiers, all of the values in the list must match. Since we want to return nodes with any number of qualifiers if no qualifiers are passed in the input, we must also return the same set of nodes it the qualifiers list is empty. To match on nodes that don't contain any qualifier, set matchOnlyEmptyQualifiers to true. If this field is true, then the qualifiers argument is ignored.

func (*PkgSpec) GetId

func (v *PkgSpec) GetId() *string

GetId returns PkgSpec.Id, and is useful for accessing the field via an interface.

func (*PkgSpec) GetMatchOnlyEmptyQualifiers

func (v *PkgSpec) GetMatchOnlyEmptyQualifiers() *bool

GetMatchOnlyEmptyQualifiers returns PkgSpec.MatchOnlyEmptyQualifiers, and is useful for accessing the field via an interface.

func (*PkgSpec) GetName

func (v *PkgSpec) GetName() *string

GetName returns PkgSpec.Name, and is useful for accessing the field via an interface.

func (*PkgSpec) GetNamespace

func (v *PkgSpec) GetNamespace() *string

GetNamespace returns PkgSpec.Namespace, and is useful for accessing the field via an interface.

func (*PkgSpec) GetQualifiers

func (v *PkgSpec) GetQualifiers() []PackageQualifierSpec

GetQualifiers returns PkgSpec.Qualifiers, and is useful for accessing the field via an interface.

func (*PkgSpec) GetSubpath

func (v *PkgSpec) GetSubpath() *string

GetSubpath returns PkgSpec.Subpath, and is useful for accessing the field via an interface.

func (*PkgSpec) GetType

func (v *PkgSpec) GetType() *string

GetType returns PkgSpec.Type, and is useful for accessing the field via an interface.

func (*PkgSpec) GetVersion

func (v *PkgSpec) GetVersion() *string

GetVersion returns PkgSpec.Version, and is useful for accessing the field via an interface.

type PointOfContactArtifactIngestPointOfContact added in v0.1.1

type PointOfContactArtifactIngestPointOfContact struct {
	AllPointOfContact `json:"-"`
}

PointOfContactArtifactIngestPointOfContact includes the requested fields of the GraphQL type PointOfContact. The GraphQL type's documentation follows.

PointOfContact is an attestation of how to get in touch with the person(s) responsible for a package, source, or artifact.

All evidence trees record a justification for the property they represent as well as the document that contains the attestation (origin) and the collector that collected the document (collector).

The attestation applies to a subject which is a package, source, or artifact. If the attestation targets a package, it must target a PackageName or a PackageVersion. If the attestation targets a source, it must target a SourceName.

email is the email address (singular) of the point of contact.

info is additional contact information other than email address. This is free form.

NOTE: the identifiers for point of contact should be part of software trees. This will benefit from identifier look up and traversal as well as organization hierarchy. However, until the use case arises, PointOfContact will be a flat reference to the contact details.

func (*PointOfContactArtifactIngestPointOfContact) GetCollector added in v0.1.1

GetCollector returns PointOfContactArtifactIngestPointOfContact.Collector, and is useful for accessing the field via an interface.

func (*PointOfContactArtifactIngestPointOfContact) GetEmail added in v0.1.1

GetEmail returns PointOfContactArtifactIngestPointOfContact.Email, and is useful for accessing the field via an interface.

func (*PointOfContactArtifactIngestPointOfContact) GetId added in v0.1.1

GetId returns PointOfContactArtifactIngestPointOfContact.Id, and is useful for accessing the field via an interface.

func (*PointOfContactArtifactIngestPointOfContact) GetInfo added in v0.1.1

GetInfo returns PointOfContactArtifactIngestPointOfContact.Info, and is useful for accessing the field via an interface.

func (*PointOfContactArtifactIngestPointOfContact) GetJustification added in v0.1.1

func (v *PointOfContactArtifactIngestPointOfContact) GetJustification() string

GetJustification returns PointOfContactArtifactIngestPointOfContact.Justification, and is useful for accessing the field via an interface.

func (*PointOfContactArtifactIngestPointOfContact) GetOrigin added in v0.1.1

GetOrigin returns PointOfContactArtifactIngestPointOfContact.Origin, and is useful for accessing the field via an interface.

func (*PointOfContactArtifactIngestPointOfContact) GetSince added in v0.1.1

GetSince returns PointOfContactArtifactIngestPointOfContact.Since, and is useful for accessing the field via an interface.

func (*PointOfContactArtifactIngestPointOfContact) GetSubject added in v0.1.1

GetSubject returns PointOfContactArtifactIngestPointOfContact.Subject, and is useful for accessing the field via an interface.

func (*PointOfContactArtifactIngestPointOfContact) MarshalJSON added in v0.1.1

func (*PointOfContactArtifactIngestPointOfContact) UnmarshalJSON added in v0.1.1

type PointOfContactArtifactResponse added in v0.1.1

type PointOfContactArtifactResponse struct {
	// Adds a PointOfContact attestation to a package, source or artifact.
	IngestPointOfContact PointOfContactArtifactIngestPointOfContact `json:"ingestPointOfContact"`
}

PointOfContactArtifactResponse is returned by PointOfContactArtifact on success.

func PointOfContactArtifact added in v0.1.1

func PointOfContactArtifact(
	ctx context.Context,
	client graphql.Client,
	artifact ArtifactInputSpec,
	pointOfContact PointOfContactInputSpec,
) (*PointOfContactArtifactResponse, error)

func (*PointOfContactArtifactResponse) GetIngestPointOfContact added in v0.1.1

GetIngestPointOfContact returns PointOfContactArtifactResponse.IngestPointOfContact, and is useful for accessing the field via an interface.

type PointOfContactInputSpec added in v0.1.1

type PointOfContactInputSpec struct {
	Email         string    `json:"email"`
	Info          string    `json:"info"`
	Since         time.Time `json:"since"`
	Justification string    `json:"justification"`
	Origin        string    `json:"origin"`
	Collector     string    `json:"collector"`
}

PointOfContactInputSpec represents the mutation input to ingest a PointOfContact evidence.

func (*PointOfContactInputSpec) GetCollector added in v0.1.1

func (v *PointOfContactInputSpec) GetCollector() string

GetCollector returns PointOfContactInputSpec.Collector, and is useful for accessing the field via an interface.

func (*PointOfContactInputSpec) GetEmail added in v0.1.1

func (v *PointOfContactInputSpec) GetEmail() string

GetEmail returns PointOfContactInputSpec.Email, and is useful for accessing the field via an interface.

func (*PointOfContactInputSpec) GetInfo added in v0.1.1

func (v *PointOfContactInputSpec) GetInfo() string

GetInfo returns PointOfContactInputSpec.Info, and is useful for accessing the field via an interface.

func (*PointOfContactInputSpec) GetJustification added in v0.1.1

func (v *PointOfContactInputSpec) GetJustification() string

GetJustification returns PointOfContactInputSpec.Justification, and is useful for accessing the field via an interface.

func (*PointOfContactInputSpec) GetOrigin added in v0.1.1

func (v *PointOfContactInputSpec) GetOrigin() string

GetOrigin returns PointOfContactInputSpec.Origin, and is useful for accessing the field via an interface.

func (*PointOfContactInputSpec) GetSince added in v0.1.1

func (v *PointOfContactInputSpec) GetSince() time.Time

GetSince returns PointOfContactInputSpec.Since, and is useful for accessing the field via an interface.

type PointOfContactPkgIngestPointOfContact added in v0.1.1

type PointOfContactPkgIngestPointOfContact struct {
	AllPointOfContact `json:"-"`
}

PointOfContactPkgIngestPointOfContact includes the requested fields of the GraphQL type PointOfContact. The GraphQL type's documentation follows.

PointOfContact is an attestation of how to get in touch with the person(s) responsible for a package, source, or artifact.

All evidence trees record a justification for the property they represent as well as the document that contains the attestation (origin) and the collector that collected the document (collector).

The attestation applies to a subject which is a package, source, or artifact. If the attestation targets a package, it must target a PackageName or a PackageVersion. If the attestation targets a source, it must target a SourceName.

email is the email address (singular) of the point of contact.

info is additional contact information other than email address. This is free form.

NOTE: the identifiers for point of contact should be part of software trees. This will benefit from identifier look up and traversal as well as organization hierarchy. However, until the use case arises, PointOfContact will be a flat reference to the contact details.

func (*PointOfContactPkgIngestPointOfContact) GetCollector added in v0.1.1

GetCollector returns PointOfContactPkgIngestPointOfContact.Collector, and is useful for accessing the field via an interface.

func (*PointOfContactPkgIngestPointOfContact) GetEmail added in v0.1.1

GetEmail returns PointOfContactPkgIngestPointOfContact.Email, and is useful for accessing the field via an interface.

func (*PointOfContactPkgIngestPointOfContact) GetId added in v0.1.1

GetId returns PointOfContactPkgIngestPointOfContact.Id, and is useful for accessing the field via an interface.

func (*PointOfContactPkgIngestPointOfContact) GetInfo added in v0.1.1

GetInfo returns PointOfContactPkgIngestPointOfContact.Info, and is useful for accessing the field via an interface.

func (*PointOfContactPkgIngestPointOfContact) GetJustification added in v0.1.1

func (v *PointOfContactPkgIngestPointOfContact) GetJustification() string

GetJustification returns PointOfContactPkgIngestPointOfContact.Justification, and is useful for accessing the field via an interface.

func (*PointOfContactPkgIngestPointOfContact) GetOrigin added in v0.1.1

GetOrigin returns PointOfContactPkgIngestPointOfContact.Origin, and is useful for accessing the field via an interface.

func (*PointOfContactPkgIngestPointOfContact) GetSince added in v0.1.1

GetSince returns PointOfContactPkgIngestPointOfContact.Since, and is useful for accessing the field via an interface.

func (*PointOfContactPkgIngestPointOfContact) GetSubject added in v0.1.1

GetSubject returns PointOfContactPkgIngestPointOfContact.Subject, and is useful for accessing the field via an interface.

func (*PointOfContactPkgIngestPointOfContact) MarshalJSON added in v0.1.1

func (v *PointOfContactPkgIngestPointOfContact) MarshalJSON() ([]byte, error)

func (*PointOfContactPkgIngestPointOfContact) UnmarshalJSON added in v0.1.1

func (v *PointOfContactPkgIngestPointOfContact) UnmarshalJSON(b []byte) error

type PointOfContactPkgResponse added in v0.1.1

type PointOfContactPkgResponse struct {
	// Adds a PointOfContact attestation to a package, source or artifact.
	IngestPointOfContact PointOfContactPkgIngestPointOfContact `json:"ingestPointOfContact"`
}

PointOfContactPkgResponse is returned by PointOfContactPkg on success.

func PointOfContactPkg added in v0.1.1

func PointOfContactPkg(
	ctx context.Context,
	client graphql.Client,
	pkg PkgInputSpec,
	pkgMatchType *MatchFlags,
	pointOfContact PointOfContactInputSpec,
) (*PointOfContactPkgResponse, error)

func (*PointOfContactPkgResponse) GetIngestPointOfContact added in v0.1.1

GetIngestPointOfContact returns PointOfContactPkgResponse.IngestPointOfContact, and is useful for accessing the field via an interface.

type PointOfContactSrcIngestPointOfContact added in v0.1.1

type PointOfContactSrcIngestPointOfContact struct {
	AllPointOfContact `json:"-"`
}

PointOfContactSrcIngestPointOfContact includes the requested fields of the GraphQL type PointOfContact. The GraphQL type's documentation follows.

PointOfContact is an attestation of how to get in touch with the person(s) responsible for a package, source, or artifact.

All evidence trees record a justification for the property they represent as well as the document that contains the attestation (origin) and the collector that collected the document (collector).

The attestation applies to a subject which is a package, source, or artifact. If the attestation targets a package, it must target a PackageName or a PackageVersion. If the attestation targets a source, it must target a SourceName.

email is the email address (singular) of the point of contact.

info is additional contact information other than email address. This is free form.

NOTE: the identifiers for point of contact should be part of software trees. This will benefit from identifier look up and traversal as well as organization hierarchy. However, until the use case arises, PointOfContact will be a flat reference to the contact details.

func (*PointOfContactSrcIngestPointOfContact) GetCollector added in v0.1.1

GetCollector returns PointOfContactSrcIngestPointOfContact.Collector, and is useful for accessing the field via an interface.

func (*PointOfContactSrcIngestPointOfContact) GetEmail added in v0.1.1

GetEmail returns PointOfContactSrcIngestPointOfContact.Email, and is useful for accessing the field via an interface.

func (*PointOfContactSrcIngestPointOfContact) GetId added in v0.1.1

GetId returns PointOfContactSrcIngestPointOfContact.Id, and is useful for accessing the field via an interface.

func (*PointOfContactSrcIngestPointOfContact) GetInfo added in v0.1.1

GetInfo returns PointOfContactSrcIngestPointOfContact.Info, and is useful for accessing the field via an interface.

func (*PointOfContactSrcIngestPointOfContact) GetJustification added in v0.1.1

func (v *PointOfContactSrcIngestPointOfContact) GetJustification() string

GetJustification returns PointOfContactSrcIngestPointOfContact.Justification, and is useful for accessing the field via an interface.

func (*PointOfContactSrcIngestPointOfContact) GetOrigin added in v0.1.1

GetOrigin returns PointOfContactSrcIngestPointOfContact.Origin, and is useful for accessing the field via an interface.

func (*PointOfContactSrcIngestPointOfContact) GetSince added in v0.1.1

GetSince returns PointOfContactSrcIngestPointOfContact.Since, and is useful for accessing the field via an interface.

func (*PointOfContactSrcIngestPointOfContact) GetSubject added in v0.1.1

GetSubject returns PointOfContactSrcIngestPointOfContact.Subject, and is useful for accessing the field via an interface.

func (*PointOfContactSrcIngestPointOfContact) MarshalJSON added in v0.1.1

func (v *PointOfContactSrcIngestPointOfContact) MarshalJSON() ([]byte, error)

func (*PointOfContactSrcIngestPointOfContact) UnmarshalJSON added in v0.1.1

func (v *PointOfContactSrcIngestPointOfContact) UnmarshalJSON(b []byte) error

type PointOfContactSrcResponse added in v0.1.1

type PointOfContactSrcResponse struct {
	// Adds a PointOfContact attestation to a package, source or artifact.
	IngestPointOfContact PointOfContactSrcIngestPointOfContact `json:"ingestPointOfContact"`
}

PointOfContactSrcResponse is returned by PointOfContactSrc on success.

func PointOfContactSrc added in v0.1.1

func PointOfContactSrc(
	ctx context.Context,
	client graphql.Client,
	source SourceInputSpec,
	pointOfContact PointOfContactInputSpec,
) (*PointOfContactSrcResponse, error)

func (*PointOfContactSrcResponse) GetIngestPointOfContact added in v0.1.1

GetIngestPointOfContact returns PointOfContactSrcResponse.IngestPointOfContact, and is useful for accessing the field via an interface.

type SLSAForArtifactIngestSLSAHasSLSA

type SLSAForArtifactIngestSLSAHasSLSA struct {
	AllSLSATree `json:"-"`
}

SLSAForArtifactIngestSLSAHasSLSA includes the requested fields of the GraphQL type HasSLSA. The GraphQL type's documentation follows.

HasSLSA records that a subject node has a SLSA attestation.

func (*SLSAForArtifactIngestSLSAHasSLSA) GetId

GetId returns SLSAForArtifactIngestSLSAHasSLSA.Id, and is useful for accessing the field via an interface.

func (*SLSAForArtifactIngestSLSAHasSLSA) GetSlsa

GetSlsa returns SLSAForArtifactIngestSLSAHasSLSA.Slsa, and is useful for accessing the field via an interface.

func (*SLSAForArtifactIngestSLSAHasSLSA) GetSubject

GetSubject returns SLSAForArtifactIngestSLSAHasSLSA.Subject, and is useful for accessing the field via an interface.

func (*SLSAForArtifactIngestSLSAHasSLSA) MarshalJSON

func (v *SLSAForArtifactIngestSLSAHasSLSA) MarshalJSON() ([]byte, error)

func (*SLSAForArtifactIngestSLSAHasSLSA) UnmarshalJSON

func (v *SLSAForArtifactIngestSLSAHasSLSA) UnmarshalJSON(b []byte) error

type SLSAForArtifactResponse

type SLSAForArtifactResponse struct {
	// Ingests a SLSA attestation
	IngestSLSA SLSAForArtifactIngestSLSAHasSLSA `json:"ingestSLSA"`
}

SLSAForArtifactResponse is returned by SLSAForArtifact on success.

func SLSAForArtifact

func SLSAForArtifact(
	ctx context.Context,
	client graphql.Client,
	artifact ArtifactInputSpec,
	materials []ArtifactInputSpec,
	builder BuilderInputSpec,
	slsa SLSAInputSpec,
) (*SLSAForArtifactResponse, error)

func (*SLSAForArtifactResponse) GetIngestSLSA

GetIngestSLSA returns SLSAForArtifactResponse.IngestSLSA, and is useful for accessing the field via an interface.

type SLSAForArtifactsIngestSLSAsHasSLSA added in v0.1.1

type SLSAForArtifactsIngestSLSAsHasSLSA struct {
	AllSLSATree `json:"-"`
}

SLSAForArtifactsIngestSLSAsHasSLSA includes the requested fields of the GraphQL type HasSLSA. The GraphQL type's documentation follows.

HasSLSA records that a subject node has a SLSA attestation.

func (*SLSAForArtifactsIngestSLSAsHasSLSA) GetId added in v0.1.1

GetId returns SLSAForArtifactsIngestSLSAsHasSLSA.Id, and is useful for accessing the field via an interface.

func (*SLSAForArtifactsIngestSLSAsHasSLSA) GetSlsa added in v0.1.1

GetSlsa returns SLSAForArtifactsIngestSLSAsHasSLSA.Slsa, and is useful for accessing the field via an interface.

func (*SLSAForArtifactsIngestSLSAsHasSLSA) GetSubject added in v0.1.1

GetSubject returns SLSAForArtifactsIngestSLSAsHasSLSA.Subject, and is useful for accessing the field via an interface.

func (*SLSAForArtifactsIngestSLSAsHasSLSA) MarshalJSON added in v0.1.1

func (v *SLSAForArtifactsIngestSLSAsHasSLSA) MarshalJSON() ([]byte, error)

func (*SLSAForArtifactsIngestSLSAsHasSLSA) UnmarshalJSON added in v0.1.1

func (v *SLSAForArtifactsIngestSLSAsHasSLSA) UnmarshalJSON(b []byte) error

type SLSAForArtifactsResponse added in v0.1.1

type SLSAForArtifactsResponse struct {
	// Bulk Ingest SLSA attestations
	IngestSLSAs []SLSAForArtifactsIngestSLSAsHasSLSA `json:"ingestSLSAs"`
}

SLSAForArtifactsResponse is returned by SLSAForArtifacts on success.

func SLSAForArtifacts added in v0.1.1

func SLSAForArtifacts(
	ctx context.Context,
	client graphql.Client,
	artifacts []ArtifactInputSpec,
	materialsList [][]ArtifactInputSpec,
	builders []BuilderInputSpec,
	slsaList []SLSAInputSpec,
) (*SLSAForArtifactsResponse, error)

func (*SLSAForArtifactsResponse) GetIngestSLSAs added in v0.1.1

GetIngestSLSAs returns SLSAForArtifactsResponse.IngestSLSAs, and is useful for accessing the field via an interface.

type SLSAInputSpec

type SLSAInputSpec struct {
	BuildType     string                   `json:"buildType"`
	SlsaPredicate []SLSAPredicateInputSpec `json:"slsaPredicate"`
	SlsaVersion   string                   `json:"slsaVersion"`
	StartedOn     *time.Time               `json:"startedOn"`
	FinishedOn    *time.Time               `json:"finishedOn"`
	Origin        string                   `json:"origin"`
	Collector     string                   `json:"collector"`
}

SLSAInputSpec is the same as SLSA but for mutation input.

func (*SLSAInputSpec) GetBuildType

func (v *SLSAInputSpec) GetBuildType() string

GetBuildType returns SLSAInputSpec.BuildType, and is useful for accessing the field via an interface.

func (*SLSAInputSpec) GetCollector

func (v *SLSAInputSpec) GetCollector() string

GetCollector returns SLSAInputSpec.Collector, and is useful for accessing the field via an interface.

func (*SLSAInputSpec) GetFinishedOn

func (v *SLSAInputSpec) GetFinishedOn() *time.Time

GetFinishedOn returns SLSAInputSpec.FinishedOn, and is useful for accessing the field via an interface.

func (*SLSAInputSpec) GetOrigin

func (v *SLSAInputSpec) GetOrigin() string

GetOrigin returns SLSAInputSpec.Origin, and is useful for accessing the field via an interface.

func (*SLSAInputSpec) GetSlsaPredicate

func (v *SLSAInputSpec) GetSlsaPredicate() []SLSAPredicateInputSpec

GetSlsaPredicate returns SLSAInputSpec.SlsaPredicate, and is useful for accessing the field via an interface.

func (*SLSAInputSpec) GetSlsaVersion

func (v *SLSAInputSpec) GetSlsaVersion() string

GetSlsaVersion returns SLSAInputSpec.SlsaVersion, and is useful for accessing the field via an interface.

func (*SLSAInputSpec) GetStartedOn

func (v *SLSAInputSpec) GetStartedOn() *time.Time

GetStartedOn returns SLSAInputSpec.StartedOn, and is useful for accessing the field via an interface.

type SLSAPredicateInputSpec

type SLSAPredicateInputSpec struct {
	Key   string `json:"key"`
	Value string `json:"value"`
}

SLSAPredicateInputSpec allows ingesting SLSAPredicateSpec.

func (*SLSAPredicateInputSpec) GetKey

func (v *SLSAPredicateInputSpec) GetKey() string

GetKey returns SLSAPredicateInputSpec.Key, and is useful for accessing the field via an interface.

func (*SLSAPredicateInputSpec) GetValue

func (v *SLSAPredicateInputSpec) GetValue() string

GetValue returns SLSAPredicateInputSpec.Value, and is useful for accessing the field via an interface.

type ScorecardCheckInputSpec

type ScorecardCheckInputSpec struct {
	Check string `json:"check"`
	Score int    `json:"score"`
}

ScorecardCheckInputSpec represents the mutation input for a Scorecard check.

func (*ScorecardCheckInputSpec) GetCheck

func (v *ScorecardCheckInputSpec) GetCheck() string

GetCheck returns ScorecardCheckInputSpec.Check, and is useful for accessing the field via an interface.

func (*ScorecardCheckInputSpec) GetScore

func (v *ScorecardCheckInputSpec) GetScore() int

GetScore returns ScorecardCheckInputSpec.Score, and is useful for accessing the field via an interface.

type ScorecardInputSpec

type ScorecardInputSpec struct {
	Checks           []ScorecardCheckInputSpec `json:"checks"`
	AggregateScore   float64                   `json:"aggregateScore"`
	TimeScanned      time.Time                 `json:"timeScanned"`
	ScorecardVersion string                    `json:"scorecardVersion"`
	ScorecardCommit  string                    `json:"scorecardCommit"`
	Origin           string                    `json:"origin"`
	Collector        string                    `json:"collector"`
}

ScorecardInputSpec represents the mutation input to ingest a Scorecard.

func (*ScorecardInputSpec) GetAggregateScore

func (v *ScorecardInputSpec) GetAggregateScore() float64

GetAggregateScore returns ScorecardInputSpec.AggregateScore, and is useful for accessing the field via an interface.

func (*ScorecardInputSpec) GetChecks

GetChecks returns ScorecardInputSpec.Checks, and is useful for accessing the field via an interface.

func (*ScorecardInputSpec) GetCollector

func (v *ScorecardInputSpec) GetCollector() string

GetCollector returns ScorecardInputSpec.Collector, and is useful for accessing the field via an interface.

func (*ScorecardInputSpec) GetOrigin

func (v *ScorecardInputSpec) GetOrigin() string

GetOrigin returns ScorecardInputSpec.Origin, and is useful for accessing the field via an interface.

func (*ScorecardInputSpec) GetScorecardCommit

func (v *ScorecardInputSpec) GetScorecardCommit() string

GetScorecardCommit returns ScorecardInputSpec.ScorecardCommit, and is useful for accessing the field via an interface.

func (*ScorecardInputSpec) GetScorecardVersion

func (v *ScorecardInputSpec) GetScorecardVersion() string

GetScorecardVersion returns ScorecardInputSpec.ScorecardVersion, and is useful for accessing the field via an interface.

func (*ScorecardInputSpec) GetTimeScanned

func (v *ScorecardInputSpec) GetTimeScanned() time.Time

GetTimeScanned returns ScorecardInputSpec.TimeScanned, and is useful for accessing the field via an interface.

type SourceInputSpec

type SourceInputSpec struct {
	Type      string  `json:"type"`
	Namespace string  `json:"namespace"`
	Name      string  `json:"name"`
	Tag       *string `json:"tag"`
	Commit    *string `json:"commit"`
}

SourceInputSpec specifies a source for mutations.

This is different than SourceSpec because we want to encode that all fields except tag and commit are mandatory fields. All optional fields are given empty default values.

It is an error to set both tag and commit fields to values different than the default.

func (*SourceInputSpec) GetCommit

func (v *SourceInputSpec) GetCommit() *string

GetCommit returns SourceInputSpec.Commit, and is useful for accessing the field via an interface.

func (*SourceInputSpec) GetName

func (v *SourceInputSpec) GetName() string

GetName returns SourceInputSpec.Name, and is useful for accessing the field via an interface.

func (*SourceInputSpec) GetNamespace

func (v *SourceInputSpec) GetNamespace() string

GetNamespace returns SourceInputSpec.Namespace, and is useful for accessing the field via an interface.

func (*SourceInputSpec) GetTag

func (v *SourceInputSpec) GetTag() *string

GetTag returns SourceInputSpec.Tag, and is useful for accessing the field via an interface.

func (*SourceInputSpec) GetType

func (v *SourceInputSpec) GetType() string

GetType returns SourceInputSpec.Type, and is useful for accessing the field via an interface.

type SourceSpec

type SourceSpec struct {
	Id        *string `json:"id"`
	Type      *string `json:"type"`
	Namespace *string `json:"namespace"`
	Name      *string `json:"name"`
	Tag       *string `json:"tag"`
	Commit    *string `json:"commit"`
}

SourceSpec allows filtering the list of sources to return in a query.

Empty string at a field means matching with the empty string. Missing field means retrieving all possible matches.

It is an error to specify both tag and commit fields, except it both are set as empty string (in which case the returned sources are only those for which there is no tag/commit information).

func (*SourceSpec) GetCommit

func (v *SourceSpec) GetCommit() *string

GetCommit returns SourceSpec.Commit, and is useful for accessing the field via an interface.

func (*SourceSpec) GetId

func (v *SourceSpec) GetId() *string

GetId returns SourceSpec.Id, and is useful for accessing the field via an interface.

func (*SourceSpec) GetName

func (v *SourceSpec) GetName() *string

GetName returns SourceSpec.Name, and is useful for accessing the field via an interface.

func (*SourceSpec) GetNamespace

func (v *SourceSpec) GetNamespace() *string

GetNamespace returns SourceSpec.Namespace, and is useful for accessing the field via an interface.

func (*SourceSpec) GetTag

func (v *SourceSpec) GetTag() *string

GetTag returns SourceSpec.Tag, and is useful for accessing the field via an interface.

func (*SourceSpec) GetType

func (v *SourceSpec) GetType() *string

GetType returns SourceSpec.Type, and is useful for accessing the field via an interface.

type SourcesResponse

type SourcesResponse struct {
	// Returns all sources matching a filter.
	Sources []SourcesSourcesSource `json:"sources"`
}

SourcesResponse is returned by Sources on success.

func Sources

func Sources(
	ctx context.Context,
	client graphql.Client,
	filter *SourceSpec,
) (*SourcesResponse, error)

func (*SourcesResponse) GetSources

func (v *SourcesResponse) GetSources() []SourcesSourcesSource

GetSources returns SourcesResponse.Sources, and is useful for accessing the field via an interface.

type SourcesSourcesSource

type SourcesSourcesSource struct {
	AllSourceTree `json:"-"`
}

SourcesSourcesSource includes the requested fields of the GraphQL type Source. The GraphQL type's documentation follows.

Source represents the root of the source trie/tree.

We map source information to a trie, as a derivative of the pURL specification: each path in the trie represents a type, namespace, name and an optional qualifier that stands for tag/commit information.

This node represents the type part of the trie path. It is used to represent the version control system that is being used.

Since this node is at the root of the source trie, it is named Source, not SourceType.

func (*SourcesSourcesSource) GetId

func (v *SourcesSourcesSource) GetId() string

GetId returns SourcesSourcesSource.Id, and is useful for accessing the field via an interface.

func (*SourcesSourcesSource) GetNamespaces

GetNamespaces returns SourcesSourcesSource.Namespaces, and is useful for accessing the field via an interface.

func (*SourcesSourcesSource) GetType

func (v *SourcesSourcesSource) GetType() string

GetType returns SourcesSourcesSource.Type, and is useful for accessing the field via an interface.

func (*SourcesSourcesSource) MarshalJSON

func (v *SourcesSourcesSource) MarshalJSON() ([]byte, error)

func (*SourcesSourcesSource) UnmarshalJSON

func (v *SourcesSourcesSource) UnmarshalJSON(b []byte) error

type VEXPackageAndGhsaIngestVEXStatementCertifyVEXStatement

type VEXPackageAndGhsaIngestVEXStatementCertifyVEXStatement struct {
	AllCertifyVEXStatement `json:"-"`
}

VEXPackageAndGhsaIngestVEXStatementCertifyVEXStatement includes the requested fields of the GraphQL type CertifyVEXStatement. The GraphQL type's documentation follows.

CertifyVEXStatement is an attestation to attach VEX statements to a package or artifact to clarify the impact of a specific vulnerability (CVE, GHSA or OSV).

func (*VEXPackageAndGhsaIngestVEXStatementCertifyVEXStatement) GetCollector

GetCollector returns VEXPackageAndGhsaIngestVEXStatementCertifyVEXStatement.Collector, and is useful for accessing the field via an interface.

func (*VEXPackageAndGhsaIngestVEXStatementCertifyVEXStatement) GetId

GetId returns VEXPackageAndGhsaIngestVEXStatementCertifyVEXStatement.Id, and is useful for accessing the field via an interface.

func (*VEXPackageAndGhsaIngestVEXStatementCertifyVEXStatement) GetKnownSince

GetKnownSince returns VEXPackageAndGhsaIngestVEXStatementCertifyVEXStatement.KnownSince, and is useful for accessing the field via an interface.

func (*VEXPackageAndGhsaIngestVEXStatementCertifyVEXStatement) GetOrigin

GetOrigin returns VEXPackageAndGhsaIngestVEXStatementCertifyVEXStatement.Origin, and is useful for accessing the field via an interface.

func (*VEXPackageAndGhsaIngestVEXStatementCertifyVEXStatement) GetStatement

GetStatement returns VEXPackageAndGhsaIngestVEXStatementCertifyVEXStatement.Statement, and is useful for accessing the field via an interface.

func (*VEXPackageAndGhsaIngestVEXStatementCertifyVEXStatement) GetStatus

GetStatus returns VEXPackageAndGhsaIngestVEXStatementCertifyVEXStatement.Status, and is useful for accessing the field via an interface.

func (*VEXPackageAndGhsaIngestVEXStatementCertifyVEXStatement) GetStatusNotes

GetStatusNotes returns VEXPackageAndGhsaIngestVEXStatementCertifyVEXStatement.StatusNotes, and is useful for accessing the field via an interface.

func (*VEXPackageAndGhsaIngestVEXStatementCertifyVEXStatement) GetSubject

GetSubject returns VEXPackageAndGhsaIngestVEXStatementCertifyVEXStatement.Subject, and is useful for accessing the field via an interface.

func (*VEXPackageAndGhsaIngestVEXStatementCertifyVEXStatement) GetVexJustification

GetVexJustification returns VEXPackageAndGhsaIngestVEXStatementCertifyVEXStatement.VexJustification, and is useful for accessing the field via an interface.

func (*VEXPackageAndGhsaIngestVEXStatementCertifyVEXStatement) GetVulnerability

GetVulnerability returns VEXPackageAndGhsaIngestVEXStatementCertifyVEXStatement.Vulnerability, and is useful for accessing the field via an interface.

func (*VEXPackageAndGhsaIngestVEXStatementCertifyVEXStatement) MarshalJSON

func (*VEXPackageAndGhsaIngestVEXStatementCertifyVEXStatement) UnmarshalJSON

type VEXPackageAndGhsaResponse

type VEXPackageAndGhsaResponse struct {
	// Adds a VEX certification for a package.
	IngestVEXStatement VEXPackageAndGhsaIngestVEXStatementCertifyVEXStatement `json:"ingestVEXStatement"`
}

VEXPackageAndGhsaResponse is returned by VEXPackageAndGhsa on success.

func VEXPackageAndGhsa

func VEXPackageAndGhsa(
	ctx context.Context,
	client graphql.Client,
	pkg PkgInputSpec,
	ghsa GHSAInputSpec,
	vexStatement VexStatementInputSpec,
) (*VEXPackageAndGhsaResponse, error)

func (*VEXPackageAndGhsaResponse) GetIngestVEXStatement

GetIngestVEXStatement returns VEXPackageAndGhsaResponse.IngestVEXStatement, and is useful for accessing the field via an interface.

type VexArtifactAndCveIngestVEXStatementCertifyVEXStatement

type VexArtifactAndCveIngestVEXStatementCertifyVEXStatement struct {
	AllCertifyVEXStatement `json:"-"`
}

VexArtifactAndCveIngestVEXStatementCertifyVEXStatement includes the requested fields of the GraphQL type CertifyVEXStatement. The GraphQL type's documentation follows.

CertifyVEXStatement is an attestation to attach VEX statements to a package or artifact to clarify the impact of a specific vulnerability (CVE, GHSA or OSV).

func (*VexArtifactAndCveIngestVEXStatementCertifyVEXStatement) GetCollector

GetCollector returns VexArtifactAndCveIngestVEXStatementCertifyVEXStatement.Collector, and is useful for accessing the field via an interface.

func (*VexArtifactAndCveIngestVEXStatementCertifyVEXStatement) GetId

GetId returns VexArtifactAndCveIngestVEXStatementCertifyVEXStatement.Id, and is useful for accessing the field via an interface.

func (*VexArtifactAndCveIngestVEXStatementCertifyVEXStatement) GetKnownSince

GetKnownSince returns VexArtifactAndCveIngestVEXStatementCertifyVEXStatement.KnownSince, and is useful for accessing the field via an interface.

func (*VexArtifactAndCveIngestVEXStatementCertifyVEXStatement) GetOrigin

GetOrigin returns VexArtifactAndCveIngestVEXStatementCertifyVEXStatement.Origin, and is useful for accessing the field via an interface.

func (*VexArtifactAndCveIngestVEXStatementCertifyVEXStatement) GetStatement

GetStatement returns VexArtifactAndCveIngestVEXStatementCertifyVEXStatement.Statement, and is useful for accessing the field via an interface.

func (*VexArtifactAndCveIngestVEXStatementCertifyVEXStatement) GetStatus

GetStatus returns VexArtifactAndCveIngestVEXStatementCertifyVEXStatement.Status, and is useful for accessing the field via an interface.

func (*VexArtifactAndCveIngestVEXStatementCertifyVEXStatement) GetStatusNotes

GetStatusNotes returns VexArtifactAndCveIngestVEXStatementCertifyVEXStatement.StatusNotes, and is useful for accessing the field via an interface.

func (*VexArtifactAndCveIngestVEXStatementCertifyVEXStatement) GetSubject

GetSubject returns VexArtifactAndCveIngestVEXStatementCertifyVEXStatement.Subject, and is useful for accessing the field via an interface.

func (*VexArtifactAndCveIngestVEXStatementCertifyVEXStatement) GetVexJustification

GetVexJustification returns VexArtifactAndCveIngestVEXStatementCertifyVEXStatement.VexJustification, and is useful for accessing the field via an interface.

func (*VexArtifactAndCveIngestVEXStatementCertifyVEXStatement) GetVulnerability

GetVulnerability returns VexArtifactAndCveIngestVEXStatementCertifyVEXStatement.Vulnerability, and is useful for accessing the field via an interface.

func (*VexArtifactAndCveIngestVEXStatementCertifyVEXStatement) MarshalJSON

func (*VexArtifactAndCveIngestVEXStatementCertifyVEXStatement) UnmarshalJSON

type VexArtifactAndCveResponse

type VexArtifactAndCveResponse struct {
	// Adds a VEX certification for a package.
	IngestVEXStatement VexArtifactAndCveIngestVEXStatementCertifyVEXStatement `json:"ingestVEXStatement"`
}

VexArtifactAndCveResponse is returned by VexArtifactAndCve on success.

func VexArtifactAndCve

func VexArtifactAndCve(
	ctx context.Context,
	client graphql.Client,
	artifact ArtifactInputSpec,
	cve CVEInputSpec,
	vexStatement VexStatementInputSpec,
) (*VexArtifactAndCveResponse, error)

func (*VexArtifactAndCveResponse) GetIngestVEXStatement

GetIngestVEXStatement returns VexArtifactAndCveResponse.IngestVEXStatement, and is useful for accessing the field via an interface.

type VexArtifactAndGhsaIngestVEXStatementCertifyVEXStatement

type VexArtifactAndGhsaIngestVEXStatementCertifyVEXStatement struct {
	AllCertifyVEXStatement `json:"-"`
}

VexArtifactAndGhsaIngestVEXStatementCertifyVEXStatement includes the requested fields of the GraphQL type CertifyVEXStatement. The GraphQL type's documentation follows.

CertifyVEXStatement is an attestation to attach VEX statements to a package or artifact to clarify the impact of a specific vulnerability (CVE, GHSA or OSV).

func (*VexArtifactAndGhsaIngestVEXStatementCertifyVEXStatement) GetCollector

GetCollector returns VexArtifactAndGhsaIngestVEXStatementCertifyVEXStatement.Collector, and is useful for accessing the field via an interface.

func (*VexArtifactAndGhsaIngestVEXStatementCertifyVEXStatement) GetId

GetId returns VexArtifactAndGhsaIngestVEXStatementCertifyVEXStatement.Id, and is useful for accessing the field via an interface.

func (*VexArtifactAndGhsaIngestVEXStatementCertifyVEXStatement) GetKnownSince

GetKnownSince returns VexArtifactAndGhsaIngestVEXStatementCertifyVEXStatement.KnownSince, and is useful for accessing the field via an interface.

func (*VexArtifactAndGhsaIngestVEXStatementCertifyVEXStatement) GetOrigin

GetOrigin returns VexArtifactAndGhsaIngestVEXStatementCertifyVEXStatement.Origin, and is useful for accessing the field via an interface.

func (*VexArtifactAndGhsaIngestVEXStatementCertifyVEXStatement) GetStatement

GetStatement returns VexArtifactAndGhsaIngestVEXStatementCertifyVEXStatement.Statement, and is useful for accessing the field via an interface.

func (*VexArtifactAndGhsaIngestVEXStatementCertifyVEXStatement) GetStatus

GetStatus returns VexArtifactAndGhsaIngestVEXStatementCertifyVEXStatement.Status, and is useful for accessing the field via an interface.

func (*VexArtifactAndGhsaIngestVEXStatementCertifyVEXStatement) GetStatusNotes

GetStatusNotes returns VexArtifactAndGhsaIngestVEXStatementCertifyVEXStatement.StatusNotes, and is useful for accessing the field via an interface.

func (*VexArtifactAndGhsaIngestVEXStatementCertifyVEXStatement) GetSubject

GetSubject returns VexArtifactAndGhsaIngestVEXStatementCertifyVEXStatement.Subject, and is useful for accessing the field via an interface.

func (*VexArtifactAndGhsaIngestVEXStatementCertifyVEXStatement) GetVexJustification

GetVexJustification returns VexArtifactAndGhsaIngestVEXStatementCertifyVEXStatement.VexJustification, and is useful for accessing the field via an interface.

func (*VexArtifactAndGhsaIngestVEXStatementCertifyVEXStatement) GetVulnerability

GetVulnerability returns VexArtifactAndGhsaIngestVEXStatementCertifyVEXStatement.Vulnerability, and is useful for accessing the field via an interface.

func (*VexArtifactAndGhsaIngestVEXStatementCertifyVEXStatement) MarshalJSON

func (*VexArtifactAndGhsaIngestVEXStatementCertifyVEXStatement) UnmarshalJSON

type VexArtifactAndGhsaResponse

type VexArtifactAndGhsaResponse struct {
	// Adds a VEX certification for a package.
	IngestVEXStatement VexArtifactAndGhsaIngestVEXStatementCertifyVEXStatement `json:"ingestVEXStatement"`
}

VexArtifactAndGhsaResponse is returned by VexArtifactAndGhsa on success.

func VexArtifactAndGhsa

func VexArtifactAndGhsa(
	ctx context.Context,
	client graphql.Client,
	artifact ArtifactInputSpec,
	ghsa GHSAInputSpec,
	vexStatement VexStatementInputSpec,
) (*VexArtifactAndGhsaResponse, error)

func (*VexArtifactAndGhsaResponse) GetIngestVEXStatement

GetIngestVEXStatement returns VexArtifactAndGhsaResponse.IngestVEXStatement, and is useful for accessing the field via an interface.

type VexArtifactAndOsvIngestVEXStatementCertifyVEXStatement

type VexArtifactAndOsvIngestVEXStatementCertifyVEXStatement struct {
	AllCertifyVEXStatement `json:"-"`
}

VexArtifactAndOsvIngestVEXStatementCertifyVEXStatement includes the requested fields of the GraphQL type CertifyVEXStatement. The GraphQL type's documentation follows.

CertifyVEXStatement is an attestation to attach VEX statements to a package or artifact to clarify the impact of a specific vulnerability (CVE, GHSA or OSV).

func (*VexArtifactAndOsvIngestVEXStatementCertifyVEXStatement) GetCollector

GetCollector returns VexArtifactAndOsvIngestVEXStatementCertifyVEXStatement.Collector, and is useful for accessing the field via an interface.

func (*VexArtifactAndOsvIngestVEXStatementCertifyVEXStatement) GetId

GetId returns VexArtifactAndOsvIngestVEXStatementCertifyVEXStatement.Id, and is useful for accessing the field via an interface.

func (*VexArtifactAndOsvIngestVEXStatementCertifyVEXStatement) GetKnownSince

GetKnownSince returns VexArtifactAndOsvIngestVEXStatementCertifyVEXStatement.KnownSince, and is useful for accessing the field via an interface.

func (*VexArtifactAndOsvIngestVEXStatementCertifyVEXStatement) GetOrigin

GetOrigin returns VexArtifactAndOsvIngestVEXStatementCertifyVEXStatement.Origin, and is useful for accessing the field via an interface.

func (*VexArtifactAndOsvIngestVEXStatementCertifyVEXStatement) GetStatement

GetStatement returns VexArtifactAndOsvIngestVEXStatementCertifyVEXStatement.Statement, and is useful for accessing the field via an interface.

func (*VexArtifactAndOsvIngestVEXStatementCertifyVEXStatement) GetStatus

GetStatus returns VexArtifactAndOsvIngestVEXStatementCertifyVEXStatement.Status, and is useful for accessing the field via an interface.

func (*VexArtifactAndOsvIngestVEXStatementCertifyVEXStatement) GetStatusNotes

GetStatusNotes returns VexArtifactAndOsvIngestVEXStatementCertifyVEXStatement.StatusNotes, and is useful for accessing the field via an interface.

func (*VexArtifactAndOsvIngestVEXStatementCertifyVEXStatement) GetSubject

GetSubject returns VexArtifactAndOsvIngestVEXStatementCertifyVEXStatement.Subject, and is useful for accessing the field via an interface.

func (*VexArtifactAndOsvIngestVEXStatementCertifyVEXStatement) GetVexJustification

GetVexJustification returns VexArtifactAndOsvIngestVEXStatementCertifyVEXStatement.VexJustification, and is useful for accessing the field via an interface.

func (*VexArtifactAndOsvIngestVEXStatementCertifyVEXStatement) GetVulnerability

GetVulnerability returns VexArtifactAndOsvIngestVEXStatementCertifyVEXStatement.Vulnerability, and is useful for accessing the field via an interface.

func (*VexArtifactAndOsvIngestVEXStatementCertifyVEXStatement) MarshalJSON

func (*VexArtifactAndOsvIngestVEXStatementCertifyVEXStatement) UnmarshalJSON

type VexArtifactAndOsvResponse

type VexArtifactAndOsvResponse struct {
	// Adds a VEX certification for a package.
	IngestVEXStatement VexArtifactAndOsvIngestVEXStatementCertifyVEXStatement `json:"ingestVEXStatement"`
}

VexArtifactAndOsvResponse is returned by VexArtifactAndOsv on success.

func VexArtifactAndOsv

func VexArtifactAndOsv(
	ctx context.Context,
	client graphql.Client,
	artifact ArtifactInputSpec,
	osv OSVInputSpec,
	vexStatement VexStatementInputSpec,
) (*VexArtifactAndOsvResponse, error)

func (*VexArtifactAndOsvResponse) GetIngestVEXStatement

GetIngestVEXStatement returns VexArtifactAndOsvResponse.IngestVEXStatement, and is useful for accessing the field via an interface.

type VexJustification

type VexJustification string

Records the justification included in the VEX statement.

const (
	VexJustificationComponentNotPresent                         VexJustification = "COMPONENT_NOT_PRESENT"
	VexJustificationVulnerableCodeNotPresent                    VexJustification = "VULNERABLE_CODE_NOT_PRESENT"
	VexJustificationVulnerableCodeNotInExecutePath              VexJustification = "VULNERABLE_CODE_NOT_IN_EXECUTE_PATH"
	VexJustificationVulnerableCodeCannotBeControlledByAdversary VexJustification = "VULNERABLE_CODE_CANNOT_BE_CONTROLLED_BY_ADVERSARY"
	VexJustificationInlineMitigationsAlreadyExist               VexJustification = "INLINE_MITIGATIONS_ALREADY_EXIST"
	VexJustificationNotProvided                                 VexJustification = "NOT_PROVIDED"
)

type VexPackageAndCveIngestVEXStatementCertifyVEXStatement

type VexPackageAndCveIngestVEXStatementCertifyVEXStatement struct {
	AllCertifyVEXStatement `json:"-"`
}

VexPackageAndCveIngestVEXStatementCertifyVEXStatement includes the requested fields of the GraphQL type CertifyVEXStatement. The GraphQL type's documentation follows.

CertifyVEXStatement is an attestation to attach VEX statements to a package or artifact to clarify the impact of a specific vulnerability (CVE, GHSA or OSV).

func (*VexPackageAndCveIngestVEXStatementCertifyVEXStatement) GetCollector

GetCollector returns VexPackageAndCveIngestVEXStatementCertifyVEXStatement.Collector, and is useful for accessing the field via an interface.

func (*VexPackageAndCveIngestVEXStatementCertifyVEXStatement) GetId

GetId returns VexPackageAndCveIngestVEXStatementCertifyVEXStatement.Id, and is useful for accessing the field via an interface.

func (*VexPackageAndCveIngestVEXStatementCertifyVEXStatement) GetKnownSince

GetKnownSince returns VexPackageAndCveIngestVEXStatementCertifyVEXStatement.KnownSince, and is useful for accessing the field via an interface.

func (*VexPackageAndCveIngestVEXStatementCertifyVEXStatement) GetOrigin

GetOrigin returns VexPackageAndCveIngestVEXStatementCertifyVEXStatement.Origin, and is useful for accessing the field via an interface.

func (*VexPackageAndCveIngestVEXStatementCertifyVEXStatement) GetStatement

GetStatement returns VexPackageAndCveIngestVEXStatementCertifyVEXStatement.Statement, and is useful for accessing the field via an interface.

func (*VexPackageAndCveIngestVEXStatementCertifyVEXStatement) GetStatus

GetStatus returns VexPackageAndCveIngestVEXStatementCertifyVEXStatement.Status, and is useful for accessing the field via an interface.

func (*VexPackageAndCveIngestVEXStatementCertifyVEXStatement) GetStatusNotes

GetStatusNotes returns VexPackageAndCveIngestVEXStatementCertifyVEXStatement.StatusNotes, and is useful for accessing the field via an interface.

func (*VexPackageAndCveIngestVEXStatementCertifyVEXStatement) GetSubject

GetSubject returns VexPackageAndCveIngestVEXStatementCertifyVEXStatement.Subject, and is useful for accessing the field via an interface.

func (*VexPackageAndCveIngestVEXStatementCertifyVEXStatement) GetVexJustification

GetVexJustification returns VexPackageAndCveIngestVEXStatementCertifyVEXStatement.VexJustification, and is useful for accessing the field via an interface.

func (*VexPackageAndCveIngestVEXStatementCertifyVEXStatement) GetVulnerability

GetVulnerability returns VexPackageAndCveIngestVEXStatementCertifyVEXStatement.Vulnerability, and is useful for accessing the field via an interface.

func (*VexPackageAndCveIngestVEXStatementCertifyVEXStatement) MarshalJSON

func (*VexPackageAndCveIngestVEXStatementCertifyVEXStatement) UnmarshalJSON

type VexPackageAndCveResponse

type VexPackageAndCveResponse struct {
	// Adds a VEX certification for a package.
	IngestVEXStatement VexPackageAndCveIngestVEXStatementCertifyVEXStatement `json:"ingestVEXStatement"`
}

VexPackageAndCveResponse is returned by VexPackageAndCve on success.

func VexPackageAndCve

func VexPackageAndCve(
	ctx context.Context,
	client graphql.Client,
	pkg PkgInputSpec,
	cve CVEInputSpec,
	vexStatement VexStatementInputSpec,
) (*VexPackageAndCveResponse, error)

func (*VexPackageAndCveResponse) GetIngestVEXStatement

GetIngestVEXStatement returns VexPackageAndCveResponse.IngestVEXStatement, and is useful for accessing the field via an interface.

type VexPackageAndOsvIngestVEXStatementCertifyVEXStatement

type VexPackageAndOsvIngestVEXStatementCertifyVEXStatement struct {
	AllCertifyVEXStatement `json:"-"`
}

VexPackageAndOsvIngestVEXStatementCertifyVEXStatement includes the requested fields of the GraphQL type CertifyVEXStatement. The GraphQL type's documentation follows.

CertifyVEXStatement is an attestation to attach VEX statements to a package or artifact to clarify the impact of a specific vulnerability (CVE, GHSA or OSV).

func (*VexPackageAndOsvIngestVEXStatementCertifyVEXStatement) GetCollector

GetCollector returns VexPackageAndOsvIngestVEXStatementCertifyVEXStatement.Collector, and is useful for accessing the field via an interface.

func (*VexPackageAndOsvIngestVEXStatementCertifyVEXStatement) GetId

GetId returns VexPackageAndOsvIngestVEXStatementCertifyVEXStatement.Id, and is useful for accessing the field via an interface.

func (*VexPackageAndOsvIngestVEXStatementCertifyVEXStatement) GetKnownSince

GetKnownSince returns VexPackageAndOsvIngestVEXStatementCertifyVEXStatement.KnownSince, and is useful for accessing the field via an interface.

func (*VexPackageAndOsvIngestVEXStatementCertifyVEXStatement) GetOrigin

GetOrigin returns VexPackageAndOsvIngestVEXStatementCertifyVEXStatement.Origin, and is useful for accessing the field via an interface.

func (*VexPackageAndOsvIngestVEXStatementCertifyVEXStatement) GetStatement

GetStatement returns VexPackageAndOsvIngestVEXStatementCertifyVEXStatement.Statement, and is useful for accessing the field via an interface.

func (*VexPackageAndOsvIngestVEXStatementCertifyVEXStatement) GetStatus

GetStatus returns VexPackageAndOsvIngestVEXStatementCertifyVEXStatement.Status, and is useful for accessing the field via an interface.

func (*VexPackageAndOsvIngestVEXStatementCertifyVEXStatement) GetStatusNotes

GetStatusNotes returns VexPackageAndOsvIngestVEXStatementCertifyVEXStatement.StatusNotes, and is useful for accessing the field via an interface.

func (*VexPackageAndOsvIngestVEXStatementCertifyVEXStatement) GetSubject

GetSubject returns VexPackageAndOsvIngestVEXStatementCertifyVEXStatement.Subject, and is useful for accessing the field via an interface.

func (*VexPackageAndOsvIngestVEXStatementCertifyVEXStatement) GetVexJustification

GetVexJustification returns VexPackageAndOsvIngestVEXStatementCertifyVEXStatement.VexJustification, and is useful for accessing the field via an interface.

func (*VexPackageAndOsvIngestVEXStatementCertifyVEXStatement) GetVulnerability

GetVulnerability returns VexPackageAndOsvIngestVEXStatementCertifyVEXStatement.Vulnerability, and is useful for accessing the field via an interface.

func (*VexPackageAndOsvIngestVEXStatementCertifyVEXStatement) MarshalJSON

func (*VexPackageAndOsvIngestVEXStatementCertifyVEXStatement) UnmarshalJSON

type VexPackageAndOsvResponse

type VexPackageAndOsvResponse struct {
	// Adds a VEX certification for a package.
	IngestVEXStatement VexPackageAndOsvIngestVEXStatementCertifyVEXStatement `json:"ingestVEXStatement"`
}

VexPackageAndOsvResponse is returned by VexPackageAndOsv on success.

func VexPackageAndOsv

func VexPackageAndOsv(
	ctx context.Context,
	client graphql.Client,
	pkg PkgInputSpec,
	osv OSVInputSpec,
	vexStatement VexStatementInputSpec,
) (*VexPackageAndOsvResponse, error)

func (*VexPackageAndOsvResponse) GetIngestVEXStatement

GetIngestVEXStatement returns VexPackageAndOsvResponse.IngestVEXStatement, and is useful for accessing the field via an interface.

type VexStatementInputSpec

type VexStatementInputSpec struct {
	Status           VexStatus        `json:"status"`
	VexJustification VexJustification `json:"vexJustification"`
	Statement        string           `json:"statement"`
	StatusNotes      string           `json:"statusNotes"`
	KnownSince       time.Time        `json:"knownSince"`
	Origin           string           `json:"origin"`
	Collector        string           `json:"collector"`
}

VexStatementInputSpec represents the input to ingest VEX statements.

func (*VexStatementInputSpec) GetCollector

func (v *VexStatementInputSpec) GetCollector() string

GetCollector returns VexStatementInputSpec.Collector, and is useful for accessing the field via an interface.

func (*VexStatementInputSpec) GetKnownSince

func (v *VexStatementInputSpec) GetKnownSince() time.Time

GetKnownSince returns VexStatementInputSpec.KnownSince, and is useful for accessing the field via an interface.

func (*VexStatementInputSpec) GetOrigin

func (v *VexStatementInputSpec) GetOrigin() string

GetOrigin returns VexStatementInputSpec.Origin, and is useful for accessing the field via an interface.

func (*VexStatementInputSpec) GetStatement

func (v *VexStatementInputSpec) GetStatement() string

GetStatement returns VexStatementInputSpec.Statement, and is useful for accessing the field via an interface.

func (*VexStatementInputSpec) GetStatus

func (v *VexStatementInputSpec) GetStatus() VexStatus

GetStatus returns VexStatementInputSpec.Status, and is useful for accessing the field via an interface.

func (*VexStatementInputSpec) GetStatusNotes

func (v *VexStatementInputSpec) GetStatusNotes() string

GetStatusNotes returns VexStatementInputSpec.StatusNotes, and is useful for accessing the field via an interface.

func (*VexStatementInputSpec) GetVexJustification

func (v *VexStatementInputSpec) GetVexJustification() VexJustification

GetVexJustification returns VexStatementInputSpec.VexJustification, and is useful for accessing the field via an interface.

type VexStatus

type VexStatus string

Records the status of a VEX statement subject.

const (
	VexStatusNotAffected        VexStatus = "NOT_AFFECTED"
	VexStatusAffected           VexStatus = "AFFECTED"
	VexStatusFixed              VexStatus = "FIXED"
	VexStatusUnderInvestigation VexStatus = "UNDER_INVESTIGATION"
)

type VulnerabilityMetaDataInput

type VulnerabilityMetaDataInput struct {
	TimeScanned    time.Time `json:"timeScanned"`
	DbUri          string    `json:"dbUri"`
	DbVersion      string    `json:"dbVersion"`
	ScannerUri     string    `json:"scannerUri"`
	ScannerVersion string    `json:"scannerVersion"`
	Origin         string    `json:"origin"`
	Collector      string    `json:"collector"`
}

VulnerabilityMetaDataInput represents the input for certifying vulnerability scans in mutations.

func (*VulnerabilityMetaDataInput) GetCollector

func (v *VulnerabilityMetaDataInput) GetCollector() string

GetCollector returns VulnerabilityMetaDataInput.Collector, and is useful for accessing the field via an interface.

func (*VulnerabilityMetaDataInput) GetDbUri

func (v *VulnerabilityMetaDataInput) GetDbUri() string

GetDbUri returns VulnerabilityMetaDataInput.DbUri, and is useful for accessing the field via an interface.

func (*VulnerabilityMetaDataInput) GetDbVersion

func (v *VulnerabilityMetaDataInput) GetDbVersion() string

GetDbVersion returns VulnerabilityMetaDataInput.DbVersion, and is useful for accessing the field via an interface.

func (*VulnerabilityMetaDataInput) GetOrigin

func (v *VulnerabilityMetaDataInput) GetOrigin() string

GetOrigin returns VulnerabilityMetaDataInput.Origin, and is useful for accessing the field via an interface.

func (*VulnerabilityMetaDataInput) GetScannerUri

func (v *VulnerabilityMetaDataInput) GetScannerUri() string

GetScannerUri returns VulnerabilityMetaDataInput.ScannerUri, and is useful for accessing the field via an interface.

func (*VulnerabilityMetaDataInput) GetScannerVersion

func (v *VulnerabilityMetaDataInput) GetScannerVersion() string

GetScannerVersion returns VulnerabilityMetaDataInput.ScannerVersion, and is useful for accessing the field via an interface.

func (*VulnerabilityMetaDataInput) GetTimeScanned

func (v *VulnerabilityMetaDataInput) GetTimeScanned() time.Time

GetTimeScanned returns VulnerabilityMetaDataInput.TimeScanned, and is useful for accessing the field via an interface.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL