generated

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Apr 30, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

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

The query or mutation executed by Artifacts.

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

The query or mutation executed by CertifyBads.

View Source
const CertifyLegals_Operation = `` /* 872-byte string literal not displayed */

The query or mutation executed by CertifyLegals.

View Source
const Dependencies_Operation = `` /* 514-byte string literal not displayed */

The query or mutation executed by Dependencies.

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

The query or mutation executed by FindSoftware.

View Source
const HasSBOMs_Operation = `` /* 1377-byte string literal not displayed */

The query or mutation executed by HasSBOMs.

View Source
const HashEquals_Operation = `` /* 294-byte string literal not displayed */

The query or mutation executed by HashEquals.

View Source
const IngestArtifact_Operation = `
mutation IngestArtifact ($artifact: IDorArtifactInput!) {
	ingestArtifact(artifact: $artifact)
}
`

The query or mutation executed by IngestArtifact.

View Source
const IngestArtifacts_Operation = `
mutation IngestArtifacts ($artifacts: [IDorArtifactInput!]!) {
	ingestArtifacts(artifacts: $artifacts)
}
`

The query or mutation executed by IngestArtifacts.

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

The query or mutation executed by IngestBuilder.

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

The query or mutation executed by IngestBuilders.

View Source
const IngestBulkVulnHasMetadata_Operation = `` /* 274-byte string literal not displayed */

The query or mutation executed by IngestBulkVulnHasMetadata.

View Source
const IngestCertifyBadArtifact_Operation = `` /* 214-byte string literal not displayed */

The query or mutation executed by IngestCertifyBadArtifact.

View Source
const IngestCertifyBadArtifacts_Operation = `` /* 229-byte string literal not displayed */

The query or mutation executed by IngestCertifyBadArtifacts.

View Source
const IngestCertifyBadPkg_Operation = `` /* 216-byte string literal not displayed */

The query or mutation executed by IngestCertifyBadPkg.

View Source
const IngestCertifyBadPkgs_Operation = `` /* 231-byte string literal not displayed */

The query or mutation executed by IngestCertifyBadPkgs.

View Source
const IngestCertifyBadSrc_Operation = `` /* 201-byte string literal not displayed */

The query or mutation executed by IngestCertifyBadSrc.

View Source
const IngestCertifyBadSrcs_Operation = `` /* 216-byte string literal not displayed */

The query or mutation executed by IngestCertifyBadSrcs.

View Source
const IngestCertifyGoodArtifact_Operation = `` /* 220-byte string literal not displayed */

The query or mutation executed by IngestCertifyGoodArtifact.

View Source
const IngestCertifyGoodArtifacts_Operation = `` /* 235-byte string literal not displayed */

The query or mutation executed by IngestCertifyGoodArtifacts.

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

The query or mutation executed by IngestCertifyGoodPkg.

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

The query or mutation executed by IngestCertifyGoodPkgs.

View Source
const IngestCertifyGoodSrc_Operation = `` /* 207-byte string literal not displayed */

The query or mutation executed by IngestCertifyGoodSrc.

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

The query or mutation executed by IngestCertifyGoodSrcs.

View Source
const IngestCertifyLegalPkg_Operation = `` /* 319-byte string literal not displayed */

The query or mutation executed by IngestCertifyLegalPkg.

View Source
const IngestCertifyLegalPkgs_Operation = `` /* 364-byte string literal not displayed */

The query or mutation executed by IngestCertifyLegalPkgs.

View Source
const IngestCertifyLegalSrc_Operation = `` /* 321-byte string literal not displayed */

The query or mutation executed by IngestCertifyLegalSrc.

View Source
const IngestCertifyLegalSrcs_Operation = `` /* 366-byte string literal not displayed */

The query or mutation executed by IngestCertifyLegalSrcs.

View Source
const IngestCertifyScorecard_Operation = `` /* 155-byte string literal not displayed */

The query or mutation executed by IngestCertifyScorecard.

View Source
const IngestCertifyScorecards_Operation = `` /* 169-byte string literal not displayed */

The query or mutation executed by IngestCertifyScorecards.

View Source
const IngestCertifyVexArtifact_Operation = `` /* 262-byte string literal not displayed */

The query or mutation executed by IngestCertifyVexArtifact.

View Source
const IngestCertifyVexArtifacts_Operation = `` /* 286-byte string literal not displayed */

The query or mutation executed by IngestCertifyVexArtifacts.

View Source
const IngestCertifyVexPkg_Operation = `` /* 241-byte string literal not displayed */

The query or mutation executed by IngestCertifyVexPkg.

View Source
const IngestCertifyVexPkgs_Operation = `` /* 265-byte string literal not displayed */

The query or mutation executed by IngestCertifyVexPkgs.

View Source
const IngestCertifyVulnPkg_Operation = `` /* 220-byte string literal not displayed */

The query or mutation executed by IngestCertifyVulnPkg.

View Source
const IngestCertifyVulnPkgs_Operation = `` /* 243-byte string literal not displayed */

The query or mutation executed by IngestCertifyVulnPkgs.

View Source
const IngestHasMetadataArtifact_Operation = `` /* 220-byte string literal not displayed */

The query or mutation executed by IngestHasMetadataArtifact.

View Source
const IngestHasMetadataArtifacts_Operation = `` /* 247-byte string literal not displayed */

The query or mutation executed by IngestHasMetadataArtifacts.

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

The query or mutation executed by IngestHasMetadataPkg.

View Source
const IngestHasMetadataPkgs_Operation = `` /* 249-byte string literal not displayed */

The query or mutation executed by IngestHasMetadataPkgs.

View Source
const IngestHasMetadataSrc_Operation = `` /* 207-byte string literal not displayed */

The query or mutation executed by IngestHasMetadataSrc.

View Source
const IngestHasMetadataSrcs_Operation = `` /* 234-byte string literal not displayed */

The query or mutation executed by IngestHasMetadataSrcs.

View Source
const IngestHasSBOMArtifact_Operation = `` /* 221-byte string literal not displayed */

The query or mutation executed by IngestHasSBOMArtifact.

View Source
const IngestHasSBOMArtifacts_Operation = `` /* 239-byte string literal not displayed */

The query or mutation executed by IngestHasSBOMArtifacts.

View Source
const IngestHasSBOMPkg_Operation = `` /* 200-byte string literal not displayed */

The query or mutation executed by IngestHasSBOMPkg.

View Source
const IngestHasSBOMPkgs_Operation = `` /* 218-byte string literal not displayed */

The query or mutation executed by IngestHasSBOMPkgs.

View Source
const IngestHasSourceAt_Operation = `` /* 249-byte string literal not displayed */

The query or mutation executed by IngestHasSourceAt.

View Source
const IngestHasSourcesAt_Operation = `` /* 269-byte string literal not displayed */

The query or mutation executed by IngestHasSourcesAt.

View Source
const IngestHashEqual_Operation = `` /* 223-byte string literal not displayed */

The query or mutation executed by IngestHashEqual.

View Source
const IngestHashEquals_Operation = `` /* 243-byte string literal not displayed */

The query or mutation executed by IngestHashEquals.

View Source
const IngestIsDependencies_Operation = `` /* 278-byte string literal not displayed */

The query or mutation executed by IngestIsDependencies.

View Source
const IngestIsDependency_Operation = `` /* 253-byte string literal not displayed */

The query or mutation executed by IngestIsDependency.

View Source
const IngestIsOccurrencePkg_Operation = `` /* 215-byte string literal not displayed */

The query or mutation executed by IngestIsOccurrencePkg.

View Source
const IngestIsOccurrenceSrc_Operation = `` /* 223-byte string literal not displayed */

The query or mutation executed by IngestIsOccurrenceSrc.

View Source
const IngestIsOccurrencesPkg_Operation = `` /* 236-byte string literal not displayed */

The query or mutation executed by IngestIsOccurrencesPkg.

View Source
const IngestIsOccurrencesSrc_Operation = `` /* 244-byte string literal not displayed */

The query or mutation executed by IngestIsOccurrencesSrc.

View Source
const IngestLicense_Operation = `
mutation IngestLicense ($license: IDorLicenseInput!) {
	ingestLicense(license: $license)
}
`

The query or mutation executed by IngestLicense.

View Source
const IngestLicenses_Operation = `
mutation IngestLicenses ($licenses: [IDorLicenseInput!]!) {
	ingestLicenses(licenses: $licenses)
}
`

The query or mutation executed by IngestLicenses.

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

The query or mutation executed by IngestPackage.

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

The query or mutation executed by IngestPackages.

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

The query or mutation executed by IngestPkgEqual.

View Source
const IngestPkgEquals_Operation = `` /* 209-byte string literal not displayed */

The query or mutation executed by IngestPkgEquals.

View Source
const IngestPointOfContactArtifact_Operation = `` /* 238-byte string literal not displayed */

The query or mutation executed by IngestPointOfContactArtifact.

View Source
const IngestPointOfContactArtifacts_Operation = `` /* 253-byte string literal not displayed */

The query or mutation executed by IngestPointOfContactArtifacts.

View Source
const IngestPointOfContactPkg_Operation = `` /* 240-byte string literal not displayed */

The query or mutation executed by IngestPointOfContactPkg.

View Source
const IngestPointOfContactPkgs_Operation = `` /* 255-byte string literal not displayed */

The query or mutation executed by IngestPointOfContactPkgs.

View Source
const IngestPointOfContactSrc_Operation = `` /* 225-byte string literal not displayed */

The query or mutation executed by IngestPointOfContactSrc.

View Source
const IngestPointOfContactSrcs_Operation = `` /* 240-byte string literal not displayed */

The query or mutation executed by IngestPointOfContactSrcs.

View Source
const IngestSLSAForArtifact_Operation = `` /* 242-byte string literal not displayed */

The query or mutation executed by IngestSLSAForArtifact.

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

The query or mutation executed by IngestSLSAForArtifacts.

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

The query or mutation executed by IngestSource.

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

The query or mutation executed by IngestSources.

View Source
const IngestVulnEqual_Operation = `` /* 263-byte string literal not displayed */

The query or mutation executed by IngestVulnEqual.

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

The query or mutation executed by IngestVulnEquals.

View Source
const IngestVulnHasMetadata_Operation = `` /* 224-byte string literal not displayed */

The query or mutation executed by IngestVulnHasMetadata.

View Source
const IngestVulnerabilities_Operation = `` /* 160-byte string literal not displayed */

The query or mutation executed by IngestVulnerabilities.

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

The query or mutation executed by IngestVulnerability.

View Source
const IsOccurrences_Operation = `` /* 753-byte string literal not displayed */

The query or mutation executed by IsOccurrences.

View Source
const Licenses_Operation = `` /* 172-byte string literal not displayed */

The query or mutation executed by Licenses.

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

The query or mutation executed by Neighbors.

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

The query or mutation executed by Node.

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

The query or mutation executed by Nodes.

View Source
const PackageNames_Operation = `` /* 159-byte string literal not displayed */

The query or mutation executed by PackageNames.

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

The query or mutation executed by PackageNamespaces.

View Source
const PackageTypes_Operation = `
query PackageTypes ($filter: PkgSpec!) {
	packages(pkgSpec: $filter) {
		id
		type
	}
}
`

The query or mutation executed by PackageTypes.

View Source
const PackageVersions_Operation = `` /* 264-byte string literal not displayed */

The query or mutation executed by PackageVersions.

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

The query or mutation executed by Packages.

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

The query or mutation executed by Path.

View Source
const Scorecards_Operation = `` /* 476-byte string literal not displayed */

The query or mutation executed by Scorecards.

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

The query or mutation executed by Sources.

View Source
const Vulnerabilities_Operation = `` /* 232-byte string literal not displayed */

The query or mutation executed by Vulnerabilities.

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"`
	// The justification for the subject being certified bad
	Justification string `json:"justification"`
	// Timestamp when the certification was created (in RFC 3339 format)
	KnownSince time.Time `json:"knownSince"`
	// The package, source or artifact that is attested
	Subject AllCertifyBadSubjectPackageSourceOrArtifact `json:"-"`
	// Document from which this attestation is generated from
	Origin string `json:"origin"`
	// GUAC collector for the document
	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) GetKnownSince added in v0.2.1

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

GetKnownSince returns AllCertifyBad.KnownSince, 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"`
	// The justification for the subject being certified good
	Justification string `json:"justification"`
	// Timestamp when the certification was created (in RFC 3339 format)
	KnownSince time.Time `json:"knownSince"`
	// The package, source or artifact that is attested
	Subject AllCertifyGoodSubjectPackageSourceOrArtifact `json:"-"`
	// Document from which this attestation is generated from
	Origin string `json:"origin"`
	// GUAC collector for the document
	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) GetKnownSince added in v0.2.1

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

GetKnownSince returns AllCertifyGood.KnownSince, 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 AllCertifyLegalTree added in v0.2.0

type AllCertifyLegalTree struct {
	Id string `json:"id"`
	// The package version or source that is attested
	Subject AllCertifyLegalTreeSubjectPackageOrSource `json:"-"`
	// The license expression as delcared
	DeclaredLicense string `json:"declaredLicense"`
	// A list of license objects found in the declared license expression
	DeclaredLicenses []AllCertifyLegalTreeDeclaredLicensesLicense `json:"declaredLicenses"`
	// The license expression as discovered by scan
	DiscoveredLicense string `json:"discoveredLicense"`
	// A list of license objects found in the discovered license expression
	DiscoveredLicenses []AllCertifyLegalTreeDiscoveredLicensesLicense `json:"discoveredLicenses"`
	// Attribution text of the subject
	Attribution string `json:"attribution"`
	// Extra justification for the certification
	Justification string `json:"justification"`
	// 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"`
}

AllCertifyLegalTree includes the GraphQL fields of CertifyLegal requested by the fragment AllCertifyLegalTree. The GraphQL type's documentation follows.

CertifyLegal is an attestation to attach legal information to a package or source.

The certification information is either copied from an attestation found in an SBOM or created by a collector/scanner.

Discovered license is also known as Concluded. More information: https://docs.clearlydefined.io/curation-guidelines#the-difference-between-declared-and-discovered-licenses

Attribution is also known as Copyright Text. It is what could be displayed to comply with notice requirements. https://www.nexb.com/oss-attribution-best-practices/

License expressions follow this format: https://spdx.github.io/spdx-spec/v2.3/SPDX-license-expressions/

func (*AllCertifyLegalTree) GetAttribution added in v0.2.0

func (v *AllCertifyLegalTree) GetAttribution() string

GetAttribution returns AllCertifyLegalTree.Attribution, and is useful for accessing the field via an interface.

func (*AllCertifyLegalTree) GetCollector added in v0.2.0

func (v *AllCertifyLegalTree) GetCollector() string

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

func (*AllCertifyLegalTree) GetDeclaredLicense added in v0.2.0

func (v *AllCertifyLegalTree) GetDeclaredLicense() string

GetDeclaredLicense returns AllCertifyLegalTree.DeclaredLicense, and is useful for accessing the field via an interface.

func (*AllCertifyLegalTree) GetDeclaredLicenses added in v0.2.0

GetDeclaredLicenses returns AllCertifyLegalTree.DeclaredLicenses, and is useful for accessing the field via an interface.

func (*AllCertifyLegalTree) GetDiscoveredLicense added in v0.2.0

func (v *AllCertifyLegalTree) GetDiscoveredLicense() string

GetDiscoveredLicense returns AllCertifyLegalTree.DiscoveredLicense, and is useful for accessing the field via an interface.

func (*AllCertifyLegalTree) GetDiscoveredLicenses added in v0.2.0

GetDiscoveredLicenses returns AllCertifyLegalTree.DiscoveredLicenses, and is useful for accessing the field via an interface.

func (*AllCertifyLegalTree) GetId added in v0.2.0

func (v *AllCertifyLegalTree) GetId() string

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

func (*AllCertifyLegalTree) GetJustification added in v0.2.0

func (v *AllCertifyLegalTree) GetJustification() string

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

func (*AllCertifyLegalTree) GetOrigin added in v0.2.0

func (v *AllCertifyLegalTree) GetOrigin() string

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

func (*AllCertifyLegalTree) GetSubject added in v0.2.0

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

func (*AllCertifyLegalTree) GetTimeScanned added in v0.2.0

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

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

func (*AllCertifyLegalTree) MarshalJSON added in v0.2.0

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

func (*AllCertifyLegalTree) UnmarshalJSON added in v0.2.0

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

type AllCertifyLegalTreeDeclaredLicensesLicense added in v0.2.0

type AllCertifyLegalTreeDeclaredLicensesLicense struct {
	AllLicenseTree `json:"-"`
}

AllCertifyLegalTreeDeclaredLicensesLicense includes the requested fields of the GraphQL type License. The GraphQL type's documentation follows.

License represents a particular license. If the license is found on the SPDX license list (https://spdx.org/licenses/) then the fields should be:

Name: SPDX license identifier Inline: empty ListVersion: SPDX license list version

example:

Name: AGPL-3.0-or-later Inline: "" ListVersion: 3.21 2023-06-18

If the license is not on the SPDX license list, then a new guid should be created and the license text placed inline:

Name: LicenseRef-<guid> Inline: Full license text ListVersion: empty

example:

Name: LicenseRef-1a2b3c Inline: Permission to use, copy, modify, and/or distribute ... ListVersion: ""

func (*AllCertifyLegalTreeDeclaredLicensesLicense) GetId added in v0.2.0

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

func (*AllCertifyLegalTreeDeclaredLicensesLicense) GetInline added in v0.2.0

GetInline returns AllCertifyLegalTreeDeclaredLicensesLicense.Inline, and is useful for accessing the field via an interface.

func (*AllCertifyLegalTreeDeclaredLicensesLicense) GetListVersion added in v0.2.0

GetListVersion returns AllCertifyLegalTreeDeclaredLicensesLicense.ListVersion, and is useful for accessing the field via an interface.

func (*AllCertifyLegalTreeDeclaredLicensesLicense) GetName added in v0.2.0

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

func (*AllCertifyLegalTreeDeclaredLicensesLicense) MarshalJSON added in v0.2.0

func (*AllCertifyLegalTreeDeclaredLicensesLicense) UnmarshalJSON added in v0.2.0

type AllCertifyLegalTreeDiscoveredLicensesLicense added in v0.2.0

type AllCertifyLegalTreeDiscoveredLicensesLicense struct {
	AllLicenseTree `json:"-"`
}

AllCertifyLegalTreeDiscoveredLicensesLicense includes the requested fields of the GraphQL type License. The GraphQL type's documentation follows.

License represents a particular license. If the license is found on the SPDX license list (https://spdx.org/licenses/) then the fields should be:

Name: SPDX license identifier Inline: empty ListVersion: SPDX license list version

example:

Name: AGPL-3.0-or-later Inline: "" ListVersion: 3.21 2023-06-18

If the license is not on the SPDX license list, then a new guid should be created and the license text placed inline:

Name: LicenseRef-<guid> Inline: Full license text ListVersion: empty

example:

Name: LicenseRef-1a2b3c Inline: Permission to use, copy, modify, and/or distribute ... ListVersion: ""

func (*AllCertifyLegalTreeDiscoveredLicensesLicense) GetId added in v0.2.0

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

func (*AllCertifyLegalTreeDiscoveredLicensesLicense) GetInline added in v0.2.0

GetInline returns AllCertifyLegalTreeDiscoveredLicensesLicense.Inline, and is useful for accessing the field via an interface.

func (*AllCertifyLegalTreeDiscoveredLicensesLicense) GetListVersion added in v0.2.0

GetListVersion returns AllCertifyLegalTreeDiscoveredLicensesLicense.ListVersion, and is useful for accessing the field via an interface.

func (*AllCertifyLegalTreeDiscoveredLicensesLicense) GetName added in v0.2.0

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

func (*AllCertifyLegalTreeDiscoveredLicensesLicense) MarshalJSON added in v0.2.0

func (*AllCertifyLegalTreeDiscoveredLicensesLicense) UnmarshalJSON added in v0.2.0

type AllCertifyLegalTreeSubjectPackage added in v0.2.0

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

AllCertifyLegalTreeSubjectPackage 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 (*AllCertifyLegalTreeSubjectPackage) GetId added in v0.2.0

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

func (*AllCertifyLegalTreeSubjectPackage) GetNamespaces added in v0.2.0

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

func (*AllCertifyLegalTreeSubjectPackage) GetType added in v0.2.0

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

func (*AllCertifyLegalTreeSubjectPackage) GetTypename added in v0.2.0

func (v *AllCertifyLegalTreeSubjectPackage) GetTypename() *string

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

func (*AllCertifyLegalTreeSubjectPackage) MarshalJSON added in v0.2.0

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

func (*AllCertifyLegalTreeSubjectPackage) UnmarshalJSON added in v0.2.0

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

type AllCertifyLegalTreeSubjectPackageOrSource added in v0.2.0

type AllCertifyLegalTreeSubjectPackageOrSource interface {

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

AllCertifyLegalTreeSubjectPackageOrSource includes the requested fields of the GraphQL interface PackageOrSource.

AllCertifyLegalTreeSubjectPackageOrSource is implemented by the following types: AllCertifyLegalTreeSubjectPackage AllCertifyLegalTreeSubjectSource The GraphQL type's documentation follows.

PackageOrSource is a union of Package and Source.

type AllCertifyLegalTreeSubjectSource added in v0.2.0

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

AllCertifyLegalTreeSubjectSource 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 (*AllCertifyLegalTreeSubjectSource) GetId added in v0.2.0

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

func (*AllCertifyLegalTreeSubjectSource) GetNamespaces added in v0.2.0

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

func (*AllCertifyLegalTreeSubjectSource) GetType added in v0.2.0

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

func (*AllCertifyLegalTreeSubjectSource) GetTypename added in v0.2.0

func (v *AllCertifyLegalTreeSubjectSource) GetTypename() *string

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

func (*AllCertifyLegalTreeSubjectSource) MarshalJSON added in v0.2.0

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

func (*AllCertifyLegalTreeSubjectSource) UnmarshalJSON added in v0.2.0

func (v *AllCertifyLegalTreeSubjectSource) 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:"vulnerability"`
	// 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.

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 struct {
	AllVulnerabilityTree `json:"-"`
}

AllCertifyVEXStatementVulnerability includes the requested fields of the GraphQL type Vulnerability. The GraphQL type's documentation follows.

Vulnerability represents the root of the vulnerability trie/tree.

We map vulnerability information to a trie, as a derivative of the pURL specification: each path in the trie represents a type and a vulnerability ID. This allows for generic representation of the various vulnerabilities and does not limit to just cve, ghsa or osv. This would be in the general format: vuln://<general-type>/<vuln-id>

Examples:

CVE, using path separator: vuln://cve/cve-2023-20753 OSV, representing its knowledge of a GHSA: vuln://osv/ghsa-205hk Random vendor: vuln://snyk/sn-whatever NoVuln: vuln://novuln/

This node represents the type part of the trie path. It is used to represent the specific type of the vulnerability: cve, ghsa, osv or some other vendor specific

Since this node is at the root of the vulnerability trie, it is named Vulnerability, not VulnerabilityType.

NoVuln is a special vulnerability node to attest that no vulnerability has been found during a vulnerability scan. It will have the type "novuln" and contain an empty string for vulnerabilityID

The resolvers will enforce that both the type and vulnerability IDs are lower case.

func (*AllCertifyVEXStatementVulnerability) GetId added in v0.2.0

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

func (*AllCertifyVEXStatementVulnerability) GetType added in v0.2.0

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

func (*AllCertifyVEXStatementVulnerability) GetVulnerabilityIDs added in v0.2.0

GetVulnerabilityIDs returns AllCertifyVEXStatementVulnerability.VulnerabilityIDs, and is useful for accessing the field via an interface.

func (*AllCertifyVEXStatementVulnerability) MarshalJSON added in v0.2.0

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

func (*AllCertifyVEXStatementVulnerability) UnmarshalJSON added in v0.2.0

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

type AllCertifyVuln

type AllCertifyVuln struct {
	Id string `json:"id"`
	// The package that is attested
	Package AllCertifyVulnPackage `json:"package"`
	// The vulnerability can be an be a specific vulnerability or NoVuln type.
	Vulnerability AllCertifyVulnVulnerability `json:"vulnerability"`
	// Metadata attached to the certification
	Metadata AllCertifyVulnMetadataScanMetadata `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, we attach the a vulnerability with "NoVuln" type and an empty string for the vulnerability ID.

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.

type AllCertifyVulnMetadataScanMetadata added in v0.2.0

type AllCertifyVulnMetadataScanMetadata 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"`
}

AllCertifyVulnMetadataScanMetadata includes the requested fields of the GraphQL type ScanMetadata. The GraphQL type's documentation follows.

ScanMetadata is the metadata attached to vulnerability certification.

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

func (*AllCertifyVulnMetadataScanMetadata) GetCollector added in v0.2.0

func (v *AllCertifyVulnMetadataScanMetadata) GetCollector() string

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

func (*AllCertifyVulnMetadataScanMetadata) GetDbUri added in v0.2.0

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

func (*AllCertifyVulnMetadataScanMetadata) GetDbVersion added in v0.2.0

func (v *AllCertifyVulnMetadataScanMetadata) GetDbVersion() string

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

func (*AllCertifyVulnMetadataScanMetadata) GetOrigin added in v0.2.0

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

func (*AllCertifyVulnMetadataScanMetadata) GetScannerUri added in v0.2.0

func (v *AllCertifyVulnMetadataScanMetadata) GetScannerUri() string

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

func (*AllCertifyVulnMetadataScanMetadata) GetScannerVersion added in v0.2.0

func (v *AllCertifyVulnMetadataScanMetadata) GetScannerVersion() string

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

func (*AllCertifyVulnMetadataScanMetadata) GetTimeScanned added in v0.2.0

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

GetTimeScanned returns AllCertifyVulnMetadataScanMetadata.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 struct {
	AllVulnerabilityTree `json:"-"`
}

AllCertifyVulnVulnerability includes the requested fields of the GraphQL type Vulnerability. The GraphQL type's documentation follows.

Vulnerability represents the root of the vulnerability trie/tree.

We map vulnerability information to a trie, as a derivative of the pURL specification: each path in the trie represents a type and a vulnerability ID. This allows for generic representation of the various vulnerabilities and does not limit to just cve, ghsa or osv. This would be in the general format: vuln://<general-type>/<vuln-id>

Examples:

CVE, using path separator: vuln://cve/cve-2023-20753 OSV, representing its knowledge of a GHSA: vuln://osv/ghsa-205hk Random vendor: vuln://snyk/sn-whatever NoVuln: vuln://novuln/

This node represents the type part of the trie path. It is used to represent the specific type of the vulnerability: cve, ghsa, osv or some other vendor specific

Since this node is at the root of the vulnerability trie, it is named Vulnerability, not VulnerabilityType.

NoVuln is a special vulnerability node to attest that no vulnerability has been found during a vulnerability scan. It will have the type "novuln" and contain an empty string for vulnerabilityID

The resolvers will enforce that both the type and vulnerability IDs are lower case.

func (*AllCertifyVulnVulnerability) GetId added in v0.2.0

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

func (*AllCertifyVulnVulnerability) GetType added in v0.2.0

func (v *AllCertifyVulnVulnerability) GetType() string

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

func (*AllCertifyVulnVulnerability) GetVulnerabilityIDs added in v0.2.0

GetVulnerabilityIDs returns AllCertifyVulnVulnerability.VulnerabilityIDs, and is useful for accessing the field via an interface.

func (*AllCertifyVulnVulnerability) MarshalJSON added in v0.2.0

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

func (*AllCertifyVulnVulnerability) UnmarshalJSON added in v0.2.0

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

type AllHasMetadata added in v0.1.1

type AllHasMetadata struct {
	Id string `json:"id"`
	// The package, source or artifact that is attested
	Subject AllHasMetadataSubjectPackageSourceOrArtifact `json:"-"`
	// Key in the key value pair
	Key string `json:"key"`
	// Value in the key value pair
	Value string `json:"value"`
	// Timestamp when the certification was created (in RFC 3339 format)
	Timestamp time.Time `json:"timestamp"`
	// The justification for the metadata
	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"`
}

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"`
	// Timestamp for SBOM creation
	KnownSince time.Time `json:"knownSince"`
	// Included packages and artifacts
	IncludedSoftware []AllHasSBOMTreeIncludedSoftwarePackageOrArtifact `json:"-"`
	// Included dependencies
	IncludedDependencies []AllHasSBOMTreeIncludedDependenciesIsDependency `json:"includedDependencies"`
	// Included occurrences
	IncludedOccurrences []AllHasSBOMTreeIncludedOccurrencesIsOccurrence `json:"includedOccurrences"`
}

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) GetIncludedDependencies added in v0.4.0

func (v *AllHasSBOMTree) GetIncludedDependencies() []AllHasSBOMTreeIncludedDependenciesIsDependency

GetIncludedDependencies returns AllHasSBOMTree.IncludedDependencies, and is useful for accessing the field via an interface.

func (*AllHasSBOMTree) GetIncludedOccurrences added in v0.4.0

func (v *AllHasSBOMTree) GetIncludedOccurrences() []AllHasSBOMTreeIncludedOccurrencesIsOccurrence

GetIncludedOccurrences returns AllHasSBOMTree.IncludedOccurrences, and is useful for accessing the field via an interface.

func (*AllHasSBOMTree) GetIncludedSoftware added in v0.4.0

GetIncludedSoftware returns AllHasSBOMTree.IncludedSoftware, and is useful for accessing the field via an interface.

func (*AllHasSBOMTree) GetKnownSince added in v0.2.1

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

GetKnownSince returns AllHasSBOMTree.KnownSince, 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 AllHasSBOMTreeIncludedDependenciesIsDependency added in v0.4.0

type AllHasSBOMTreeIncludedDependenciesIsDependency struct {
	AllIsDependencyTree `json:"-"`
}

AllHasSBOMTreeIncludedDependenciesIsDependency 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 (*AllHasSBOMTreeIncludedDependenciesIsDependency) GetCollector added in v0.4.0

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

func (*AllHasSBOMTreeIncludedDependenciesIsDependency) GetDependencyPackage added in v0.4.0

GetDependencyPackage returns AllHasSBOMTreeIncludedDependenciesIsDependency.DependencyPackage, and is useful for accessing the field via an interface.

func (*AllHasSBOMTreeIncludedDependenciesIsDependency) GetDependencyType added in v0.4.0

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

func (*AllHasSBOMTreeIncludedDependenciesIsDependency) GetId added in v0.4.0

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

func (*AllHasSBOMTreeIncludedDependenciesIsDependency) GetJustification added in v0.4.0

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

func (*AllHasSBOMTreeIncludedDependenciesIsDependency) GetOrigin added in v0.4.0

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

func (*AllHasSBOMTreeIncludedDependenciesIsDependency) GetPackage added in v0.4.0

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

func (*AllHasSBOMTreeIncludedDependenciesIsDependency) GetVersionRange added in v0.4.0

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

func (*AllHasSBOMTreeIncludedDependenciesIsDependency) MarshalJSON added in v0.4.0

func (*AllHasSBOMTreeIncludedDependenciesIsDependency) UnmarshalJSON added in v0.4.0

type AllHasSBOMTreeIncludedOccurrencesIsOccurrence added in v0.4.0

type AllHasSBOMTreeIncludedOccurrencesIsOccurrence struct {
	AllIsOccurrencesTree `json:"-"`
}

AllHasSBOMTreeIncludedOccurrencesIsOccurrence 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 (*AllHasSBOMTreeIncludedOccurrencesIsOccurrence) GetArtifact added in v0.4.0

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

func (*AllHasSBOMTreeIncludedOccurrencesIsOccurrence) GetCollector added in v0.4.0

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

func (*AllHasSBOMTreeIncludedOccurrencesIsOccurrence) GetId added in v0.4.0

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

func (*AllHasSBOMTreeIncludedOccurrencesIsOccurrence) GetJustification added in v0.4.0

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

func (*AllHasSBOMTreeIncludedOccurrencesIsOccurrence) GetOrigin added in v0.4.0

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

func (*AllHasSBOMTreeIncludedOccurrencesIsOccurrence) GetSubject added in v0.4.0

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

func (*AllHasSBOMTreeIncludedOccurrencesIsOccurrence) MarshalJSON added in v0.4.0

func (*AllHasSBOMTreeIncludedOccurrencesIsOccurrence) UnmarshalJSON added in v0.4.0

type AllHasSBOMTreeIncludedSoftwareArtifact added in v0.4.0

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

AllHasSBOMTreeIncludedSoftwareArtifact 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 (*AllHasSBOMTreeIncludedSoftwareArtifact) GetAlgorithm added in v0.4.0

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

func (*AllHasSBOMTreeIncludedSoftwareArtifact) GetDigest added in v0.4.0

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

func (*AllHasSBOMTreeIncludedSoftwareArtifact) GetId added in v0.4.0

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

func (*AllHasSBOMTreeIncludedSoftwareArtifact) GetTypename added in v0.4.0

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

func (*AllHasSBOMTreeIncludedSoftwareArtifact) MarshalJSON added in v0.4.0

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

func (*AllHasSBOMTreeIncludedSoftwareArtifact) UnmarshalJSON added in v0.4.0

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

type AllHasSBOMTreeIncludedSoftwarePackage added in v0.4.0

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

AllHasSBOMTreeIncludedSoftwarePackage 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 (*AllHasSBOMTreeIncludedSoftwarePackage) GetId added in v0.4.0

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

func (*AllHasSBOMTreeIncludedSoftwarePackage) GetNamespaces added in v0.4.0

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

func (*AllHasSBOMTreeIncludedSoftwarePackage) GetType added in v0.4.0

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

func (*AllHasSBOMTreeIncludedSoftwarePackage) GetTypename added in v0.4.0

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

func (*AllHasSBOMTreeIncludedSoftwarePackage) MarshalJSON added in v0.4.0

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

func (*AllHasSBOMTreeIncludedSoftwarePackage) UnmarshalJSON added in v0.4.0

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

type AllHasSBOMTreeIncludedSoftwarePackageOrArtifact added in v0.4.0

type AllHasSBOMTreeIncludedSoftwarePackageOrArtifact interface {

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

AllHasSBOMTreeIncludedSoftwarePackageOrArtifact includes the requested fields of the GraphQL interface PackageOrArtifact.

AllHasSBOMTreeIncludedSoftwarePackageOrArtifact is implemented by the following types: AllHasSBOMTreeIncludedSoftwareArtifact AllHasSBOMTreeIncludedSoftwarePackage The GraphQL type's documentation follows.

PackageOrArtifact is a union of Package and Artifact.

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 or PackageVersion
	DependencyPackage AllIsDependencyTreeDependencyPackage `json:"dependencyPackage"`
	// Type of dependency
	DependencyType DependencyType `json:"dependencyType"`
	// Version range for the dependency link, required if depedentPackage points to PackageName
	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) GetDependencyPackage added in v0.2.0

GetDependencyPackage returns AllIsDependencyTree.DependencyPackage, 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) 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 AllIsDependencyTreeDependencyPackage added in v0.2.0

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

AllIsDependencyTreeDependencyPackage 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 (*AllIsDependencyTreeDependencyPackage) GetId added in v0.2.0

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

func (*AllIsDependencyTreeDependencyPackage) GetNamespaces added in v0.2.0

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

func (*AllIsDependencyTreeDependencyPackage) GetType added in v0.2.0

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

func (*AllIsDependencyTreeDependencyPackage) MarshalJSON added in v0.2.0

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

func (*AllIsDependencyTreeDependencyPackage) UnmarshalJSON added in v0.2.0

func (v *AllIsDependencyTreeDependencyPackage) 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 AllLicenseTree added in v0.2.0

type AllLicenseTree struct {
	Id          string  `json:"id"`
	Name        string  `json:"name"`
	Inline      *string `json:"inline"`
	ListVersion *string `json:"listVersion"`
}

AllLicenseTree includes the GraphQL fields of License requested by the fragment AllLicenseTree. The GraphQL type's documentation follows.

License represents a particular license. If the license is found on the SPDX license list (https://spdx.org/licenses/) then the fields should be:

Name: SPDX license identifier Inline: empty ListVersion: SPDX license list version

example:

Name: AGPL-3.0-or-later Inline: "" ListVersion: 3.21 2023-06-18

If the license is not on the SPDX license list, then a new guid should be created and the license text placed inline:

Name: LicenseRef-<guid> Inline: Full license text ListVersion: empty

example:

Name: LicenseRef-1a2b3c Inline: Permission to use, copy, modify, and/or distribute ... ListVersion: ""

func (*AllLicenseTree) GetId added in v0.2.0

func (v *AllLicenseTree) GetId() string

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

func (*AllLicenseTree) GetInline added in v0.2.0

func (v *AllLicenseTree) GetInline() *string

GetInline returns AllLicenseTree.Inline, and is useful for accessing the field via an interface.

func (*AllLicenseTree) GetListVersion added in v0.2.0

func (v *AllLicenseTree) GetListVersion() *string

GetListVersion returns AllLicenseTree.ListVersion, and is useful for accessing the field via an interface.

func (*AllLicenseTree) GetName added in v0.2.0

func (v *AllLicenseTree) GetName() string

GetName returns AllLicenseTree.Name, 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"`
	// The package, source or artifact that is attested
	Subject AllPointOfContactSubjectPackageSourceOrArtifact `json:"-"`
	// Email for the POC
	Email string `json:"email"`
	// Generic info for the POC
	Info string `json:"info"`
	// Timestamp when the certification for POC was created (in RFC 3339 format)
	Since time.Time `json:"since"`
	// The justification for the POC attestation
	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"`
}

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 AllVulnEqual added in v0.2.0

type AllVulnEqual struct {
	Id string `json:"id"`
	// Collection of vulnerabilities that are similar
	Vulnerabilities []AllVulnEqualVulnerabilitiesVulnerability `json:"vulnerabilities"`
	// 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"`
}

AllVulnEqual includes the GraphQL fields of VulnEqual requested by the fragment AllVulnEqual. The GraphQL type's documentation follows.

VulnEqual is an attestation to link two vulnerabilities together as being equal"

Note that setting noVuln vulnerability type is invalid for VulnEqual!

func (*AllVulnEqual) GetCollector added in v0.2.0

func (v *AllVulnEqual) GetCollector() string

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

func (*AllVulnEqual) GetId added in v0.2.0

func (v *AllVulnEqual) GetId() string

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

func (*AllVulnEqual) GetJustification added in v0.2.0

func (v *AllVulnEqual) GetJustification() string

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

func (*AllVulnEqual) GetOrigin added in v0.2.0

func (v *AllVulnEqual) GetOrigin() string

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

func (*AllVulnEqual) GetVulnerabilities added in v0.2.0

func (v *AllVulnEqual) GetVulnerabilities() []AllVulnEqualVulnerabilitiesVulnerability

GetVulnerabilities returns AllVulnEqual.Vulnerabilities, and is useful for accessing the field via an interface.

type AllVulnEqualVulnerabilitiesVulnerability added in v0.2.0

type AllVulnEqualVulnerabilitiesVulnerability struct {
	AllVulnerabilityTree `json:"-"`
}

AllVulnEqualVulnerabilitiesVulnerability includes the requested fields of the GraphQL type Vulnerability. The GraphQL type's documentation follows.

Vulnerability represents the root of the vulnerability trie/tree.

We map vulnerability information to a trie, as a derivative of the pURL specification: each path in the trie represents a type and a vulnerability ID. This allows for generic representation of the various vulnerabilities and does not limit to just cve, ghsa or osv. This would be in the general format: vuln://<general-type>/<vuln-id>

Examples:

CVE, using path separator: vuln://cve/cve-2023-20753 OSV, representing its knowledge of a GHSA: vuln://osv/ghsa-205hk Random vendor: vuln://snyk/sn-whatever NoVuln: vuln://novuln/

This node represents the type part of the trie path. It is used to represent the specific type of the vulnerability: cve, ghsa, osv or some other vendor specific

Since this node is at the root of the vulnerability trie, it is named Vulnerability, not VulnerabilityType.

NoVuln is a special vulnerability node to attest that no vulnerability has been found during a vulnerability scan. It will have the type "novuln" and contain an empty string for vulnerabilityID

The resolvers will enforce that both the type and vulnerability IDs are lower case.

func (*AllVulnEqualVulnerabilitiesVulnerability) GetId added in v0.2.0

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

func (*AllVulnEqualVulnerabilitiesVulnerability) GetType added in v0.2.0

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

func (*AllVulnEqualVulnerabilitiesVulnerability) GetVulnerabilityIDs added in v0.2.0

GetVulnerabilityIDs returns AllVulnEqualVulnerabilitiesVulnerability.VulnerabilityIDs, and is useful for accessing the field via an interface.

func (*AllVulnEqualVulnerabilitiesVulnerability) MarshalJSON added in v0.2.0

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

func (*AllVulnEqualVulnerabilitiesVulnerability) UnmarshalJSON added in v0.2.0

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

type AllVulnMetadataTree added in v0.2.0

type AllVulnMetadataTree struct {
	Id string `json:"id"`
	// The subject vulnerability that the metadata applies to
	Vulnerability AllVulnMetadataTreeVulnerability `json:"vulnerability"`
	// The specific score type for the score value
	ScoreType VulnerabilityScoreType `json:"scoreType"`
	// The score value based on the score type
	ScoreValue float64 `json:"scoreValue"`
	// Timestamp when the certification was created (in RFC 3339 format)
	Timestamp time.Time `json:"timestamp"`
	// Document from which this attestation is generated from
	Origin string `json:"origin"`
	// GUAC collector for the document
	Collector string `json:"collector"`
}

AllVulnMetadataTree includes the GraphQL fields of VulnerabilityMetadata requested by the fragment AllVulnMetadataTree. The GraphQL type's documentation follows.

VulnerabilityMetadata is an attestation that a vulnerability has a related score associated with it.

The intent of this evidence tree predicate is to allow extensibility of vulnerability score (one-to-one mapping) with a specific vulnerability ID.

A vulnerability ID can have a one-to-many relationship with the VulnerabilityMetadata node as a vulnerability ID can have multiple scores (in various frameworks).

Examples:

scoreType: EPSSv1 scoreValue: 0.960760000

scoreType: CVSSv2 scoreValue: 5.0

scoreType: CVSSv3 scoreValue: 7.5

The timestamp is used to determine when the score was evaluated for the specific vulnerability.

func (*AllVulnMetadataTree) GetCollector added in v0.2.0

func (v *AllVulnMetadataTree) GetCollector() string

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

func (*AllVulnMetadataTree) GetId added in v0.2.0

func (v *AllVulnMetadataTree) GetId() string

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

func (*AllVulnMetadataTree) GetOrigin added in v0.2.0

func (v *AllVulnMetadataTree) GetOrigin() string

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

func (*AllVulnMetadataTree) GetScoreType added in v0.2.0

func (v *AllVulnMetadataTree) GetScoreType() VulnerabilityScoreType

GetScoreType returns AllVulnMetadataTree.ScoreType, and is useful for accessing the field via an interface.

func (*AllVulnMetadataTree) GetScoreValue added in v0.2.0

func (v *AllVulnMetadataTree) GetScoreValue() float64

GetScoreValue returns AllVulnMetadataTree.ScoreValue, and is useful for accessing the field via an interface.

func (*AllVulnMetadataTree) GetTimestamp added in v0.2.0

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

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

func (*AllVulnMetadataTree) GetVulnerability added in v0.2.0

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

type AllVulnMetadataTreeVulnerability added in v0.2.0

type AllVulnMetadataTreeVulnerability struct {
	Id               string                                                            `json:"id"`
	Type             string                                                            `json:"type"`
	VulnerabilityIDs []AllVulnMetadataTreeVulnerabilityVulnerabilityIDsVulnerabilityID `json:"vulnerabilityIDs"`
}

AllVulnMetadataTreeVulnerability includes the requested fields of the GraphQL type Vulnerability. The GraphQL type's documentation follows.

Vulnerability represents the root of the vulnerability trie/tree.

We map vulnerability information to a trie, as a derivative of the pURL specification: each path in the trie represents a type and a vulnerability ID. This allows for generic representation of the various vulnerabilities and does not limit to just cve, ghsa or osv. This would be in the general format: vuln://<general-type>/<vuln-id>

Examples:

CVE, using path separator: vuln://cve/cve-2023-20753 OSV, representing its knowledge of a GHSA: vuln://osv/ghsa-205hk Random vendor: vuln://snyk/sn-whatever NoVuln: vuln://novuln/

This node represents the type part of the trie path. It is used to represent the specific type of the vulnerability: cve, ghsa, osv or some other vendor specific

Since this node is at the root of the vulnerability trie, it is named Vulnerability, not VulnerabilityType.

NoVuln is a special vulnerability node to attest that no vulnerability has been found during a vulnerability scan. It will have the type "novuln" and contain an empty string for vulnerabilityID

The resolvers will enforce that both the type and vulnerability IDs are lower case.

func (*AllVulnMetadataTreeVulnerability) GetId added in v0.2.0

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

func (*AllVulnMetadataTreeVulnerability) GetType added in v0.2.0

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

func (*AllVulnMetadataTreeVulnerability) GetVulnerabilityIDs added in v0.2.0

GetVulnerabilityIDs returns AllVulnMetadataTreeVulnerability.VulnerabilityIDs, and is useful for accessing the field via an interface.

type AllVulnMetadataTreeVulnerabilityVulnerabilityIDsVulnerabilityID added in v0.2.0

type AllVulnMetadataTreeVulnerabilityVulnerabilityIDsVulnerabilityID struct {
	Id              string `json:"id"`
	VulnerabilityID string `json:"vulnerabilityID"`
}

AllVulnMetadataTreeVulnerabilityVulnerabilityIDsVulnerabilityID includes the requested fields of the GraphQL type VulnerabilityID. The GraphQL type's documentation follows.

VulnerabilityID is a specific vulnerability ID associated with the type of the vulnerability.

This will be enforced to be all lowercase.

The namespace field is mandatory.

func (*AllVulnMetadataTreeVulnerabilityVulnerabilityIDsVulnerabilityID) GetId added in v0.2.0

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

func (*AllVulnMetadataTreeVulnerabilityVulnerabilityIDsVulnerabilityID) GetVulnerabilityID added in v0.2.0

GetVulnerabilityID returns AllVulnMetadataTreeVulnerabilityVulnerabilityIDsVulnerabilityID.VulnerabilityID, and is useful for accessing the field via an interface.

type AllVulnerabilityTree added in v0.2.0

type AllVulnerabilityTree struct {
	Id               string                                                `json:"id"`
	Type             string                                                `json:"type"`
	VulnerabilityIDs []AllVulnerabilityTreeVulnerabilityIDsVulnerabilityID `json:"vulnerabilityIDs"`
}

AllVulnerabilityTree includes the GraphQL fields of Vulnerability requested by the fragment AllVulnerabilityTree. The GraphQL type's documentation follows.

Vulnerability represents the root of the vulnerability trie/tree.

We map vulnerability information to a trie, as a derivative of the pURL specification: each path in the trie represents a type and a vulnerability ID. This allows for generic representation of the various vulnerabilities and does not limit to just cve, ghsa or osv. This would be in the general format: vuln://<general-type>/<vuln-id>

Examples:

CVE, using path separator: vuln://cve/cve-2023-20753 OSV, representing its knowledge of a GHSA: vuln://osv/ghsa-205hk Random vendor: vuln://snyk/sn-whatever NoVuln: vuln://novuln/

This node represents the type part of the trie path. It is used to represent the specific type of the vulnerability: cve, ghsa, osv or some other vendor specific

Since this node is at the root of the vulnerability trie, it is named Vulnerability, not VulnerabilityType.

NoVuln is a special vulnerability node to attest that no vulnerability has been found during a vulnerability scan. It will have the type "novuln" and contain an empty string for vulnerabilityID

The resolvers will enforce that both the type and vulnerability IDs are lower case.

func (*AllVulnerabilityTree) GetId added in v0.2.0

func (v *AllVulnerabilityTree) GetId() string

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

func (*AllVulnerabilityTree) GetType added in v0.2.0

func (v *AllVulnerabilityTree) GetType() string

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

func (*AllVulnerabilityTree) GetVulnerabilityIDs added in v0.2.0

GetVulnerabilityIDs returns AllVulnerabilityTree.VulnerabilityIDs, and is useful for accessing the field via an interface.

type AllVulnerabilityTreeVulnerabilityIDsVulnerabilityID added in v0.2.0

type AllVulnerabilityTreeVulnerabilityIDsVulnerabilityID struct {
	Id              string `json:"id"`
	VulnerabilityID string `json:"vulnerabilityID"`
}

AllVulnerabilityTreeVulnerabilityIDsVulnerabilityID includes the requested fields of the GraphQL type VulnerabilityID. The GraphQL type's documentation follows.

VulnerabilityID is a specific vulnerability ID associated with the type of the vulnerability.

This will be enforced to be all lowercase.

The namespace field is mandatory.

func (*AllVulnerabilityTreeVulnerabilityIDsVulnerabilityID) GetId added in v0.2.0

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

func (*AllVulnerabilityTreeVulnerabilityIDsVulnerabilityID) GetVulnerabilityID added in v0.2.0

GetVulnerabilityID returns AllVulnerabilityTreeVulnerabilityIDsVulnerabilityID.VulnerabilityID, 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 CertifyBadInputSpec

type CertifyBadInputSpec struct {
	Justification string    `json:"justification"`
	KnownSince    time.Time `json:"knownSince"`
	Origin        string    `json:"origin"`
	Collector     string    `json:"collector"`
	DocumentRef   string    `json:"documentRef"`
}

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) GetDocumentRef added in v0.6.0

func (v *CertifyBadInputSpec) GetDocumentRef() string

GetDocumentRef returns CertifyBadInputSpec.DocumentRef, 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) GetKnownSince added in v0.2.1

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

GetKnownSince returns CertifyBadInputSpec.KnownSince, 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 CertifyBadSpec

type CertifyBadSpec struct {
	Id            *string                      `json:"id"`
	Subject       *PackageSourceOrArtifactSpec `json:"subject"`
	Justification *string                      `json:"justification"`
	KnownSince    *time.Time                   `json:"knownSince"`
	Origin        *string                      `json:"origin"`
	Collector     *string                      `json:"collector"`
	DocumentRef   *string                      `json:"documentRef"`
}

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.

If KnownSince is specified, the returned value will be after or equal to the specified time. Any nodes time that is before KnownSince is excluded.

func (*CertifyBadSpec) GetCollector

func (v *CertifyBadSpec) GetCollector() *string

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

func (*CertifyBadSpec) GetDocumentRef added in v0.6.0

func (v *CertifyBadSpec) GetDocumentRef() *string

GetDocumentRef returns CertifyBadSpec.DocumentRef, 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) GetKnownSince added in v0.2.1

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

GetKnownSince returns CertifyBadSpec.KnownSince, 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 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) GetKnownSince added in v0.2.1

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

GetKnownSince returns CertifyBadsCertifyBad.KnownSince, 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 CertifyGoodInputSpec

type CertifyGoodInputSpec struct {
	Justification string    `json:"justification"`
	KnownSince    time.Time `json:"knownSince"`
	Origin        string    `json:"origin"`
	Collector     string    `json:"collector"`
	DocumentRef   string    `json:"documentRef"`
}

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) GetDocumentRef added in v0.6.0

func (v *CertifyGoodInputSpec) GetDocumentRef() string

GetDocumentRef returns CertifyGoodInputSpec.DocumentRef, 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) GetKnownSince added in v0.2.1

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

GetKnownSince returns CertifyGoodInputSpec.KnownSince, 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 CertifyLegalInputSpec added in v0.2.0

type CertifyLegalInputSpec struct {
	DeclaredLicense   string    `json:"declaredLicense"`
	DiscoveredLicense string    `json:"discoveredLicense"`
	Attribution       string    `json:"attribution"`
	Justification     string    `json:"justification"`
	TimeScanned       time.Time `json:"timeScanned"`
	Origin            string    `json:"origin"`
	Collector         string    `json:"collector"`
	DocumentRef       string    `json:"documentRef"`
}

CertifyLegalInputSpec represents the input for certifying legal information in mutations.

func (*CertifyLegalInputSpec) GetAttribution added in v0.2.0

func (v *CertifyLegalInputSpec) GetAttribution() string

GetAttribution returns CertifyLegalInputSpec.Attribution, and is useful for accessing the field via an interface.

func (*CertifyLegalInputSpec) GetCollector added in v0.2.0

func (v *CertifyLegalInputSpec) GetCollector() string

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

func (*CertifyLegalInputSpec) GetDeclaredLicense added in v0.2.0

func (v *CertifyLegalInputSpec) GetDeclaredLicense() string

GetDeclaredLicense returns CertifyLegalInputSpec.DeclaredLicense, and is useful for accessing the field via an interface.

func (*CertifyLegalInputSpec) GetDiscoveredLicense added in v0.2.0

func (v *CertifyLegalInputSpec) GetDiscoveredLicense() string

GetDiscoveredLicense returns CertifyLegalInputSpec.DiscoveredLicense, and is useful for accessing the field via an interface.

func (*CertifyLegalInputSpec) GetDocumentRef added in v0.6.0

func (v *CertifyLegalInputSpec) GetDocumentRef() string

GetDocumentRef returns CertifyLegalInputSpec.DocumentRef, and is useful for accessing the field via an interface.

func (*CertifyLegalInputSpec) GetJustification added in v0.2.0

func (v *CertifyLegalInputSpec) GetJustification() string

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

func (*CertifyLegalInputSpec) GetOrigin added in v0.2.0

func (v *CertifyLegalInputSpec) GetOrigin() string

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

func (*CertifyLegalInputSpec) GetTimeScanned added in v0.2.0

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

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

type CertifyLegalSpec added in v0.2.0

type CertifyLegalSpec struct {
	Id                 *string              `json:"id"`
	Subject            *PackageOrSourceSpec `json:"subject"`
	DeclaredLicense    *string              `json:"declaredLicense"`
	DeclaredLicenses   []LicenseSpec        `json:"declaredLicenses"`
	DiscoveredLicense  *string              `json:"discoveredLicense"`
	DiscoveredLicenses []LicenseSpec        `json:"discoveredLicenses"`
	Attribution        *string              `json:"attribution"`
	Justification      *string              `json:"justification"`
	TimeScanned        *time.Time           `json:"timeScanned"`
	Origin             *string              `json:"origin"`
	Collector          *string              `json:"collector"`
	DocumentRef        *string              `json:"documentRef"`
}

CertifyLegalSpec allows filtering the list of legal certifications to return in a query.

Specifying just the package allows to query for all certifications associated with the package.

func (*CertifyLegalSpec) GetAttribution added in v0.2.0

func (v *CertifyLegalSpec) GetAttribution() *string

GetAttribution returns CertifyLegalSpec.Attribution, and is useful for accessing the field via an interface.

func (*CertifyLegalSpec) GetCollector added in v0.2.0

func (v *CertifyLegalSpec) GetCollector() *string

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

func (*CertifyLegalSpec) GetDeclaredLicense added in v0.2.0

func (v *CertifyLegalSpec) GetDeclaredLicense() *string

GetDeclaredLicense returns CertifyLegalSpec.DeclaredLicense, and is useful for accessing the field via an interface.

func (*CertifyLegalSpec) GetDeclaredLicenses added in v0.2.0

func (v *CertifyLegalSpec) GetDeclaredLicenses() []LicenseSpec

GetDeclaredLicenses returns CertifyLegalSpec.DeclaredLicenses, and is useful for accessing the field via an interface.

func (*CertifyLegalSpec) GetDiscoveredLicense added in v0.2.0

func (v *CertifyLegalSpec) GetDiscoveredLicense() *string

GetDiscoveredLicense returns CertifyLegalSpec.DiscoveredLicense, and is useful for accessing the field via an interface.

func (*CertifyLegalSpec) GetDiscoveredLicenses added in v0.2.0

func (v *CertifyLegalSpec) GetDiscoveredLicenses() []LicenseSpec

GetDiscoveredLicenses returns CertifyLegalSpec.DiscoveredLicenses, and is useful for accessing the field via an interface.

func (*CertifyLegalSpec) GetDocumentRef added in v0.6.0

func (v *CertifyLegalSpec) GetDocumentRef() *string

GetDocumentRef returns CertifyLegalSpec.DocumentRef, and is useful for accessing the field via an interface.

func (*CertifyLegalSpec) GetId added in v0.2.0

func (v *CertifyLegalSpec) GetId() *string

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

func (*CertifyLegalSpec) GetJustification added in v0.2.0

func (v *CertifyLegalSpec) GetJustification() *string

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

func (*CertifyLegalSpec) GetOrigin added in v0.2.0

func (v *CertifyLegalSpec) GetOrigin() *string

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

func (*CertifyLegalSpec) GetSubject added in v0.2.0

func (v *CertifyLegalSpec) GetSubject() *PackageOrSourceSpec

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

func (*CertifyLegalSpec) GetTimeScanned added in v0.2.0

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

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

type CertifyLegalsCertifyLegal added in v0.2.0

type CertifyLegalsCertifyLegal struct {
	AllCertifyLegalTree `json:"-"`
}

CertifyLegalsCertifyLegal includes the requested fields of the GraphQL type CertifyLegal. The GraphQL type's documentation follows.

CertifyLegal is an attestation to attach legal information to a package or source.

The certification information is either copied from an attestation found in an SBOM or created by a collector/scanner.

Discovered license is also known as Concluded. More information: https://docs.clearlydefined.io/curation-guidelines#the-difference-between-declared-and-discovered-licenses

Attribution is also known as Copyright Text. It is what could be displayed to comply with notice requirements. https://www.nexb.com/oss-attribution-best-practices/

License expressions follow this format: https://spdx.github.io/spdx-spec/v2.3/SPDX-license-expressions/

func (*CertifyLegalsCertifyLegal) GetAttribution added in v0.2.0

func (v *CertifyLegalsCertifyLegal) GetAttribution() string

GetAttribution returns CertifyLegalsCertifyLegal.Attribution, and is useful for accessing the field via an interface.

func (*CertifyLegalsCertifyLegal) GetCollector added in v0.2.0

func (v *CertifyLegalsCertifyLegal) GetCollector() string

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

func (*CertifyLegalsCertifyLegal) GetDeclaredLicense added in v0.2.0

func (v *CertifyLegalsCertifyLegal) GetDeclaredLicense() string

GetDeclaredLicense returns CertifyLegalsCertifyLegal.DeclaredLicense, and is useful for accessing the field via an interface.

func (*CertifyLegalsCertifyLegal) GetDeclaredLicenses added in v0.2.0

GetDeclaredLicenses returns CertifyLegalsCertifyLegal.DeclaredLicenses, and is useful for accessing the field via an interface.

func (*CertifyLegalsCertifyLegal) GetDiscoveredLicense added in v0.2.0

func (v *CertifyLegalsCertifyLegal) GetDiscoveredLicense() string

GetDiscoveredLicense returns CertifyLegalsCertifyLegal.DiscoveredLicense, and is useful for accessing the field via an interface.

func (*CertifyLegalsCertifyLegal) GetDiscoveredLicenses added in v0.2.0

GetDiscoveredLicenses returns CertifyLegalsCertifyLegal.DiscoveredLicenses, and is useful for accessing the field via an interface.

func (*CertifyLegalsCertifyLegal) GetId added in v0.2.0

func (v *CertifyLegalsCertifyLegal) GetId() string

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

func (*CertifyLegalsCertifyLegal) GetJustification added in v0.2.0

func (v *CertifyLegalsCertifyLegal) GetJustification() string

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

func (*CertifyLegalsCertifyLegal) GetOrigin added in v0.2.0

func (v *CertifyLegalsCertifyLegal) GetOrigin() string

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

func (*CertifyLegalsCertifyLegal) GetSubject added in v0.2.0

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

func (*CertifyLegalsCertifyLegal) GetTimeScanned added in v0.2.0

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

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

func (*CertifyLegalsCertifyLegal) MarshalJSON added in v0.2.0

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

func (*CertifyLegalsCertifyLegal) UnmarshalJSON added in v0.2.0

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

type CertifyLegalsResponse added in v0.2.0

type CertifyLegalsResponse struct {
	// Returns all legal certifications matching the input filter.
	CertifyLegal []CertifyLegalsCertifyLegal `json:"CertifyLegal"`
}

CertifyLegalsResponse is returned by CertifyLegals on success.

func CertifyLegals added in v0.2.0

func CertifyLegals(
	ctx_ context.Context,
	client_ graphql.Client,
	filter CertifyLegalSpec,
) (*CertifyLegalsResponse, error)

func (*CertifyLegalsResponse) GetCertifyLegal added in v0.2.0

func (v *CertifyLegalsResponse) GetCertifyLegal() []CertifyLegalsCertifyLegal

GetCertifyLegal returns CertifyLegalsResponse.CertifyLegal, and is useful for accessing the field via an interface.

type CertifyScorecardSpec added in v0.5.2

type CertifyScorecardSpec struct {
	Id               *string              `json:"id"`
	Source           *SourceSpec          `json:"source"`
	TimeScanned      *time.Time           `json:"timeScanned"`
	AggregateScore   *float64             `json:"aggregateScore"`
	Checks           []ScorecardCheckSpec `json:"checks"`
	ScorecardVersion *string              `json:"scorecardVersion"`
	ScorecardCommit  *string              `json:"scorecardCommit"`
	Origin           *string              `json:"origin"`
	Collector        *string              `json:"collector"`
	DocumentRef      *string              `json:"documentRef"`
}

CertifyScorecardSpec allows filtering the list of Scorecards to return.

func (*CertifyScorecardSpec) GetAggregateScore added in v0.5.2

func (v *CertifyScorecardSpec) GetAggregateScore() *float64

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

func (*CertifyScorecardSpec) GetChecks added in v0.5.2

func (v *CertifyScorecardSpec) GetChecks() []ScorecardCheckSpec

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

func (*CertifyScorecardSpec) GetCollector added in v0.5.2

func (v *CertifyScorecardSpec) GetCollector() *string

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

func (*CertifyScorecardSpec) GetDocumentRef added in v0.6.0

func (v *CertifyScorecardSpec) GetDocumentRef() *string

GetDocumentRef returns CertifyScorecardSpec.DocumentRef, and is useful for accessing the field via an interface.

func (*CertifyScorecardSpec) GetId added in v0.5.2

func (v *CertifyScorecardSpec) GetId() *string

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

func (*CertifyScorecardSpec) GetOrigin added in v0.5.2

func (v *CertifyScorecardSpec) GetOrigin() *string

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

func (*CertifyScorecardSpec) GetScorecardCommit added in v0.5.2

func (v *CertifyScorecardSpec) GetScorecardCommit() *string

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

func (*CertifyScorecardSpec) GetScorecardVersion added in v0.5.2

func (v *CertifyScorecardSpec) GetScorecardVersion() *string

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

func (*CertifyScorecardSpec) GetSource added in v0.5.2

func (v *CertifyScorecardSpec) GetSource() *SourceSpec

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

func (*CertifyScorecardSpec) GetTimeScanned added in v0.5.2

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

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

type DependenciesIsDependency added in v0.4.0

type DependenciesIsDependency struct {
	AllIsDependencyTree `json:"-"`
}

DependenciesIsDependency 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 (*DependenciesIsDependency) GetCollector added in v0.4.0

func (v *DependenciesIsDependency) GetCollector() string

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

func (*DependenciesIsDependency) GetDependencyPackage added in v0.4.0

GetDependencyPackage returns DependenciesIsDependency.DependencyPackage, and is useful for accessing the field via an interface.

func (*DependenciesIsDependency) GetDependencyType added in v0.4.0

func (v *DependenciesIsDependency) GetDependencyType() DependencyType

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

func (*DependenciesIsDependency) GetId added in v0.4.0

func (v *DependenciesIsDependency) GetId() string

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

func (*DependenciesIsDependency) GetJustification added in v0.4.0

func (v *DependenciesIsDependency) GetJustification() string

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

func (*DependenciesIsDependency) GetOrigin added in v0.4.0

func (v *DependenciesIsDependency) GetOrigin() string

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

func (*DependenciesIsDependency) GetPackage added in v0.4.0

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

func (*DependenciesIsDependency) GetVersionRange added in v0.4.0

func (v *DependenciesIsDependency) GetVersionRange() string

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

func (*DependenciesIsDependency) MarshalJSON added in v0.4.0

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

func (*DependenciesIsDependency) UnmarshalJSON added in v0.4.0

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

type DependenciesResponse added in v0.4.0

type DependenciesResponse struct {
	// Returns all package dependencies that match the filter.
	IsDependency []DependenciesIsDependency `json:"IsDependency"`
}

DependenciesResponse is returned by Dependencies on success.

func Dependencies added in v0.4.0

func Dependencies(
	ctx_ context.Context,
	client_ graphql.Client,
	filter IsDependencySpec,
) (*DependenciesResponse, error)

func (*DependenciesResponse) GetIsDependency added in v0.4.0

func (v *DependenciesResponse) GetIsDependency() []DependenciesIsDependency

GetIsDependency returns DependenciesResponse.IsDependency, 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. Edges are defined in both directions, which means nodes can be traversed from either direction.

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"
	EdgeArtifactHasMetadata              Edge = "ARTIFACT_HAS_METADATA"
	EdgeArtifactHasSbom                  Edge = "ARTIFACT_HAS_SBOM"
	EdgeArtifactHasSlsa                  Edge = "ARTIFACT_HAS_SLSA"
	EdgeArtifactIsOccurrence             Edge = "ARTIFACT_IS_OCCURRENCE"
	EdgeArtifactPointOfContact           Edge = "ARTIFACT_POINT_OF_CONTACT"
	EdgeBuilderHasSlsa                   Edge = "BUILDER_HAS_SLSA"
	EdgeLicenseCertifyLegal              Edge = "LICENSE_CERTIFY_LEGAL"
	EdgePackageCertifyBad                Edge = "PACKAGE_CERTIFY_BAD"
	EdgePackageCertifyGood               Edge = "PACKAGE_CERTIFY_GOOD"
	EdgePackageCertifyLegal              Edge = "PACKAGE_CERTIFY_LEGAL"
	EdgePackageCertifyVexStatement       Edge = "PACKAGE_CERTIFY_VEX_STATEMENT"
	EdgePackageCertifyVuln               Edge = "PACKAGE_CERTIFY_VULN"
	EdgePackageHasMetadata               Edge = "PACKAGE_HAS_METADATA"
	EdgePackageHasSbom                   Edge = "PACKAGE_HAS_SBOM"
	EdgePackageHasSourceAt               Edge = "PACKAGE_HAS_SOURCE_AT"
	EdgePackageIsDependency              Edge = "PACKAGE_IS_DEPENDENCY"
	EdgePackageIsOccurrence              Edge = "PACKAGE_IS_OCCURRENCE"
	EdgePackageNamePackageNamespace      Edge = "PACKAGE_NAME_PACKAGE_NAMESPACE"
	EdgePackageNamePackageVersion        Edge = "PACKAGE_NAME_PACKAGE_VERSION"
	EdgePackageNamespacePackageName      Edge = "PACKAGE_NAMESPACE_PACKAGE_NAME"
	EdgePackageNamespacePackageType      Edge = "PACKAGE_NAMESPACE_PACKAGE_TYPE"
	EdgePackagePkgEqual                  Edge = "PACKAGE_PKG_EQUAL"
	EdgePackagePointOfContact            Edge = "PACKAGE_POINT_OF_CONTACT"
	EdgePackageTypePackageNamespace      Edge = "PACKAGE_TYPE_PACKAGE_NAMESPACE"
	EdgePackageVersionPackageName        Edge = "PACKAGE_VERSION_PACKAGE_NAME"
	EdgeSourceCertifyBad                 Edge = "SOURCE_CERTIFY_BAD"
	EdgeSourceCertifyGood                Edge = "SOURCE_CERTIFY_GOOD"
	EdgeSourceCertifyLegal               Edge = "SOURCE_CERTIFY_LEGAL"
	EdgeSourceCertifyScorecard           Edge = "SOURCE_CERTIFY_SCORECARD"
	EdgeSourceHasMetadata                Edge = "SOURCE_HAS_METADATA"
	EdgeSourceHasSourceAt                Edge = "SOURCE_HAS_SOURCE_AT"
	EdgeSourceIsOccurrence               Edge = "SOURCE_IS_OCCURRENCE"
	EdgeSourceNameSourceNamespace        Edge = "SOURCE_NAME_SOURCE_NAMESPACE"
	EdgeSourceNamespaceSourceName        Edge = "SOURCE_NAMESPACE_SOURCE_NAME"
	EdgeSourceNamespaceSourceType        Edge = "SOURCE_NAMESPACE_SOURCE_TYPE"
	EdgeSourcePointOfContact             Edge = "SOURCE_POINT_OF_CONTACT"
	EdgeSourceTypeSourceNamespace        Edge = "SOURCE_TYPE_SOURCE_NAMESPACE"
	EdgeVulnerabilityCertifyVexStatement Edge = "VULNERABILITY_CERTIFY_VEX_STATEMENT"
	EdgeVulnerabilityCertifyVuln         Edge = "VULNERABILITY_CERTIFY_VULN"
	EdgeVulnerabilityIdVulnerabilityType Edge = "VULNERABILITY_ID_VULNERABILITY_TYPE"
	EdgeVulnerabilityTypeVulnerabilityId Edge = "VULNERABILITY_TYPE_VULNERABILITY_ID"
	EdgeVulnerabilityVulnEqual           Edge = "VULNERABILITY_VULN_EQUAL"
	EdgeVulnerabilityVulnMetadata        Edge = "VULNERABILITY_VULN_METADATA"
	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"
	EdgeCertifyLegalLicense              Edge = "CERTIFY_LEGAL_LICENSE"
	EdgeCertifyLegalPackage              Edge = "CERTIFY_LEGAL_PACKAGE"
	EdgeCertifyLegalSource               Edge = "CERTIFY_LEGAL_SOURCE"
	EdgeCertifyScorecardSource           Edge = "CERTIFY_SCORECARD_SOURCE"
	EdgeCertifyVexStatementArtifact      Edge = "CERTIFY_VEX_STATEMENT_ARTIFACT"
	EdgeCertifyVexStatementPackage       Edge = "CERTIFY_VEX_STATEMENT_PACKAGE"
	EdgeCertifyVexStatementVulnerability Edge = "CERTIFY_VEX_STATEMENT_VULNERABILITY"
	EdgeCertifyVulnPackage               Edge = "CERTIFY_VULN_PACKAGE"
	EdgeCertifyVulnVulnerability         Edge = "CERTIFY_VULN_VULNERABILITY"
	EdgeHashEqualArtifact                Edge = "HASH_EQUAL_ARTIFACT"
	EdgeHasMetadataArtifact              Edge = "HAS_METADATA_ARTIFACT"
	EdgeHasMetadataPackage               Edge = "HAS_METADATA_PACKAGE"
	EdgeHasMetadataSource                Edge = "HAS_METADATA_SOURCE"
	EdgeHasSbomArtifact                  Edge = "HAS_SBOM_ARTIFACT"
	EdgeHasSbomPackage                   Edge = "HAS_SBOM_PACKAGE"
	EdgeHasSbomIncludedSoftware          Edge = "HAS_SBOM_INCLUDED_SOFTWARE"
	EdgeHasSbomIncludedDependencies      Edge = "HAS_SBOM_INCLUDED_DEPENDENCIES"
	EdgeHasSbomIncludedOccurrences       Edge = "HAS_SBOM_INCLUDED_OCCURRENCES"
	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"
	EdgePkgEqualPackage                  Edge = "PKG_EQUAL_PACKAGE"
	EdgePointOfContactArtifact           Edge = "POINT_OF_CONTACT_ARTIFACT"
	EdgePointOfContactPackage            Edge = "POINT_OF_CONTACT_PACKAGE"
	EdgePointOfContactSource             Edge = "POINT_OF_CONTACT_SOURCE"
	EdgeVulnEqualVulnerability           Edge = "VULN_EQUAL_VULNERABILITY"
	EdgeVulnMetadataVulnerability        Edge = "VULN_METADATA_VULNERABILITY"
)

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 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"`
	DocumentRef   string    `json:"documentRef"`
}

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) GetDocumentRef added in v0.6.0

func (v *HasMetadataInputSpec) GetDocumentRef() string

GetDocumentRef returns HasMetadataInputSpec.DocumentRef, 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 HasSBOMIncludesInputSpec added in v0.4.0

type HasSBOMIncludesInputSpec struct {
	Packages     []string `json:"packages"`
	Artifacts    []string `json:"artifacts"`
	Dependencies []string `json:"dependencies"`
	Occurrences  []string `json:"occurrences"`
}

func (*HasSBOMIncludesInputSpec) GetArtifacts added in v0.5.0

func (v *HasSBOMIncludesInputSpec) GetArtifacts() []string

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

func (*HasSBOMIncludesInputSpec) GetDependencies added in v0.4.0

func (v *HasSBOMIncludesInputSpec) GetDependencies() []string

GetDependencies returns HasSBOMIncludesInputSpec.Dependencies, and is useful for accessing the field via an interface.

func (*HasSBOMIncludesInputSpec) GetOccurrences added in v0.4.0

func (v *HasSBOMIncludesInputSpec) GetOccurrences() []string

GetOccurrences returns HasSBOMIncludesInputSpec.Occurrences, and is useful for accessing the field via an interface.

func (*HasSBOMIncludesInputSpec) GetPackages added in v0.5.0

func (v *HasSBOMIncludesInputSpec) GetPackages() []string

GetPackages returns HasSBOMIncludesInputSpec.Packages, 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"`
	KnownSince       time.Time `json:"knownSince"`
	Origin           string    `json:"origin"`
	Collector        string    `json:"collector"`
	DocumentRef      string    `json:"documentRef"`
}

HasSBOMInputSpec is similar to 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) GetDocumentRef added in v0.6.0

func (v *HasSBOMInputSpec) GetDocumentRef() string

GetDocumentRef returns HasSBOMInputSpec.DocumentRef, 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) GetKnownSince added in v0.2.1

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

GetKnownSince returns HasSBOMInputSpec.KnownSince, 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 HasSBOMSpec added in v0.4.0

type HasSBOMSpec struct {
	Id                   *string                 `json:"id"`
	Subject              *PackageOrArtifactSpec  `json:"subject"`
	Uri                  *string                 `json:"uri"`
	Algorithm            *string                 `json:"algorithm"`
	Digest               *string                 `json:"digest"`
	DownloadLocation     *string                 `json:"downloadLocation"`
	KnownSince           *time.Time              `json:"knownSince"`
	Origin               *string                 `json:"origin"`
	Collector            *string                 `json:"collector"`
	DocumentRef          *string                 `json:"documentRef"`
	IncludedSoftware     []PackageOrArtifactSpec `json:"includedSoftware"`
	IncludedDependencies []IsDependencySpec      `json:"includedDependencies"`
	IncludedOccurrences  []IsOccurrenceSpec      `json:"includedOccurrences"`
}

HasSBOMSpec allows filtering the list of HasSBOM to return.

Only the package or artifact can be added, not both.

If KnownSince is specified, the returned value will be after or equal to the specified time. Any nodes time that is before KnownSince is excluded.

func (*HasSBOMSpec) GetAlgorithm added in v0.4.0

func (v *HasSBOMSpec) GetAlgorithm() *string

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

func (*HasSBOMSpec) GetCollector added in v0.4.0

func (v *HasSBOMSpec) GetCollector() *string

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

func (*HasSBOMSpec) GetDigest added in v0.4.0

func (v *HasSBOMSpec) GetDigest() *string

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

func (*HasSBOMSpec) GetDocumentRef added in v0.6.0

func (v *HasSBOMSpec) GetDocumentRef() *string

GetDocumentRef returns HasSBOMSpec.DocumentRef, and is useful for accessing the field via an interface.

func (*HasSBOMSpec) GetDownloadLocation added in v0.4.0

func (v *HasSBOMSpec) GetDownloadLocation() *string

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

func (*HasSBOMSpec) GetId added in v0.4.0

func (v *HasSBOMSpec) GetId() *string

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

func (*HasSBOMSpec) GetIncludedDependencies added in v0.4.0

func (v *HasSBOMSpec) GetIncludedDependencies() []IsDependencySpec

GetIncludedDependencies returns HasSBOMSpec.IncludedDependencies, and is useful for accessing the field via an interface.

func (*HasSBOMSpec) GetIncludedOccurrences added in v0.4.0

func (v *HasSBOMSpec) GetIncludedOccurrences() []IsOccurrenceSpec

GetIncludedOccurrences returns HasSBOMSpec.IncludedOccurrences, and is useful for accessing the field via an interface.

func (*HasSBOMSpec) GetIncludedSoftware added in v0.4.0

func (v *HasSBOMSpec) GetIncludedSoftware() []PackageOrArtifactSpec

GetIncludedSoftware returns HasSBOMSpec.IncludedSoftware, and is useful for accessing the field via an interface.

func (*HasSBOMSpec) GetKnownSince added in v0.4.0

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

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

func (*HasSBOMSpec) GetOrigin added in v0.4.0

func (v *HasSBOMSpec) GetOrigin() *string

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

func (*HasSBOMSpec) GetSubject added in v0.4.0

func (v *HasSBOMSpec) GetSubject() *PackageOrArtifactSpec

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

func (*HasSBOMSpec) GetUri added in v0.4.0

func (v *HasSBOMSpec) GetUri() *string

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

type HasSBOMsHasSBOM added in v0.4.0

type HasSBOMsHasSBOM struct {
	AllHasSBOMTree `json:"-"`
}

HasSBOMsHasSBOM includes the requested fields of the GraphQL type HasSBOM.

func (*HasSBOMsHasSBOM) GetAlgorithm added in v0.4.0

func (v *HasSBOMsHasSBOM) GetAlgorithm() string

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

func (*HasSBOMsHasSBOM) GetCollector added in v0.4.0

func (v *HasSBOMsHasSBOM) GetCollector() string

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

func (*HasSBOMsHasSBOM) GetDigest added in v0.4.0

func (v *HasSBOMsHasSBOM) GetDigest() string

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

func (*HasSBOMsHasSBOM) GetDownloadLocation added in v0.4.0

func (v *HasSBOMsHasSBOM) GetDownloadLocation() string

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

func (*HasSBOMsHasSBOM) GetId added in v0.4.0

func (v *HasSBOMsHasSBOM) GetId() string

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

func (*HasSBOMsHasSBOM) GetIncludedDependencies added in v0.4.0

func (v *HasSBOMsHasSBOM) GetIncludedDependencies() []AllHasSBOMTreeIncludedDependenciesIsDependency

GetIncludedDependencies returns HasSBOMsHasSBOM.IncludedDependencies, and is useful for accessing the field via an interface.

func (*HasSBOMsHasSBOM) GetIncludedOccurrences added in v0.4.0

func (v *HasSBOMsHasSBOM) GetIncludedOccurrences() []AllHasSBOMTreeIncludedOccurrencesIsOccurrence

GetIncludedOccurrences returns HasSBOMsHasSBOM.IncludedOccurrences, and is useful for accessing the field via an interface.

func (*HasSBOMsHasSBOM) GetIncludedSoftware added in v0.4.0

GetIncludedSoftware returns HasSBOMsHasSBOM.IncludedSoftware, and is useful for accessing the field via an interface.

func (*HasSBOMsHasSBOM) GetKnownSince added in v0.4.0

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

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

func (*HasSBOMsHasSBOM) GetOrigin added in v0.4.0

func (v *HasSBOMsHasSBOM) GetOrigin() string

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

func (*HasSBOMsHasSBOM) GetSubject added in v0.4.0

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

func (*HasSBOMsHasSBOM) GetUri added in v0.4.0

func (v *HasSBOMsHasSBOM) GetUri() string

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

func (*HasSBOMsHasSBOM) MarshalJSON added in v0.4.0

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

func (*HasSBOMsHasSBOM) UnmarshalJSON added in v0.4.0

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

type HasSBOMsResponse added in v0.4.0

type HasSBOMsResponse struct {
	// Returns all SBOM certifications.
	HasSBOM []HasSBOMsHasSBOM `json:"HasSBOM"`
}

HasSBOMsResponse is returned by HasSBOMs on success.

func HasSBOMs added in v0.4.0

func HasSBOMs(
	ctx_ context.Context,
	client_ graphql.Client,
	filter HasSBOMSpec,
) (*HasSBOMsResponse, error)

func (*HasSBOMsResponse) GetHasSBOM added in v0.4.0

func (v *HasSBOMsResponse) GetHasSBOM() []HasSBOMsHasSBOM

GetHasSBOM returns HasSBOMsResponse.HasSBOM, and is useful for accessing the field via an interface.

type HasSourceAtInputSpec

type HasSourceAtInputSpec struct {
	KnownSince    time.Time `json:"knownSince"`
	Justification string    `json:"justification"`
	Origin        string    `json:"origin"`
	Collector     string    `json:"collector"`
	DocumentRef   string    `json:"documentRef"`
}

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) GetDocumentRef added in v0.6.0

func (v *HasSourceAtInputSpec) GetDocumentRef() string

GetDocumentRef returns HasSourceAtInputSpec.DocumentRef, 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 HashEqualInputSpec

type HashEqualInputSpec struct {
	Justification string `json:"justification"`
	Origin        string `json:"origin"`
	Collector     string `json:"collector"`
	DocumentRef   string `json:"documentRef"`
}

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) GetDocumentRef added in v0.6.0

func (v *HashEqualInputSpec) GetDocumentRef() string

GetDocumentRef returns HashEqualInputSpec.DocumentRef, 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 HashEqualSpec added in v0.6.0

type HashEqualSpec struct {
	Id            *string         `json:"id"`
	Artifacts     []*ArtifactSpec `json:"artifacts"`
	Justification *string         `json:"justification"`
	Origin        *string         `json:"origin"`
	Collector     *string         `json:"collector"`
	DocumentRef   *string         `json:"documentRef"`
}

HashEqualSpec allows filtering the list of artifact equality statements to return in a query.

Specifying just one artifact allows to query for all similar artifacts (if any exists).

func (*HashEqualSpec) GetArtifacts added in v0.6.0

func (v *HashEqualSpec) GetArtifacts() []*ArtifactSpec

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

func (*HashEqualSpec) GetCollector added in v0.6.0

func (v *HashEqualSpec) GetCollector() *string

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

func (*HashEqualSpec) GetDocumentRef added in v0.6.0

func (v *HashEqualSpec) GetDocumentRef() *string

GetDocumentRef returns HashEqualSpec.DocumentRef, and is useful for accessing the field via an interface.

func (*HashEqualSpec) GetId added in v0.6.0

func (v *HashEqualSpec) GetId() *string

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

func (*HashEqualSpec) GetJustification added in v0.6.0

func (v *HashEqualSpec) GetJustification() *string

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

func (*HashEqualSpec) GetOrigin added in v0.6.0

func (v *HashEqualSpec) GetOrigin() *string

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

type HashEqualsHashEqual added in v0.6.0

type HashEqualsHashEqual struct {
	AllHashEqualTree `json:"-"`
}

HashEqualsHashEqual 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 (*HashEqualsHashEqual) GetArtifacts added in v0.6.0

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

func (*HashEqualsHashEqual) GetCollector added in v0.6.0

func (v *HashEqualsHashEqual) GetCollector() string

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

func (*HashEqualsHashEqual) GetId added in v0.6.0

func (v *HashEqualsHashEqual) GetId() string

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

func (*HashEqualsHashEqual) GetJustification added in v0.6.0

func (v *HashEqualsHashEqual) GetJustification() string

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

func (*HashEqualsHashEqual) GetOrigin added in v0.6.0

func (v *HashEqualsHashEqual) GetOrigin() string

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

func (*HashEqualsHashEqual) MarshalJSON added in v0.6.0

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

func (*HashEqualsHashEqual) UnmarshalJSON added in v0.6.0

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

type HashEqualsResponse added in v0.1.2

type HashEqualsResponse struct {
	// Returns all artifact equality statements matching a filter.
	HashEqual []HashEqualsHashEqual `json:"HashEqual"`
}

HashEqualsResponse is returned by HashEquals on success.

func HashEquals added in v0.1.2

func HashEquals(
	ctx_ context.Context,
	client_ graphql.Client,
	filter HashEqualSpec,
) (*HashEqualsResponse, error)

func (*HashEqualsResponse) GetHashEqual added in v0.6.0

func (v *HashEqualsResponse) GetHashEqual() []HashEqualsHashEqual

GetHashEqual returns HashEqualsResponse.HashEqual, and is useful for accessing the field via an interface.

type IDorArtifactInput added in v0.5.0

type IDorArtifactInput struct {
	ArtifactID    *string            `json:"artifactID"`
	ArtifactInput *ArtifactInputSpec `json:"artifactInput"`
}

IDorArtifactInput allows for specifying either the artifact ID or the ArtifactInputSpec.

Either the ID or the ArtifactInputSpec must be specified. Both cannot be nil.

If the ID is specified, the ArtifactInputSpec is not used.

func (*IDorArtifactInput) GetArtifactID added in v0.5.0

func (v *IDorArtifactInput) GetArtifactID() *string

GetArtifactID returns IDorArtifactInput.ArtifactID, and is useful for accessing the field via an interface.

func (*IDorArtifactInput) GetArtifactInput added in v0.5.0

func (v *IDorArtifactInput) GetArtifactInput() *ArtifactInputSpec

GetArtifactInput returns IDorArtifactInput.ArtifactInput, and is useful for accessing the field via an interface.

type IDorBuilderInput added in v0.5.0

type IDorBuilderInput struct {
	BuilderID    *string           `json:"builderID"`
	BuilderInput *BuilderInputSpec `json:"builderInput"`
}

IDorBuilderInput allows for specifying either the builder ID or the BuilderInputSpec.

Either the ID or the BuilderInputSpec must be specified. Both cannot be nil.

If the ID is specified, the BuilderInputSpec is not used.

func (*IDorBuilderInput) GetBuilderID added in v0.5.0

func (v *IDorBuilderInput) GetBuilderID() *string

GetBuilderID returns IDorBuilderInput.BuilderID, and is useful for accessing the field via an interface.

func (*IDorBuilderInput) GetBuilderInput added in v0.5.0

func (v *IDorBuilderInput) GetBuilderInput() *BuilderInputSpec

GetBuilderInput returns IDorBuilderInput.BuilderInput, and is useful for accessing the field via an interface.

type IDorLicenseInput added in v0.5.0

type IDorLicenseInput struct {
	LicenseID    *string           `json:"licenseID"`
	LicenseInput *LicenseInputSpec `json:"licenseInput"`
}

IDorLicenseInput allows for specifying either the license ID or the LicenseInputSpec.

Either the ID or the LicenseInputSpec must be specified. Both cannot be nil.

If the ID is specified, the LicenseInputSpec is not used.

func (*IDorLicenseInput) GetLicenseID added in v0.5.0

func (v *IDorLicenseInput) GetLicenseID() *string

GetLicenseID returns IDorLicenseInput.LicenseID, and is useful for accessing the field via an interface.

func (*IDorLicenseInput) GetLicenseInput added in v0.5.0

func (v *IDorLicenseInput) GetLicenseInput() *LicenseInputSpec

GetLicenseInput returns IDorLicenseInput.LicenseInput, and is useful for accessing the field via an interface.

type IDorPkgInput added in v0.5.0

type IDorPkgInput struct {
	PackageTypeID      *string       `json:"packageTypeID"`
	PackageNamespaceID *string       `json:"packageNamespaceID"`
	PackageNameID      *string       `json:"packageNameID"`
	PackageVersionID   *string       `json:"packageVersionID"`
	PackageInput       *PkgInputSpec `json:"packageInput"`
}

IDorPkgInput allows for specifying either the package IDs or the PkgInputSpec.

Either the IDs or the PkgInputSpec must be specified. Both cannot be nil.

If the IDs are specified, the PkgInputSpec is not used.

func (*IDorPkgInput) GetPackageInput added in v0.5.0

func (v *IDorPkgInput) GetPackageInput() *PkgInputSpec

GetPackageInput returns IDorPkgInput.PackageInput, and is useful for accessing the field via an interface.

func (*IDorPkgInput) GetPackageNameID added in v0.5.0

func (v *IDorPkgInput) GetPackageNameID() *string

GetPackageNameID returns IDorPkgInput.PackageNameID, and is useful for accessing the field via an interface.

func (*IDorPkgInput) GetPackageNamespaceID added in v0.5.0

func (v *IDorPkgInput) GetPackageNamespaceID() *string

GetPackageNamespaceID returns IDorPkgInput.PackageNamespaceID, and is useful for accessing the field via an interface.

func (*IDorPkgInput) GetPackageTypeID added in v0.5.0

func (v *IDorPkgInput) GetPackageTypeID() *string

GetPackageTypeID returns IDorPkgInput.PackageTypeID, and is useful for accessing the field via an interface.

func (*IDorPkgInput) GetPackageVersionID added in v0.5.0

func (v *IDorPkgInput) GetPackageVersionID() *string

GetPackageVersionID returns IDorPkgInput.PackageVersionID, and is useful for accessing the field via an interface.

type IDorSourceInput added in v0.5.0

type IDorSourceInput struct {
	SourceTypeID      *string          `json:"sourceTypeID"`
	SourceNamespaceID *string          `json:"sourceNamespaceID"`
	SourceNameID      *string          `json:"sourceNameID"`
	SourceInput       *SourceInputSpec `json:"sourceInput"`
}

IDorSourceInput allows for specifying either the source IDs or the SourceInputSpec.

Either the IDs or the SourceInputSpec must be specified. Both cannot be nil.

If the IDs are specified, the SourceInputSpec is not used.

func (*IDorSourceInput) GetSourceInput added in v0.5.0

func (v *IDorSourceInput) GetSourceInput() *SourceInputSpec

GetSourceInput returns IDorSourceInput.SourceInput, and is useful for accessing the field via an interface.

func (*IDorSourceInput) GetSourceNameID added in v0.5.0

func (v *IDorSourceInput) GetSourceNameID() *string

GetSourceNameID returns IDorSourceInput.SourceNameID, and is useful for accessing the field via an interface.

func (*IDorSourceInput) GetSourceNamespaceID added in v0.5.0

func (v *IDorSourceInput) GetSourceNamespaceID() *string

GetSourceNamespaceID returns IDorSourceInput.SourceNamespaceID, and is useful for accessing the field via an interface.

func (*IDorSourceInput) GetSourceTypeID added in v0.5.0

func (v *IDorSourceInput) GetSourceTypeID() *string

GetSourceTypeID returns IDorSourceInput.SourceTypeID, and is useful for accessing the field via an interface.

type IDorVulnerabilityInput added in v0.5.0

type IDorVulnerabilityInput struct {
	VulnerabilityTypeID *string                 `json:"vulnerabilityTypeID"`
	VulnerabilityNodeID *string                 `json:"vulnerabilityNodeID"`
	VulnerabilityInput  *VulnerabilityInputSpec `json:"vulnerabilityInput"`
}

IDorVulnerabilityInput allows for specifying either the vulnerability IDs or the VulnerabilityInputSpec.

Either the IDs or the VulnerabilityInputSpec must be specified. Both cannot be nil.

If the IDs are specified, the VulnerabilityInputSpec is not used.

func (*IDorVulnerabilityInput) GetVulnerabilityInput added in v0.5.0

func (v *IDorVulnerabilityInput) GetVulnerabilityInput() *VulnerabilityInputSpec

GetVulnerabilityInput returns IDorVulnerabilityInput.VulnerabilityInput, and is useful for accessing the field via an interface.

func (*IDorVulnerabilityInput) GetVulnerabilityNodeID added in v0.5.0

func (v *IDorVulnerabilityInput) GetVulnerabilityNodeID() *string

GetVulnerabilityNodeID returns IDorVulnerabilityInput.VulnerabilityNodeID, and is useful for accessing the field via an interface.

func (*IDorVulnerabilityInput) GetVulnerabilityTypeID added in v0.5.0

func (v *IDorVulnerabilityInput) GetVulnerabilityTypeID() *string

GetVulnerabilityTypeID returns IDorVulnerabilityInput.VulnerabilityTypeID, and is useful for accessing the field via an interface.

type IngestArtifactResponse added in v0.1.1

type IngestArtifactResponse struct {
	// Ingests a new artifact and returns it.
	IngestArtifact string `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 IDorArtifactInput,
) (*IngestArtifactResponse, error)

func (*IngestArtifactResponse) GetIngestArtifact added in v0.1.1

func (v *IngestArtifactResponse) GetIngestArtifact() string

GetIngestArtifact returns IngestArtifactResponse.IngestArtifact, and is useful for accessing the field via an interface.

type IngestArtifactsResponse added in v0.1.1

type IngestArtifactsResponse struct {
	// Bulk ingests new artifacts and returns a list of them. The returned array of IDs must be in the same order as the inputs.
	IngestArtifacts []string `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 []IDorArtifactInput,
) (*IngestArtifactsResponse, error)

func (*IngestArtifactsResponse) GetIngestArtifacts added in v0.1.1

func (v *IngestArtifactsResponse) GetIngestArtifacts() []string

GetIngestArtifacts returns IngestArtifactsResponse.IngestArtifacts, 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 string `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 IDorBuilderInput,
) (*IngestBuilderResponse, error)

func (*IngestBuilderResponse) GetIngestBuilder added in v0.1.1

func (v *IngestBuilderResponse) GetIngestBuilder() string

GetIngestBuilder returns IngestBuilderResponse.IngestBuilder, 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. The returned array of IDs must be in the same order as the inputs.
	IngestBuilders []string `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 []IDorBuilderInput,
) (*IngestBuildersResponse, error)

func (*IngestBuildersResponse) GetIngestBuilders added in v0.1.1

func (v *IngestBuildersResponse) GetIngestBuilders() []string

GetIngestBuilders returns IngestBuildersResponse.IngestBuilders, and is useful for accessing the field via an interface.

type IngestBulkVulnHasMetadataResponse added in v0.5.0

type IngestBulkVulnHasMetadataResponse struct {
	// Bulk add certifications that vulnerability has a specific score. The returned array of IDs can be a an array of empty string.
	IngestBulkVulnerabilityMetadata []string `json:"ingestBulkVulnerabilityMetadata"`
}

IngestBulkVulnHasMetadataResponse is returned by IngestBulkVulnHasMetadata on success.

func IngestBulkVulnHasMetadata added in v0.5.0

func IngestBulkVulnHasMetadata(
	ctx_ context.Context,
	client_ graphql.Client,
	vulnerabilities []IDorVulnerabilityInput,
	vulnerabilityMetadataList []VulnerabilityMetadataInputSpec,
) (*IngestBulkVulnHasMetadataResponse, error)

func (*IngestBulkVulnHasMetadataResponse) GetIngestBulkVulnerabilityMetadata added in v0.5.0

func (v *IngestBulkVulnHasMetadataResponse) GetIngestBulkVulnerabilityMetadata() []string

GetIngestBulkVulnerabilityMetadata returns IngestBulkVulnHasMetadataResponse.IngestBulkVulnerabilityMetadata, and is useful for accessing the field via an interface.

type IngestCertifyBadArtifactResponse added in v0.5.0

type IngestCertifyBadArtifactResponse struct {
	// Adds a certification that a package, source or artifact is considered bad. The returned ID can be empty string.
	IngestCertifyBad string `json:"ingestCertifyBad"`
}

IngestCertifyBadArtifactResponse is returned by IngestCertifyBadArtifact on success.

func IngestCertifyBadArtifact added in v0.5.0

func IngestCertifyBadArtifact(
	ctx_ context.Context,
	client_ graphql.Client,
	artifact IDorArtifactInput,
	certifyBad CertifyBadInputSpec,
) (*IngestCertifyBadArtifactResponse, error)

func (*IngestCertifyBadArtifactResponse) GetIngestCertifyBad added in v0.5.0

func (v *IngestCertifyBadArtifactResponse) GetIngestCertifyBad() string

GetIngestCertifyBad returns IngestCertifyBadArtifactResponse.IngestCertifyBad, and is useful for accessing the field via an interface.

type IngestCertifyBadArtifactsResponse added in v0.5.0

type IngestCertifyBadArtifactsResponse struct {
	// Adds bulk certifications that a package, source or artifact is considered bad. The returned array of IDs can be a an array of empty string.
	IngestCertifyBads []string `json:"ingestCertifyBads"`
}

IngestCertifyBadArtifactsResponse is returned by IngestCertifyBadArtifacts on success.

func IngestCertifyBadArtifacts added in v0.5.0

func IngestCertifyBadArtifacts(
	ctx_ context.Context,
	client_ graphql.Client,
	artifacts []IDorArtifactInput,
	certifyBads []CertifyBadInputSpec,
) (*IngestCertifyBadArtifactsResponse, error)

func (*IngestCertifyBadArtifactsResponse) GetIngestCertifyBads added in v0.5.0

func (v *IngestCertifyBadArtifactsResponse) GetIngestCertifyBads() []string

GetIngestCertifyBads returns IngestCertifyBadArtifactsResponse.IngestCertifyBads, and is useful for accessing the field via an interface.

type IngestCertifyBadPkgResponse added in v0.5.0

type IngestCertifyBadPkgResponse struct {
	// Adds a certification that a package, source or artifact is considered bad. The returned ID can be empty string.
	IngestCertifyBad string `json:"ingestCertifyBad"`
}

IngestCertifyBadPkgResponse is returned by IngestCertifyBadPkg on success.

func IngestCertifyBadPkg added in v0.5.0

func IngestCertifyBadPkg(
	ctx_ context.Context,
	client_ graphql.Client,
	pkg IDorPkgInput,
	pkgMatchType MatchFlags,
	certifyBad CertifyBadInputSpec,
) (*IngestCertifyBadPkgResponse, error)

func (*IngestCertifyBadPkgResponse) GetIngestCertifyBad added in v0.5.0

func (v *IngestCertifyBadPkgResponse) GetIngestCertifyBad() string

GetIngestCertifyBad returns IngestCertifyBadPkgResponse.IngestCertifyBad, and is useful for accessing the field via an interface.

type IngestCertifyBadPkgsResponse added in v0.5.0

type IngestCertifyBadPkgsResponse struct {
	// Adds bulk certifications that a package, source or artifact is considered bad. The returned array of IDs can be a an array of empty string.
	IngestCertifyBads []string `json:"ingestCertifyBads"`
}

IngestCertifyBadPkgsResponse is returned by IngestCertifyBadPkgs on success.

func IngestCertifyBadPkgs added in v0.5.0

func IngestCertifyBadPkgs(
	ctx_ context.Context,
	client_ graphql.Client,
	pkgs []IDorPkgInput,
	pkgMatchType MatchFlags,
	certifyBads []CertifyBadInputSpec,
) (*IngestCertifyBadPkgsResponse, error)

func (*IngestCertifyBadPkgsResponse) GetIngestCertifyBads added in v0.5.0

func (v *IngestCertifyBadPkgsResponse) GetIngestCertifyBads() []string

GetIngestCertifyBads returns IngestCertifyBadPkgsResponse.IngestCertifyBads, and is useful for accessing the field via an interface.

type IngestCertifyBadSrcResponse added in v0.5.0

type IngestCertifyBadSrcResponse struct {
	// Adds a certification that a package, source or artifact is considered bad. The returned ID can be empty string.
	IngestCertifyBad string `json:"ingestCertifyBad"`
}

IngestCertifyBadSrcResponse is returned by IngestCertifyBadSrc on success.

func IngestCertifyBadSrc added in v0.5.0

func IngestCertifyBadSrc(
	ctx_ context.Context,
	client_ graphql.Client,
	source IDorSourceInput,
	certifyBad CertifyBadInputSpec,
) (*IngestCertifyBadSrcResponse, error)

func (*IngestCertifyBadSrcResponse) GetIngestCertifyBad added in v0.5.0

func (v *IngestCertifyBadSrcResponse) GetIngestCertifyBad() string

GetIngestCertifyBad returns IngestCertifyBadSrcResponse.IngestCertifyBad, and is useful for accessing the field via an interface.

type IngestCertifyBadSrcsResponse added in v0.5.0

type IngestCertifyBadSrcsResponse struct {
	// Adds bulk certifications that a package, source or artifact is considered bad. The returned array of IDs can be a an array of empty string.
	IngestCertifyBads []string `json:"ingestCertifyBads"`
}

IngestCertifyBadSrcsResponse is returned by IngestCertifyBadSrcs on success.

func IngestCertifyBadSrcs added in v0.5.0

func IngestCertifyBadSrcs(
	ctx_ context.Context,
	client_ graphql.Client,
	sources []IDorSourceInput,
	certifyBads []CertifyBadInputSpec,
) (*IngestCertifyBadSrcsResponse, error)

func (*IngestCertifyBadSrcsResponse) GetIngestCertifyBads added in v0.5.0

func (v *IngestCertifyBadSrcsResponse) GetIngestCertifyBads() []string

GetIngestCertifyBads returns IngestCertifyBadSrcsResponse.IngestCertifyBads, and is useful for accessing the field via an interface.

type IngestCertifyGoodArtifactResponse added in v0.5.0

type IngestCertifyGoodArtifactResponse struct {
	// Adds a certification that a package, source or artifact is considered good. The returned ID can be empty string.
	IngestCertifyGood string `json:"ingestCertifyGood"`
}

IngestCertifyGoodArtifactResponse is returned by IngestCertifyGoodArtifact on success.

func IngestCertifyGoodArtifact added in v0.5.0

func IngestCertifyGoodArtifact(
	ctx_ context.Context,
	client_ graphql.Client,
	artifact IDorArtifactInput,
	certifyGood CertifyGoodInputSpec,
) (*IngestCertifyGoodArtifactResponse, error)

func (*IngestCertifyGoodArtifactResponse) GetIngestCertifyGood added in v0.5.0

func (v *IngestCertifyGoodArtifactResponse) GetIngestCertifyGood() string

GetIngestCertifyGood returns IngestCertifyGoodArtifactResponse.IngestCertifyGood, and is useful for accessing the field via an interface.

type IngestCertifyGoodArtifactsResponse added in v0.5.0

type IngestCertifyGoodArtifactsResponse struct {
	// Adds bulk certifications that a package, source or artifact is considered good. The returned array of IDs can be a an array of empty string.
	IngestCertifyGoods []string `json:"ingestCertifyGoods"`
}

IngestCertifyGoodArtifactsResponse is returned by IngestCertifyGoodArtifacts on success.

func IngestCertifyGoodArtifacts added in v0.5.0

func IngestCertifyGoodArtifacts(
	ctx_ context.Context,
	client_ graphql.Client,
	artifacts []IDorArtifactInput,
	certifyGoods []CertifyGoodInputSpec,
) (*IngestCertifyGoodArtifactsResponse, error)

func (*IngestCertifyGoodArtifactsResponse) GetIngestCertifyGoods added in v0.5.0

func (v *IngestCertifyGoodArtifactsResponse) GetIngestCertifyGoods() []string

GetIngestCertifyGoods returns IngestCertifyGoodArtifactsResponse.IngestCertifyGoods, and is useful for accessing the field via an interface.

type IngestCertifyGoodPkgResponse added in v0.5.0

type IngestCertifyGoodPkgResponse struct {
	// Adds a certification that a package, source or artifact is considered good. The returned ID can be empty string.
	IngestCertifyGood string `json:"ingestCertifyGood"`
}

IngestCertifyGoodPkgResponse is returned by IngestCertifyGoodPkg on success.

func IngestCertifyGoodPkg added in v0.5.0

func IngestCertifyGoodPkg(
	ctx_ context.Context,
	client_ graphql.Client,
	pkg IDorPkgInput,
	pkgMatchType MatchFlags,
	certifyGood CertifyGoodInputSpec,
) (*IngestCertifyGoodPkgResponse, error)

func (*IngestCertifyGoodPkgResponse) GetIngestCertifyGood added in v0.5.0

func (v *IngestCertifyGoodPkgResponse) GetIngestCertifyGood() string

GetIngestCertifyGood returns IngestCertifyGoodPkgResponse.IngestCertifyGood, and is useful for accessing the field via an interface.

type IngestCertifyGoodPkgsResponse added in v0.5.0

type IngestCertifyGoodPkgsResponse struct {
	// Adds bulk certifications that a package, source or artifact is considered good. The returned array of IDs can be a an array of empty string.
	IngestCertifyGoods []string `json:"ingestCertifyGoods"`
}

IngestCertifyGoodPkgsResponse is returned by IngestCertifyGoodPkgs on success.

func IngestCertifyGoodPkgs added in v0.5.0

func IngestCertifyGoodPkgs(
	ctx_ context.Context,
	client_ graphql.Client,
	pkgs []IDorPkgInput,
	pkgMatchType MatchFlags,
	certifyGoods []CertifyGoodInputSpec,
) (*IngestCertifyGoodPkgsResponse, error)

func (*IngestCertifyGoodPkgsResponse) GetIngestCertifyGoods added in v0.5.0

func (v *IngestCertifyGoodPkgsResponse) GetIngestCertifyGoods() []string

GetIngestCertifyGoods returns IngestCertifyGoodPkgsResponse.IngestCertifyGoods, and is useful for accessing the field via an interface.

type IngestCertifyGoodSrcResponse added in v0.5.0

type IngestCertifyGoodSrcResponse struct {
	// Adds a certification that a package, source or artifact is considered good. The returned ID can be empty string.
	IngestCertifyGood string `json:"ingestCertifyGood"`
}

IngestCertifyGoodSrcResponse is returned by IngestCertifyGoodSrc on success.

func IngestCertifyGoodSrc added in v0.5.0

func IngestCertifyGoodSrc(
	ctx_ context.Context,
	client_ graphql.Client,
	source IDorSourceInput,
	certifyGood CertifyGoodInputSpec,
) (*IngestCertifyGoodSrcResponse, error)

func (*IngestCertifyGoodSrcResponse) GetIngestCertifyGood added in v0.5.0

func (v *IngestCertifyGoodSrcResponse) GetIngestCertifyGood() string

GetIngestCertifyGood returns IngestCertifyGoodSrcResponse.IngestCertifyGood, and is useful for accessing the field via an interface.

type IngestCertifyGoodSrcsResponse added in v0.5.0

type IngestCertifyGoodSrcsResponse struct {
	// Adds bulk certifications that a package, source or artifact is considered good. The returned array of IDs can be a an array of empty string.
	IngestCertifyGoods []string `json:"ingestCertifyGoods"`
}

IngestCertifyGoodSrcsResponse is returned by IngestCertifyGoodSrcs on success.

func IngestCertifyGoodSrcs added in v0.5.0

func IngestCertifyGoodSrcs(
	ctx_ context.Context,
	client_ graphql.Client,
	sources []IDorSourceInput,
	certifyGoods []CertifyGoodInputSpec,
) (*IngestCertifyGoodSrcsResponse, error)

func (*IngestCertifyGoodSrcsResponse) GetIngestCertifyGoods added in v0.5.0

func (v *IngestCertifyGoodSrcsResponse) GetIngestCertifyGoods() []string

GetIngestCertifyGoods returns IngestCertifyGoodSrcsResponse.IngestCertifyGoods, and is useful for accessing the field via an interface.

type IngestCertifyLegalPkgResponse added in v0.5.0

type IngestCertifyLegalPkgResponse struct {
	// Adds a legal certification to a package or source.
	IngestCertifyLegal string `json:"ingestCertifyLegal"`
}

IngestCertifyLegalPkgResponse is returned by IngestCertifyLegalPkg on success.

func IngestCertifyLegalPkg added in v0.5.0

func IngestCertifyLegalPkg(
	ctx_ context.Context,
	client_ graphql.Client,
	pkg IDorPkgInput,
	declaredLicenses []IDorLicenseInput,
	discoveredLicenses []IDorLicenseInput,
	legal CertifyLegalInputSpec,
) (*IngestCertifyLegalPkgResponse, error)

func (*IngestCertifyLegalPkgResponse) GetIngestCertifyLegal added in v0.5.0

func (v *IngestCertifyLegalPkgResponse) GetIngestCertifyLegal() string

GetIngestCertifyLegal returns IngestCertifyLegalPkgResponse.IngestCertifyLegal, and is useful for accessing the field via an interface.

type IngestCertifyLegalPkgsResponse added in v0.5.0

type IngestCertifyLegalPkgsResponse struct {
	// Bulk add legal certifications to packages or sources, not both at same time.
	IngestCertifyLegals []string `json:"ingestCertifyLegals"`
}

IngestCertifyLegalPkgsResponse is returned by IngestCertifyLegalPkgs on success.

func IngestCertifyLegalPkgs added in v0.5.0

func IngestCertifyLegalPkgs(
	ctx_ context.Context,
	client_ graphql.Client,
	pkgs []IDorPkgInput,
	declaredLicensesList [][]IDorLicenseInput,
	discoveredLicensesList [][]IDorLicenseInput,
	legals []CertifyLegalInputSpec,
) (*IngestCertifyLegalPkgsResponse, error)

func (*IngestCertifyLegalPkgsResponse) GetIngestCertifyLegals added in v0.5.0

func (v *IngestCertifyLegalPkgsResponse) GetIngestCertifyLegals() []string

GetIngestCertifyLegals returns IngestCertifyLegalPkgsResponse.IngestCertifyLegals, and is useful for accessing the field via an interface.

type IngestCertifyLegalSrcResponse added in v0.5.0

type IngestCertifyLegalSrcResponse struct {
	// Adds a legal certification to a package or source.
	IngestCertifyLegal string `json:"ingestCertifyLegal"`
}

IngestCertifyLegalSrcResponse is returned by IngestCertifyLegalSrc on success.

func IngestCertifyLegalSrc added in v0.5.0

func IngestCertifyLegalSrc(
	ctx_ context.Context,
	client_ graphql.Client,
	src IDorSourceInput,
	declaredLicenses []IDorLicenseInput,
	discoveredLicenses []IDorLicenseInput,
	legal CertifyLegalInputSpec,
) (*IngestCertifyLegalSrcResponse, error)

func (*IngestCertifyLegalSrcResponse) GetIngestCertifyLegal added in v0.5.0

func (v *IngestCertifyLegalSrcResponse) GetIngestCertifyLegal() string

GetIngestCertifyLegal returns IngestCertifyLegalSrcResponse.IngestCertifyLegal, and is useful for accessing the field via an interface.

type IngestCertifyLegalSrcsResponse added in v0.5.0

type IngestCertifyLegalSrcsResponse struct {
	// Bulk add legal certifications to packages or sources, not both at same time.
	IngestCertifyLegals []string `json:"ingestCertifyLegals"`
}

IngestCertifyLegalSrcsResponse is returned by IngestCertifyLegalSrcs on success.

func IngestCertifyLegalSrcs added in v0.5.0

func IngestCertifyLegalSrcs(
	ctx_ context.Context,
	client_ graphql.Client,
	srcs []IDorSourceInput,
	declaredLicensesList [][]IDorLicenseInput,
	discoveredLicensesList [][]IDorLicenseInput,
	legals []CertifyLegalInputSpec,
) (*IngestCertifyLegalSrcsResponse, error)

func (*IngestCertifyLegalSrcsResponse) GetIngestCertifyLegals added in v0.5.0

func (v *IngestCertifyLegalSrcsResponse) GetIngestCertifyLegals() []string

GetIngestCertifyLegals returns IngestCertifyLegalSrcsResponse.IngestCertifyLegals, and is useful for accessing the field via an interface.

type IngestCertifyScorecardResponse added in v0.5.0

type IngestCertifyScorecardResponse struct {
	// Adds a certification that a source repository has a Scorecard. The returned ID can be empty string.
	IngestScorecard string `json:"ingestScorecard"`
}

IngestCertifyScorecardResponse is returned by IngestCertifyScorecard on success.

func IngestCertifyScorecard added in v0.5.0

func IngestCertifyScorecard(
	ctx_ context.Context,
	client_ graphql.Client,
	source IDorSourceInput,
	scorecard ScorecardInputSpec,
) (*IngestCertifyScorecardResponse, error)

func (*IngestCertifyScorecardResponse) GetIngestScorecard added in v0.5.0

func (v *IngestCertifyScorecardResponse) GetIngestScorecard() string

GetIngestScorecard returns IngestCertifyScorecardResponse.IngestScorecard, and is useful for accessing the field via an interface.

type IngestCertifyScorecardsResponse added in v0.5.0

type IngestCertifyScorecardsResponse struct {
	// Adds bulk certifications that a source repository has a Scorecard. The returned array of IDs can be a an array of empty string.
	IngestScorecards []string `json:"ingestScorecards"`
}

IngestCertifyScorecardsResponse is returned by IngestCertifyScorecards on success.

func IngestCertifyScorecards added in v0.5.0

func IngestCertifyScorecards(
	ctx_ context.Context,
	client_ graphql.Client,
	sources []IDorSourceInput,
	scorecards []ScorecardInputSpec,
) (*IngestCertifyScorecardsResponse, error)

func (*IngestCertifyScorecardsResponse) GetIngestScorecards added in v0.5.0

func (v *IngestCertifyScorecardsResponse) GetIngestScorecards() []string

GetIngestScorecards returns IngestCertifyScorecardsResponse.IngestScorecards, and is useful for accessing the field via an interface.

type IngestCertifyVexArtifactResponse added in v0.5.0

type IngestCertifyVexArtifactResponse struct {
	// Adds a VEX certification for a package. The returned ID can be empty string.
	IngestVEXStatement string `json:"ingestVEXStatement"`
}

IngestCertifyVexArtifactResponse is returned by IngestCertifyVexArtifact on success.

func IngestCertifyVexArtifact added in v0.5.0

func IngestCertifyVexArtifact(
	ctx_ context.Context,
	client_ graphql.Client,
	artifact IDorArtifactInput,
	vulnerability IDorVulnerabilityInput,
	vexStatement VexStatementInputSpec,
) (*IngestCertifyVexArtifactResponse, error)

func (*IngestCertifyVexArtifactResponse) GetIngestVEXStatement added in v0.5.0

func (v *IngestCertifyVexArtifactResponse) GetIngestVEXStatement() string

GetIngestVEXStatement returns IngestCertifyVexArtifactResponse.IngestVEXStatement, and is useful for accessing the field via an interface.

type IngestCertifyVexArtifactsResponse added in v0.5.0

type IngestCertifyVexArtifactsResponse struct {
	// Bulk add VEX certifications for a package and vulnerability. The returned array of IDs can be a an array of empty string.
	IngestVEXStatements []string `json:"ingestVEXStatements"`
}

IngestCertifyVexArtifactsResponse is returned by IngestCertifyVexArtifacts on success.

func IngestCertifyVexArtifacts added in v0.5.0

func IngestCertifyVexArtifacts(
	ctx_ context.Context,
	client_ graphql.Client,
	artifacts []IDorArtifactInput,
	vulnerabilities []IDorVulnerabilityInput,
	vexStatements []VexStatementInputSpec,
) (*IngestCertifyVexArtifactsResponse, error)

func (*IngestCertifyVexArtifactsResponse) GetIngestVEXStatements added in v0.5.0

func (v *IngestCertifyVexArtifactsResponse) GetIngestVEXStatements() []string

GetIngestVEXStatements returns IngestCertifyVexArtifactsResponse.IngestVEXStatements, and is useful for accessing the field via an interface.

type IngestCertifyVexPkgResponse added in v0.5.0

type IngestCertifyVexPkgResponse struct {
	// Adds a VEX certification for a package. The returned ID can be empty string.
	IngestVEXStatement string `json:"ingestVEXStatement"`
}

IngestCertifyVexPkgResponse is returned by IngestCertifyVexPkg on success.

func IngestCertifyVexPkg added in v0.5.0

func IngestCertifyVexPkg(
	ctx_ context.Context,
	client_ graphql.Client,
	pkg IDorPkgInput,
	vulnerability IDorVulnerabilityInput,
	vexStatement VexStatementInputSpec,
) (*IngestCertifyVexPkgResponse, error)

func (*IngestCertifyVexPkgResponse) GetIngestVEXStatement added in v0.5.0

func (v *IngestCertifyVexPkgResponse) GetIngestVEXStatement() string

GetIngestVEXStatement returns IngestCertifyVexPkgResponse.IngestVEXStatement, and is useful for accessing the field via an interface.

type IngestCertifyVexPkgsResponse added in v0.5.0

type IngestCertifyVexPkgsResponse struct {
	// Bulk add VEX certifications for a package and vulnerability. The returned array of IDs can be a an array of empty string.
	IngestVEXStatements []string `json:"ingestVEXStatements"`
}

IngestCertifyVexPkgsResponse is returned by IngestCertifyVexPkgs on success.

func IngestCertifyVexPkgs added in v0.5.0

func IngestCertifyVexPkgs(
	ctx_ context.Context,
	client_ graphql.Client,
	pkgs []IDorPkgInput,
	vulnerabilities []IDorVulnerabilityInput,
	vexStatements []VexStatementInputSpec,
) (*IngestCertifyVexPkgsResponse, error)

func (*IngestCertifyVexPkgsResponse) GetIngestVEXStatements added in v0.5.0

func (v *IngestCertifyVexPkgsResponse) GetIngestVEXStatements() []string

GetIngestVEXStatements returns IngestCertifyVexPkgsResponse.IngestVEXStatements, and is useful for accessing the field via an interface.

type IngestCertifyVulnPkgResponse added in v0.5.0

type IngestCertifyVulnPkgResponse struct {
	// Adds a certification that a package has been scanned for vulnerabilities. The returned ID can be empty string.
	IngestCertifyVuln string `json:"ingestCertifyVuln"`
}

IngestCertifyVulnPkgResponse is returned by IngestCertifyVulnPkg on success.

func IngestCertifyVulnPkg added in v0.5.0

func IngestCertifyVulnPkg(
	ctx_ context.Context,
	client_ graphql.Client,
	pkg IDorPkgInput,
	vulnerability IDorVulnerabilityInput,
	certifyVuln ScanMetadataInput,
) (*IngestCertifyVulnPkgResponse, error)

func (*IngestCertifyVulnPkgResponse) GetIngestCertifyVuln added in v0.5.0

func (v *IngestCertifyVulnPkgResponse) GetIngestCertifyVuln() string

GetIngestCertifyVuln returns IngestCertifyVulnPkgResponse.IngestCertifyVuln, and is useful for accessing the field via an interface.

type IngestCertifyVulnPkgsResponse added in v0.5.0

type IngestCertifyVulnPkgsResponse struct {
	// Bulk add certifications that a package has been scanned for vulnerabilities. The returned array of IDs can be a an array of empty string.
	IngestCertifyVulns []string `json:"ingestCertifyVulns"`
}

IngestCertifyVulnPkgsResponse is returned by IngestCertifyVulnPkgs on success.

func IngestCertifyVulnPkgs added in v0.5.0

func IngestCertifyVulnPkgs(
	ctx_ context.Context,
	client_ graphql.Client,
	pkgs []IDorPkgInput,
	vulnerabilities []IDorVulnerabilityInput,
	certifyVulns []ScanMetadataInput,
) (*IngestCertifyVulnPkgsResponse, error)

func (*IngestCertifyVulnPkgsResponse) GetIngestCertifyVulns added in v0.5.0

func (v *IngestCertifyVulnPkgsResponse) GetIngestCertifyVulns() []string

GetIngestCertifyVulns returns IngestCertifyVulnPkgsResponse.IngestCertifyVulns, and is useful for accessing the field via an interface.

type IngestHasMetadataArtifactResponse added in v0.5.0

type IngestHasMetadataArtifactResponse struct {
	// Adds metadata about a package, source or artifact. The returned ID can be empty string.
	IngestHasMetadata string `json:"ingestHasMetadata"`
}

IngestHasMetadataArtifactResponse is returned by IngestHasMetadataArtifact on success.

func IngestHasMetadataArtifact added in v0.5.0

func IngestHasMetadataArtifact(
	ctx_ context.Context,
	client_ graphql.Client,
	artifact IDorArtifactInput,
	hasMetadata HasMetadataInputSpec,
) (*IngestHasMetadataArtifactResponse, error)

func (*IngestHasMetadataArtifactResponse) GetIngestHasMetadata added in v0.5.0

func (v *IngestHasMetadataArtifactResponse) GetIngestHasMetadata() string

GetIngestHasMetadata returns IngestHasMetadataArtifactResponse.IngestHasMetadata, and is useful for accessing the field via an interface.

type IngestHasMetadataArtifactsResponse added in v0.5.0

type IngestHasMetadataArtifactsResponse struct {
	// Adds bulk metadata about a package, source or artifact. The returned array of IDs can be a an array of empty string.
	IngestBulkHasMetadata []string `json:"ingestBulkHasMetadata"`
}

IngestHasMetadataArtifactsResponse is returned by IngestHasMetadataArtifacts on success.

func IngestHasMetadataArtifacts added in v0.5.0

func IngestHasMetadataArtifacts(
	ctx_ context.Context,
	client_ graphql.Client,
	artifacts []IDorArtifactInput,
	hasMetadataList []HasMetadataInputSpec,
) (*IngestHasMetadataArtifactsResponse, error)

func (*IngestHasMetadataArtifactsResponse) GetIngestBulkHasMetadata added in v0.5.0

func (v *IngestHasMetadataArtifactsResponse) GetIngestBulkHasMetadata() []string

GetIngestBulkHasMetadata returns IngestHasMetadataArtifactsResponse.IngestBulkHasMetadata, and is useful for accessing the field via an interface.

type IngestHasMetadataPkgResponse added in v0.5.0

type IngestHasMetadataPkgResponse struct {
	// Adds metadata about a package, source or artifact. The returned ID can be empty string.
	IngestHasMetadata string `json:"ingestHasMetadata"`
}

IngestHasMetadataPkgResponse is returned by IngestHasMetadataPkg on success.

func IngestHasMetadataPkg added in v0.5.0

func IngestHasMetadataPkg(
	ctx_ context.Context,
	client_ graphql.Client,
	pkg IDorPkgInput,
	pkgMatchType MatchFlags,
	hasMetadata HasMetadataInputSpec,
) (*IngestHasMetadataPkgResponse, error)

func (*IngestHasMetadataPkgResponse) GetIngestHasMetadata added in v0.5.0

func (v *IngestHasMetadataPkgResponse) GetIngestHasMetadata() string

GetIngestHasMetadata returns IngestHasMetadataPkgResponse.IngestHasMetadata, and is useful for accessing the field via an interface.

type IngestHasMetadataPkgsResponse added in v0.5.0

type IngestHasMetadataPkgsResponse struct {
	// Adds bulk metadata about a package, source or artifact. The returned array of IDs can be a an array of empty string.
	IngestBulkHasMetadata []string `json:"ingestBulkHasMetadata"`
}

IngestHasMetadataPkgsResponse is returned by IngestHasMetadataPkgs on success.

func IngestHasMetadataPkgs added in v0.5.0

func IngestHasMetadataPkgs(
	ctx_ context.Context,
	client_ graphql.Client,
	pkgs []IDorPkgInput,
	pkgMatchType MatchFlags,
	hasMetadataList []HasMetadataInputSpec,
) (*IngestHasMetadataPkgsResponse, error)

func (*IngestHasMetadataPkgsResponse) GetIngestBulkHasMetadata added in v0.5.0

func (v *IngestHasMetadataPkgsResponse) GetIngestBulkHasMetadata() []string

GetIngestBulkHasMetadata returns IngestHasMetadataPkgsResponse.IngestBulkHasMetadata, and is useful for accessing the field via an interface.

type IngestHasMetadataSrcResponse added in v0.5.0

type IngestHasMetadataSrcResponse struct {
	// Adds metadata about a package, source or artifact. The returned ID can be empty string.
	IngestHasMetadata string `json:"ingestHasMetadata"`
}

IngestHasMetadataSrcResponse is returned by IngestHasMetadataSrc on success.

func IngestHasMetadataSrc added in v0.5.0

func IngestHasMetadataSrc(
	ctx_ context.Context,
	client_ graphql.Client,
	source IDorSourceInput,
	hasMetadata HasMetadataInputSpec,
) (*IngestHasMetadataSrcResponse, error)

func (*IngestHasMetadataSrcResponse) GetIngestHasMetadata added in v0.5.0

func (v *IngestHasMetadataSrcResponse) GetIngestHasMetadata() string

GetIngestHasMetadata returns IngestHasMetadataSrcResponse.IngestHasMetadata, and is useful for accessing the field via an interface.

type IngestHasMetadataSrcsResponse added in v0.5.0

type IngestHasMetadataSrcsResponse struct {
	// Adds bulk metadata about a package, source or artifact. The returned array of IDs can be a an array of empty string.
	IngestBulkHasMetadata []string `json:"ingestBulkHasMetadata"`
}

IngestHasMetadataSrcsResponse is returned by IngestHasMetadataSrcs on success.

func IngestHasMetadataSrcs added in v0.5.0

func IngestHasMetadataSrcs(
	ctx_ context.Context,
	client_ graphql.Client,
	sources []IDorSourceInput,
	hasMetadataList []HasMetadataInputSpec,
) (*IngestHasMetadataSrcsResponse, error)

func (*IngestHasMetadataSrcsResponse) GetIngestBulkHasMetadata added in v0.5.0

func (v *IngestHasMetadataSrcsResponse) GetIngestBulkHasMetadata() []string

GetIngestBulkHasMetadata returns IngestHasMetadataSrcsResponse.IngestBulkHasMetadata, and is useful for accessing the field via an interface.

type IngestHasSBOMArtifactResponse added in v0.5.0

type IngestHasSBOMArtifactResponse struct {
	// Certifies that a package or artifact has an SBOM. The returned ID can be empty string.
	IngestHasSBOM string `json:"ingestHasSBOM"`
}

IngestHasSBOMArtifactResponse is returned by IngestHasSBOMArtifact on success.

func IngestHasSBOMArtifact added in v0.5.0

func IngestHasSBOMArtifact(
	ctx_ context.Context,
	client_ graphql.Client,
	artifact IDorArtifactInput,
	hasSBOM HasSBOMInputSpec,
	includes HasSBOMIncludesInputSpec,
) (*IngestHasSBOMArtifactResponse, error)

func (*IngestHasSBOMArtifactResponse) GetIngestHasSBOM added in v0.5.0

func (v *IngestHasSBOMArtifactResponse) GetIngestHasSBOM() string

GetIngestHasSBOM returns IngestHasSBOMArtifactResponse.IngestHasSBOM, and is useful for accessing the field via an interface.

type IngestHasSBOMArtifactsResponse added in v0.5.0

type IngestHasSBOMArtifactsResponse struct {
	// Bulk ingest that package or artifact has an SBOM. The returned array of IDs can be a an array of empty string.
	IngestHasSBOMs []string `json:"ingestHasSBOMs"`
}

IngestHasSBOMArtifactsResponse is returned by IngestHasSBOMArtifacts on success.

func IngestHasSBOMArtifacts added in v0.5.0

func IngestHasSBOMArtifacts(
	ctx_ context.Context,
	client_ graphql.Client,
	artifacts []IDorArtifactInput,
	hasSBOMs []HasSBOMInputSpec,
	includes []HasSBOMIncludesInputSpec,
) (*IngestHasSBOMArtifactsResponse, error)

func (*IngestHasSBOMArtifactsResponse) GetIngestHasSBOMs added in v0.5.0

func (v *IngestHasSBOMArtifactsResponse) GetIngestHasSBOMs() []string

GetIngestHasSBOMs returns IngestHasSBOMArtifactsResponse.IngestHasSBOMs, and is useful for accessing the field via an interface.

type IngestHasSBOMPkgResponse added in v0.5.0

type IngestHasSBOMPkgResponse struct {
	// Certifies that a package or artifact has an SBOM. The returned ID can be empty string.
	IngestHasSBOM string `json:"ingestHasSBOM"`
}

IngestHasSBOMPkgResponse is returned by IngestHasSBOMPkg on success.

func IngestHasSBOMPkg added in v0.5.0

func IngestHasSBOMPkg(
	ctx_ context.Context,
	client_ graphql.Client,
	pkg IDorPkgInput,
	hasSBOM HasSBOMInputSpec,
	includes HasSBOMIncludesInputSpec,
) (*IngestHasSBOMPkgResponse, error)

func (*IngestHasSBOMPkgResponse) GetIngestHasSBOM added in v0.5.0

func (v *IngestHasSBOMPkgResponse) GetIngestHasSBOM() string

GetIngestHasSBOM returns IngestHasSBOMPkgResponse.IngestHasSBOM, and is useful for accessing the field via an interface.

type IngestHasSBOMPkgsResponse added in v0.5.0

type IngestHasSBOMPkgsResponse struct {
	// Bulk ingest that package or artifact has an SBOM. The returned array of IDs can be a an array of empty string.
	IngestHasSBOMs []string `json:"ingestHasSBOMs"`
}

IngestHasSBOMPkgsResponse is returned by IngestHasSBOMPkgs on success.

func IngestHasSBOMPkgs added in v0.5.0

func IngestHasSBOMPkgs(
	ctx_ context.Context,
	client_ graphql.Client,
	pkgs []IDorPkgInput,
	hasSBOMs []HasSBOMInputSpec,
	includes []HasSBOMIncludesInputSpec,
) (*IngestHasSBOMPkgsResponse, error)

func (*IngestHasSBOMPkgsResponse) GetIngestHasSBOMs added in v0.5.0

func (v *IngestHasSBOMPkgsResponse) GetIngestHasSBOMs() []string

GetIngestHasSBOMs returns IngestHasSBOMPkgsResponse.IngestHasSBOMs, and is useful for accessing the field via an interface.

type IngestHasSourceAtResponse added in v0.2.0

type IngestHasSourceAtResponse struct {
	// Adds a certification that a package (PackageName or PackageVersion) is built from the source. The returned ID can be empty string.
	IngestHasSourceAt string `json:"ingestHasSourceAt"`
}

IngestHasSourceAtResponse is returned by IngestHasSourceAt on success.

func IngestHasSourceAt added in v0.2.0

func IngestHasSourceAt(
	ctx_ context.Context,
	client_ graphql.Client,
	pkg IDorPkgInput,
	pkgMatchType MatchFlags,
	source IDorSourceInput,
	hasSourceAt HasSourceAtInputSpec,
) (*IngestHasSourceAtResponse, error)

func (*IngestHasSourceAtResponse) GetIngestHasSourceAt added in v0.2.0

func (v *IngestHasSourceAtResponse) GetIngestHasSourceAt() string

GetIngestHasSourceAt returns IngestHasSourceAtResponse.IngestHasSourceAt, and is useful for accessing the field via an interface.

type IngestHasSourcesAtResponse added in v0.5.0

type IngestHasSourcesAtResponse struct {
	// Bulk ingestion of certifications that a package (PackageName or PackageVersion) is built from the source. The returned array of IDs can be a an array of empty string.
	IngestHasSourceAts []string `json:"ingestHasSourceAts"`
}

IngestHasSourcesAtResponse is returned by IngestHasSourcesAt on success.

func IngestHasSourcesAt added in v0.5.0

func IngestHasSourcesAt(
	ctx_ context.Context,
	client_ graphql.Client,
	pkgs []IDorPkgInput,
	pkgMatchType MatchFlags,
	sources []IDorSourceInput,
	hasSourceAts []HasSourceAtInputSpec,
) (*IngestHasSourcesAtResponse, error)

func (*IngestHasSourcesAtResponse) GetIngestHasSourceAts added in v0.5.0

func (v *IngestHasSourcesAtResponse) GetIngestHasSourceAts() []string

GetIngestHasSourceAts returns IngestHasSourcesAtResponse.IngestHasSourceAts, and is useful for accessing the field via an interface.

type IngestHashEqualResponse added in v0.2.0

type IngestHashEqualResponse struct {
	// Adds a certification that two artifacts are equal. The returned ID can be empty string.
	IngestHashEqual string `json:"ingestHashEqual"`
}

IngestHashEqualResponse is returned by IngestHashEqual on success.

func IngestHashEqual added in v0.2.0

func IngestHashEqual(
	ctx_ context.Context,
	client_ graphql.Client,
	artifact IDorArtifactInput,
	otherArtifact IDorArtifactInput,
	hashEqual HashEqualInputSpec,
) (*IngestHashEqualResponse, error)

func (*IngestHashEqualResponse) GetIngestHashEqual added in v0.2.0

func (v *IngestHashEqualResponse) GetIngestHashEqual() string

GetIngestHashEqual returns IngestHashEqualResponse.IngestHashEqual, and is useful for accessing the field via an interface.

type IngestHashEqualsResponse added in v0.2.0

type IngestHashEqualsResponse struct {
	// Bulk ingest certifications that two artifacts are equal. The returned array of IDs can be a an array of empty string.
	IngestHashEquals []string `json:"ingestHashEquals"`
}

IngestHashEqualsResponse is returned by IngestHashEquals on success.

func IngestHashEquals added in v0.2.0

func IngestHashEquals(
	ctx_ context.Context,
	client_ graphql.Client,
	artifacts []IDorArtifactInput,
	otherArtifacts []IDorArtifactInput,
	hashEquals []HashEqualInputSpec,
) (*IngestHashEqualsResponse, error)

func (*IngestHashEqualsResponse) GetIngestHashEquals added in v0.2.0

func (v *IngestHashEqualsResponse) GetIngestHashEquals() []string

GetIngestHashEquals returns IngestHashEqualsResponse.IngestHashEquals, and is useful for accessing the field via an interface.

type IngestIsDependenciesResponse added in v0.5.0

type IngestIsDependenciesResponse struct {
	// Bulk adds a dependency between two packages. The returned array of IDs cannot be an empty string as its used by hasSBOM.
	IngestDependencies []string `json:"ingestDependencies"`
}

IngestIsDependenciesResponse is returned by IngestIsDependencies on success.

func IngestIsDependencies added in v0.5.0

func IngestIsDependencies(
	ctx_ context.Context,
	client_ graphql.Client,
	pkgs []IDorPkgInput,
	depPkgs []IDorPkgInput,
	depPkgMatchType MatchFlags,
	dependencies []IsDependencyInputSpec,
) (*IngestIsDependenciesResponse, error)

func (*IngestIsDependenciesResponse) GetIngestDependencies added in v0.5.0

func (v *IngestIsDependenciesResponse) GetIngestDependencies() []string

GetIngestDependencies returns IngestIsDependenciesResponse.IngestDependencies, and is useful for accessing the field via an interface.

type IngestIsDependencyResponse added in v0.5.0

type IngestIsDependencyResponse struct {
	// Adds a dependency between two packages. The returned ID cannot be empty string as its used by hasSBOM.
	IngestDependency string `json:"ingestDependency"`
}

IngestIsDependencyResponse is returned by IngestIsDependency on success.

func IngestIsDependency added in v0.5.0

func IngestIsDependency(
	ctx_ context.Context,
	client_ graphql.Client,
	pkg IDorPkgInput,
	depPkg IDorPkgInput,
	depPkgMatchType MatchFlags,
	dependency IsDependencyInputSpec,
) (*IngestIsDependencyResponse, error)

func (*IngestIsDependencyResponse) GetIngestDependency added in v0.5.0

func (v *IngestIsDependencyResponse) GetIngestDependency() string

GetIngestDependency returns IngestIsDependencyResponse.IngestDependency, and is useful for accessing the field via an interface.

type IngestIsOccurrencePkgResponse added in v0.5.0

type IngestIsOccurrencePkgResponse struct {
	// Ingest that an artifact is produced from a package or source. The returned ID cannot be empty string as its used by hasSBOM.
	IngestOccurrence string `json:"ingestOccurrence"`
}

IngestIsOccurrencePkgResponse is returned by IngestIsOccurrencePkg on success.

func IngestIsOccurrencePkg added in v0.5.0

func IngestIsOccurrencePkg(
	ctx_ context.Context,
	client_ graphql.Client,
	pkg IDorPkgInput,
	artifact IDorArtifactInput,
	occurrence IsOccurrenceInputSpec,
) (*IngestIsOccurrencePkgResponse, error)

func (*IngestIsOccurrencePkgResponse) GetIngestOccurrence added in v0.5.0

func (v *IngestIsOccurrencePkgResponse) GetIngestOccurrence() string

GetIngestOccurrence returns IngestIsOccurrencePkgResponse.IngestOccurrence, and is useful for accessing the field via an interface.

type IngestIsOccurrenceSrcResponse added in v0.5.0

type IngestIsOccurrenceSrcResponse struct {
	// Ingest that an artifact is produced from a package or source. The returned ID cannot be empty string as its used by hasSBOM.
	IngestOccurrence string `json:"ingestOccurrence"`
}

IngestIsOccurrenceSrcResponse is returned by IngestIsOccurrenceSrc on success.

func IngestIsOccurrenceSrc added in v0.5.0

func IngestIsOccurrenceSrc(
	ctx_ context.Context,
	client_ graphql.Client,
	source IDorSourceInput,
	artifact IDorArtifactInput,
	occurrence IsOccurrenceInputSpec,
) (*IngestIsOccurrenceSrcResponse, error)

func (*IngestIsOccurrenceSrcResponse) GetIngestOccurrence added in v0.5.0

func (v *IngestIsOccurrenceSrcResponse) GetIngestOccurrence() string

GetIngestOccurrence returns IngestIsOccurrenceSrcResponse.IngestOccurrence, and is useful for accessing the field via an interface.

type IngestIsOccurrencesPkgResponse added in v0.5.0

type IngestIsOccurrencesPkgResponse struct {
	// Bulk ingest that an artifact is produced from a package or source. The returned array of IDs cannot be an empty string as its used by hasSBOM
	IngestOccurrences []string `json:"ingestOccurrences"`
}

IngestIsOccurrencesPkgResponse is returned by IngestIsOccurrencesPkg on success.

func IngestIsOccurrencesPkg added in v0.5.0

func IngestIsOccurrencesPkg(
	ctx_ context.Context,
	client_ graphql.Client,
	pkgs []IDorPkgInput,
	artifacts []IDorArtifactInput,
	occurrences []IsOccurrenceInputSpec,
) (*IngestIsOccurrencesPkgResponse, error)

func (*IngestIsOccurrencesPkgResponse) GetIngestOccurrences added in v0.5.0

func (v *IngestIsOccurrencesPkgResponse) GetIngestOccurrences() []string

GetIngestOccurrences returns IngestIsOccurrencesPkgResponse.IngestOccurrences, and is useful for accessing the field via an interface.

type IngestIsOccurrencesSrcResponse added in v0.5.0

type IngestIsOccurrencesSrcResponse struct {
	// Bulk ingest that an artifact is produced from a package or source. The returned array of IDs cannot be an empty string as its used by hasSBOM
	IngestOccurrences []string `json:"ingestOccurrences"`
}

IngestIsOccurrencesSrcResponse is returned by IngestIsOccurrencesSrc on success.

func IngestIsOccurrencesSrc added in v0.5.0

func IngestIsOccurrencesSrc(
	ctx_ context.Context,
	client_ graphql.Client,
	sources []IDorSourceInput,
	artifacts []IDorArtifactInput,
	occurrences []IsOccurrenceInputSpec,
) (*IngestIsOccurrencesSrcResponse, error)

func (*IngestIsOccurrencesSrcResponse) GetIngestOccurrences added in v0.5.0

func (v *IngestIsOccurrencesSrcResponse) GetIngestOccurrences() []string

GetIngestOccurrences returns IngestIsOccurrencesSrcResponse.IngestOccurrences, and is useful for accessing the field via an interface.

type IngestLicenseResponse added in v0.2.0

type IngestLicenseResponse struct {
	// Ingests a new license and returns it.
	IngestLicense string `json:"ingestLicense"`
}

IngestLicenseResponse is returned by IngestLicense on success.

func IngestLicense added in v0.2.0

func IngestLicense(
	ctx_ context.Context,
	client_ graphql.Client,
	license IDorLicenseInput,
) (*IngestLicenseResponse, error)

func (*IngestLicenseResponse) GetIngestLicense added in v0.2.0

func (v *IngestLicenseResponse) GetIngestLicense() string

GetIngestLicense returns IngestLicenseResponse.IngestLicense, and is useful for accessing the field via an interface.

type IngestLicensesResponse added in v0.2.0

type IngestLicensesResponse struct {
	// Bulk ingests new licenses and returns a list of them. The returned array of IDs must be in the same order as the inputs.
	IngestLicenses []string `json:"ingestLicenses"`
}

IngestLicensesResponse is returned by IngestLicenses on success.

func IngestLicenses added in v0.2.0

func IngestLicenses(
	ctx_ context.Context,
	client_ graphql.Client,
	licenses []IDorLicenseInput,
) (*IngestLicensesResponse, error)

func (*IngestLicensesResponse) GetIngestLicenses added in v0.2.0

func (v *IngestLicensesResponse) GetIngestLicenses() []string

GetIngestLicenses returns IngestLicensesResponse.IngestLicenses, and is useful for accessing the field via an interface.

type IngestPackageIngestPackagePackageIDs added in v0.4.0

type IngestPackageIngestPackagePackageIDs struct {
	PackageTypeID      string `json:"packageTypeID"`
	PackageNamespaceID string `json:"packageNamespaceID"`
	PackageNameID      string `json:"packageNameID"`
	PackageVersionID   string `json:"packageVersionID"`
}

IngestPackageIngestPackagePackageIDs includes the requested fields of the GraphQL type PackageIDs. The GraphQL type's documentation follows.

The IDs of the ingested package

func (*IngestPackageIngestPackagePackageIDs) GetPackageNameID added in v0.4.0

func (v *IngestPackageIngestPackagePackageIDs) GetPackageNameID() string

GetPackageNameID returns IngestPackageIngestPackagePackageIDs.PackageNameID, and is useful for accessing the field via an interface.

func (*IngestPackageIngestPackagePackageIDs) GetPackageNamespaceID added in v0.4.0

func (v *IngestPackageIngestPackagePackageIDs) GetPackageNamespaceID() string

GetPackageNamespaceID returns IngestPackageIngestPackagePackageIDs.PackageNamespaceID, and is useful for accessing the field via an interface.

func (*IngestPackageIngestPackagePackageIDs) GetPackageTypeID added in v0.4.0

func (v *IngestPackageIngestPackagePackageIDs) GetPackageTypeID() string

GetPackageTypeID returns IngestPackageIngestPackagePackageIDs.PackageTypeID, and is useful for accessing the field via an interface.

func (*IngestPackageIngestPackagePackageIDs) GetPackageVersionID added in v0.4.0

func (v *IngestPackageIngestPackagePackageIDs) GetPackageVersionID() string

GetPackageVersionID returns IngestPackageIngestPackagePackageIDs.PackageVersionID, and is useful for accessing the field via an interface.

type IngestPackageResponse added in v0.1.1

type IngestPackageResponse struct {
	// Ingests a new package and returns a corresponding package hierarchy containing only the IDs.
	IngestPackage IngestPackageIngestPackagePackageIDs `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 IDorPkgInput,
) (*IngestPackageResponse, error)

func (*IngestPackageResponse) GetIngestPackage added in v0.1.1

GetIngestPackage returns IngestPackageResponse.IngestPackage, and is useful for accessing the field via an interface.

type IngestPackagesIngestPackagesPackageIDs added in v0.4.0

type IngestPackagesIngestPackagesPackageIDs struct {
	PackageTypeID      string `json:"packageTypeID"`
	PackageNamespaceID string `json:"packageNamespaceID"`
	PackageNameID      string `json:"packageNameID"`
	PackageVersionID   string `json:"packageVersionID"`
}

IngestPackagesIngestPackagesPackageIDs includes the requested fields of the GraphQL type PackageIDs. The GraphQL type's documentation follows.

The IDs of the ingested package

func (*IngestPackagesIngestPackagesPackageIDs) GetPackageNameID added in v0.4.0

func (v *IngestPackagesIngestPackagesPackageIDs) GetPackageNameID() string

GetPackageNameID returns IngestPackagesIngestPackagesPackageIDs.PackageNameID, and is useful for accessing the field via an interface.

func (*IngestPackagesIngestPackagesPackageIDs) GetPackageNamespaceID added in v0.4.0

func (v *IngestPackagesIngestPackagesPackageIDs) GetPackageNamespaceID() string

GetPackageNamespaceID returns IngestPackagesIngestPackagesPackageIDs.PackageNamespaceID, and is useful for accessing the field via an interface.

func (*IngestPackagesIngestPackagesPackageIDs) GetPackageTypeID added in v0.4.0

func (v *IngestPackagesIngestPackagesPackageIDs) GetPackageTypeID() string

GetPackageTypeID returns IngestPackagesIngestPackagesPackageIDs.PackageTypeID, and is useful for accessing the field via an interface.

func (*IngestPackagesIngestPackagesPackageIDs) GetPackageVersionID added in v0.4.0

func (v *IngestPackagesIngestPackagesPackageIDs) GetPackageVersionID() string

GetPackageVersionID returns IngestPackagesIngestPackagesPackageIDs.PackageVersionID, and is useful for accessing the field via an interface.

type IngestPackagesResponse added in v0.1.1

type IngestPackagesResponse struct {
	// Bulk ingests packages and returns the list of corresponding package hierarchies containing only the IDs. The returned array of IDs must be in the same order as the inputs.
	IngestPackages []IngestPackagesIngestPackagesPackageIDs `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 []IDorPkgInput,
) (*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 IngestPkgEqualResponse added in v0.2.0

type IngestPkgEqualResponse struct {
	// Adds a certification that two packages are similar. The returned ID can be empty string.
	IngestPkgEqual string `json:"ingestPkgEqual"`
}

IngestPkgEqualResponse is returned by IngestPkgEqual on success.

func IngestPkgEqual added in v0.2.0

func IngestPkgEqual(
	ctx_ context.Context,
	client_ graphql.Client,
	pkg IDorPkgInput,
	otherPackage IDorPkgInput,
	pkgEqual PkgEqualInputSpec,
) (*IngestPkgEqualResponse, error)

func (*IngestPkgEqualResponse) GetIngestPkgEqual added in v0.2.0

func (v *IngestPkgEqualResponse) GetIngestPkgEqual() string

GetIngestPkgEqual returns IngestPkgEqualResponse.IngestPkgEqual, and is useful for accessing the field via an interface.

type IngestPkgEqualsResponse added in v0.2.0

type IngestPkgEqualsResponse struct {
	// Bulk ingest mapping between packages. The returned array of IDs can be a an array of empty string.
	IngestPkgEquals []string `json:"ingestPkgEquals"`
}

IngestPkgEqualsResponse is returned by IngestPkgEquals on success.

func IngestPkgEquals added in v0.2.0

func IngestPkgEquals(
	ctx_ context.Context,
	client_ graphql.Client,
	pkgs []IDorPkgInput,
	otherPackages []IDorPkgInput,
	pkgEquals []PkgEqualInputSpec,
) (*IngestPkgEqualsResponse, error)

func (*IngestPkgEqualsResponse) GetIngestPkgEquals added in v0.2.0

func (v *IngestPkgEqualsResponse) GetIngestPkgEquals() []string

GetIngestPkgEquals returns IngestPkgEqualsResponse.IngestPkgEquals, and is useful for accessing the field via an interface.

type IngestPointOfContactArtifactResponse added in v0.5.0

type IngestPointOfContactArtifactResponse struct {
	// Adds a PointOfContact attestation to a package, source or artifact. The returned ID can be empty string.
	IngestPointOfContact string `json:"ingestPointOfContact"`
}

IngestPointOfContactArtifactResponse is returned by IngestPointOfContactArtifact on success.

func IngestPointOfContactArtifact added in v0.5.0

func IngestPointOfContactArtifact(
	ctx_ context.Context,
	client_ graphql.Client,
	artifact IDorArtifactInput,
	pointOfContact PointOfContactInputSpec,
) (*IngestPointOfContactArtifactResponse, error)

func (*IngestPointOfContactArtifactResponse) GetIngestPointOfContact added in v0.5.0

func (v *IngestPointOfContactArtifactResponse) GetIngestPointOfContact() string

GetIngestPointOfContact returns IngestPointOfContactArtifactResponse.IngestPointOfContact, and is useful for accessing the field via an interface.

type IngestPointOfContactArtifactsResponse added in v0.5.0

type IngestPointOfContactArtifactsResponse struct {
	// Adds bulk PointOfContact attestations to a package, source or artifact. The returned array of IDs can be a an array of empty string.
	IngestPointOfContacts []string `json:"ingestPointOfContacts"`
}

IngestPointOfContactArtifactsResponse is returned by IngestPointOfContactArtifacts on success.

func IngestPointOfContactArtifacts added in v0.5.0

func IngestPointOfContactArtifacts(
	ctx_ context.Context,
	client_ graphql.Client,
	artifacts []IDorArtifactInput,
	pointOfContacts []PointOfContactInputSpec,
) (*IngestPointOfContactArtifactsResponse, error)

func (*IngestPointOfContactArtifactsResponse) GetIngestPointOfContacts added in v0.5.0

func (v *IngestPointOfContactArtifactsResponse) GetIngestPointOfContacts() []string

GetIngestPointOfContacts returns IngestPointOfContactArtifactsResponse.IngestPointOfContacts, and is useful for accessing the field via an interface.

type IngestPointOfContactPkgResponse added in v0.5.0

type IngestPointOfContactPkgResponse struct {
	// Adds a PointOfContact attestation to a package, source or artifact. The returned ID can be empty string.
	IngestPointOfContact string `json:"ingestPointOfContact"`
}

IngestPointOfContactPkgResponse is returned by IngestPointOfContactPkg on success.

func IngestPointOfContactPkg added in v0.5.0

func IngestPointOfContactPkg(
	ctx_ context.Context,
	client_ graphql.Client,
	pkg IDorPkgInput,
	pkgMatchType MatchFlags,
	pointOfContact PointOfContactInputSpec,
) (*IngestPointOfContactPkgResponse, error)

func (*IngestPointOfContactPkgResponse) GetIngestPointOfContact added in v0.5.0

func (v *IngestPointOfContactPkgResponse) GetIngestPointOfContact() string

GetIngestPointOfContact returns IngestPointOfContactPkgResponse.IngestPointOfContact, and is useful for accessing the field via an interface.

type IngestPointOfContactPkgsResponse added in v0.5.0

type IngestPointOfContactPkgsResponse struct {
	// Adds bulk PointOfContact attestations to a package, source or artifact. The returned array of IDs can be a an array of empty string.
	IngestPointOfContacts []string `json:"ingestPointOfContacts"`
}

IngestPointOfContactPkgsResponse is returned by IngestPointOfContactPkgs on success.

func IngestPointOfContactPkgs added in v0.5.0

func IngestPointOfContactPkgs(
	ctx_ context.Context,
	client_ graphql.Client,
	pkgs []IDorPkgInput,
	pkgMatchType MatchFlags,
	pointOfContacts []PointOfContactInputSpec,
) (*IngestPointOfContactPkgsResponse, error)

func (*IngestPointOfContactPkgsResponse) GetIngestPointOfContacts added in v0.5.0

func (v *IngestPointOfContactPkgsResponse) GetIngestPointOfContacts() []string

GetIngestPointOfContacts returns IngestPointOfContactPkgsResponse.IngestPointOfContacts, and is useful for accessing the field via an interface.

type IngestPointOfContactSrcResponse added in v0.5.0

type IngestPointOfContactSrcResponse struct {
	// Adds a PointOfContact attestation to a package, source or artifact. The returned ID can be empty string.
	IngestPointOfContact string `json:"ingestPointOfContact"`
}

IngestPointOfContactSrcResponse is returned by IngestPointOfContactSrc on success.

func IngestPointOfContactSrc added in v0.5.0

func IngestPointOfContactSrc(
	ctx_ context.Context,
	client_ graphql.Client,
	source IDorSourceInput,
	pointOfContact PointOfContactInputSpec,
) (*IngestPointOfContactSrcResponse, error)

func (*IngestPointOfContactSrcResponse) GetIngestPointOfContact added in v0.5.0

func (v *IngestPointOfContactSrcResponse) GetIngestPointOfContact() string

GetIngestPointOfContact returns IngestPointOfContactSrcResponse.IngestPointOfContact, and is useful for accessing the field via an interface.

type IngestPointOfContactSrcsResponse added in v0.5.0

type IngestPointOfContactSrcsResponse struct {
	// Adds bulk PointOfContact attestations to a package, source or artifact. The returned array of IDs can be a an array of empty string.
	IngestPointOfContacts []string `json:"ingestPointOfContacts"`
}

IngestPointOfContactSrcsResponse is returned by IngestPointOfContactSrcs on success.

func IngestPointOfContactSrcs added in v0.5.0

func IngestPointOfContactSrcs(
	ctx_ context.Context,
	client_ graphql.Client,
	sources []IDorSourceInput,
	pointOfContacts []PointOfContactInputSpec,
) (*IngestPointOfContactSrcsResponse, error)

func (*IngestPointOfContactSrcsResponse) GetIngestPointOfContacts added in v0.5.0

func (v *IngestPointOfContactSrcsResponse) GetIngestPointOfContacts() []string

GetIngestPointOfContacts returns IngestPointOfContactSrcsResponse.IngestPointOfContacts, and is useful for accessing the field via an interface.

type IngestSLSAForArtifactResponse added in v0.5.0

type IngestSLSAForArtifactResponse struct {
	// Ingests a SLSA attestation. The returned ID can be empty string.
	IngestSLSA string `json:"ingestSLSA"`
}

IngestSLSAForArtifactResponse is returned by IngestSLSAForArtifact on success.

func IngestSLSAForArtifact added in v0.5.0

func IngestSLSAForArtifact(
	ctx_ context.Context,
	client_ graphql.Client,
	artifact IDorArtifactInput,
	materials []IDorArtifactInput,
	builder IDorBuilderInput,
	slsa SLSAInputSpec,
) (*IngestSLSAForArtifactResponse, error)

func (*IngestSLSAForArtifactResponse) GetIngestSLSA added in v0.5.0

func (v *IngestSLSAForArtifactResponse) GetIngestSLSA() string

GetIngestSLSA returns IngestSLSAForArtifactResponse.IngestSLSA, and is useful for accessing the field via an interface.

type IngestSLSAForArtifactsResponse added in v0.5.0

type IngestSLSAForArtifactsResponse struct {
	// Bulk Ingest SLSA attestations. The returned array of IDs can be a an array of empty string.
	IngestSLSAs []string `json:"ingestSLSAs"`
}

IngestSLSAForArtifactsResponse is returned by IngestSLSAForArtifacts on success.

func IngestSLSAForArtifacts added in v0.5.0

func IngestSLSAForArtifacts(
	ctx_ context.Context,
	client_ graphql.Client,
	artifacts []IDorArtifactInput,
	materialsList [][]IDorArtifactInput,
	builders []IDorBuilderInput,
	slsaList []SLSAInputSpec,
) (*IngestSLSAForArtifactsResponse, error)

func (*IngestSLSAForArtifactsResponse) GetIngestSLSAs added in v0.5.0

func (v *IngestSLSAForArtifactsResponse) GetIngestSLSAs() []string

GetIngestSLSAs returns IngestSLSAForArtifactsResponse.IngestSLSAs, and is useful for accessing the field via an interface.

type IngestSourceIngestSourceSourceIDs added in v0.4.0

type IngestSourceIngestSourceSourceIDs struct {
	SourceTypeID      string `json:"sourceTypeID"`
	SourceNamespaceID string `json:"sourceNamespaceID"`
	SourceNameID      string `json:"sourceNameID"`
}

IngestSourceIngestSourceSourceIDs includes the requested fields of the GraphQL type SourceIDs. The GraphQL type's documentation follows.

The IDs of the ingested source

func (*IngestSourceIngestSourceSourceIDs) GetSourceNameID added in v0.4.0

func (v *IngestSourceIngestSourceSourceIDs) GetSourceNameID() string

GetSourceNameID returns IngestSourceIngestSourceSourceIDs.SourceNameID, and is useful for accessing the field via an interface.

func (*IngestSourceIngestSourceSourceIDs) GetSourceNamespaceID added in v0.4.0

func (v *IngestSourceIngestSourceSourceIDs) GetSourceNamespaceID() string

GetSourceNamespaceID returns IngestSourceIngestSourceSourceIDs.SourceNamespaceID, and is useful for accessing the field via an interface.

func (*IngestSourceIngestSourceSourceIDs) GetSourceTypeID added in v0.4.0

func (v *IngestSourceIngestSourceSourceIDs) GetSourceTypeID() string

GetSourceTypeID returns IngestSourceIngestSourceSourceIDs.SourceTypeID, and is useful for accessing the field via an interface.

type IngestSourceResponse added in v0.1.1

type IngestSourceResponse struct {
	// Ingests a new source and returns the corresponding source trie path.
	IngestSource IngestSourceIngestSourceSourceIDs `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 IDorSourceInput,
) (*IngestSourceResponse, error)

func (*IngestSourceResponse) GetIngestSource added in v0.1.1

GetIngestSource returns IngestSourceResponse.IngestSource, and is useful for accessing the field via an interface.

type IngestSourcesIngestSourcesSourceIDs added in v0.4.0

type IngestSourcesIngestSourcesSourceIDs struct {
	SourceTypeID      string `json:"sourceTypeID"`
	SourceNamespaceID string `json:"sourceNamespaceID"`
	SourceNameID      string `json:"sourceNameID"`
}

IngestSourcesIngestSourcesSourceIDs includes the requested fields of the GraphQL type SourceIDs. The GraphQL type's documentation follows.

The IDs of the ingested source

func (*IngestSourcesIngestSourcesSourceIDs) GetSourceNameID added in v0.4.0

func (v *IngestSourcesIngestSourcesSourceIDs) GetSourceNameID() string

GetSourceNameID returns IngestSourcesIngestSourcesSourceIDs.SourceNameID, and is useful for accessing the field via an interface.

func (*IngestSourcesIngestSourcesSourceIDs) GetSourceNamespaceID added in v0.4.0

func (v *IngestSourcesIngestSourcesSourceIDs) GetSourceNamespaceID() string

GetSourceNamespaceID returns IngestSourcesIngestSourcesSourceIDs.SourceNamespaceID, and is useful for accessing the field via an interface.

func (*IngestSourcesIngestSourcesSourceIDs) GetSourceTypeID added in v0.4.0

func (v *IngestSourcesIngestSourcesSourceIDs) GetSourceTypeID() string

GetSourceTypeID returns IngestSourcesIngestSourcesSourceIDs.SourceTypeID, and is useful for accessing the field via an interface.

type IngestSourcesResponse added in v0.1.1

type IngestSourcesResponse struct {
	// Bulk ingests sources and returns the list of corresponding source trie path. The returned array of IDs must be in the same order as the inputs.
	IngestSources []IngestSourcesIngestSourcesSourceIDs `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 []IDorSourceInput,
) (*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 IngestVulnEqualResponse added in v0.2.0

type IngestVulnEqualResponse struct {
	// Ingest a mapping between vulnerabilities. The returned ID can be empty string.
	IngestVulnEqual string `json:"ingestVulnEqual"`
}

IngestVulnEqualResponse is returned by IngestVulnEqual on success.

func IngestVulnEqual added in v0.2.0

func IngestVulnEqual(
	ctx_ context.Context,
	client_ graphql.Client,
	vulnerability IDorVulnerabilityInput,
	otherVulnerability IDorVulnerabilityInput,
	vulnEqual VulnEqualInputSpec,
) (*IngestVulnEqualResponse, error)

func (*IngestVulnEqualResponse) GetIngestVulnEqual added in v0.2.0

func (v *IngestVulnEqualResponse) GetIngestVulnEqual() string

GetIngestVulnEqual returns IngestVulnEqualResponse.IngestVulnEqual, and is useful for accessing the field via an interface.

type IngestVulnEqualsResponse added in v0.2.0

type IngestVulnEqualsResponse struct {
	// Bulk ingest mapping between vulnerabilities. The returned array of IDs can be a an array of empty string.
	IngestVulnEquals []string `json:"ingestVulnEquals"`
}

IngestVulnEqualsResponse is returned by IngestVulnEquals on success.

func IngestVulnEquals added in v0.2.0

func IngestVulnEquals(
	ctx_ context.Context,
	client_ graphql.Client,
	vulnerabilities []IDorVulnerabilityInput,
	otherVulnerabilities []IDorVulnerabilityInput,
	vulnEquals []VulnEqualInputSpec,
) (*IngestVulnEqualsResponse, error)

func (*IngestVulnEqualsResponse) GetIngestVulnEquals added in v0.2.0

func (v *IngestVulnEqualsResponse) GetIngestVulnEquals() []string

GetIngestVulnEquals returns IngestVulnEqualsResponse.IngestVulnEquals, and is useful for accessing the field via an interface.

type IngestVulnHasMetadataResponse added in v0.5.0

type IngestVulnHasMetadataResponse struct {
	// Adds metadata about a vulnerability. The returned ID can be empty string.
	IngestVulnerabilityMetadata string `json:"ingestVulnerabilityMetadata"`
}

IngestVulnHasMetadataResponse is returned by IngestVulnHasMetadata on success.

func IngestVulnHasMetadata added in v0.5.0

func IngestVulnHasMetadata(
	ctx_ context.Context,
	client_ graphql.Client,
	vulnerability IDorVulnerabilityInput,
	vulnMetadata VulnerabilityMetadataInputSpec,
) (*IngestVulnHasMetadataResponse, error)

func (*IngestVulnHasMetadataResponse) GetIngestVulnerabilityMetadata added in v0.5.0

func (v *IngestVulnHasMetadataResponse) GetIngestVulnerabilityMetadata() string

GetIngestVulnerabilityMetadata returns IngestVulnHasMetadataResponse.IngestVulnerabilityMetadata, and is useful for accessing the field via an interface.

type IngestVulnerabilitiesIngestVulnerabilitiesVulnerabilityIDs added in v0.4.0

type IngestVulnerabilitiesIngestVulnerabilitiesVulnerabilityIDs struct {
	VulnerabilityTypeID string `json:"vulnerabilityTypeID"`
	VulnerabilityNodeID string `json:"vulnerabilityNodeID"`
}

IngestVulnerabilitiesIngestVulnerabilitiesVulnerabilityIDs includes the requested fields of the GraphQL type VulnerabilityIDs. The GraphQL type's documentation follows.

The IDs of the ingested vulnerability

func (*IngestVulnerabilitiesIngestVulnerabilitiesVulnerabilityIDs) GetVulnerabilityNodeID added in v0.4.0

GetVulnerabilityNodeID returns IngestVulnerabilitiesIngestVulnerabilitiesVulnerabilityIDs.VulnerabilityNodeID, and is useful for accessing the field via an interface.

func (*IngestVulnerabilitiesIngestVulnerabilitiesVulnerabilityIDs) GetVulnerabilityTypeID added in v0.4.0

GetVulnerabilityTypeID returns IngestVulnerabilitiesIngestVulnerabilitiesVulnerabilityIDs.VulnerabilityTypeID, and is useful for accessing the field via an interface.

type IngestVulnerabilitiesResponse added in v0.2.0

type IngestVulnerabilitiesResponse struct {
	// Bulk ingests vulnerabilities and returns the list of corresponding vulnerability trie path. The returned array of IDs must be in the same order as the inputs
	IngestVulnerabilities []IngestVulnerabilitiesIngestVulnerabilitiesVulnerabilityIDs `json:"ingestVulnerabilities"`
}

IngestVulnerabilitiesResponse is returned by IngestVulnerabilities on success.

func IngestVulnerabilities added in v0.2.0

func IngestVulnerabilities(
	ctx_ context.Context,
	client_ graphql.Client,
	vulns []IDorVulnerabilityInput,
) (*IngestVulnerabilitiesResponse, error)

func (*IngestVulnerabilitiesResponse) GetIngestVulnerabilities added in v0.2.0

GetIngestVulnerabilities returns IngestVulnerabilitiesResponse.IngestVulnerabilities, and is useful for accessing the field via an interface.

type IngestVulnerabilityIngestVulnerabilityVulnerabilityIDs added in v0.4.0

type IngestVulnerabilityIngestVulnerabilityVulnerabilityIDs struct {
	VulnerabilityTypeID string `json:"vulnerabilityTypeID"`
	VulnerabilityNodeID string `json:"vulnerabilityNodeID"`
}

IngestVulnerabilityIngestVulnerabilityVulnerabilityIDs includes the requested fields of the GraphQL type VulnerabilityIDs. The GraphQL type's documentation follows.

The IDs of the ingested vulnerability

func (*IngestVulnerabilityIngestVulnerabilityVulnerabilityIDs) GetVulnerabilityNodeID added in v0.4.0

GetVulnerabilityNodeID returns IngestVulnerabilityIngestVulnerabilityVulnerabilityIDs.VulnerabilityNodeID, and is useful for accessing the field via an interface.

func (*IngestVulnerabilityIngestVulnerabilityVulnerabilityIDs) GetVulnerabilityTypeID added in v0.4.0

GetVulnerabilityTypeID returns IngestVulnerabilityIngestVulnerabilityVulnerabilityIDs.VulnerabilityTypeID, and is useful for accessing the field via an interface.

type IngestVulnerabilityResponse added in v0.2.0

type IngestVulnerabilityResponse struct {
	// Ingests a new vulnerability and returns the corresponding vulnerability trie path.
	IngestVulnerability IngestVulnerabilityIngestVulnerabilityVulnerabilityIDs `json:"ingestVulnerability"`
}

IngestVulnerabilityResponse is returned by IngestVulnerability on success.

func IngestVulnerability added in v0.2.0

func IngestVulnerability(
	ctx_ context.Context,
	client_ graphql.Client,
	vuln IDorVulnerabilityInput,
) (*IngestVulnerabilityResponse, error)

func (*IngestVulnerabilityResponse) GetIngestVulnerability added in v0.2.0

GetIngestVulnerability returns IngestVulnerabilityResponse.IngestVulnerability, and is useful for accessing the field via an interface.

type IsDependencyInputSpec

type IsDependencyInputSpec struct {
	// versionRange should be specified for depedentPackages that point to PackageName
	VersionRange   string         `json:"versionRange"`
	DependencyType DependencyType `json:"dependencyType"`
	Justification  string         `json:"justification"`
	Origin         string         `json:"origin"`
	Collector      string         `json:"collector"`
	DocumentRef    string         `json:"documentRef"`
}

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) GetDocumentRef added in v0.6.0

func (v *IsDependencyInputSpec) GetDocumentRef() string

GetDocumentRef returns IsDependencyInputSpec.DocumentRef, 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 IsDependencySpec added in v0.4.0

type IsDependencySpec struct {
	Id                *string         `json:"id"`
	Package           *PkgSpec        `json:"package"`
	DependencyPackage *PkgSpec        `json:"dependencyPackage"`
	VersionRange      *string         `json:"versionRange"`
	DependencyType    *DependencyType `json:"dependencyType"`
	Justification     *string         `json:"justification"`
	Origin            *string         `json:"origin"`
	Collector         *string         `json:"collector"`
	DocumentRef       *string         `json:"documentRef"`
}

IsDependencySpec allows filtering the list of dependencies to return.

To obtain the list of dependency packages, caller must fill in the package field.

Dependency packages must be defined at PackageName, not PackageVersion.

func (*IsDependencySpec) GetCollector added in v0.4.0

func (v *IsDependencySpec) GetCollector() *string

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

func (*IsDependencySpec) GetDependencyPackage added in v0.4.0

func (v *IsDependencySpec) GetDependencyPackage() *PkgSpec

GetDependencyPackage returns IsDependencySpec.DependencyPackage, and is useful for accessing the field via an interface.

func (*IsDependencySpec) GetDependencyType added in v0.4.0

func (v *IsDependencySpec) GetDependencyType() *DependencyType

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

func (*IsDependencySpec) GetDocumentRef added in v0.6.0

func (v *IsDependencySpec) GetDocumentRef() *string

GetDocumentRef returns IsDependencySpec.DocumentRef, and is useful for accessing the field via an interface.

func (*IsDependencySpec) GetId added in v0.4.0

func (v *IsDependencySpec) GetId() *string

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

func (*IsDependencySpec) GetJustification added in v0.4.0

func (v *IsDependencySpec) GetJustification() *string

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

func (*IsDependencySpec) GetOrigin added in v0.4.0

func (v *IsDependencySpec) GetOrigin() *string

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

func (*IsDependencySpec) GetPackage added in v0.4.0

func (v *IsDependencySpec) GetPackage() *PkgSpec

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

func (*IsDependencySpec) GetVersionRange added in v0.4.0

func (v *IsDependencySpec) GetVersionRange() *string

GetVersionRange returns IsDependencySpec.VersionRange, 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"`
	DocumentRef   string `json:"documentRef"`
}

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) GetDocumentRef added in v0.6.0

func (v *IsOccurrenceInputSpec) GetDocumentRef() string

GetDocumentRef returns IsOccurrenceInputSpec.DocumentRef, 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 IsOccurrenceSpec added in v0.4.0

type IsOccurrenceSpec struct {
	Id            *string              `json:"id"`
	Subject       *PackageOrSourceSpec `json:"subject"`
	Artifact      *ArtifactSpec        `json:"artifact"`
	Justification *string              `json:"justification"`
	Origin        *string              `json:"origin"`
	Collector     *string              `json:"collector"`
	DocumentRef   *string              `json:"documentRef"`
}

IsOccurrenceSpec allows filtering the list of artifact occurences to return in a query.

func (*IsOccurrenceSpec) GetArtifact added in v0.4.0

func (v *IsOccurrenceSpec) GetArtifact() *ArtifactSpec

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

func (*IsOccurrenceSpec) GetCollector added in v0.4.0

func (v *IsOccurrenceSpec) GetCollector() *string

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

func (*IsOccurrenceSpec) GetDocumentRef added in v0.6.0

func (v *IsOccurrenceSpec) GetDocumentRef() *string

GetDocumentRef returns IsOccurrenceSpec.DocumentRef, and is useful for accessing the field via an interface.

func (*IsOccurrenceSpec) GetId added in v0.4.0

func (v *IsOccurrenceSpec) GetId() *string

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

func (*IsOccurrenceSpec) GetJustification added in v0.4.0

func (v *IsOccurrenceSpec) GetJustification() *string

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

func (*IsOccurrenceSpec) GetOrigin added in v0.4.0

func (v *IsOccurrenceSpec) GetOrigin() *string

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

func (*IsOccurrenceSpec) GetSubject added in v0.4.0

func (v *IsOccurrenceSpec) GetSubject() *PackageOrSourceSpec

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

type IsOccurrencesIsOccurrence added in v0.6.0

type IsOccurrencesIsOccurrence struct {
	AllIsOccurrencesTree `json:"-"`
}

IsOccurrencesIsOccurrence 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 (*IsOccurrencesIsOccurrence) GetArtifact added in v0.6.0

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

func (*IsOccurrencesIsOccurrence) GetCollector added in v0.6.0

func (v *IsOccurrencesIsOccurrence) GetCollector() string

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

func (*IsOccurrencesIsOccurrence) GetId added in v0.6.0

func (v *IsOccurrencesIsOccurrence) GetId() string

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

func (*IsOccurrencesIsOccurrence) GetJustification added in v0.6.0

func (v *IsOccurrencesIsOccurrence) GetJustification() string

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

func (*IsOccurrencesIsOccurrence) GetOrigin added in v0.6.0

func (v *IsOccurrencesIsOccurrence) GetOrigin() string

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

func (*IsOccurrencesIsOccurrence) GetSubject added in v0.6.0

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

func (*IsOccurrencesIsOccurrence) MarshalJSON added in v0.6.0

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

func (*IsOccurrencesIsOccurrence) UnmarshalJSON added in v0.6.0

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

type IsOccurrencesResponse added in v0.6.0

type IsOccurrencesResponse struct {
	// Returns all artifacts-source/package mappings that match a filter.
	IsOccurrence []IsOccurrencesIsOccurrence `json:"IsOccurrence"`
}

IsOccurrencesResponse is returned by IsOccurrences on success.

func IsOccurrences added in v0.6.0

func IsOccurrences(
	ctx_ context.Context,
	client_ graphql.Client,
	filter IsOccurrenceSpec,
) (*IsOccurrencesResponse, error)

func (*IsOccurrencesResponse) GetIsOccurrence added in v0.6.0

func (v *IsOccurrencesResponse) GetIsOccurrence() []IsOccurrencesIsOccurrence

GetIsOccurrence returns IsOccurrencesResponse.IsOccurrence, and is useful for accessing the field via an interface.

type LicenseInputSpec added in v0.2.0

type LicenseInputSpec struct {
	Name        string  `json:"name"`
	Inline      *string `json:"inline"`
	ListVersion *string `json:"listVersion"`
}

LicenseInputSpec specifies an license for mutations. One of inline or listVersion should be empty or missing.

func (*LicenseInputSpec) GetInline added in v0.2.0

func (v *LicenseInputSpec) GetInline() *string

GetInline returns LicenseInputSpec.Inline, and is useful for accessing the field via an interface.

func (*LicenseInputSpec) GetListVersion added in v0.2.0

func (v *LicenseInputSpec) GetListVersion() *string

GetListVersion returns LicenseInputSpec.ListVersion, and is useful for accessing the field via an interface.

func (*LicenseInputSpec) GetName added in v0.2.0

func (v *LicenseInputSpec) GetName() string

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

type LicenseSpec added in v0.2.0

type LicenseSpec struct {
	Id          *string `json:"id"`
	Name        *string `json:"name"`
	Inline      *string `json:"inline"`
	ListVersion *string `json:"listVersion"`
}

LicenseSpec allows filtering the list of licenses to return in a query.

func (*LicenseSpec) GetId added in v0.2.0

func (v *LicenseSpec) GetId() *string

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

func (*LicenseSpec) GetInline added in v0.2.0

func (v *LicenseSpec) GetInline() *string

GetInline returns LicenseSpec.Inline, and is useful for accessing the field via an interface.

func (*LicenseSpec) GetListVersion added in v0.2.0

func (v *LicenseSpec) GetListVersion() *string

GetListVersion returns LicenseSpec.ListVersion, and is useful for accessing the field via an interface.

func (*LicenseSpec) GetName added in v0.2.0

func (v *LicenseSpec) GetName() *string

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

type LicensesLicensesLicense added in v0.2.0

type LicensesLicensesLicense struct {
	AllLicenseTree `json:"-"`
}

LicensesLicensesLicense includes the requested fields of the GraphQL type License. The GraphQL type's documentation follows.

License represents a particular license. If the license is found on the SPDX license list (https://spdx.org/licenses/) then the fields should be:

Name: SPDX license identifier Inline: empty ListVersion: SPDX license list version

example:

Name: AGPL-3.0-or-later Inline: "" ListVersion: 3.21 2023-06-18

If the license is not on the SPDX license list, then a new guid should be created and the license text placed inline:

Name: LicenseRef-<guid> Inline: Full license text ListVersion: empty

example:

Name: LicenseRef-1a2b3c Inline: Permission to use, copy, modify, and/or distribute ... ListVersion: ""

func (*LicensesLicensesLicense) GetId added in v0.2.0

func (v *LicensesLicensesLicense) GetId() string

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

func (*LicensesLicensesLicense) GetInline added in v0.2.0

func (v *LicensesLicensesLicense) GetInline() *string

GetInline returns LicensesLicensesLicense.Inline, and is useful for accessing the field via an interface.

func (*LicensesLicensesLicense) GetListVersion added in v0.2.0

func (v *LicensesLicensesLicense) GetListVersion() *string

GetListVersion returns LicensesLicensesLicense.ListVersion, and is useful for accessing the field via an interface.

func (*LicensesLicensesLicense) GetName added in v0.2.0

func (v *LicensesLicensesLicense) GetName() string

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

func (*LicensesLicensesLicense) MarshalJSON added in v0.2.0

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

func (*LicensesLicensesLicense) UnmarshalJSON added in v0.2.0

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

type LicensesResponse added in v0.2.0

type LicensesResponse struct {
	// Returns all licenses matching a filter.
	Licenses []LicensesLicensesLicense `json:"licenses"`
}

LicensesResponse is returned by Licenses on success.

func Licenses added in v0.2.0

func Licenses(
	ctx_ context.Context,
	client_ graphql.Client,
	filter LicenseSpec,
) (*LicensesResponse, error)

func (*LicensesResponse) GetLicenses added in v0.2.0

func (v *LicensesResponse) GetLicenses() []LicensesLicensesLicense

GetLicenses returns LicensesResponse.Licenses, 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 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) GetKnownSince added in v0.2.1

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

GetKnownSince returns NeighborsNeighborsCertifyBad.KnownSince, 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) GetKnownSince added in v0.2.1

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

GetKnownSince returns NeighborsNeighborsCertifyGood.KnownSince, 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 NeighborsNeighborsCertifyLegal added in v0.2.0

type NeighborsNeighborsCertifyLegal struct {
	Typename            *string `json:"__typename"`
	AllCertifyLegalTree `json:"-"`
}

NeighborsNeighborsCertifyLegal includes the requested fields of the GraphQL type CertifyLegal. The GraphQL type's documentation follows.

CertifyLegal is an attestation to attach legal information to a package or source.

The certification information is either copied from an attestation found in an SBOM or created by a collector/scanner.

Discovered license is also known as Concluded. More information: https://docs.clearlydefined.io/curation-guidelines#the-difference-between-declared-and-discovered-licenses

Attribution is also known as Copyright Text. It is what could be displayed to comply with notice requirements. https://www.nexb.com/oss-attribution-best-practices/

License expressions follow this format: https://spdx.github.io/spdx-spec/v2.3/SPDX-license-expressions/

func (*NeighborsNeighborsCertifyLegal) GetAttribution added in v0.2.0

func (v *NeighborsNeighborsCertifyLegal) GetAttribution() string

GetAttribution returns NeighborsNeighborsCertifyLegal.Attribution, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsCertifyLegal) GetCollector added in v0.2.0

func (v *NeighborsNeighborsCertifyLegal) GetCollector() string

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

func (*NeighborsNeighborsCertifyLegal) GetDeclaredLicense added in v0.2.0

func (v *NeighborsNeighborsCertifyLegal) GetDeclaredLicense() string

GetDeclaredLicense returns NeighborsNeighborsCertifyLegal.DeclaredLicense, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsCertifyLegal) GetDeclaredLicenses added in v0.2.0

GetDeclaredLicenses returns NeighborsNeighborsCertifyLegal.DeclaredLicenses, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsCertifyLegal) GetDiscoveredLicense added in v0.2.0

func (v *NeighborsNeighborsCertifyLegal) GetDiscoveredLicense() string

GetDiscoveredLicense returns NeighborsNeighborsCertifyLegal.DiscoveredLicense, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsCertifyLegal) GetDiscoveredLicenses added in v0.2.0

GetDiscoveredLicenses returns NeighborsNeighborsCertifyLegal.DiscoveredLicenses, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsCertifyLegal) GetId added in v0.2.0

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

func (*NeighborsNeighborsCertifyLegal) GetJustification added in v0.2.0

func (v *NeighborsNeighborsCertifyLegal) GetJustification() string

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

func (*NeighborsNeighborsCertifyLegal) GetOrigin added in v0.2.0

func (v *NeighborsNeighborsCertifyLegal) GetOrigin() string

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

func (*NeighborsNeighborsCertifyLegal) GetSubject added in v0.2.0

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

func (*NeighborsNeighborsCertifyLegal) GetTimeScanned added in v0.2.0

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

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

func (*NeighborsNeighborsCertifyLegal) GetTypename added in v0.2.0

func (v *NeighborsNeighborsCertifyLegal) GetTypename() *string

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

func (*NeighborsNeighborsCertifyLegal) MarshalJSON added in v0.2.0

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

func (*NeighborsNeighborsCertifyLegal) UnmarshalJSON added in v0.2.0

func (v *NeighborsNeighborsCertifyLegal) 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.

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, we attach the a vulnerability with "NoVuln" type and an empty string for the vulnerability ID.

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 NeighborsNeighborsHasMetadata added in v0.1.1

type NeighborsNeighborsHasMetadata struct {
	Typename       *string `json:"__typename"`
	AllHasMetadata `json:"-"`
}

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) GetCollector added in v0.2.0

func (v *NeighborsNeighborsHasMetadata) GetCollector() string

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

func (*NeighborsNeighborsHasMetadata) GetId added in v0.2.0

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

func (*NeighborsNeighborsHasMetadata) GetJustification added in v0.2.0

func (v *NeighborsNeighborsHasMetadata) GetJustification() string

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

func (*NeighborsNeighborsHasMetadata) GetKey added in v0.2.0

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

func (*NeighborsNeighborsHasMetadata) GetOrigin added in v0.2.0

func (v *NeighborsNeighborsHasMetadata) GetOrigin() string

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

func (*NeighborsNeighborsHasMetadata) GetSubject added in v0.2.0

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

func (*NeighborsNeighborsHasMetadata) GetTimestamp added in v0.2.0

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

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

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.

func (*NeighborsNeighborsHasMetadata) GetValue added in v0.2.0

func (v *NeighborsNeighborsHasMetadata) GetValue() string

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

func (*NeighborsNeighborsHasMetadata) MarshalJSON added in v0.2.0

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

func (*NeighborsNeighborsHasMetadata) UnmarshalJSON added in v0.2.0

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

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) GetIncludedDependencies added in v0.4.0

GetIncludedDependencies returns NeighborsNeighborsHasSBOM.IncludedDependencies, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsHasSBOM) GetIncludedOccurrences added in v0.4.0

GetIncludedOccurrences returns NeighborsNeighborsHasSBOM.IncludedOccurrences, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsHasSBOM) GetIncludedSoftware added in v0.4.0

GetIncludedSoftware returns NeighborsNeighborsHasSBOM.IncludedSoftware, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsHasSBOM) GetKnownSince added in v0.2.1

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

GetKnownSince returns NeighborsNeighborsHasSBOM.KnownSince, 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) GetDependencyPackage added in v0.2.0

GetDependencyPackage returns NeighborsNeighborsIsDependency.DependencyPackage, 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) 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 NeighborsNeighborsLicense added in v0.2.0

type NeighborsNeighborsLicense struct {
	Typename       *string `json:"__typename"`
	AllLicenseTree `json:"-"`
}

NeighborsNeighborsLicense includes the requested fields of the GraphQL type License. The GraphQL type's documentation follows.

License represents a particular license. If the license is found on the SPDX license list (https://spdx.org/licenses/) then the fields should be:

Name: SPDX license identifier Inline: empty ListVersion: SPDX license list version

example:

Name: AGPL-3.0-or-later Inline: "" ListVersion: 3.21 2023-06-18

If the license is not on the SPDX license list, then a new guid should be created and the license text placed inline:

Name: LicenseRef-<guid> Inline: Full license text ListVersion: empty

example:

Name: LicenseRef-1a2b3c Inline: Permission to use, copy, modify, and/or distribute ... ListVersion: ""

func (*NeighborsNeighborsLicense) GetId added in v0.2.0

func (v *NeighborsNeighborsLicense) GetId() string

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

func (*NeighborsNeighborsLicense) GetInline added in v0.2.0

func (v *NeighborsNeighborsLicense) GetInline() *string

GetInline returns NeighborsNeighborsLicense.Inline, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsLicense) GetListVersion added in v0.2.0

func (v *NeighborsNeighborsLicense) GetListVersion() *string

GetListVersion returns NeighborsNeighborsLicense.ListVersion, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsLicense) GetName added in v0.2.0

func (v *NeighborsNeighborsLicense) GetName() string

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

func (*NeighborsNeighborsLicense) GetTypename added in v0.2.0

func (v *NeighborsNeighborsLicense) GetTypename() *string

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

func (*NeighborsNeighborsLicense) MarshalJSON added in v0.2.0

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

func (*NeighborsNeighborsLicense) UnmarshalJSON added in v0.2.0

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

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 NeighborsNeighborsCertifyBad NeighborsNeighborsCertifyGood NeighborsNeighborsCertifyLegal NeighborsNeighborsCertifyScorecard NeighborsNeighborsCertifyVEXStatement NeighborsNeighborsCertifyVuln NeighborsNeighborsHasMetadata NeighborsNeighborsHasSBOM NeighborsNeighborsHasSLSA NeighborsNeighborsHasSourceAt NeighborsNeighborsHashEqual NeighborsNeighborsIsDependency NeighborsNeighborsIsOccurrence NeighborsNeighborsLicense NeighborsNeighborsPackage NeighborsNeighborsPkgEqual NeighborsNeighborsPointOfContact NeighborsNeighborsSource NeighborsNeighborsVulnEqual NeighborsNeighborsVulnerability NeighborsNeighborsVulnerabilityMetadata 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 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"`
	AllPointOfContact `json:"-"`
}

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) GetCollector added in v0.1.2

func (v *NeighborsNeighborsPointOfContact) GetCollector() string

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

func (*NeighborsNeighborsPointOfContact) GetEmail added in v0.1.2

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

func (*NeighborsNeighborsPointOfContact) GetId added in v0.1.2

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

func (*NeighborsNeighborsPointOfContact) GetInfo added in v0.1.2

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

func (*NeighborsNeighborsPointOfContact) GetJustification added in v0.1.2

func (v *NeighborsNeighborsPointOfContact) GetJustification() string

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

func (*NeighborsNeighborsPointOfContact) GetOrigin added in v0.1.2

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

func (*NeighborsNeighborsPointOfContact) GetSince added in v0.1.2

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

func (*NeighborsNeighborsPointOfContact) GetSubject added in v0.1.2

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

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.

func (*NeighborsNeighborsPointOfContact) MarshalJSON added in v0.1.2

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

func (*NeighborsNeighborsPointOfContact) UnmarshalJSON added in v0.1.2

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

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 NeighborsNeighborsVulnEqual added in v0.2.0

type NeighborsNeighborsVulnEqual struct {
	Typename     *string `json:"__typename"`
	AllVulnEqual `json:"-"`
}

NeighborsNeighborsVulnEqual includes the requested fields of the GraphQL type VulnEqual. The GraphQL type's documentation follows.

VulnEqual is an attestation to link two vulnerabilities together as being equal"

Note that setting noVuln vulnerability type is invalid for VulnEqual!

func (*NeighborsNeighborsVulnEqual) GetCollector added in v0.2.0

func (v *NeighborsNeighborsVulnEqual) GetCollector() string

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

func (*NeighborsNeighborsVulnEqual) GetId added in v0.2.0

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

func (*NeighborsNeighborsVulnEqual) GetJustification added in v0.2.0

func (v *NeighborsNeighborsVulnEqual) GetJustification() string

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

func (*NeighborsNeighborsVulnEqual) GetOrigin added in v0.2.0

func (v *NeighborsNeighborsVulnEqual) GetOrigin() string

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

func (*NeighborsNeighborsVulnEqual) GetTypename added in v0.2.0

func (v *NeighborsNeighborsVulnEqual) GetTypename() *string

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

func (*NeighborsNeighborsVulnEqual) GetVulnerabilities added in v0.2.0

GetVulnerabilities returns NeighborsNeighborsVulnEqual.Vulnerabilities, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsVulnEqual) MarshalJSON added in v0.2.0

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

func (*NeighborsNeighborsVulnEqual) UnmarshalJSON added in v0.2.0

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

type NeighborsNeighborsVulnerability added in v0.2.0

type NeighborsNeighborsVulnerability struct {
	Typename             *string `json:"__typename"`
	AllVulnerabilityTree `json:"-"`
}

NeighborsNeighborsVulnerability includes the requested fields of the GraphQL type Vulnerability. The GraphQL type's documentation follows.

Vulnerability represents the root of the vulnerability trie/tree.

We map vulnerability information to a trie, as a derivative of the pURL specification: each path in the trie represents a type and a vulnerability ID. This allows for generic representation of the various vulnerabilities and does not limit to just cve, ghsa or osv. This would be in the general format: vuln://<general-type>/<vuln-id>

Examples:

CVE, using path separator: vuln://cve/cve-2023-20753 OSV, representing its knowledge of a GHSA: vuln://osv/ghsa-205hk Random vendor: vuln://snyk/sn-whatever NoVuln: vuln://novuln/

This node represents the type part of the trie path. It is used to represent the specific type of the vulnerability: cve, ghsa, osv or some other vendor specific

Since this node is at the root of the vulnerability trie, it is named Vulnerability, not VulnerabilityType.

NoVuln is a special vulnerability node to attest that no vulnerability has been found during a vulnerability scan. It will have the type "novuln" and contain an empty string for vulnerabilityID

The resolvers will enforce that both the type and vulnerability IDs are lower case.

func (*NeighborsNeighborsVulnerability) GetId added in v0.2.0

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

func (*NeighborsNeighborsVulnerability) GetType added in v0.2.0

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

func (*NeighborsNeighborsVulnerability) GetTypename added in v0.2.0

func (v *NeighborsNeighborsVulnerability) GetTypename() *string

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

func (*NeighborsNeighborsVulnerability) GetVulnerabilityIDs added in v0.2.0

GetVulnerabilityIDs returns NeighborsNeighborsVulnerability.VulnerabilityIDs, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsVulnerability) MarshalJSON added in v0.2.0

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

func (*NeighborsNeighborsVulnerability) UnmarshalJSON added in v0.2.0

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

type NeighborsNeighborsVulnerabilityMetadata added in v0.2.0

type NeighborsNeighborsVulnerabilityMetadata struct {
	Typename            *string `json:"__typename"`
	AllVulnMetadataTree `json:"-"`
}

NeighborsNeighborsVulnerabilityMetadata includes the requested fields of the GraphQL type VulnerabilityMetadata. The GraphQL type's documentation follows.

VulnerabilityMetadata is an attestation that a vulnerability has a related score associated with it.

The intent of this evidence tree predicate is to allow extensibility of vulnerability score (one-to-one mapping) with a specific vulnerability ID.

A vulnerability ID can have a one-to-many relationship with the VulnerabilityMetadata node as a vulnerability ID can have multiple scores (in various frameworks).

Examples:

scoreType: EPSSv1 scoreValue: 0.960760000

scoreType: CVSSv2 scoreValue: 5.0

scoreType: CVSSv3 scoreValue: 7.5

The timestamp is used to determine when the score was evaluated for the specific vulnerability.

func (*NeighborsNeighborsVulnerabilityMetadata) GetCollector added in v0.2.0

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

func (*NeighborsNeighborsVulnerabilityMetadata) GetId added in v0.2.0

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

func (*NeighborsNeighborsVulnerabilityMetadata) GetOrigin added in v0.2.0

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

func (*NeighborsNeighborsVulnerabilityMetadata) GetScoreType added in v0.2.0

GetScoreType returns NeighborsNeighborsVulnerabilityMetadata.ScoreType, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsVulnerabilityMetadata) GetScoreValue added in v0.2.0

GetScoreValue returns NeighborsNeighborsVulnerabilityMetadata.ScoreValue, and is useful for accessing the field via an interface.

func (*NeighborsNeighborsVulnerabilityMetadata) GetTimestamp added in v0.2.0

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

func (*NeighborsNeighborsVulnerabilityMetadata) GetTypename added in v0.2.0

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

func (*NeighborsNeighborsVulnerabilityMetadata) GetVulnerability added in v0.2.0

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

func (*NeighborsNeighborsVulnerabilityMetadata) MarshalJSON added in v0.2.0

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

func (*NeighborsNeighborsVulnerabilityMetadata) UnmarshalJSON added in v0.2.0

func (v *NeighborsNeighborsVulnerabilityMetadata) 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 NodeNodeCertifyBad NodeNodeCertifyGood NodeNodeCertifyLegal NodeNodeCertifyScorecard NodeNodeCertifyVEXStatement NodeNodeCertifyVuln NodeNodeHasMetadata NodeNodeHasSBOM NodeNodeHasSLSA NodeNodeHasSourceAt NodeNodeHashEqual NodeNodeIsDependency NodeNodeIsOccurrence NodeNodeLicense NodeNodePackage NodeNodePkgEqual NodeNodePointOfContact NodeNodeSource NodeNodeVulnEqual NodeNodeVulnerability NodeNodeVulnerabilityMetadata 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 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) GetKnownSince added in v0.2.1

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

GetKnownSince returns NodeNodeCertifyBad.KnownSince, 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) GetKnownSince added in v0.2.1

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

GetKnownSince returns NodeNodeCertifyGood.KnownSince, 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 NodeNodeCertifyLegal added in v0.2.0

type NodeNodeCertifyLegal struct {
	Typename            *string `json:"__typename"`
	AllCertifyLegalTree `json:"-"`
}

NodeNodeCertifyLegal includes the requested fields of the GraphQL type CertifyLegal. The GraphQL type's documentation follows.

CertifyLegal is an attestation to attach legal information to a package or source.

The certification information is either copied from an attestation found in an SBOM or created by a collector/scanner.

Discovered license is also known as Concluded. More information: https://docs.clearlydefined.io/curation-guidelines#the-difference-between-declared-and-discovered-licenses

Attribution is also known as Copyright Text. It is what could be displayed to comply with notice requirements. https://www.nexb.com/oss-attribution-best-practices/

License expressions follow this format: https://spdx.github.io/spdx-spec/v2.3/SPDX-license-expressions/

func (*NodeNodeCertifyLegal) GetAttribution added in v0.2.0

func (v *NodeNodeCertifyLegal) GetAttribution() string

GetAttribution returns NodeNodeCertifyLegal.Attribution, and is useful for accessing the field via an interface.

func (*NodeNodeCertifyLegal) GetCollector added in v0.2.0

func (v *NodeNodeCertifyLegal) GetCollector() string

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

func (*NodeNodeCertifyLegal) GetDeclaredLicense added in v0.2.0

func (v *NodeNodeCertifyLegal) GetDeclaredLicense() string

GetDeclaredLicense returns NodeNodeCertifyLegal.DeclaredLicense, and is useful for accessing the field via an interface.

func (*NodeNodeCertifyLegal) GetDeclaredLicenses added in v0.2.0

GetDeclaredLicenses returns NodeNodeCertifyLegal.DeclaredLicenses, and is useful for accessing the field via an interface.

func (*NodeNodeCertifyLegal) GetDiscoveredLicense added in v0.2.0

func (v *NodeNodeCertifyLegal) GetDiscoveredLicense() string

GetDiscoveredLicense returns NodeNodeCertifyLegal.DiscoveredLicense, and is useful for accessing the field via an interface.

func (*NodeNodeCertifyLegal) GetDiscoveredLicenses added in v0.2.0

GetDiscoveredLicenses returns NodeNodeCertifyLegal.DiscoveredLicenses, and is useful for accessing the field via an interface.

func (*NodeNodeCertifyLegal) GetId added in v0.2.0

func (v *NodeNodeCertifyLegal) GetId() string

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

func (*NodeNodeCertifyLegal) GetJustification added in v0.2.0

func (v *NodeNodeCertifyLegal) GetJustification() string

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

func (*NodeNodeCertifyLegal) GetOrigin added in v0.2.0

func (v *NodeNodeCertifyLegal) GetOrigin() string

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

func (*NodeNodeCertifyLegal) GetSubject added in v0.2.0

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

func (*NodeNodeCertifyLegal) GetTimeScanned added in v0.2.0

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

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

func (*NodeNodeCertifyLegal) GetTypename added in v0.2.0

func (v *NodeNodeCertifyLegal) GetTypename() *string

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

func (*NodeNodeCertifyLegal) MarshalJSON added in v0.2.0

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

func (*NodeNodeCertifyLegal) UnmarshalJSON added in v0.2.0

func (v *NodeNodeCertifyLegal) 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.

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, we attach the a vulnerability with "NoVuln" type and an empty string for the vulnerability ID.

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 NodeNodeHasMetadata added in v0.1.1

type NodeNodeHasMetadata struct {
	Typename       *string `json:"__typename"`
	AllHasMetadata `json:"-"`
}

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) GetCollector added in v0.2.0

func (v *NodeNodeHasMetadata) GetCollector() string

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

func (*NodeNodeHasMetadata) GetId added in v0.2.0

func (v *NodeNodeHasMetadata) GetId() string

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

func (*NodeNodeHasMetadata) GetJustification added in v0.2.0

func (v *NodeNodeHasMetadata) GetJustification() string

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

func (*NodeNodeHasMetadata) GetKey added in v0.2.0

func (v *NodeNodeHasMetadata) GetKey() string

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

func (*NodeNodeHasMetadata) GetOrigin added in v0.2.0

func (v *NodeNodeHasMetadata) GetOrigin() string

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

func (*NodeNodeHasMetadata) GetSubject added in v0.2.0

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

func (*NodeNodeHasMetadata) GetTimestamp added in v0.2.0

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

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

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.

func (*NodeNodeHasMetadata) GetValue added in v0.2.0

func (v *NodeNodeHasMetadata) GetValue() string

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

func (*NodeNodeHasMetadata) MarshalJSON added in v0.2.0

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

func (*NodeNodeHasMetadata) UnmarshalJSON added in v0.2.0

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

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) GetIncludedDependencies added in v0.4.0

func (v *NodeNodeHasSBOM) GetIncludedDependencies() []AllHasSBOMTreeIncludedDependenciesIsDependency

GetIncludedDependencies returns NodeNodeHasSBOM.IncludedDependencies, and is useful for accessing the field via an interface.

func (*NodeNodeHasSBOM) GetIncludedOccurrences added in v0.4.0

func (v *NodeNodeHasSBOM) GetIncludedOccurrences() []AllHasSBOMTreeIncludedOccurrencesIsOccurrence

GetIncludedOccurrences returns NodeNodeHasSBOM.IncludedOccurrences, and is useful for accessing the field via an interface.

func (*NodeNodeHasSBOM) GetIncludedSoftware added in v0.4.0

GetIncludedSoftware returns NodeNodeHasSBOM.IncludedSoftware, and is useful for accessing the field via an interface.

func (*NodeNodeHasSBOM) GetKnownSince added in v0.2.1

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

GetKnownSince returns NodeNodeHasSBOM.KnownSince, 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) GetDependencyPackage added in v0.2.0

GetDependencyPackage returns NodeNodeIsDependency.DependencyPackage, 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) 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 NodeNodeLicense added in v0.2.0

type NodeNodeLicense struct {
	Typename       *string `json:"__typename"`
	AllLicenseTree `json:"-"`
}

NodeNodeLicense includes the requested fields of the GraphQL type License. The GraphQL type's documentation follows.

License represents a particular license. If the license is found on the SPDX license list (https://spdx.org/licenses/) then the fields should be:

Name: SPDX license identifier Inline: empty ListVersion: SPDX license list version

example:

Name: AGPL-3.0-or-later Inline: "" ListVersion: 3.21 2023-06-18

If the license is not on the SPDX license list, then a new guid should be created and the license text placed inline:

Name: LicenseRef-<guid> Inline: Full license text ListVersion: empty

example:

Name: LicenseRef-1a2b3c Inline: Permission to use, copy, modify, and/or distribute ... ListVersion: ""

func (*NodeNodeLicense) GetId added in v0.2.0

func (v *NodeNodeLicense) GetId() string

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

func (*NodeNodeLicense) GetInline added in v0.2.0

func (v *NodeNodeLicense) GetInline() *string

GetInline returns NodeNodeLicense.Inline, and is useful for accessing the field via an interface.

func (*NodeNodeLicense) GetListVersion added in v0.2.0

func (v *NodeNodeLicense) GetListVersion() *string

GetListVersion returns NodeNodeLicense.ListVersion, and is useful for accessing the field via an interface.

func (*NodeNodeLicense) GetName added in v0.2.0

func (v *NodeNodeLicense) GetName() string

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

func (*NodeNodeLicense) GetTypename added in v0.2.0

func (v *NodeNodeLicense) GetTypename() *string

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

func (*NodeNodeLicense) MarshalJSON added in v0.2.0

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

func (*NodeNodeLicense) UnmarshalJSON added in v0.2.0

func (v *NodeNodeLicense) 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"`
	AllPointOfContact `json:"-"`
}

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) GetCollector added in v0.1.2

func (v *NodeNodePointOfContact) GetCollector() string

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

func (*NodeNodePointOfContact) GetEmail added in v0.1.2

func (v *NodeNodePointOfContact) GetEmail() string

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

func (*NodeNodePointOfContact) GetId added in v0.1.2

func (v *NodeNodePointOfContact) GetId() string

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

func (*NodeNodePointOfContact) GetInfo added in v0.1.2

func (v *NodeNodePointOfContact) GetInfo() string

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

func (*NodeNodePointOfContact) GetJustification added in v0.1.2

func (v *NodeNodePointOfContact) GetJustification() string

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

func (*NodeNodePointOfContact) GetOrigin added in v0.1.2

func (v *NodeNodePointOfContact) GetOrigin() string

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

func (*NodeNodePointOfContact) GetSince added in v0.1.2

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

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

func (*NodeNodePointOfContact) GetSubject added in v0.1.2

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

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.

func (*NodeNodePointOfContact) MarshalJSON added in v0.1.2

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

func (*NodeNodePointOfContact) UnmarshalJSON added in v0.1.2

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

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 NodeNodeVulnEqual added in v0.2.0

type NodeNodeVulnEqual struct {
	Typename     *string `json:"__typename"`
	AllVulnEqual `json:"-"`
}

NodeNodeVulnEqual includes the requested fields of the GraphQL type VulnEqual. The GraphQL type's documentation follows.

VulnEqual is an attestation to link two vulnerabilities together as being equal"

Note that setting noVuln vulnerability type is invalid for VulnEqual!

func (*NodeNodeVulnEqual) GetCollector added in v0.2.0

func (v *NodeNodeVulnEqual) GetCollector() string

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

func (*NodeNodeVulnEqual) GetId added in v0.2.0

func (v *NodeNodeVulnEqual) GetId() string

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

func (*NodeNodeVulnEqual) GetJustification added in v0.2.0

func (v *NodeNodeVulnEqual) GetJustification() string

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

func (*NodeNodeVulnEqual) GetOrigin added in v0.2.0

func (v *NodeNodeVulnEqual) GetOrigin() string

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

func (*NodeNodeVulnEqual) GetTypename added in v0.2.0

func (v *NodeNodeVulnEqual) GetTypename() *string

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

func (*NodeNodeVulnEqual) GetVulnerabilities added in v0.2.0

GetVulnerabilities returns NodeNodeVulnEqual.Vulnerabilities, and is useful for accessing the field via an interface.

func (*NodeNodeVulnEqual) MarshalJSON added in v0.2.0

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

func (*NodeNodeVulnEqual) UnmarshalJSON added in v0.2.0

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

type NodeNodeVulnerability added in v0.2.0

type NodeNodeVulnerability struct {
	Typename             *string `json:"__typename"`
	AllVulnerabilityTree `json:"-"`
}

NodeNodeVulnerability includes the requested fields of the GraphQL type Vulnerability. The GraphQL type's documentation follows.

Vulnerability represents the root of the vulnerability trie/tree.

We map vulnerability information to a trie, as a derivative of the pURL specification: each path in the trie represents a type and a vulnerability ID. This allows for generic representation of the various vulnerabilities and does not limit to just cve, ghsa or osv. This would be in the general format: vuln://<general-type>/<vuln-id>

Examples:

CVE, using path separator: vuln://cve/cve-2023-20753 OSV, representing its knowledge of a GHSA: vuln://osv/ghsa-205hk Random vendor: vuln://snyk/sn-whatever NoVuln: vuln://novuln/

This node represents the type part of the trie path. It is used to represent the specific type of the vulnerability: cve, ghsa, osv or some other vendor specific

Since this node is at the root of the vulnerability trie, it is named Vulnerability, not VulnerabilityType.

NoVuln is a special vulnerability node to attest that no vulnerability has been found during a vulnerability scan. It will have the type "novuln" and contain an empty string for vulnerabilityID

The resolvers will enforce that both the type and vulnerability IDs are lower case.

func (*NodeNodeVulnerability) GetId added in v0.2.0

func (v *NodeNodeVulnerability) GetId() string

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

func (*NodeNodeVulnerability) GetType added in v0.2.0

func (v *NodeNodeVulnerability) GetType() string

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

func (*NodeNodeVulnerability) GetTypename added in v0.2.0

func (v *NodeNodeVulnerability) GetTypename() *string

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

func (*NodeNodeVulnerability) GetVulnerabilityIDs added in v0.2.0

GetVulnerabilityIDs returns NodeNodeVulnerability.VulnerabilityIDs, and is useful for accessing the field via an interface.

func (*NodeNodeVulnerability) MarshalJSON added in v0.2.0

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

func (*NodeNodeVulnerability) UnmarshalJSON added in v0.2.0

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

type NodeNodeVulnerabilityMetadata added in v0.2.0

type NodeNodeVulnerabilityMetadata struct {
	Typename            *string `json:"__typename"`
	AllVulnMetadataTree `json:"-"`
}

NodeNodeVulnerabilityMetadata includes the requested fields of the GraphQL type VulnerabilityMetadata. The GraphQL type's documentation follows.

VulnerabilityMetadata is an attestation that a vulnerability has a related score associated with it.

The intent of this evidence tree predicate is to allow extensibility of vulnerability score (one-to-one mapping) with a specific vulnerability ID.

A vulnerability ID can have a one-to-many relationship with the VulnerabilityMetadata node as a vulnerability ID can have multiple scores (in various frameworks).

Examples:

scoreType: EPSSv1 scoreValue: 0.960760000

scoreType: CVSSv2 scoreValue: 5.0

scoreType: CVSSv3 scoreValue: 7.5

The timestamp is used to determine when the score was evaluated for the specific vulnerability.

func (*NodeNodeVulnerabilityMetadata) GetCollector added in v0.2.0

func (v *NodeNodeVulnerabilityMetadata) GetCollector() string

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

func (*NodeNodeVulnerabilityMetadata) GetId added in v0.2.0

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

func (*NodeNodeVulnerabilityMetadata) GetOrigin added in v0.2.0

func (v *NodeNodeVulnerabilityMetadata) GetOrigin() string

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

func (*NodeNodeVulnerabilityMetadata) GetScoreType added in v0.2.0

GetScoreType returns NodeNodeVulnerabilityMetadata.ScoreType, and is useful for accessing the field via an interface.

func (*NodeNodeVulnerabilityMetadata) GetScoreValue added in v0.2.0

func (v *NodeNodeVulnerabilityMetadata) GetScoreValue() float64

GetScoreValue returns NodeNodeVulnerabilityMetadata.ScoreValue, and is useful for accessing the field via an interface.

func (*NodeNodeVulnerabilityMetadata) GetTimestamp added in v0.2.0

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

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

func (*NodeNodeVulnerabilityMetadata) GetTypename added in v0.2.0

func (v *NodeNodeVulnerabilityMetadata) GetTypename() *string

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

func (*NodeNodeVulnerabilityMetadata) GetVulnerability added in v0.2.0

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

func (*NodeNodeVulnerabilityMetadata) MarshalJSON added in v0.2.0

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

func (*NodeNodeVulnerabilityMetadata) UnmarshalJSON added in v0.2.0

func (v *NodeNodeVulnerabilityMetadata) 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 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) GetKnownSince added in v0.2.1

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

GetKnownSince returns NodesNodesCertifyBad.KnownSince, 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) GetKnownSince added in v0.2.1

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

GetKnownSince returns NodesNodesCertifyGood.KnownSince, 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 NodesNodesCertifyLegal added in v0.2.0

type NodesNodesCertifyLegal struct {
	Typename            *string `json:"__typename"`
	AllCertifyLegalTree `json:"-"`
}

NodesNodesCertifyLegal includes the requested fields of the GraphQL type CertifyLegal. The GraphQL type's documentation follows.

CertifyLegal is an attestation to attach legal information to a package or source.

The certification information is either copied from an attestation found in an SBOM or created by a collector/scanner.

Discovered license is also known as Concluded. More information: https://docs.clearlydefined.io/curation-guidelines#the-difference-between-declared-and-discovered-licenses

Attribution is also known as Copyright Text. It is what could be displayed to comply with notice requirements. https://www.nexb.com/oss-attribution-best-practices/

License expressions follow this format: https://spdx.github.io/spdx-spec/v2.3/SPDX-license-expressions/

func (*NodesNodesCertifyLegal) GetAttribution added in v0.2.0

func (v *NodesNodesCertifyLegal) GetAttribution() string

GetAttribution returns NodesNodesCertifyLegal.Attribution, and is useful for accessing the field via an interface.

func (*NodesNodesCertifyLegal) GetCollector added in v0.2.0

func (v *NodesNodesCertifyLegal) GetCollector() string

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

func (*NodesNodesCertifyLegal) GetDeclaredLicense added in v0.2.0

func (v *NodesNodesCertifyLegal) GetDeclaredLicense() string

GetDeclaredLicense returns NodesNodesCertifyLegal.DeclaredLicense, and is useful for accessing the field via an interface.

func (*NodesNodesCertifyLegal) GetDeclaredLicenses added in v0.2.0

GetDeclaredLicenses returns NodesNodesCertifyLegal.DeclaredLicenses, and is useful for accessing the field via an interface.

func (*NodesNodesCertifyLegal) GetDiscoveredLicense added in v0.2.0

func (v *NodesNodesCertifyLegal) GetDiscoveredLicense() string

GetDiscoveredLicense returns NodesNodesCertifyLegal.DiscoveredLicense, and is useful for accessing the field via an interface.

func (*NodesNodesCertifyLegal) GetDiscoveredLicenses added in v0.2.0

GetDiscoveredLicenses returns NodesNodesCertifyLegal.DiscoveredLicenses, and is useful for accessing the field via an interface.

func (*NodesNodesCertifyLegal) GetId added in v0.2.0

func (v *NodesNodesCertifyLegal) GetId() string

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

func (*NodesNodesCertifyLegal) GetJustification added in v0.2.0

func (v *NodesNodesCertifyLegal) GetJustification() string

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

func (*NodesNodesCertifyLegal) GetOrigin added in v0.2.0

func (v *NodesNodesCertifyLegal) GetOrigin() string

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

func (*NodesNodesCertifyLegal) GetSubject added in v0.2.0

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

func (*NodesNodesCertifyLegal) GetTimeScanned added in v0.2.0

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

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

func (*NodesNodesCertifyLegal) GetTypename added in v0.2.0

func (v *NodesNodesCertifyLegal) GetTypename() *string

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

func (*NodesNodesCertifyLegal) MarshalJSON added in v0.2.0

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

func (*NodesNodesCertifyLegal) UnmarshalJSON added in v0.2.0

func (v *NodesNodesCertifyLegal) 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.

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, we attach the a vulnerability with "NoVuln" type and an empty string for the vulnerability ID.

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 NodesNodesHasMetadata added in v0.1.1

type NodesNodesHasMetadata struct {
	Typename       *string `json:"__typename"`
	AllHasMetadata `json:"-"`
}

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) GetCollector added in v0.2.0

func (v *NodesNodesHasMetadata) GetCollector() string

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

func (*NodesNodesHasMetadata) GetId added in v0.2.0

func (v *NodesNodesHasMetadata) GetId() string

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

func (*NodesNodesHasMetadata) GetJustification added in v0.2.0

func (v *NodesNodesHasMetadata) GetJustification() string

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

func (*NodesNodesHasMetadata) GetKey added in v0.2.0

func (v *NodesNodesHasMetadata) GetKey() string

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

func (*NodesNodesHasMetadata) GetOrigin added in v0.2.0

func (v *NodesNodesHasMetadata) GetOrigin() string

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

func (*NodesNodesHasMetadata) GetSubject added in v0.2.0

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

func (*NodesNodesHasMetadata) GetTimestamp added in v0.2.0

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

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

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.

func (*NodesNodesHasMetadata) GetValue added in v0.2.0

func (v *NodesNodesHasMetadata) GetValue() string

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

func (*NodesNodesHasMetadata) MarshalJSON added in v0.2.0

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

func (*NodesNodesHasMetadata) UnmarshalJSON added in v0.2.0

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

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) GetIncludedDependencies added in v0.4.0

GetIncludedDependencies returns NodesNodesHasSBOM.IncludedDependencies, and is useful for accessing the field via an interface.

func (*NodesNodesHasSBOM) GetIncludedOccurrences added in v0.4.0

GetIncludedOccurrences returns NodesNodesHasSBOM.IncludedOccurrences, and is useful for accessing the field via an interface.

func (*NodesNodesHasSBOM) GetIncludedSoftware added in v0.4.0

GetIncludedSoftware returns NodesNodesHasSBOM.IncludedSoftware, and is useful for accessing the field via an interface.

func (*NodesNodesHasSBOM) GetKnownSince added in v0.2.1

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

GetKnownSince returns NodesNodesHasSBOM.KnownSince, 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) GetDependencyPackage added in v0.2.0

GetDependencyPackage returns NodesNodesIsDependency.DependencyPackage, 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) 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 NodesNodesLicense added in v0.2.0

type NodesNodesLicense struct {
	Typename       *string `json:"__typename"`
	AllLicenseTree `json:"-"`
}

NodesNodesLicense includes the requested fields of the GraphQL type License. The GraphQL type's documentation follows.

License represents a particular license. If the license is found on the SPDX license list (https://spdx.org/licenses/) then the fields should be:

Name: SPDX license identifier Inline: empty ListVersion: SPDX license list version

example:

Name: AGPL-3.0-or-later Inline: "" ListVersion: 3.21 2023-06-18

If the license is not on the SPDX license list, then a new guid should be created and the license text placed inline:

Name: LicenseRef-<guid> Inline: Full license text ListVersion: empty

example:

Name: LicenseRef-1a2b3c Inline: Permission to use, copy, modify, and/or distribute ... ListVersion: ""

func (*NodesNodesLicense) GetId added in v0.2.0

func (v *NodesNodesLicense) GetId() string

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

func (*NodesNodesLicense) GetInline added in v0.2.0

func (v *NodesNodesLicense) GetInline() *string

GetInline returns NodesNodesLicense.Inline, and is useful for accessing the field via an interface.

func (*NodesNodesLicense) GetListVersion added in v0.2.0

func (v *NodesNodesLicense) GetListVersion() *string

GetListVersion returns NodesNodesLicense.ListVersion, and is useful for accessing the field via an interface.

func (*NodesNodesLicense) GetName added in v0.2.0

func (v *NodesNodesLicense) GetName() string

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

func (*NodesNodesLicense) GetTypename added in v0.2.0

func (v *NodesNodesLicense) GetTypename() *string

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

func (*NodesNodesLicense) MarshalJSON added in v0.2.0

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

func (*NodesNodesLicense) UnmarshalJSON added in v0.2.0

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

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 NodesNodesCertifyBad NodesNodesCertifyGood NodesNodesCertifyLegal NodesNodesCertifyScorecard NodesNodesCertifyVEXStatement NodesNodesCertifyVuln NodesNodesHasMetadata NodesNodesHasSBOM NodesNodesHasSLSA NodesNodesHasSourceAt NodesNodesHashEqual NodesNodesIsDependency NodesNodesIsOccurrence NodesNodesLicense NodesNodesPackage NodesNodesPkgEqual NodesNodesPointOfContact NodesNodesSource NodesNodesVulnEqual NodesNodesVulnerability NodesNodesVulnerabilityMetadata 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 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"`
	AllPointOfContact `json:"-"`
}

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) GetCollector added in v0.1.2

func (v *NodesNodesPointOfContact) GetCollector() string

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

func (*NodesNodesPointOfContact) GetEmail added in v0.1.2

func (v *NodesNodesPointOfContact) GetEmail() string

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

func (*NodesNodesPointOfContact) GetId added in v0.1.2

func (v *NodesNodesPointOfContact) GetId() string

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

func (*NodesNodesPointOfContact) GetInfo added in v0.1.2

func (v *NodesNodesPointOfContact) GetInfo() string

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

func (*NodesNodesPointOfContact) GetJustification added in v0.1.2

func (v *NodesNodesPointOfContact) GetJustification() string

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

func (*NodesNodesPointOfContact) GetOrigin added in v0.1.2

func (v *NodesNodesPointOfContact) GetOrigin() string

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

func (*NodesNodesPointOfContact) GetSince added in v0.1.2

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

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

func (*NodesNodesPointOfContact) GetSubject added in v0.1.2

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

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.

func (*NodesNodesPointOfContact) MarshalJSON added in v0.1.2

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

func (*NodesNodesPointOfContact) UnmarshalJSON added in v0.1.2

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

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 NodesNodesVulnEqual added in v0.2.0

type NodesNodesVulnEqual struct {
	Typename     *string `json:"__typename"`
	AllVulnEqual `json:"-"`
}

NodesNodesVulnEqual includes the requested fields of the GraphQL type VulnEqual. The GraphQL type's documentation follows.

VulnEqual is an attestation to link two vulnerabilities together as being equal"

Note that setting noVuln vulnerability type is invalid for VulnEqual!

func (*NodesNodesVulnEqual) GetCollector added in v0.2.0

func (v *NodesNodesVulnEqual) GetCollector() string

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

func (*NodesNodesVulnEqual) GetId added in v0.2.0

func (v *NodesNodesVulnEqual) GetId() string

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

func (*NodesNodesVulnEqual) GetJustification added in v0.2.0

func (v *NodesNodesVulnEqual) GetJustification() string

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

func (*NodesNodesVulnEqual) GetOrigin added in v0.2.0

func (v *NodesNodesVulnEqual) GetOrigin() string

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

func (*NodesNodesVulnEqual) GetTypename added in v0.2.0

func (v *NodesNodesVulnEqual) GetTypename() *string

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

func (*NodesNodesVulnEqual) GetVulnerabilities added in v0.2.0

GetVulnerabilities returns NodesNodesVulnEqual.Vulnerabilities, and is useful for accessing the field via an interface.

func (*NodesNodesVulnEqual) MarshalJSON added in v0.2.0

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

func (*NodesNodesVulnEqual) UnmarshalJSON added in v0.2.0

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

type NodesNodesVulnerability added in v0.2.0

type NodesNodesVulnerability struct {
	Typename             *string `json:"__typename"`
	AllVulnerabilityTree `json:"-"`
}

NodesNodesVulnerability includes the requested fields of the GraphQL type Vulnerability. The GraphQL type's documentation follows.

Vulnerability represents the root of the vulnerability trie/tree.

We map vulnerability information to a trie, as a derivative of the pURL specification: each path in the trie represents a type and a vulnerability ID. This allows for generic representation of the various vulnerabilities and does not limit to just cve, ghsa or osv. This would be in the general format: vuln://<general-type>/<vuln-id>

Examples:

CVE, using path separator: vuln://cve/cve-2023-20753 OSV, representing its knowledge of a GHSA: vuln://osv/ghsa-205hk Random vendor: vuln://snyk/sn-whatever NoVuln: vuln://novuln/

This node represents the type part of the trie path. It is used to represent the specific type of the vulnerability: cve, ghsa, osv or some other vendor specific

Since this node is at the root of the vulnerability trie, it is named Vulnerability, not VulnerabilityType.

NoVuln is a special vulnerability node to attest that no vulnerability has been found during a vulnerability scan. It will have the type "novuln" and contain an empty string for vulnerabilityID

The resolvers will enforce that both the type and vulnerability IDs are lower case.

func (*NodesNodesVulnerability) GetId added in v0.2.0

func (v *NodesNodesVulnerability) GetId() string

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

func (*NodesNodesVulnerability) GetType added in v0.2.0

func (v *NodesNodesVulnerability) GetType() string

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

func (*NodesNodesVulnerability) GetTypename added in v0.2.0

func (v *NodesNodesVulnerability) GetTypename() *string

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

func (*NodesNodesVulnerability) GetVulnerabilityIDs added in v0.2.0

GetVulnerabilityIDs returns NodesNodesVulnerability.VulnerabilityIDs, and is useful for accessing the field via an interface.

func (*NodesNodesVulnerability) MarshalJSON added in v0.2.0

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

func (*NodesNodesVulnerability) UnmarshalJSON added in v0.2.0

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

type NodesNodesVulnerabilityMetadata added in v0.2.0

type NodesNodesVulnerabilityMetadata struct {
	Typename            *string `json:"__typename"`
	AllVulnMetadataTree `json:"-"`
}

NodesNodesVulnerabilityMetadata includes the requested fields of the GraphQL type VulnerabilityMetadata. The GraphQL type's documentation follows.

VulnerabilityMetadata is an attestation that a vulnerability has a related score associated with it.

The intent of this evidence tree predicate is to allow extensibility of vulnerability score (one-to-one mapping) with a specific vulnerability ID.

A vulnerability ID can have a one-to-many relationship with the VulnerabilityMetadata node as a vulnerability ID can have multiple scores (in various frameworks).

Examples:

scoreType: EPSSv1 scoreValue: 0.960760000

scoreType: CVSSv2 scoreValue: 5.0

scoreType: CVSSv3 scoreValue: 7.5

The timestamp is used to determine when the score was evaluated for the specific vulnerability.

func (*NodesNodesVulnerabilityMetadata) GetCollector added in v0.2.0

func (v *NodesNodesVulnerabilityMetadata) GetCollector() string

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

func (*NodesNodesVulnerabilityMetadata) GetId added in v0.2.0

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

func (*NodesNodesVulnerabilityMetadata) GetOrigin added in v0.2.0

func (v *NodesNodesVulnerabilityMetadata) GetOrigin() string

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

func (*NodesNodesVulnerabilityMetadata) GetScoreType added in v0.2.0

GetScoreType returns NodesNodesVulnerabilityMetadata.ScoreType, and is useful for accessing the field via an interface.

func (*NodesNodesVulnerabilityMetadata) GetScoreValue added in v0.2.0

func (v *NodesNodesVulnerabilityMetadata) GetScoreValue() float64

GetScoreValue returns NodesNodesVulnerabilityMetadata.ScoreValue, and is useful for accessing the field via an interface.

func (*NodesNodesVulnerabilityMetadata) GetTimestamp added in v0.2.0

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

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

func (*NodesNodesVulnerabilityMetadata) GetTypename added in v0.2.0

func (v *NodesNodesVulnerabilityMetadata) GetTypename() *string

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

func (*NodesNodesVulnerabilityMetadata) GetVulnerability added in v0.2.0

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

func (*NodesNodesVulnerabilityMetadata) MarshalJSON added in v0.2.0

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

func (*NodesNodesVulnerabilityMetadata) UnmarshalJSON added in v0.2.0

func (v *NodesNodesVulnerabilityMetadata) 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 PackageNamesPackagesPackage added in v0.1.2

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

PackageNamesPackagesPackage 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 (*PackageNamesPackagesPackage) GetId added in v0.1.2

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

func (*PackageNamesPackagesPackage) GetNamespaces added in v0.1.2

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

func (*PackageNamesPackagesPackage) GetType added in v0.1.2

func (v *PackageNamesPackagesPackage) GetType() string

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

type PackageNamesPackagesPackageNamespacesPackageNamespace added in v0.1.2

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

PackageNamesPackagesPackageNamespacesPackageNamespace 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 (*PackageNamesPackagesPackageNamespacesPackageNamespace) GetId added in v0.1.2

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

func (*PackageNamesPackagesPackageNamespacesPackageNamespace) GetNames added in v0.1.2

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

func (*PackageNamesPackagesPackageNamespacesPackageNamespace) GetNamespace added in v0.1.2

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

type PackageNamesPackagesPackageNamespacesPackageNamespaceNamesPackageName added in v0.1.2

type PackageNamesPackagesPackageNamespacesPackageNamespaceNamesPackageName struct {
	Id   string `json:"id"`
	Name string `json:"name"`
}

PackageNamesPackagesPackageNamespacesPackageNamespaceNamesPackageName 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 (*PackageNamesPackagesPackageNamespacesPackageNamespaceNamesPackageName) GetId added in v0.1.2

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

func (*PackageNamesPackagesPackageNamespacesPackageNamespaceNamesPackageName) GetName added in v0.1.2

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

type PackageNamesResponse added in v0.1.2

type PackageNamesResponse struct {
	// Returns all packages matching a filter.
	Packages []PackageNamesPackagesPackage `json:"packages"`
}

PackageNamesResponse is returned by PackageNames on success.

func PackageNames added in v0.1.2

func PackageNames(
	ctx_ context.Context,
	client_ graphql.Client,
	filter PkgSpec,
) (*PackageNamesResponse, error)

func (*PackageNamesResponse) GetPackages added in v0.1.2

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

type PackageNamespacesPackagesPackage added in v0.1.2

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

PackageNamespacesPackagesPackage 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 (*PackageNamespacesPackagesPackage) GetId added in v0.1.2

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

func (*PackageNamespacesPackagesPackage) GetNamespaces added in v0.1.2

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

func (*PackageNamespacesPackagesPackage) GetType added in v0.1.2

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

type PackageNamespacesPackagesPackageNamespacesPackageNamespace added in v0.1.2

type PackageNamespacesPackagesPackageNamespacesPackageNamespace struct {
	Id        string `json:"id"`
	Namespace string `json:"namespace"`
}

PackageNamespacesPackagesPackageNamespacesPackageNamespace 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 (*PackageNamespacesPackagesPackageNamespacesPackageNamespace) GetId added in v0.1.2

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

func (*PackageNamespacesPackagesPackageNamespacesPackageNamespace) GetNamespace added in v0.1.2

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

type PackageNamespacesResponse added in v0.1.2

type PackageNamespacesResponse struct {
	// Returns all packages matching a filter.
	Packages []PackageNamespacesPackagesPackage `json:"packages"`
}

PackageNamespacesResponse is returned by PackageNamespaces on success.

func PackageNamespaces added in v0.1.2

func PackageNamespaces(
	ctx_ context.Context,
	client_ graphql.Client,
	filter PkgSpec,
) (*PackageNamespacesResponse, error)

func (*PackageNamespacesResponse) GetPackages added in v0.1.2

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

type PackageOrArtifactSpec added in v0.4.0

type PackageOrArtifactSpec struct {
	Package  *PkgSpec      `json:"package"`
	Artifact *ArtifactSpec `json:"artifact"`
}

PackageOrArtifactSpec allows using PackageOrArtifact union as input type to be used in read queries.

Exactly one of the value must be set to non-nil.

func (*PackageOrArtifactSpec) GetArtifact added in v0.4.0

func (v *PackageOrArtifactSpec) GetArtifact() *ArtifactSpec

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

func (*PackageOrArtifactSpec) GetPackage added in v0.4.0

func (v *PackageOrArtifactSpec) GetPackage() *PkgSpec

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

type PackageOrSourceSpec added in v0.2.0

type PackageOrSourceSpec struct {
	Package *PkgSpec    `json:"package"`
	Source  *SourceSpec `json:"source"`
}

PackageOrSourceSpec allows using PackageOrSource union as input for queries.

Exactly one field must be specified.

func (*PackageOrSourceSpec) GetPackage added in v0.2.0

func (v *PackageOrSourceSpec) GetPackage() *PkgSpec

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

func (*PackageOrSourceSpec) GetSource added in v0.2.0

func (v *PackageOrSourceSpec) GetSource() *SourceSpec

GetSource returns PackageOrSourceSpec.Source, 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 PackageTypesPackagesPackage added in v0.1.2

type PackageTypesPackagesPackage struct {
	Id   string `json:"id"`
	Type string `json:"type"`
}

PackageTypesPackagesPackage 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 (*PackageTypesPackagesPackage) GetId added in v0.1.2

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

func (*PackageTypesPackagesPackage) GetType added in v0.1.2

func (v *PackageTypesPackagesPackage) GetType() string

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

type PackageTypesResponse added in v0.1.2

type PackageTypesResponse struct {
	// Returns all packages matching a filter.
	Packages []PackageTypesPackagesPackage `json:"packages"`
}

PackageTypesResponse is returned by PackageTypes on success.

func PackageTypes added in v0.1.2

func PackageTypes(
	ctx_ context.Context,
	client_ graphql.Client,
	filter PkgSpec,
) (*PackageTypesResponse, error)

func (*PackageTypesResponse) GetPackages added in v0.1.2

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

type PackageVersionsPackagesPackage added in v0.1.2

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

PackageVersionsPackagesPackage 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 (*PackageVersionsPackagesPackage) GetId added in v0.1.2

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

func (*PackageVersionsPackagesPackage) GetNamespaces added in v0.1.2

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

func (*PackageVersionsPackagesPackage) GetType added in v0.1.2

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

type PackageVersionsPackagesPackageNamespacesPackageNamespace added in v0.1.2

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

PackageVersionsPackagesPackageNamespacesPackageNamespace 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 (*PackageVersionsPackagesPackageNamespacesPackageNamespace) GetId added in v0.1.2

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

func (*PackageVersionsPackagesPackageNamespacesPackageNamespace) GetNames added in v0.1.2

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

func (*PackageVersionsPackagesPackageNamespacesPackageNamespace) GetNamespace added in v0.1.2

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

type PackageVersionsPackagesPackageNamespacesPackageNamespaceNamesPackageName added in v0.1.2

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

PackageVersionsPackagesPackageNamespacesPackageNamespaceNamesPackageName 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 (*PackageVersionsPackagesPackageNamespacesPackageNamespaceNamesPackageName) GetId added in v0.1.2

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

func (*PackageVersionsPackagesPackageNamespacesPackageNamespaceNamesPackageName) GetName added in v0.1.2

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

func (*PackageVersionsPackagesPackageNamespacesPackageNamespaceNamesPackageName) GetVersions added in v0.1.2

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

type PackageVersionsPackagesPackageNamespacesPackageNamespaceNamesPackageNameVersionsPackageVersion added in v0.1.2

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

PackageVersionsPackagesPackageNamespacesPackageNamespaceNamesPackageNameVersionsPackageVersion 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 (*PackageVersionsPackagesPackageNamespacesPackageNamespaceNamesPackageNameVersionsPackageVersion) GetId added in v0.1.2

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

func (*PackageVersionsPackagesPackageNamespacesPackageNamespaceNamesPackageNameVersionsPackageVersion) GetQualifiers added in v0.1.2

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

func (*PackageVersionsPackagesPackageNamespacesPackageNamespaceNamesPackageNameVersionsPackageVersion) GetSubpath added in v0.1.2

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

func (*PackageVersionsPackagesPackageNamespacesPackageNamespaceNamesPackageNameVersionsPackageVersion) GetVersion added in v0.1.2

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

type PackageVersionsPackagesPackageNamespacesPackageNamespaceNamesPackageNameVersionsPackageVersionQualifiersPackageQualifier added in v0.1.2

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

PackageVersionsPackagesPackageNamespacesPackageNamespaceNamesPackageNameVersionsPackageVersionQualifiersPackageQualifier 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 (*PackageVersionsPackagesPackageNamespacesPackageNamespaceNamesPackageNameVersionsPackageVersionQualifiersPackageQualifier) GetKey added in v0.1.2

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

func (*PackageVersionsPackagesPackageNamespacesPackageNamespaceNamesPackageNameVersionsPackageVersionQualifiersPackageQualifier) GetValue added in v0.1.2

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

type PackageVersionsResponse added in v0.1.2

type PackageVersionsResponse struct {
	// Returns all packages matching a filter.
	Packages []PackageVersionsPackagesPackage `json:"packages"`
}

PackageVersionsResponse is returned by PackageVersions on success.

func PackageVersions added in v0.1.2

func PackageVersions(
	ctx_ context.Context,
	client_ graphql.Client,
	filter PkgSpec,
) (*PackageVersionsResponse, error)

func (*PackageVersionsResponse) GetPackages added in v0.1.2

GetPackages returns PackageVersionsResponse.Packages, 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 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) GetKnownSince added in v0.2.1

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

GetKnownSince returns PathPathCertifyBad.KnownSince, 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) GetKnownSince added in v0.2.1

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

GetKnownSince returns PathPathCertifyGood.KnownSince, 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 PathPathCertifyLegal added in v0.2.0

type PathPathCertifyLegal struct {
	Typename            *string `json:"__typename"`
	AllCertifyLegalTree `json:"-"`
}

PathPathCertifyLegal includes the requested fields of the GraphQL type CertifyLegal. The GraphQL type's documentation follows.

CertifyLegal is an attestation to attach legal information to a package or source.

The certification information is either copied from an attestation found in an SBOM or created by a collector/scanner.

Discovered license is also known as Concluded. More information: https://docs.clearlydefined.io/curation-guidelines#the-difference-between-declared-and-discovered-licenses

Attribution is also known as Copyright Text. It is what could be displayed to comply with notice requirements. https://www.nexb.com/oss-attribution-best-practices/

License expressions follow this format: https://spdx.github.io/spdx-spec/v2.3/SPDX-license-expressions/

func (*PathPathCertifyLegal) GetAttribution added in v0.2.0

func (v *PathPathCertifyLegal) GetAttribution() string

GetAttribution returns PathPathCertifyLegal.Attribution, and is useful for accessing the field via an interface.

func (*PathPathCertifyLegal) GetCollector added in v0.2.0

func (v *PathPathCertifyLegal) GetCollector() string

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

func (*PathPathCertifyLegal) GetDeclaredLicense added in v0.2.0

func (v *PathPathCertifyLegal) GetDeclaredLicense() string

GetDeclaredLicense returns PathPathCertifyLegal.DeclaredLicense, and is useful for accessing the field via an interface.

func (*PathPathCertifyLegal) GetDeclaredLicenses added in v0.2.0

GetDeclaredLicenses returns PathPathCertifyLegal.DeclaredLicenses, and is useful for accessing the field via an interface.

func (*PathPathCertifyLegal) GetDiscoveredLicense added in v0.2.0

func (v *PathPathCertifyLegal) GetDiscoveredLicense() string

GetDiscoveredLicense returns PathPathCertifyLegal.DiscoveredLicense, and is useful for accessing the field via an interface.

func (*PathPathCertifyLegal) GetDiscoveredLicenses added in v0.2.0

GetDiscoveredLicenses returns PathPathCertifyLegal.DiscoveredLicenses, and is useful for accessing the field via an interface.

func (*PathPathCertifyLegal) GetId added in v0.2.0

func (v *PathPathCertifyLegal) GetId() string

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

func (*PathPathCertifyLegal) GetJustification added in v0.2.0

func (v *PathPathCertifyLegal) GetJustification() string

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

func (*PathPathCertifyLegal) GetOrigin added in v0.2.0

func (v *PathPathCertifyLegal) GetOrigin() string

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

func (*PathPathCertifyLegal) GetSubject added in v0.2.0

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

func (*PathPathCertifyLegal) GetTimeScanned added in v0.2.0

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

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

func (*PathPathCertifyLegal) GetTypename added in v0.2.0

func (v *PathPathCertifyLegal) GetTypename() *string

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

func (*PathPathCertifyLegal) MarshalJSON added in v0.2.0

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

func (*PathPathCertifyLegal) UnmarshalJSON added in v0.2.0

func (v *PathPathCertifyLegal) 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.

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, we attach the a vulnerability with "NoVuln" type and an empty string for the vulnerability ID.

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 PathPathHasMetadata added in v0.1.1

type PathPathHasMetadata struct {
	Typename       *string `json:"__typename"`
	AllHasMetadata `json:"-"`
}

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) GetCollector added in v0.2.0

func (v *PathPathHasMetadata) GetCollector() string

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

func (*PathPathHasMetadata) GetId added in v0.2.0

func (v *PathPathHasMetadata) GetId() string

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

func (*PathPathHasMetadata) GetJustification added in v0.2.0

func (v *PathPathHasMetadata) GetJustification() string

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

func (*PathPathHasMetadata) GetKey added in v0.2.0

func (v *PathPathHasMetadata) GetKey() string

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

func (*PathPathHasMetadata) GetOrigin added in v0.2.0

func (v *PathPathHasMetadata) GetOrigin() string

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

func (*PathPathHasMetadata) GetSubject added in v0.2.0

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

func (*PathPathHasMetadata) GetTimestamp added in v0.2.0

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

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

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.

func (*PathPathHasMetadata) GetValue added in v0.2.0

func (v *PathPathHasMetadata) GetValue() string

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

func (*PathPathHasMetadata) MarshalJSON added in v0.2.0

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

func (*PathPathHasMetadata) UnmarshalJSON added in v0.2.0

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

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) GetIncludedDependencies added in v0.4.0

func (v *PathPathHasSBOM) GetIncludedDependencies() []AllHasSBOMTreeIncludedDependenciesIsDependency

GetIncludedDependencies returns PathPathHasSBOM.IncludedDependencies, and is useful for accessing the field via an interface.

func (*PathPathHasSBOM) GetIncludedOccurrences added in v0.4.0

func (v *PathPathHasSBOM) GetIncludedOccurrences() []AllHasSBOMTreeIncludedOccurrencesIsOccurrence

GetIncludedOccurrences returns PathPathHasSBOM.IncludedOccurrences, and is useful for accessing the field via an interface.

func (*PathPathHasSBOM) GetIncludedSoftware added in v0.4.0

GetIncludedSoftware returns PathPathHasSBOM.IncludedSoftware, and is useful for accessing the field via an interface.

func (*PathPathHasSBOM) GetKnownSince added in v0.2.1

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

GetKnownSince returns PathPathHasSBOM.KnownSince, 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) GetDependencyPackage added in v0.2.0

GetDependencyPackage returns PathPathIsDependency.DependencyPackage, 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) 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 PathPathLicense added in v0.2.0

type PathPathLicense struct {
	Typename       *string `json:"__typename"`
	AllLicenseTree `json:"-"`
}

PathPathLicense includes the requested fields of the GraphQL type License. The GraphQL type's documentation follows.

License represents a particular license. If the license is found on the SPDX license list (https://spdx.org/licenses/) then the fields should be:

Name: SPDX license identifier Inline: empty ListVersion: SPDX license list version

example:

Name: AGPL-3.0-or-later Inline: "" ListVersion: 3.21 2023-06-18

If the license is not on the SPDX license list, then a new guid should be created and the license text placed inline:

Name: LicenseRef-<guid> Inline: Full license text ListVersion: empty

example:

Name: LicenseRef-1a2b3c Inline: Permission to use, copy, modify, and/or distribute ... ListVersion: ""

func (*PathPathLicense) GetId added in v0.2.0

func (v *PathPathLicense) GetId() string

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

func (*PathPathLicense) GetInline added in v0.2.0

func (v *PathPathLicense) GetInline() *string

GetInline returns PathPathLicense.Inline, and is useful for accessing the field via an interface.

func (*PathPathLicense) GetListVersion added in v0.2.0

func (v *PathPathLicense) GetListVersion() *string

GetListVersion returns PathPathLicense.ListVersion, and is useful for accessing the field via an interface.

func (*PathPathLicense) GetName added in v0.2.0

func (v *PathPathLicense) GetName() string

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

func (*PathPathLicense) GetTypename added in v0.2.0

func (v *PathPathLicense) GetTypename() *string

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

func (*PathPathLicense) MarshalJSON added in v0.2.0

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

func (*PathPathLicense) UnmarshalJSON added in v0.2.0

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

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 PathPathCertifyBad PathPathCertifyGood PathPathCertifyLegal PathPathCertifyScorecard PathPathCertifyVEXStatement PathPathCertifyVuln PathPathHasMetadata PathPathHasSBOM PathPathHasSLSA PathPathHasSourceAt PathPathHashEqual PathPathIsDependency PathPathIsOccurrence PathPathLicense PathPathPackage PathPathPkgEqual PathPathPointOfContact PathPathSource PathPathVulnEqual PathPathVulnerability PathPathVulnerabilityMetadata 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 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"`
	AllPointOfContact `json:"-"`
}

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) GetCollector added in v0.1.2

func (v *PathPathPointOfContact) GetCollector() string

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

func (*PathPathPointOfContact) GetEmail added in v0.1.2

func (v *PathPathPointOfContact) GetEmail() string

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

func (*PathPathPointOfContact) GetId added in v0.1.2

func (v *PathPathPointOfContact) GetId() string

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

func (*PathPathPointOfContact) GetInfo added in v0.1.2

func (v *PathPathPointOfContact) GetInfo() string

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

func (*PathPathPointOfContact) GetJustification added in v0.1.2

func (v *PathPathPointOfContact) GetJustification() string

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

func (*PathPathPointOfContact) GetOrigin added in v0.1.2

func (v *PathPathPointOfContact) GetOrigin() string

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

func (*PathPathPointOfContact) GetSince added in v0.1.2

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

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

func (*PathPathPointOfContact) GetSubject added in v0.1.2

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

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.

func (*PathPathPointOfContact) MarshalJSON added in v0.1.2

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

func (*PathPathPointOfContact) UnmarshalJSON added in v0.1.2

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

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 PathPathVulnEqual added in v0.2.0

type PathPathVulnEqual struct {
	Typename     *string `json:"__typename"`
	AllVulnEqual `json:"-"`
}

PathPathVulnEqual includes the requested fields of the GraphQL type VulnEqual. The GraphQL type's documentation follows.

VulnEqual is an attestation to link two vulnerabilities together as being equal"

Note that setting noVuln vulnerability type is invalid for VulnEqual!

func (*PathPathVulnEqual) GetCollector added in v0.2.0

func (v *PathPathVulnEqual) GetCollector() string

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

func (*PathPathVulnEqual) GetId added in v0.2.0

func (v *PathPathVulnEqual) GetId() string

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

func (*PathPathVulnEqual) GetJustification added in v0.2.0

func (v *PathPathVulnEqual) GetJustification() string

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

func (*PathPathVulnEqual) GetOrigin added in v0.2.0

func (v *PathPathVulnEqual) GetOrigin() string

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

func (*PathPathVulnEqual) GetTypename added in v0.2.0

func (v *PathPathVulnEqual) GetTypename() *string

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

func (*PathPathVulnEqual) GetVulnerabilities added in v0.2.0

GetVulnerabilities returns PathPathVulnEqual.Vulnerabilities, and is useful for accessing the field via an interface.

func (*PathPathVulnEqual) MarshalJSON added in v0.2.0

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

func (*PathPathVulnEqual) UnmarshalJSON added in v0.2.0

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

type PathPathVulnerability added in v0.2.0

type PathPathVulnerability struct {
	Typename             *string `json:"__typename"`
	AllVulnerabilityTree `json:"-"`
}

PathPathVulnerability includes the requested fields of the GraphQL type Vulnerability. The GraphQL type's documentation follows.

Vulnerability represents the root of the vulnerability trie/tree.

We map vulnerability information to a trie, as a derivative of the pURL specification: each path in the trie represents a type and a vulnerability ID. This allows for generic representation of the various vulnerabilities and does not limit to just cve, ghsa or osv. This would be in the general format: vuln://<general-type>/<vuln-id>

Examples:

CVE, using path separator: vuln://cve/cve-2023-20753 OSV, representing its knowledge of a GHSA: vuln://osv/ghsa-205hk Random vendor: vuln://snyk/sn-whatever NoVuln: vuln://novuln/

This node represents the type part of the trie path. It is used to represent the specific type of the vulnerability: cve, ghsa, osv or some other vendor specific

Since this node is at the root of the vulnerability trie, it is named Vulnerability, not VulnerabilityType.

NoVuln is a special vulnerability node to attest that no vulnerability has been found during a vulnerability scan. It will have the type "novuln" and contain an empty string for vulnerabilityID

The resolvers will enforce that both the type and vulnerability IDs are lower case.

func (*PathPathVulnerability) GetId added in v0.2.0

func (v *PathPathVulnerability) GetId() string

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

func (*PathPathVulnerability) GetType added in v0.2.0

func (v *PathPathVulnerability) GetType() string

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

func (*PathPathVulnerability) GetTypename added in v0.2.0

func (v *PathPathVulnerability) GetTypename() *string

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

func (*PathPathVulnerability) GetVulnerabilityIDs added in v0.2.0

GetVulnerabilityIDs returns PathPathVulnerability.VulnerabilityIDs, and is useful for accessing the field via an interface.

func (*PathPathVulnerability) MarshalJSON added in v0.2.0

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

func (*PathPathVulnerability) UnmarshalJSON added in v0.2.0

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

type PathPathVulnerabilityMetadata added in v0.2.0

type PathPathVulnerabilityMetadata struct {
	Typename            *string `json:"__typename"`
	AllVulnMetadataTree `json:"-"`
}

PathPathVulnerabilityMetadata includes the requested fields of the GraphQL type VulnerabilityMetadata. The GraphQL type's documentation follows.

VulnerabilityMetadata is an attestation that a vulnerability has a related score associated with it.

The intent of this evidence tree predicate is to allow extensibility of vulnerability score (one-to-one mapping) with a specific vulnerability ID.

A vulnerability ID can have a one-to-many relationship with the VulnerabilityMetadata node as a vulnerability ID can have multiple scores (in various frameworks).

Examples:

scoreType: EPSSv1 scoreValue: 0.960760000

scoreType: CVSSv2 scoreValue: 5.0

scoreType: CVSSv3 scoreValue: 7.5

The timestamp is used to determine when the score was evaluated for the specific vulnerability.

func (*PathPathVulnerabilityMetadata) GetCollector added in v0.2.0

func (v *PathPathVulnerabilityMetadata) GetCollector() string

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

func (*PathPathVulnerabilityMetadata) GetId added in v0.2.0

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

func (*PathPathVulnerabilityMetadata) GetOrigin added in v0.2.0

func (v *PathPathVulnerabilityMetadata) GetOrigin() string

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

func (*PathPathVulnerabilityMetadata) GetScoreType added in v0.2.0

GetScoreType returns PathPathVulnerabilityMetadata.ScoreType, and is useful for accessing the field via an interface.

func (*PathPathVulnerabilityMetadata) GetScoreValue added in v0.2.0

func (v *PathPathVulnerabilityMetadata) GetScoreValue() float64

GetScoreValue returns PathPathVulnerabilityMetadata.ScoreValue, and is useful for accessing the field via an interface.

func (*PathPathVulnerabilityMetadata) GetTimestamp added in v0.2.0

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

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

func (*PathPathVulnerabilityMetadata) GetTypename added in v0.2.0

func (v *PathPathVulnerabilityMetadata) GetTypename() *string

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

func (*PathPathVulnerabilityMetadata) GetVulnerability added in v0.2.0

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

func (*PathPathVulnerabilityMetadata) MarshalJSON added in v0.2.0

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

func (*PathPathVulnerabilityMetadata) UnmarshalJSON added in v0.2.0

func (v *PathPathVulnerabilityMetadata) 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 PkgEqualInputSpec

type PkgEqualInputSpec struct {
	Justification string `json:"justification"`
	Origin        string `json:"origin"`
	Collector     string `json:"collector"`
	DocumentRef   string `json:"documentRef"`
}

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) GetDocumentRef added in v0.6.0

func (v *PkgEqualInputSpec) GetDocumentRef() string

GetDocumentRef returns PkgEqualInputSpec.DocumentRef, 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 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.

The id field can be used to match on a specific node in the trie to match packageTypeID, packageNamespaceID, packageNameID, or packageVersionID.

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 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"`
	DocumentRef   string    `json:"documentRef"`
}

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) GetDocumentRef added in v0.6.0

func (v *PointOfContactInputSpec) GetDocumentRef() string

GetDocumentRef returns PointOfContactInputSpec.DocumentRef, 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 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"`
	DocumentRef   string                   `json:"documentRef"`
}

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) GetDocumentRef added in v0.6.0

func (v *SLSAInputSpec) GetDocumentRef() string

GetDocumentRef returns SLSAInputSpec.DocumentRef, 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 ScanMetadataInput added in v0.2.0

type ScanMetadataInput 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"`
	DocumentRef    string    `json:"documentRef"`
}

ScanMetadataInput represents the input for certifying vulnerability scans in mutations.

func (*ScanMetadataInput) GetCollector added in v0.2.0

func (v *ScanMetadataInput) GetCollector() string

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

func (*ScanMetadataInput) GetDbUri added in v0.2.0

func (v *ScanMetadataInput) GetDbUri() string

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

func (*ScanMetadataInput) GetDbVersion added in v0.2.0

func (v *ScanMetadataInput) GetDbVersion() string

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

func (*ScanMetadataInput) GetDocumentRef added in v0.6.0

func (v *ScanMetadataInput) GetDocumentRef() string

GetDocumentRef returns ScanMetadataInput.DocumentRef, and is useful for accessing the field via an interface.

func (*ScanMetadataInput) GetOrigin added in v0.2.0

func (v *ScanMetadataInput) GetOrigin() string

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

func (*ScanMetadataInput) GetScannerUri added in v0.2.0

func (v *ScanMetadataInput) GetScannerUri() string

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

func (*ScanMetadataInput) GetScannerVersion added in v0.2.0

func (v *ScanMetadataInput) GetScannerVersion() string

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

func (*ScanMetadataInput) GetTimeScanned added in v0.2.0

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

GetTimeScanned returns ScanMetadataInput.TimeScanned, 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 ScorecardCheckSpec added in v0.5.2

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

ScorecardCheckSpec is the same as ScorecardCheck, but usable as query input.

func (*ScorecardCheckSpec) GetCheck added in v0.5.2

func (v *ScorecardCheckSpec) GetCheck() string

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

func (*ScorecardCheckSpec) GetScore added in v0.5.2

func (v *ScorecardCheckSpec) GetScore() int

GetScore returns ScorecardCheckSpec.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"`
	DocumentRef      string                    `json:"documentRef"`
}

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) GetDocumentRef added in v0.6.0

func (v *ScorecardInputSpec) GetDocumentRef() string

GetDocumentRef returns ScorecardInputSpec.DocumentRef, 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 ScorecardsResponse added in v0.5.2

type ScorecardsResponse struct {
	// Returns all Scorecard certifications matching the filter.
	Scorecards []ScorecardsScorecardsCertifyScorecard `json:"scorecards"`
}

ScorecardsResponse is returned by Scorecards on success.

func Scorecards added in v0.5.2

func Scorecards(
	ctx_ context.Context,
	client_ graphql.Client,
	filter CertifyScorecardSpec,
) (*ScorecardsResponse, error)

func (*ScorecardsResponse) GetScorecards added in v0.5.2

GetScorecards returns ScorecardsResponse.Scorecards, and is useful for accessing the field via an interface.

type ScorecardsScorecardsCertifyScorecard added in v0.5.2

type ScorecardsScorecardsCertifyScorecard struct {
	AllCertifyScorecard `json:"-"`
}

ScorecardsScorecardsCertifyScorecard 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 (*ScorecardsScorecardsCertifyScorecard) GetId added in v0.5.2

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

func (*ScorecardsScorecardsCertifyScorecard) GetScorecard added in v0.5.2

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

func (*ScorecardsScorecardsCertifyScorecard) GetSource added in v0.5.2

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

func (*ScorecardsScorecardsCertifyScorecard) MarshalJSON added in v0.5.2

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

func (*ScorecardsScorecardsCertifyScorecard) UnmarshalJSON added in v0.5.2

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

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 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 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"`
	DocumentRef      string           `json:"documentRef"`
}

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) GetDocumentRef added in v0.6.0

func (v *VexStatementInputSpec) GetDocumentRef() string

GetDocumentRef returns VexStatementInputSpec.DocumentRef, 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 VulnEqualInputSpec added in v0.2.0

type VulnEqualInputSpec struct {
	Justification string `json:"justification"`
	Origin        string `json:"origin"`
	Collector     string `json:"collector"`
	DocumentRef   string `json:"documentRef"`
}

VulnEqualInputSpec represents the input to link vulnerabilities to each other.

func (*VulnEqualInputSpec) GetCollector added in v0.2.0

func (v *VulnEqualInputSpec) GetCollector() string

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

func (*VulnEqualInputSpec) GetDocumentRef added in v0.6.0

func (v *VulnEqualInputSpec) GetDocumentRef() string

GetDocumentRef returns VulnEqualInputSpec.DocumentRef, and is useful for accessing the field via an interface.

func (*VulnEqualInputSpec) GetJustification added in v0.2.0

func (v *VulnEqualInputSpec) GetJustification() string

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

func (*VulnEqualInputSpec) GetOrigin added in v0.2.0

func (v *VulnEqualInputSpec) GetOrigin() string

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

type VulnerabilitiesResponse added in v0.2.0

type VulnerabilitiesResponse struct {
	// Returns all vulnerabilities matching a filter.
	Vulnerabilities []VulnerabilitiesVulnerabilitiesVulnerability `json:"vulnerabilities"`
}

VulnerabilitiesResponse is returned by Vulnerabilities on success.

func Vulnerabilities added in v0.2.0

func Vulnerabilities(
	ctx_ context.Context,
	client_ graphql.Client,
	filter VulnerabilitySpec,
) (*VulnerabilitiesResponse, error)

func (*VulnerabilitiesResponse) GetVulnerabilities added in v0.2.0

GetVulnerabilities returns VulnerabilitiesResponse.Vulnerabilities, and is useful for accessing the field via an interface.

type VulnerabilitiesVulnerabilitiesVulnerability added in v0.2.0

type VulnerabilitiesVulnerabilitiesVulnerability struct {
	AllVulnerabilityTree `json:"-"`
}

VulnerabilitiesVulnerabilitiesVulnerability includes the requested fields of the GraphQL type Vulnerability. The GraphQL type's documentation follows.

Vulnerability represents the root of the vulnerability trie/tree.

We map vulnerability information to a trie, as a derivative of the pURL specification: each path in the trie represents a type and a vulnerability ID. This allows for generic representation of the various vulnerabilities and does not limit to just cve, ghsa or osv. This would be in the general format: vuln://<general-type>/<vuln-id>

Examples:

CVE, using path separator: vuln://cve/cve-2023-20753 OSV, representing its knowledge of a GHSA: vuln://osv/ghsa-205hk Random vendor: vuln://snyk/sn-whatever NoVuln: vuln://novuln/

This node represents the type part of the trie path. It is used to represent the specific type of the vulnerability: cve, ghsa, osv or some other vendor specific

Since this node is at the root of the vulnerability trie, it is named Vulnerability, not VulnerabilityType.

NoVuln is a special vulnerability node to attest that no vulnerability has been found during a vulnerability scan. It will have the type "novuln" and contain an empty string for vulnerabilityID

The resolvers will enforce that both the type and vulnerability IDs are lower case.

func (*VulnerabilitiesVulnerabilitiesVulnerability) GetId added in v0.2.0

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

func (*VulnerabilitiesVulnerabilitiesVulnerability) GetType added in v0.2.0

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

func (*VulnerabilitiesVulnerabilitiesVulnerability) GetVulnerabilityIDs added in v0.2.0

GetVulnerabilityIDs returns VulnerabilitiesVulnerabilitiesVulnerability.VulnerabilityIDs, and is useful for accessing the field via an interface.

func (*VulnerabilitiesVulnerabilitiesVulnerability) MarshalJSON added in v0.2.0

func (*VulnerabilitiesVulnerabilitiesVulnerability) UnmarshalJSON added in v0.2.0

type VulnerabilityInputSpec added in v0.2.0

type VulnerabilityInputSpec struct {
	Type            string `json:"type"`
	VulnerabilityID string `json:"vulnerabilityID"`
}

VulnInputSpec specifies a vulnerability for mutations.

This is different than VulnSpec because we want to encode mandatory fields: type and vulnerabilityID.

func (*VulnerabilityInputSpec) GetType added in v0.2.0

func (v *VulnerabilityInputSpec) GetType() string

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

func (*VulnerabilityInputSpec) GetVulnerabilityID added in v0.2.0

func (v *VulnerabilityInputSpec) GetVulnerabilityID() string

GetVulnerabilityID returns VulnerabilityInputSpec.VulnerabilityID, and is useful for accessing the field via an interface.

type VulnerabilityMetadataInputSpec added in v0.2.0

type VulnerabilityMetadataInputSpec struct {
	ScoreType   VulnerabilityScoreType `json:"scoreType"`
	ScoreValue  float64                `json:"scoreValue"`
	Timestamp   time.Time              `json:"timestamp"`
	Origin      string                 `json:"origin"`
	Collector   string                 `json:"collector"`
	DocumentRef string                 `json:"documentRef"`
}

VulnerabilityMetadataInputSpec represents the mutation input to ingest a vulnerability metadata.

func (*VulnerabilityMetadataInputSpec) GetCollector added in v0.2.0

func (v *VulnerabilityMetadataInputSpec) GetCollector() string

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

func (*VulnerabilityMetadataInputSpec) GetDocumentRef added in v0.6.0

func (v *VulnerabilityMetadataInputSpec) GetDocumentRef() string

GetDocumentRef returns VulnerabilityMetadataInputSpec.DocumentRef, and is useful for accessing the field via an interface.

func (*VulnerabilityMetadataInputSpec) GetOrigin added in v0.2.0

func (v *VulnerabilityMetadataInputSpec) GetOrigin() string

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

func (*VulnerabilityMetadataInputSpec) GetScoreType added in v0.2.0

GetScoreType returns VulnerabilityMetadataInputSpec.ScoreType, and is useful for accessing the field via an interface.

func (*VulnerabilityMetadataInputSpec) GetScoreValue added in v0.2.0

func (v *VulnerabilityMetadataInputSpec) GetScoreValue() float64

GetScoreValue returns VulnerabilityMetadataInputSpec.ScoreValue, and is useful for accessing the field via an interface.

func (*VulnerabilityMetadataInputSpec) GetTimestamp added in v0.2.0

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

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

type VulnerabilityScoreType added in v0.2.0

type VulnerabilityScoreType string

Records the type of the score being captured by the score node

const (
	VulnerabilityScoreTypeCvssv2  VulnerabilityScoreType = "CVSSv2"
	VulnerabilityScoreTypeCvssv3  VulnerabilityScoreType = "CVSSv3"
	VulnerabilityScoreTypeEpssv1  VulnerabilityScoreType = "EPSSv1"
	VulnerabilityScoreTypeEpssv2  VulnerabilityScoreType = "EPSSv2"
	VulnerabilityScoreTypeCvssv31 VulnerabilityScoreType = "CVSSv31"
	VulnerabilityScoreTypeCvssv4  VulnerabilityScoreType = "CVSSv4"
	VulnerabilityScoreTypeOwasp   VulnerabilityScoreType = "OWASP"
	VulnerabilityScoreTypeSsvc    VulnerabilityScoreType = "SSVC"
)

type VulnerabilitySpec added in v0.2.0

type VulnerabilitySpec struct {
	Id              *string `json:"id"`
	Type            *string `json:"type"`
	VulnerabilityID *string `json:"vulnerabilityID"`
	NoVuln          *bool   `json:"noVuln"`
}

VulnerabilitySpec allows filtering the list of vulnerabilities to return in a query.

Use null to match on all values at that level. For example, to get all vulnerabilities in GUAC backend, use a VulnSpec where every field is null.

Setting the noVuln boolean true will ignore the other inputs for type and vulnerabilityID. Setting noVuln to true means retrieving only nodes where the type of the vulnerability is "novuln" and the it has an empty string for vulnerabilityID. Setting it to false filters out all results that are "novuln". Setting one of the other fields and omitting the noVuln means retrieving vulnerabilities for the corresponding type and vulnerabilityID. Omission of noVuln field will return all vulnerabilities and novuln.

func (*VulnerabilitySpec) GetId added in v0.2.0

func (v *VulnerabilitySpec) GetId() *string

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

func (*VulnerabilitySpec) GetNoVuln added in v0.2.0

func (v *VulnerabilitySpec) GetNoVuln() *bool

GetNoVuln returns VulnerabilitySpec.NoVuln, and is useful for accessing the field via an interface.

func (*VulnerabilitySpec) GetType added in v0.2.0

func (v *VulnerabilitySpec) GetType() *string

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

func (*VulnerabilitySpec) GetVulnerabilityID added in v0.2.0

func (v *VulnerabilitySpec) GetVulnerabilityID() *string

GetVulnerabilityID returns VulnerabilitySpec.VulnerabilityID, 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