rules

package
v0.2.2 Latest Latest
Warning

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

Go to latest
Published: Dec 16, 2021 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CheckFunc

type CheckFunc func(s *state.State) (results Results)

type FlatRange

type FlatRange struct {
	Filename  string `json:"filename"`
	StartLine int    `json:"start_line"`
	EndLine   int    `json:"end_line"`
}

type FlatResult

type FlatResult struct {
	RuleID          string            `json:"rule_id"`
	RuleSummary     string            `json:"rule_description"`
	RuleProvider    provider.Provider `json:"rule_provider"`
	RuleService     string            `json:"rule_service"`
	Impact          string            `json:"impact"`
	Resolution      string            `json:"resolution"`
	Links           []string          `json:"links"`
	Description     string            `json:"description"`
	RangeAnnotation string            `json:"-"`
	Severity        severity.Severity `json:"severity"`
	Status          Status            `json:"status"`
	Resource        string            `json:"resource"`
	Location        FlatRange         `json:"location"`
}

type MetadataProvider

type MetadataProvider interface {
	GetMetadata() *types.Metadata
	GetRawValue() interface{}
}

type RegisteredRule

type RegisteredRule struct {
	// contains filtered or unexported fields
}

func GetRegistered

func GetRegistered() []RegisteredRule

func Register

func Register(rule Rule, f CheckFunc) RegisteredRule
func (r *RegisteredRule) AddLink(link string)

func (RegisteredRule) Evaluate

func (r RegisteredRule) Evaluate(s *state.State) Results

func (RegisteredRule) Rule

func (r RegisteredRule) Rule() Rule

type Result

type Result struct {
	// contains filtered or unexported fields
}

func (Result) Annotation

func (r Result) Annotation() string

func (Result) CodeBlockMetadata

func (r Result) CodeBlockMetadata() *types.Metadata

func (Result) Description

func (r Result) Description() string

func (*Result) Flatten

func (r *Result) Flatten() FlatResult

func (Result) IssueBlockMetadata

func (r Result) IssueBlockMetadata() *types.Metadata

func (Result) NarrowestRange

func (r Result) NarrowestRange() types.Range

func (*Result) OverrideAnnotation

func (r *Result) OverrideAnnotation(annotation string)

func (*Result) OverrideDescription

func (r *Result) OverrideDescription(description string)

func (*Result) OverrideIssueBlockMetadata

func (r *Result) OverrideIssueBlockMetadata(metadata *types.Metadata)

func (*Result) OverrideSeverity

func (r *Result) OverrideSeverity(s severity.Severity)

func (Result) Rule

func (r Result) Rule() Rule

func (Result) Severity

func (r Result) Severity() severity.Severity

func (Result) Status

func (r Result) Status() Status

type Results

type Results []Result

func (*Results) Add

func (r *Results) Add(description string, source MetadataProvider, issueBlock ...MetadataProvider)

func (*Results) AddPassed

func (r *Results) AddPassed(source MetadataProvider, descriptions ...string)

func (Results) Flatten

func (r Results) Flatten() []FlatResult

func (*Results) SetRule

func (r *Results) SetRule(rule Rule)

type Rule

type Rule struct {
	AVDID       string            `json:"avd_id"`
	ShortCode   string            `json:"short_code"`
	Summary     string            `json:"summary"`
	Explanation string            `json:"explanation"`
	Impact      string            `json:"impact"`
	Resolution  string            `json:"resolution"`
	Provider    provider.Provider `json:"provider"`
	Service     string            `json:"service"`
	Links       []string          `json:"links"`
	Severity    severity.Severity `json:"severity"`
}

func (Rule) LongID

func (r Rule) LongID() string

type Status

type Status uint8
const (
	StatusFailed Status = iota
	StatusPassed
)

Jump to

Keyboard shortcuts

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