ssmresolver

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Dec 16, 2025 License: MIT Imports: 9 Imported by: 0

Documentation

Overview

Package ssmresolver provides utilities for resolving AWS SSM Parameter Store ARNs in environment variables.

Index

Constants

View Source
const (
	EnvMaxRetries    = "CONFIG_WAIT_MAX_RETRIES"
	EnvRetryInterval = "CONFIG_WAIT_RETRY_INTERVAL"
)
View Source
const (
	DefaultMaxRetries    = 5
	DefaultRetryInterval = 1 * time.Second
)

Variables

This section is empty.

Functions

func ExtractParameterName

func ExtractParameterName(arn string) (string, bool)

ExtractParameterName extracts the parameter name from an SSM ARN.

func IsSSMARN

func IsSSMARN(value string) bool

IsSSMARN checks if the given value is an SSM Parameter Store ARN.

func ResolveEnvironmentWithDefaults

func ResolveEnvironmentWithDefaults(ctx context.Context) error

ResolveEnvironmentWithDefaults creates a resolver and resolves all env vars.

func ResolveEnvironmentWithRetry

func ResolveEnvironmentWithRetry(ctx context.Context, cfg RetryConfig) error

ResolveEnvironmentWithRetry resolves all environment variables with retry logic.

Types

type Client

type Client interface {
	GetParameter(ctx context.Context, params *ssm.GetParameterInput, optFns ...func(*ssm.Options)) (*ssm.GetParameterOutput, error)
}

Client defines the interface for SSM operations.

type Resolver

type Resolver struct {
	// contains filtered or unexported fields
}

Resolver handles SSM parameter resolution.

func New

func New(ctx context.Context) (*Resolver, error)

New creates a Resolver with the default AWS configuration.

func NewWithClient

func NewWithClient(client Client) *Resolver

NewWithClient creates a Resolver with a custom SSM client.

func (*Resolver) ResolveEnvironment

func (r *Resolver) ResolveEnvironment(ctx context.Context) error

ResolveEnvironment resolves any SSM ARN values in environment variables.

func (*Resolver) ResolveValue

func (r *Resolver) ResolveValue(ctx context.Context, value string) (string, error)

ResolveValue resolves an SSM ARN to its value, or returns it unchanged.

type RetryConfig

type RetryConfig struct {
	MaxRetries    int
	RetryInterval time.Duration
}

RetryConfig configures retry behavior for SSM resolution.

func NewRetryConfigFromEnv

func NewRetryConfigFromEnv() RetryConfig

NewRetryConfigFromEnv creates a RetryConfig from environment variables.

Jump to

Keyboard shortcuts

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