rules

package
v0.3.20 Latest Latest
Warning

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

Go to latest
Published: Jan 17, 2022 License: MIT Imports: 7 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 EngineMetadata added in v0.3.0

type EngineMetadata struct {
	GoodExamples        []string `json:"good_examples,omitempty"`
	BadExamples         []string `json:"bad_examples,omitempty"`
	RemediationMarkdown string   `json:"remediation_markdown,omitempty"`
	Links               []string `json:"links,omitempty"`
}

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"`
	LongID          string            `json:"long_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) OverrideCodeBlockMetadata added in v0.2.7

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

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"`
	Terraform      *EngineMetadata   `json:"terraform,omitempty"`
	CloudFormation *EngineMetadata   `json:"cloud_formation,omitempty"`
}

func (Rule) LongID

func (r Rule) LongID() string

func (Rule) ServiceDisplayName added in v0.3.6

func (r Rule) ServiceDisplayName() string

func (Rule) ShortCodeDisplayName added in v0.3.6

func (r Rule) ShortCodeDisplayName() 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