param

package
v1.4.6 Latest Latest
Warning

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

Go to latest
Published: Jul 8, 2026 License: MIT Imports: 14 Imported by: 0

Documentation

Overview

Package param provides use cases for SSM Parameter Store operations.

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrParameterNotFound is returned when a parameter is not found.
	ErrParameterNotFound = errors.New("parameter not found")
)

Functions

This section is empty.

Types

type CreateInput added in v0.5.0

type CreateInput struct {
	Name        string
	Value       string
	Type        domain.ValueType
	Description string
	// Options carries provider-specific write options (e.g. AWS param Tier,
	// DataType). They are passed through to the provider unchanged.
	Options []provider.WriteOption
}

CreateInput holds input for the create use case.

type CreateOutput added in v0.5.0

type CreateOutput struct {
	Name    string
	Version int64
}

CreateOutput holds the result of the create use case.

type CreateUseCase added in v0.5.0

type CreateUseCase struct {
	Writer provider.Writer
}

CreateUseCase executes create operations.

func (*CreateUseCase) Execute added in v0.5.0

func (u *CreateUseCase) Execute(ctx context.Context, input CreateInput) (*CreateOutput, error)

Execute runs the create use case. It creates a new parameter via the provider; if the parameter already exists the provider returns a wrapped provider.ErrAlreadyExists and no overwrite occurs.

type DeleteInput

type DeleteInput struct {
	Name string
}

DeleteInput holds input for the delete use case.

type DeleteOutput

type DeleteOutput struct {
	Name string
}

DeleteOutput holds the result of the delete use case.

type DeleteUseCase

type DeleteUseCase struct {
	Store provider.Store
}

DeleteUseCase executes delete operations.

func (*DeleteUseCase) Execute

func (u *DeleteUseCase) Execute(ctx context.Context, input DeleteInput) (*DeleteOutput, error)

Execute runs the delete use case.

func (*DeleteUseCase) GetCurrentValue

func (u *DeleteUseCase) GetCurrentValue(ctx context.Context, name string) (string, error)

GetCurrentValue fetches the current value for preview. A non-existent parameter yields an empty value with no error; any other read failure is propagated.

type DiffInput

type DiffInput struct {
	Spec1 *paramversion.Spec
	Spec2 *paramversion.Spec
}

DiffInput holds input for the diff use case.

type DiffOutput

type DiffOutput struct {
	OldName    string
	OldVersion int64
	OldValue   string
	NewName    string
	NewVersion int64
	NewValue   string
}

DiffOutput holds the result of the diff use case.

type DiffUseCase

type DiffUseCase struct {
	Reader provider.Reader
}

DiffUseCase executes diff operations.

func (*DiffUseCase) Execute

func (u *DiffUseCase) Execute(ctx context.Context, input DiffInput) (*DiffOutput, error)

Execute runs the diff use case.

type ListEntry

type ListEntry struct {
	Name  string
	Value *string // nil when error or not requested
	Error error
}

ListEntry represents a single parameter in list output.

type ListInput

type ListInput struct {
	Prefix    string
	Recursive bool
	Filter    string // Regex filter pattern
	WithValue bool   // Include parameter values
}

ListInput holds input for the list use case.

type ListOutput

type ListOutput struct {
	Entries []ListEntry
}

ListOutput holds the result of the list use case.

type ListUseCase

type ListUseCase struct {
	Reader provider.Reader
}

ListUseCase executes list operations.

func (*ListUseCase) Execute

func (u *ListUseCase) Execute(ctx context.Context, input ListInput) (*ListOutput, error)

Execute runs the list use case.

type LogEntry

type LogEntry struct {
	Version      int64
	Type         domain.ValueType
	Value        string
	LastModified *time.Time
	IsCurrent    bool
}

LogEntry represents a single version entry.

type LogInput

type LogInput struct {
	Name       string
	MaxResults int32
	Since      *time.Time
	Until      *time.Time
	Reverse    bool // Reverse chronological order
}

LogInput holds input for the log use case.

type LogOutput

type LogOutput struct {
	Name    string
	Entries []LogEntry
	// InitialIncluded reports whether the oldest entry in Entries is the very
	// first version that ever existed. It is false when the window was cut by
	// --number or a date filter, so the oldest shown version is not a creation.
	InitialIncluded bool
}

LogOutput holds the result of the log use case.

type LogUseCase

type LogUseCase struct {
	Reader provider.Reader
}

LogUseCase executes log operations.

func (*LogUseCase) Execute

func (u *LogUseCase) Execute(ctx context.Context, input LogInput) (*LogOutput, error)

Execute runs the log use case.

It fetches the version history (newest first) via the provider, applies the date filters, then retrieves each surviving version's value and type. The provider's History exposes only version metadata (id/created), so values are fetched per version via Resolve+Get.

type ShowInput

type ShowInput struct {
	Spec *paramversion.Spec
}

ShowInput holds input for the show use case.

type ShowOutput

type ShowOutput struct {
	Name         string
	Value        string
	Version      int64
	Type         domain.ValueType
	Description  string
	LastModified *time.Time
	Tags         []ShowTag
}

ShowOutput holds the result of the show use case.

type ShowTag added in v0.2.0

type ShowTag struct {
	Key   string
	Value string
}

ShowTag represents a tag key-value pair.

type ShowUseCase

type ShowUseCase struct {
	Reader provider.Reader
}

ShowUseCase executes show operations.

func (*ShowUseCase) Execute

func (u *ShowUseCase) Execute(ctx context.Context, input ShowInput) (*ShowOutput, error)

Execute runs the show use case.

type TagInput added in v0.2.0

type TagInput struct {
	Name   string
	Add    map[string]string // Tags to add or update
	Remove []string          // Tag keys to remove
}

TagInput holds input for the tag use case.

type TagUseCase added in v0.2.0

type TagUseCase struct {
	Tagger provider.Tagger
}

TagUseCase executes tag operations.

func (*TagUseCase) Execute added in v0.2.0

func (u *TagUseCase) Execute(ctx context.Context, input TagInput) error

Execute runs the tag use case.

type UpdateInput added in v0.5.0

type UpdateInput struct {
	Name        string
	Value       string
	Type        domain.ValueType
	Description string
	// Options carries provider-specific write options (e.g. AWS param Tier,
	// DataType). They are passed through to the provider unchanged.
	Options []provider.WriteOption
}

UpdateInput holds input for the update use case.

type UpdateOutput added in v0.5.0

type UpdateOutput struct {
	Name    string
	Version int64
}

UpdateOutput holds the result of the update use case.

type UpdateUseCase added in v0.5.0

type UpdateUseCase struct {
	Store provider.Store
}

UpdateUseCase executes update operations.

func (*UpdateUseCase) Execute added in v0.5.0

func (u *UpdateUseCase) Execute(ctx context.Context, input UpdateInput) (*UpdateOutput, error)

Execute runs the update use case. It updates an existing parameter; if the parameter doesn't exist it returns ErrParameterNotFound. A read failure other than not-found is propagated unchanged (never treated as "does not exist").

func (*UpdateUseCase) GetCurrentValue added in v0.8.0

func (u *UpdateUseCase) GetCurrentValue(ctx context.Context, name string) (string, error)

GetCurrentValue fetches the current parameter value for preview. A non-existent parameter yields an empty value with no error; any other read failure is propagated.

Jump to

Keyboard shortcuts

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