secret

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Jan 3, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Overview

Package secret provides use cases for Secrets Manager operations.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CreateClient

type CreateClient interface {
	secretapi.CreateSecretAPI
}

CreateClient is the interface for the create use case.

type CreateInput

type CreateInput struct {
	Name        string
	Value       string
	Description string
}

CreateInput holds input for the create use case.

type CreateOutput

type CreateOutput struct {
	Name      string
	VersionID string
	ARN       string
}

CreateOutput holds the result of the create use case.

type CreateUseCase

type CreateUseCase struct {
	Client CreateClient
}

CreateUseCase executes create operations.

func (*CreateUseCase) Execute

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

Execute runs the create use case.

type DeleteClient

type DeleteClient interface {
	secretapi.DeleteSecretAPI
	secretapi.GetSecretValueAPI
}

DeleteClient is the interface for the delete use case.

type DeleteInput

type DeleteInput struct {
	Name           string
	Force          bool  // Force immediate deletion
	RecoveryWindow int64 // Days before permanent deletion (7-30)
}

DeleteInput holds input for the delete use case.

type DeleteOutput

type DeleteOutput struct {
	Name         string
	DeletionDate *time.Time
	ARN          string
}

DeleteOutput holds the result of the delete use case.

type DeleteUseCase

type DeleteUseCase struct {
	Client DeleteClient
}

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 secret value for preview.

type DiffClient

DiffClient is the interface for the diff use case.

type DiffInput

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

DiffInput holds input for the diff use case.

type DiffOutput

type DiffOutput struct {
	OldName      string
	OldVersionID string
	OldValue     string
	NewName      string
	NewVersionID string
	NewValue     string
}

DiffOutput holds the result of the diff use case.

type DiffUseCase

type DiffUseCase struct {
	Client DiffClient
}

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 ListClient

type ListClient interface {
	secretapi.ListSecretsAPI
	secretapi.GetSecretValueAPI
}

ListClient is the interface for the list use case.

type ListEntry

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

ListEntry represents a single secret in list output.

type ListInput

type ListInput struct {
	Prefix     string // AWS-side name filter (substring match)
	Filter     string // Regex filter pattern (client-side)
	WithValue  bool   // Include secret values
	MaxResults int    // Max results per page (0 = all)
	NextToken  string // Pagination token
}

ListInput holds input for the list use case.

type ListOutput

type ListOutput struct {
	Entries   []ListEntry
	NextToken string // Empty if no more pages
}

ListOutput holds the result of the list use case.

type ListUseCase

type ListUseCase struct {
	Client ListClient
}

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 LogClient

LogClient is the interface for the log use case.

type LogEntry

type LogEntry struct {
	VersionID    string
	VersionStage []string
	Value        string
	CreatedDate  *time.Time
	IsCurrent    bool
	Error        error // Error from fetching value, if any
}

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
}

LogOutput holds the result of the log use case.

type LogUseCase

type LogUseCase struct {
	Client LogClient
}

LogUseCase executes log operations.

func (*LogUseCase) Execute

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

Execute runs the log use case.

type RestoreClient

type RestoreClient interface {
	secretapi.RestoreSecretAPI
}

RestoreClient is the interface for the restore use case.

type RestoreInput

type RestoreInput struct {
	Name string
}

RestoreInput holds input for the restore use case.

type RestoreOutput

type RestoreOutput struct {
	Name string
	ARN  string
}

RestoreOutput holds the result of the restore use case.

type RestoreUseCase

type RestoreUseCase struct {
	Client RestoreClient
}

RestoreUseCase executes restore operations.

func (*RestoreUseCase) Execute

func (u *RestoreUseCase) Execute(ctx context.Context, input RestoreInput) (*RestoreOutput, error)

Execute runs the restore use case.

type ShowClient

ShowClient is the interface for the show use case.

type ShowInput

type ShowInput struct {
	Spec *secretversion.Spec
}

ShowInput holds input for the show use case.

type ShowOutput

type ShowOutput struct {
	Name         string
	ARN          string
	Value        string
	VersionID    string
	VersionStage []string
	Description  string
	CreatedDate  *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 {
	Client ShowClient
}

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 TagClient added in v0.2.0

TagClient is the interface for the tag 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 {
	Client TagClient
}

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 UpdateClient

UpdateClient is the interface for the update use case.

type UpdateInput

type UpdateInput struct {
	Name        string
	Value       string
	Description string
}

UpdateInput holds input for the update use case.

type UpdateOutput

type UpdateOutput struct {
	Name      string
	VersionID string
	ARN       string
}

UpdateOutput holds the result of the update use case.

type UpdateUseCase

type UpdateUseCase struct {
	Client UpdateClient
}

UpdateUseCase executes update operations.

func (*UpdateUseCase) Execute

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

Execute runs the update use case.

func (*UpdateUseCase) GetCurrentValue

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

GetCurrentValue fetches the current secret value.

Jump to

Keyboard shortcuts

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