content.go

Copyright 2020 Red Hat, Inc

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

package
types

RuleContent wraps all the content available for a rule into a single structure.

type
RuleContent
struct
{
Plugin
RulePluginInfo
`json:"plugin"`
ErrorKeys
map
[
string
]
RuleErrorKeyContent
`json:"error_keys"`
Generic
string
`json:"generic"`
Summary
string
`json:"summary"`
Resolution
string
`json:"resolution"`
MoreInfo
string
`json:"more_info"`
Reason
string
`json:"reason"`
HasReason
bool
}

RulePluginInfo is a Go representation of the plugin.yaml file inside of the rule content directory.

type
RulePluginInfo
struct
{
Name
string
`yaml:"name" json:"name"`
NodeID
string
`yaml:"node_id" json:"node_id"`
ProductCode
string
`yaml:"product_code" json:"product_code"`
PythonModule
string
`yaml:"python_module" json:"python_module"`
}

RuleErrorKeyContent wraps content of a single error key.

type
RuleErrorKeyContent
struct
{
Metadata
ErrorKeyMetadata
`json:"metadata"`
TotalRisk
int
`json:"total_risk"`
Generic
string
`json:"generic"`
Summary
string
`json:"summary"`
Resolution
string
`json:"resolution"`
MoreInfo
string
`json:"more_info"`
Reason
string
`json:"reason"`

DONTFIX has_reason until CCXDEV-5021

	
HasReason
bool
}

ErrorKeyMetadata is a Go representation of the metadata.yaml file inside of an error key content directory.

type
ErrorKeyMetadata
struct
{
Description
string
`yaml:"description" json:"description"`
Impact
Impact
`yaml:"impact" json:"impact"`
Likelihood
int
`yaml:"likelihood" json:"likelihood"`
PublishDate
string
`yaml:"publish_date" json:"publish_date"`
ResolutionRisk
int
`yaml:"resolution_risk" json:"resolution_risk"`
Status
string
`yaml:"status" json:"status"`
Tags
[
]
string
`yaml:"tags" json:"tags"`
}

Impact is contained in ErrorKeyMetadata

type
Impact
struct
{
Name
string
`yaml:"name" json:"name"`
Impact
int
`yaml:"impact" json:"impact"`
}

RuleContentDirectory contains content for all available rules in a directory.

type
RuleContentDirectory
struct
{
Config
GlobalRuleConfig
Rules
map
[
string
]
RuleContent
}

GlobalRuleConfig represents the file that contains metadata globally applicable to any/all rule content.

type
GlobalRuleConfig
struct
{
Impact
map
[
string
]
int
`yaml:"impact" json:"impact"`
ResolutionRisk
map
[
string
]
int
`yaml:"resolution_risk" json:"resolution_risk"`
}

RuleContentV1 version 1 of RuleConted provided by smart proxy

type
RuleContentV1
struct
{
Plugin
RulePluginInfo
`json:"plugin"`
ErrorKeys
map
[
string
]
RuleErrorKeyContentV1
`json:"error_keys"`
Generic
string
`json:"generic"`
Summary
string
`json:"summary"`
Resolution
string
`json:"resolution"`
MoreInfo
string
`json:"more_info"`
Reason
string
`json:"reason"`
HasReason
bool
}

RuleErrorKeyContentV1 is in RuleContentV1

type
RuleErrorKeyContentV1
struct
{
Metadata
ErrorKeyMetadataV1
`json:"metadata"`
TotalRisk
int
`json:"total_risk"`
Generic
string
`json:"generic"`
Summary
string
`json:"summary"`
Resolution
string
`json:"resolution"`
MoreInfo
string
`json:"more_info"`
Reason
string
`json:"reason"`

DONTFIX has_reason until CCXDEV-5021

	
HasReason
bool
}

ErrorKeyMetadataV1 is in RuleErrorKeyContentV1

type
ErrorKeyMetadataV1
struct
{
Description
string
`yaml:"description" json:"description"`
Impact
string
`yaml:"impact" json:"impact"`
Likelihood
int
`yaml:"likelihood" json:"likelihood"`
PublishDate
string
`yaml:"publish_date" json:"publish_date"`
Status
string
`yaml:"status" json:"status"`
Tags
[
]
string
`yaml:"tags" json:"tags"`
}

RuleContentV2 version 2 of RuleContent provided by smart proxy

type
RuleContentV2
struct
{
Plugin
RulePluginInfo
`json:"plugin"`
ErrorKeys
map
[
string
]
RuleErrorKeyContentV2
`json:"error_keys"`
Generic
string
`json:"generic"`
Summary
string
`json:"summary"`
Resolution
string
`json:"resolution"`
MoreInfo
string
`json:"more_info"`
Reason
string
`json:"reason"`
HasReason
bool
}

RuleErrorKeyContentV2 is in RuleContentV2

type
RuleErrorKeyContentV2
struct
{
Metadata
ErrorKeyMetadataV2
`json:"metadata"`
TotalRisk
int
`json:"total_risk"`
Generic
string
`json:"generic"`
Summary
string
`json:"summary"`
Resolution
string
`json:"resolution"`
MoreInfo
string
`json:"more_info"`
Reason
string
`json:"reason"`

DONTFIX has_reason until CCXDEV-5021

	
HasReason
bool
}

ErrorKeyMetadataV2 is in RuleErrorKeyContentV2

type
ErrorKeyMetadataV2
struct
{
Description
string
`yaml:"description" json:"description"`
Impact
int
`yaml:"impact" json:"impact"`
Likelihood
int
`yaml:"likelihood" json:"likelihood"`
PublishDate
string
`yaml:"publish_date" json:"publish_date"`
Status
string
`yaml:"status" json:"status"`
Tags
[
]
string
`yaml:"tags" json:"tags"`
}