Help us shape the future of Go! Take the 2026 Go Developer Survey

sarif

package
v1.2.1 Latest Latest
Warning

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

Go to latest
Published: Apr 8, 2026 License: AGPL-3.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Address

type Address struct {
	// The address expressed as a byte offset from the start of the addressable
	// region.
	AbsoluteAddress int `json:"absoluteAddress,omitempty" yaml:"absoluteAddress,omitempty" mapstructure:"absoluteAddress,omitempty"`

	// A human-readable fully qualified name that is associated with the address.
	FullyQualifiedName *string `json:"fullyQualifiedName,omitempty" yaml:"fullyQualifiedName,omitempty" mapstructure:"fullyQualifiedName,omitempty"`

	// The index within run.addresses of the cached object for this address.
	Index int `json:"index,omitempty" yaml:"index,omitempty" mapstructure:"index,omitempty"`

	// An open-ended string that identifies the address kind. 'data', 'function',
	// 'header','instruction', 'module', 'page', 'section', 'segment', 'stack',
	// 'stackFrame', 'table' are well-known values.
	Kind *string `json:"kind,omitempty" yaml:"kind,omitempty" mapstructure:"kind,omitempty"`

	// The number of bytes in this range of addresses.
	Length *int `json:"length,omitempty" yaml:"length,omitempty" mapstructure:"length,omitempty"`

	// A name that is associated with the address, e.g., '.text'.
	Name *string `json:"name,omitempty" yaml:"name,omitempty" mapstructure:"name,omitempty"`

	// The byte offset of this address from the absolute or relative address of the
	// parent object.
	OffsetFromParent *int `json:"offsetFromParent,omitempty" yaml:"offsetFromParent,omitempty" mapstructure:"offsetFromParent,omitempty"`

	// The index within run.addresses of the parent object.
	ParentIndex int `json:"parentIndex,omitempty" yaml:"parentIndex,omitempty" mapstructure:"parentIndex,omitempty"`

	// Key/value pairs that provide additional information about the address.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`

	// The address expressed as a byte offset from the absolute address of the
	// top-most parent object.
	RelativeAddress *int `json:"relativeAddress,omitempty" yaml:"relativeAddress,omitempty" mapstructure:"relativeAddress,omitempty"`
}

A physical or virtual address, or a range of addresses, in an 'addressable region' (memory or a binary file).

func (*Address) UnmarshalJSON

func (j *Address) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type Artifact

type Artifact struct {
	// The contents of the artifact.
	Contents *ArtifactContent `json:"contents,omitempty" yaml:"contents,omitempty" mapstructure:"contents,omitempty"`

	// A short description of the artifact.
	Description Message `json:"description,omitempty" yaml:"description,omitempty" mapstructure:"description,omitempty"`

	// Specifies the encoding for an artifact object that refers to a text file.
	Encoding *string `json:"encoding,omitempty" yaml:"encoding,omitempty" mapstructure:"encoding,omitempty"`

	// A dictionary, each of whose keys is the name of a hash function and each of
	// whose values is the hashed value of the artifact produced by the specified hash
	// function.
	Hashes map[string]string `json:"hashes,omitempty" yaml:"hashes,omitempty" mapstructure:"hashes,omitempty"`

	// The Coordinated Universal Time (UTC) date and time at which the artifact was
	// most recently modified. See "Date/time properties" in the SARIF spec for the
	// required format.
	LastModifiedTimeUtc *time.Time `json:"lastModifiedTimeUtc,omitempty" yaml:"lastModifiedTimeUtc,omitempty" mapstructure:"lastModifiedTimeUtc,omitempty"`

	// The length of the artifact in bytes.
	Length int `json:"length,omitempty" yaml:"length,omitempty" mapstructure:"length,omitempty"`

	// The location of the artifact.
	Location *ArtifactLocation `json:"location,omitempty" yaml:"location,omitempty" mapstructure:"location,omitempty"`

	// The MIME type (RFC 2045) of the artifact.
	MimeType *string `json:"mimeType,omitempty" yaml:"mimeType,omitempty" mapstructure:"mimeType,omitempty"`

	// The offset in bytes of the artifact within its containing artifact.
	Offset *int `json:"offset,omitempty" yaml:"offset,omitempty" mapstructure:"offset,omitempty"`

	// IDentifies the index of the immediate parent of the artifact, if this artifact
	// is nested.
	ParentIndex int `json:"parentIndex,omitempty" yaml:"parentIndex,omitempty" mapstructure:"parentIndex,omitempty"`

	// Key/value pairs that provide additional information about the artifact.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`

	// The role or roles played by the artifact in the analysis.
	Roles []ArtifactRolesElem `json:"roles,omitempty" yaml:"roles,omitempty" mapstructure:"roles,omitempty"`

	// Specifies the source language for any artifact object that refers to a text
	// file that contains source code.
	SourceLanguage *string `json:"sourceLanguage,omitempty" yaml:"sourceLanguage,omitempty" mapstructure:"sourceLanguage,omitempty"`
}

A single artifact. In some cases, this artifact might be nested within another artifact.

func (*Artifact) UnmarshalJSON

func (j *Artifact) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type ArtifactChange

type ArtifactChange struct {
	// The location of the artifact to change.
	ArtifactLocation ArtifactLocation `json:"artifactLocation" yaml:"artifactLocation" mapstructure:"artifactLocation"`

	// Key/value pairs that provide additional information about the change.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`

	// An array of replacement objects, each of which represents the replacement of a
	// single region in a single artifact specified by 'artifactLocation'.
	Replacements []Replacement `json:"replacements" yaml:"replacements" mapstructure:"replacements"`
}

A change to a single artifact.

func (*ArtifactChange) UnmarshalJSON

func (j *ArtifactChange) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type ArtifactContent

type ArtifactContent struct {
	// MIME Base64-encoded content from a binary artifact, or from a text artifact in
	// its original encoding.
	Binary *string `json:"binary,omitempty" yaml:"binary,omitempty" mapstructure:"binary,omitempty"`

	// Key/value pairs that provide additional information about the artifact content.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`

	// An alternate rendered representation of the artifact (e.g., a decompiled
	// representation of a binary region).
	Rendered *MultiformatMessageString `json:"rendered,omitempty" yaml:"rendered,omitempty" mapstructure:"rendered,omitempty"`

	// UTF-8-encoded content from a text artifact.
	Text *string `json:"text,omitempty" yaml:"text,omitempty" mapstructure:"text,omitempty"`
}

Represents the contents of an artifact.

type ArtifactLocation

type ArtifactLocation struct {
	// A short description of the artifact location.
	Description Message `json:"description,omitempty" yaml:"description,omitempty" mapstructure:"description,omitempty"`

	// The index within the run artifacts array of the artifact object associated with
	// the artifact location.
	Index int `json:"index,omitempty" yaml:"index,omitempty" mapstructure:"index,omitempty"`

	// Key/value pairs that provide additional information about the artifact
	// location.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`

	// A string containing a valid relative or absolute URI.
	URI *string `json:"uri,omitempty" yaml:"uri,omitempty" mapstructure:"uri,omitempty"`

	// A string which indirectly specifies the absolute URI with respect to which a
	// relative URI in the "uri" property is interpreted.
	URIBaseID *string `json:"uriBaseID,omitempty" yaml:"uriBaseID,omitempty" mapstructure:"uriBaseID,omitempty"`
}

Specifies the location of an artifact.

func (*ArtifactLocation) UnmarshalJSON

func (j *ArtifactLocation) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type ArtifactRolesElem

type ArtifactRolesElem string
const ArtifactRolesElemAdded ArtifactRolesElem = "added"
const ArtifactRolesElemAnalysisTarget ArtifactRolesElem = "analysisTarget"
const ArtifactRolesElemAttachment ArtifactRolesElem = "attachment"
const ArtifactRolesElemDebugOutputFile ArtifactRolesElem = "debugOutputFile"
const ArtifactRolesElemDeleted ArtifactRolesElem = "deleted"
const ArtifactRolesElemDirectory ArtifactRolesElem = "directory"
const ArtifactRolesElemDriver ArtifactRolesElem = "driver"
const ArtifactRolesElemExtension ArtifactRolesElem = "extension"
const ArtifactRolesElemMemoryContents ArtifactRolesElem = "memoryContents"
const ArtifactRolesElemModified ArtifactRolesElem = "modified"
const ArtifactRolesElemPolicy ArtifactRolesElem = "policy"
const ArtifactRolesElemReferencedOnCommandLine ArtifactRolesElem = "referencedOnCommandLine"
const ArtifactRolesElemRenamed ArtifactRolesElem = "renamed"
const ArtifactRolesElemResponseFile ArtifactRolesElem = "responseFile"
const ArtifactRolesElemResultFile ArtifactRolesElem = "resultFile"
const ArtifactRolesElemStandardStream ArtifactRolesElem = "standardStream"
const ArtifactRolesElemTaxonomy ArtifactRolesElem = "taxonomy"
const ArtifactRolesElemToolSpecifiedConfiguration ArtifactRolesElem = "toolSpecifiedConfiguration"
const ArtifactRolesElemTracedFile ArtifactRolesElem = "tracedFile"
const ArtifactRolesElemTranslation ArtifactRolesElem = "translation"
const ArtifactRolesElemUncontrolled ArtifactRolesElem = "uncontrolled"
const ArtifactRolesElemUnmodified ArtifactRolesElem = "unmodified"
const ArtifactRolesElemUserSpecifiedConfiguration ArtifactRolesElem = "userSpecifiedConfiguration"

func (*ArtifactRolesElem) UnmarshalJSON

func (j *ArtifactRolesElem) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type Attachment

type Attachment struct {
	// The location of the attachment.
	ArtifactLocation ArtifactLocation `json:"artifactLocation" yaml:"artifactLocation" mapstructure:"artifactLocation"`

	// A message describing the role played by the attachment.
	Description Message `json:"description,omitempty" yaml:"description,omitempty" mapstructure:"description,omitempty"`

	// Key/value pairs that provide additional information about the attachment.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`

	// An array of rectangles specifying areas of interest within the image.
	Rectangles []Rectangle `json:"rectangles,omitempty" yaml:"rectangles,omitempty" mapstructure:"rectangles,omitempty"`

	// An array of regions of interest within the attachment.
	Regions []Region `json:"regions,omitempty" yaml:"regions,omitempty" mapstructure:"regions,omitempty"`
}

An artifact relevant to a result.

func (*Attachment) UnmarshalJSON

func (j *Attachment) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type CodeFlow

type CodeFlow struct {
	// A message relevant to the code flow.
	Message Message `json:"message,omitempty" yaml:"message,omitempty" mapstructure:"message,omitempty"`

	// Key/value pairs that provide additional information about the code flow.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`

	// An array of one or more unique threadFlow objects, each of which describes the
	// progress of a program through a thread of execution.
	ThreadFlows []ThreadFlow `json:"threadFlows" yaml:"threadFlows" mapstructure:"threadFlows"`
}

A set of threadFlows which together describe a pattern of code execution relevant to detecting a result.

func (*CodeFlow) UnmarshalJSON

func (j *CodeFlow) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type ConfigurationOverride

type ConfigurationOverride struct {
	// Specifies how the rule or notification was configured during the scan.
	Configuration ReportingConfiguration `json:"configuration" yaml:"configuration" mapstructure:"configuration"`

	// A reference used to locate the descriptor whose configuration was overridden.
	Descriptor ReportingDescriptorReference `json:"descriptor" yaml:"descriptor" mapstructure:"descriptor"`

	// Key/value pairs that provide additional information about the configuration
	// override.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`
}

Information about how a specific rule or notification was reconfigured at runtime.

func (*ConfigurationOverride) UnmarshalJSON

func (j *ConfigurationOverride) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type Conversion

type Conversion struct {
	// The locations of the analysis tool's per-run log files.
	AnalysisToolLogFiles []ArtifactLocation `json:"analysisToolLogFiles,omitempty" yaml:"analysisToolLogFiles,omitempty" mapstructure:"analysisToolLogFiles,omitempty"`

	// An invocation object that describes the invocation of the converter.
	Invocation *Invocation `json:"invocation,omitempty" yaml:"invocation,omitempty" mapstructure:"invocation,omitempty"`

	// Key/value pairs that provide additional information about the conversion.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`

	// A tool object that describes the converter.
	Tool Tool `json:"tool" yaml:"tool" mapstructure:"tool"`
}

Describes how a converter transformed the output of a static analysis tool from the analysis tool's native output format into the SARIF format.

func (*Conversion) UnmarshalJSON

func (j *Conversion) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type Edge

type Edge struct {
	// A string that uniquely identifies the edge within its graph.
	ID string `json:"id" yaml:"id" mapstructure:"id"`

	// A short description of the edge.
	Label Message `json:"label,omitempty" yaml:"label,omitempty" mapstructure:"label,omitempty"`

	// Key/value pairs that provide additional information about the edge.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`

	// IDentifies the source node (the node at which the edge starts).
	SourceNodeID string `json:"sourceNodeID" yaml:"sourceNodeID" mapstructure:"sourceNodeID"`

	// IDentifies the target node (the node at which the edge ends).
	TargetNodeID string `json:"targetNodeID" yaml:"targetNodeID" mapstructure:"targetNodeID"`
}

Represents a directed edge in a graph.

func (*Edge) UnmarshalJSON

func (j *Edge) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type EdgeTraversal

type EdgeTraversal struct {
	// IDentifies the edge being traversed.
	EdgeID string `json:"edgeID" yaml:"edgeID" mapstructure:"edgeID"`

	// The values of relevant expressions after the edge has been traversed.
	FinalState map[string]MultiformatMessageString `json:"finalState,omitempty" yaml:"finalState,omitempty" mapstructure:"finalState,omitempty"`

	// A message to display to the user as the edge is traversed.
	Message Message `json:"message,omitempty" yaml:"message,omitempty" mapstructure:"message,omitempty"`

	// Key/value pairs that provide additional information about the edge traversal.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`

	// The number of edge traversals necessary to return from a nested graph.
	StepOverEdgeCount *int `json:"stepOverEdgeCount,omitempty" yaml:"stepOverEdgeCount,omitempty" mapstructure:"stepOverEdgeCount,omitempty"`
}

Represents the traversal of a single edge during a graph traversal.

func (*EdgeTraversal) UnmarshalJSON

func (j *EdgeTraversal) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type Exception

type Exception struct {
	// An array of exception objects each of which is considered a cause of this
	// exception.
	InnerExceptions []Exception `json:"innerExceptions,omitempty" yaml:"innerExceptions,omitempty" mapstructure:"innerExceptions,omitempty"`

	// A string that identifies the kind of exception, for example, the fully
	// qualified type name of an object that was thrown, or the symbolic name of a
	// signal.
	Kind *string `json:"kind,omitempty" yaml:"kind,omitempty" mapstructure:"kind,omitempty"`

	// A message that describes the exception.
	Message *string `json:"message,omitempty" yaml:"message,omitempty" mapstructure:"message,omitempty"`

	// Key/value pairs that provide additional information about the exception.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`

	// The sequence of function calls leading to the exception.
	Stack *Stack `json:"stack,omitempty" yaml:"stack,omitempty" mapstructure:"stack,omitempty"`
}

Describes a runtime exception encountered during the execution of an analysis tool.

func (*Exception) UnmarshalJSON

func (j *Exception) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type ExternalProperties

type ExternalProperties struct {
	// Addresses that will be merged with a separate run.
	Addresses []Address `json:"addresses,omitempty" yaml:"addresses,omitempty" mapstructure:"addresses,omitempty"`

	// An array of artifact objects that will be merged with a separate run.
	Artifacts []Artifact `json:"artifacts,omitempty" yaml:"artifacts,omitempty" mapstructure:"artifacts,omitempty"`

	// A conversion object that will be merged with a separate run.
	Conversion *Conversion `json:"conversion,omitempty" yaml:"conversion,omitempty" mapstructure:"conversion,omitempty"`

	// The analysis tool object that will be merged with a separate run.
	Driver *ToolComponent `json:"driver,omitempty" yaml:"driver,omitempty" mapstructure:"driver,omitempty"`

	// Tool extensions that will be merged with a separate run.
	Extensions []ToolComponent `json:"extensions,omitempty" yaml:"extensions,omitempty" mapstructure:"extensions,omitempty"`

	// Key/value pairs that provide additional information that will be merged with a
	// separate run.
	ExternalizedProperties *PropertyBag `` /* 127-byte string literal not displayed */

	// An array of graph objects that will be merged with a separate run.
	Graphs []Graph `json:"graphs,omitempty" yaml:"graphs,omitempty" mapstructure:"graphs,omitempty"`

	// A stable, unique identifier for this external properties object, in the form of
	// a GUID.
	Guid *string `json:"guid,omitempty" yaml:"guid,omitempty" mapstructure:"guid,omitempty"`

	// Describes the invocation of the analysis tool that will be merged with a
	// separate run.
	Invocations []Invocation `json:"invocations,omitempty" yaml:"invocations,omitempty" mapstructure:"invocations,omitempty"`

	// An array of logical locations such as namespaces, types or functions that will
	// be merged with a separate run.
	LogicalLocations []LogicalLocation `json:"logicalLocations,omitempty" yaml:"logicalLocations,omitempty" mapstructure:"logicalLocations,omitempty"`

	// Tool policies that will be merged with a separate run.
	Policies []ToolComponent `json:"policies,omitempty" yaml:"policies,omitempty" mapstructure:"policies,omitempty"`

	// Key/value pairs that provide additional information about the external
	// properties.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`

	// An array of result objects that will be merged with a separate run.
	Results []Result `json:"results,omitempty" yaml:"results,omitempty" mapstructure:"results,omitempty"`

	// A stable, unique identifier for the run associated with this external
	// properties object, in the form of a GUID.
	RunGuid *string `json:"runGuid,omitempty" yaml:"runGuid,omitempty" mapstructure:"runGuid,omitempty"`

	// The URI of the JSON schema corresponding to the version of the external
	// property file format.
	Schema *string `json:"schema,omitempty" yaml:"schema,omitempty" mapstructure:"schema,omitempty"`

	// Tool taxonomies that will be merged with a separate run.
	Taxonomies []ToolComponent `json:"taxonomies,omitempty" yaml:"taxonomies,omitempty" mapstructure:"taxonomies,omitempty"`

	// An array of threadFlowLocation objects that will be merged with a separate run.
	ThreadFlowLocations []ThreadFlowLocation `json:"threadFlowLocations,omitempty" yaml:"threadFlowLocations,omitempty" mapstructure:"threadFlowLocations,omitempty"`

	// Tool translations that will be merged with a separate run.
	Translations []ToolComponent `json:"translations,omitempty" yaml:"translations,omitempty" mapstructure:"translations,omitempty"`

	// The SARIF format version of this external properties object.
	Version *ExternalPropertiesVersion `json:"version,omitempty" yaml:"version,omitempty" mapstructure:"version,omitempty"`

	// Requests that will be merged with a separate run.
	WebRequests []WebRequest `json:"webRequests,omitempty" yaml:"webRequests,omitempty" mapstructure:"webRequests,omitempty"`

	// Responses that will be merged with a separate run.
	WebResponses []WebResponse `json:"webResponses,omitempty" yaml:"webResponses,omitempty" mapstructure:"webResponses,omitempty"`
}

The top-level element of an external property file.

func (*ExternalProperties) UnmarshalJSON

func (j *ExternalProperties) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type ExternalPropertiesVersion

type ExternalPropertiesVersion string
const ExternalPropertiesVersionA210 ExternalPropertiesVersion = "2.1.0"

func (*ExternalPropertiesVersion) UnmarshalJSON

func (j *ExternalPropertiesVersion) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type ExternalPropertyFileReference

type ExternalPropertyFileReference interface{}

Contains information that enables a SARIF consumer to locate the external property file that contains the value of an externalized property associated with the run.

type ExternalPropertyFileReferences

type ExternalPropertyFileReferences struct {
	// An array of external property files containing run.addresses arrays to be
	// merged with the root log file.
	Addresses []ExternalPropertyFileReference `json:"addresses,omitempty" yaml:"addresses,omitempty" mapstructure:"addresses,omitempty"`

	// An array of external property files containing run.artifacts arrays to be
	// merged with the root log file.
	Artifacts []ExternalPropertyFileReference `json:"artifacts,omitempty" yaml:"artifacts,omitempty" mapstructure:"artifacts,omitempty"`

	// An external property file containing a run.conversion object to be merged with
	// the root log file.
	Conversion ExternalPropertyFileReference `json:"conversion,omitempty" yaml:"conversion,omitempty" mapstructure:"conversion,omitempty"`

	// An external property file containing a run.driver object to be merged with the
	// root log file.
	Driver ExternalPropertyFileReference `json:"driver,omitempty" yaml:"driver,omitempty" mapstructure:"driver,omitempty"`

	// An array of external property files containing run.extensions arrays to be
	// merged with the root log file.
	Extensions []ExternalPropertyFileReference `json:"extensions,omitempty" yaml:"extensions,omitempty" mapstructure:"extensions,omitempty"`

	// An external property file containing a run.properties object to be merged with
	// the root log file.
	ExternalizedProperties ExternalPropertyFileReference `` /* 127-byte string literal not displayed */

	// An array of external property files containing a run.graphs object to be merged
	// with the root log file.
	Graphs []ExternalPropertyFileReference `json:"graphs,omitempty" yaml:"graphs,omitempty" mapstructure:"graphs,omitempty"`

	// An array of external property files containing run.invocations arrays to be
	// merged with the root log file.
	Invocations []ExternalPropertyFileReference `json:"invocations,omitempty" yaml:"invocations,omitempty" mapstructure:"invocations,omitempty"`

	// An array of external property files containing run.logicalLocations arrays to
	// be merged with the root log file.
	LogicalLocations []ExternalPropertyFileReference `json:"logicalLocations,omitempty" yaml:"logicalLocations,omitempty" mapstructure:"logicalLocations,omitempty"`

	// An array of external property files containing run.policies arrays to be merged
	// with the root log file.
	Policies []ExternalPropertyFileReference `json:"policies,omitempty" yaml:"policies,omitempty" mapstructure:"policies,omitempty"`

	// Key/value pairs that provide additional information about the external property
	// files.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`

	// An array of external property files containing run.results arrays to be merged
	// with the root log file.
	Results []ExternalPropertyFileReference `json:"results,omitempty" yaml:"results,omitempty" mapstructure:"results,omitempty"`

	// An array of external property files containing run.taxonomies arrays to be
	// merged with the root log file.
	Taxonomies []ExternalPropertyFileReference `json:"taxonomies,omitempty" yaml:"taxonomies,omitempty" mapstructure:"taxonomies,omitempty"`

	// An array of external property files containing run.threadFlowLocations arrays
	// to be merged with the root log file.
	ThreadFlowLocations []ExternalPropertyFileReference `json:"threadFlowLocations,omitempty" yaml:"threadFlowLocations,omitempty" mapstructure:"threadFlowLocations,omitempty"`

	// An array of external property files containing run.translations arrays to be
	// merged with the root log file.
	Translations []ExternalPropertyFileReference `json:"translations,omitempty" yaml:"translations,omitempty" mapstructure:"translations,omitempty"`

	// An array of external property files containing run.requests arrays to be merged
	// with the root log file.
	WebRequests []ExternalPropertyFileReference `json:"webRequests,omitempty" yaml:"webRequests,omitempty" mapstructure:"webRequests,omitempty"`

	// An array of external property files containing run.responses arrays to be
	// merged with the root log file.
	WebResponses []ExternalPropertyFileReference `json:"webResponses,omitempty" yaml:"webResponses,omitempty" mapstructure:"webResponses,omitempty"`
}

References to external property files that should be inlined with the content of a root log file.

func (*ExternalPropertyFileReferences) UnmarshalJSON

func (j *ExternalPropertyFileReferences) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type Fix

type Fix struct {
	// One or more artifact changes that comprise a fix for a result.
	ArtifactChanges []ArtifactChange `json:"artifactChanges" yaml:"artifactChanges" mapstructure:"artifactChanges"`

	// A message that describes the proposed fix, enabling viewers to present the
	// proposed change to an end user.
	Description Message `json:"description,omitempty" yaml:"description,omitempty" mapstructure:"description,omitempty"`

	// Key/value pairs that provide additional information about the fix.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`
}

A proposed fix for the problem represented by a result object. A fix specifies a set of artifacts to modify. For each artifact, it specifies a set of bytes to remove, and provides a set of new bytes to replace them.

func (*Fix) UnmarshalJSON

func (j *Fix) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type Graph

type Graph struct {
	// A description of the graph.
	Description Message `json:"description,omitempty" yaml:"description,omitempty" mapstructure:"description,omitempty"`

	// An array of edge objects representing the edges of the graph.
	Edges []Edge `json:"edges,omitempty" yaml:"edges,omitempty" mapstructure:"edges,omitempty"`

	// An array of node objects representing the nodes of the graph.
	Nodes []Node `json:"nodes,omitempty" yaml:"nodes,omitempty" mapstructure:"nodes,omitempty"`

	// Key/value pairs that provide additional information about the graph.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`
}

A network of nodes and directed edges that describes some aspect of the structure of the code (for example, a call graph).

func (*Graph) UnmarshalJSON

func (j *Graph) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type GraphTraversal

type GraphTraversal struct {
	// A description of this graph traversal.
	Description Message `json:"description,omitempty" yaml:"description,omitempty" mapstructure:"description,omitempty"`

	// The sequences of edges traversed by this graph traversal.
	EdgeTraversals []EdgeTraversal `json:"edgeTraversals,omitempty" yaml:"edgeTraversals,omitempty" mapstructure:"edgeTraversals,omitempty"`

	// Values of relevant expressions at the start of the graph traversal that remain
	// constant for the graph traversal.
	ImmutableState map[string]MultiformatMessageString `json:"immutableState,omitempty" yaml:"immutableState,omitempty" mapstructure:"immutableState,omitempty"`

	// Values of relevant expressions at the start of the graph traversal that may
	// change during graph traversal.
	InitialState map[string]MultiformatMessageString `json:"initialState,omitempty" yaml:"initialState,omitempty" mapstructure:"initialState,omitempty"`

	// Key/value pairs that provide additional information about the graph traversal.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`

	// The index within the result.graphs to be associated with the result.
	ResultGraphIndex int `json:"resultGraphIndex,omitempty" yaml:"resultGraphIndex,omitempty" mapstructure:"resultGraphIndex,omitempty"`

	// The index within the run.graphs to be associated with the result.
	RunGraphIndex int `json:"runGraphIndex,omitempty" yaml:"runGraphIndex,omitempty" mapstructure:"runGraphIndex,omitempty"`
}

Represents a path through a graph.

func (*GraphTraversal) UnmarshalJSON

func (j *GraphTraversal) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type Invocation

type Invocation struct {
	// The account under which the invocation occurred.
	Account *string `json:"account,omitempty" yaml:"account,omitempty" mapstructure:"account,omitempty"`

	// An array of strings, containing in order the command line arguments passed to
	// the tool from the operating system.
	Arguments []string `json:"arguments,omitempty" yaml:"arguments,omitempty" mapstructure:"arguments,omitempty"`

	// The command line used to invoke the tool.
	CommandLine *string `json:"commandLine,omitempty" yaml:"commandLine,omitempty" mapstructure:"commandLine,omitempty"`

	// The Coordinated Universal Time (UTC) date and time at which the invocation
	// ended. See "Date/time properties" in the SARIF spec for the required format.
	EndTimeUtc *time.Time `json:"endTimeUtc,omitempty" yaml:"endTimeUtc,omitempty" mapstructure:"endTimeUtc,omitempty"`

	// The environment variables associated with the analysis tool process, expressed
	// as key/value pairs.
	EnvironmentVariables map[string]string `json:"environmentVariables,omitempty" yaml:"environmentVariables,omitempty" mapstructure:"environmentVariables,omitempty"`

	// An absolute URI specifying the location of the executable that was invoked.
	ExecutableLocation *ArtifactLocation `json:"executableLocation,omitempty" yaml:"executableLocation,omitempty" mapstructure:"executableLocation,omitempty"`

	// Specifies whether the tool's execution completed successfully.
	ExecutionSuccessful bool `json:"executionSuccessful" yaml:"executionSuccessful" mapstructure:"executionSuccessful"`

	// The process exit code.
	ExitCode *int `json:"exitCode,omitempty" yaml:"exitCode,omitempty" mapstructure:"exitCode,omitempty"`

	// The reason for the process exit.
	ExitCodeDescription *string `json:"exitCodeDescription,omitempty" yaml:"exitCodeDescription,omitempty" mapstructure:"exitCodeDescription,omitempty"`

	// The name of the signal that caused the process to exit.
	ExitSignalName *string `json:"exitSignalName,omitempty" yaml:"exitSignalName,omitempty" mapstructure:"exitSignalName,omitempty"`

	// The numeric value of the signal that caused the process to exit.
	ExitSignalNumber *int `json:"exitSignalNumber,omitempty" yaml:"exitSignalNumber,omitempty" mapstructure:"exitSignalNumber,omitempty"`

	// The machine on which the invocation occurred.
	Machine *string `json:"machine,omitempty" yaml:"machine,omitempty" mapstructure:"machine,omitempty"`

	// An array of configurationOverride objects that describe notifications related
	// runtime overrides.
	NotificationConfigurationOverrides []ConfigurationOverride `` /* 163-byte string literal not displayed */

	// The id of the process in which the invocation occurred.
	ProcessID *int `json:"processID,omitempty" yaml:"processID,omitempty" mapstructure:"processID,omitempty"`

	// The reason given by the operating system that the process failed to start.
	ProcessStartFailureMessage *string `` /* 139-byte string literal not displayed */

	// Key/value pairs that provide additional information about the invocation.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`

	// The locations of any response files specified on the tool's command line.
	ResponseFiles []ArtifactLocation `json:"responseFiles,omitempty" yaml:"responseFiles,omitempty" mapstructure:"responseFiles,omitempty"`

	// An array of configurationOverride objects that describe rules related runtime
	// overrides.
	RuleConfigurationOverrides []ConfigurationOverride `` /* 139-byte string literal not displayed */

	// The Coordinated Universal Time (UTC) date and time at which the invocation
	// started. See "Date/time properties" in the SARIF spec for the required format.
	StartTimeUtc *time.Time `json:"startTimeUtc,omitempty" yaml:"startTimeUtc,omitempty" mapstructure:"startTimeUtc,omitempty"`

	// A file containing the standard error stream from the process that was invoked.
	Stderr *ArtifactLocation `json:"stderr,omitempty" yaml:"stderr,omitempty" mapstructure:"stderr,omitempty"`

	// A file containing the standard input stream to the process that was invoked.
	Stdin *ArtifactLocation `json:"stdin,omitempty" yaml:"stdin,omitempty" mapstructure:"stdin,omitempty"`

	// A file containing the standard output stream from the process that was invoked.
	Stdout *ArtifactLocation `json:"stdout,omitempty" yaml:"stdout,omitempty" mapstructure:"stdout,omitempty"`

	// A file containing the interleaved standard output and standard error stream
	// from the process that was invoked.
	StdoutStderr *ArtifactLocation `json:"stdoutStderr,omitempty" yaml:"stdoutStderr,omitempty" mapstructure:"stdoutStderr,omitempty"`

	// A list of conditions detected by the tool that are relevant to the tool's
	// configuration.
	ToolConfigurationNotifications []Notification `` /* 151-byte string literal not displayed */

	// A list of runtime conditions detected by the tool during the analysis.
	ToolExecutionNotifications []Notification `` /* 139-byte string literal not displayed */

	// The working directory for the invocation.
	WorkingDirectory *ArtifactLocation `json:"workingDirectory,omitempty" yaml:"workingDirectory,omitempty" mapstructure:"workingDirectory,omitempty"`
}

The runtime environment of the analysis tool run.

func (*Invocation) UnmarshalJSON

func (j *Invocation) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type Location

type Location struct {
	// A set of regions relevant to the location.
	Annotations []Region `json:"annotations,omitempty" yaml:"annotations,omitempty" mapstructure:"annotations,omitempty"`

	// Value that distinguishes this location from all other locations within a single
	// result object.
	ID int `json:"id,omitempty" yaml:"id,omitempty" mapstructure:"id,omitempty"`

	// The logical locations associated with the result.
	LogicalLocations []LogicalLocation `json:"logicalLocations,omitempty" yaml:"logicalLocations,omitempty" mapstructure:"logicalLocations,omitempty"`

	// A message relevant to the location.
	Message Message `json:"message,omitempty" yaml:"message,omitempty" mapstructure:"message,omitempty"`

	// IDentifies the artifact and region.
	PhysicalLocation PhysicalLocation `json:"physicalLocation,omitempty" yaml:"physicalLocation,omitempty" mapstructure:"physicalLocation,omitempty"`

	// Key/value pairs that provide additional information about the location.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`

	// An array of objects that describe relationships between this location and
	// others.
	Relationships []LocationRelationship `json:"relationships,omitempty" yaml:"relationships,omitempty" mapstructure:"relationships,omitempty"`
}

A location within a programming artifact.

func (*Location) UnmarshalJSON

func (j *Location) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type LocationRelationship

type LocationRelationship struct {
	// A description of the location relationship.
	Description Message `json:"description,omitempty" yaml:"description,omitempty" mapstructure:"description,omitempty"`

	// A set of distinct strings that categorize the relationship. Well-known kinds
	// include 'includes', 'isIncludedBy' and 'relevant'.
	Kinds []string `json:"kinds,omitempty" yaml:"kinds,omitempty" mapstructure:"kinds,omitempty"`

	// Key/value pairs that provide additional information about the location
	// relationship.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`

	// A reference to the related location.
	Target int `json:"target" yaml:"target" mapstructure:"target"`
}

Information about the relation of one location to another.

func (*LocationRelationship) UnmarshalJSON

func (j *LocationRelationship) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type LogicalLocation

type LogicalLocation struct {
	// The machine-readable name for the logical location, such as a mangled function
	// name provided by a C++ compiler that encodes calling convention, return type
	// and other details along with the function name.
	DecoratedName *string `json:"decoratedName,omitempty" yaml:"decoratedName,omitempty" mapstructure:"decoratedName,omitempty"`

	// The human-readable fully qualified name of the logical location.
	FullyQualifiedName *string `json:"fullyQualifiedName,omitempty" yaml:"fullyQualifiedName,omitempty" mapstructure:"fullyQualifiedName,omitempty"`

	// The index within the logical locations array.
	Index int `json:"index,omitempty" yaml:"index,omitempty" mapstructure:"index,omitempty"`

	// The type of construct this logical location component refers to. Should be one
	// of 'function', 'member', 'module', 'namespace', 'parameter', 'resource',
	// 'returnType', 'type', 'variable', 'object', 'array', 'property', 'value',
	// 'element', 'text', 'attribute', 'comment', 'declaration', 'dtd' or
	// 'processingInstruction', if any of those accurately describe the construct.
	Kind *string `json:"kind,omitempty" yaml:"kind,omitempty" mapstructure:"kind,omitempty"`

	// IDentifies the construct in which the result occurred. For example, this
	// property might contain the name of a class or a method.
	Name *string `json:"name,omitempty" yaml:"name,omitempty" mapstructure:"name,omitempty"`

	// IDentifies the index of the immediate parent of the construct in which the
	// result was detected. For example, this property might point to a logical
	// location that represents the namespace that holds a type.
	ParentIndex int `json:"parentIndex,omitempty" yaml:"parentIndex,omitempty" mapstructure:"parentIndex,omitempty"`

	// Key/value pairs that provide additional information about the logical location.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`
}

A logical location of a construct that produced a result.

func (*LogicalLocation) UnmarshalJSON

func (j *LogicalLocation) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type Message

type Message struct {
	Text string `json:"text" yaml:"text" mapstructure:"text"`
}

Encapsulates a message intended to be read by the end user.

type MultiformatMessageString

type MultiformatMessageString struct {
	// A Markdown message string or format string.
	Markdown *string `json:"markdown,omitempty" yaml:"markdown,omitempty" mapstructure:"markdown,omitempty"`

	// Key/value pairs that provide additional information about the message.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`

	// A plain text message string or format string.
	Text string `json:"text" yaml:"text" mapstructure:"text"`
}

A message string or message format string rendered in multiple formats.

func (*MultiformatMessageString) UnmarshalJSON

func (j *MultiformatMessageString) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type Node

type Node struct {
	// Array of child nodes.
	Children []Node `json:"children,omitempty" yaml:"children,omitempty" mapstructure:"children,omitempty"`

	// A string that uniquely identifies the node within its graph.
	ID string `json:"id" yaml:"id" mapstructure:"id"`

	// A short description of the node.
	Label Message `json:"label,omitempty" yaml:"label,omitempty" mapstructure:"label,omitempty"`

	// A code location associated with the node.
	Location *Location `json:"location,omitempty" yaml:"location,omitempty" mapstructure:"location,omitempty"`

	// Key/value pairs that provide additional information about the node.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`
}

Represents a node in a graph.

func (*Node) UnmarshalJSON

func (j *Node) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type Notification

type Notification struct {
	// A reference used to locate the rule descriptor associated with this
	// notification.
	AssociatedRule ReportingDescriptorReference `json:"associatedRule,omitempty" yaml:"associatedRule,omitempty" mapstructure:"associatedRule,omitempty"`

	// A reference used to locate the descriptor relevant to this notification.
	Descriptor ReportingDescriptorReference `json:"descriptor,omitempty" yaml:"descriptor,omitempty" mapstructure:"descriptor,omitempty"`

	// The runtime exception, if any, relevant to this notification.
	Exception *Exception `json:"exception,omitempty" yaml:"exception,omitempty" mapstructure:"exception,omitempty"`

	// A value specifying the severity level of the notification.
	Level NotificationLevel `json:"level,omitempty" yaml:"level,omitempty" mapstructure:"level,omitempty"`

	// The locations relevant to this notification.
	Locations []Location `json:"locations,omitempty" yaml:"locations,omitempty" mapstructure:"locations,omitempty"`

	// A message that describes the condition that was encountered.
	Message Message `json:"message" yaml:"message" mapstructure:"message"`

	// Key/value pairs that provide additional information about the notification.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`

	// The thread identifier of the code that generated the notification.
	ThreadID *int `json:"threadID,omitempty" yaml:"threadID,omitempty" mapstructure:"threadID,omitempty"`

	// The Coordinated Universal Time (UTC) date and time at which the analysis tool
	// generated the notification.
	TimeUtc *time.Time `json:"timeUtc,omitempty" yaml:"timeUtc,omitempty" mapstructure:"timeUtc,omitempty"`
}

Describes a condition relevant to the tool itself, as opposed to being relevant to a target being analyzed by the tool.

func (*Notification) UnmarshalJSON

func (j *Notification) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type NotificationLevel

type NotificationLevel string
const NotificationLevelError NotificationLevel = "error"
const NotificationLevelNone NotificationLevel = "none"
const NotificationLevelNote NotificationLevel = "note"
const NotificationLevelWarning NotificationLevel = "warning"

func (*NotificationLevel) UnmarshalJSON

func (j *NotificationLevel) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type PhysicalLocation

type PhysicalLocation struct {
	Address *Address `json:"address,omitempty" yaml:"address,omitempty" mapstructure:"address,omitempty"`

	ArtifactLocation ArtifactLocation `json:"artifactLocation,omitempty" yaml:"artifactLocation,omitempty" mapstructure:"artifactLocation,omitempty"`

	Region *Region `json:"region,omitempty" yaml:"region,omitempty" mapstructure:"region,omitempty"`

	ContextRegion *Region `json:"contextRegion,omitempty" yaml:"contextRegion,omitempty" mapstructure:"contextRegion,omitempty"`

	// Key/value pairs that provide additional information about the physical
	// location.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`
}

A physical location relevant to a result. Specifies a reference to a programming artifact together with a range of bytes or characters within that artifact.

type PropertyBag

type PropertyBag struct {
	// A set of distinct strings that provide additional information.
	Tags []string `json:"tags,omitempty" yaml:"tags,omitempty" mapstructure:"tags,omitempty"`

	AdditionalProperties map[string]any `mapstructure:",remain"`
}

Key/value pairs that provide additional information about the object.

func (*PropertyBag) UnmarshalJSON

func (j *PropertyBag) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type Rectangle

type Rectangle struct {
	// The Y coordinate of the bottom edge of the rectangle, measured in the image's
	// natural units.
	Bottom *float64 `json:"bottom,omitempty" yaml:"bottom,omitempty" mapstructure:"bottom,omitempty"`

	// The X coordinate of the left edge of the rectangle, measured in the image's
	// natural units.
	Left *float64 `json:"left,omitempty" yaml:"left,omitempty" mapstructure:"left,omitempty"`

	// A message relevant to the rectangle.
	Message Message `json:"message,omitempty" yaml:"message,omitempty" mapstructure:"message,omitempty"`

	// Key/value pairs that provide additional information about the rectangle.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`

	// The X coordinate of the right edge of the rectangle, measured in the image's
	// natural units.
	Right *float64 `json:"right,omitempty" yaml:"right,omitempty" mapstructure:"right,omitempty"`

	// The Y coordinate of the top edge of the rectangle, measured in the image's
	// natural units.
	Top *float64 `json:"top,omitempty" yaml:"top,omitempty" mapstructure:"top,omitempty"`
}

An area within an image.

type Region

type Region struct {
	StartLine *int `json:"startLine,omitempty" yaml:"startLine,omitempty" mapstructure:"startLine,omitempty"`

	StartColumn *int `json:"startColumn,omitempty" yaml:"startColumn,omitempty" mapstructure:"startColumn,omitempty"`

	EndLine *int `json:"endLine,omitempty" yaml:"endLine,omitempty" mapstructure:"endLine,omitempty"`

	EndColumn *int `json:"endColumn,omitempty" yaml:"endColumn,omitempty" mapstructure:"endColumn,omitempty"`

	// Key/value pairs that provide additional information about the region.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`

	Snippet *ArtifactContent `json:"snippet,omitempty" yaml:"snippet,omitempty" mapstructure:"snippet,omitempty"`
}

A region within an artifact where a result was detected.

type Replacement

type Replacement struct {
	// The region of the artifact to delete.
	DeletedRegion Region `json:"deletedRegion" yaml:"deletedRegion" mapstructure:"deletedRegion"`

	// The content to insert at the location specified by the 'deletedRegion'
	// property.
	InsertedContent *ArtifactContent `json:"insertedContent,omitempty" yaml:"insertedContent,omitempty" mapstructure:"insertedContent,omitempty"`

	// Key/value pairs that provide additional information about the replacement.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`
}

The replacement of a single region of an artifact.

func (*Replacement) UnmarshalJSON

func (j *Replacement) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type ReportingConfiguration

type ReportingConfiguration struct {
	// Specifies whether the report may be produced during the scan.
	Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`

	// Specifies the failure level for the report.
	Level ReportingConfigurationLevel `json:"level,omitempty" yaml:"level,omitempty" mapstructure:"level,omitempty"`

	// Contains configuration information specific to a report.
	Parameters *PropertyBag `json:"parameters,omitempty" yaml:"parameters,omitempty" mapstructure:"parameters,omitempty"`

	// Key/value pairs that provide additional information about the reporting
	// configuration.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`

	// Specifies the relative priority of the report. Used for analysis output only.
	Rank float64 `json:"rank,omitempty" yaml:"rank,omitempty" mapstructure:"rank,omitempty"`
}

Information about a rule or notification that can be configured at runtime.

func (*ReportingConfiguration) UnmarshalJSON

func (j *ReportingConfiguration) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type ReportingConfigurationLevel

type ReportingConfigurationLevel string
const ReportingConfigurationLevelError ReportingConfigurationLevel = "error"
const ReportingConfigurationLevelNone ReportingConfigurationLevel = "none"
const ReportingConfigurationLevelNote ReportingConfigurationLevel = "note"
const ReportingConfigurationLevelWarning ReportingConfigurationLevel = "warning"

func (*ReportingConfigurationLevel) UnmarshalJSON

func (j *ReportingConfigurationLevel) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type ReportingDescriptor

type ReportingDescriptor struct {
	// Default reporting configuration information.
	DefaultConfiguration *ReportingConfiguration `json:"defaultConfiguration,omitempty" yaml:"defaultConfiguration,omitempty" mapstructure:"defaultConfiguration,omitempty"`

	// An array of unique identifies in the form of a GUID by which this report was
	// known in some previous version of the analysis tool.
	DeprecatedGuids []string `json:"deprecatedGuids,omitempty" yaml:"deprecatedGuids,omitempty" mapstructure:"deprecatedGuids,omitempty"`

	// An array of stable, opaque identifiers by which this report was known in some
	// previous version of the analysis tool.
	DeprecatedIDs []string `json:"deprecatedIDs,omitempty" yaml:"deprecatedIDs,omitempty" mapstructure:"deprecatedIDs,omitempty"`

	// An array of readable identifiers by which this report was known in some
	// previous version of the analysis tool.
	DeprecatedNames []string `json:"deprecatedNames,omitempty" yaml:"deprecatedNames,omitempty" mapstructure:"deprecatedNames,omitempty"`

	// A description of the report. Should, as far as possible, provide details
	// sufficient to enable resolution of any problem indicated by the result.
	FullDescription *MultiformatMessageString `json:"fullDescription,omitempty" yaml:"fullDescription,omitempty" mapstructure:"fullDescription,omitempty"`

	// A unique identifier for the reporting descriptor in the form of a GUID.
	Guid *string `json:"guid,omitempty" yaml:"guid,omitempty" mapstructure:"guid,omitempty"`

	// Provides the primary documentation for the report, useful when there is no
	// online documentation.
	Help *MultiformatMessageString `json:"help,omitempty" yaml:"help,omitempty" mapstructure:"help,omitempty"`

	// A URI where the primary documentation for the report can be found.
	HelpURI *string `json:"helpURI,omitempty" yaml:"helpURI,omitempty" mapstructure:"helpURI,omitempty"`

	// A stable, opaque identifier for the report.
	ID string `json:"id" yaml:"id" mapstructure:"id"`

	// A set of name/value pairs with arbitrary names. Each value is a
	// multiformatMessageString object, which holds message strings in plain text and
	// (optionally) Markdown format. The strings can include placeholders, which can
	// be used to construct a message in combination with an arbitrary number of
	// additional string arguments.
	MessageStrings map[string]MultiformatMessageString `json:"messageStrings,omitempty" yaml:"messageStrings,omitempty" mapstructure:"messageStrings,omitempty"`

	// A report identifier that is understandable to an end user.
	Name *string `json:"name,omitempty" yaml:"name,omitempty" mapstructure:"name,omitempty"`

	// Key/value pairs that provide additional information about the report.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`

	// An array of objects that describe relationships between this reporting
	// descriptor and others.
	Relationships []ReportingDescriptorRelationship `json:"relationships,omitempty" yaml:"relationships,omitempty" mapstructure:"relationships,omitempty"`

	// A concise description of the report. Should be a single sentence that is
	// understandable when visible space is limited to a single line of text.
	ShortDescription *MultiformatMessageString `json:"shortDescription,omitempty" yaml:"shortDescription,omitempty" mapstructure:"shortDescription,omitempty"`
}

Metadata that describes a specific report produced by the tool, as part of the analysis it provides or its runtime reporting.

func (*ReportingDescriptor) UnmarshalJSON

func (j *ReportingDescriptor) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type ReportingDescriptorReference

type ReportingDescriptorReference interface{}

Information about how to locate a relevant reporting descriptor.

type ReportingDescriptorRelationship

type ReportingDescriptorRelationship struct {
	// A description of the reporting descriptor relationship.
	Description Message `json:"description,omitempty" yaml:"description,omitempty" mapstructure:"description,omitempty"`

	// A set of distinct strings that categorize the relationship. Well-known kinds
	// include 'canPrecede', 'canFollow', 'willPrecede', 'willFollow', 'superset',
	// 'subset', 'equal', 'disjoint', 'relevant', and 'incomparable'.
	Kinds []string `json:"kinds,omitempty" yaml:"kinds,omitempty" mapstructure:"kinds,omitempty"`

	// Key/value pairs that provide additional information about the reporting
	// descriptor reference.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`

	// A reference to the related reporting descriptor.
	Target ReportingDescriptorReference `json:"target" yaml:"target" mapstructure:"target"`
}

Information about the relation of one reporting descriptor to another.

func (*ReportingDescriptorRelationship) UnmarshalJSON

func (j *ReportingDescriptorRelationship) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type Result

type Result struct {
	// IDentifies the artifact that the analysis tool was instructed to scan. This
	// need not be the same as the artifact where the result actually occurred.
	AnalysisTarget *ArtifactLocation `json:"analysisTarget,omitempty" yaml:"analysisTarget,omitempty" mapstructure:"analysisTarget,omitempty"`

	// A set of artifacts relevant to the result.
	Attachments []Attachment `json:"attachments,omitempty" yaml:"attachments,omitempty" mapstructure:"attachments,omitempty"`

	// The state of a result relative to a baseline of a previous run.
	BaselineState *ResultBaselineState `json:"baselineState,omitempty" yaml:"baselineState,omitempty" mapstructure:"baselineState,omitempty"`

	// An array of 'codeFlow' objects relevant to the result.
	CodeFlows []CodeFlow `json:"codeFlows,omitempty" yaml:"codeFlows,omitempty" mapstructure:"codeFlows,omitempty"`

	// A stable, unique identifier for the equivalence class of logically identical
	// results to which this result belongs, in the form of a GUID.
	CorrelationGuid *string `json:"correlationGuid,omitempty" yaml:"correlationGuid,omitempty" mapstructure:"correlationGuid,omitempty"`

	// A set of strings each of which individually defines a stable, unique identity
	// for the result.
	Fingerprints map[string]string `json:"fingerprints,omitempty" yaml:"fingerprints,omitempty" mapstructure:"fingerprints,omitempty"`

	// An array of 'fix' objects, each of which represents a proposed fix to the
	// problem indicated by the result.
	Fixes []Fix `json:"fixes,omitempty" yaml:"fixes,omitempty" mapstructure:"fixes,omitempty"`

	// An array of one or more unique 'graphTraversal' objects.
	GraphTraversals []GraphTraversal `json:"graphTraversals,omitempty" yaml:"graphTraversals,omitempty" mapstructure:"graphTraversals,omitempty"`

	// An array of zero or more unique graph objects associated with the result.
	Graphs []Graph `json:"graphs,omitempty" yaml:"graphs,omitempty" mapstructure:"graphs,omitempty"`

	// A stable, unique identifier for the result in the form of a GUID.
	Guid *string `json:"guid,omitempty" yaml:"guid,omitempty" mapstructure:"guid,omitempty"`

	// An absolute URI at which the result can be viewed.
	HostedViewerURI *string `json:"hostedViewerURI,omitempty" yaml:"hostedViewerURI,omitempty" mapstructure:"hostedViewerURI,omitempty"`

	// A value that categorizes results by evaluation state.
	Kind ResultKind `json:"kind,omitempty" yaml:"kind,omitempty" mapstructure:"kind,omitempty"`

	// A value specifying the severity level of the result.
	Level ResultLevel `json:"level,omitempty" yaml:"level,omitempty" mapstructure:"level,omitempty"`

	// The set of locations where the result was detected. Specify only one location
	// unless the problem indicated by the result can only be corrected by making a
	// change at every specified location.
	Locations []Location `json:"locations,omitempty" yaml:"locations,omitempty" mapstructure:"locations,omitempty"`

	// A message that describes the result. The first sentence of the message only
	// will be displayed when visible space is limited.
	Message Message `json:"message" yaml:"message" mapstructure:"message"`

	// A positive integer specifying the number of times this logically unique result
	// was observed in this run.
	OccurrenceCount *int `json:"occurrenceCount,omitempty" yaml:"occurrenceCount,omitempty" mapstructure:"occurrenceCount,omitempty"`

	// A set of strings that contribute to the stable, unique identity of the result.
	PartialFingerprints map[string]string `json:"partialFingerprints,omitempty" yaml:"partialFingerprints,omitempty" mapstructure:"partialFingerprints,omitempty"`

	// Key/value pairs that provide additional information about the result.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`

	// Information about how and when the result was detected.
	Provenance *ResultProvenance `json:"provenance,omitempty" yaml:"provenance,omitempty" mapstructure:"provenance,omitempty"`

	// A number representing the priority or importance of the result.
	Rank float64 `json:"rank,omitempty" yaml:"rank,omitempty" mapstructure:"rank,omitempty"`

	// A set of locations relevant to this result.
	RelatedLocations []Location `json:"relatedLocations,omitempty" yaml:"relatedLocations,omitempty" mapstructure:"relatedLocations,omitempty"`

	// A reference used to locate the rule descriptor relevant to this result.
	Rule ReportingDescriptorReference `json:"rule,omitempty" yaml:"rule,omitempty" mapstructure:"rule,omitempty"`

	// The stable, unique identifier of the rule, if any, to which this result is
	// relevant.
	RuleID *string `json:"ruleID,omitempty" yaml:"ruleID,omitempty" mapstructure:"ruleID,omitempty"`

	// The index within the tool component rules array of the rule object associated
	// with this result.
	RuleIndex int `json:"ruleIndex,omitempty" yaml:"ruleIndex,omitempty" mapstructure:"ruleIndex,omitempty"`

	// An array of 'stack' objects relevant to the result.
	Stacks []Stack `json:"stacks,omitempty" yaml:"stacks,omitempty" mapstructure:"stacks,omitempty"`

	// A set of suppressions relevant to this result.
	Suppressions []Suppression `json:"suppressions,omitempty" yaml:"suppressions,omitempty" mapstructure:"suppressions,omitempty"`

	// An array of references to taxonomy reporting descriptors that are applicable to
	// the result.
	Taxa []ReportingDescriptorReference `json:"taxa,omitempty" yaml:"taxa,omitempty" mapstructure:"taxa,omitempty"`

	// A web request associated with this result.
	WebRequest *WebRequest `json:"webRequest,omitempty" yaml:"webRequest,omitempty" mapstructure:"webRequest,omitempty"`

	// A web response associated with this result.
	WebResponse *WebResponse `json:"webResponse,omitempty" yaml:"webResponse,omitempty" mapstructure:"webResponse,omitempty"`

	// The URIs of the work items associated with this result.
	WorkItemURIs []string `json:"workItemURIs,omitempty" yaml:"workItemURIs,omitempty" mapstructure:"workItemURIs,omitempty"`
}

A result produced by an analysis tool.

func (*Result) UnmarshalJSON

func (j *Result) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type ResultBaselineState

type ResultBaselineState string
const ResultBaselineStateAbsent ResultBaselineState = "absent"
const ResultBaselineStateNew ResultBaselineState = "new"
const ResultBaselineStateUnchanged ResultBaselineState = "unchanged"
const ResultBaselineStateUpdated ResultBaselineState = "updated"

func (*ResultBaselineState) UnmarshalJSON

func (j *ResultBaselineState) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type ResultKind

type ResultKind string
const ResultKindFail ResultKind = "fail"
const ResultKindInformational ResultKind = "informational"
const ResultKindNotApplicable ResultKind = "notApplicable"
const ResultKindOpen ResultKind = "open"
const ResultKindPass ResultKind = "pass"
const ResultKindReview ResultKind = "review"

func (*ResultKind) UnmarshalJSON

func (j *ResultKind) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type ResultLevel

type ResultLevel string
const ResultLevelError ResultLevel = "error"
const ResultLevelNone ResultLevel = "none"
const ResultLevelNote ResultLevel = "note"
const ResultLevelWarning ResultLevel = "warning"

func (*ResultLevel) UnmarshalJSON

func (j *ResultLevel) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type ResultProvenance

type ResultProvenance struct {
	// An array of physicalLocation objects which specify the portions of an analysis
	// tool's output that a converter transformed into the result.
	ConversionSources []PhysicalLocation `json:"conversionSources,omitempty" yaml:"conversionSources,omitempty" mapstructure:"conversionSources,omitempty"`

	// A GUID-valued string equal to the automationDetails.guid property of the run in
	// which the result was first detected.
	FirstDetectionRunGuid *string `json:"firstDetectionRunGuid,omitempty" yaml:"firstDetectionRunGuid,omitempty" mapstructure:"firstDetectionRunGuid,omitempty"`

	// The Coordinated Universal Time (UTC) date and time at which the result was
	// first detected. See "Date/time properties" in the SARIF spec for the required
	// format.
	FirstDetectionTimeUtc *time.Time `json:"firstDetectionTimeUtc,omitempty" yaml:"firstDetectionTimeUtc,omitempty" mapstructure:"firstDetectionTimeUtc,omitempty"`

	// The index within the run.invocations array of the invocation object which
	// describes the tool invocation that detected the result.
	InvocationIndex int `json:"invocationIndex,omitempty" yaml:"invocationIndex,omitempty" mapstructure:"invocationIndex,omitempty"`

	// A GUID-valued string equal to the automationDetails.guid property of the run in
	// which the result was most recently detected.
	LastDetectionRunGuid *string `json:"lastDetectionRunGuid,omitempty" yaml:"lastDetectionRunGuid,omitempty" mapstructure:"lastDetectionRunGuid,omitempty"`

	// The Coordinated Universal Time (UTC) date and time at which the result was most
	// recently detected. See "Date/time properties" in the SARIF spec for the
	// required format.
	LastDetectionTimeUtc *time.Time `json:"lastDetectionTimeUtc,omitempty" yaml:"lastDetectionTimeUtc,omitempty" mapstructure:"lastDetectionTimeUtc,omitempty"`

	// Key/value pairs that provide additional information about the result.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`
}

Contains information about how and when a result was detected.

func (*ResultProvenance) UnmarshalJSON

func (j *ResultProvenance) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type Run

type Run struct {
	// Addresses associated with this run instance, if any.
	Addresses []Address `json:"addresses,omitempty" yaml:"addresses,omitempty" mapstructure:"addresses,omitempty"`

	// An array of artifact objects relevant to the run.
	Artifacts []Artifact `json:"artifacts,omitempty" yaml:"artifacts,omitempty" mapstructure:"artifacts,omitempty"`

	// Automation details that describe this run.
	AutomationDetails *RunAutomationDetails `json:"automationDetails,omitempty" yaml:"automationDetails,omitempty" mapstructure:"automationDetails,omitempty"`

	// The 'guid' property of a previous SARIF 'run' that comprises the baseline that
	// was used to compute result 'baselineState' properties for the run.
	BaselineGuid *string `json:"baselineGuid,omitempty" yaml:"baselineGuid,omitempty" mapstructure:"baselineGuid,omitempty"`

	// Specifies the unit in which the tool measures columns.
	ColumnKind *RunColumnKind `json:"columnKind,omitempty" yaml:"columnKind,omitempty" mapstructure:"columnKind,omitempty"`

	// A conversion object that describes how a converter transformed an analysis
	// tool's native reporting format into the SARIF format.
	Conversion *Conversion `json:"conversion,omitempty" yaml:"conversion,omitempty" mapstructure:"conversion,omitempty"`

	// Specifies the default encoding for any artifact object that refers to a text
	// file.
	DefaultEncoding *string `json:"defaultEncoding,omitempty" yaml:"defaultEncoding,omitempty" mapstructure:"defaultEncoding,omitempty"`

	// Specifies the default source language for any artifact object that refers to a
	// text file that contains source code.
	DefaultSourceLanguage *string `json:"defaultSourceLanguage,omitempty" yaml:"defaultSourceLanguage,omitempty" mapstructure:"defaultSourceLanguage,omitempty"`

	// References to external property files that should be inlined with the content
	// of a root log file.
	ExternalPropertyFileReferences *ExternalPropertyFileReferences `` /* 151-byte string literal not displayed */

	// An array of zero or more unique graph objects associated with the run.
	Graphs []Graph `json:"graphs,omitempty" yaml:"graphs,omitempty" mapstructure:"graphs,omitempty"`

	// Describes the invocation of the analysis tool.
	Invocations []Invocation `json:"invocations,omitempty" yaml:"invocations,omitempty" mapstructure:"invocations,omitempty"`

	// The language of the messages emitted into the log file during this run
	// (expressed as an ISO 639-1 two-letter lowercase culture code) and an optional
	// region (expressed as an ISO 3166-1 two-letter uppercase subculture code
	// associated with a country or region). The casing is recommended but not
	// required (in order for this data to conform to RFC5646).
	Language string `json:"language,omitempty" yaml:"language,omitempty" mapstructure:"language,omitempty"`

	// An array of logical locations such as namespaces, types or functions.
	LogicalLocations []LogicalLocation `json:"logicalLocations,omitempty" yaml:"logicalLocations,omitempty" mapstructure:"logicalLocations,omitempty"`

	// An ordered list of character sequences that were treated as line breaks when
	// computing region information for the run.
	NewlineSequences []string `json:"newlineSequences,omitempty" yaml:"newlineSequences,omitempty" mapstructure:"newlineSequences,omitempty"`

	// The artifact location specified by each uriBaseID symbol on the machine where
	// the tool originally ran.
	OriginalURIBaseIDs map[string]ArtifactLocation `json:"originalURIBaseIDs,omitempty" yaml:"originalURIBaseIDs,omitempty" mapstructure:"originalURIBaseIDs,omitempty"`

	// Contains configurations that may potentially override both
	// reportingDescriptor.defaultConfiguration (the tool's default severities) and
	// invocation.configurationOverrides (severities established at run-time from the
	// command line).
	Policies []ToolComponent `json:"policies,omitempty" yaml:"policies,omitempty" mapstructure:"policies,omitempty"`

	// Key/value pairs that provide additional information about the run.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`

	// An array of strings used to replace sensitive information in a redaction-aware
	// property.
	RedactionTokens []string `json:"redactionTokens,omitempty" yaml:"redactionTokens,omitempty" mapstructure:"redactionTokens,omitempty"`

	// The set of results contained in an SARIF log. The results array can be omitted
	// when a run is solely exporting rules metadata. It must be present (but may be
	// empty) if a log file represents an actual scan.
	Results []Result `json:"results,omitempty" yaml:"results,omitempty" mapstructure:"results,omitempty"`

	// Automation details that describe the aggregate of runs to which this run
	// belongs.
	RunAggregates []RunAutomationDetails `json:"runAggregates,omitempty" yaml:"runAggregates,omitempty" mapstructure:"runAggregates,omitempty"`

	// A specialLocations object that defines locations of special significance to
	// SARIF consumers.
	SpecialLocations *SpecialLocations `json:"specialLocations,omitempty" yaml:"specialLocations,omitempty" mapstructure:"specialLocations,omitempty"`

	// An array of toolComponent objects relevant to a taxonomy in which results are
	// categorized.
	Taxonomies []ToolComponent `json:"taxonomies,omitempty" yaml:"taxonomies,omitempty" mapstructure:"taxonomies,omitempty"`

	// An array of threadFlowLocation objects cached at run level.
	ThreadFlowLocations []ThreadFlowLocation `json:"threadFlowLocations,omitempty" yaml:"threadFlowLocations,omitempty" mapstructure:"threadFlowLocations,omitempty"`

	// Information about the tool or tool pipeline that generated the results in this
	// run. A run can only contain results produced by a single tool or tool pipeline.
	// A run can aggregate results from multiple log files, as long as context around
	// the tool run (tool command-line arguments and the like) is identical for all
	// aggregated files.
	Tool Tool `json:"tool" yaml:"tool" mapstructure:"tool"`

	// The set of available translations of the localized data provided by the tool.
	Translations []ToolComponent `json:"translations,omitempty" yaml:"translations,omitempty" mapstructure:"translations,omitempty"`

	// Specifies the revision in version control of the artifacts that were scanned.
	VersionControlProvenance []VersionControlDetails `` /* 133-byte string literal not displayed */

	// An array of request objects cached at run level.
	WebRequests []WebRequest `json:"webRequests,omitempty" yaml:"webRequests,omitempty" mapstructure:"webRequests,omitempty"`

	// An array of response objects cached at run level.
	WebResponses []WebResponse `json:"webResponses,omitempty" yaml:"webResponses,omitempty" mapstructure:"webResponses,omitempty"`
}

Describes a single run of an analysis tool, and contains the reported output of that run.

func (*Run) UnmarshalJSON

func (j *Run) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type RunAutomationDetails

type RunAutomationDetails struct {
	// A stable, unique identifier for the equivalence class of runs to which this
	// object's containing run object belongs in the form of a GUID.
	CorrelationGuid *string `json:"correlationGuid,omitempty" yaml:"correlationGuid,omitempty" mapstructure:"correlationGuid,omitempty"`

	// A description of the identity and role played within the engineering system by
	// this object's containing run object.
	Description Message `json:"description,omitempty" yaml:"description,omitempty" mapstructure:"description,omitempty"`

	// A stable, unique identifier for this object's containing run object in the form
	// of a GUID.
	Guid *string `json:"guid,omitempty" yaml:"guid,omitempty" mapstructure:"guid,omitempty"`

	// A hierarchical string that uniquely identifies this object's containing run
	// object.
	ID *string `json:"id,omitempty" yaml:"id,omitempty" mapstructure:"id,omitempty"`

	// Key/value pairs that provide additional information about the run automation
	// details.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`
}

Information that describes a run's identity and role within an engineering system process.

func (*RunAutomationDetails) UnmarshalJSON

func (j *RunAutomationDetails) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type RunColumnKind

type RunColumnKind string
const RunColumnKindUnicodeCodePoints RunColumnKind = "unicodeCodePoints"
const RunColumnKindUtf16CodeUnits RunColumnKind = "utf16CodeUnits"

func (*RunColumnKind) UnmarshalJSON

func (j *RunColumnKind) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type SarifSchema210Json

type SarifSchema210Json struct {
	// The URI of the JSON schema corresponding to the version.
	Schema *string `json:"$schema,omitempty" yaml:"$schema,omitempty" mapstructure:"$schema,omitempty"`

	// References to external property files that share data between runs.
	InlineExternalProperties []ExternalProperties `` /* 133-byte string literal not displayed */

	// Key/value pairs that provide additional information about the log file.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`

	// The set of runs contained in this log file.
	Runs []Run `json:"runs" yaml:"runs" mapstructure:"runs"`

	// The SARIF format version of this log file.
	Version SarifSchema210JsonVersion `json:"version" yaml:"version" mapstructure:"version"`
}

Static Analysis Results Format (SARIF) Version 2.1.0 JSON Schema: a standard format for the output of static analysis tools.

func (*SarifSchema210Json) UnmarshalJSON

func (j *SarifSchema210Json) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type SarifSchema210JsonVersion

type SarifSchema210JsonVersion string
const SarifSchema210JsonVersionA210 SarifSchema210JsonVersion = "2.1.0"

func (*SarifSchema210JsonVersion) UnmarshalJSON

func (j *SarifSchema210JsonVersion) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type SpecialLocations

type SpecialLocations struct {
	// Provides a suggestion to SARIF consumers to display file paths relative to the
	// specified location.
	DisplayBase *ArtifactLocation `json:"displayBase,omitempty" yaml:"displayBase,omitempty" mapstructure:"displayBase,omitempty"`

	// Key/value pairs that provide additional information about the special
	// locations.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`
}

Defines locations of special significance to SARIF consumers.

type Stack

type Stack struct {
	// An array of stack frames that represents a sequence of calls, rendered in
	// reverse chronological order, that comprise the call stack.
	Frames []StackFrame `json:"frames" yaml:"frames" mapstructure:"frames"`

	// A message relevant to this call stack.
	Message Message `json:"message,omitempty" yaml:"message,omitempty" mapstructure:"message,omitempty"`

	// Key/value pairs that provide additional information about the stack.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`
}

A call stack that is relevant to a result.

func (*Stack) UnmarshalJSON

func (j *Stack) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type StackFrame

type StackFrame struct {
	// The location to which this stack frame refers.
	Location *Location `json:"location,omitempty" yaml:"location,omitempty" mapstructure:"location,omitempty"`

	// The name of the module that contains the code of this stack frame.
	Module *string `json:"module,omitempty" yaml:"module,omitempty" mapstructure:"module,omitempty"`

	// The parameters of the call that is executing.
	Parameters []string `json:"parameters,omitempty" yaml:"parameters,omitempty" mapstructure:"parameters,omitempty"`

	// Key/value pairs that provide additional information about the stack frame.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`

	// The thread identifier of the stack frame.
	ThreadID *int `json:"threadID,omitempty" yaml:"threadID,omitempty" mapstructure:"threadID,omitempty"`
}

A function call within a stack trace.

func (*StackFrame) UnmarshalJSON

func (j *StackFrame) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type Suppression

type Suppression struct {
	// A stable, unique identifier for the suprression in the form of a GUID.
	Guid *string `json:"guid,omitempty" yaml:"guid,omitempty" mapstructure:"guid,omitempty"`

	// A string representing the justification for the suppression.
	Justification *string `json:"justification,omitempty" yaml:"justification,omitempty" mapstructure:"justification,omitempty"`

	// A string that indicates where the suppression is persisted.
	Kind SuppressionKind `json:"kind" yaml:"kind" mapstructure:"kind"`

	// IDentifies the location associated with the suppression.
	Location *Location `json:"location,omitempty" yaml:"location,omitempty" mapstructure:"location,omitempty"`

	// Key/value pairs that provide additional information about the suppression.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`

	// A string that indicates the review status of the suppression.
	Status *SuppressionStatus `json:"status,omitempty" yaml:"status,omitempty" mapstructure:"status,omitempty"`
}

A suppression that is relevant to a result.

func (*Suppression) UnmarshalJSON

func (j *Suppression) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type SuppressionKind

type SuppressionKind string
const SuppressionKindExternal SuppressionKind = "external"
const SuppressionKindInSource SuppressionKind = "inSource"

func (*SuppressionKind) UnmarshalJSON

func (j *SuppressionKind) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type SuppressionStatus

type SuppressionStatus string
const SuppressionStatusAccepted SuppressionStatus = "accepted"
const SuppressionStatusRejected SuppressionStatus = "rejected"
const SuppressionStatusUnderReview SuppressionStatus = "underReview"

func (*SuppressionStatus) UnmarshalJSON

func (j *SuppressionStatus) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type ThreadFlow

type ThreadFlow struct {
	// An string that uniquely identifies the threadFlow within the codeFlow in which
	// it occurs.
	ID *string `json:"id,omitempty" yaml:"id,omitempty" mapstructure:"id,omitempty"`

	// Values of relevant expressions at the start of the thread flow that remain
	// constant.
	ImmutableState map[string]MultiformatMessageString `json:"immutableState,omitempty" yaml:"immutableState,omitempty" mapstructure:"immutableState,omitempty"`

	// Values of relevant expressions at the start of the thread flow that may change
	// during thread flow execution.
	InitialState map[string]MultiformatMessageString `json:"initialState,omitempty" yaml:"initialState,omitempty" mapstructure:"initialState,omitempty"`

	// A temporally ordered array of 'threadFlowLocation' objects, each of which
	// describes a location visited by the tool while producing the result.
	Locations []ThreadFlowLocation `json:"locations" yaml:"locations" mapstructure:"locations"`

	// A message relevant to the thread flow.
	Message Message `json:"message,omitempty" yaml:"message,omitempty" mapstructure:"message,omitempty"`

	// Key/value pairs that provide additional information about the thread flow.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`
}

Describes a sequence of code locations that specify a path through a single thread of execution such as an operating system or fiber.

func (*ThreadFlow) UnmarshalJSON

func (j *ThreadFlow) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type ThreadFlowLocation

type ThreadFlowLocation struct {
	// An integer representing the temporal order in which execution reached this
	// location.
	ExecutionOrder int `json:"executionOrder,omitempty" yaml:"executionOrder,omitempty" mapstructure:"executionOrder,omitempty"`

	// The Coordinated Universal Time (UTC) date and time at which this location was
	// executed.
	ExecutionTimeUtc *time.Time `json:"executionTimeUtc,omitempty" yaml:"executionTimeUtc,omitempty" mapstructure:"executionTimeUtc,omitempty"`

	// Specifies the importance of this location in understanding the code flow in
	// which it occurs. The order from most to least important is "essential",
	// "important", "unimportant". Default: "important".
	Importance ThreadFlowLocationImportance `json:"importance,omitempty" yaml:"importance,omitempty" mapstructure:"importance,omitempty"`

	// The index within the run threadFlowLocations array.
	Index int `json:"index,omitempty" yaml:"index,omitempty" mapstructure:"index,omitempty"`

	// A set of distinct strings that categorize the thread flow location. Well-known
	// kinds include 'acquire', 'release', 'enter', 'exit', 'call', 'return',
	// 'branch', 'implicit', 'false', 'true', 'caution', 'danger', 'unknown',
	// 'unreachable', 'taint', 'function', 'handler', 'lock', 'memory', 'resource',
	// 'scope' and 'value'.
	Kinds []string `json:"kinds,omitempty" yaml:"kinds,omitempty" mapstructure:"kinds,omitempty"`

	// The code location.
	Location *Location `json:"location,omitempty" yaml:"location,omitempty" mapstructure:"location,omitempty"`

	// The name of the module that contains the code that is executing.
	Module *string `json:"module,omitempty" yaml:"module,omitempty" mapstructure:"module,omitempty"`

	// An integer representing a containment hierarchy within the thread flow.
	NestingLevel *int `json:"nestingLevel,omitempty" yaml:"nestingLevel,omitempty" mapstructure:"nestingLevel,omitempty"`

	// Key/value pairs that provide additional information about the threadflow
	// location.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`

	// The call stack leading to this location.
	Stack *Stack `json:"stack,omitempty" yaml:"stack,omitempty" mapstructure:"stack,omitempty"`

	// A dictionary, each of whose keys specifies a variable or expression, the
	// associated value of which represents the variable or expression value. For an
	// annotation of kind 'continuation', for example, this dictionary might hold the
	// current assumed values of a set of global variables.
	State map[string]MultiformatMessageString `json:"state,omitempty" yaml:"state,omitempty" mapstructure:"state,omitempty"`

	// An array of references to rule or taxonomy reporting descriptors that are
	// applicable to the thread flow location.
	Taxa []ReportingDescriptorReference `json:"taxa,omitempty" yaml:"taxa,omitempty" mapstructure:"taxa,omitempty"`

	// A web request associated with this thread flow location.
	WebRequest *WebRequest `json:"webRequest,omitempty" yaml:"webRequest,omitempty" mapstructure:"webRequest,omitempty"`

	// A web response associated with this thread flow location.
	WebResponse *WebResponse `json:"webResponse,omitempty" yaml:"webResponse,omitempty" mapstructure:"webResponse,omitempty"`
}

A location visited by an analysis tool while simulating or monitoring the execution of a program.

func (*ThreadFlowLocation) UnmarshalJSON

func (j *ThreadFlowLocation) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type ThreadFlowLocationImportance

type ThreadFlowLocationImportance string
const ThreadFlowLocationImportanceEssential ThreadFlowLocationImportance = "essential"
const ThreadFlowLocationImportanceImportant ThreadFlowLocationImportance = "important"
const ThreadFlowLocationImportanceUnimportant ThreadFlowLocationImportance = "unimportant"

func (*ThreadFlowLocationImportance) UnmarshalJSON

func (j *ThreadFlowLocationImportance) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type Tool

type Tool struct {
	// The analysis tool that was run.
	Driver ToolComponent `json:"driver" yaml:"driver" mapstructure:"driver"`

	// Tool extensions that contributed to or reconfigured the analysis tool that was
	// run.
	Extensions []ToolComponent `json:"extensions,omitempty" yaml:"extensions,omitempty" mapstructure:"extensions,omitempty"`

	// Key/value pairs that provide additional information about the tool.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`
}

The analysis tool that was run.

func (*Tool) UnmarshalJSON

func (j *Tool) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type ToolComponent

type ToolComponent struct {
	// The component which is strongly associated with this component. For a
	// translation, this refers to the component which has been translated. For an
	// extension, this is the driver that provides the extension's plugin model.
	AssociatedComponent *ToolComponentReference `json:"associatedComponent,omitempty" yaml:"associatedComponent,omitempty" mapstructure:"associatedComponent,omitempty"`

	// The kinds of data contained in this object.
	Contents []ToolComponentContentsElem `json:"contents,omitempty" yaml:"contents,omitempty" mapstructure:"contents,omitempty"`

	// The binary version of the tool component's primary executable file expressed as
	// four non-negative integers separated by a period (for operating systems that
	// express file versions in this way).
	DottedQuadFileVersion *string `json:"dottedQuadFileVersion,omitempty" yaml:"dottedQuadFileVersion,omitempty" mapstructure:"dottedQuadFileVersion,omitempty"`

	// The absolute URI from which the tool component can be downloaded.
	DownloadURI *string `json:"downloadURI,omitempty" yaml:"downloadURI,omitempty" mapstructure:"downloadURI,omitempty"`

	// A comprehensive description of the tool component.
	FullDescription *MultiformatMessageString `json:"fullDescription,omitempty" yaml:"fullDescription,omitempty" mapstructure:"fullDescription,omitempty"`

	// The name of the tool component along with its version and any other useful
	// identifying information, such as its locale.
	FullName *string `json:"fullName,omitempty" yaml:"fullName,omitempty" mapstructure:"fullName,omitempty"`

	// A dictionary, each of whose keys is a resource identifier and each of whose
	// values is a multiformatMessageString object, which holds message strings in
	// plain text and (optionally) Markdown format. The strings can include
	// placeholders, which can be used to construct a message in combination with an
	// arbitrary number of additional string arguments.
	GlobalMessageStrings map[string]MultiformatMessageString `json:"globalMessageStrings,omitempty" yaml:"globalMessageStrings,omitempty" mapstructure:"globalMessageStrings,omitempty"`

	// A unique identifier for the tool component in the form of a GUID.
	Guid *string `json:"guid,omitempty" yaml:"guid,omitempty" mapstructure:"guid,omitempty"`

	// The absolute URI at which information about this version of the tool component
	// can be found.
	InformationURI *string `json:"informationURI,omitempty" yaml:"informationURI,omitempty" mapstructure:"informationURI,omitempty"`

	// Specifies whether this object contains a complete definition of the localizable
	// and/or non-localizable data for this component, as opposed to including only
	// data that is relevant to the results persisted to this log file.
	IsComprehensive bool `json:"isComprehensive,omitempty" yaml:"isComprehensive,omitempty" mapstructure:"isComprehensive,omitempty"`

	// The language of the messages emitted into the log file during this run
	// (expressed as an ISO 639-1 two-letter lowercase language code) and an optional
	// region (expressed as an ISO 3166-1 two-letter uppercase subculture code
	// associated with a country or region). The casing is recommended but not
	// required (in order for this data to conform to RFC5646).
	Language string `json:"language,omitempty" yaml:"language,omitempty" mapstructure:"language,omitempty"`

	// The semantic version of the localized strings defined in this component;
	// maintained by components that provide translations.
	LocalizedDataSemanticVersion *string `` /* 145-byte string literal not displayed */

	// An array of the artifactLocation objects associated with the tool component.
	Locations []ArtifactLocation `json:"locations,omitempty" yaml:"locations,omitempty" mapstructure:"locations,omitempty"`

	// The minimum value of localizedDataSemanticVersion required in translations
	// consumed by this component; used by components that consume translations.
	MinimumRequiredLocalizedDataSemanticVersion *string `` /* 190-byte string literal not displayed */

	// The name of the tool component.
	Name string `json:"name" yaml:"name" mapstructure:"name"`

	// An array of reportingDescriptor objects relevant to the notifications related
	// to the configuration and runtime execution of the tool component.
	Notifications []ReportingDescriptor `json:"notifications,omitempty" yaml:"notifications,omitempty" mapstructure:"notifications,omitempty"`

	// The organization or company that produced the tool component.
	Organization *string `json:"organization,omitempty" yaml:"organization,omitempty" mapstructure:"organization,omitempty"`

	// A product suite to which the tool component belongs.
	Product *string `json:"product,omitempty" yaml:"product,omitempty" mapstructure:"product,omitempty"`

	// A localizable string containing the name of the suite of products to which the
	// tool component belongs.
	ProductSuite *string `json:"productSuite,omitempty" yaml:"productSuite,omitempty" mapstructure:"productSuite,omitempty"`

	// Key/value pairs that provide additional information about the tool component.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`

	// A string specifying the UTC date (and optionally, the time) of the component's
	// release.
	ReleaseDateUtc *string `json:"releaseDateUtc,omitempty" yaml:"releaseDateUtc,omitempty" mapstructure:"releaseDateUtc,omitempty"`

	// An array of reportingDescriptor objects relevant to the analysis performed by
	// the tool component.
	Rules []ReportingDescriptor `json:"rules,omitempty" yaml:"rules,omitempty" mapstructure:"rules,omitempty"`

	// The tool component version in the format specified by Semantic Versioning 2.0.
	SemanticVersion *string `json:"semanticVersion,omitempty" yaml:"semanticVersion,omitempty" mapstructure:"semanticVersion,omitempty"`

	// A brief description of the tool component.
	ShortDescription *MultiformatMessageString `json:"shortDescription,omitempty" yaml:"shortDescription,omitempty" mapstructure:"shortDescription,omitempty"`

	// An array of toolComponentReference objects to declare the taxonomies supported
	// by the tool component.
	SupportedTaxonomies []ToolComponentReference `json:"supportedTaxonomies,omitempty" yaml:"supportedTaxonomies,omitempty" mapstructure:"supportedTaxonomies,omitempty"`

	// An array of reportingDescriptor objects relevant to the definitions of both
	// standalone and tool-defined taxonomies.
	Taxa []ReportingDescriptor `json:"taxa,omitempty" yaml:"taxa,omitempty" mapstructure:"taxa,omitempty"`

	// Translation metadata, required for a translation, not populated by other
	// component types.
	TranslationMetadata *TranslationMetadata `json:"translationMetadata,omitempty" yaml:"translationMetadata,omitempty" mapstructure:"translationMetadata,omitempty"`

	// The tool component version, in whatever format the component natively provides.
	Version *string `json:"version,omitempty" yaml:"version,omitempty" mapstructure:"version,omitempty"`
}

A component, such as a plug-in or the driver, of the analysis tool that was run.

func (*ToolComponent) UnmarshalJSON

func (j *ToolComponent) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type ToolComponentContentsElem

type ToolComponentContentsElem string
const ToolComponentContentsElemLocalizedData ToolComponentContentsElem = "localizedData"
const ToolComponentContentsElemNonLocalizedData ToolComponentContentsElem = "nonLocalizedData"

func (*ToolComponentContentsElem) UnmarshalJSON

func (j *ToolComponentContentsElem) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type ToolComponentReference

type ToolComponentReference struct {
	// The 'guid' property of the referenced toolComponent.
	Guid *string `json:"guid,omitempty" yaml:"guid,omitempty" mapstructure:"guid,omitempty"`

	// An index into the referenced toolComponent in tool.extensions.
	Index int `json:"index,omitempty" yaml:"index,omitempty" mapstructure:"index,omitempty"`

	// The 'name' property of the referenced toolComponent.
	Name *string `json:"name,omitempty" yaml:"name,omitempty" mapstructure:"name,omitempty"`

	// Key/value pairs that provide additional information about the
	// toolComponentReference.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`
}

IDentifies a particular toolComponent object, either the driver or an extension.

func (*ToolComponentReference) UnmarshalJSON

func (j *ToolComponentReference) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type TranslationMetadata

type TranslationMetadata struct {
	// The absolute URI from which the translation metadata can be downloaded.
	DownloadURI *string `json:"downloadURI,omitempty" yaml:"downloadURI,omitempty" mapstructure:"downloadURI,omitempty"`

	// A comprehensive description of the translation metadata.
	FullDescription *MultiformatMessageString `json:"fullDescription,omitempty" yaml:"fullDescription,omitempty" mapstructure:"fullDescription,omitempty"`

	// The full name associated with the translation metadata.
	FullName *string `json:"fullName,omitempty" yaml:"fullName,omitempty" mapstructure:"fullName,omitempty"`

	// The absolute URI from which information related to the translation metadata can
	// be downloaded.
	InformationURI *string `json:"informationURI,omitempty" yaml:"informationURI,omitempty" mapstructure:"informationURI,omitempty"`

	// The name associated with the translation metadata.
	Name string `json:"name" yaml:"name" mapstructure:"name"`

	// Key/value pairs that provide additional information about the translation
	// metadata.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`

	// A brief description of the translation metadata.
	ShortDescription *MultiformatMessageString `json:"shortDescription,omitempty" yaml:"shortDescription,omitempty" mapstructure:"shortDescription,omitempty"`
}

Provides additional metadata related to translation.

func (*TranslationMetadata) UnmarshalJSON

func (j *TranslationMetadata) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type VersionControlDetails

type VersionControlDetails struct {
	// A Coordinated Universal Time (UTC) date and time that can be used to
	// synchronize an enlistment to the state of the repository at that time.
	AsOfTimeUtc *time.Time `json:"asOfTimeUtc,omitempty" yaml:"asOfTimeUtc,omitempty" mapstructure:"asOfTimeUtc,omitempty"`

	// The name of a branch containing the revision.
	Branch *string `json:"branch,omitempty" yaml:"branch,omitempty" mapstructure:"branch,omitempty"`

	// The location in the local file system to which the root of the repository was
	// mapped at the time of the analysis.
	MappedTo *ArtifactLocation `json:"mappedTo,omitempty" yaml:"mappedTo,omitempty" mapstructure:"mappedTo,omitempty"`

	// Key/value pairs that provide additional information about the version control
	// details.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`

	// The absolute URI of the repository.
	RepositoryURI string `json:"repositoryURI" yaml:"repositoryURI" mapstructure:"repositoryURI"`

	// A string that uniquely and permanently identifies the revision within the
	// repository.
	RevisionID *string `json:"revisionID,omitempty" yaml:"revisionID,omitempty" mapstructure:"revisionID,omitempty"`

	// A tag that has been applied to the revision.
	RevisionTag *string `json:"revisionTag,omitempty" yaml:"revisionTag,omitempty" mapstructure:"revisionTag,omitempty"`
}

Specifies the information necessary to retrieve a desired revision from a version control system.

func (*VersionControlDetails) UnmarshalJSON

func (j *VersionControlDetails) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type WebRequest

type WebRequest struct {
	// The body of the request.
	Body *ArtifactContent `json:"body,omitempty" yaml:"body,omitempty" mapstructure:"body,omitempty"`

	// The request headers.
	Headers map[string]string `json:"headers,omitempty" yaml:"headers,omitempty" mapstructure:"headers,omitempty"`

	// The index within the run.webRequests array of the request object associated
	// with this result.
	Index int `json:"index,omitempty" yaml:"index,omitempty" mapstructure:"index,omitempty"`

	// The HTTP method. Well-known values are 'GET', 'PUT', 'POST', 'DELETE', 'PATCH',
	// 'HEAD', 'OPTIONS', 'TRACE', 'CONNECT'.
	Method *string `json:"method,omitempty" yaml:"method,omitempty" mapstructure:"method,omitempty"`

	// The request parameters.
	Parameters map[string]string `json:"parameters,omitempty" yaml:"parameters,omitempty" mapstructure:"parameters,omitempty"`

	// Key/value pairs that provide additional information about the request.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`

	// The request protocol. Example: 'http'.
	Protocol *string `json:"protocol,omitempty" yaml:"protocol,omitempty" mapstructure:"protocol,omitempty"`

	// The target of the request.
	Target *string `json:"target,omitempty" yaml:"target,omitempty" mapstructure:"target,omitempty"`

	// The request version. Example: '1.1'.
	Version *string `json:"version,omitempty" yaml:"version,omitempty" mapstructure:"version,omitempty"`
}

Describes an HTTP request.

func (*WebRequest) UnmarshalJSON

func (j *WebRequest) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type WebResponse

type WebResponse struct {
	// The body of the response.
	Body *ArtifactContent `json:"body,omitempty" yaml:"body,omitempty" mapstructure:"body,omitempty"`

	// The response headers.
	Headers map[string]string `json:"headers,omitempty" yaml:"headers,omitempty" mapstructure:"headers,omitempty"`

	// The index within the run.webResponses array of the response object associated
	// with this result.
	Index int `json:"index,omitempty" yaml:"index,omitempty" mapstructure:"index,omitempty"`

	// Specifies whether a response was received from the server.
	NoResponseReceived bool `json:"noResponseReceived,omitempty" yaml:"noResponseReceived,omitempty" mapstructure:"noResponseReceived,omitempty"`

	// Key/value pairs that provide additional information about the response.
	Properties *PropertyBag `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty"`

	// The response protocol. Example: 'http'.
	Protocol *string `json:"protocol,omitempty" yaml:"protocol,omitempty" mapstructure:"protocol,omitempty"`

	// The response reason. Example: 'Not found'.
	ReasonPhrase *string `json:"reasonPhrase,omitempty" yaml:"reasonPhrase,omitempty" mapstructure:"reasonPhrase,omitempty"`

	// The response status code. Example: 451.
	StatusCode *int `json:"statusCode,omitempty" yaml:"statusCode,omitempty" mapstructure:"statusCode,omitempty"`

	// The response version. Example: '1.1'.
	Version *string `json:"version,omitempty" yaml:"version,omitempty" mapstructure:"version,omitempty"`
}

Describes the response to an HTTP request.

func (*WebResponse) UnmarshalJSON

func (j *WebResponse) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL