deployerrors

package
v0.19.1012 Latest Latest
Warning

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

Go to latest
Published: Jun 18, 2026 License: AGPL-3.0 Imports: 5 Imported by: 0

Documentation

Overview

Package deployerrors holds the typed CompositeError implementations produced by component deploy (plan + apply) flows. It lives next to the installs domain that consumes it rather than in a central error catalog: each domain owns the custom errors it knows how to produce and parse.

Index

Constants

View Source
const AWSPermissionErrorType compositeerrors.Type = "terraform.aws_permission"

AWSPermissionErrorType is the discriminator for AWS IAM permission failures surfaced from a terraform plan/apply during a component deploy.

Variables

This section is empty.

Functions

func Parse

Parse inspects raw terraform plan/apply error output and returns a typed AWSPermissionError when it recognises an AWS IAM permission failure. It returns nil when there is no confident match, so callers fall back to the existing plain-string status description.

Types

type AWSPermissionError

type AWSPermissionError struct {
	// Action is the IAM action the caller lacked, e.g. "ec2:CreateVpc",
	// "s3:CreateBucket".
	Action string `json:"action"`

	// Resource is the ARN (or wildcard) the call targeted, when known.
	Resource string `json:"resource,omitempty"`

	// Principal is the IAM principal ARN the call was made as, when known.
	Principal string `json:"principal,omitempty"`

	// AWSErrorCode is the API error code we matched on (AccessDenied,
	// UnauthorizedOperation, AccessDeniedException, AuthorizationError).
	AWSErrorCode string `json:"aws_error_code,omitempty"`

	// RawMessage is the AWS-emitted error line we extracted the fields from.
	RawMessage string `json:"raw_message,omitempty"`
}

AWSPermissionError is the typed payload for an AWS API call that failed with AccessDenied / UnauthorizedOperation because the deploy's IAM principal is missing a permission. It implements compositeerrors.CompositeError so it can be returned like any error and frozen onto the owning deploy row.

func (*AWSPermissionError) Error

func (e *AWSPermissionError) Error() string

Error returns the one-line headline shown to users.

func (*AWSPermissionError) Sections

func (e *AWSPermissionError) Sections() []compositeerrors.Section

Sections returns the structured detail rendered in the dashboard: what AWS said, the principal/resource context, and a copy-pasteable IAM policy statement granting the missing action.

func (*AWSPermissionError) Severity

func (*AWSPermissionError) Type

Jump to

Keyboard shortcuts

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