SarifDriver

@JsonClass(generateAdapter = true)
data class SarifDriver(    @Json(name = "associatedComponent") val associatedComponent: ToolComponentReference? = null,     @Json(name = "contents") val contents: List<Content>? = null,     @Json(name = "dottedQuadFileVersion") val dottedQuadFileVersion: String? = null,     @Json(name = "downloadUri") val downloadURI: String? = null,     @Json(name = "fullDescription") val fullDescription: MultiformatMessageString? = null,     @Json(name = "fullName") val fullName: String? = null,     @Json(name = "globalMessageStrings") val globalMessageStrings: Map<String, MultiformatMessageString>? = null,     @Json(name = "guid") val guid: String? = null,     @Json(name = "informationUri") val informationURI: String? = null,     @Json(name = "isComprehensive") val isComprehensive: Boolean? = null,     @Json(name = "language") val language: String? = null,     @Json(name = "localizedDataSemanticVersion") val localizedDataSemanticVersion: String? = null,     @Json(name = "locations") val locations: List<ArtifactLocation>? = null,     @Json(name = "minimumRequiredLocalizedDataSemanticVersion") val minimumRequiredLocalizedDataSemanticVersion: String? = null,     @Json(name = "name") val name: String,     @Json(name = "notifications") val notifications: List<SarifRule>? = null,     @Json(name = "organization") val organization: String? = null,     @Json(name = "product") val product: String? = null,     @Json(name = "productSuite") val productSuite: String? = null,     @Json(name = "properties") val properties: PropertyBag? = null,     @Json(name = "releaseDateUtc") val releaseDateUTC: String? = null,     @Json(name = "semanticVersion") val semanticVersion: String? = null,     @Json(name = "shortDescription") val shortDescription: MultiformatMessageString? = null,     @Json(name = "supportedTaxonomies") val supportedTaxonomies: List<ToolComponentReference>? = null,     @Json(name = "taxa") val taxa: List<SarifRule>? = null,     @Json(name = "translationMetadata") val translationMetadata: TranslationMetadata? = null,     @Json(name = "version") val version: String? = null,     @Json(name = "rules") val rules: List<SarifRule>? = null)

The analysis tool that was run.

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

The analysis tool object that will be merged with a separate run.

Constructors

Link copied to clipboard
fun SarifDriver(    @Json(name = "associatedComponent") associatedComponent: ToolComponentReference? = null,     @Json(name = "contents") contents: List<Content>? = null,     @Json(name = "dottedQuadFileVersion") dottedQuadFileVersion: String? = null,     @Json(name = "downloadUri") downloadURI: String? = null,     @Json(name = "fullDescription") fullDescription: MultiformatMessageString? = null,     @Json(name = "fullName") fullName: String? = null,     @Json(name = "globalMessageStrings") globalMessageStrings: Map<String, MultiformatMessageString>? = null,     @Json(name = "guid") guid: String? = null,     @Json(name = "informationUri") informationURI: String? = null,     @Json(name = "isComprehensive") isComprehensive: Boolean? = null,     @Json(name = "language") language: String? = null,     @Json(name = "localizedDataSemanticVersion") localizedDataSemanticVersion: String? = null,     @Json(name = "locations") locations: List<ArtifactLocation>? = null,     @Json(name = "minimumRequiredLocalizedDataSemanticVersion") minimumRequiredLocalizedDataSemanticVersion: String? = null,     @Json(name = "name") name: String,     @Json(name = "notifications") notifications: List<SarifRule>? = null,     @Json(name = "organization") organization: String? = null,     @Json(name = "product") product: String? = null,     @Json(name = "productSuite") productSuite: String? = null,     @Json(name = "properties") properties: PropertyBag? = null,     @Json(name = "releaseDateUtc") releaseDateUTC: String? = null,     @Json(name = "semanticVersion") semanticVersion: String? = null,     @Json(name = "shortDescription") shortDescription: MultiformatMessageString? = null,     @Json(name = "supportedTaxonomies") supportedTaxonomies: List<ToolComponentReference>? = null,     @Json(name = "taxa") taxa: List<SarifRule>? = null,     @Json(name = "translationMetadata") translationMetadata: TranslationMetadata? = null,     @Json(name = "version") version: String? = null,     @Json(name = "rules") rules: List<SarifRule>? = null)

Properties

Link copied to clipboard
val associatedComponent: ToolComponentReference? = null

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.

Link copied to clipboard
val contents: List<Content>? = null

The kinds of data contained in this object.

Link copied to clipboard
val dottedQuadFileVersion: String? = null

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).

Link copied to clipboard
val downloadURI: String? = null

The absolute URI from which the tool component can be downloaded.

Link copied to clipboard
val fullDescription: MultiformatMessageString? = null

A comprehensive description of the tool component.

Link copied to clipboard
val fullName: String? = null

The name of the tool component along with its version and any other useful identifying information, such as its locale.

Link copied to clipboard
val globalMessageStrings: Map<String, MultiformatMessageString>? = null

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.

Link copied to clipboard
val guid: String? = null

A unique identifer for the tool component in the form of a GUID.

Link copied to clipboard
val informationURI: String? = null

The absolute URI at which information about this version of the tool component can be found.

Link copied to clipboard
val isComprehensive: Boolean? = null

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.

Link copied to clipboard
val language: String? = null

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).

Link copied to clipboard
val localizedDataSemanticVersion: String? = null

The semantic version of the localized strings defined in this component; maintained by components that provide translations.

Link copied to clipboard
val locations: List<ArtifactLocation>? = null

An array of the artifactLocation objects associated with the tool component.

val minimumRequiredLocalizedDataSemanticVersion: String? = null

The minimum value of localizedDataSemanticVersion required in translations consumed by this component; used by components that consume translations.

Link copied to clipboard
val name: String

The name of the tool component.

Link copied to clipboard
val notifications: List<SarifRule>? = null

An array of reportingDescriptor objects relevant to the notifications related to the configuration and runtime execution of the tool component.

Link copied to clipboard
val organization: String? = null

The organization or company that produced the tool component.

Link copied to clipboard
val product: String? = null

A product suite to which the tool component belongs.

Link copied to clipboard
val productSuite: String? = null

A localizable string containing the name of the suite of products to which the tool component belongs.

Link copied to clipboard
val properties: PropertyBag? = null

Key/value pairs that provide additional information about the tool component.

Link copied to clipboard
val releaseDateUTC: String? = null

A string specifying the UTC date (and optionally, the time) of the component's release.

Link copied to clipboard
val rules: List<SarifRule>? = null

An array of reportingDescriptor objects relevant to the analysis performed by the tool component.

Link copied to clipboard
val semanticVersion: String? = null

The tool component version in the format specified by Semantic Versioning 2.0.

Link copied to clipboard
val shortDescription: MultiformatMessageString? = null

A brief description of the tool component.

Link copied to clipboard
val supportedTaxonomies: List<ToolComponentReference>? = null

An array of toolComponentReference objects to declare the taxonomies supported by the tool component.

Link copied to clipboard
val taxa: List<SarifRule>? = null

An array of reportingDescriptor objects relevant to the definitions of both standalone and tool-defined taxonomies.

Link copied to clipboard
val translationMetadata: TranslationMetadata? = null

Translation metadata, required for a translation, not populated by other component types.

Link copied to clipboard
val version: String? = null

The tool component version, in whatever format the component natively provides.

Sources

Link copied to clipboard