bedrock

package
v1.3.1 Latest Latest
Warning

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

Go to latest
Published: Aug 16, 2026 License: MIT Imports: 24 Imported by: 0

README

Bedrock

Parity grade: A · SDK aws-sdk-go-v2/service/bedrock@v1.66.4 · last audited 2026-08-13 (5ee940036)

Coverage

Metric Value
Operations audited 80 (80 ok)
Feature families 10 (9 ok, 1 partial)
Known gaps 10
Deferred items 0
Resource leaks clean
Known gaps
  • "AgentsHandler (bedrock-agent sub-API, handler_agents_dispatch.go) GetSupportedOperations phantom-triage pass (parity-5, 2026-07-31): the reverse sdkcheck (gopherstack-vhw2, checked against bedrockagentsdk.Client) previously flagged 7 fabricated entries. 5 were genuinely fabricated (no such bedrock-agent operation exists) and delisted: CreateAgentVersion (real AWS creates a new agent version only via PrepareAgent, already advertised and correctly wired at the canonical POST .../agentversions/DRAFT path); DeletePromptVersion/GetPromptVersion/ListPromptVersions (real AWS gets/deletes a specific prompt version via GetPrompt/DeletePrompt's promptVersion query param on the base /prompts/{id}/ path and lists versions via ListPrompts' promptIdentifier param — no distinct operation); UpdateKnowledgeBaseDocuments (real IngestKnowledgeBaseDocuments, already advertised, both adds and updates documents — no separate update call). All 5 remain wired as non-canonical internal routes (used by this package's own test suite) but are unreachable by any real bedrock-agent SDK client and are no longer advertised — see the inline comments at each list entry in handler_agents_dispatch.go for routing detail per case. UPDATE (parity-5, 2026-07-31, follow-up pass): UpdateKnowledgeBaseDocuments is the one exception to 'remain wired' above — its route shared the PUT method with real IngestKnowledgeBaseDocuments on the same base path (see the dispatchDocumentOps gaps entry below), so re-plumbing PUT to the real op left it with no route at all; its handler (handleUpdateKBDocuments) and backend method (Backend.UpdateKnowledgeBaseDocuments) were deleted rather than left as dead code, per .claude/memories/parity-principles.md #5. The other 4 (CreateAgentVersion, DeletePromptVersion/GetPromptVersion/ListPromptVersions) are unaffected and remain wired as described. The other 2 (GetAgentMemory/DeleteAgentMemory) are real AWS operations but on bedrock-agent-runtime (a separate data-plane client this repo does not vendor as its own service), not bedrock-agent (the control-plane client the completeness check tests against) — correctly implemented and left advertised; the check will keep flagging them for that reason. (bd: file follow-up)"
  • "FIXED (parity-5, 2026-07-31, follow-up pass) — was: 'SEVERE, discovered while investigating the UpdateKnowledgeBaseDocuments phantom above (parity-5/phantom-triage, 2026-07-31): dispatchDocumentOps (handler_knowledge_base_documents.go)... dispatches purely by HTTP method (GET/POST/PUT/DELETE) instead of the real per-path operation names... ListKnowledgeBaseDocuments and DeleteKnowledgeBaseDocuments, BOTH real, already-advertised operations, are UNREACHABLE via their real wire shape today... Downgraded overall: A->A- for this.' Re-verified all three real wire shapes against the vendored SDK's request snapshots (aws-sdk-go-v2/service/bedrockagent IngestKnowledgeBaseDocuments.request.snap: PUT base path; ListKnowledgeBaseDocuments.request.snap: POST base path; DeleteKnowledgeBaseDocuments.request.snap: POST .../deleteDocuments) before touching dispatch, per .claude/memories/parity-principles.md #2. dispatchDocumentOps now handles only the base .../documents path (PUT->Ingest, POST/GET->List; dispatchDataSourceIDRoutes only reaches it once the /getDocuments and /deleteDocuments sub-paths have already been carved out by exact match, so a dsSuffix check inside dispatchDocumentOps itself guards against any other unexpected suffix reaching it). DeleteKnowledgeBaseDocuments is now carved out in dispatchDataSourceIDRoutes by its real /deleteDocuments sub-path, the same way GetKnowledgeBaseDocuments already was. The fabricated PUT-means-Update convenience route this bug shared a method with (handleUpdateKBDocuments, Backend.UpdateKnowledgeBaseDocuments — see the UpdateKnowledgeBaseDocuments phantom finding this gap was originally discovered investigating) is now genuinely unreachable rather than internally-wired-but-fabricated, so both were DELETED per .claude/memories/parity-principles.md #5 (de-stub hygiene) instead of left dead. dispatchDataSourceIDRoutes was split into dispatchDataSourceIngestionRoutes and dispatchDataSourceDocumentRoutes (handler_data_sources.go) to keep its cyclomatic complexity under the repo's cyclop gate after adding the new deleteDocuments case. TestKBDocumentsCRUD (handler_knowledge_base_documents_test.go) and its two ingest-then-verify siblings (TestAccuracy_KBDocuments_IngestWithBDAParsingStrategy, TestAccuracy_KBDocuments_GetSpecificDocuments), plus one call site in handler_agent_knowledge_base_associations_test.go, were rewritten off the emulator's-own-wrong POST=ingest/GET=list/PUT=update/DELETE=delete convention onto the real PUT=ingest/POST=list/POST-to-deleteDocuments=delete wire shapes. Added TestKBDocumentsRealWireRouting as a dedicated regression test asserting each of PUT and POST on the base path reaches its correct handler; confirmed failing against the pre-fix code (POST to the base path 404'd as a ValidationException, silently treated as an empty Ingest, never reaching List) before applying the fix. Restored overall: A-->A. (bd: file follow-up closed)"
  • "FIXED (gopherstack-7znk): AutomatedReasoningPolicy sub-resource path model — Get/UpdateAutomatedReasoningPolicyAnnotations, GetAutomatedReasoningPolicyNextScenario, Get/ListAutomatedReasoningPolicyTestResult(s), and StartAutomatedReasoningPolicyTestWorkflow are now build-workflow-scoped (.../build-workflows/{buildWorkflowId}/...), matching bedrock@v1.66.4 serializers.go:3874/:4122/:4282/:5937/:8117; arpAnnotations is now keyed by (policyARN, buildWorkflowID). ExportAutomatedReasoningPolicyVersion now routes GET (not POST) at /automated-reasoning-policies/{policyArn}/export with no separate {version} segment (serializers.go:3603) — a versioned export passes the versioned ARN itself; an unversioned (draft) ARN 404s since gopherstack does not track a separate draft policy definition to export. The two previously-invented endpoints with no direct real-AWS path shape, isARPTestCaseRunPath ("/test-cases/{id}/run") and "/versions/{version}/export", were corrected onto their real counterparts (StartAutomatedReasoningPolicyTestWorkflow's real shape takes an optional testCaseIds list in the body, not a single test case in the path) rather than deleted, since both operations do exist in real AWS. All 6 re-verified individually against the pinned SDK per .claude/memories/parity-principles.md #2 before changing routes. (bd: gopherstack-7znk closed)"
  • UpdateAutomatedReasoningPolicyTestCase: now reachable (PATCH fixed), but handleUpdateARPTestCase never reads/parses the request body — it's a disguised no-op that only echoes testCaseId/policyArn back. Needs real UpdateAutomatedReasoningPolicyTestCaseInput field support (expression/inputText/expectedAggregatedFindingsResult per the real SDK). (bd: file follow-up)
  • ListCustomModels and ListModelCustomizationJobs: sortBy is parsed but never changes the sort field (always CreationTime, real AWS's default) — no ValidationException on an unrecognized value either. Low risk. (bd: file follow-up)
  • ListInferenceProfiles: missing the real typeEquals (SYSTEM_DEFINED|APPLICATION) filter. ListMarketplaceModelEndpoints: missing the real modelSourceEquals filter. Both low-risk (nextToken pagination already correct). (bd: file follow-up)
  • ListEvaluationJobs: applicationTypeEquals filter and sortBy/sortOrder not implemented (statusEquals/nameContains/creationTimeAfter/creationTimeBefore/nextToken now are, see ops entry). (bd: file follow-up)
  • RegisterMarketplaceModelEndpoint: real RegisterMarketplaceModelEndpointInput requires both endpointIdentifier and modelSourceIdentifier in the body; gopherstack's handler takes only the path-param ID and never reads/validates a request body. Not touched this pass — spotted while field-diffing the surrounding marketplace-endpoint family but out of this pass's named scope. (bd: file follow-up)
  • bedrock-agent DeleteResourcePolicy (parity-4): the real response's revisionId field is documented only as "the revision identifier after the resource policy was deleted" — ambiguous whether AWS mints a fresh post-delete marker or echoes the just-deleted policy's own revision. gopherstack returns the latter (the deleted policy's own RevisionID), a defensible reading but unverified against a real API response. Low risk: DeleteResourcePolicy's real Input has no further use for this value (only Put/subsequent-Delete's expectedRevisionId does, and a deleted resource has no policy left to update). (bd: file follow-up if a real captured response ever surfaces to confirm/refute)
  • ListAdvancedPromptOptimizationJobs (parity-4): does not validate sortBy against the real single allowed value (CreationTime) — an unrecognized value is silently ignored rather than raising ValidationException. Same low-risk shape as this service's other List ops' unvalidated sort/filter params (see ListCustomModels/ListModelCustomizationJobs gap above). (bd: file follow-up)

More

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrNotFound is returned when a requested resource does not exist.
	ErrNotFound = awserr.New("ResourceNotFoundException", awserr.ErrNotFound)
	// ErrAlreadyExists is returned when a resource already exists.
	ErrAlreadyExists = awserr.New("ConflictException", awserr.ErrAlreadyExists)
	// ErrValidation is returned when request validation fails.
	ErrValidation = awserr.New("ValidationException", awserr.ErrInvalidParameter)
)

Functions

This section is empty.

Types

type AccountDataRetention added in v1.2.0

type AccountDataRetention struct {
	UpdatedAt time.Time
	Mode      string
}

AccountDataRetention represents the account-wide Bedrock data retention setting (GetAccountDataRetention / PutAccountDataRetention).

type AccountEnforcedGuardrailConfig added in v1.2.0

type AccountEnforcedGuardrailConfig struct {
	CreatedAt        time.Time `json:"createdAt"`
	UpdatedAt        time.Time `json:"updatedAt"`
	ConfigID         string    `json:"configId"`
	GuardrailID      string    `json:"guardrailId"`
	GuardrailArn     string    `json:"guardrailArn"`
	GuardrailVersion string    `json:"guardrailVersion"`
	InputTags        string    `json:"inputTags"`
	Owner            string    `json:"owner"`
	CreatedBy        string    `json:"createdBy"`
	UpdatedBy        string    `json:"updatedBy"`
	IncludedModels   []string  `json:"includedModels,omitempty"`
	ExcludedModels   []string  `json:"excludedModels,omitempty"`
}

AccountEnforcedGuardrailConfig represents an account-level enforced guardrail configuration (real AWS ops: PutEnforcedGuardrailConfiguration / ListEnforcedGuardrailsConfiguration / DeleteEnforcedGuardrailConfiguration). ConfigID-keyed and wraps a GuardrailIdentifier+GuardrailVersion reference plus an InputTags honor/ignore flag and an optional model-scoped enforcement list, matching types.AccountEnforcedGuardrailOutputConfiguration in aws-sdk-go-v2.

type AdvancedPromptOptimizationInputConfig added in v1.2.0

type AdvancedPromptOptimizationInputConfig struct {
	S3URI string `json:"s3Uri"`
}

AdvancedPromptOptimizationInputConfig specifies the S3 location of the JSONL input file (prompt templates + evaluation samples) for an advanced prompt optimization job. Matches types.AdvancedPromptOptimizationInputConfig.

type AdvancedPromptOptimizationJob added in v1.2.0

type AdvancedPromptOptimizationJob struct {
	CreationTime        time.Time
	LastModifiedTime    time.Time
	JobArn              string
	JobName             string
	JobDescription      string
	JobStatus           string
	EncryptionKeyArn    string
	FailureMessage      string
	InputConfig         AdvancedPromptOptimizationInputConfig
	OutputConfig        AdvancedPromptOptimizationOutputConfig
	ModelConfigurations []ModelConfiguration
	Tags                []Tag
}

AdvancedPromptOptimizationJob represents a Bedrock advanced prompt optimization job.

Real AWS's GetAdvancedPromptOptimizationJobOutput does NOT return the optimized prompt text anywhere in its wire shape -- optimization results are written by the real service to the caller-supplied OutputConfig.S3Uri location, entirely outside the API response. This backend therefore never fabricates an "optimized prompt" result (doing so would require actual model inference this backend does not perform); it models only the job's real lifecycle/status fields, which is everything the real wire shape actually carries. See handler_advanced_prompt_optimization_jobs.go.

type AdvancedPromptOptimizationOutputConfig added in v1.2.0

type AdvancedPromptOptimizationOutputConfig struct {
	S3URI string `json:"s3Uri"`
}

AdvancedPromptOptimizationOutputConfig specifies the S3 location prefix where an advanced prompt optimization job writes its results. Matches types.AdvancedPromptOptimizationOutputConfig.

type Agent

type Agent struct {
	CreatedAt time.Time `json:"createdAt"`
	UpdatedAt time.Time `json:"updatedAt"`

	Tags                   map[string]string `json:"tags,omitempty"`
	GuardrailConfiguration map[string]any    `json:"guardrailConfiguration,omitempty"`
	MemoryConfiguration    map[string]any    `json:"memoryConfiguration,omitempty"`
	AgentStatus            string            `json:"agentStatus"`
	AgentName              string            `json:"agentName"`
	AgentArn               string            `json:"agentArn"`
	AgentVersion           string            `json:"agentVersion"`
	AgentCollaboration     string            `json:"agentCollaboration,omitempty"`
	Description            string            `json:"description,omitempty"`
	FoundationModel        string            `json:"foundationModel,omitempty"`
	Instruction            string            `json:"instruction,omitempty"`
	RoleArn                string            `json:"agentResourceRoleArn,omitempty"`
	AgentID                string            `json:"agentId"`
	FailureReasons         []string          `json:"failureReasons,omitempty"`
	// contains filtered or unexported fields
}

Agent represents an Amazon Bedrock Agent.

type AgentActionGroup

type AgentActionGroup struct {
	CreatedAt           time.Time      `json:"createdAt"`
	UpdatedAt           time.Time      `json:"updatedAt"`
	ActionGroupExecutor map[string]any `json:"actionGroupExecutor,omitempty"`
	APISchema           map[string]any `json:"apiSchema,omitempty"`
	FunctionSchema      map[string]any `json:"functionSchema,omitempty"`
	ActionGroupID       string         `json:"actionGroupId"`
	ActionGroupName     string         `json:"actionGroupName"`
	AgentID             string         `json:"agentId"`
	AgentVersion        string         `json:"agentVersion"`
	ActionGroupState    string         `json:"actionGroupState"`
	Description         string         `json:"description,omitempty"`
}

AgentActionGroup represents an action group for a Bedrock Agent.

type AgentAlias

type AgentAlias struct {
	CreatedAt               time.Time                `json:"createdAt"`
	UpdatedAt               time.Time                `json:"updatedAt"`
	AgentAliasID            string                   `json:"agentAliasId"`
	AgentAliasArn           string                   `json:"agentAliasArn"`
	AgentAliasName          string                   `json:"agentAliasName"`
	AgentID                 string                   `json:"agentId"`
	AliasStatus             string                   `json:"agentAliasStatus"`
	RoutingConfiguration    []AgentAliasRouting      `json:"routingConfiguration"`
	AgentAliasHistoryEvents []AgentAliasHistoryEvent `json:"agentAliasHistoryEvents,omitempty"`
}

AgentAlias represents an alias for a Bedrock Agent.

type AgentAliasHistoryEvent

type AgentAliasHistoryEvent struct {
	StartDate            time.Time           `json:"startDate"`
	EndDate              *time.Time          `json:"endDate,omitempty"`
	RoutingConfiguration []AgentAliasRouting `json:"routingConfiguration"`
}

AgentAliasHistoryEvent records an alias routing interval.

type AgentAliasRouting

type AgentAliasRouting struct {
	AgentVersion string `json:"agentVersion"`
}

AgentAliasRouting identifies the version receiving alias traffic.

type AgentCollaborator

type AgentCollaborator struct {
	CreatedAt         time.Time `json:"createdAt"`
	CollaboratorID    string    `json:"collaboratorId"`
	AgentID           string    `json:"agentId"`
	AgentVersion      string    `json:"agentVersion"`
	CollaboratorArn   string    `json:"collaboratorArn"`
	RelayConversation string    `json:"relayConversationHistory"`
}

AgentCollaborator represents an agent collaboration association.

type AgentConfiguration

type AgentConfiguration struct {
	Tags                   map[string]string
	GuardrailConfiguration map[string]any
	MemoryConfiguration    map[string]any
	AgentName              string
	AgentCollaboration     string
	Description            string
	FoundationModel        string
	Instruction            string
	RoleArn                string
}

AgentConfiguration stores optional settings accepted by agent create and update requests.

type AgentKnowledgeBaseAssociation

type AgentKnowledgeBaseAssociation struct {
	AgentID         string `json:"agentId"`
	AgentVersion    string `json:"agentVersion"`
	KnowledgeBaseID string `json:"knowledgeBaseId"`
	Description     string `json:"description,omitempty"`
	KBState         string `json:"knowledgeBaseState"`
}

AgentKnowledgeBaseAssociation represents an association between agent and knowledge base.

type AgentVersion

type AgentVersion struct {
	CreatedAt    time.Time `json:"createdAt"`
	AgentID      string    `json:"agentId"`
	AgentVersion string    `json:"agentVersion"`
	AgentStatus  string    `json:"agentStatus"`
}

AgentVersion represents a numbered version of an Agent.

type AgentsHandler

type AgentsHandler struct {
	Backend *InMemoryBackend
}

AgentsHandler handles Bedrock Agents API requests. The Bedrock Agents API lives at bedrock-agent.amazonaws.com (separate from the core bedrock API), so it is registered as its own Registerable.

func NewAgentsHandler

func NewAgentsHandler(backend *InMemoryBackend) *AgentsHandler

NewAgentsHandler creates a new Bedrock Agents handler.

func (*AgentsHandler) ChaosOperations

func (h *AgentsHandler) ChaosOperations() []string

ChaosOperations returns all supported operations.

func (*AgentsHandler) ChaosRegions

func (h *AgentsHandler) ChaosRegions() []string

ChaosRegions returns the supported regions.

func (*AgentsHandler) ChaosServiceName

func (h *AgentsHandler) ChaosServiceName() string

ChaosServiceName returns the chaos service name.

func (*AgentsHandler) ExtractOperation

func (h *AgentsHandler) ExtractOperation(c *echo.Context) string

ExtractOperation extracts the operation name from the request. Mirrors dispatch()'s own path handling (including its unconditional strings.TrimSuffix(path, "/")) and dispatch tree exactly, so this observability-only classifier never drifts from the real dispatch contract in Handler(). Previously this recognized only 10 of the 75 real bedrock-agent operations (found by gopherstack-n1mb's route table): every Get/Update/Delete/List op on a specific resource, plus the entire Flow, Prompt, Tag, memory, collaborator, data-source, ingestion-job, and document families, resolved to "Unknown" here even though Handler() already dispatched every one of them correctly.

func (*AgentsHandler) ExtractResource

func (h *AgentsHandler) ExtractResource(_ *echo.Context) string

ExtractResource extracts a resource identifier from the request.

func (*AgentsHandler) GetSupportedOperations

func (h *AgentsHandler) GetSupportedOperations() []string

GetSupportedOperations returns supported operations.

func (*AgentsHandler) Handler

func (h *AgentsHandler) Handler() echo.HandlerFunc

Handler returns the Echo handler function.

func (*AgentsHandler) MatchPriority

func (h *AgentsHandler) MatchPriority() int

MatchPriority returns the routing priority.

func (*AgentsHandler) Name

func (h *AgentsHandler) Name() string

Name returns the service name.

func (*AgentsHandler) Reset

func (h *AgentsHandler) Reset()

Reset clears all agent/kb state.

registry.ResetAll empties every store.Table registered on this backend instance -- including the non-agent-domain (guardrails/models/...) tables registerAllTables also registers -- but AgentsHandler's own backend instance (see AgentsProvider.Init in provider.go) never receives core Bedrock mutations (RouteMatcher only matches /agents/ and /knowledgebases/ paths), so those tables are always already empty here; resetting them is a no-op, not a behavior change.

func (*AgentsHandler) Restore

func (h *AgentsHandler) Restore(ctx context.Context, data []byte) error

Restore implements persistence.Persistable by delegating to the backend.

func (*AgentsHandler) RouteMatcher

func (h *AgentsHandler) RouteMatcher() service.Matcher

RouteMatcher returns a function matching Bedrock Agents requests.

func (*AgentsHandler) Snapshot

func (h *AgentsHandler) Snapshot(ctx context.Context) []byte

Snapshot implements persistence.Persistable by delegating to the backend. AgentsHandler wraps its own, separate InMemoryBackend instance from Handler (see provider.go's Provider vs AgentsProvider), so it needs its own delegation rather than sharing Handler's.

type AgentsProvider

type AgentsProvider struct{}

AgentsProvider implements service.Provider for Amazon Bedrock Agents.

func (*AgentsProvider) Init

Init initializes the Bedrock Agents backend and handler.

func (*AgentsProvider) Name

func (p *AgentsProvider) Name() string

Name returns the provider name.

type AutomatedReasoningPolicy

type AutomatedReasoningPolicy struct {
	CreatedAt time.Time `json:"createdAt"`
	UpdatedAt time.Time `json:"updatedAt"`
	PolicyArn string    `json:"policyArn"`
	Name      string    `json:"name"`
	// PolicyDefinition is stored verbatim from UpdateAutomatedReasoningPolicy's
	// required policyDefinition body member (bedrock@v1.66.4
	// api_op_UpdateAutomatedReasoningPolicy.go:37-63). Kept as raw JSON rather
	// than the real nested rules/types/variables union -- inert, never
	// interpreted, but genuinely the caller's own content, not fabricated.
	PolicyDefinition json.RawMessage `json:"policyDefinition,omitempty"`
	Description      string          `json:"description,omitempty"`
	Status           string          `json:"status"`
	DefinitionHash   string          `json:"definitionHash,omitempty"`
	Version          string          `json:"version,omitempty"`
	Tags             []Tag           `json:"tags,omitempty"`
}

AutomatedReasoningPolicy represents an Automated Reasoning policy.

type AutomatedReasoningPolicyBuildWorkflow

type AutomatedReasoningPolicyBuildWorkflow struct {
	BuildWorkflowID string `json:"buildWorkflowId"`
	PolicyArn       string `json:"policyArn"`
	Status          string `json:"status"`
	// BuildWorkflowType and SourceContent come from
	// StartAutomatedReasoningPolicyBuildWorkflow's real path/body
	// (bedrock@v1.66.4 serializers.go:8008: buildWorkflowType is a path
	// label, sourceContent is the entire JSON payload). SourceContent is
	// stored verbatim and never interpreted -- same rationale as
	// AutomatedReasoningPolicy.PolicyDefinition above.
	BuildWorkflowType string          `json:"buildWorkflowType,omitempty"`
	SourceContent     json.RawMessage `json:"sourceContent,omitempty"`
}

AutomatedReasoningPolicyBuildWorkflow represents a build workflow for a policy.

type AutomatedReasoningPolicyTestCase

type AutomatedReasoningPolicyTestCase struct {
	CreatedAt                        time.Time `json:"createdAt"`
	UpdatedAt                        time.Time `json:"updatedAt"`
	ConfidenceThreshold              *float64  `json:"confidenceThreshold,omitempty"`
	TestCaseID                       string    `json:"testCaseId"`
	PolicyArn                        string    `json:"policyArn"`
	GuardContent                     string    `json:"guardContent,omitempty"`
	QueryContent                     string    `json:"queryContent,omitempty"`
	ExpectedAggregatedFindingsResult string    `json:"expectedAggregatedFindingsResult,omitempty"`
}

AutomatedReasoningPolicyTestCase represents a test case for a policy.

type AutomatedReasoningPolicyVersion

type AutomatedReasoningPolicyVersion struct {
	CreatedAt      time.Time `json:"createdAt"`
	PolicyArn      string    `json:"policyArn"`
	Name           string    `json:"name"`
	DefinitionHash string    `json:"definitionHash"`
	Version        string    `json:"version"`
	Tags           []Tag     `json:"tags,omitempty"`
}

AutomatedReasoningPolicyVersion represents a version of a policy.

type BatchDeleteAdvancedPromptOptimizationJobError added in v1.2.0

type BatchDeleteAdvancedPromptOptimizationJobError struct {
	JobIdentifier string `json:"jobIdentifier"`
	Code          string `json:"code"`
	Message       string `json:"message,omitempty"`
}

BatchDeleteAdvancedPromptOptimizationJobError describes a single job deletion failure. Matches types.BatchDeleteAdvancedPromptOptimizationJobError.

type BatchDeleteAdvancedPromptOptimizationJobItem added in v1.2.0

type BatchDeleteAdvancedPromptOptimizationJobItem struct {
	JobIdentifier string `json:"jobIdentifier"`
	JobStatus     string `json:"jobStatus"`
}

BatchDeleteAdvancedPromptOptimizationJobItem describes a successfully deleted job. Matches types.BatchDeleteAdvancedPromptOptimizationJobItem.

type BatchDeleteEvaluationJobError

type BatchDeleteEvaluationJobError struct {
	JobARN  string `json:"jobIdentifier"`
	Code    string `json:"code"`
	Message string `json:"message"`
}

BatchDeleteEvaluationJobError describes a single job deletion failure.

type BatchDeleteEvaluationJobItem

type BatchDeleteEvaluationJobItem struct {
	JobARN string `json:"jobIdentifier"`
	Status string `json:"jobStatus"`
}

BatchDeleteEvaluationJobItem describes a successfully scheduled deletion.

type CreateAdvancedPromptOptimizationJobInput added in v1.2.0

type CreateAdvancedPromptOptimizationJobInput struct {
	JobName             string
	JobDescription      string
	EncryptionKeyArn    string
	InputConfig         AdvancedPromptOptimizationInputConfig
	OutputConfig        AdvancedPromptOptimizationOutputConfig
	ModelConfigurations []ModelConfiguration
	Tags                []Tag
}

CreateAdvancedPromptOptimizationJobInput holds the full set of fields for CreateAdvancedPromptOptimizationJob.

type CreateEvaluationJobInput

type CreateEvaluationJobInput struct {
	JobName         string
	JobDescription  string
	RoleArn         string
	ApplicationType string
	Tags            []Tag
	EvaluatorConfig *EvaluationModelConfig
	InferenceConfig *EvaluationInferenceConfig
	EvalConfig      []EvaluationTaskConfig
}

CreateEvaluationJobInput holds all parameters for CreateEvaluationJob.

type CreateModelInvocationJobInput

type CreateModelInvocationJobInput struct {
	RoleArn          string         `json:"roleArn"`
	ModelID          string         `json:"modelId"`
	InputDataConfig  map[string]any `json:"inputDataConfig,omitempty"`
	OutputDataConfig map[string]any `json:"outputDataConfig,omitempty"`
	ClientToken      string         `json:"clientRequestToken,omitempty"`
}

CreateModelInvocationJobInput holds the full set of fields for CreateModelInvocationJob.

type CustomModel

type CustomModel struct {
	CreationTime      time.Time `json:"creationTime"`
	ModelArn          string    `json:"modelArn"`
	ModelName         string    `json:"modelName"`
	ModelStatus       string    `json:"modelStatus"`
	BaseModelArn      string    `json:"baseModelArn,omitempty"`
	BaseModelName     string    `json:"baseModelName,omitempty"`
	CustomizationType string    `json:"customizationType,omitempty"`
	JobArn            string    `json:"jobArn,omitempty"`
	JobName           string    `json:"jobName,omitempty"`
	Tags              []Tag     `json:"tags,omitempty"`
}

CustomModel represents a custom model, either imported via CreateCustomModel (BaseModelArn empty: the wire input never supplies a base model, and gopherstack does not process model artifacts to derive one) or produced by a completed CreateModelCustomizationJob (BaseModelArn/BaseModelName/JobArn/ JobName populated from the job).

type CustomModelDeployment

type CustomModelDeployment struct {
	CreationTime             time.Time `json:"creationTime"`
	LastModifiedTime         time.Time `json:"lastModifiedTime"`
	CustomModelDeploymentArn string    `json:"customModelDeploymentArn"`
	ModelDeploymentName      string    `json:"modelDeploymentName"`
	ModelArn                 string    `json:"modelArn"`
	Status                   string    `json:"status"`
	Tags                     []Tag     `json:"tags,omitempty"`
}

CustomModelDeployment represents a custom model deployment.

type DataSource

type DataSource struct {
	CreatedAt               time.Time      `json:"createdAt"`
	UpdatedAt               time.Time      `json:"updatedAt"`
	DataSourceConfiguration map[string]any `json:"dataSourceConfiguration,omitempty"`
	VectorIngestionConfig   map[string]any `json:"vectorIngestionConfiguration,omitempty"`
	DataSourceID            string         `json:"dataSourceId"`
	DataSourceStatus        string         `json:"dataSourceStatus"`
	KnowledgeBaseID         string         `json:"knowledgeBaseId"`
	Name                    string         `json:"name"`
	Description             string         `json:"description,omitempty"`
	DataDeletionPolicy      string         `json:"dataDeletionPolicy,omitempty"`
}

DataSource represents a data source for a Knowledge Base.

type EvaluationDataset

type EvaluationDataset struct {
	Location *EvaluationDatasetLocation `json:"datasetLocation,omitempty"`
	Name     string                     `json:"name,omitempty"`
}

EvaluationDataset references an evaluation dataset.

type EvaluationDatasetLocation

type EvaluationDatasetLocation struct {
	S3URI string `json:"s3Uri,omitempty"`
}

EvaluationDatasetLocation specifies where the evaluation dataset is stored.

type EvaluationInferenceConfig

type EvaluationInferenceConfig struct {
	RAG    *EvaluationRAGConfig             `json:"ragConfig,omitempty"`
	Models []EvaluationInferenceModelConfig `json:"models,omitempty"`
}

EvaluationInferenceConfig holds inference-side configuration (model or RAG).

type EvaluationInferenceModelConfig

type EvaluationInferenceModelConfig struct {
	ModelIdentifier string `json:"modelIdentifier"`
}

EvaluationInferenceModelConfig points to a model for generating responses.

type EvaluationJob

type EvaluationJob struct {
	CreationTime     time.Time                  `json:"creationTime"`
	LastModifiedTime time.Time                  `json:"lastModifiedTime"`
	JobArn           string                     `json:"jobArn"`
	JobName          string                     `json:"jobName"`
	JobDescription   string                     `json:"jobDescription,omitempty"`
	RoleArn          string                     `json:"roleArn,omitempty"`
	Status           string                     `json:"status"`
	ApplicationType  string                     `json:"applicationType,omitempty"`
	Tags             []Tag                      `json:"tags,omitempty"`
	EvaluatorConfig  *EvaluationModelConfig     `json:"evaluatorConfig,omitempty"`
	InferenceConfig  *EvaluationInferenceConfig `json:"inferenceConfig,omitempty"`
	EvaluationConfig []EvaluationTaskConfig     `json:"evaluationConfig,omitempty"`
}

EvaluationJob represents a model evaluation job.

type EvaluationMetricConfig

type EvaluationMetricConfig struct {
	MetricName string `json:"metricName"`
}

EvaluationMetricConfig configures a single metric for evaluation.

type EvaluationModelConfig

type EvaluationModelConfig struct {
	ModelIdentifier string `json:"modelIdentifier"`
}

EvaluationModelConfig specifies the evaluator model for an evaluation job.

type EvaluationRAGConfig

type EvaluationRAGConfig struct {
	KnowledgeBaseID string `json:"knowledgeBaseId,omitempty"`
}

EvaluationRAGConfig holds RAG-specific inference configuration.

type EvaluationTaskConfig

type EvaluationTaskConfig struct {
	TaskType    string                   `json:"taskType"`
	Dataset     *EvaluationDataset       `json:"dataset,omitempty"`
	MetricNames []EvaluationMetricConfig `json:"metricNames,omitempty"`
}

EvaluationTaskConfig configures a single evaluation task.

type Flow

type Flow struct {
	CreatedAt   time.Time         `json:"createdAt"`
	UpdatedAt   time.Time         `json:"updatedAt"`
	Tags        map[string]string `json:"tags,omitempty"`
	FlowID      string            `json:"id"`
	FlowArn     string            `json:"arn"`
	Name        string            `json:"name"`
	Description string            `json:"description,omitempty"`
	Status      string            `json:"status"`
}

Flow represents an Amazon Bedrock Flow. CreateFlowResponse/GetFlowResponse/ UpdateFlowResponse have no httpPayload member (botocore bedrock-agent 2023-06-05), so id/arn are flat wire keys, not flowId/flowArn.

type FlowAlias

type FlowAlias struct {
	CreatedAt    time.Time `json:"createdAt"`
	UpdatedAt    time.Time `json:"updatedAt"`
	FlowAliasID  string    `json:"id"`
	FlowAliasArn string    `json:"arn"`
	FlowID       string    `json:"flowId"`
	Name         string    `json:"name"`
	Description  string    `json:"description,omitempty"`
}

FlowAlias represents an alias for a Bedrock Flow. Its own id/arn are flat "id"/"arn"; "flowId" names only the parent flow (see Flow's doc comment).

type FlowVersion

type FlowVersion struct {
	CreatedAt time.Time `json:"createdAt"`
	FlowID    string    `json:"id"`
	FlowArn   string    `json:"arn"`
	Version   string    `json:"version"`
	Status    string    `json:"status"`
}

FlowVersion represents a snapshot version of a Flow. GetFlowVersionResponse has no "flowId" member; the flow's own id/arn ride in "id"/"arn" (see Flow's doc comment).

type FoundationModelAgreement

type FoundationModelAgreement struct {
	ModelID string `json:"modelId"`
}

FoundationModelAgreement represents an agreement for foundation model access.

type FoundationModelAgreementOffer added in v1.2.0

type FoundationModelAgreementOffer struct {
	OfferToken   string
	OfferID      string
	LegalTermURL string
}

FoundationModelAgreementOffer represents a single agreement offer for a foundation model, as returned by ListFoundationModelAgreementOffers. Mirrors (a lean subset of) types.Offer/types.TermDetails in aws-sdk-go-v2/service/bedrock.

type FoundationModelLifecycle

type FoundationModelLifecycle struct {
	Status string `json:"status"`
}

FoundationModelLifecycle holds the lifecycle status of a foundation model.

type FoundationModelSummary

type FoundationModelSummary struct {
	ModelLifecycle             *FoundationModelLifecycle `json:"modelLifecycle,omitempty"`
	ModelArn                   string                    `json:"modelArn"`
	ModelID                    string                    `json:"modelId"`
	ModelName                  string                    `json:"modelName"`
	ProviderName               string                    `json:"providerName"`
	InputModalities            []string                  `json:"inputModalities,omitempty"`
	OutputModalities           []string                  `json:"outputModalities,omitempty"`
	InferenceTypesSupported    []string                  `json:"inferenceTypesSupported,omitempty"`
	CustomizationsSupported    []string                  `json:"customizationsSupported,omitempty"`
	ResponseStreamingSupported bool                      `json:"responseStreamingSupported"`
}

FoundationModelSummary represents a foundation model.

type Guardrail

type Guardrail struct {
	CreatedAt               time.Time          `json:"createdAt"`
	UpdatedAt               time.Time          `json:"updatedAt"`
	Policies                *GuardrailPolicies `json:"policies,omitempty"`
	GuardrailID             string             `json:"guardrailId"`
	GuardrailArn            string             `json:"guardrailArn"`
	Name                    string             `json:"name"`
	Description             string             `json:"description,omitempty"`
	Status                  string             `json:"status"`
	Version                 string             `json:"version"`
	BlockedInputMessaging   string             `json:"blockedInputMessaging,omitempty"`
	BlockedOutputsMessaging string             `json:"blockedOutputsMessaging,omitempty"`
	Tags                    []Tag              `json:"tags,omitempty"`
	// contains filtered or unexported fields
}

Guardrail represents an Amazon Bedrock guardrail.

type GuardrailContentFilter

type GuardrailContentFilter struct {
	Type           string `json:"type"`
	InputStrength  string `json:"inputStrength"`
	OutputStrength string `json:"outputStrength"`
}

GuardrailContentFilter defines a single content filter rule within a guardrail.

type GuardrailContentPolicyConfig

type GuardrailContentPolicyConfig struct {
	FiltersConfig []GuardrailContentFilter `json:"filtersConfig"`
}

GuardrailContentPolicyConfig configures content filtering for a guardrail.

type GuardrailContextualGroundingFilter

type GuardrailContextualGroundingFilter struct {
	Type      string  `json:"type"`
	Threshold float64 `json:"threshold"`
}

GuardrailContextualGroundingFilter is a single contextual grounding rule.

type GuardrailContextualGroundingPolicyConfig

type GuardrailContextualGroundingPolicyConfig struct {
	FiltersConfig []GuardrailContextualGroundingFilter `json:"filtersConfig"`
}

GuardrailContextualGroundingPolicyConfig configures contextual grounding checks.

type GuardrailManagedWordList

type GuardrailManagedWordList struct {
	Type string `json:"type"`
}

GuardrailManagedWordList references a managed word list by type.

type GuardrailPIIEntity

type GuardrailPIIEntity struct {
	Type   string `json:"type"`
	Action string `json:"action"`
}

GuardrailPIIEntity describes a PII entity type and the action to take.

type GuardrailPolicies

type GuardrailPolicies struct {
	ContentPolicy              *GuardrailContentPolicyConfig              `json:"contentPolicyConfig,omitempty"`
	TopicPolicy                *GuardrailTopicPolicyConfig                `json:"topicPolicyConfig,omitempty"`
	WordPolicy                 *GuardrailWordPolicyConfig                 `json:"wordPolicyConfig,omitempty"`
	SensitiveInformationPolicy *GuardrailSensitiveInformationPolicyConfig `json:"sensitiveInformationPolicyConfig,omitempty"` //nolint:lll // AWS API field name is long.
	ContextualGroundingPolicy  *GuardrailContextualGroundingPolicyConfig  `json:"contextualGroundingPolicyConfig,omitempty"`  //nolint:lll // AWS API field name is long.
}

GuardrailPolicies groups all optional policy configurations for a guardrail.

type GuardrailRegexConfig

type GuardrailRegexConfig struct {
	Name        string `json:"name"`
	Description string `json:"description,omitempty"`
	Pattern     string `json:"pattern"`
	Action      string `json:"action"`
}

GuardrailRegexConfig defines a custom regex-based filter.

type GuardrailSensitiveInformationPolicyConfig

type GuardrailSensitiveInformationPolicyConfig struct {
	PiiEntitiesConfig []GuardrailPIIEntity   `json:"piiEntitiesConfig,omitempty"`
	RegexesConfig     []GuardrailRegexConfig `json:"regexesConfig,omitempty"`
}

GuardrailSensitiveInformationPolicyConfig configures PII and regex-based filters.

type GuardrailSummary

type GuardrailSummary struct {
	CreatedAt   time.Time `json:"createdAt"`
	UpdatedAt   time.Time `json:"updatedAt"`
	GuardrailID string    `json:"id"`
	Arn         string    `json:"arn"`
	Name        string    `json:"name"`
	Description string    `json:"description,omitempty"`
	Status      string    `json:"status"`
	Version     string    `json:"version"`
}

GuardrailSummary is used in list operations.

type GuardrailTopic

type GuardrailTopic struct {
	Name       string   `json:"name"`
	Definition string   `json:"definition"`
	Type       string   `json:"type"`
	Examples   []string `json:"examples,omitempty"`
}

GuardrailTopic defines a topic that the guardrail denies.

type GuardrailTopicPolicyConfig

type GuardrailTopicPolicyConfig struct {
	TopicsConfig []GuardrailTopic `json:"topicsConfig"`
}

GuardrailTopicPolicyConfig configures topic-level denial policies.

type GuardrailVersion

type GuardrailVersion struct {
	CreatedAt               time.Time          `json:"createdAt"`
	Policies                *GuardrailPolicies `json:"policies,omitempty"`
	GuardrailID             string             `json:"guardrailId"`
	GuardrailArn            string             `json:"guardrailArn"`
	Version                 string             `json:"version"`
	Name                    string             `json:"name"`
	Description             string             `json:"description,omitempty"`
	BlockedInputMessaging   string             `json:"blockedInputMessaging,omitempty"`
	BlockedOutputsMessaging string             `json:"blockedOutputsMessaging,omitempty"`
	Tags                    []Tag              `json:"tags,omitempty"`
}

GuardrailVersion represents a numbered, immutable snapshot of a guardrail taken at the time CreateGuardrailVersion was called. AWS freezes the guardrail's full configuration into each numbered version, so GetGuardrail(id, version) must be able to serve this snapshot independently of the (still-editable) DRAFT.

type GuardrailWordConfig

type GuardrailWordConfig struct {
	Text string `json:"text"`
}

GuardrailWordConfig defines a single custom word to block.

type GuardrailWordPolicyConfig

type GuardrailWordPolicyConfig struct {
	WordsConfig            []GuardrailWordConfig      `json:"wordsConfig,omitempty"`
	ManagedWordListsConfig []GuardrailManagedWordList `json:"managedWordListsConfig,omitempty"`
}

GuardrailWordPolicyConfig configures word-level blocking for a guardrail.

type Handler

type Handler struct {
	Backend *InMemoryBackend
	// contains filtered or unexported fields
}

Handler is the Echo HTTP handler for Amazon Bedrock operations.

func NewHandler

func NewHandler(backend *InMemoryBackend) *Handler

NewHandler creates a new Bedrock handler backed by backend. backend must not be nil.

func (*Handler) ChaosOperations

func (h *Handler) ChaosOperations() []string

ChaosOperations returns all operations that can be fault-injected.

func (*Handler) ChaosRegions

func (h *Handler) ChaosRegions() []string

ChaosRegions returns all regions this handler instance handles.

func (*Handler) ChaosServiceName

func (h *Handler) ChaosServiceName() string

ChaosServiceName returns the lowercase AWS service name for fault rule matching.

func (*Handler) ExtractOperation

func (h *Handler) ExtractOperation(c *echo.Context) string

ExtractOperation returns the operation name from the request.

func (*Handler) ExtractResource

func (h *Handler) ExtractResource(c *echo.Context) string

ExtractResource extracts a resource identifier from the request path.

func (*Handler) GetSupportedOperations

func (h *Handler) GetSupportedOperations() []string

GetSupportedOperations returns the list of supported operations.

func (*Handler) Handler

func (h *Handler) Handler() echo.HandlerFunc

Handler returns the Echo handler function for Bedrock requests.

func (*Handler) MatchPriority

func (h *Handler) MatchPriority() int

MatchPriority returns the routing priority.

func (*Handler) Name

func (h *Handler) Name() string

Name returns the service name.

func (*Handler) Restore

func (h *Handler) Restore(ctx context.Context, data []byte) error

Restore implements persistence.Persistable by delegating to the backend.

func (*Handler) RouteMatcher

func (h *Handler) RouteMatcher() service.Matcher

RouteMatcher returns a function that matches Bedrock requests.

func (*Handler) Shutdown

func (h *Handler) Shutdown(ctx context.Context)

Shutdown stops the background janitor.

func (*Handler) Snapshot

func (h *Handler) Snapshot(ctx context.Context) []byte

Snapshot implements persistence.Persistable by delegating to the backend.

func (*Handler) StartWorker

func (h *Handler) StartWorker(ctx context.Context) error

StartWorker starts the background janitor for status advancement.

type InMemoryBackend

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

InMemoryBackend stores Amazon Bedrock state in memory.

func NewInMemoryBackend

func NewInMemoryBackend(accountID, region string) *InMemoryBackend

NewInMemoryBackend creates a new InMemoryBackend pre-seeded with foundation models.

func (*InMemoryBackend) AdvanceAdvancedPromptOptimizationJobStatuses added in v1.2.0

func (b *InMemoryBackend) AdvanceAdvancedPromptOptimizationJobStatuses(minAge time.Duration) int

AdvanceAdvancedPromptOptimizationJobStatuses moves InProgress jobs to Completed once minAge has elapsed since creation. Called by the janitor, mirroring AdvanceCustomizationJobStatuses.

func (*InMemoryBackend) AdvanceCopyImportJobStatuses

func (b *InMemoryBackend) AdvanceCopyImportJobStatuses(minAge time.Duration) int

AdvanceCopyImportJobStatuses moves InProgress copy/import jobs to Completed after the min age elapses.

func (*InMemoryBackend) AdvanceCustomizationJobStatuses

func (b *InMemoryBackend) AdvanceCustomizationJobStatuses(minAge time.Duration) int

AdvanceCustomizationJobStatuses moves InProgress customization jobs to Completed. Called by the janitor after the simulated training delay has elapsed.

func (*InMemoryBackend) AdvanceProvisionedModelThroughputStatuses

func (b *InMemoryBackend) AdvanceProvisionedModelThroughputStatuses() int

AdvanceProvisionedModelThroughputStatuses transitions PMTs from Creating → InService. Called by the janitor after the creation delay has elapsed.

func (*InMemoryBackend) AssociateAgentCollaborator

func (b *InMemoryBackend) AssociateAgentCollaborator(
	agentID, agentVersion, collaboratorArn, relayConversation string,
) (*AgentCollaborator, error)

AssociateAgentCollaborator associates a collaborator agent with an agent.

func (*InMemoryBackend) AssociateAgentKnowledgeBase

func (b *InMemoryBackend) AssociateAgentKnowledgeBase(
	agentID, kbID, description string,
) (*AgentKnowledgeBaseAssociation, error)

AssociateAgentKnowledgeBase links a knowledge base to an agent.

func (*InMemoryBackend) BatchDeleteAdvancedPromptOptimizationJob added in v1.2.0

func (b *InMemoryBackend) BatchDeleteAdvancedPromptOptimizationJob(jobIdentifiers []string) (
	[]BatchDeleteAdvancedPromptOptimizationJobItem, []BatchDeleteAdvancedPromptOptimizationJobError, error,
)

BatchDeleteAdvancedPromptOptimizationJob deletes multiple jobs by ARN or ID, returning a per-item result/error list mirroring BatchDeleteEvaluationJob's shape.

func (*InMemoryBackend) BatchDeleteEvaluationJob

func (b *InMemoryBackend) BatchDeleteEvaluationJob(jobARNs []string) (
	[]BatchDeleteEvaluationJobError, []BatchDeleteEvaluationJobItem, error,
)

BatchDeleteEvaluationJob deletes multiple evaluation jobs.

func (*InMemoryBackend) CancelAutomatedReasoningPolicyBuildWorkflow

func (b *InMemoryBackend) CancelAutomatedReasoningPolicyBuildWorkflow(
	policyARN, workflowID string,
) error

CancelAutomatedReasoningPolicyBuildWorkflow cancels a running build workflow.

func (*InMemoryBackend) CreateAdvancedPromptOptimizationJob added in v1.2.0

func (b *InMemoryBackend) CreateAdvancedPromptOptimizationJob(
	in CreateAdvancedPromptOptimizationJobInput,
) (*AdvancedPromptOptimizationJob, error)

CreateAdvancedPromptOptimizationJob creates a new advanced prompt optimization job in status InProgress.

func (*InMemoryBackend) CreateAgent

func (b *InMemoryBackend) CreateAgent(
	agentName, foundationModel, instruction, roleArn string,
	tags map[string]string,
) (*Agent, error)

CreateAgent creates a new Bedrock Agent.

func (*InMemoryBackend) CreateAgentActionGroup

func (b *InMemoryBackend) CreateAgentActionGroup(
	agentID, actionGroupName, description string,
	executor map[string]any,
) (*AgentActionGroup, error)

CreateAgentActionGroup creates an action group for an agent.

func (*InMemoryBackend) CreateAgentActionGroupWithSchemas

func (b *InMemoryBackend) CreateAgentActionGroupWithSchemas(
	agentID, actionGroupName, description string,
	executor, apiSchema, functionSchema map[string]any,
) (*AgentActionGroup, error)

CreateAgentActionGroupWithSchemas creates an action group preserving either supported schema.

func (*InMemoryBackend) CreateAgentAlias

func (b *InMemoryBackend) CreateAgentAlias(
	agentID, aliasName, agentVersion string,
) (*AgentAlias, error)

CreateAgentAlias creates an alias for an agent.

func (*InMemoryBackend) CreateAgentVersion

func (b *InMemoryBackend) CreateAgentVersion(agentID string) (*AgentVersion, error)

CreateAgentVersion creates a numbered version snapshot of an Agent.

func (*InMemoryBackend) CreateAgentWithConfiguration

func (b *InMemoryBackend) CreateAgentWithConfiguration(config AgentConfiguration) (*Agent, error)

CreateAgentWithConfiguration creates an agent retaining extended AWS configuration.

func (*InMemoryBackend) CreateAutomatedReasoningPolicy

func (b *InMemoryBackend) CreateAutomatedReasoningPolicy(
	name, description string,
	tags []Tag,
) (*AutomatedReasoningPolicy, error)

CreateAutomatedReasoningPolicy creates a new Automated Reasoning policy.

func (*InMemoryBackend) CreateAutomatedReasoningPolicyTestCase

func (b *InMemoryBackend) CreateAutomatedReasoningPolicyTestCase(
	policyARN string,
) (*AutomatedReasoningPolicyTestCase, error)

CreateAutomatedReasoningPolicyTestCase creates a test case for an Automated Reasoning policy.

func (*InMemoryBackend) CreateAutomatedReasoningPolicyVersion

func (b *InMemoryBackend) CreateAutomatedReasoningPolicyVersion(
	policyARN, definitionHash string,
	tags []Tag,
) (*AutomatedReasoningPolicyVersion, error)

CreateAutomatedReasoningPolicyVersion creates a new version of an Automated Reasoning policy.

func (*InMemoryBackend) CreateCustomModel

func (b *InMemoryBackend) CreateCustomModel(modelName string, tags []Tag) (*CustomModel, error)

CreateCustomModel creates a new custom model with no base model: the wire input carries only a data source (S3/SageMaker model package), never a base model reference, and gopherstack doesn't process model artifacts to derive one. BaseModelArn/BaseModelName stay empty, so baseModelArnEquals/ foundationModelArnEquals never match imported models -- matches real AWS (bedrock@v1.66.4 api_op_CreateCustomModel.go: "The model appears in ListCustomModels with a customizationType of imported").

func (*InMemoryBackend) CreateCustomModelDeployment

func (b *InMemoryBackend) CreateCustomModelDeployment(
	modelARN, deploymentName string,
	tags []Tag,
) (*CustomModelDeployment, error)

CreateCustomModelDeployment creates a new deployment for a custom model.

func (*InMemoryBackend) CreateDataSource

func (b *InMemoryBackend) CreateDataSource(
	kbID, name, description string,
	dsConfig map[string]any,
) (*DataSource, error)

CreateDataSource creates a data source for a knowledge base.

func (*InMemoryBackend) CreateDataSourceWithConfiguration

func (b *InMemoryBackend) CreateDataSourceWithConfiguration(
	kbID, name, description, deletionPolicy string,
	dsConfig, vectorConfig map[string]any,
) (*DataSource, error)

CreateDataSourceWithConfiguration creates a data source with vector ingestion settings.

func (*InMemoryBackend) CreateEvaluationJob

func (b *InMemoryBackend) CreateEvaluationJob(
	name string,
	tags []Tag,
	opts ...*CreateEvaluationJobInput,
) (*EvaluationJob, error)

CreateEvaluationJob creates a new evaluation job.

func (*InMemoryBackend) CreateFlow

func (b *InMemoryBackend) CreateFlow(
	name, description string,
	tags map[string]string,
) (*Flow, error)

CreateFlow creates a new Bedrock Flow.

func (*InMemoryBackend) CreateFlowAlias

func (b *InMemoryBackend) CreateFlowAlias(
	flowID, name, description string,
) (*FlowAlias, error)

CreateFlowAlias creates an alias for a Flow.

func (*InMemoryBackend) CreateFlowVersion

func (b *InMemoryBackend) CreateFlowVersion(flowID string) (*FlowVersion, error)

CreateFlowVersion creates a numbered snapshot version of a Flow.

func (*InMemoryBackend) CreateFoundationModelAgreement

func (b *InMemoryBackend) CreateFoundationModelAgreement(
	modelID string,
) (*FoundationModelAgreement, error)

CreateFoundationModelAgreement creates a foundation model access agreement.

func (*InMemoryBackend) CreateGuardrail

func (b *InMemoryBackend) CreateGuardrail(
	name, description, blockedInput, blockedOutput string,
	tags []Tag,
	policies ...*GuardrailPolicies,
) (*Guardrail, error)

CreateGuardrail creates a new guardrail. The optional policies argument configures content, topic, word, sensitive-information, and contextual-grounding policies.

func (*InMemoryBackend) CreateGuardrailVersion

func (b *InMemoryBackend) CreateGuardrailVersion(
	idOrARN, description string,
) (*GuardrailVersion, error)

CreateGuardrailVersion creates a new numbered version snapshot of a guardrail. Each guardrail maintains its own monotonically increasing version counter.

func (*InMemoryBackend) CreateInferenceProfile

func (b *InMemoryBackend) CreateInferenceProfile(
	name, description, modelSource string,
	tags []Tag,
) (*InferenceProfile, error)

CreateInferenceProfile creates a new inference profile. modelSource is the required ModelSource member (api_op_CreateInferenceProfile.go:48), the CopyFrom ARN of the foundation model or system-defined inference profile this profile tracks (types.InferenceProfileModelSourceMemberCopyFrom, the union's only member).

func (*InMemoryBackend) CreateKnowledgeBase

func (b *InMemoryBackend) CreateKnowledgeBase(
	name, description, roleArn string,
	kbConfig, storageConfig map[string]any,
	tags map[string]string,
) (*KnowledgeBase, error)

CreateKnowledgeBase creates a new knowledge base.

func (*InMemoryBackend) CreateMarketplaceModelEndpoint

func (b *InMemoryBackend) CreateMarketplaceModelEndpoint(
	endpointName, modelSourceID string,
	endpointConfig *SageMakerEndpointConfig,
	tags []Tag,
) (*MarketplaceModelEndpoint, error)

CreateMarketplaceModelEndpoint creates a new marketplace model endpoint. endpointConfig is optional (nil is stored as-is); when the caller supplies one it is round-tripped verbatim through Get/List/Update, matching real AWS's required EndpointConfig response field.

func (*InMemoryBackend) CreateModelCopyJob

func (b *InMemoryBackend) CreateModelCopyJob(
	sourceModelARN, targetModelName string,
	tags []Tag,
) (*ModelCopyJob, error)

CreateModelCopyJob creates a new model copy job. TargetModelArn is built from the caller's real targetModelName (bedrock@v1.66.4 serializers.go:1720-1750, "This member is required") -- it must never be a fabricated name of this backend's own choosing.

func (*InMemoryBackend) CreateModelCustomizationJob

func (b *InMemoryBackend) CreateModelCustomizationJob(
	jobName, customModelName, baseModelID, customizationType, roleArn string,
	outputDataConfig OutputDataConfig, trainingDataConfig TrainingDataConfig,
	tags []Tag,
) (*ModelCustomizationJob, error)

CreateModelCustomizationJob creates a new model customization job. customModelName is the required name of the resulting output model (bedrock@v1.66.4 CreateModelCustomizationJobRequest: "customModelName" is required and distinct from jobName). It is validated and reserved now so AdvanceCustomizationJobStatuses can materialize the output CustomModel without discovering a name conflict after the job has already committed to running.

roleArn, outputDataConfig and trainingDataConfig are also required members (api_op_CreateModelCustomizationJob.go:66,75,80). outputDataConfig.S3Uri is itself required within OutputDataConfig; TrainingDataConfig's own leaves (S3Uri, InvocationLogsConfig) are not required by the SDK, only the TrainingDataConfig object itself, so no leaf-level check is made there.

func (*InMemoryBackend) CreateModelImportJob

func (b *InMemoryBackend) CreateModelImportJob(
	jobName, importedModelName, roleArn, modelDataSourceS3Uri string,
	tags []Tag,
) (*ModelImportJob, error)

CreateModelImportJob creates a new model import job. importedModelName, roleArn, and modelDataSourceS3Uri mirror the real CreateModelImportJobInput's required ImportedModelName/RoleArn/ModelDataSource fields -- gopherstack previously accepted only jobName+tags, silently dropping all three.

func (*InMemoryBackend) CreateModelInvocationJob

func (b *InMemoryBackend) CreateModelInvocationJob(
	name string,
	tags []Tag,
	opts ...*CreateModelInvocationJobInput,
) (*ModelInvocationJob, error)

CreateModelInvocationJob creates a new batch model invocation job. AWS initial status is "Submitted" (not InProgress).

func (*InMemoryBackend) CreatePrompt

func (b *InMemoryBackend) CreatePrompt(
	name, description string,
	tags map[string]string,
) (*Prompt, error)

CreatePrompt creates a new Bedrock Prompt.

func (*InMemoryBackend) CreatePromptRouter

func (b *InMemoryBackend) CreatePromptRouter(
	name, description, fallbackModelArn string,
	modelArns []string,
	routingResponseQualityDiff float64,
	tags []Tag,
) (*PromptRouter, error)

CreatePromptRouter creates a new prompt router. fallbackModelArn, modelArns, and routingResponseQualityDiff mirror the real CreatePromptRouterInput's required FallbackModel/Models/RoutingCriteria fields -- gopherstack previously accepted only promptRouterName+tags, silently dropping all three and leaving every Get/List response missing them (all four are required response fields on GetPromptRouterOutput/PromptRouterSummary).

func (*InMemoryBackend) CreatePromptVersion

func (b *InMemoryBackend) CreatePromptVersion(promptID string) (*PromptVersion, error)

CreatePromptVersion creates a numbered snapshot version of a Prompt.

func (*InMemoryBackend) CreateProvisionedModelThroughput

func (b *InMemoryBackend) CreateProvisionedModelThroughput(
	name, modelID string,
	modelUnits int32,
	commitmentDuration string,
	tags []Tag,
) (*ProvisionedModelThroughput, error)

CreateProvisionedModelThroughput creates a new provisioned model throughput.

func (*InMemoryBackend) DeleteAgent

func (b *InMemoryBackend) DeleteAgent(agentID string) error

DeleteAgent deletes a Bedrock Agent. AWS rejects deletion when the agent has active aliases (ConflictException).

func (*InMemoryBackend) DeleteAgentActionGroup

func (b *InMemoryBackend) DeleteAgentActionGroup(agentID, actionGroupID string) error

DeleteAgentActionGroup deletes an action group.

func (*InMemoryBackend) DeleteAgentAlias

func (b *InMemoryBackend) DeleteAgentAlias(agentID, aliasID string) error

DeleteAgentAlias deletes an agent alias.

func (*InMemoryBackend) DeleteAgentMemory

func (b *InMemoryBackend) DeleteAgentMemory(agentID, sessionID string) error

DeleteAgentMemory deletes memory entries for an agent session.

func (*InMemoryBackend) DeleteAgentVersion

func (b *InMemoryBackend) DeleteAgentVersion(agentID, version string) error

DeleteAgentVersion deletes a specific Agent version.

func (*InMemoryBackend) DeleteAutomatedReasoningPolicy

func (b *InMemoryBackend) DeleteAutomatedReasoningPolicy(policyARN string) error

DeleteAutomatedReasoningPolicy removes a policy and its related resources.

func (*InMemoryBackend) DeleteAutomatedReasoningPolicyBuildWorkflow

func (b *InMemoryBackend) DeleteAutomatedReasoningPolicyBuildWorkflow(policyARN, workflowID string) error

DeleteAutomatedReasoningPolicyBuildWorkflow removes a build workflow.

func (*InMemoryBackend) DeleteAutomatedReasoningPolicyTestCase

func (b *InMemoryBackend) DeleteAutomatedReasoningPolicyTestCase(policyARN, testCaseID string) error

DeleteAutomatedReasoningPolicyTestCase removes a test case.

func (*InMemoryBackend) DeleteCustomModel

func (b *InMemoryBackend) DeleteCustomModel(idOrARN string) error

DeleteCustomModel removes a custom model by ARN or name.

func (*InMemoryBackend) DeleteCustomModelDeployment

func (b *InMemoryBackend) DeleteCustomModelDeployment(deployARN string) error

DeleteCustomModelDeployment removes a deployment.

func (*InMemoryBackend) DeleteDataSource

func (b *InMemoryBackend) DeleteDataSource(kbID, dsID string) error

DeleteDataSource deletes a data source.

func (*InMemoryBackend) DeleteEnforcedGuardrailConfiguration

func (b *InMemoryBackend) DeleteEnforcedGuardrailConfiguration(configID string) error

DeleteEnforcedGuardrailConfiguration removes an account-level enforced guardrail configuration by ConfigID.

func (*InMemoryBackend) DeleteFlow

func (b *InMemoryBackend) DeleteFlow(flowID string) error

DeleteFlow deletes a Flow.

func (*InMemoryBackend) DeleteFlowAlias

func (b *InMemoryBackend) DeleteFlowAlias(flowID, aliasID string) error

DeleteFlowAlias deletes a Flow alias.

func (*InMemoryBackend) DeleteFlowVersion

func (b *InMemoryBackend) DeleteFlowVersion(flowID, version string) error

DeleteFlowVersion deletes a specific Flow version.

func (*InMemoryBackend) DeleteFoundationModelAgreement

func (b *InMemoryBackend) DeleteFoundationModelAgreement(modelID string) error

DeleteFoundationModelAgreement removes an agreement by model ID.

func (*InMemoryBackend) DeleteGuardrail

func (b *InMemoryBackend) DeleteGuardrail(idOrARN, version string) error

DeleteGuardrail removes a guardrail by ID or ARN. If version is empty, the DRAFT and every numbered version are deleted. If version is a specific numbered version, only that version's snapshot is deleted and the DRAFT (and other versions) are untouched.

func (*InMemoryBackend) DeleteImportedModel

func (b *InMemoryBackend) DeleteImportedModel(modelARN string) error

DeleteImportedModel removes the import job whose importedModelArn matches.

func (*InMemoryBackend) DeleteInferenceProfile

func (b *InMemoryBackend) DeleteInferenceProfile(idOrARN string) error

DeleteInferenceProfile removes an inference profile by ARN or name.

func (*InMemoryBackend) DeleteKnowledgeBase

func (b *InMemoryBackend) DeleteKnowledgeBase(kbID string) error

DeleteKnowledgeBase deletes a knowledge base.

func (*InMemoryBackend) DeleteKnowledgeBaseDocuments

func (b *InMemoryBackend) DeleteKnowledgeBaseDocuments(
	kbID, dsID string,
	documentIDs []string,
) error

DeleteKnowledgeBaseDocuments removes documents from a KB data source.

func (*InMemoryBackend) DeleteKnowledgeBaseResourcePolicy added in v1.2.0

func (b *InMemoryBackend) DeleteKnowledgeBaseResourcePolicy(resourceArn, expectedRevisionID string) (string, error)

DeleteKnowledgeBaseResourcePolicy removes the resource policy attached to a knowledge base ARN (bedrock-agent domain), returning the revision ID the deleted policy had. See PutKnowledgeBaseResourcePolicy's doc comment for expectedRevisionID semantics.

func (*InMemoryBackend) DeleteMarketplaceModelEndpoint

func (b *InMemoryBackend) DeleteMarketplaceModelEndpoint(idOrARN string) error

DeleteMarketplaceModelEndpoint removes a marketplace endpoint by ARN or name.

func (*InMemoryBackend) DeleteModelInvocationLoggingConfiguration

func (b *InMemoryBackend) DeleteModelInvocationLoggingConfiguration()

DeleteModelInvocationLoggingConfiguration removes the logging configuration.

func (*InMemoryBackend) DeletePrompt

func (b *InMemoryBackend) DeletePrompt(promptID string) error

DeletePrompt deletes a Prompt.

func (*InMemoryBackend) DeletePromptRouter

func (b *InMemoryBackend) DeletePromptRouter(routerARN string) error

DeletePromptRouter removes a prompt router.

func (*InMemoryBackend) DeletePromptVersion

func (b *InMemoryBackend) DeletePromptVersion(promptID, version string) error

DeletePromptVersion deletes a specific Prompt version.

func (*InMemoryBackend) DeleteProvisionedModelThroughput

func (b *InMemoryBackend) DeleteProvisionedModelThroughput(idOrARN string) error

DeleteProvisionedModelThroughput removes a provisioned model throughput by ID or ARN.

func (*InMemoryBackend) DeleteResourcePolicy added in v1.2.0

func (b *InMemoryBackend) DeleteResourcePolicy(resourceArn string) error

DeleteResourcePolicy removes the resource policy attached to resourceArn (core bedrock domain).

func (*InMemoryBackend) DeregisterMarketplaceModelEndpoint

func (b *InMemoryBackend) DeregisterMarketplaceModelEndpoint(idOrARN string) error

DeregisterMarketplaceModelEndpoint transitions endpoint status to Deregistered.

func (*InMemoryBackend) DisassociateAgentCollaborator

func (b *InMemoryBackend) DisassociateAgentCollaborator(agentID, collaboratorID string) error

DisassociateAgentCollaborator removes a collaborator from an agent.

func (*InMemoryBackend) DisassociateAgentKnowledgeBase

func (b *InMemoryBackend) DisassociateAgentKnowledgeBase(agentID, kbID string) error

DisassociateAgentKnowledgeBase removes a knowledge base association from an agent.

func (*InMemoryBackend) ExportAutomatedReasoningPolicyVersion

func (b *InMemoryBackend) ExportAutomatedReasoningPolicyVersion(arnParam string) (map[string]any, error)

ExportAutomatedReasoningPolicyVersion exports a policy version definition. arnParam may be a versioned ARN or the bare policy ARN (bedrock@v1.66.4 serializers.go:3603 — no separate {version} path segment; the version, if any, is embedded in the ARN).

func (*InMemoryBackend) GetAccountDataRetention added in v1.2.0

func (b *InMemoryBackend) GetAccountDataRetention() *AccountDataRetention

GetAccountDataRetention returns the account's current data retention mode. Real AWS's GetAccountDataRetentionOutput.Mode is a required field -- an account that has never called PutAccountDataRetention still gets a value back, defaulting to "default" (types.DataRetentionModeDefault).

func (*InMemoryBackend) GetAdvancedPromptOptimizationJob added in v1.2.0

func (b *InMemoryBackend) GetAdvancedPromptOptimizationJob(idOrARN string) (*AdvancedPromptOptimizationJob, error)

GetAdvancedPromptOptimizationJob returns a single job by ARN or ID.

func (*InMemoryBackend) GetAgent

func (b *InMemoryBackend) GetAgent(agentID string) (*Agent, error)

GetAgent returns a Bedrock Agent by ID.

func (*InMemoryBackend) GetAgentActionGroup

func (b *InMemoryBackend) GetAgentActionGroup(
	agentID, actionGroupID string,
) (*AgentActionGroup, error)

GetAgentActionGroup returns an action group by ID.

func (*InMemoryBackend) GetAgentAlias

func (b *InMemoryBackend) GetAgentAlias(agentID, aliasID string) (*AgentAlias, error)

GetAgentAlias returns an alias by ID.

func (*InMemoryBackend) GetAgentCollaborator

func (b *InMemoryBackend) GetAgentCollaborator(
	agentID, collaboratorID string,
) (*AgentCollaborator, error)

GetAgentCollaborator returns an agent collaborator by ID.

func (*InMemoryBackend) GetAgentKnowledgeBase

func (b *InMemoryBackend) GetAgentKnowledgeBase(
	agentID, kbID string,
) (*AgentKnowledgeBaseAssociation, error)

GetAgentKnowledgeBase returns an agent knowledge base association.

func (*InMemoryBackend) GetAgentMemory

func (b *InMemoryBackend) GetAgentMemory(agentID, sessionID string) []any

GetAgentMemory returns memory entries for an agent session (stub).

func (*InMemoryBackend) GetAgentVersion

func (b *InMemoryBackend) GetAgentVersion(agentID, version string) (*AgentVersion, error)

GetAgentVersion returns a specific Agent version.

func (*InMemoryBackend) GetAutomatedReasoningPolicy

func (b *InMemoryBackend) GetAutomatedReasoningPolicy(policyARN string) (*AutomatedReasoningPolicy, error)

GetAutomatedReasoningPolicy returns a single ARP by ARN.

func (*InMemoryBackend) GetAutomatedReasoningPolicyAnnotations

func (b *InMemoryBackend) GetAutomatedReasoningPolicyAnnotations(
	policyARN, buildWorkflowID string,
) (map[string]any, error)

GetAutomatedReasoningPolicyAnnotations returns annotations for a build workflow (bedrock@v1.66.4 serializers.go:3874 — build-workflow-scoped, not policy-scoped). annotationSetHash is required on the real output (api_op_GetAutomatedReasoningPolicyAnnotations.go:54) and doubles as the token UpdateAutomatedReasoningPolicyAnnotations's required lastUpdatedAnnotationSetHash checks against, so it is minted here on first read rather than left absent. Uses the write lock because that lazy mint mutates arpAnnotationSetHash.

func (*InMemoryBackend) GetAutomatedReasoningPolicyBuildWorkflow

func (b *InMemoryBackend) GetAutomatedReasoningPolicyBuildWorkflow(
	policyARN, workflowID string,
) (*AutomatedReasoningPolicyBuildWorkflow, error)

GetAutomatedReasoningPolicyBuildWorkflow returns a workflow by policy ARN and workflow ID.

func (*InMemoryBackend) GetAutomatedReasoningPolicyBuildWorkflowResultAssets

func (b *InMemoryBackend) GetAutomatedReasoningPolicyBuildWorkflowResultAssets(
	policyARN, workflowID string,
) (map[string]any, error)

GetAutomatedReasoningPolicyBuildWorkflowResultAssets returns result asset URLs for a workflow. Ignores the real, required AssetType filter (bedrock@v1.66.4 api_op_GetAutomatedReasoningPolicyBuildWorkflowResultAssets.go) deliberately rather than fixing it: this backend never generates result-asset content (build workflows here don't run a real document-ingestion/policy-generation pipeline), so resultAssets is always []. Threading AssetType through to filter an always-empty list can't be observed by any test, real-client or otherwise (gopherstack-4sov). Revisit only if/when this backend starts producing real result-asset content.

func (*InMemoryBackend) GetAutomatedReasoningPolicyNextScenario

func (b *InMemoryBackend) GetAutomatedReasoningPolicyNextScenario(
	policyARN, buildWorkflowID string,
) (map[string]any, error)

GetAutomatedReasoningPolicyNextScenario returns the next scenario for active-learning (bedrock@v1.66.4 serializers.go:4122 — real segment is "scenarios", build-workflow-scoped).

func (*InMemoryBackend) GetAutomatedReasoningPolicyTestCase

func (b *InMemoryBackend) GetAutomatedReasoningPolicyTestCase(
	policyARN, testCaseID string,
) (*AutomatedReasoningPolicyTestCase, error)

GetAutomatedReasoningPolicyTestCase returns a test case by ID.

func (*InMemoryBackend) GetAutomatedReasoningPolicyTestResult

func (b *InMemoryBackend) GetAutomatedReasoningPolicyTestResult(
	policyARN, buildWorkflowID, testCaseID string,
) (map[string]any, error)

GetAutomatedReasoningPolicyTestResult returns the result for a test case execution (bedrock@v1.66.4 serializers.go:4282 — build-workflow-scoped).

func (*InMemoryBackend) GetCustomModel

func (b *InMemoryBackend) GetCustomModel(idOrARN string) (*CustomModel, error)

GetCustomModel returns a custom model by ARN or name.

func (*InMemoryBackend) GetCustomModelDeployment

func (b *InMemoryBackend) GetCustomModelDeployment(deployARN string) (*CustomModelDeployment, error)

GetCustomModelDeployment returns a deployment by ARN.

func (*InMemoryBackend) GetDataSource

func (b *InMemoryBackend) GetDataSource(kbID, dsID string) (*DataSource, error)

GetDataSource returns a data source by ID.

func (*InMemoryBackend) GetEvaluationJob

func (b *InMemoryBackend) GetEvaluationJob(jobARN string) (*EvaluationJob, error)

GetEvaluationJob returns a single evaluation job by ARN.

func (*InMemoryBackend) GetFlow

func (b *InMemoryBackend) GetFlow(flowID string) (*Flow, error)

GetFlow returns a Flow by ID.

func (*InMemoryBackend) GetFlowAlias

func (b *InMemoryBackend) GetFlowAlias(flowID, aliasID string) (*FlowAlias, error)

GetFlowAlias returns a Flow alias by ID.

func (*InMemoryBackend) GetFlowVersion

func (b *InMemoryBackend) GetFlowVersion(flowID, version string) (*FlowVersion, error)

GetFlowVersion returns a specific Flow version.

func (*InMemoryBackend) GetFoundationModel

func (b *InMemoryBackend) GetFoundationModel(modelID string) (*FoundationModelSummary, error)

GetFoundationModel returns a single foundation model by model ID or full ARN.

func (*InMemoryBackend) GetGuardrail

func (b *InMemoryBackend) GetGuardrail(idOrARN string) (*Guardrail, error)

func (*InMemoryBackend) GetGuardrailVersion

func (b *InMemoryBackend) GetGuardrailVersion(idOrARN, version string) (*Guardrail, error)

GetGuardrailVersion returns guardrail details for a specific version. An empty or "DRAFT" version returns the current (mutable) draft. A numbered version returns the immutable snapshot captured when that version was published via CreateGuardrailVersion.

func (*InMemoryBackend) GetImportedModel

func (b *InMemoryBackend) GetImportedModel(modelARN string) (*ModelImportJob, error)

GetImportedModel returns the import job whose importedModelArn matches.

func (*InMemoryBackend) GetInferenceProfile

func (b *InMemoryBackend) GetInferenceProfile(idOrARN string) (*InferenceProfile, error)

GetInferenceProfile returns an inference profile by ARN or name.

func (*InMemoryBackend) GetIngestionJob

func (b *InMemoryBackend) GetIngestionJob(kbID, dsID, jobID string) (*IngestionJob, error)

GetIngestionJob returns an ingestion job by ID.

func (*InMemoryBackend) GetKnowledgeBase

func (b *InMemoryBackend) GetKnowledgeBase(kbID string) (*KnowledgeBase, error)

GetKnowledgeBase returns a knowledge base by ID.

func (*InMemoryBackend) GetKnowledgeBaseDocuments

func (b *InMemoryBackend) GetKnowledgeBaseDocuments(
	kbID, dsID string,
	documentIDs []string,
) ([]*KnowledgeBaseDocument, error)

GetKnowledgeBaseDocuments returns selected documents for a KB data source.

func (*InMemoryBackend) GetKnowledgeBaseResourcePolicy added in v1.2.0

func (b *InMemoryBackend) GetKnowledgeBaseResourcePolicy(resourceArn string) (*ResourcePolicy, error)

GetKnowledgeBaseResourcePolicy returns the resource policy attached to a knowledge base ARN (bedrock-agent domain).

func (*InMemoryBackend) GetMarketplaceModelEndpoint

func (b *InMemoryBackend) GetMarketplaceModelEndpoint(
	idOrARN string,
) (*MarketplaceModelEndpoint, error)

GetMarketplaceModelEndpoint returns a marketplace endpoint by ARN or name.

func (*InMemoryBackend) GetModelCopyJob

func (b *InMemoryBackend) GetModelCopyJob(jobARN string) (*ModelCopyJob, error)

GetModelCopyJob returns a model copy job by ARN.

func (*InMemoryBackend) GetModelCustomizationJob

func (b *InMemoryBackend) GetModelCustomizationJob(idOrARN string) (*ModelCustomizationJob, error)

GetModelCustomizationJob returns a model customization job by ARN or name.

func (*InMemoryBackend) GetModelImportJob

func (b *InMemoryBackend) GetModelImportJob(jobARN string) (*ModelImportJob, error)

GetModelImportJob returns a model import job by ARN.

func (*InMemoryBackend) GetModelInvocationJob

func (b *InMemoryBackend) GetModelInvocationJob(jobARN string) (*ModelInvocationJob, error)

GetModelInvocationJob returns a single invocation job by ARN.

func (*InMemoryBackend) GetModelInvocationLoggingConfiguration

func (b *InMemoryBackend) GetModelInvocationLoggingConfiguration() *ModelInvocationLoggingConfiguration

GetModelInvocationLoggingConfiguration returns the current logging configuration.

func (*InMemoryBackend) GetPrompt

func (b *InMemoryBackend) GetPrompt(promptID string) (*Prompt, error)

GetPrompt returns a Prompt by ID.

func (*InMemoryBackend) GetPromptRouter

func (b *InMemoryBackend) GetPromptRouter(routerARN string) (*PromptRouter, error)

GetPromptRouter returns a single prompt router by ARN.

func (*InMemoryBackend) GetPromptVersion

func (b *InMemoryBackend) GetPromptVersion(promptID, version string) (*PromptVersion, error)

GetPromptVersion returns a specific Prompt version.

func (*InMemoryBackend) GetProvisionedModelThroughput

func (b *InMemoryBackend) GetProvisionedModelThroughput(
	idOrARN string,
) (*ProvisionedModelThroughput, error)

func (*InMemoryBackend) GetResourcePolicy added in v1.2.0

func (b *InMemoryBackend) GetResourcePolicy(resourceArn string) (*ResourcePolicy, error)

GetResourcePolicy returns the resource policy attached to resourceArn (core bedrock domain).

func (*InMemoryBackend) GetUseCaseForModelAccess

func (b *InMemoryBackend) GetUseCaseForModelAccess() []byte

GetUseCaseForModelAccess returns the raw FormData bytes previously stored by PutUseCaseForModelAccess (real AWS: GetUseCaseForModelAccessOutput.FormData is a required raw byte payload, not a structured {useCaseType,useCaseDescription} object -- see PutUseCaseForModelAccess's doc comment for the full shape note).

func (*InMemoryBackend) IngestKnowledgeBaseDocuments

func (b *InMemoryBackend) IngestKnowledgeBaseDocuments(
	kbID, dsID string,
	documentIDs []string,
) ([]*KnowledgeBaseDocument, error)

IngestKnowledgeBaseDocuments adds documents to a KB data source.

func (*InMemoryBackend) ListAdvancedPromptOptimizationJobs added in v1.2.0

func (b *InMemoryBackend) ListAdvancedPromptOptimizationJobs(
	in *ListAdvancedPromptOptimizationJobsInput,
) ([]*AdvancedPromptOptimizationJob, string)

ListAdvancedPromptOptimizationJobs returns jobs sorted by creation time and paginated. in may be nil, matching an unfiltered call with default sort order and page size.

func (*InMemoryBackend) ListAgentActionGroups

func (b *InMemoryBackend) ListAgentActionGroups(
	agentID string,
	maxResults int,
	nextToken string,
) ([]*AgentActionGroup, string)

ListAgentActionGroups lists action groups for an agent.

func (*InMemoryBackend) ListAgentAliases

func (b *InMemoryBackend) ListAgentAliases(
	agentID string,
	maxResults int,
	nextToken string,
) ([]*AgentAlias, string)

ListAgentAliases lists aliases for an agent.

func (*InMemoryBackend) ListAgentCollaborators

func (b *InMemoryBackend) ListAgentCollaborators(
	agentID string,
	maxResults int,
	nextToken string,
) ([]*AgentCollaborator, string)

ListAgentCollaborators lists collaborators for an agent.

func (*InMemoryBackend) ListAgentKnowledgeBases

func (b *InMemoryBackend) ListAgentKnowledgeBases(
	agentID string,
	maxResults int,
	nextToken string,
) ([]*AgentKnowledgeBaseAssociation, string)

ListAgentKnowledgeBases returns all knowledge base associations for an agent.

func (*InMemoryBackend) ListAgentResourceTags

func (b *InMemoryBackend) ListAgentResourceTags(resourceArn string) map[string]string

ListAgentResourceTags returns tags for an agent-domain resource identified by its ARN.

func (*InMemoryBackend) ListAgentVersions

func (b *InMemoryBackend) ListAgentVersions(
	agentID string,
	maxResults int,
	nextToken string,
) ([]*AgentVersion, string)

ListAgentVersions lists all versions for an Agent.

func (*InMemoryBackend) ListAgents

func (b *InMemoryBackend) ListAgents(maxResults int, nextToken string) ([]*Agent, string)

ListAgents returns all agents with pagination.

func (*InMemoryBackend) ListAutomatedReasoningPolicies

func (b *InMemoryBackend) ListAutomatedReasoningPolicies() []*AutomatedReasoningPolicy

ListAutomatedReasoningPolicies returns all policies.

func (*InMemoryBackend) ListAutomatedReasoningPolicyBuildWorkflows

func (b *InMemoryBackend) ListAutomatedReasoningPolicyBuildWorkflows(
	policyARN string,
) []*AutomatedReasoningPolicyBuildWorkflow

ListAutomatedReasoningPolicyBuildWorkflows returns all workflows for a policy.

func (*InMemoryBackend) ListAutomatedReasoningPolicyTestCases

func (b *InMemoryBackend) ListAutomatedReasoningPolicyTestCases(policyARN string) []*AutomatedReasoningPolicyTestCase

ListAutomatedReasoningPolicyTestCases returns all test cases for a policy.

func (*InMemoryBackend) ListAutomatedReasoningPolicyTestResults

func (b *InMemoryBackend) ListAutomatedReasoningPolicyTestResults(
	policyARN, buildWorkflowID string,
) ([]map[string]any, error)

ListAutomatedReasoningPolicyTestResults returns test results for a build workflow (bedrock@v1.66.4 serializers.go:5937 — build-workflow-scoped).

func (*InMemoryBackend) ListCustomModelDeployments

func (b *InMemoryBackend) ListCustomModelDeployments() []*CustomModelDeployment

ListCustomModelDeployments returns all deployments.

func (*InMemoryBackend) ListCustomModels

func (b *InMemoryBackend) ListCustomModels(in *ListCustomModelsInput) ([]*CustomModel, string)

ListCustomModels returns custom models matching in's filters, sorted and paginated. in may be nil, matching an unfiltered call. Structurally similar to ListEvaluationJobs/ListModelInvocationJobs (same filter/sort/paginate shape) but over a distinct resource type and filter set; see matchesCustomModelFilter. baseModelArnEquals/foundationModelArnEquals only match models produced by a completed CreateModelCustomizationJob -- those carry a real BaseModelArn from the job's baseModelIdentifier. Imported models (CreateCustomModel) have no base model and match neither filter.

func (*InMemoryBackend) ListDataSources

func (b *InMemoryBackend) ListDataSources(
	kbID string,
	maxResults int,
	nextToken string,
) ([]*DataSource, string)

ListDataSources lists data sources for a knowledge base.

func (*InMemoryBackend) ListEnforcedGuardrailsConfiguration

func (b *InMemoryBackend) ListEnforcedGuardrailsConfiguration(
	nextToken string,
) ([]*AccountEnforcedGuardrailConfig, string)

ListEnforcedGuardrailsConfiguration returns all account-level enforced guardrail configurations, sorted by ConfigID for deterministic pagination.

func (*InMemoryBackend) ListEvaluationJobs

func (b *InMemoryBackend) ListEvaluationJobs(in *ListEvaluationJobsInput) ([]*EvaluationJob, string)

ListEvaluationJobs returns evaluation jobs matching the given filters, sorted and paginated. in may be nil, matching an unfiltered ListEvaluationJobs call. Structurally similar to ListModelInvocationJobs (same filter/sort/paginate shape) but over a distinct resource type and filter set; see matchesEvaluationJobFilter.

func (*InMemoryBackend) ListFlowAliases

func (b *InMemoryBackend) ListFlowAliases(
	flowID string,
	maxResults int,
	nextToken string,
) ([]*FlowAlias, string)

ListFlowAliases lists aliases for a Flow.

func (*InMemoryBackend) ListFlowVersions

func (b *InMemoryBackend) ListFlowVersions(
	flowID string,
	maxResults int,
	nextToken string,
) ([]*FlowVersion, string)

ListFlowVersions lists all versions for a Flow.

func (*InMemoryBackend) ListFlows

func (b *InMemoryBackend) ListFlows(maxResults int, nextToken string) ([]*Flow, string)

ListFlows returns all flows with pagination.

func (*InMemoryBackend) ListFoundationModelAgreementOffers

func (b *InMemoryBackend) ListFoundationModelAgreementOffers(modelID string) []*FoundationModelAgreementOffer

ListFoundationModelAgreementOffers returns the catalog of agreement offers available for modelID.

Real AWS: this is a catalog lookup ("what offers exist for this model") keyed by a required modelId PATH parameter -- it has nothing to do with agreements a caller has already created via CreateFoundationModelAgreement. gopherstack previously implemented this as "list every agreement this account has created," a different resource entirely (and returned only {modelId} per entry, missing the required offerToken/termDetails fields). Since gopherstack does not model a real per-model offer catalog, this returns one deterministic, wire-shape-valid offer per known model ID.

func (*InMemoryBackend) ListFoundationModels

func (b *InMemoryBackend) ListFoundationModels(
	nextToken string,
) ([]*FoundationModelSummary, string)

ListFoundationModels returns seeded foundation models with optional pagination.

func (*InMemoryBackend) ListGuardrails

func (b *InMemoryBackend) ListGuardrails(
	nextToken, guardrailIdentifier string,
) ([]*GuardrailSummary, string)

ListGuardrails returns guardrails with optional pagination. If guardrailIdentifier is non-empty, results are filtered to guardrails whose ID, ARN, or name equals the identifier (case-sensitive).

func (*InMemoryBackend) ListImportedModels

func (b *InMemoryBackend) ListImportedModels(
	nameContains string,
	creationTimeAfter, creationTimeBefore *time.Time,
	nextToken string,
) ([]*ModelImportJob, string)

ListImportedModels returns imported models (import jobs with an imported model ARN), optionally filtered by nameContains (matched against ImportedModelName) and creation-time range, sorted and paginated.

func (*InMemoryBackend) ListInferenceProfiles

func (b *InMemoryBackend) ListInferenceProfiles(nextToken, typeEquals string) ([]*InferenceProfile, string)

ListInferenceProfiles returns inference profiles matching typeEquals (real query param "type", aws-sdk-go-v2 serializers.go:6752-6754), with optional pagination. An empty typeEquals matches every profile.

func (*InMemoryBackend) ListIngestionJobs

func (b *InMemoryBackend) ListIngestionJobs(
	kbID, dsID string,
	maxResults int,
	nextToken string,
) ([]*IngestionJob, string)

ListIngestionJobs lists ingestion jobs for a data source.

func (*InMemoryBackend) ListKnowledgeBaseDocuments

func (b *InMemoryBackend) ListKnowledgeBaseDocuments(
	kbID, dsID string,
	maxResults int,
	nextToken string,
) ([]*KnowledgeBaseDocument, string)

ListKnowledgeBaseDocuments returns documents for a KB data source.

func (*InMemoryBackend) ListKnowledgeBases

func (b *InMemoryBackend) ListKnowledgeBases(
	maxResults int,
	nextToken string,
) ([]*KnowledgeBase, string)

ListKnowledgeBases returns all knowledge bases with pagination.

func (*InMemoryBackend) ListMarketplaceModelEndpoints

func (b *InMemoryBackend) ListMarketplaceModelEndpoints(
	nextToken, modelSourceEquals string,
) ([]*MarketplaceModelEndpoint, string)

ListMarketplaceModelEndpoints returns marketplace endpoints matching modelSourceEquals (real query param "modelSourceIdentifier", aws-sdk-go-v2 serializers.go:6822-6824), with optional pagination. An empty modelSourceEquals matches every endpoint.

func (*InMemoryBackend) ListModelCopyJobs

func (b *InMemoryBackend) ListModelCopyJobs() []*ModelCopyJob

ListModelCopyJobs returns all model copy jobs sorted by creation time.

func (*InMemoryBackend) ListModelCustomizationJobs

func (b *InMemoryBackend) ListModelCustomizationJobs(
	in *ListModelCustomizationJobsInput,
) ([]*ModelCustomizationJob, string)

ListModelCustomizationJobs returns customization jobs matching in's filters, sorted and paginated. in may be nil, matching an unfiltered call. Structurally similar to ListEvaluationJobs/ListModelInvocationJobs (same filter/sort/paginate shape) but over a distinct resource type and filter set; see matchesCustomizationJobFilter.

func (*InMemoryBackend) ListModelImportJobs

func (b *InMemoryBackend) ListModelImportJobs() []*ModelImportJob

ListModelImportJobs returns all model import jobs sorted by creation time.

func (*InMemoryBackend) ListModelInvocationJobs

func (b *InMemoryBackend) ListModelInvocationJobs(
	in *ListModelInvocationJobsInput,
) ([]*ModelInvocationJob, string)

ListModelInvocationJobs returns invocation jobs with optional filters and pagination. Structurally similar to ListEvaluationJobs (same filter/sort/paginate shape) but over a distinct resource type and filter set; see matchesInvocationJobFilter.

func (*InMemoryBackend) ListPromptRouters

func (b *InMemoryBackend) ListPromptRouters(typeEquals, nextToken string) ([]*PromptRouter, string)

ListPromptRouters returns prompt routers optionally filtered by type ("default" or "custom"), sorted and paginated.

func (*InMemoryBackend) ListPromptVersions

func (b *InMemoryBackend) ListPromptVersions(
	promptID string,
	maxResults int,
	nextToken string,
) ([]*PromptVersion, string)

ListPromptVersions lists all versions for a Prompt.

func (*InMemoryBackend) ListPrompts

func (b *InMemoryBackend) ListPrompts(maxResults int, nextToken string) ([]*Prompt, string)

ListPrompts returns all prompts with pagination.

func (*InMemoryBackend) ListProvisionedModelThroughputs

func (b *InMemoryBackend) ListProvisionedModelThroughputs(
	nextToken string,
) ([]*ProvisionedModelThroughput, string)

ListProvisionedModelThroughputs returns provisioned model throughputs with optional pagination.

func (*InMemoryBackend) ListTagsForResource

func (b *InMemoryBackend) ListTagsForResource(resourceARN string) ([]Tag, error)

ListTagsForResource returns tags for a resource identified by ARN.

func (*InMemoryBackend) PrepareAgent

func (b *InMemoryBackend) PrepareAgent(agentID string) (*Agent, error)

PrepareAgent starts preparation; subsequent reads advance the terminal state.

func (*InMemoryBackend) PrepareFlow

func (b *InMemoryBackend) PrepareFlow(flowID string) (*Flow, error)

PrepareFlow transitions a Flow to PREPARED status.

func (*InMemoryBackend) PutAccountDataRetention added in v1.2.0

func (b *InMemoryBackend) PutAccountDataRetention(mode string) (*AccountDataRetention, error)

PutAccountDataRetention sets the account's data retention mode.

func (*InMemoryBackend) PutEnforcedGuardrailConfiguration

func (b *InMemoryBackend) PutEnforcedGuardrailConfiguration(
	configID, guardrailIdentifier, guardrailVersion, inputTags string,
	includedModels, excludedModels []string,
) (*AccountEnforcedGuardrailConfig, error)

PutEnforcedGuardrailConfiguration creates or updates an account-level enforced guardrail configuration. If configID is empty, a new configuration is created; otherwise the existing configuration identified by configID is updated in place (real AWS: PutEnforcedGuardrailConfiguration is an upsert keyed by the optional ConfigId request field). guardrailIdentifier must resolve to an existing guardrail (by ID or ARN) and inputTags must be HONOR or IGNORE.

func (*InMemoryBackend) PutKnowledgeBaseResourcePolicy added in v1.2.0

func (b *InMemoryBackend) PutKnowledgeBaseResourcePolicy(
	resourceArn, policyDocument, expectedRevisionID string,
) (*ResourcePolicy, error)

PutKnowledgeBaseResourcePolicy creates or replaces the resource policy attached to a knowledge base ARN (bedrock-agent domain; see this file's package doc comment for why this flavor is scoped to knowledge bases only). When expectedRevisionID is non-empty it must match the stored policy's current RevisionID (or no policy may yet exist when expectedRevisionID is also empty) -- a mismatch fails with ErrAlreadyExists (-> ConflictException, matching real AWS's documented 409 for this op), modeling real AWS's optimistic-concurrency semantics.

func (*InMemoryBackend) PutModelInvocationLoggingConfiguration

func (b *InMemoryBackend) PutModelInvocationLoggingConfiguration(
	cfg *ModelInvocationLoggingConfiguration,
)

PutModelInvocationLoggingConfiguration sets the logging configuration.

func (*InMemoryBackend) PutResourcePolicy added in v1.2.0

func (b *InMemoryBackend) PutResourcePolicy(resourceArn, policyDocument string) (*ResourcePolicy, error)

PutResourcePolicy creates or replaces the resource policy attached to resourceArn (core bedrock domain).

func (*InMemoryBackend) PutUseCaseForModelAccess

func (b *InMemoryBackend) PutUseCaseForModelAccess(formData []byte)

PutUseCaseForModelAccess stores the raw FormData bytes submitted for model access use-case registration.

Real AWS's PutUseCaseForModelAccessInput has a single required field, FormData []byte, sent as {"formData": "<base64>"} over POST /use-case-for-model-access -- there is no structured useCaseType/ useCaseDescription JSON body; that shape (and the PUT method, and the "/usecase-for-model-access" path typo) was a gopherstack invention with no basis in the real API and has been removed as part of the parity fix.

func (*InMemoryBackend) Region

func (b *InMemoryBackend) Region() string

Region returns the AWS region this backend is configured for.

func (*InMemoryBackend) RegisterMarketplaceModelEndpoint

func (b *InMemoryBackend) RegisterMarketplaceModelEndpoint(
	idOrARN, modelSourceIdentifier string,
) (*MarketplaceModelEndpoint, error)

RegisterMarketplaceModelEndpoint transitions endpoint status to Active and stores the required modelSourceIdentifier from the request (aws-sdk-go-v2 api_op_RegisterMarketplaceModelEndpoint.go:37).

func (*InMemoryBackend) Reset

func (b *InMemoryBackend) Reset()

Reset clears all state, returning the backend to its initial seeded state. The accountID, region, and seeded foundation models are preserved.

func (*InMemoryBackend) Restore

func (b *InMemoryBackend) Restore(ctx context.Context, data []byte) error

Restore loads backend state from a JSON snapshot. It implements persistence.Persistable.

func (*InMemoryBackend) RunJanitor

func (b *InMemoryBackend) RunJanitor(ctx context.Context, interval time.Duration)

RunJanitor periodically advances time-based state machines for provisioned resources.

func (*InMemoryBackend) Snapshot

func (b *InMemoryBackend) Snapshot(ctx context.Context) []byte

Snapshot serializes the backend state to JSON. It implements persistence.Persistable.

func (*InMemoryBackend) StartAutomatedReasoningPolicyBuildWorkflow

func (b *InMemoryBackend) StartAutomatedReasoningPolicyBuildWorkflow(
	policyARN, buildWorkflowType string,
	sourceContent json.RawMessage,
) (*AutomatedReasoningPolicyBuildWorkflow, error)

StartAutomatedReasoningPolicyBuildWorkflow creates a new build workflow for a policy. buildWorkflowType and sourceContent are both required (bedrock@v1.66.4 api_op_StartAutomatedReasoningPolicyBuildWorkflow.go:37-53); buildWorkflowType arrives as a URI label, sourceContent as the entire JSON request body (serializers.go:8008-8058).

func (*InMemoryBackend) StartAutomatedReasoningPolicyTestWorkflow

func (b *InMemoryBackend) StartAutomatedReasoningPolicyTestWorkflow(
	policyARN, buildWorkflowID string,
	testCaseIDs []string,
) (map[string]any, error)

StartAutomatedReasoningPolicyTestWorkflow starts a test workflow for a build workflow, optionally scoped to testCaseIDs (bedrock@v1.66.4 serializers.go:8117 — .../build-workflows/{id}/test-workflows, not per-test-case).

func (*InMemoryBackend) StartIngestionJob

func (b *InMemoryBackend) StartIngestionJob(kbID, dsID, description string) (*IngestionJob, error)

StartIngestionJob starts an ingestion job for a data source. AWS rejects starting a new job if one is already in STARTING state for the same data source (ConflictException).

func (*InMemoryBackend) StopAdvancedPromptOptimizationJob added in v1.2.0

func (b *InMemoryBackend) StopAdvancedPromptOptimizationJob(idOrARN string) error

StopAdvancedPromptOptimizationJob stops a running job. Real AWS transitions through an intermediate "Stopping" status before settling on "Stopped"; this backend follows the same simplification every other Stop* op in this package already makes (StopModelCustomizationJob, StopEvaluationJob, StopModelInvocationJob) and transitions directly to the terminal status, since neither transition fabricates any data the API doesn't already ask gopherstack to model.

func (*InMemoryBackend) StopEvaluationJob

func (b *InMemoryBackend) StopEvaluationJob(jobARN string) error

StopEvaluationJob marks an evaluation job as stopped.

func (*InMemoryBackend) StopIngestionJob

func (b *InMemoryBackend) StopIngestionJob(kbID, dsID, jobID string) (*IngestionJob, error)

StopIngestionJob stops a running ingestion job. AWS only allows stopping jobs in STARTING state; other states return ValidationException.

func (*InMemoryBackend) StopModelCustomizationJob

func (b *InMemoryBackend) StopModelCustomizationJob(idOrARN string) error

StopModelCustomizationJob stops a running customization job.

func (*InMemoryBackend) StopModelInvocationJob

func (b *InMemoryBackend) StopModelInvocationJob(jobARN string) error

StopModelInvocationJob marks an invocation job as stopped.

func (*InMemoryBackend) TagAgentResource

func (b *InMemoryBackend) TagAgentResource(resourceArn string, tags map[string]string) error

TagAgentResource adds tags to an agent-domain resource identified by its ARN.

func (*InMemoryBackend) TagResource

func (b *InMemoryBackend) TagResource(resourceARN string, tags []Tag) error

TagResource adds or updates tags on a resource identified by ARN.

func (*InMemoryBackend) UntagAgentResource

func (b *InMemoryBackend) UntagAgentResource(resourceArn string, tagKeys []string) error

UntagAgentResource removes tags from an agent-domain resource identified by its ARN.

func (*InMemoryBackend) UntagResource

func (b *InMemoryBackend) UntagResource(resourceARN string, tagKeys []string) error

UntagResource removes tags from a resource identified by ARN.

func (*InMemoryBackend) UpdateAgent

func (b *InMemoryBackend) UpdateAgent(
	agentID, foundationModel, instruction, roleArn string,
) (*Agent, error)

UpdateAgent updates a Bedrock Agent.

func (*InMemoryBackend) UpdateAgentActionGroup

func (b *InMemoryBackend) UpdateAgentActionGroup(
	agentID, actionGroupID, description string,
	executor map[string]any,
) (*AgentActionGroup, error)

UpdateAgentActionGroup updates an action group.

func (*InMemoryBackend) UpdateAgentActionGroupWithSchemas

func (b *InMemoryBackend) UpdateAgentActionGroupWithSchemas(
	agentID, actionGroupID, description string,
	executor, apiSchema, functionSchema map[string]any,
) (*AgentActionGroup, error)

UpdateAgentActionGroupWithSchemas updates an action group and any submitted schemas.

func (*InMemoryBackend) UpdateAgentAlias

func (b *InMemoryBackend) UpdateAgentAlias(
	agentID, aliasID, aliasName, agentVersion string,
) (*AgentAlias, error)

UpdateAgentAlias updates an agent alias.

func (*InMemoryBackend) UpdateAgentCollaborator

func (b *InMemoryBackend) UpdateAgentCollaborator(
	agentID, collaboratorID, relayConversation string,
) (*AgentCollaborator, error)

UpdateAgentCollaborator updates an agent collaborator.

func (*InMemoryBackend) UpdateAgentKnowledgeBase

func (b *InMemoryBackend) UpdateAgentKnowledgeBase(
	agentID, kbID, description, state string,
) (*AgentKnowledgeBaseAssociation, error)

UpdateAgentKnowledgeBase updates an existing association.

func (*InMemoryBackend) UpdateAgentWithConfiguration

func (b *InMemoryBackend) UpdateAgentWithConfiguration(agentID string, config AgentConfiguration) (*Agent, error)

UpdateAgentWithConfiguration updates extended AWS agent configuration.

func (*InMemoryBackend) UpdateAutomatedReasoningPolicy

func (b *InMemoryBackend) UpdateAutomatedReasoningPolicy(
	policyARN, name, description string,
	policyDefinition json.RawMessage,
) (*AutomatedReasoningPolicy, error)

UpdateAutomatedReasoningPolicy updates a policy's definition (required -- bedrock@v1.66.4 api_op_UpdateAutomatedReasoningPolicy.go:37-63) and, optionally, its name and description. name only renames when non-empty: unlike description, policy.Name backs the arpByName secondary index, so an unconditional overwrite on every PATCH (including ones that omit name) would orphan that index instead of leaving the name unchanged.

func (*InMemoryBackend) UpdateAutomatedReasoningPolicyAnnotations

func (b *InMemoryBackend) UpdateAutomatedReasoningPolicyAnnotations(
	policyARN, buildWorkflowID string,
	annotations []any,
	lastUpdatedAnnotationSetHash string,
) (map[string]any, error)

UpdateAutomatedReasoningPolicyAnnotations stores the caller's real annotations for a build workflow (bedrock@v1.66.4 api_op_UpdateAutomatedReasoningPolicyAnnotations.go: both annotations and lastUpdatedAnnotationSetHash are required). lastUpdatedAnnotationSetHash is validated as present but not matched against the stored hash -- this backend does not enforce optimistic-concurrency conflicts, the same approach already taken for CreateAutomatedReasoningPolicyVersion's lastUpdatedDefinitionHash. Response fields (annotationSetHash, buildWorkflowId, policyArn, updatedAt) are all required on the real output.

func (*InMemoryBackend) UpdateAutomatedReasoningPolicyTestCase

func (b *InMemoryBackend) UpdateAutomatedReasoningPolicyTestCase(
	policyARN, testCaseID, guardContent, queryContent, expectedResult string,
	confidenceThreshold *float64,
) (*AutomatedReasoningPolicyTestCase, error)

UpdateAutomatedReasoningPolicyTestCase updates a test case's content, query, expected result, and confidence threshold (aws-sdk-go-v2 api_op_UpdateAutomatedReasoningPolicyTestCase.go:34-71).

func (*InMemoryBackend) UpdateCustomModelDeployment

func (b *InMemoryBackend) UpdateCustomModelDeployment(deployARN string) (*CustomModelDeployment, error)

UpdateCustomModelDeployment updates mutable fields of a deployment.

func (*InMemoryBackend) UpdateDataSource

func (b *InMemoryBackend) UpdateDataSource(
	kbID, dsID, name, description string,
) (*DataSource, error)

UpdateDataSource updates a data source.

func (*InMemoryBackend) UpdateDataSourceWithConfiguration

func (b *InMemoryBackend) UpdateDataSourceWithConfiguration(
	kbID, dsID, name, description, deletionPolicy string,
	dsConfig, vectorConfig map[string]any,
) (*DataSource, error)

UpdateDataSourceWithConfiguration updates data source ingestion and connector settings.

func (*InMemoryBackend) UpdateFlow

func (b *InMemoryBackend) UpdateFlow(flowID, name, description string) (*Flow, error)

UpdateFlow updates a Flow.

func (*InMemoryBackend) UpdateFlowAlias

func (b *InMemoryBackend) UpdateFlowAlias(
	flowID, aliasID, name, description string,
) (*FlowAlias, error)

UpdateFlowAlias updates a Flow alias.

func (*InMemoryBackend) UpdateGuardrail

func (b *InMemoryBackend) UpdateGuardrail(
	idOrARN, name, description, blockedInput, blockedOutput string,
	policies ...*GuardrailPolicies,
) (*Guardrail, error)

UpdateGuardrail updates a guardrail's name, description, messaging, and policies. UpdateGuardrail always mutates the DRAFT version; numbered versions created via CreateGuardrailVersion are immutable snapshots and are unaffected (AWS imposes no restriction on editing DRAFT after versions have been published). The optional policies argument replaces all existing policy configs when provided.

func (*InMemoryBackend) UpdateKnowledgeBase

func (b *InMemoryBackend) UpdateKnowledgeBase(
	kbID, name, description, roleArn string,
) (*KnowledgeBase, error)

UpdateKnowledgeBase updates a knowledge base.

func (*InMemoryBackend) UpdateMarketplaceModelEndpoint

func (b *InMemoryBackend) UpdateMarketplaceModelEndpoint(
	idOrARN string,
	endpointConfig *SageMakerEndpointConfig,
) (*MarketplaceModelEndpoint, error)

UpdateMarketplaceModelEndpoint updates a marketplace endpoint's EndpointConfig (real AWS: UpdateMarketplaceModelEndpointInput.EndpointConfig is a required field -- gopherstack previously accepted but silently dropped it, only bumping UpdatedAt).

func (*InMemoryBackend) UpdatePrompt

func (b *InMemoryBackend) UpdatePrompt(promptID, name, description string) (*Prompt, error)

UpdatePrompt updates a Prompt.

func (*InMemoryBackend) UpdateProvisionedModelThroughput

func (b *InMemoryBackend) UpdateProvisionedModelThroughput(
	idOrARN, desiredModelID, newName string,
) (*ProvisionedModelThroughput, error)

UpdateProvisionedModelThroughput updates a provisioned model throughput's desired model association and/or name. AWS does not allow changing modelUnits via Update — the unit count is fixed at creation (UpdateProvisionedModelThroughputInput only has desiredModelId and desiredProvisionedModelName).

func (*InMemoryBackend) ValidateFlowDefinition

func (b *InMemoryBackend) ValidateFlowDefinition() ([]any, error)

ValidateFlowDefinition validates a flow definition (stub — always succeeds).

type InferenceConfiguration added in v1.2.0

type InferenceConfiguration struct {
	MaxTokens     *int32   `json:"maxTokens,omitempty"`
	Temperature   *float32 `json:"temperature,omitempty"`
	TopP          *float32 `json:"topP,omitempty"`
	StopSequences []string `json:"stopSequences,omitempty"`
}

InferenceConfiguration holds inference parameters (maxTokens, temperature, topP, stopSequences) for a model used in an advanced prompt optimization job. Matches types.InferenceConfiguration.

type InferenceProfile

type InferenceProfile struct {
	CreatedAt            time.Time `json:"createdAt"`
	UpdatedAt            time.Time `json:"updatedAt"`
	InferenceProfileArn  string    `json:"inferenceProfileArn"`
	InferenceProfileID   string    `json:"inferenceProfileId"`
	InferenceProfileName string    `json:"inferenceProfileName"`
	Status               string    `json:"status"`
	Type                 string    `json:"type"`
	Description          string    `json:"description,omitempty"`
	ModelSource          string    `json:"modelSource"`
	Tags                 []Tag     `json:"tags,omitempty"`
}

InferenceProfile represents an inference profile resource. ModelSource is the CopyFrom ARN from types.InferenceProfileModelSource (api_op_CreateInferenceProfile.go), the union's only member -- the foundation model or system-defined inference profile this profile tracks. GetInferenceProfileOutput echoes it back as the required Models list (types.InferenceProfileModel), not as ModelSource itself; see inferenceProfileToOutput.

type IngestionJob

type IngestionJob struct {
	StartedAt time.Time `json:"startedAt"`
	UpdatedAt time.Time `json:"updatedAt"`

	IngestionJobID  string `json:"ingestionJobId"`
	KnowledgeBaseID string `json:"knowledgeBaseId"`
	DataSourceID    string `json:"dataSourceId"`
	Status          string `json:"status"`
	Description     string `json:"description,omitempty"`
	// contains filtered or unexported fields
}

IngestionJob represents a data source ingestion job.

type KnowledgeBase

type KnowledgeBase struct {
	CreatedAt                  time.Time         `json:"createdAt"`
	UpdatedAt                  time.Time         `json:"updatedAt"`
	KnowledgeBaseConfiguration map[string]any    `json:"knowledgeBaseConfiguration,omitempty"`
	StorageConfiguration       map[string]any    `json:"storageConfiguration,omitempty"`
	Tags                       map[string]string `json:"tags,omitempty"`
	KnowledgeBaseID            string            `json:"knowledgeBaseId"`
	KnowledgeBaseArn           string            `json:"knowledgeBaseArn"`
	Name                       string            `json:"name"`
	Description                string            `json:"description,omitempty"`
	Status                     string            `json:"status"`
	RoleArn                    string            `json:"roleArn,omitempty"`
}

KnowledgeBase represents an Amazon Bedrock Knowledge Base.

type KnowledgeBaseDocument

type KnowledgeBaseDocument struct {
	KnowledgeBaseID string `json:"knowledgeBaseId"`
	DataSourceID    string `json:"dataSourceId"`
	DocumentID      string `json:"documentId"`
	Status          string `json:"status"`
}

KnowledgeBaseDocument represents a document in a KB data source.

type ListAdvancedPromptOptimizationJobsInput added in v1.2.0

type ListAdvancedPromptOptimizationJobsInput struct {
	SortBy     string // CreationTime (only supported value)
	SortOrder  string // Ascending (default) | Descending
	NextToken  string
	MaxResults int32
}

ListAdvancedPromptOptimizationJobsInput holds filter/sort/pagination params for ListAdvancedPromptOptimizationJobs. Real AWS has no name/status filter for this op (unlike ListEvaluationJobs/ListModelInvocationJobs) -- only sortBy/sortOrder/maxResults/nextToken.

type ListCustomModelsInput added in v1.3.1

type ListCustomModelsInput struct {
	CreationTimeAfter        *time.Time
	CreationTimeBefore       *time.Time
	IsOwned                  *bool
	ModelStatus              string
	NameContains             string
	BaseModelArnEquals       string
	FoundationModelArnEquals string
	SortBy                   string
	SortOrder                string
	NextToken                string
}

ListCustomModelsInput holds filter/pagination params for ListCustomModels.

type ListEvaluationJobsInput added in v1.2.0

type ListEvaluationJobsInput struct {
	StatusEquals          string
	ApplicationTypeEquals string
	NameContains          string
	CreationTimeAfter     *time.Time
	CreationTimeBefore    *time.Time
	SortBy                string // CreationTime (default)
	SortOrder             string // Ascending (default) | Descending
	NextToken             string
}

ListEvaluationJobsInput holds filter/pagination params for ListEvaluationJobs.

type ListModelCustomizationJobsInput added in v1.3.1

type ListModelCustomizationJobsInput struct {
	StatusEquals       string
	NameContains       string
	CreationTimeAfter  *time.Time
	CreationTimeBefore *time.Time
	SortBy             string // CreationTime (default)
	SortOrder          string // Ascending (default) | Descending
	NextToken          string
}

ListModelCustomizationJobsInput holds filter/pagination params for ListModelCustomizationJobs.

type ListModelInvocationJobsInput

type ListModelInvocationJobsInput struct {
	StatusEquals     string
	NameContains     string
	SubmitTimeAfter  *time.Time
	SubmitTimeBefore *time.Time
	SortBy           string // CreationTime (default)
	SortOrder        string // Ascending (default) | Descending
	NextToken        string
}

ListModelInvocationJobsInput holds filter/pagination params for ListModelInvocationJobs.

type MarketplaceModelEndpoint

type MarketplaceModelEndpoint struct {
	CreatedAt      time.Time                `json:"createdAt"`
	UpdatedAt      time.Time                `json:"updatedAt"`
	EndpointConfig *SageMakerEndpointConfig `json:"endpointConfig,omitempty"`
	EndpointArn    string                   `json:"endpointArn"`
	EndpointName   string                   `json:"endpointName"`
	ModelSourceID  string                   `json:"modelSourceIdentifier"`
	Status         string                   `json:"status"`
	Tags           []Tag                    `json:"tags,omitempty"`
}

MarketplaceModelEndpoint represents a marketplace model endpoint.

type ModelConfiguration added in v1.2.0

type ModelConfiguration struct {
	InferenceConfig              *InferenceConfiguration `json:"inferenceConfig,omitempty"`
	AdditionalModelRequestFields map[string]any          `json:"additionalModelRequestFields,omitempty"`
	ModelID                      string                  `json:"modelId"`
}

ModelConfiguration specifies a target model and its inference parameters for an advanced prompt optimization job. Matches types.ModelConfiguration.

type ModelCopyJob

type ModelCopyJob struct {
	CreationTime     time.Time `json:"creationTime"`
	LastModifiedTime time.Time `json:"lastModifiedTime"`
	JobArn           string    `json:"jobArn"`
	SourceModelArn   string    `json:"sourceModelArn"`
	TargetModelArn   string    `json:"targetModelArn"`
	// TargetModelName is the caller's real input (CreateModelCopyJobInput's
	// required targetModelName, bedrock@v1.66.4 serializers.go:1720-1750) --
	// not surfaced by GetModelCopyJobOutput itself, but kept as real backing
	// state rather than discarded now that TargetModelArn is built from it.
	TargetModelName string `json:"targetModelName,omitempty"`
	Status          string `json:"status"`
	FailureMessage  string `json:"failureMessage,omitempty"`
	Tags            []Tag  `json:"tags,omitempty"`
}

ModelCopyJob represents a model copy job.

type ModelCustomizationJob

type ModelCustomizationJob struct {
	CreationTime       time.Time          `json:"creationTime"`
	LastModifiedTime   time.Time          `json:"lastModifiedTime"`
	EndTime            time.Time          `json:"endTime"`
	JobArn             string             `json:"jobArn"`
	JobName            string             `json:"jobName"`
	BaseModelArn       string             `json:"baseModelArn"`
	BaseModelName      string             `json:"baseModelName,omitempty"`
	OutputModelArn     string             `json:"outputModelArn"`
	CustomModelName    string             `json:"customModelName"`
	Status             string             `json:"status"`
	CustomizationType  string             `json:"customizationType,omitempty"`
	RoleArn            string             `json:"roleArn"`
	OutputDataConfig   OutputDataConfig   `json:"outputDataConfig"`
	TrainingDataConfig TrainingDataConfig `json:"trainingDataConfig"`
	Tags               []Tag              `json:"tags,omitempty"`
}

ModelCustomizationJob represents a model customization job. BaseModelName is the display name of the foundation model resolved from BaseModelArn (best effort: only populated when the base model identifier matches a seeded foundation model), carried here so the CustomModel materialized on completion (see AdvanceCustomizationJobStatuses) can populate CustomModelSummary's required baseModelName without a second lookup.

type ModelImportJob

type ModelImportJob struct {
	CreationTime      time.Time  `json:"creationTime"`
	LastModifiedTime  time.Time  `json:"lastModifiedTime"`
	EndTime           *time.Time `json:"endTime,omitempty"`
	JobArn            string     `json:"jobArn"`
	JobName           string     `json:"jobName"`
	ImportedModelArn  string     `json:"importedModelArn"`
	ImportedModelName string     `json:"importedModelName"`
	RoleArn           string     `json:"roleArn"`
	ModelDataSourceS3 string     `json:"modelDataSourceS3,omitempty"`
	Status            string     `json:"status"`
	Tags              []Tag      `json:"tags,omitempty"`
}

ModelImportJob represents a model import job.

type ModelInvocationJob

type ModelInvocationJob struct {
	LastModifiedTime time.Time      `json:"lastModifiedTime"`
	CreationTime     time.Time      `json:"creationTime"`
	InputDataConfig  map[string]any `json:"inputDataConfig,omitempty"`
	EndTime          *time.Time     `json:"endTime,omitempty"`
	OutputDataConfig map[string]any `json:"outputDataConfig,omitempty"`
	JobArn           string         `json:"jobArn"`
	ModelID          string         `json:"modelId,omitempty"`
	Status           string         `json:"status"`
	RoleArn          string         `json:"roleArn,omitempty"`
	JobName          string         `json:"jobName"`
	FailureMessage   string         `json:"failureMessage,omitempty"`
	ClientToken      string         `json:"clientRequestToken,omitempty"`
	Tags             []Tag          `json:"tags,omitempty"`
}

ModelInvocationJob represents a batch model invocation job.

type ModelInvocationLoggingConfiguration

type ModelInvocationLoggingConfiguration struct {
	S3BucketName   string `json:"s3BucketName,omitempty"`
	LoggingEnabled bool   `json:"loggingEnabled"`
}

ModelInvocationLoggingConfiguration represents the logging configuration.

type OutputDataConfig added in v1.3.1

type OutputDataConfig struct {
	S3Uri string `json:"s3Uri"`
}

OutputDataConfig mirrors bedrock@v1.66.4 types.OutputDataConfig (api_op_CreateModelCustomizationJob.go), the S3 location a completed job writes its output to.

type Prompt

type Prompt struct {
	CreatedAt   time.Time         `json:"createdAt"`
	UpdatedAt   time.Time         `json:"updatedAt"`
	Tags        map[string]string `json:"tags,omitempty"`
	PromptID    string            `json:"id"`
	PromptArn   string            `json:"arn"`
	Name        string            `json:"name"`
	Description string            `json:"description,omitempty"`
}

Prompt represents an Amazon Bedrock Prompt (see Flow's doc comment for why id/arn are flat wire keys).

type PromptRouter

type PromptRouter struct {
	CreatedAt                  time.Time `json:"createdAt"`
	UpdatedAt                  time.Time `json:"updatedAt"`
	PromptRouterArn            string    `json:"promptRouterArn"`
	PromptRouterName           string    `json:"promptRouterName"`
	Status                     string    `json:"status"`
	Type                       string    `json:"type"`
	Description                string    `json:"description,omitempty"`
	FallbackModelArn           string    `json:"fallbackModelArn"`
	ModelArns                  []string  `json:"modelArns"`
	Tags                       []Tag     `json:"tags,omitempty"`
	RoutingResponseQualityDiff float64   `json:"routingResponseQualityDiff"`
}

PromptRouter represents a prompt router resource.

type PromptVersion

type PromptVersion struct {
	CreatedAt time.Time `json:"createdAt"`
	PromptID  string    `json:"promptId"`
	Version   string    `json:"version"`
	Name      string    `json:"name,omitempty"`
}

PromptVersion represents a numbered version of a Prompt.

type Provider

type Provider struct{}

Provider implements service.Provider for Amazon Bedrock.

func (*Provider) Init

Init initializes the Bedrock backend and handler.

func (*Provider) Name

func (p *Provider) Name() string

Name returns the provider name.

type ProvisionedModelThroughput

type ProvisionedModelThroughput struct {
	CreationTime         time.Time `json:"creationTime"`
	LastModifiedTime     time.Time `json:"lastModifiedTime"`
	ProvisionedModelArn  string    `json:"provisionedModelArn"`
	ProvisionedModelName string    `json:"provisionedModelName"`
	ModelArn             string    `json:"modelArn"`
	DesiredModelArn      string    `json:"desiredModelArn"`
	FoundationModelArn   string    `json:"foundationModelArn"`
	Status               string    `json:"status"`
	CommitmentDuration   string    `json:"commitmentDuration,omitempty"`
	Tags                 []Tag     `json:"tags,omitempty"`
	ModelUnits           int32     `json:"modelUnits"`
	DesiredModelUnits    int32     `json:"desiredModelUnits"`
}

ProvisionedModelThroughput represents a provisioned model throughput resource.

type ResourcePolicy added in v1.2.0

type ResourcePolicy struct {
	CreatedAt      time.Time
	UpdatedAt      time.Time
	ResourceArn    string
	PolicyDocument string
	RevisionID     string
}

ResourcePolicy represents a resource-based policy attached to a Bedrock resource (core bedrock's PutResourcePolicy/GetResourcePolicy/ DeleteResourcePolicy) or, in the bedrock-agent domain, to a knowledge base (bedrock-agent's PutResourcePolicy/GetResourcePolicy/DeleteResourcePolicy). RevisionID is only meaningful for the bedrock-agent flavor, which supports optimistic-concurrency updates via expectedRevisionId; core bedrock's ResourcePolicy shape has no revision concept and simply ignores this field.

type SageMakerEndpointConfig added in v1.2.0

type SageMakerEndpointConfig struct {
	ExecutionRole        string `json:"executionRole"`
	InstanceType         string `json:"instanceType"`
	KmsEncryptionKey     string `json:"kmsEncryptionKey,omitempty"`
	InitialInstanceCount int32  `json:"initialInstanceCount"`
}

SageMakerEndpointConfig mirrors types.SageMakerEndpoint in aws-sdk-go-v2/service/bedrock (the sole real member of the EndpointConfig union today). Real AWS wire shape: {"sageMaker": {"executionRole":,"initialInstanceCount":,"instanceType":,"kmsEncryptionKey":}}.

type Tag

type Tag struct {
	Key   string `json:"key"`
	Value string `json:"value"`
}

Tag represents a key-value tag on a Bedrock resource.

type TrainingDataConfig added in v1.3.1

type TrainingDataConfig struct {
	S3Uri                    string `json:"s3Uri,omitempty"`
	InvocationLogSourceS3Uri string `json:"invocationLogSourceS3Uri,omitempty"`
	UsePromptResponse        bool   `json:"usePromptResponse,omitempty"`
}

TrainingDataConfig mirrors bedrock@v1.66.4 types.TrainingDataConfig (api_op_CreateModelCustomizationJob.go). InvocationLogSource is flattened to InvocationLogSourceS3Uri, the same way ModelImportJob.ModelDataSourceS3 flattens ModelDataSource above -- it is the union's only member (types.InvocationLogSourceMemberS3Uri). RequestMetadataFilters is not modeled: a recursive filter-expression union (AndAll/OrAll/Equals/NotEquals) that only prunes which invocation logs a Distillation job trains on, and this backend has no invocation-log pipeline for such filters to act on.

Source Files

Jump to

Keyboard shortcuts

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