Documentation
¶
Overview ¶
Package aws holds the AWS provider-layer CompositeError parsers: cloud error codes surfaced from a runner job's raw output. They register at errparse.LayerProvider so a specific AWS cause (e.g. a missing IAM permission) wins over the tool-level fallback.
Index ¶
Constants ¶
const AWSPermissionErrorType compositeerrors.Type = "terraform.aws_permission"
AWSPermissionErrorType is the discriminator for AWS IAM permission failures surfaced from a terraform plan/apply.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
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.
func (*AWSPermissionError) Error ¶
func (e *AWSPermissionError) Error() string
Error returns the one-line headline shown to users.
func (*AWSPermissionError) Hints ¶
func (e *AWSPermissionError) Hints() compositeerrors.Hints
Hints tells the orchestrator not to auto-retry: a missing IAM permission won't resolve by retrying, so burning the auto-retry budget only delays surfacing the actionable error. The step is parked for manual retry once the user grants the permission.
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 (e *AWSPermissionError) Severity() compositeerrors.Severity
func (*AWSPermissionError) Type ¶
func (e *AWSPermissionError) Type() compositeerrors.Type