capabilities

package
v0.0.1-alpha.30 Latest Latest
Warning

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

Go to latest
Published: Aug 5, 2026 License: MIT Imports: 1 Imported by: 0

Documentation

Overview

Package capabilities declares the emulation status of each AWS API operation.

Sources of truth live in per-service capabilities_dev.go files (build-tagged //go:build dev). The static snapshot in all.gen.go (also dev-only) is generated by running:

make generate-caps

In production builds (without -tags dev) this entire package is a lightweight no-op: no data, no registry, no map allocations, no init cost.

Index

Constants

This section is empty.

Variables

View Source
var Default = &Registry{}

Default is the global capability registry (empty stub in production builds).

Functions

func Wrap

func Wrap(_, _ string, fn http.HandlerFunc) http.HandlerFunc

Wrap is a compile-time no-op in production builds. The linker eliminates this call entirely; there is zero runtime overhead.

Types

type Capability

type Capability struct {
	// Service is the lowercase AWS service directory name, e.g. "sqs".
	Service string
	// Operation is the PascalCase AWS operation name, e.g. "SendMessage".
	Operation string
	// Category groups related operations for docs (e.g. "Message operations").
	Category string
	// Status is the emulation quality.
	Status Status
	// Notes is a short plain-text note rendered in docs tables.
	Notes string
	// DocsURL overrides the default generated AWS Docs link for this operation.
	// Leave empty to use the service-level default URL pattern.
	DocsURL string
	// DisplayName overrides the operation name shown in generated docs tables.
	// Leave empty to use Operation as the display name.
	// Use this when the internal operation identifier differs from the AWS API name
	// (e.g., "V2SendEmail" → "SendEmail" for SES v2 operations that share a name with v1).
	DisplayName string
	// DocOnly marks a capability as documentation metadata only.
	// DocOnly capabilities are included in generated artifacts but are exempt from
	// capgen handler cross-checks because they may document generic behavior,
	// unsupported operations without explicit stubs, or other non-dispatched rows.
	DocOnly bool
	// Since is the semver tag when this operation was first implemented, e.g. "0.4.0".
	// Leave empty if unknown or from the initial release.
	Since string
}

Capability describes the emulation status of a single AWS API operation.

type Registry

type Registry struct{}

Registry is an empty no-op stub in production builds. All methods are inlineable; the linker eliminates any dead call sites entirely.

func NewRegistry

func NewRegistry() *Registry

NewRegistry returns an empty no-op Registry stub.

func (*Registry) All

func (r *Registry) All() []Capability

func (*Registry) ForService

func (r *Registry) ForService(_ string) []Capability

func (*Registry) Lookup

func (r *Registry) Lookup(_, _ string) (Capability, bool)

func (*Registry) Register

func (r *Registry) Register(_ ...Capability)

func (*Registry) RegisterForService

func (r *Registry) RegisterForService(_ string, _ ...Capability)

type Status

type Status int8

Status describes how completely an AWS API operation is emulated.

const (
	// StatusUnsupported means the operation always returns 501 Not Implemented.
	StatusUnsupported Status = iota
	// StatusWIP means the operation exists but returns partial or known-incorrect responses.
	StatusWIP
	// StatusPartial means core behaviour works; edge cases or optional fields may differ.
	StatusPartial
	// StatusInert means the operation is intentionally accepted but has no side effects.
	// Use this for no-op compatibility behavior that should be explicit in docs.
	StatusInert
	// StatusSupported means the operation is fully emulated for all common usage patterns.
	StatusSupported
)

func (Status) Emoji

func (s Status) Emoji() string

Emoji returns the single status emoji (used in summary count tables).

func (Status) Label

func (s Status) Label() string

Label returns the emoji-decorated label suitable for docs tables.

func (Status) String

func (s Status) String() string

String returns the plain enum name ("Supported", "Inert", "Partial", "WIP", "Unsupported"). Use Label() for the emoji-decorated form used in docs tables.

Jump to

Keyboard shortcuts

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