1
0
Fork 0
mirror of https://github.com/gocsaf/csaf.git synced 2025-12-22 05:40:11 +01:00
gocsaf/csaf/cvss30enums.go
2023-09-02 17:38:12 +02:00

500 lines
17 KiB
Go

// This file is Free Software under the MIT License
// without warranty, see README.md and LICENSES/MIT.txt for details.
//
// SPDX-License-Identifier: MIT
//
// SPDX-FileCopyrightText: 2023 German Federal Office for Information Security (BSI) <https://www.bsi.bund.de>
// Software-Engineering: 2023 Intevation GmbH <https://intevation.de>
//
// THIS FILE IS MACHINE GENERATED. EDIT WITH CARE!
package csaf
// CVSS30AttackComplexity represents the attackComplexityType in CVSS30.
type CVSS30AttackComplexity string
const (
// CVSS30AttackComplexityHigh is a constant for "HIGH".
CVSS30AttackComplexityHigh CVSS30AttackComplexity = "HIGH"
// CVSS30AttackComplexityLow is a constant for "LOW".
CVSS30AttackComplexityLow CVSS30AttackComplexity = "LOW"
)
var cvss30AttackComplexityPattern = alternativesUnmarshal(
string(CVSS30AttackComplexityHigh),
string(CVSS30AttackComplexityLow),
)
// UnmarshalText implements the [encoding.TextUnmarshaler] interface.
func (e *CVSS30AttackComplexity) UnmarshalText(data []byte) error {
s, err := cvss30AttackComplexityPattern(data)
if err == nil {
*e = CVSS30AttackComplexity(s)
}
return err
}
// CVSS30AttackVector represents the attackVectorType in CVSS30.
type CVSS30AttackVector string
const (
// CVSS30AttackVectorNetwork is a constant for "NETWORK".
CVSS30AttackVectorNetwork CVSS30AttackVector = "NETWORK"
// CVSS30AttackVectorAdjacentNetwork is a constant for "ADJACENT_NETWORK".
CVSS30AttackVectorAdjacentNetwork CVSS30AttackVector = "ADJACENT_NETWORK"
// CVSS30AttackVectorLocal is a constant for "LOCAL".
CVSS30AttackVectorLocal CVSS30AttackVector = "LOCAL"
// CVSS30AttackVectorPhysical is a constant for "PHYSICAL".
CVSS30AttackVectorPhysical CVSS30AttackVector = "PHYSICAL"
)
var cvss30AttackVectorPattern = alternativesUnmarshal(
string(CVSS30AttackVectorNetwork),
string(CVSS30AttackVectorAdjacentNetwork),
string(CVSS30AttackVectorLocal),
string(CVSS30AttackVectorPhysical),
)
// UnmarshalText implements the [encoding.TextUnmarshaler] interface.
func (e *CVSS30AttackVector) UnmarshalText(data []byte) error {
s, err := cvss30AttackVectorPattern(data)
if err == nil {
*e = CVSS30AttackVector(s)
}
return err
}
// CVSS30CiaRequirement represents the ciaRequirementType in CVSS30.
type CVSS30CiaRequirement string
const (
// CVSS30CiaRequirementLow is a constant for "LOW".
CVSS30CiaRequirementLow CVSS30CiaRequirement = "LOW"
// CVSS30CiaRequirementMedium is a constant for "MEDIUM".
CVSS30CiaRequirementMedium CVSS30CiaRequirement = "MEDIUM"
// CVSS30CiaRequirementHigh is a constant for "HIGH".
CVSS30CiaRequirementHigh CVSS30CiaRequirement = "HIGH"
// CVSS30CiaRequirementNotDefined is a constant for "NOT_DEFINED".
CVSS30CiaRequirementNotDefined CVSS30CiaRequirement = "NOT_DEFINED"
)
var cvss30CiaRequirementPattern = alternativesUnmarshal(
string(CVSS30CiaRequirementLow),
string(CVSS30CiaRequirementMedium),
string(CVSS30CiaRequirementHigh),
string(CVSS30CiaRequirementNotDefined),
)
// UnmarshalText implements the [encoding.TextUnmarshaler] interface.
func (e *CVSS30CiaRequirement) UnmarshalText(data []byte) error {
s, err := cvss30CiaRequirementPattern(data)
if err == nil {
*e = CVSS30CiaRequirement(s)
}
return err
}
// CVSS30Cia represents the ciaType in CVSS30.
type CVSS30Cia string
const (
// CVSS30CiaNone is a constant for "NONE".
CVSS30CiaNone CVSS30Cia = "NONE"
// CVSS30CiaLow is a constant for "LOW".
CVSS30CiaLow CVSS30Cia = "LOW"
// CVSS30CiaHigh is a constant for "HIGH".
CVSS30CiaHigh CVSS30Cia = "HIGH"
)
var cvss30CiaPattern = alternativesUnmarshal(
string(CVSS30CiaNone),
string(CVSS30CiaLow),
string(CVSS30CiaHigh),
)
// UnmarshalText implements the [encoding.TextUnmarshaler] interface.
func (e *CVSS30Cia) UnmarshalText(data []byte) error {
s, err := cvss30CiaPattern(data)
if err == nil {
*e = CVSS30Cia(s)
}
return err
}
// CVSS30Confidence represents the confidenceType in CVSS30.
type CVSS30Confidence string
const (
// CVSS30ConfidenceUnknown is a constant for "UNKNOWN".
CVSS30ConfidenceUnknown CVSS30Confidence = "UNKNOWN"
// CVSS30ConfidenceReasonable is a constant for "REASONABLE".
CVSS30ConfidenceReasonable CVSS30Confidence = "REASONABLE"
// CVSS30ConfidenceConfirmed is a constant for "CONFIRMED".
CVSS30ConfidenceConfirmed CVSS30Confidence = "CONFIRMED"
// CVSS30ConfidenceNotDefined is a constant for "NOT_DEFINED".
CVSS30ConfidenceNotDefined CVSS30Confidence = "NOT_DEFINED"
)
var cvss30ConfidencePattern = alternativesUnmarshal(
string(CVSS30ConfidenceUnknown),
string(CVSS30ConfidenceReasonable),
string(CVSS30ConfidenceConfirmed),
string(CVSS30ConfidenceNotDefined),
)
// UnmarshalText implements the [encoding.TextUnmarshaler] interface.
func (e *CVSS30Confidence) UnmarshalText(data []byte) error {
s, err := cvss30ConfidencePattern(data)
if err == nil {
*e = CVSS30Confidence(s)
}
return err
}
// CVSS30ExploitCodeMaturity represents the exploitCodeMaturityType in CVSS30.
type CVSS30ExploitCodeMaturity string
const (
// CVSS30ExploitCodeMaturityUnproven is a constant for "UNPROVEN".
CVSS30ExploitCodeMaturityUnproven CVSS30ExploitCodeMaturity = "UNPROVEN"
// CVSS30ExploitCodeMaturityProofOfConcept is a constant for "PROOF_OF_CONCEPT".
CVSS30ExploitCodeMaturityProofOfConcept CVSS30ExploitCodeMaturity = "PROOF_OF_CONCEPT"
// CVSS30ExploitCodeMaturityFunctional is a constant for "FUNCTIONAL".
CVSS30ExploitCodeMaturityFunctional CVSS30ExploitCodeMaturity = "FUNCTIONAL"
// CVSS30ExploitCodeMaturityHigh is a constant for "HIGH".
CVSS30ExploitCodeMaturityHigh CVSS30ExploitCodeMaturity = "HIGH"
// CVSS30ExploitCodeMaturityNotDefined is a constant for "NOT_DEFINED".
CVSS30ExploitCodeMaturityNotDefined CVSS30ExploitCodeMaturity = "NOT_DEFINED"
)
var cvss30ExploitCodeMaturityPattern = alternativesUnmarshal(
string(CVSS30ExploitCodeMaturityUnproven),
string(CVSS30ExploitCodeMaturityProofOfConcept),
string(CVSS30ExploitCodeMaturityFunctional),
string(CVSS30ExploitCodeMaturityHigh),
string(CVSS30ExploitCodeMaturityNotDefined),
)
// UnmarshalText implements the [encoding.TextUnmarshaler] interface.
func (e *CVSS30ExploitCodeMaturity) UnmarshalText(data []byte) error {
s, err := cvss30ExploitCodeMaturityPattern(data)
if err == nil {
*e = CVSS30ExploitCodeMaturity(s)
}
return err
}
// CVSS30ModifiedAttackComplexity represents the modifiedAttackComplexityType in CVSS30.
type CVSS30ModifiedAttackComplexity string
const (
// CVSS30ModifiedAttackComplexityHigh is a constant for "HIGH".
CVSS30ModifiedAttackComplexityHigh CVSS30ModifiedAttackComplexity = "HIGH"
// CVSS30ModifiedAttackComplexityLow is a constant for "LOW".
CVSS30ModifiedAttackComplexityLow CVSS30ModifiedAttackComplexity = "LOW"
// CVSS30ModifiedAttackComplexityNotDefined is a constant for "NOT_DEFINED".
CVSS30ModifiedAttackComplexityNotDefined CVSS30ModifiedAttackComplexity = "NOT_DEFINED"
)
var cvss30ModifiedAttackComplexityPattern = alternativesUnmarshal(
string(CVSS30ModifiedAttackComplexityHigh),
string(CVSS30ModifiedAttackComplexityLow),
string(CVSS30ModifiedAttackComplexityNotDefined),
)
// UnmarshalText implements the [encoding.TextUnmarshaler] interface.
func (e *CVSS30ModifiedAttackComplexity) UnmarshalText(data []byte) error {
s, err := cvss30ModifiedAttackComplexityPattern(data)
if err == nil {
*e = CVSS30ModifiedAttackComplexity(s)
}
return err
}
// CVSS30ModifiedAttackVector represents the modifiedAttackVectorType in CVSS30.
type CVSS30ModifiedAttackVector string
const (
// CVSS30ModifiedAttackVectorNetwork is a constant for "NETWORK".
CVSS30ModifiedAttackVectorNetwork CVSS30ModifiedAttackVector = "NETWORK"
// CVSS30ModifiedAttackVectorAdjacentNetwork is a constant for "ADJACENT_NETWORK".
CVSS30ModifiedAttackVectorAdjacentNetwork CVSS30ModifiedAttackVector = "ADJACENT_NETWORK"
// CVSS30ModifiedAttackVectorLocal is a constant for "LOCAL".
CVSS30ModifiedAttackVectorLocal CVSS30ModifiedAttackVector = "LOCAL"
// CVSS30ModifiedAttackVectorPhysical is a constant for "PHYSICAL".
CVSS30ModifiedAttackVectorPhysical CVSS30ModifiedAttackVector = "PHYSICAL"
// CVSS30ModifiedAttackVectorNotDefined is a constant for "NOT_DEFINED".
CVSS30ModifiedAttackVectorNotDefined CVSS30ModifiedAttackVector = "NOT_DEFINED"
)
var cvss30ModifiedAttackVectorPattern = alternativesUnmarshal(
string(CVSS30ModifiedAttackVectorNetwork),
string(CVSS30ModifiedAttackVectorAdjacentNetwork),
string(CVSS30ModifiedAttackVectorLocal),
string(CVSS30ModifiedAttackVectorPhysical),
string(CVSS30ModifiedAttackVectorNotDefined),
)
// UnmarshalText implements the [encoding.TextUnmarshaler] interface.
func (e *CVSS30ModifiedAttackVector) UnmarshalText(data []byte) error {
s, err := cvss30ModifiedAttackVectorPattern(data)
if err == nil {
*e = CVSS30ModifiedAttackVector(s)
}
return err
}
// CVSS30ModifiedCia represents the modifiedCiaType in CVSS30.
type CVSS30ModifiedCia string
const (
// CVSS30ModifiedCiaNone is a constant for "NONE".
CVSS30ModifiedCiaNone CVSS30ModifiedCia = "NONE"
// CVSS30ModifiedCiaLow is a constant for "LOW".
CVSS30ModifiedCiaLow CVSS30ModifiedCia = "LOW"
// CVSS30ModifiedCiaHigh is a constant for "HIGH".
CVSS30ModifiedCiaHigh CVSS30ModifiedCia = "HIGH"
// CVSS30ModifiedCiaNotDefined is a constant for "NOT_DEFINED".
CVSS30ModifiedCiaNotDefined CVSS30ModifiedCia = "NOT_DEFINED"
)
var cvss30ModifiedCiaPattern = alternativesUnmarshal(
string(CVSS30ModifiedCiaNone),
string(CVSS30ModifiedCiaLow),
string(CVSS30ModifiedCiaHigh),
string(CVSS30ModifiedCiaNotDefined),
)
// UnmarshalText implements the [encoding.TextUnmarshaler] interface.
func (e *CVSS30ModifiedCia) UnmarshalText(data []byte) error {
s, err := cvss30ModifiedCiaPattern(data)
if err == nil {
*e = CVSS30ModifiedCia(s)
}
return err
}
// CVSS30ModifiedPrivilegesRequired represents the modifiedPrivilegesRequiredType in CVSS30.
type CVSS30ModifiedPrivilegesRequired string
const (
// CVSS30ModifiedPrivilegesRequiredHigh is a constant for "HIGH".
CVSS30ModifiedPrivilegesRequiredHigh CVSS30ModifiedPrivilegesRequired = "HIGH"
// CVSS30ModifiedPrivilegesRequiredLow is a constant for "LOW".
CVSS30ModifiedPrivilegesRequiredLow CVSS30ModifiedPrivilegesRequired = "LOW"
// CVSS30ModifiedPrivilegesRequiredNone is a constant for "NONE".
CVSS30ModifiedPrivilegesRequiredNone CVSS30ModifiedPrivilegesRequired = "NONE"
// CVSS30ModifiedPrivilegesRequiredNotDefined is a constant for "NOT_DEFINED".
CVSS30ModifiedPrivilegesRequiredNotDefined CVSS30ModifiedPrivilegesRequired = "NOT_DEFINED"
)
var cvss30ModifiedPrivilegesRequiredPattern = alternativesUnmarshal(
string(CVSS30ModifiedPrivilegesRequiredHigh),
string(CVSS30ModifiedPrivilegesRequiredLow),
string(CVSS30ModifiedPrivilegesRequiredNone),
string(CVSS30ModifiedPrivilegesRequiredNotDefined),
)
// UnmarshalText implements the [encoding.TextUnmarshaler] interface.
func (e *CVSS30ModifiedPrivilegesRequired) UnmarshalText(data []byte) error {
s, err := cvss30ModifiedPrivilegesRequiredPattern(data)
if err == nil {
*e = CVSS30ModifiedPrivilegesRequired(s)
}
return err
}
// CVSS30ModifiedScope represents the modifiedScopeType in CVSS30.
type CVSS30ModifiedScope string
const (
// CVSS30ModifiedScopeUnchanged is a constant for "UNCHANGED".
CVSS30ModifiedScopeUnchanged CVSS30ModifiedScope = "UNCHANGED"
// CVSS30ModifiedScopeChanged is a constant for "CHANGED".
CVSS30ModifiedScopeChanged CVSS30ModifiedScope = "CHANGED"
// CVSS30ModifiedScopeNotDefined is a constant for "NOT_DEFINED".
CVSS30ModifiedScopeNotDefined CVSS30ModifiedScope = "NOT_DEFINED"
)
var cvss30ModifiedScopePattern = alternativesUnmarshal(
string(CVSS30ModifiedScopeUnchanged),
string(CVSS30ModifiedScopeChanged),
string(CVSS30ModifiedScopeNotDefined),
)
// UnmarshalText implements the [encoding.TextUnmarshaler] interface.
func (e *CVSS30ModifiedScope) UnmarshalText(data []byte) error {
s, err := cvss30ModifiedScopePattern(data)
if err == nil {
*e = CVSS30ModifiedScope(s)
}
return err
}
// CVSS30ModifiedUserInteraction represents the modifiedUserInteractionType in CVSS30.
type CVSS30ModifiedUserInteraction string
const (
// CVSS30ModifiedUserInteractionNone is a constant for "NONE".
CVSS30ModifiedUserInteractionNone CVSS30ModifiedUserInteraction = "NONE"
// CVSS30ModifiedUserInteractionRequired is a constant for "REQUIRED".
CVSS30ModifiedUserInteractionRequired CVSS30ModifiedUserInteraction = "REQUIRED"
// CVSS30ModifiedUserInteractionNotDefined is a constant for "NOT_DEFINED".
CVSS30ModifiedUserInteractionNotDefined CVSS30ModifiedUserInteraction = "NOT_DEFINED"
)
var cvss30ModifiedUserInteractionPattern = alternativesUnmarshal(
string(CVSS30ModifiedUserInteractionNone),
string(CVSS30ModifiedUserInteractionRequired),
string(CVSS30ModifiedUserInteractionNotDefined),
)
// UnmarshalText implements the [encoding.TextUnmarshaler] interface.
func (e *CVSS30ModifiedUserInteraction) UnmarshalText(data []byte) error {
s, err := cvss30ModifiedUserInteractionPattern(data)
if err == nil {
*e = CVSS30ModifiedUserInteraction(s)
}
return err
}
// CVSS30PrivilegesRequired represents the privilegesRequiredType in CVSS30.
type CVSS30PrivilegesRequired string
const (
// CVSS30PrivilegesRequiredHigh is a constant for "HIGH".
CVSS30PrivilegesRequiredHigh CVSS30PrivilegesRequired = "HIGH"
// CVSS30PrivilegesRequiredLow is a constant for "LOW".
CVSS30PrivilegesRequiredLow CVSS30PrivilegesRequired = "LOW"
// CVSS30PrivilegesRequiredNone is a constant for "NONE".
CVSS30PrivilegesRequiredNone CVSS30PrivilegesRequired = "NONE"
)
var cvss30PrivilegesRequiredPattern = alternativesUnmarshal(
string(CVSS30PrivilegesRequiredHigh),
string(CVSS30PrivilegesRequiredLow),
string(CVSS30PrivilegesRequiredNone),
)
// UnmarshalText implements the [encoding.TextUnmarshaler] interface.
func (e *CVSS30PrivilegesRequired) UnmarshalText(data []byte) error {
s, err := cvss30PrivilegesRequiredPattern(data)
if err == nil {
*e = CVSS30PrivilegesRequired(s)
}
return err
}
// CVSS30RemediationLevel represents the remediationLevelType in CVSS30.
type CVSS30RemediationLevel string
const (
// CVSS30RemediationLevelOfficialFix is a constant for "OFFICIAL_FIX".
CVSS30RemediationLevelOfficialFix CVSS30RemediationLevel = "OFFICIAL_FIX"
// CVSS30RemediationLevelTemporaryFix is a constant for "TEMPORARY_FIX".
CVSS30RemediationLevelTemporaryFix CVSS30RemediationLevel = "TEMPORARY_FIX"
// CVSS30RemediationLevelWorkaround is a constant for "WORKAROUND".
CVSS30RemediationLevelWorkaround CVSS30RemediationLevel = "WORKAROUND"
// CVSS30RemediationLevelUnavailable is a constant for "UNAVAILABLE".
CVSS30RemediationLevelUnavailable CVSS30RemediationLevel = "UNAVAILABLE"
// CVSS30RemediationLevelNotDefined is a constant for "NOT_DEFINED".
CVSS30RemediationLevelNotDefined CVSS30RemediationLevel = "NOT_DEFINED"
)
var cvss30RemediationLevelPattern = alternativesUnmarshal(
string(CVSS30RemediationLevelOfficialFix),
string(CVSS30RemediationLevelTemporaryFix),
string(CVSS30RemediationLevelWorkaround),
string(CVSS30RemediationLevelUnavailable),
string(CVSS30RemediationLevelNotDefined),
)
// UnmarshalText implements the [encoding.TextUnmarshaler] interface.
func (e *CVSS30RemediationLevel) UnmarshalText(data []byte) error {
s, err := cvss30RemediationLevelPattern(data)
if err == nil {
*e = CVSS30RemediationLevel(s)
}
return err
}
// CVSS30Scope represents the scopeType in CVSS30.
type CVSS30Scope string
const (
// CVSS30ScopeUnchanged is a constant for "UNCHANGED".
CVSS30ScopeUnchanged CVSS30Scope = "UNCHANGED"
// CVSS30ScopeChanged is a constant for "CHANGED".
CVSS30ScopeChanged CVSS30Scope = "CHANGED"
)
var cvss30ScopePattern = alternativesUnmarshal(
string(CVSS30ScopeUnchanged),
string(CVSS30ScopeChanged),
)
// UnmarshalText implements the [encoding.TextUnmarshaler] interface.
func (e *CVSS30Scope) UnmarshalText(data []byte) error {
s, err := cvss30ScopePattern(data)
if err == nil {
*e = CVSS30Scope(s)
}
return err
}
// CVSS30Severity represents the severityType in CVSS30.
type CVSS30Severity string
const (
// CVSS30SeverityNone is a constant for "NONE".
CVSS30SeverityNone CVSS30Severity = "NONE"
// CVSS30SeverityLow is a constant for "LOW".
CVSS30SeverityLow CVSS30Severity = "LOW"
// CVSS30SeverityMedium is a constant for "MEDIUM".
CVSS30SeverityMedium CVSS30Severity = "MEDIUM"
// CVSS30SeverityHigh is a constant for "HIGH".
CVSS30SeverityHigh CVSS30Severity = "HIGH"
// CVSS30SeverityCritical is a constant for "CRITICAL".
CVSS30SeverityCritical CVSS30Severity = "CRITICAL"
)
var cvss30SeverityPattern = alternativesUnmarshal(
string(CVSS30SeverityNone),
string(CVSS30SeverityLow),
string(CVSS30SeverityMedium),
string(CVSS30SeverityHigh),
string(CVSS30SeverityCritical),
)
// UnmarshalText implements the [encoding.TextUnmarshaler] interface.
func (e *CVSS30Severity) UnmarshalText(data []byte) error {
s, err := cvss30SeverityPattern(data)
if err == nil {
*e = CVSS30Severity(s)
}
return err
}
// CVSS30UserInteraction represents the userInteractionType in CVSS30.
type CVSS30UserInteraction string
const (
// CVSS30UserInteractionNone is a constant for "NONE".
CVSS30UserInteractionNone CVSS30UserInteraction = "NONE"
// CVSS30UserInteractionRequired is a constant for "REQUIRED".
CVSS30UserInteractionRequired CVSS30UserInteraction = "REQUIRED"
)
var cvss30UserInteractionPattern = alternativesUnmarshal(
string(CVSS30UserInteractionNone),
string(CVSS30UserInteractionRequired),
)
// UnmarshalText implements the [encoding.TextUnmarshaler] interface.
func (e *CVSS30UserInteraction) UnmarshalText(data []byte) error {
s, err := cvss30UserInteractionPattern(data)
if err == nil {
*e = CVSS30UserInteraction(s)
}
return err
}