terraformlinter

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Feb 14, 2024 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Package terraformlinter contains a linter implementation that verifies terraform files against our internal style guide and reports on all violations.

Copyright 2023 The Authors (see AUTHORS file)

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.

Index

Constants

View Source
const (
	None tokenPosition = iota
	LeadingStart
	LeadingEnd
	ProviderStart
	ProviderCenter
	ProviderEnd
	Ignored
	Trailing
)

Variables

View Source
var (
	// Name is the name of the binary. This can be overridden by the build
	// process.
	Name = "terraform-linter"

	// Version is the main package version. This can be overridden by the build
	// process.
	Version = buildinfo.Version()

	// Commit is the git sha. This can be overridden by the build process.
	Commit = buildinfo.Commit()

	// OSArch is the operating system and architecture combination.
	OSArch = buildinfo.OSArch()

	// HumanVersion is the compiled version.
	HumanVersion = Name + " " + Version + " (" + Commit + ", " + OSArch + ")"
)
View Source
var ViolationInstanceSorter = func(a, b *ViolationInstance) int {
	if v := cmp.Compare(a.Path, b.Path); v != 0 {
		return v
	}
	if v := cmp.Compare(a.Line, b.Line); v != 0 {
		return v
	}
	return cmp.Compare(a.Message, b.Message)
}

ViolationInstanceSorter is a function that orders a slice of ViolationInstance.

Functions

func RunLinter

func RunLinter(ctx context.Context, paths []string) error

RunLinter executes the specified linter for a set of files.

Types

type ViolationInstance

type ViolationInstance struct {
	Message string
	Path    string
	Line    int
}

ViolationInstance is an object that contains a reference to a location in a file where a lint violation was detected.

Jump to

Keyboard shortcuts

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