rules

package
v0.3.1 Latest Latest
Warning

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

Go to latest
Published: Jan 6, 2022 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 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"`
	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

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