quicksight

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Aug 3, 2026 License: MIT Imports: 23 Imported by: 0

README

QuickSight

Parity grade: A- · SDK aws-sdk-go-v2/service/quicksight@v1.121.0 · last audited 2026-07-25 (73f133771)

Coverage

Metric Value
Operations audited 65 (65 ok)
Feature families 23 (23 ok)
Known gaps none
Deferred items 0
Resource leaks clean

More

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrNamespaceNotFound is returned when a namespace does not exist.
	ErrNamespaceNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrNamespaceAlreadyExists is returned when a namespace already exists.
	ErrNamespaceAlreadyExists = awserr.New(errConflictException, awserr.ErrAlreadyExists)
	// ErrGroupNotFound is returned when a group does not exist.
	ErrGroupNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrGroupAlreadyExists is returned when a group already exists.
	ErrGroupAlreadyExists = awserr.New(errConflictException, awserr.ErrAlreadyExists)
	// ErrGroupMemberNotFound is returned when a group member does not exist.
	ErrGroupMemberNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrGroupMemberAlreadyExists is returned when a group member already exists.
	ErrGroupMemberAlreadyExists = awserr.New(errConflictException, awserr.ErrAlreadyExists)
	// ErrUserNotFound is returned when a user does not exist.
	ErrUserNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrUserAlreadyExists is returned when a user already exists.
	ErrUserAlreadyExists = awserr.New(errConflictException, awserr.ErrAlreadyExists)
	// ErrDataSourceNotFound is returned when a data source does not exist.
	ErrDataSourceNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrDataSourceAlreadyExists is returned when a data source already exists.
	ErrDataSourceAlreadyExists = awserr.New(errConflictException, awserr.ErrAlreadyExists)
	// ErrDataSetNotFound is returned when a dataset does not exist.
	ErrDataSetNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrDataSetAlreadyExists is returned when a dataset already exists.
	ErrDataSetAlreadyExists = awserr.New(errConflictException, awserr.ErrAlreadyExists)
	// ErrIngestionNotFound is returned when an ingestion does not exist.
	ErrIngestionNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrIngestionAlreadyExists is returned when an ingestion already exists.
	ErrIngestionAlreadyExists = awserr.New(errConflictException, awserr.ErrAlreadyExists)
	// ErrDashboardNotFound is returned when a dashboard does not exist.
	ErrDashboardNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrDashboardAlreadyExists is returned when a dashboard already exists.
	ErrDashboardAlreadyExists = awserr.New(errConflictException, awserr.ErrAlreadyExists)
	// ErrAnalysisNotFound is returned when an analysis does not exist.
	ErrAnalysisNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrAnalysisAlreadyExists is returned when an analysis already exists.
	ErrAnalysisAlreadyExists = awserr.New(errConflictException, awserr.ErrAlreadyExists)
	// ErrFolderNotFound is returned when a folder does not exist.
	ErrFolderNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrFolderAlreadyExists is returned when a folder already exists.
	ErrFolderAlreadyExists = awserr.New(errResourceExists, awserr.ErrAlreadyExists)
	// ErrFolderMemberNotFound is returned when a folder membership does not exist.
	ErrFolderMemberNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrTemplateNotFound is returned when a template (or template version) does not exist.
	ErrTemplateNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrTemplateAlreadyExists is returned when a template already exists.
	ErrTemplateAlreadyExists = awserr.New(errResourceExists, awserr.ErrAlreadyExists)
	// ErrTemplateAliasNotFound is returned when a template alias does not exist.
	ErrTemplateAliasNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrTemplateAliasAlreadyExists is returned when a template alias already exists.
	ErrTemplateAliasAlreadyExists = awserr.New(errResourceExists, awserr.ErrAlreadyExists)
	// ErrThemeNotFound is returned when a theme (or theme version) does not exist.
	ErrThemeNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrThemeAlreadyExists is returned when a theme already exists.
	ErrThemeAlreadyExists = awserr.New(errResourceExists, awserr.ErrAlreadyExists)
	// ErrThemeAliasNotFound is returned when a theme alias does not exist.
	ErrThemeAliasNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrThemeAliasAlreadyExists is returned when a theme alias already exists.
	ErrThemeAliasAlreadyExists = awserr.New(errResourceExists, awserr.ErrAlreadyExists)
	// ErrTopicNotFound is returned when a topic does not exist.
	ErrTopicNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrTopicAlreadyExists is returned when a topic already exists.
	ErrTopicAlreadyExists = awserr.New(errResourceExists, awserr.ErrAlreadyExists)
	// ErrTopicRefreshScheduleNotFound is returned when a topic refresh schedule does not exist.
	ErrTopicRefreshScheduleNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrTopicRefreshScheduleAlreadyExists is returned when a topic refresh schedule already exists.
	ErrTopicRefreshScheduleAlreadyExists = awserr.New(errResourceExists, awserr.ErrAlreadyExists)
	// ErrVPCConnectionNotFound is returned when a VPC connection does not exist.
	ErrVPCConnectionNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrVPCConnectionAlreadyExists is returned when a VPC connection already exists.
	ErrVPCConnectionAlreadyExists = awserr.New(errResourceExists, awserr.ErrAlreadyExists)
	// ErrIAMPolicyAssignmentNotFound is returned when an IAM policy assignment does not exist.
	ErrIAMPolicyAssignmentNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrIAMPolicyAssignmentAlreadyExists is returned when an IAM policy assignment already exists.
	ErrIAMPolicyAssignmentAlreadyExists = awserr.New(errResourceExists, awserr.ErrAlreadyExists)
	// ErrAccountSubscriptionNotFound is returned when an account has no QuickSight subscription.
	ErrAccountSubscriptionNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrAccountSubscriptionAlreadyExists is returned when an account is already subscribed.
	ErrAccountSubscriptionAlreadyExists = awserr.New(errResourceExists, awserr.ErrAlreadyExists)
	// ErrAccountCustomizationNotFound is returned when an account (or namespace) customization
	// does not exist.
	ErrAccountCustomizationNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrAccountCustomizationAlreadyExists is returned when an account (or namespace)
	// customization already exists.
	ErrAccountCustomizationAlreadyExists = awserr.New(errResourceExists, awserr.ErrAlreadyExists)
	// ErrAccountCustomPermissionNotFound is returned when an account has no custom
	// permissions profile applied.
	ErrAccountCustomPermissionNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrDefaultQBusinessApplicationNotFound is returned when no default Q Business
	// application is configured for an account.
	ErrDefaultQBusinessApplicationNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrBrandNotFound is returned when a brand does not exist.
	ErrBrandNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrBrandAlreadyExists is returned when a brand already exists.
	ErrBrandAlreadyExists = awserr.New(errResourceExists, awserr.ErrAlreadyExists)
	// ErrBrandVersionNotFound is returned when a brand version does not exist.
	ErrBrandVersionNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrBrandInUse is returned when a brand cannot be deleted because it is assigned.
	ErrBrandInUse = awserr.New(errConflictException, awserr.ErrAlreadyExists)
	// ErrCustomPermissionsNotFound is returned when a custom permissions profile does
	// not exist.
	ErrCustomPermissionsNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrCustomPermissionsAlreadyExists is returned when a custom permissions profile
	// already exists.
	ErrCustomPermissionsAlreadyExists = awserr.New(errResourceExists, awserr.ErrAlreadyExists)
	// ErrCustomPermissionsInUse is returned when a custom permissions profile cannot
	// be deleted because it is assigned to a role or user.
	ErrCustomPermissionsInUse = awserr.New(errConflictException, awserr.ErrAlreadyExists)
	// ErrRoleCustomPermissionNotFound is returned when a role has no custom
	// permissions assigned.
	ErrRoleCustomPermissionNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrRoleMembershipAlreadyExists is returned when a group is already a member of
	// a role.
	ErrRoleMembershipAlreadyExists = awserr.New(errResourceExists, awserr.ErrAlreadyExists)
	// ErrRoleMembershipNotFound is returned when a group is not a member of a role.
	ErrRoleMembershipNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrUserCustomPermissionNotFound is returned when a user has no custom
	// permissions assigned.
	ErrUserCustomPermissionNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrOAuthClientAppNotFound is returned when an OAuth client application does not
	// exist.
	ErrOAuthClientAppNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrOAuthClientAppAlreadyExists is returned when an OAuth client application
	// already exists.
	ErrOAuthClientAppAlreadyExists = awserr.New(errResourceExists, awserr.ErrAlreadyExists)
	// ErrIdentityPropagationConfigNotFound is returned when an identity propagation
	// configuration does not exist for the given service.
	ErrIdentityPropagationConfigNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrAssetBundleExportJobNotFound is returned when an asset bundle export job does
	// not exist.
	ErrAssetBundleExportJobNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrAssetBundleImportJobNotFound is returned when an asset bundle import job does
	// not exist.
	ErrAssetBundleImportJobNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrDashboardSnapshotJobNotFound is returned when a dashboard snapshot job does
	// not exist.
	ErrDashboardSnapshotJobNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrRefreshScheduleNotFound is returned when a dataset refresh schedule does not
	// exist.
	ErrRefreshScheduleNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrRefreshScheduleAlreadyExists is returned when a dataset refresh schedule
	// already exists.
	ErrRefreshScheduleAlreadyExists = awserr.New(errResourceExists, awserr.ErrAlreadyExists)
	// ErrDataSetRefreshPropertiesNotFound is returned when a dataset has no refresh
	// properties configured.
	ErrDataSetRefreshPropertiesNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrValidation is returned on invalid input.
	ErrValidation = awserr.New(errValidation, awserr.ErrInvalidParameter)
	// ErrUnknownOperation is returned when the requested operation is not implemented.
	ErrUnknownOperation = errors.New("unknown operation")
	// ErrActionConnectorNotFound is returned when an action connector does not exist.
	ErrActionConnectorNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrActionConnectorAlreadyExists is returned when an action connector already exists.
	ErrActionConnectorAlreadyExists = awserr.New(errResourceExists, awserr.ErrAlreadyExists)
	// ErrAutomationJobNotFound is returned when an automation job does not exist.
	ErrAutomationJobNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrFlowNotFound is returned when a flow does not exist.
	ErrFlowNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrDashboardVersionNotFound is returned when a dashboard version does not exist.
	ErrDashboardVersionNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrSelfUpgradeRequestNotFound is returned when a self-upgrade request does not exist.
	ErrSelfUpgradeRequestNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrTaggableResourceNotFound is returned by TagResource/UntagResource/
	// ListTagsForResource when the given ARN doesn't identify a resource
	// this backend actually holds.
	ErrTaggableResourceNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrIngestionNotCancellable is returned by CancelIngestion when the
	// target ingestion is already in a terminal state (COMPLETED, FAILED, or
	// CANCELLED) and so can no longer be cancelled.
	ErrIngestionNotCancellable = awserr.New(errConflictException, awserr.ErrConflict)
	// ErrAgentNotFound is returned when an agent does not exist.
	ErrAgentNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrAgentAlreadyExists is returned when an agent already exists.
	ErrAgentAlreadyExists = awserr.New(errResourceExists, awserr.ErrAlreadyExists)
	// ErrKnowledgeBaseNotFound is returned when a knowledge base does not exist.
	ErrKnowledgeBaseNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrKnowledgeBaseAlreadyExists is returned when a knowledge base already exists.
	ErrKnowledgeBaseAlreadyExists = awserr.New(errResourceExists, awserr.ErrAlreadyExists)
	// ErrSpaceNotFound is returned when a space does not exist.
	ErrSpaceNotFound = awserr.New(errResourceNotFound, awserr.ErrNotFound)
	// ErrSpaceAlreadyExists is returned when a space already exists.
	ErrSpaceAlreadyExists = awserr.New(errResourceExists, awserr.ErrAlreadyExists)
)
View Source
var ErrNilAppContext = errors.New("quicksight: nil app context")

ErrNilAppContext is returned when Init is called with a nil AppContext.

Functions

This section is empty.

Types

type AccountCustomization

type AccountCustomization struct {
	Namespace                         string
	DefaultTheme                      string
	DefaultEmailCustomizationTemplate string
}

AccountCustomization represents a QuickSight account's (or namespace's) branding customization.

type AccountSettings

type AccountSettings struct {
	AccountName                  string
	Edition                      string
	DefaultNamespace             string
	NotificationEmail            string
	PublicSharingEnabled         bool
	TerminationProtectionEnabled bool
}

AccountSettings represents a QuickSight account's account-wide settings.

type AccountSubscription

type AccountSubscription struct {
	AccountName               string
	Edition                   string
	NotificationEmail         string
	AuthenticationType        string
	AccountSubscriptionStatus string
}

AccountSubscription represents a QuickSight account subscription.

type ActionConnector

type ActionConnector struct {
	CreatedTime          time.Time
	LastUpdatedTime      time.Time
	AuthenticationConfig map[string]any
	ActionConnectorID    string
	Arn                  string
	Name                 string
	Type                 string
	Description          string
	VPCConnectionArn     string
	Status               string
	Permissions          []ResourcePermission
}

ActionConnector represents a QuickSight action connector: a configured integration (Salesforce, Jira, generic HTTP, etc.) that QuickSight agents and automations can invoke to perform actions against an external service.

type Agent added in v1.2.0

type Agent struct {
	CustomPrompt     *CustomPromptProfile
	CreatedAt        time.Time
	UpdatedAt        time.Time
	AgentID          string
	Arn              string
	Name             string
	Description      string
	IconID           string
	WelcomeMessage   string
	Creator          string
	AgentLifecycle   string
	AgentStatus      string
	ErrorMessage     string
	ActionConnectors []string
	Spaces           []string
	StarterPrompts   []string
	Permissions      []ResourcePermission
}

Agent represents a QuickSight agent: an AI-powered conversational assistant scoped to a set of action connectors and spaces.

type AgentAssociationUpdate added in v1.2.0

type AgentAssociationUpdate struct {
	FailedToAddActionConnectors    []AssociationFailure
	FailedToAddSpaces              []AssociationFailure
	FailedToRemoveActionConnectors []AssociationFailure
	FailedToRemoveSpaces           []AssociationFailure
}

AgentAssociationUpdate holds the per-ARN failures from one UpdateAgent call's attach/detach of action connectors and spaces.

type Analysis

type Analysis struct {
	CreatedTime     time.Time
	LastUpdatedTime time.Time
	AnalysisID      string
	Arn             string
	Name            string
	Status          string
	Definition      map[string]any
	Permissions     []ResourcePermission
}

Analysis represents a QuickSight analysis. CreatedTime first: non-pointer prefix reduces GC pointer bytes.

type AssetBundleExportJob

type AssetBundleExportJob struct {
	CreatedTime            time.Time
	JobID                  string
	Arn                    string
	Status                 string
	ExportFormat           string
	DownloadURL            string
	ResourceArns           []string
	IncludeAllDependencies bool
}

AssetBundleExportJob represents an asynchronous asset-bundle export job.

type AssetBundleImportJob

type AssetBundleImportJob struct {
	CreatedTime   time.Time
	JobID         string
	Arn           string
	Status        string
	FailureAction string
}

AssetBundleImportJob represents an asynchronous asset-bundle import job.

type AssociationFailure added in v1.2.0

type AssociationFailure struct {
	Arn          string
	ResourceType string
	ErrorCode    string
	ErrorMessage string
}

AssociationFailure represents one ARN that could not be attached to or detached from a resource, mirroring the real API's FailedToUpdateAssociation (UpdateAgent) / FailedSpaceResourceOperation (UpdateSpaceResources) shapes. ResourceType is empty for Agent associations (the real shape carries none) and set for Space resource operations.

type AutomationJob

type AutomationJob struct {
	CreatedAt         time.Time
	StartedAt         time.Time
	EndedAt           time.Time
	AutomationGroupID string
	AutomationID      string
	JobID             string
	Arn               string
	Status            string
	InputPayload      string
	OutputPayload     string
}

AutomationJob represents one run of a QuickSight automation (a console-authored workflow scoped to an automation group/automation).

type Brand

type Brand struct {
	CreatedTime        time.Time
	LastUpdatedTime    time.Time
	Definition         map[string]any
	BrandID            string
	Arn                string
	Status             string
	CurrentVersionID   string
	CurrentVersionStat string
	PublishedVersionID string
}

Brand represents a QuickSight brand, a versioned set of visual identity customizations (logo, theme, name) applied to the console/embedded experiences.

type CustomPermissions

type CustomPermissions struct {
	Capabilities map[string]any
	Name         string
	Arn          string
}

CustomPermissions represents a named, reusable set of QuickSight capability overrides that can be attached to roles or users.

type CustomPromptProfile added in v1.2.0

type CustomPromptProfile struct {
	ModelProfileID  string
	QbsAwsAccountID string
	SubscriptionID  string
}

CustomPromptProfile mirrors the real SDK's types.CustomPromptProfile: a caller-supplied reference to an already-provisioned Amazon Q Business custom-prompt profile (CreateAgentInput/UpdateAgentInput's CustomPromptInput.ExistingPrompt union member). All three IDs come from the caller, not from this backend, so storing and echoing them back on Describe/Create/Update is a genuine round-trip, not a fabrication -- unlike CustomPromptInput.NewPrompt, which asks AWS to mint a brand-new profile (and fresh IDs) server-side via a live Amazon Q Business subscription this backend has no state for; see agents.go's customPromptFromBody for how the two variants are told apart.

type Dashboard

type Dashboard struct {
	CreatedTime            time.Time
	LastUpdatedTime        time.Time
	Definition             map[string]any
	DashboardID            string
	Arn                    string
	Name                   string
	Status                 string
	Permissions            []ResourcePermission
	LinkEntities           []string
	VersionNumber          int64
	PublishedVersionNumber int64
}

Dashboard represents a QuickSight dashboard. CreatedTime first: non-pointer prefix reduces GC pointer bytes.

type DashboardSnapshotJob

type DashboardSnapshotJob struct {
	CreatedTime     time.Time
	LastUpdatedTime time.Time
	SnapshotConfig  map[string]any
	JobID           string
	Arn             string
	DashboardID     string
	Status          string
	S3URI           string
}

DashboardSnapshotJob represents an asynchronous dashboard snapshot ("export to PDF/CSV/Excel") job.

type DashboardVersion

type DashboardVersion struct {
	CreatedTime   time.Time
	Arn           string
	Status        string
	VersionNumber int64
}

DashboardVersion represents a version of a QuickSight dashboard.

type DataSet

type DataSet struct {
	CreatedTime     time.Time
	LastUpdatedTime time.Time
	DataSetID       string
	Arn             string
	Name            string
	ImportMode      string
	Permissions     []ResourcePermission
}

DataSet represents a QuickSight dataset. CreatedTime first: non-pointer prefix reduces GC pointer bytes.

type DataSetRefreshProperties

type DataSetRefreshProperties struct {
	RefreshConfiguration map[string]any
	FailureConfiguration map[string]any
}

DataSetRefreshProperties represents a QuickSight dataset's SPICE refresh configuration (incremental refresh window, failure notifications, etc.).

type DataSource

type DataSource struct {
	CreatedTime     time.Time
	LastUpdatedTime time.Time
	DataSourceID    string
	Arn             string
	Name            string
	Type            string
	Status          string
	Permissions     []ResourcePermission
}

DataSource represents a QuickSight data source. CreatedTime first: non-pointer prefix reduces GC pointer bytes.

type DefaultQBusinessApplication

type DefaultQBusinessApplication struct {
	ApplicationID string
	Namespace     string
}

DefaultQBusinessApplication represents the default Amazon Q Business application linked to a QuickSight account.

type Flow

type Flow struct {
	CreatedTime     time.Time
	LastUpdatedTime time.Time
	LastPublishedAt time.Time
	FlowDefinition  map[string]any
	Description     string
	Arn             string
	Name            string
	FlowID          string
	CreatedBy       string
	LastPublishedBy string
	LastUpdatedBy   string
	PublishState    string
	Permissions     []ResourcePermission
	StepAliases     []FlowStepAlias
	RunCount        int32
	UserCount       int32
}

Flow represents a QuickSight flow. FlowDefinition and StepAliases are only populated for DescribeFlow (the real API's FlowDetail shape); the summary operations (ListFlows/SearchFlows/GetFlowMetadata) leave them nil, mirroring how real AWS's FlowSummary carries no definition.

type FlowStepAlias added in v1.2.0

type FlowStepAlias struct {
	StepID    string
	StepAlias string
}

FlowStepAlias represents one step-alias mapping in a flow's definition.

type Folder

type Folder struct {
	CreatedTime     time.Time
	LastUpdatedTime time.Time
	FolderID        string
	Arn             string
	Name            string
	FolderType      string
	ParentFolderArn string
	SharingModel    string
	Permissions     []ResourcePermission
}

Folder represents a QuickSight folder. CreatedTime first: non-pointer prefix reduces GC pointer bytes.

type FolderMember

type FolderMember struct {
	MemberID   string
	MemberType string
}

FolderMember represents a QuickSight folder membership (a dashboard, analysis, dataset, or other asset that belongs to a folder).

type FolderSearchFilter

type FolderSearchFilter struct {
	Operator string
	Name     string
	Value    string
}

FolderSearchFilter represents a single SearchFolders filter criterion.

type Group

type Group struct {
	GroupName   string
	Arn         string
	Description string
	Namespace   string
	PrincipalID string
}

Group represents a QuickSight group.

type GroupMember

type GroupMember struct {
	MemberName string
	Arn        string
}

GroupMember represents a QuickSight group member.

type Handler

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

Handler is the Echo HTTP handler for QuickSight operations.

func NewHandler

func NewHandler(b StorageBackend) *Handler

NewHandler creates a new QuickSight handler.

func (*Handler) ChaosOperations

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

ChaosOperations returns operations eligible for fault injection.

func (*Handler) ChaosRegions

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

ChaosRegions returns all regions this handler serves.

func (*Handler) ChaosServiceName

func (h *Handler) ChaosServiceName() string

ChaosServiceName returns the lowercase AWS service name.

func (*Handler) ExtractOperation

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

ExtractOperation extracts the QuickSight operation name from the request.

func (*Handler) ExtractResource

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

ExtractResource extracts the primary resource ID from the request.

func (*Handler) GetSupportedOperations

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

GetSupportedOperations returns the list of implemented QuickSight operations.

func (*Handler) Handler

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

Handler returns the Echo handler function.

func (*Handler) MatchPriority

func (h *Handler) MatchPriority() int

MatchPriority returns routing priority (above SecurityHub which also uses /accounts/).

func (*Handler) Name

func (h *Handler) Name() string

Name returns the service name.

func (*Handler) Register

func (h *Handler) Register(_ context.Context, _ *echo.Echo) error

Register registers routes on the Echo server.

func (*Handler) Reset

func (h *Handler) Reset()

Reset clears the backend.

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 QuickSight requests. QuickSight shares /accounts/ prefix with SecurityHub; we disambiguate via the Authorization header signing service name ("quicksight").

func (*Handler) Snapshot

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

Snapshot implements persistence.Persistable by delegating to the backend.

type IAMPolicyAssignment

type IAMPolicyAssignment struct {
	Identities       map[string][]string
	AssignmentID     string
	AssignmentName   string
	AssignmentStatus string
	PolicyArn        string
	Namespace        string
}

IAMPolicyAssignment represents a QuickSight IAM policy assignment, scoped by namespace.

type IPRestriction

type IPRestriction struct {
	RuleMap              map[string]string
	VPCIDRuleMap         map[string]string
	VPCEndpointIDRuleMap map[string]string
	Enabled              bool
}

IPRestriction represents a QuickSight account's IP/VPC access restriction rules.

type IdentityPropagationConfig

type IdentityPropagationConfig struct {
	Service           string
	AuthorizedTargets []string
}

IdentityPropagationConfig represents the authorized targets for one downstream Amazon Web Services service that QuickSight can propagate an end user's identity to.

type InMemoryBackend

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

InMemoryBackend is the in-memory implementation of StorageBackend.

func NewInMemoryBackend

func NewInMemoryBackend(accountID, region string) *InMemoryBackend

NewInMemoryBackend creates a new InMemoryBackend.

func (*InMemoryBackend) AccountID

func (b *InMemoryBackend) AccountID() string

AccountID returns the configured account ID.

func (*InMemoryBackend) BatchCreateTopicReviewedAnswer

func (b *InMemoryBackend) BatchCreateTopicReviewedAnswer(
	accountID, topicID string,
	answers []map[string]any,
) ([]*TopicReviewedAnswer, []TopicAnswerError, error)

func (*InMemoryBackend) BatchDeleteKnowledgeBase added in v1.2.0

func (b *InMemoryBackend) BatchDeleteKnowledgeBase(
	accountID string,
	knowledgeBaseIDs []string,
) ([]KnowledgeBaseDeleteResult, []KnowledgeBaseDeleteError)

BatchDeleteKnowledgeBase deletes each ID independently, mirroring the real op's per-item Deleted/Errors partition -- an ID this backend doesn't hold is a real per-item failure, not a whole-request error.

func (*InMemoryBackend) BatchDeleteTopicReviewedAnswer

func (b *InMemoryBackend) BatchDeleteTopicReviewedAnswer(
	accountID, topicID string,
	answerIDs []string,
) ([]string, []TopicAnswerError, error)

func (*InMemoryBackend) CancelIngestion

func (b *InMemoryBackend) CancelIngestion(accountID, dataSetID, ingestionID string) error

CancelIngestion cancels an ongoing ingestion. Real AWS only supports cancelling an ingestion that is still queued or running; an ingestion already in a terminal state (COMPLETED, FAILED, or CANCELLED) can't be cancelled again. Before this fix, this backend unconditionally overwrote IngestionStatus to CANCELLED regardless of the current status, so cancelling an already-COMPLETED ingestion would silently corrupt its terminal status.

func (*InMemoryBackend) CreateAccountCustomization

func (b *InMemoryBackend) CreateAccountCustomization(
	accountID, namespace, defaultTheme, defaultEmailCustomizationTemplate string,
) (*AccountCustomization, error)

CreateAccountCustomization creates the branding customization for accountID (scoped to namespace, or account-wide when namespace is "").

func (*InMemoryBackend) CreateAccountSubscription

func (b *InMemoryBackend) CreateAccountSubscription(
	accountID, accountName, edition, authenticationMethod, notificationEmail string,
) (*AccountSubscription, error)

CreateAccountSubscription subscribes accountID to QuickSight.

func (*InMemoryBackend) CreateActionConnector

func (b *InMemoryBackend) CreateActionConnector(
	accountID, actionConnectorID, name, connectorType, description, vpcConnectionArn string,
	authenticationConfig map[string]any,
	permissions []ResourcePermission,
	tags map[string]string,
) (*ActionConnector, error)

func (*InMemoryBackend) CreateAgent added in v1.2.0

func (b *InMemoryBackend) CreateAgent(
	accountID, agentID, name, description, iconID, welcomeMessage, agentLifecycle string,
	actionConnectors, spaces, starterPrompts []string,
	permissions []ResourcePermission,
	tags map[string]string,
	customPrompt *CustomPromptProfile,
) (*Agent, error)

CreateAgent creates a new agent. Real AWS stamps Creator from the caller's identity; this backend has no authenticated-caller concept, so Creator is left empty rather than fabricated.

CustomPromptInput (CustomPromptInterface on the response) is a tagged union with two members: ExistingPrompt (types.CustomPromptProfile -- a caller-supplied ModelProfileId/QbsAwsAccountId/SubscriptionId referencing an already-provisioned Amazon Q Business profile) and NewPrompt (asks AWS to mint a brand-new profile server-side). ExistingPrompt's three IDs come from the caller, not this backend, so customPrompt is stored and echoed back verbatim -- a genuine round-trip. NewPrompt's IDs would have to be minted by a live Amazon Q Business subscription this backend has no state for; synthesizing them would be fabrication, so callers using NewPrompt get customPrompt == nil here (see handler_agents.go's customPromptFromBody, which is where the two variants are told apart) -- an intentional, documented, per-variant omission (see PARITY.md).

func (*InMemoryBackend) CreateAnalysis

func (b *InMemoryBackend) CreateAnalysis(
	accountID, analysisID, name string,
	definition map[string]any,
	permissions []ResourcePermission,
	tags map[string]string,
) (*Analysis, error)

func (*InMemoryBackend) CreateBrand

func (b *InMemoryBackend) CreateBrand(accountID, brandID string, definition map[string]any) (*Brand, error)

func (*InMemoryBackend) CreateCustomPermissions

func (b *InMemoryBackend) CreateCustomPermissions(
	accountID, name string,
	capabilities map[string]any,
	tags map[string]string,
) (*CustomPermissions, error)

func (*InMemoryBackend) CreateDashboard

func (b *InMemoryBackend) CreateDashboard(
	accountID, dashboardID, name string,
	definition map[string]any,
	permissions []ResourcePermission,
	tags map[string]string,
) (*Dashboard, error)

func (*InMemoryBackend) CreateDataSet

func (b *InMemoryBackend) CreateDataSet(
	accountID, dataSetID, name, importMode string,
	permissions []ResourcePermission,
	tags map[string]string,
) (*DataSet, *Ingestion, error)

CreateDataSet creates a dataset. When importMode is SPICE, AWS triggers an ingestion as a side effect of dataset creation and returns its ARN/ID in the CreateDataSet response; this backend mirrors that by creating a real Ingestion record (so a subsequent DescribeIngestion/ListIngestions call finds it) instead of fabricating an ARN/ID that names a resource that was never persisted. For DIRECT_QUERY datasets, no ingestion is triggered and the returned *Ingestion is nil.

func (*InMemoryBackend) CreateDataSource

func (b *InMemoryBackend) CreateDataSource(
	accountID, dataSourceID, name, dsType string,
	permissions []ResourcePermission,
	tags map[string]string,
) (*DataSource, error)

func (*InMemoryBackend) CreateFlow added in v1.2.0

func (b *InMemoryBackend) CreateFlow(
	_, name, description string,
	flowDefinition map[string]any,
	permissions []ResourcePermission,
) (*Flow, error)

CreateFlow creates a new flow. Real AWS creates both a DRAFT and a PUBLISHED (auto-published) version; this backend has no versioning concept, so it stores a single definition and reports PublishState PUBLISHED, matching the real op's documented auto-publish behavior.

func (*InMemoryBackend) CreateFolder

func (b *InMemoryBackend) CreateFolder(
	accountID, folderID, name, folderType, parentFolderArn, sharingModel string,
	permissions []ResourcePermission,
	tags map[string]string,
) (*Folder, error)

func (*InMemoryBackend) CreateFolderMembership

func (b *InMemoryBackend) CreateFolderMembership(
	accountID, folderID, memberID, memberType string,
) (*FolderMember, error)

func (*InMemoryBackend) CreateGroup

func (b *InMemoryBackend) CreateGroup(accountID, namespace, groupName, description string) (*Group, error)

func (*InMemoryBackend) CreateGroupMembership

func (b *InMemoryBackend) CreateGroupMembership(
	accountID, namespace, groupName, memberName string,
) (*GroupMember, error)

func (*InMemoryBackend) CreateIAMPolicyAssignment

func (b *InMemoryBackend) CreateIAMPolicyAssignment(
	accountID, namespace, assignmentName, assignmentStatus, policyArn string,
	identities map[string][]string,
) (*IAMPolicyAssignment, error)

func (*InMemoryBackend) CreateIngestion

func (b *InMemoryBackend) CreateIngestion(accountID, dataSetID, ingestionID string) (*Ingestion, error)

func (*InMemoryBackend) CreateKnowledgeBase added in v1.2.0

func (b *InMemoryBackend) CreateKnowledgeBase(
	accountID, knowledgeBaseID, name, description, dataSourceArn, primaryOwnerArn string,
	configuration, accessControlConfiguration, mediaExtractionConfiguration map[string]any,
	permissions []ResourcePermission,
	tags map[string]string,
) (*KnowledgeBase, error)

func (*InMemoryBackend) CreateNamespace

func (b *InMemoryBackend) CreateNamespace(accountID, namespace, capacityRegion string) (*Namespace, error)

func (*InMemoryBackend) CreateOAuthClientApplication

func (b *InMemoryBackend) CreateOAuthClientApplication(
	accountID, clientID, name string,
	fields map[string]any,
) (*OAuthClientApplication, error)

func (*InMemoryBackend) CreateRefreshSchedule

func (b *InMemoryBackend) CreateRefreshSchedule(
	accountID, datasetID, scheduleID, refreshType, startAfterDateTime string,
	scheduleFrequency map[string]any,
) (*RefreshSchedule, error)

func (*InMemoryBackend) CreateRoleMembership

func (b *InMemoryBackend) CreateRoleMembership(accountID, namespace, role, memberName string) error

func (*InMemoryBackend) CreateSpace added in v1.2.0

func (b *InMemoryBackend) CreateSpace(accountID, spaceID, name, description string) (*Space, error)

func (*InMemoryBackend) CreateTemplate

func (b *InMemoryBackend) CreateTemplate(
	accountID, templateID, name, sourceEntityArn string,
	definition map[string]any,
	permissions []ResourcePermission,
	tags map[string]string,
) (*Template, error)

func (*InMemoryBackend) CreateTemplateAlias

func (b *InMemoryBackend) CreateTemplateAlias(
	accountID, templateID, aliasName string,
	versionNumber int64,
) (*TemplateAlias, error)

func (*InMemoryBackend) CreateTheme

func (b *InMemoryBackend) CreateTheme(
	accountID, themeID, name, baseThemeID string,
	configuration map[string]any,
	permissions []ResourcePermission,
	tags map[string]string,
) (*Theme, error)

func (*InMemoryBackend) CreateThemeAlias

func (b *InMemoryBackend) CreateThemeAlias(
	accountID, themeID, aliasName string,
	versionNumber int64,
) (*ThemeAlias, error)

func (*InMemoryBackend) CreateTopic

func (b *InMemoryBackend) CreateTopic(
	accountID, topicID, name, description, userExperienceVersion string,
	dataSets []map[string]any,
	permissions []ResourcePermission,
	tags map[string]string,
) (*Topic, error)

func (*InMemoryBackend) CreateTopicRefreshSchedule

func (b *InMemoryBackend) CreateTopicRefreshSchedule(
	accountID, topicID, datasetID, datasetArn, refreshType string,
	isEnabled bool,
	scheduleConfig map[string]any,
) (*TopicRefreshSchedule, error)

func (*InMemoryBackend) CreateVPCConnection

func (b *InMemoryBackend) CreateVPCConnection(
	accountID, vpcConnectionID, name, vpcID string,
	subnetIDs, securityGroupIDs, dnsResolvers []string,
	roleArn string,
	tags map[string]string,
) (*VPCConnection, error)

func (*InMemoryBackend) DeleteAccountCustomPermission

func (b *InMemoryBackend) DeleteAccountCustomPermission(accountID string) error

DeleteAccountCustomPermission removes accountID's applied custom permissions profile.

func (*InMemoryBackend) DeleteAccountCustomization

func (b *InMemoryBackend) DeleteAccountCustomization(accountID, namespace string) error

DeleteAccountCustomization removes accountID's (namespace-scoped) branding customization.

func (*InMemoryBackend) DeleteAccountSubscription

func (b *InMemoryBackend) DeleteAccountSubscription(accountID string) error

DeleteAccountSubscription unsubscribes accountID from QuickSight.

func (*InMemoryBackend) DeleteActionConnector

func (b *InMemoryBackend) DeleteActionConnector(accountID, actionConnectorID string) (*ActionConnector, error)

func (*InMemoryBackend) DeleteAgent added in v1.2.0

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

func (*InMemoryBackend) DeleteAnalysis

func (b *InMemoryBackend) DeleteAnalysis(accountID, analysisID string, forceDeleteWithoutRecovery bool) error

func (*InMemoryBackend) DeleteBrand

func (b *InMemoryBackend) DeleteBrand(accountID, brandID string) error

func (*InMemoryBackend) DeleteBrandAssignment

func (b *InMemoryBackend) DeleteBrandAssignment(accountID string) error

func (*InMemoryBackend) DeleteCustomPermissions

func (b *InMemoryBackend) DeleteCustomPermissions(accountID, name string) error

func (*InMemoryBackend) DeleteDashboard

func (b *InMemoryBackend) DeleteDashboard(accountID, dashboardID string) error

func (*InMemoryBackend) DeleteDataSet

func (b *InMemoryBackend) DeleteDataSet(accountID, dataSetID string) error

func (*InMemoryBackend) DeleteDataSetRefreshProperties

func (b *InMemoryBackend) DeleteDataSetRefreshProperties(accountID, datasetID string) error

func (*InMemoryBackend) DeleteDataSource

func (b *InMemoryBackend) DeleteDataSource(accountID, dataSourceID string) error

func (*InMemoryBackend) DeleteDefaultQBusinessApplication

func (b *InMemoryBackend) DeleteDefaultQBusinessApplication(accountID, _ string) error

DeleteDefaultQBusinessApplication removes accountID's default Q Business application.

func (*InMemoryBackend) DeleteFlow added in v1.2.0

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

func (*InMemoryBackend) DeleteFolder

func (b *InMemoryBackend) DeleteFolder(accountID, folderID string) error

func (*InMemoryBackend) DeleteFolderMembership

func (b *InMemoryBackend) DeleteFolderMembership(accountID, folderID, memberID, memberType string) error

func (*InMemoryBackend) DeleteGroup

func (b *InMemoryBackend) DeleteGroup(accountID, namespace, groupName string) error

func (*InMemoryBackend) DeleteGroupMembership

func (b *InMemoryBackend) DeleteGroupMembership(accountID, namespace, groupName, memberName string) error

func (*InMemoryBackend) DeleteIAMPolicyAssignment

func (b *InMemoryBackend) DeleteIAMPolicyAssignment(accountID, namespace, assignmentName string) error

func (*InMemoryBackend) DeleteIdentityPropagationConfig

func (b *InMemoryBackend) DeleteIdentityPropagationConfig(accountID, service string) error

func (*InMemoryBackend) DeleteKnowledgeBase added in v1.2.0

func (b *InMemoryBackend) DeleteKnowledgeBase(accountID, knowledgeBaseID string) (*KnowledgeBase, error)

func (*InMemoryBackend) DeleteNamespace

func (b *InMemoryBackend) DeleteNamespace(accountID, namespace string) error

func (*InMemoryBackend) DeleteOAuthClientApplication

func (b *InMemoryBackend) DeleteOAuthClientApplication(accountID, clientID string) (*OAuthClientApplication, error)

func (*InMemoryBackend) DeleteRefreshSchedule

func (b *InMemoryBackend) DeleteRefreshSchedule(accountID, datasetID, scheduleID string) error

func (*InMemoryBackend) DeleteRoleCustomPermission

func (b *InMemoryBackend) DeleteRoleCustomPermission(accountID, namespace, role string) error

func (*InMemoryBackend) DeleteRoleMembership

func (b *InMemoryBackend) DeleteRoleMembership(accountID, namespace, role, memberName string) error

func (*InMemoryBackend) DeleteSpace added in v1.2.0

func (b *InMemoryBackend) DeleteSpace(accountID, spaceID string) (*Space, error)

func (*InMemoryBackend) DeleteTemplate

func (b *InMemoryBackend) DeleteTemplate(accountID, templateID string, versionNumber int64) error

func (*InMemoryBackend) DeleteTemplateAlias

func (b *InMemoryBackend) DeleteTemplateAlias(accountID, templateID, aliasName string) error

func (*InMemoryBackend) DeleteTheme

func (b *InMemoryBackend) DeleteTheme(accountID, themeID string, versionNumber int64) error

func (*InMemoryBackend) DeleteThemeAlias

func (b *InMemoryBackend) DeleteThemeAlias(accountID, themeID, aliasName string) error

func (*InMemoryBackend) DeleteTopic

func (b *InMemoryBackend) DeleteTopic(accountID, topicID string) error

func (*InMemoryBackend) DeleteTopicRefreshSchedule

func (b *InMemoryBackend) DeleteTopicRefreshSchedule(accountID, topicID, datasetID string) error

func (*InMemoryBackend) DeleteUser

func (b *InMemoryBackend) DeleteUser(accountID, namespace, userName string) error

func (*InMemoryBackend) DeleteUserByPrincipalID

func (b *InMemoryBackend) DeleteUserByPrincipalID(accountID, namespace, principalID string) error

func (*InMemoryBackend) DeleteUserCustomPermission

func (b *InMemoryBackend) DeleteUserCustomPermission(accountID, namespace, userName string) error

func (*InMemoryBackend) DeleteVPCConnection

func (b *InMemoryBackend) DeleteVPCConnection(accountID, vpcConnectionID string) error

func (*InMemoryBackend) DescribeAccountCustomPermission

func (b *InMemoryBackend) DescribeAccountCustomPermission(accountID string) (string, error)

DescribeAccountCustomPermission returns the name of the custom permissions profile applied to accountID, if any.

func (*InMemoryBackend) DescribeAccountCustomization

func (b *InMemoryBackend) DescribeAccountCustomization(accountID, namespace string) (*AccountCustomization, error)

DescribeAccountCustomization returns accountID's (namespace-scoped) branding customization.

func (*InMemoryBackend) DescribeAccountSettings

func (b *InMemoryBackend) DescribeAccountSettings(accountID string) (*AccountSettings, error)

DescribeAccountSettings returns the account's settings, defaulting to the AWS out-of-the-box values (STANDARD edition, "default" namespace, no notification email, sharing/termination-protection disabled) when the account has never called UpdateAccountSettings.

func (*InMemoryBackend) DescribeAccountSubscription

func (b *InMemoryBackend) DescribeAccountSubscription(accountID string) (*AccountSubscription, error)

DescribeAccountSubscription returns accountID's subscription info.

func (*InMemoryBackend) DescribeActionConnector

func (b *InMemoryBackend) DescribeActionConnector(accountID, actionConnectorID string) (*ActionConnector, error)

func (*InMemoryBackend) DescribeActionConnectorPermissions

func (b *InMemoryBackend) DescribeActionConnectorPermissions(
	accountID, actionConnectorID string,
) (*ActionConnector, []ResourcePermission, error)

func (*InMemoryBackend) DescribeAgent added in v1.2.0

func (b *InMemoryBackend) DescribeAgent(accountID, agentID string) (*Agent, error)

func (*InMemoryBackend) DescribeAgentPermissions added in v1.2.0

func (b *InMemoryBackend) DescribeAgentPermissions(accountID, agentID string) (*Agent, []ResourcePermission, error)

func (*InMemoryBackend) DescribeAnalysis

func (b *InMemoryBackend) DescribeAnalysis(accountID, analysisID string) (*Analysis, error)

func (*InMemoryBackend) DescribeAnalysisPermissions

func (b *InMemoryBackend) DescribeAnalysisPermissions(
	accountID, analysisID string,
) (*Analysis, []ResourcePermission, error)

func (*InMemoryBackend) DescribeAssetBundleExportJob

func (b *InMemoryBackend) DescribeAssetBundleExportJob(accountID, jobID string) (*AssetBundleExportJob, error)

func (*InMemoryBackend) DescribeAssetBundleImportJob

func (b *InMemoryBackend) DescribeAssetBundleImportJob(accountID, jobID string) (*AssetBundleImportJob, error)

func (*InMemoryBackend) DescribeAutomationJob

func (b *InMemoryBackend) DescribeAutomationJob(
	accountID, automationGroupID, automationID, jobID string,
) (*AutomationJob, error)

DescribeAutomationJob returns the current state of jobID, settling it to SUCCEEDED if it was still RUNNING.

func (*InMemoryBackend) DescribeBrand

func (b *InMemoryBackend) DescribeBrand(accountID, brandID, versionID string) (*Brand, error)

func (*InMemoryBackend) DescribeBrandAssignment

func (b *InMemoryBackend) DescribeBrandAssignment(accountID string) (string, error)

func (*InMemoryBackend) DescribeBrandPublishedVersion

func (b *InMemoryBackend) DescribeBrandPublishedVersion(accountID, brandID string) (*Brand, error)

func (*InMemoryBackend) DescribeCustomPermissions

func (b *InMemoryBackend) DescribeCustomPermissions(accountID, name string) (*CustomPermissions, error)

func (*InMemoryBackend) DescribeDashboard

func (b *InMemoryBackend) DescribeDashboard(accountID, dashboardID string) (*Dashboard, error)

func (*InMemoryBackend) DescribeDashboardPermissions

func (b *InMemoryBackend) DescribeDashboardPermissions(
	accountID, dashboardID string,
) (*Dashboard, []ResourcePermission, error)

func (*InMemoryBackend) DescribeDashboardSnapshotJob

func (b *InMemoryBackend) DescribeDashboardSnapshotJob(
	accountID, dashboardID, jobID string,
) (*DashboardSnapshotJob, error)

func (*InMemoryBackend) DescribeDashboardSnapshotJobResult

func (b *InMemoryBackend) DescribeDashboardSnapshotJobResult(
	accountID, dashboardID, jobID string,
) (*DashboardSnapshotJob, error)

func (*InMemoryBackend) DescribeDashboardsQAConfiguration

func (b *InMemoryBackend) DescribeDashboardsQAConfiguration(accountID string) (string, error)

DescribeDashboardsQAConfiguration returns accountID's Dashboards Q&A status, defaulting to DISABLED when never configured.

func (*InMemoryBackend) DescribeDataSet

func (b *InMemoryBackend) DescribeDataSet(accountID, dataSetID string) (*DataSet, error)

func (*InMemoryBackend) DescribeDataSetPermissions

func (b *InMemoryBackend) DescribeDataSetPermissions(
	accountID, dataSetID string,
) (*DataSet, []ResourcePermission, error)

func (*InMemoryBackend) DescribeDataSetRefreshProperties

func (b *InMemoryBackend) DescribeDataSetRefreshProperties(
	accountID, datasetID string,
) (*DataSetRefreshProperties, error)

func (*InMemoryBackend) DescribeDataSource

func (b *InMemoryBackend) DescribeDataSource(accountID, dataSourceID string) (*DataSource, error)

func (*InMemoryBackend) DescribeDataSourcePermissions

func (b *InMemoryBackend) DescribeDataSourcePermissions(
	accountID, dataSourceID string,
) (*DataSource, []ResourcePermission, error)

func (*InMemoryBackend) DescribeDefaultQBusinessApplication

func (b *InMemoryBackend) DescribeDefaultQBusinessApplication(
	accountID, _ string,
) (*DefaultQBusinessApplication, error)

DescribeDefaultQBusinessApplication returns accountID's default Q Business application, defaulting to an empty (unconfigured) application when never set.

func (*InMemoryBackend) DescribeFlow added in v1.2.0

func (b *InMemoryBackend) DescribeFlow(accountID, flowID string) (*Flow, error)

DescribeFlow returns the FlowDetail-shaped view of a flow. Real AWS scopes the response to a requested PublishState (DRAFT/PUBLISHED/ PENDING_APPROVAL); this backend stores a single definition (no draft/ published divergence), so publishState is accepted by the handler for wire fidelity but doesn't change which data is returned.

func (*InMemoryBackend) DescribeFolder

func (b *InMemoryBackend) DescribeFolder(accountID, folderID string) (*Folder, error)

func (*InMemoryBackend) DescribeFolderPermissions

func (b *InMemoryBackend) DescribeFolderPermissions(accountID, folderID string) ([]ResourcePermission, error)

func (*InMemoryBackend) DescribeFolderResolvedPermissions

func (b *InMemoryBackend) DescribeFolderResolvedPermissions(
	accountID, folderID string,
) ([]ResourcePermission, error)

func (*InMemoryBackend) DescribeGroup

func (b *InMemoryBackend) DescribeGroup(accountID, namespace, groupName string) (*Group, error)

func (*InMemoryBackend) DescribeGroupMembership

func (b *InMemoryBackend) DescribeGroupMembership(
	accountID, namespace, groupName, memberName string,
) (*GroupMember, error)

func (*InMemoryBackend) DescribeIAMPolicyAssignment

func (b *InMemoryBackend) DescribeIAMPolicyAssignment(
	accountID, namespace, assignmentName string,
) (*IAMPolicyAssignment, error)

func (*InMemoryBackend) DescribeIPRestriction

func (b *InMemoryBackend) DescribeIPRestriction(accountID string) (*IPRestriction, error)

DescribeIPRestriction returns accountID's IP restriction rules, defaulting to an empty, disabled rule set when never configured.

func (*InMemoryBackend) DescribeIngestion

func (b *InMemoryBackend) DescribeIngestion(accountID, dataSetID, ingestionID string) (*Ingestion, error)

func (*InMemoryBackend) DescribeKeyRegistration

func (b *InMemoryBackend) DescribeKeyRegistration(accountID string) ([]RegisteredCustomerManagedKey, error)

DescribeKeyRegistration returns accountID's registered customer-managed keys.

func (*InMemoryBackend) DescribeKnowledgeBase added in v1.2.0

func (b *InMemoryBackend) DescribeKnowledgeBase(accountID, knowledgeBaseID string) (*KnowledgeBase, error)

func (*InMemoryBackend) DescribeKnowledgeBasePermissions added in v1.2.0

func (b *InMemoryBackend) DescribeKnowledgeBasePermissions(
	accountID, knowledgeBaseID string,
) (*KnowledgeBase, []ResourcePermission, error)

func (*InMemoryBackend) DescribeNamespace

func (b *InMemoryBackend) DescribeNamespace(accountID, namespace string) (*Namespace, error)

func (*InMemoryBackend) DescribeOAuthClientApplication

func (b *InMemoryBackend) DescribeOAuthClientApplication(accountID, clientID string) (*OAuthClientApplication, error)

func (*InMemoryBackend) DescribeQPersonalizationConfiguration

func (b *InMemoryBackend) DescribeQPersonalizationConfiguration(accountID string) (string, error)

DescribeQPersonalizationConfiguration returns accountID's Q personalization mode, defaulting to DISABLED when never configured.

func (*InMemoryBackend) DescribeQuickSightQSearchConfiguration

func (b *InMemoryBackend) DescribeQuickSightQSearchConfiguration(accountID string) (string, error)

DescribeQuickSightQSearchConfiguration returns accountID's Q Search status, defaulting to DISABLED when never configured.

func (*InMemoryBackend) DescribeRefreshSchedule

func (b *InMemoryBackend) DescribeRefreshSchedule(accountID, datasetID, scheduleID string) (*RefreshSchedule, error)

func (*InMemoryBackend) DescribeRoleCustomPermission

func (b *InMemoryBackend) DescribeRoleCustomPermission(accountID, namespace, role string) (string, error)

func (*InMemoryBackend) DescribeSelfUpgradeConfiguration

func (b *InMemoryBackend) DescribeSelfUpgradeConfiguration(accountID, namespace string) (string, error)

DescribeSelfUpgradeConfiguration returns namespace's self-upgrade status, defaulting to ADMIN_APPROVAL (the more conservative option) when never configured, mirroring DescribeQuickSightQSearchConfiguration's default-when-unset convention.

func (*InMemoryBackend) DescribeSpace added in v1.2.0

func (b *InMemoryBackend) DescribeSpace(accountID, spaceID string) (*Space, error)

func (*InMemoryBackend) DescribeSpacePermissions added in v1.2.0

func (b *InMemoryBackend) DescribeSpacePermissions(accountID, spaceID string) (*Space, []ResourcePermission, error)

func (*InMemoryBackend) DescribeTemplate

func (b *InMemoryBackend) DescribeTemplate(accountID, templateID string, versionNumber int64) (*Template, error)

func (*InMemoryBackend) DescribeTemplateAlias

func (b *InMemoryBackend) DescribeTemplateAlias(accountID, templateID, aliasName string) (*TemplateAlias, error)

func (*InMemoryBackend) DescribeTemplatePermissions

func (b *InMemoryBackend) DescribeTemplatePermissions(
	accountID, templateID string,
) (*Template, []ResourcePermission, error)

func (*InMemoryBackend) DescribeTheme

func (b *InMemoryBackend) DescribeTheme(accountID, themeID string, versionNumber int64) (*Theme, error)

func (*InMemoryBackend) DescribeThemeAlias

func (b *InMemoryBackend) DescribeThemeAlias(accountID, themeID, aliasName string) (*ThemeAlias, error)

func (*InMemoryBackend) DescribeThemePermissions

func (b *InMemoryBackend) DescribeThemePermissions(accountID, themeID string) (*Theme, []ResourcePermission, error)

func (*InMemoryBackend) DescribeTopic

func (b *InMemoryBackend) DescribeTopic(accountID, topicID string) (*Topic, error)

func (*InMemoryBackend) DescribeTopicPermissions

func (b *InMemoryBackend) DescribeTopicPermissions(accountID, topicID string) (*Topic, []ResourcePermission, error)

func (*InMemoryBackend) DescribeTopicRefresh

func (b *InMemoryBackend) DescribeTopicRefresh(accountID, topicID, refreshID string) (*TopicRefreshDetails, error)

DescribeTopicRefresh reports the status of a topic refresh execution. Because this batch of operations does not include a "start topic refresh" API, refresh records are synthesized lazily on first describe (mirroring the fact that QuickSight refreshes run automatically in the background): the first describe for a given RefreshId creates a COMPLETED record, and subsequent describes for the same RefreshId return that same stored record.

func (*InMemoryBackend) DescribeTopicRefreshSchedule

func (b *InMemoryBackend) DescribeTopicRefreshSchedule(
	accountID, topicID, datasetID string,
) (*TopicRefreshSchedule, error)

func (*InMemoryBackend) DescribeUser

func (b *InMemoryBackend) DescribeUser(accountID, namespace, userName string) (*User, error)

func (*InMemoryBackend) DescribeVPCConnection

func (b *InMemoryBackend) DescribeVPCConnection(accountID, vpcConnectionID string) (*VPCConnection, error)

func (*InMemoryBackend) GenerateEmbedURLForAnonymousUser

func (b *InMemoryBackend) GenerateEmbedURLForAnonymousUser(
	accountID, namespace string,
	authorizedResourceArns []string,
	experienceConfiguration map[string]any,
) (string, string, error)

func (*InMemoryBackend) GenerateEmbedURLForRegisteredUser

func (b *InMemoryBackend) GenerateEmbedURLForRegisteredUser(
	accountID, userArn string,
	experienceConfiguration map[string]any,
) (string, error)

func (*InMemoryBackend) GenerateEmbedURLForRegisteredUserWithIdentity

func (b *InMemoryBackend) GenerateEmbedURLForRegisteredUserWithIdentity(
	_ string,
	experienceConfiguration map[string]any,
) (string, error)

GenerateEmbedURLForRegisteredUserWithIdentity generates an embed URL for identity-enhanced (IAM Identity Center) sessions, which authenticate via the caller's signing credentials rather than an explicit UserArn/accountID lookup.

func (*InMemoryBackend) GenerateIdentityContext

func (b *InMemoryBackend) GenerateIdentityContext(
	accountID, namespace, userIdentifierKind, userIdentifierValue, contextRegion string,
) (string, error)

GenerateIdentityContext mints an opaque identity-context token for the given user identity, for use as the ContextAssertion parameter of an STS AssumeRole call. Like the embed-URL family, GetIdentityContext is stateless: nothing is persisted, a fresh token is minted on every call, mirroring generateEmbedURL's signed-looking, single-use token pattern.

func (*InMemoryBackend) GetDashboardEmbedURL

func (b *InMemoryBackend) GetDashboardEmbedURL(accountID, dashboardID, identityType string) (string, error)

func (*InMemoryBackend) GetFlowMetadata

func (b *InMemoryBackend) GetFlowMetadata(accountID, flowID string) (*Flow, error)

func (*InMemoryBackend) GetFlowPermissions

func (b *InMemoryBackend) GetFlowPermissions(accountID, flowID string) (*Flow, []ResourcePermission, error)

func (*InMemoryBackend) GetSessionEmbedURL

func (b *InMemoryBackend) GetSessionEmbedURL(_, entryPoint string) (string, error)

GetSessionEmbedURL generates a console-session embed URL. Unlike the other embed ops, it isn't scoped to any single stored resource, so accountID is only used (via b.accountID) to build the URL itself.

func (*InMemoryBackend) ListActionConnectors

func (b *InMemoryBackend) ListActionConnectors(
	_ string,
	maxResults int32,
	nextToken string,
) ([]*ActionConnector, string, error)

func (*InMemoryBackend) ListAgents added in v1.2.0

func (b *InMemoryBackend) ListAgents(_ string, maxResults int32, nextToken string) ([]*Agent, string, error)

func (*InMemoryBackend) ListAnalyses

func (b *InMemoryBackend) ListAnalyses(
	_ string,
	maxResults int32,
	nextToken string,
) ([]*Analysis, string, error)

func (*InMemoryBackend) ListAssetBundleExportJobs

func (b *InMemoryBackend) ListAssetBundleExportJobs(
	_ string,
	maxResults int32,
	nextToken string,
) ([]*AssetBundleExportJob, string, error)

func (*InMemoryBackend) ListAssetBundleImportJobs

func (b *InMemoryBackend) ListAssetBundleImportJobs(
	_ string,
	maxResults int32,
	nextToken string,
) ([]*AssetBundleImportJob, string, error)

func (*InMemoryBackend) ListBrands

func (b *InMemoryBackend) ListBrands(
	_ string,
	maxResults int32,
	nextToken string,
) ([]*Brand, string, error)

func (*InMemoryBackend) ListCustomPermissions

func (b *InMemoryBackend) ListCustomPermissions(
	_ string,
	maxResults int32,
	nextToken string,
) ([]*CustomPermissions, string, error)

func (*InMemoryBackend) ListDashboardVersions

func (b *InMemoryBackend) ListDashboardVersions(
	accountID, dashboardID string,
	maxResults int32,
	nextToken string,
) ([]*DashboardVersion, string, error)

func (*InMemoryBackend) ListDashboards

func (b *InMemoryBackend) ListDashboards(
	_ string,
	maxResults int32,
	nextToken string,
) ([]*Dashboard, string, error)

func (*InMemoryBackend) ListDataSets

func (b *InMemoryBackend) ListDataSets(
	_ string,
	maxResults int32,
	nextToken string,
) ([]*DataSet, string, error)

func (*InMemoryBackend) ListDataSources

func (b *InMemoryBackend) ListDataSources(
	_ string,
	maxResults int32,
	nextToken string,
) ([]*DataSource, string, error)

func (*InMemoryBackend) ListFlows

func (b *InMemoryBackend) ListFlows(
	_ string,
	maxResults int32,
	nextToken string,
) ([]*Flow, string, error)

func (*InMemoryBackend) ListFolderMembers

func (b *InMemoryBackend) ListFolderMembers(
	accountID, folderID string,
	maxResults int32,
	nextToken string,
) ([]*FolderMember, string, error)

func (*InMemoryBackend) ListFolders

func (b *InMemoryBackend) ListFolders(
	accountID string,
	maxResults int32,
	nextToken string,
) ([]*Folder, string, error)

func (*InMemoryBackend) ListFoldersForResource

func (b *InMemoryBackend) ListFoldersForResource(
	accountID, resourceArn string,
	maxResults int32,
	nextToken string,
) ([]string, string, error)

ListFoldersForResource lists the ARNs of all folders that resourceArn is a member of.

func (*InMemoryBackend) ListGroupMemberships

func (b *InMemoryBackend) ListGroupMemberships(
	accountID, namespace, groupName string,
	maxResults int32,
	nextToken string,
) ([]*GroupMember, string, error)

func (*InMemoryBackend) ListGroups

func (b *InMemoryBackend) ListGroups(
	_, namespace string,
	maxResults int32,
	nextToken string,
) ([]*Group, string, error)

func (*InMemoryBackend) ListIAMPolicyAssignments

func (b *InMemoryBackend) ListIAMPolicyAssignments(
	accountID, namespace, statusFilter string,
	maxResults int32,
	nextToken string,
) ([]*IAMPolicyAssignment, string, error)

func (*InMemoryBackend) ListIAMPolicyAssignmentsForUser

func (b *InMemoryBackend) ListIAMPolicyAssignmentsForUser(
	accountID, namespace, userName string,
	maxResults int32,
	nextToken string,
) ([]*IAMPolicyAssignment, string, error)

ListIAMPolicyAssignmentsForUser returns the ENABLED assignments in namespace whose Identities reference userName (directly, by user name).

func (*InMemoryBackend) ListIdentityPropagationConfigs

func (b *InMemoryBackend) ListIdentityPropagationConfigs(_ string) ([]*IdentityPropagationConfig, error)

func (*InMemoryBackend) ListIngestions

func (b *InMemoryBackend) ListIngestions(
	_, dataSetID string,
	maxResults int32,
	nextToken string,
) ([]*Ingestion, string, error)

func (*InMemoryBackend) ListKnowledgeBases added in v1.2.0

func (b *InMemoryBackend) ListKnowledgeBases(
	_ string,
	maxResults int32,
	nextToken string,
) ([]*KnowledgeBase, string, error)

func (*InMemoryBackend) ListNamespaces

func (b *InMemoryBackend) ListNamespaces(
	_ string,
	maxResults int32,
	nextToken string,
) ([]*Namespace, string, error)

func (*InMemoryBackend) ListOAuthClientApplications

func (b *InMemoryBackend) ListOAuthClientApplications(
	_ string,
	maxResults int32,
	nextToken string,
) ([]*OAuthClientApplication, string, error)

func (*InMemoryBackend) ListRefreshSchedules

func (b *InMemoryBackend) ListRefreshSchedules(accountID, datasetID string) ([]*RefreshSchedule, error)

func (*InMemoryBackend) ListRoleMemberships

func (b *InMemoryBackend) ListRoleMemberships(
	accountID, namespace, role string,
	maxResults int32,
	nextToken string,
) ([]string, string, error)

func (*InMemoryBackend) ListSelfUpgrades

func (b *InMemoryBackend) ListSelfUpgrades(
	accountID, namespace string,
	maxResults int32,
	nextToken string,
) ([]*SelfUpgradeRequestDetail, string, error)

func (*InMemoryBackend) ListSpaceResources added in v1.2.0

func (b *InMemoryBackend) ListSpaceResources(accountID, spaceID string) ([]SpaceResource, error)

func (*InMemoryBackend) ListSpaces added in v1.2.0

func (b *InMemoryBackend) ListSpaces(_ string, maxResults int32, nextToken string) ([]*Space, string, error)

func (*InMemoryBackend) ListTagsForResource

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

ListTagsForResource lists the tags on resourceARN. See TagResource for the existence-check rationale.

func (*InMemoryBackend) ListTemplateAliases

func (b *InMemoryBackend) ListTemplateAliases(
	accountID, templateID string,
	maxResults int32,
	nextToken string,
) ([]*TemplateAlias, string, error)

func (*InMemoryBackend) ListTemplateVersions

func (b *InMemoryBackend) ListTemplateVersions(
	accountID, templateID string,
	maxResults int32,
	nextToken string,
) ([]*TemplateVersion, string, error)

func (*InMemoryBackend) ListTemplates

func (b *InMemoryBackend) ListTemplates(
	accountID string,
	maxResults int32,
	nextToken string,
) ([]*Template, string, error)

func (*InMemoryBackend) ListThemeAliases

func (b *InMemoryBackend) ListThemeAliases(
	accountID, themeID string,
	maxResults int32,
	nextToken string,
) ([]*ThemeAlias, string, error)

func (*InMemoryBackend) ListThemeVersions

func (b *InMemoryBackend) ListThemeVersions(
	accountID, themeID string,
	maxResults int32,
	nextToken string,
) ([]*ThemeVersion, string, error)

func (*InMemoryBackend) ListThemes

func (b *InMemoryBackend) ListThemes(
	accountID string,
	maxResults int32,
	nextToken string,
) ([]*Theme, string, error)

func (*InMemoryBackend) ListTopicRefreshSchedules

func (b *InMemoryBackend) ListTopicRefreshSchedules(accountID, topicID string) ([]*TopicRefreshSchedule, error)

func (*InMemoryBackend) ListTopicReviewedAnswers

func (b *InMemoryBackend) ListTopicReviewedAnswers(accountID, topicID string) ([]*TopicReviewedAnswer, error)

func (*InMemoryBackend) ListTopics

func (b *InMemoryBackend) ListTopics(
	accountID string,
	maxResults int32,
	nextToken string,
) ([]*Topic, string, error)

func (*InMemoryBackend) ListUserGroups

func (b *InMemoryBackend) ListUserGroups(
	accountID, namespace, userName string,
	maxResults int32,
	nextToken string,
) ([]*Group, string, error)

func (*InMemoryBackend) ListUsers

func (b *InMemoryBackend) ListUsers(
	_, namespace string,
	maxResults int32,
	nextToken string,
) ([]*User, string, error)

func (*InMemoryBackend) ListUsersIndexCapacity added in v1.2.0

func (b *InMemoryBackend) ListUsersIndexCapacity(
	_, namespace string,
	maxResults int32,
	nextToken string,
) ([]UserIndexCapacity, string, error)

ListUsersIndexCapacity computes each user's real, derived index-capacity consumption from this backend's actual KnowledgeBase/Space state: a knowledge base counts against its PrimaryOwnerArn, a space against its CreatedByArn. This backend has no synthetic "index size" pipeline, so KBCount/SpaceCount and their byte totals are exactly what CreateSpace/ CreateKnowledgeBase and UpdateSpaceResources have produced -- never a fabricated placeholder. Filters/SortBy/SortOrder beyond namespace scoping are accepted (for wire compatibility) but not applied, matching this backend's existing precedent of no-op unrecognized search-filter attributes (see matchesNameFilter).

func (*InMemoryBackend) ListVPCConnections

func (b *InMemoryBackend) ListVPCConnections(
	_ string,
	maxResults int32,
	nextToken string,
) ([]*VPCConnection, string, error)

func (*InMemoryBackend) PredictQAResults

func (b *InMemoryBackend) PredictQAResults(accountID, queryText string) (*QAResult, error)

PredictQAResults answers a natural-language query against the account's registered Topics. This emulator cannot run real Q&A/NLP inference, but it grounds its answer in real backend state: if any Topic's Name appears in the query text, it returns a GENERATED_ANSWER result referencing that real Topic (its actual TopicId/Name), rather than fabricating a plausible-looking answer out of nothing. Otherwise it returns the explicit NO_ANSWER result type, which is itself a valid QAResultType per the AWS API (not an error).

func (*InMemoryBackend) PutDataSetRefreshProperties

func (b *InMemoryBackend) PutDataSetRefreshProperties(
	accountID, datasetID string,
	refreshConfiguration, failureConfiguration map[string]any,
) (*DataSetRefreshProperties, error)

func (*InMemoryBackend) Region

func (b *InMemoryBackend) Region() string

Region returns the configured region.

func (*InMemoryBackend) RegisterUser

func (b *InMemoryBackend) RegisterUser(
	accountID, namespace, userName, email, role, identityType, sessionName string,
) (*User, error)

func (*InMemoryBackend) Reset

func (b *InMemoryBackend) Reset()

Reset clears all stored state.

func (*InMemoryBackend) Restore

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

Restore deserializes backend state from JSON. It implements persistence.Persistable.

func (*InMemoryBackend) RestoreAnalysis

func (b *InMemoryBackend) RestoreAnalysis(accountID, analysisID string) (*Analysis, error)

func (*InMemoryBackend) SearchActionConnectors

func (b *InMemoryBackend) SearchActionConnectors(
	_ string,
	filters []SearchFilter,
	maxResults int32,
	nextToken string,
) ([]*ActionConnector, string, error)

func (*InMemoryBackend) SearchAgents added in v1.2.0

func (b *InMemoryBackend) SearchAgents(
	_ string,
	filters []SearchFilter,
	maxResults int32,
	nextToken string,
) ([]*Agent, string, error)

func (*InMemoryBackend) SearchAnalyses

func (b *InMemoryBackend) SearchAnalyses(
	_ string,
	filters []SearchFilter,
	maxResults int32,
	nextToken string,
) ([]*Analysis, string, error)

SearchAnalyses searches analyses by name (filter Name == filterAnalysisName); any other filter Name is an ownership-related filter that this in-memory backend doesn't track and is treated as a pass-through match.

func (*InMemoryBackend) SearchDashboards

func (b *InMemoryBackend) SearchDashboards(
	_ string,
	filters []SearchFilter,
	maxResults int32,
	nextToken string,
) ([]*Dashboard, string, error)

SearchDashboards searches dashboards by name (filter Name == filterDashboardName); any other filter Name is an ownership-related filter that this in-memory backend doesn't track and is treated as a pass-through match.

func (*InMemoryBackend) SearchDataSets

func (b *InMemoryBackend) SearchDataSets(
	_ string,
	filters []SearchFilter,
	maxResults int32,
	nextToken string,
) ([]*DataSet, string, error)

SearchDataSets searches data sets by name (filter Name == filterDataSetName); any other filter Name is an ownership-related filter that this in-memory backend doesn't track and is treated as a pass-through match.

func (*InMemoryBackend) SearchDataSources

func (b *InMemoryBackend) SearchDataSources(
	_ string,
	filters []SearchFilter,
	maxResults int32,
	nextToken string,
) ([]*DataSource, string, error)

SearchDataSources searches data sources by name (filter Name == filterDataSourceName); any other filter Name is an ownership-related filter that this in-memory backend doesn't track and is treated as a pass-through match, mirroring folderMatchesFilter's permissive default.

func (*InMemoryBackend) SearchFlows

func (b *InMemoryBackend) SearchFlows(
	_ string,
	filters []SearchFilter,
	maxResults int32,
	nextToken string,
) ([]*Flow, string, error)

func (*InMemoryBackend) SearchFolders

func (b *InMemoryBackend) SearchFolders(
	accountID string,
	filters []FolderSearchFilter,
	maxResults int32,
	nextToken string,
) ([]*Folder, string, error)

func (*InMemoryBackend) SearchGroups

func (b *InMemoryBackend) SearchGroups(
	_, namespace, query string,
	maxResults int32,
	nextToken string,
) ([]*Group, string, error)

func (*InMemoryBackend) SearchKnowledgeBases added in v1.2.0

func (b *InMemoryBackend) SearchKnowledgeBases(
	_ string,
	filters []SearchFilter,
	maxResults int32,
	nextToken string,
) ([]*KnowledgeBase, string, error)

func (*InMemoryBackend) SearchSpaces added in v1.2.0

func (b *InMemoryBackend) SearchSpaces(
	_ string,
	filters []SearchFilter,
	maxResults int32,
	nextToken string,
) ([]*Space, string, error)

func (*InMemoryBackend) SearchTopics

func (b *InMemoryBackend) SearchTopics(
	_ string,
	filters []SearchFilter,
	maxResults int32,
	nextToken string,
) ([]*Topic, string, error)

SearchTopics searches topics by name (filter Name == filterTopicName); any other filter Name (QUICKSIGHT_USER, QUICKSIGHT_VIEWER_OR_OWNER, etc.) is an ownership-related filter that this in-memory backend doesn't track principals for and is treated as a pass-through match, mirroring SearchDashboards/SearchAnalyses.

func (*InMemoryBackend) Snapshot

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

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

func (*InMemoryBackend) StartAssetBundleExportJob

func (b *InMemoryBackend) StartAssetBundleExportJob(
	_, jobID, exportFormat string,
	resourceArns []string,
	includeAllDependencies bool,
) (*AssetBundleExportJob, error)

func (*InMemoryBackend) StartAssetBundleImportJob

func (b *InMemoryBackend) StartAssetBundleImportJob(
	_, jobID, failureAction string,
) (*AssetBundleImportJob, error)

func (*InMemoryBackend) StartAutomationJob

func (b *InMemoryBackend) StartAutomationJob(
	_, automationGroupID, automationID, inputPayload string,
) (*AutomationJob, error)

StartAutomationJob starts a new run of automationID (scoped to automationGroupID) and returns the freshly assigned job. QuickSight has no API to create automation groups/automations themselves (they're authored via the console), so any non-empty IDs are accepted.

func (*InMemoryBackend) StartDashboardSnapshotJob

func (b *InMemoryBackend) StartDashboardSnapshotJob(
	accountID, dashboardID, jobID string,
	snapshotConfiguration map[string]any,
) (*DashboardSnapshotJob, error)

func (*InMemoryBackend) StartDashboardSnapshotJobSchedule

func (b *InMemoryBackend) StartDashboardSnapshotJobSchedule(accountID, dashboardID, scheduleID string) error

StartDashboardSnapshotJobSchedule starts an immediate, on-demand execution of a dashboard's existing snapshot job schedule. Real StartDashboardSnapshotJobScheduleOutput carries no data fields beyond the RequestId/Status envelope; the caller polls DescribeDashboardSnapshotJob separately for results. This emulator does not model schedule definitions themselves (there is no corresponding Create/Describe API for them in the SDK), so it validates what real state it can: that the target dashboard exists and a non-empty ScheduleId was supplied.

func (*InMemoryBackend) TagResource

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

TagResource attaches tags to resourceARN. Real AWS returns ResourceNotFoundException when the ARN doesn't identify an existing taggable resource, so this backend checks arnExists before writing -- callers can't tag a resource into existing just by tagging it.

func (*InMemoryBackend) UntagResource

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

UntagResource removes tags from resourceARN. See TagResource for the existence-check rationale.

func (*InMemoryBackend) UpdateAccountCustomPermission

func (b *InMemoryBackend) UpdateAccountCustomPermission(accountID, customPermissionsName string) error

UpdateAccountCustomPermission applies (creating or replacing) a custom permissions profile to accountID.

func (*InMemoryBackend) UpdateAccountCustomization

func (b *InMemoryBackend) UpdateAccountCustomization(
	accountID, namespace, defaultTheme, defaultEmailCustomizationTemplate string,
) (*AccountCustomization, error)

UpdateAccountCustomization mutates an existing branding customization.

func (*InMemoryBackend) UpdateAccountSettings

func (b *InMemoryBackend) UpdateAccountSettings(
	accountID, defaultNS, notificationEmail string,
	terminationProtectionEnabled *bool,
) (*AccountSettings, error)

UpdateAccountSettings mutates (creating if necessary) the account's settings.

func (*InMemoryBackend) UpdateActionConnector

func (b *InMemoryBackend) UpdateActionConnector(
	accountID, actionConnectorID, name, description, vpcConnectionArn string,
	authenticationConfig map[string]any,
) (*ActionConnector, error)

func (*InMemoryBackend) UpdateActionConnectorPermissions

func (b *InMemoryBackend) UpdateActionConnectorPermissions(
	accountID, actionConnectorID string,
	grant, revoke []ResourcePermission,
) (*ActionConnector, []ResourcePermission, error)

func (*InMemoryBackend) UpdateAgent added in v1.2.0

func (b *InMemoryBackend) UpdateAgent(
	accountID, agentID, name, description, iconID, welcomeMessage string,
	actionConnectorsToAdd, actionConnectorsToRemove, spacesToAdd, spacesToRemove, starterPrompts []string,
	customPrompt *CustomPromptProfile,
) (*Agent, *AgentAssociationUpdate, error)

UpdateAgent updates an agent's mutable fields and attaches/detaches action connectors and spaces. Per-ARN attach/detach failures are real, derived checks (an ARN that doesn't identify a resource this backend holds fails with RESOURCE_NOT_FOUND) rather than fabricated always-succeeds behavior. UpdateAgent's customPrompt follows the same ExistingPrompt-only round-trip as CreateAgent (see its doc comment): a non-nil customPrompt (i.e. the caller supplied CustomPromptInput.ExistingPrompt) replaces the agent's stored profile reference; nil (CustomPromptInput omitted, or NewPrompt -- this backend cannot mint NewPrompt's IDs) leaves whatever was previously stored untouched, matching this file's existing "empty/nil means no change" convention for every other optional Update* field.

func (*InMemoryBackend) UpdateAgentPermissions added in v1.2.0

func (b *InMemoryBackend) UpdateAgentPermissions(
	accountID, agentID string,
	grant, revoke []ResourcePermission,
) (*Agent, []ResourcePermission, error)

func (*InMemoryBackend) UpdateAnalysis

func (b *InMemoryBackend) UpdateAnalysis(
	accountID, analysisID, name string,
	definition map[string]any,
) (*Analysis, error)

func (*InMemoryBackend) UpdateAnalysisPermissions

func (b *InMemoryBackend) UpdateAnalysisPermissions(
	accountID, analysisID string,
	grant, revoke []ResourcePermission,
) (*Analysis, []ResourcePermission, error)

func (*InMemoryBackend) UpdateBrand

func (b *InMemoryBackend) UpdateBrand(accountID, brandID string, definition map[string]any) (*Brand, error)

func (*InMemoryBackend) UpdateBrandAssignment

func (b *InMemoryBackend) UpdateBrandAssignment(accountID, brandArn string) (string, error)

func (*InMemoryBackend) UpdateBrandPublishedVersion

func (b *InMemoryBackend) UpdateBrandPublishedVersion(accountID, brandID, versionID string) error

func (*InMemoryBackend) UpdateCustomPermissions

func (b *InMemoryBackend) UpdateCustomPermissions(
	accountID, name string,
	capabilities map[string]any,
) (*CustomPermissions, error)

func (*InMemoryBackend) UpdateDashboard

func (b *InMemoryBackend) UpdateDashboard(
	accountID, dashboardID, name string,
	definition map[string]any,
) (*Dashboard, error)
func (b *InMemoryBackend) UpdateDashboardLinks(
	accountID, dashboardID string,
	linkEntities []string,
) (*Dashboard, error)

UpdateDashboardLinks replaces the set of analysis ARNs linked to a dashboard.

func (*InMemoryBackend) UpdateDashboardPermissions

func (b *InMemoryBackend) UpdateDashboardPermissions(
	accountID, dashboardID string,
	grant, revoke []ResourcePermission,
) (*Dashboard, []ResourcePermission, error)

func (*InMemoryBackend) UpdateDashboardPublishedVersion

func (b *InMemoryBackend) UpdateDashboardPublishedVersion(
	accountID, dashboardID string,
	versionNumber int64,
) (*Dashboard, error)

UpdateDashboardPublishedVersion flips which stored version of a dashboard is the published one. versionNumber must name a version that actually exists (i.e. be in [1, VersionNumber], matching the versions ListDashboardVersions synthesizes), else ErrDashboardVersionNotFound.

func (*InMemoryBackend) UpdateDashboardsQAConfiguration

func (b *InMemoryBackend) UpdateDashboardsQAConfiguration(accountID, status string) (string, error)

UpdateDashboardsQAConfiguration sets accountID's Dashboards Q&A status.

func (*InMemoryBackend) UpdateDataSet

func (b *InMemoryBackend) UpdateDataSet(accountID, dataSetID, name, importMode string) (*DataSet, *Ingestion, error)

UpdateDataSet updates a dataset. Like CreateDataSet, real AWS's UpdateDataSetOutput documents IngestionArn/IngestionId as "triggered as a result of dataset creation if the import mode is SPICE" -- the same conditional-on-ImportMode semantics apply here (UpdateDataSet requires the full dataset definition including ImportMode on every call, so a SPICE dataset effectively re-ingests on every update). This mirrors CreateDataSet by creating a real, describable Ingestion record instead of fabricating an ARN/ID, and only reporting one when the resulting ImportMode is SPICE.

func (*InMemoryBackend) UpdateDataSetPermissions

func (b *InMemoryBackend) UpdateDataSetPermissions(
	accountID, dataSetID string,
	grant, revoke []ResourcePermission,
) (*DataSet, []ResourcePermission, error)

func (*InMemoryBackend) UpdateDataSource

func (b *InMemoryBackend) UpdateDataSource(accountID, dataSourceID, name string) (*DataSource, error)

func (*InMemoryBackend) UpdateDataSourcePermissions

func (b *InMemoryBackend) UpdateDataSourcePermissions(
	accountID, dataSourceID string,
	grant, revoke []ResourcePermission,
) (*DataSource, []ResourcePermission, error)

func (*InMemoryBackend) UpdateDefaultQBusinessApplication

func (b *InMemoryBackend) UpdateDefaultQBusinessApplication(
	accountID, applicationID, namespace string,
) (*DefaultQBusinessApplication, error)

UpdateDefaultQBusinessApplication sets (creating if necessary) accountID's default Q Business application.

func (*InMemoryBackend) UpdateFlow added in v1.2.0

func (b *InMemoryBackend) UpdateFlow(
	accountID, flowID, name, description string,
	flowDefinition map[string]any,
) (*Flow, error)

UpdateFlow updates a flow's mutable fields. Per CreateFlow, replacing FlowDefinition replaces the entire definition (matching the real op's documented all-or-nothing step replacement).

func (*InMemoryBackend) UpdateFlowPermissions

func (b *InMemoryBackend) UpdateFlowPermissions(
	accountID, flowID string,
	grant, revoke []ResourcePermission,
) (*Flow, []ResourcePermission, error)

func (*InMemoryBackend) UpdateFolder

func (b *InMemoryBackend) UpdateFolder(accountID, folderID, name string) (*Folder, error)

func (*InMemoryBackend) UpdateFolderPermissions

func (b *InMemoryBackend) UpdateFolderPermissions(
	accountID, folderID string,
	grant, revoke []ResourcePermission,
) ([]ResourcePermission, error)

func (*InMemoryBackend) UpdateGroup

func (b *InMemoryBackend) UpdateGroup(accountID, namespace, groupName, description string) (*Group, error)

func (*InMemoryBackend) UpdateIAMPolicyAssignment

func (b *InMemoryBackend) UpdateIAMPolicyAssignment(
	accountID, namespace, assignmentName, assignmentStatus, policyArn string,
	identities map[string][]string,
) (*IAMPolicyAssignment, error)

func (*InMemoryBackend) UpdateIPRestriction

func (b *InMemoryBackend) UpdateIPRestriction(
	accountID string,
	ruleMap, vpcIDRuleMap, vpcEndpointIDRuleMap map[string]string,
	enabled *bool,
) (*IPRestriction, error)

UpdateIPRestriction replaces (creating if necessary) accountID's IP restriction rules. Nil maps leave the corresponding rule map unchanged; a nil enabled leaves Enabled unchanged.

func (*InMemoryBackend) UpdateIdentityPropagationConfig

func (b *InMemoryBackend) UpdateIdentityPropagationConfig(_, service string, authorizedTargets []string) error

func (*InMemoryBackend) UpdateKeyRegistration

func (b *InMemoryBackend) UpdateKeyRegistration(
	accountID string,
	keys []RegisteredCustomerManagedKey,
) ([]RegisteredCustomerManagedKey, error)

UpdateKeyRegistration replaces accountID's set of registered customer-managed keys.

func (*InMemoryBackend) UpdateKnowledgeBase added in v1.2.0

func (b *InMemoryBackend) UpdateKnowledgeBase(
	accountID, knowledgeBaseID, name, description string,
	emailNotificationOptedIn *bool,
	configuration, accessControlConfiguration, mediaExtractionConfiguration map[string]any,
) (*KnowledgeBase, error)

func (*InMemoryBackend) UpdateKnowledgeBasePermissions added in v1.2.0

func (b *InMemoryBackend) UpdateKnowledgeBasePermissions(
	accountID, knowledgeBaseID string,
	grant, revoke []ResourcePermission,
) (*KnowledgeBase, []ResourcePermission, error)

func (*InMemoryBackend) UpdateOAuthClientApplication

func (b *InMemoryBackend) UpdateOAuthClientApplication(
	accountID, clientID, name string,
	fields map[string]any,
) (*OAuthClientApplication, error)

func (*InMemoryBackend) UpdatePublicSharingSettings

func (b *InMemoryBackend) UpdatePublicSharingSettings(accountID string, enabled bool) error

UpdatePublicSharingSettings sets whether public sharing is enabled for accountID. The value is surfaced back through DescribeAccountSettings.PublicSharingEnabled.

func (*InMemoryBackend) UpdateQPersonalizationConfiguration

func (b *InMemoryBackend) UpdateQPersonalizationConfiguration(accountID, mode string) (string, error)

UpdateQPersonalizationConfiguration sets accountID's Q personalization mode.

func (*InMemoryBackend) UpdateQuickSightQSearchConfiguration

func (b *InMemoryBackend) UpdateQuickSightQSearchConfiguration(accountID, status string) (string, error)

UpdateQuickSightQSearchConfiguration sets accountID's Q Search status.

func (*InMemoryBackend) UpdateRefreshSchedule

func (b *InMemoryBackend) UpdateRefreshSchedule(
	accountID, datasetID, scheduleID, refreshType, startAfterDateTime string,
	scheduleFrequency map[string]any,
) (*RefreshSchedule, error)

func (*InMemoryBackend) UpdateRoleCustomPermission

func (b *InMemoryBackend) UpdateRoleCustomPermission(accountID, namespace, role, customPermissionsName string) error

func (*InMemoryBackend) UpdateSPICECapacityConfiguration

func (b *InMemoryBackend) UpdateSPICECapacityConfiguration(accountID, purchaseMode string) error

UpdateSPICECapacityConfiguration sets accountID's SPICE capacity purchase mode. The real AWS operation's response carries no data beyond RequestId/Status, so there is nothing to return here beyond validation. An empty purchaseMode is a no-op (PurchaseMode is required by the real API, but callers that omit it here leave the stored configuration untouched rather than erroring); a non-empty, unrecognized value is rejected.

func (*InMemoryBackend) UpdateSelfUpgrade

func (b *InMemoryBackend) UpdateSelfUpgrade(
	accountID, namespace, action, upgradeRequestID string,
) (*SelfUpgradeRequestDetail, error)

UpdateSelfUpgrade approves, denies, or (re-)verifies an existing self-upgrade request. VERIFY re-confirms an already-decided request without changing its RequestStatus (there is no distinct "VERIFIED" status in the QuickSight API; only PENDING/APPROVED/DENIED/UPDATE_FAILED/VERIFY_FAILED exist), but always refreshes LastUpdateAttemptTime.

func (*InMemoryBackend) UpdateSelfUpgradeConfiguration

func (b *InMemoryBackend) UpdateSelfUpgradeConfiguration(accountID, namespace, status string) (string, error)

UpdateSelfUpgradeConfiguration sets namespace's self-upgrade status.

func (*InMemoryBackend) UpdateSpace added in v1.2.0

func (b *InMemoryBackend) UpdateSpace(accountID, spaceID, name, description string) (*Space, error)

func (*InMemoryBackend) UpdateSpacePermissions added in v1.2.0

func (b *InMemoryBackend) UpdateSpacePermissions(
	accountID, spaceID string,
	grant, revoke []ResourcePermission,
) (*Space, []ResourcePermission, error)

func (*InMemoryBackend) UpdateSpaceResources added in v1.2.0

func (b *InMemoryBackend) UpdateSpaceResources(
	accountID, spaceID string,
	add, remove []SpaceResource,
) (*Space, []AssociationFailure, error)

UpdateSpaceResources adds/removes resources from a space, keyed by ARN. Each ARN is validated against arnExists (a real, derived check -- an ARN that doesn't identify a resource this backend holds fails rather than being silently accepted), mirroring UpdateAgent's association validation.

func (*InMemoryBackend) UpdateTemplate

func (b *InMemoryBackend) UpdateTemplate(
	accountID, templateID, name, sourceEntityArn string,
	definition map[string]any,
) (*Template, error)

func (*InMemoryBackend) UpdateTemplateAlias

func (b *InMemoryBackend) UpdateTemplateAlias(
	accountID, templateID, aliasName string,
	versionNumber int64,
) (*TemplateAlias, error)

func (*InMemoryBackend) UpdateTemplatePermissions

func (b *InMemoryBackend) UpdateTemplatePermissions(
	accountID, templateID string,
	grant, revoke []ResourcePermission,
) (*Template, []ResourcePermission, error)

func (*InMemoryBackend) UpdateTheme

func (b *InMemoryBackend) UpdateTheme(
	accountID, themeID, name, baseThemeID string,
	configuration map[string]any,
) (*Theme, error)

func (*InMemoryBackend) UpdateThemeAlias

func (b *InMemoryBackend) UpdateThemeAlias(
	accountID, themeID, aliasName string,
	versionNumber int64,
) (*ThemeAlias, error)

func (*InMemoryBackend) UpdateThemePermissions

func (b *InMemoryBackend) UpdateThemePermissions(
	accountID, themeID string,
	grant, revoke []ResourcePermission,
) (*Theme, []ResourcePermission, error)

func (*InMemoryBackend) UpdateTopic

func (b *InMemoryBackend) UpdateTopic(
	accountID, topicID, name, description, userExperienceVersion string,
	dataSets []map[string]any,
) (*Topic, error)

func (*InMemoryBackend) UpdateTopicPermissions

func (b *InMemoryBackend) UpdateTopicPermissions(
	accountID, topicID string,
	grant, revoke []ResourcePermission,
) (*Topic, []ResourcePermission, error)

func (*InMemoryBackend) UpdateTopicRefreshSchedule

func (b *InMemoryBackend) UpdateTopicRefreshSchedule(
	accountID, topicID, datasetID, refreshType string,
	isEnabled *bool,
	scheduleConfig map[string]any,
) (*TopicRefreshSchedule, error)

UpdateTopicRefreshSchedule updates an existing schedule. Pointer/nil-able parameters are only applied when non-nil/non-empty so a partial (or empty) update body leaves existing fields untouched, matching the CreateFolder/ UpdateFolder convention used elsewhere in this package.

func (*InMemoryBackend) UpdateUser

func (b *InMemoryBackend) UpdateUser(accountID, namespace, userName, email, role string) (*User, error)

func (*InMemoryBackend) UpdateUserCustomPermission

func (b *InMemoryBackend) UpdateUserCustomPermission(
	accountID, namespace, userName, customPermissionsName string,
) error

func (*InMemoryBackend) UpdateVPCConnection

func (b *InMemoryBackend) UpdateVPCConnection(
	accountID, vpcConnectionID, name string,
	subnetIDs, securityGroupIDs, dnsResolvers []string,
	roleArn string,
) (*VPCConnection, error)

type Ingestion

type Ingestion struct {
	CreatedTime     time.Time
	IngestionID     string
	Arn             string
	DataSetID       string
	IngestionStatus string
}

Ingestion represents a QuickSight ingestion. CreatedTime first: non-pointer prefix reduces GC pointer bytes.

type KnowledgeBase added in v1.2.0

type KnowledgeBase struct {
	CreatedAt                    time.Time
	UpdatedAt                    time.Time
	Configuration                map[string]any
	AccessControlConfiguration   map[string]any
	MediaExtractionConfiguration map[string]any
	KnowledgeBaseID              string
	Arn                          string
	Name                         string
	Description                  string
	DataSourceArn                string
	Status                       string
	PrimaryOwnerArn              string
	Permissions                  []ResourcePermission
	DocumentCount                int64
	SizeBytes                    int64
	EmailNotificationOptedIn     bool
}

KnowledgeBase represents a QuickSight knowledge base: an indexed corpus of documents from a data source that agents/flows can query for retrieval-augmented answers. Configuration/AccessControlConfiguration/ MediaExtractionConfiguration are stored as opaque pass-through documents (like Dashboard.Definition elsewhere in this backend) since their real shapes are deeply nested and this backend has no processing logic that needs to interpret them.

type KnowledgeBaseDeleteError added in v1.2.0

type KnowledgeBaseDeleteError struct {
	KnowledgeBaseID string
	ErrorCode       string
	ErrorMessage    string
}

KnowledgeBaseDeleteError identifies one knowledge base BatchDeleteKnowledgeBase failed to delete.

type KnowledgeBaseDeleteResult added in v1.2.0

type KnowledgeBaseDeleteResult struct {
	KnowledgeBaseID string
	Arn             string
}

KnowledgeBaseDeleteResult identifies one knowledge base successfully deleted by BatchDeleteKnowledgeBase.

type Namespace

type Namespace struct {
	CreationStatus string
	Name           string
	Arn            string
	CapacityRegion string
	IdentityStore  string
}

Namespace represents a QuickSight namespace.

type OAuthClientApplication

type OAuthClientApplication struct {
	CreatedTime     time.Time
	LastUpdatedTime time.Time
	Extra           map[string]any
	ClientID        string
	Arn             string
	Name            string
	Status          string
}

OAuthClientApplication represents a QuickSight OAuth 2.0 client application used to connect to a data source's identity provider.

type Provider

type Provider struct{}

Provider implements service.Provider for Amazon QuickSight.

func (*Provider) Init

Init initializes the QuickSight service backend and handler.

func (*Provider) Name

func (p *Provider) Name() string

Name returns the provider name.

type QAResult

type QAResult struct {
	AnswerID     string
	AnswerStatus string
	QuestionID   string
	QuestionText string
	TopicID      string
	TopicName    string
	ResultType   string
}

QAResult represents a single Predict QA result: either a generated natural-language answer referencing a real Topic in the account, or an explicit "no answer" result when no topic matches the query text.

type RefreshSchedule

type RefreshSchedule struct {
	ScheduleFrequency  map[string]any
	ScheduleID         string
	Arn                string
	RefreshType        string
	StartAfterDateTime string
}

RefreshSchedule represents a QuickSight dataset SPICE refresh schedule.

type RegisteredCustomerManagedKey

type RegisteredCustomerManagedKey struct {
	KeyArn     string
	DefaultKey bool
}

RegisteredCustomerManagedKey represents a customer-managed KMS key registered with QuickSight.

type ResourcePermission

type ResourcePermission struct {
	Principal string   `json:"principal"`
	Actions   []string `json:"actions"`
}

ResourcePermission represents a QuickSight principal + allowed actions grant.

type SearchFilter

type SearchFilter = FolderSearchFilter

SearchFilter is a generic Name/Operator/Value search filter, shared by the Search{Analyses,Dashboards,DataSets,DataSources} operations. It has the same shape as FolderSearchFilter (SearchFolders' filter type).

type SelfUpgradeRequestDetail

type SelfUpgradeRequestDetail struct {
	LastUpdateFailureReason string
	OriginalRole            string
	RequestNote             string
	RequestStatus           string
	RequestedRole           string
	UpgradeRequestID        string
	CreationTime            int64
	LastUpdateAttemptTime   int64
}

SelfUpgradeRequestDetail represents one namespace self-upgrade request (a user's request to be upgraded to a different UserRole).

type Space added in v1.2.0

type Space struct {
	CreatedAt    time.Time
	UpdatedAt    time.Time
	SpaceID      string
	Arn          string
	Name         string
	Description  string
	CreatedBy    string
	CreatedByArn string
	Resources    []SpaceResource
	Permissions  []ResourcePermission
}

Space represents a QuickSight space: a named collection of resources (topics, dashboards, knowledge bases, action connectors, datasets) grouped together to scope agent/flow context.

type SpaceResource added in v1.2.0

type SpaceResource struct {
	UpdatedAt    time.Time
	ResourceArn  string
	ResourceType string
	ResourceName string
}

SpaceResource represents one QuickSight asset (identified by ARN and type) attached to a space.

type StorageBackend

type StorageBackend interface {
	// Namespaces
	CreateNamespace(accountID, namespace, capacityRegion string) (*Namespace, error)
	DescribeNamespace(accountID, namespace string) (*Namespace, error)
	DeleteNamespace(accountID, namespace string) error
	ListNamespaces(accountID string, maxResults int32, nextToken string) ([]*Namespace, string, error)

	// Groups
	CreateGroup(accountID, namespace, groupName, description string) (*Group, error)
	DescribeGroup(accountID, namespace, groupName string) (*Group, error)
	UpdateGroup(accountID, namespace, groupName, description string) (*Group, error)
	DeleteGroup(accountID, namespace, groupName string) error
	ListGroups(accountID, namespace string, maxResults int32, nextToken string) ([]*Group, string, error)
	SearchGroups(accountID, namespace, query string, maxResults int32, nextToken string) ([]*Group, string, error)

	// Group Memberships
	CreateGroupMembership(accountID, namespace, groupName, memberName string) (*GroupMember, error)
	DescribeGroupMembership(accountID, namespace, groupName, memberName string) (*GroupMember, error)
	DeleteGroupMembership(accountID, namespace, groupName, memberName string) error
	ListGroupMemberships(
		accountID, namespace, groupName string,
		maxResults int32,
		nextToken string,
	) ([]*GroupMember, string, error)

	// Users
	RegisterUser(accountID, namespace, userName, email, role, identityType, sessionName string) (*User, error)
	DescribeUser(accountID, namespace, userName string) (*User, error)
	UpdateUser(accountID, namespace, userName, email, role string) (*User, error)
	DeleteUser(accountID, namespace, userName string) error
	DeleteUserByPrincipalID(accountID, namespace, principalID string) error
	ListUsers(accountID, namespace string, maxResults int32, nextToken string) ([]*User, string, error)
	ListUserGroups(accountID, namespace, userName string, maxResults int32, nextToken string) ([]*Group, string, error)

	// DataSources
	CreateDataSource(
		accountID, dataSourceID, name, dsType string,
		permissions []ResourcePermission,
		tags map[string]string,
	) (*DataSource, error)
	DescribeDataSource(accountID, dataSourceID string) (*DataSource, error)
	UpdateDataSource(accountID, dataSourceID, name string) (*DataSource, error)
	DeleteDataSource(accountID, dataSourceID string) error
	ListDataSources(accountID string, maxResults int32, nextToken string) ([]*DataSource, string, error)
	SearchDataSources(
		accountID string,
		filters []SearchFilter,
		maxResults int32,
		nextToken string,
	) ([]*DataSource, string, error)
	DescribeDataSourcePermissions(accountID, dataSourceID string) (*DataSource, []ResourcePermission, error)
	UpdateDataSourcePermissions(
		accountID, dataSourceID string,
		grant, revoke []ResourcePermission,
	) (*DataSource, []ResourcePermission, error)

	// DataSets
	// CreateDataSet returns the created dataset plus the *Ingestion triggered
	// as a side effect when importMode is SPICE (nil for DIRECT_QUERY, which
	// triggers no ingestion).
	CreateDataSet(
		accountID, dataSetID, name, importMode string,
		permissions []ResourcePermission,
		tags map[string]string,
	) (*DataSet, *Ingestion, error)
	DescribeDataSet(accountID, dataSetID string) (*DataSet, error)
	// UpdateDataSet returns the updated dataset plus the *Ingestion triggered
	// as a side effect when the resulting importMode is SPICE (nil for
	// DIRECT_QUERY), mirroring CreateDataSet's conditional-ingestion contract.
	UpdateDataSet(accountID, dataSetID, name, importMode string) (*DataSet, *Ingestion, error)
	DeleteDataSet(accountID, dataSetID string) error
	ListDataSets(accountID string, maxResults int32, nextToken string) ([]*DataSet, string, error)
	SearchDataSets(
		accountID string,
		filters []SearchFilter,
		maxResults int32,
		nextToken string,
	) ([]*DataSet, string, error)
	DescribeDataSetPermissions(accountID, dataSetID string) (*DataSet, []ResourcePermission, error)
	UpdateDataSetPermissions(
		accountID, dataSetID string,
		grant, revoke []ResourcePermission,
	) (*DataSet, []ResourcePermission, error)

	// Ingestions
	CreateIngestion(accountID, dataSetID, ingestionID string) (*Ingestion, error)
	DescribeIngestion(accountID, dataSetID, ingestionID string) (*Ingestion, error)
	CancelIngestion(accountID, dataSetID, ingestionID string) error
	ListIngestions(accountID, dataSetID string, maxResults int32, nextToken string) ([]*Ingestion, string, error)

	// Dashboards
	CreateDashboard(
		accountID, dashboardID, name string,
		definition map[string]any,
		permissions []ResourcePermission,
		tags map[string]string,
	) (*Dashboard, error)
	DescribeDashboard(accountID, dashboardID string) (*Dashboard, error)
	UpdateDashboard(accountID, dashboardID, name string, definition map[string]any) (*Dashboard, error)
	DeleteDashboard(accountID, dashboardID string) error
	ListDashboards(accountID string, maxResults int32, nextToken string) ([]*Dashboard, string, error)
	ListDashboardVersions(
		accountID, dashboardID string,
		maxResults int32,
		nextToken string,
	) ([]*DashboardVersion, string, error)
	SearchDashboards(
		accountID string,
		filters []SearchFilter,
		maxResults int32,
		nextToken string,
	) ([]*Dashboard, string, error)
	UpdateDashboardPublishedVersion(accountID, dashboardID string, versionNumber int64) (*Dashboard, error)
	UpdateDashboardLinks(accountID, dashboardID string, linkEntities []string) (*Dashboard, error)
	DescribeDashboardPermissions(accountID, dashboardID string) (*Dashboard, []ResourcePermission, error)
	UpdateDashboardPermissions(
		accountID, dashboardID string,
		grant, revoke []ResourcePermission,
	) (*Dashboard, []ResourcePermission, error)

	// Analyses
	CreateAnalysis(
		accountID, analysisID, name string,
		definition map[string]any,
		permissions []ResourcePermission,
		tags map[string]string,
	) (*Analysis, error)
	DescribeAnalysis(accountID, analysisID string) (*Analysis, error)
	UpdateAnalysis(accountID, analysisID, name string, definition map[string]any) (*Analysis, error)
	DeleteAnalysis(accountID, analysisID string, forceDeleteWithoutRecovery bool) error
	ListAnalyses(accountID string, maxResults int32, nextToken string) ([]*Analysis, string, error)
	RestoreAnalysis(accountID, analysisID string) (*Analysis, error)
	SearchAnalyses(
		accountID string,
		filters []SearchFilter,
		maxResults int32,
		nextToken string,
	) ([]*Analysis, string, error)
	DescribeAnalysisPermissions(accountID, analysisID string) (*Analysis, []ResourcePermission, error)
	UpdateAnalysisPermissions(
		accountID, analysisID string,
		grant, revoke []ResourcePermission,
	) (*Analysis, []ResourcePermission, error)

	// Tags
	TagResource(resourceARN string, tags map[string]string) error
	UntagResource(resourceARN string, tagKeys []string) error
	ListTagsForResource(resourceARN string) (map[string]string, error)

	// Folders
	CreateFolder(
		accountID, folderID, name, folderType, parentFolderArn, sharingModel string,
		permissions []ResourcePermission,
		tags map[string]string,
	) (*Folder, error)
	DescribeFolder(accountID, folderID string) (*Folder, error)
	UpdateFolder(accountID, folderID, name string) (*Folder, error)
	DeleteFolder(accountID, folderID string) error
	ListFolders(accountID string, maxResults int32, nextToken string) ([]*Folder, string, error)
	SearchFolders(
		accountID string,
		filters []FolderSearchFilter,
		maxResults int32,
		nextToken string,
	) ([]*Folder, string, error)

	// Folder memberships
	CreateFolderMembership(accountID, folderID, memberID, memberType string) (*FolderMember, error)
	DeleteFolderMembership(accountID, folderID, memberID, memberType string) error
	ListFolderMembers(
		accountID, folderID string,
		maxResults int32,
		nextToken string,
	) ([]*FolderMember, string, error)

	// Folder permissions
	DescribeFolderPermissions(accountID, folderID string) ([]ResourcePermission, error)
	UpdateFolderPermissions(
		accountID, folderID string,
		grant, revoke []ResourcePermission,
	) ([]ResourcePermission, error)
	DescribeFolderResolvedPermissions(accountID, folderID string) ([]ResourcePermission, error)

	// Folders-for-resource
	ListFoldersForResource(
		accountID, resourceArn string,
		maxResults int32,
		nextToken string,
	) ([]string, string, error)

	// Templates
	CreateTemplate(
		accountID, templateID, name, sourceEntityArn string,
		definition map[string]any,
		permissions []ResourcePermission,
		tags map[string]string,
	) (*Template, error)
	DescribeTemplate(accountID, templateID string, versionNumber int64) (*Template, error)
	UpdateTemplate(
		accountID, templateID, name, sourceEntityArn string,
		definition map[string]any,
	) (*Template, error)
	DeleteTemplate(accountID, templateID string, versionNumber int64) error
	ListTemplates(accountID string, maxResults int32, nextToken string) ([]*Template, string, error)
	ListTemplateVersions(
		accountID, templateID string,
		maxResults int32,
		nextToken string,
	) ([]*TemplateVersion, string, error)
	DescribeTemplatePermissions(accountID, templateID string) (*Template, []ResourcePermission, error)
	UpdateTemplatePermissions(
		accountID, templateID string,
		grant, revoke []ResourcePermission,
	) (*Template, []ResourcePermission, error)

	// Template aliases
	CreateTemplateAlias(accountID, templateID, aliasName string, versionNumber int64) (*TemplateAlias, error)
	DescribeTemplateAlias(accountID, templateID, aliasName string) (*TemplateAlias, error)
	UpdateTemplateAlias(accountID, templateID, aliasName string, versionNumber int64) (*TemplateAlias, error)
	DeleteTemplateAlias(accountID, templateID, aliasName string) error
	ListTemplateAliases(
		accountID, templateID string,
		maxResults int32,
		nextToken string,
	) ([]*TemplateAlias, string, error)

	// Themes
	CreateTheme(
		accountID, themeID, name, baseThemeID string,
		configuration map[string]any,
		permissions []ResourcePermission,
		tags map[string]string,
	) (*Theme, error)
	DescribeTheme(accountID, themeID string, versionNumber int64) (*Theme, error)
	UpdateTheme(
		accountID, themeID, name, baseThemeID string,
		configuration map[string]any,
	) (*Theme, error)
	DeleteTheme(accountID, themeID string, versionNumber int64) error
	ListThemes(accountID string, maxResults int32, nextToken string) ([]*Theme, string, error)
	ListThemeVersions(
		accountID, themeID string,
		maxResults int32,
		nextToken string,
	) ([]*ThemeVersion, string, error)
	DescribeThemePermissions(accountID, themeID string) (*Theme, []ResourcePermission, error)
	UpdateThemePermissions(
		accountID, themeID string,
		grant, revoke []ResourcePermission,
	) (*Theme, []ResourcePermission, error)

	// Theme aliases
	CreateThemeAlias(accountID, themeID, aliasName string, versionNumber int64) (*ThemeAlias, error)
	DescribeThemeAlias(accountID, themeID, aliasName string) (*ThemeAlias, error)
	UpdateThemeAlias(accountID, themeID, aliasName string, versionNumber int64) (*ThemeAlias, error)
	DeleteThemeAlias(accountID, themeID, aliasName string) error
	ListThemeAliases(
		accountID, themeID string,
		maxResults int32,
		nextToken string,
	) ([]*ThemeAlias, string, error)

	// Topics
	CreateTopic(
		accountID, topicID, name, description, userExperienceVersion string,
		dataSets []map[string]any,
		permissions []ResourcePermission,
		tags map[string]string,
	) (*Topic, error)
	DescribeTopic(accountID, topicID string) (*Topic, error)
	UpdateTopic(
		accountID, topicID, name, description, userExperienceVersion string,
		dataSets []map[string]any,
	) (*Topic, error)
	DeleteTopic(accountID, topicID string) error
	ListTopics(accountID string, maxResults int32, nextToken string) ([]*Topic, string, error)
	SearchTopics(
		accountID string,
		filters []SearchFilter,
		maxResults int32,
		nextToken string,
	) ([]*Topic, string, error)

	// Topic permissions
	DescribeTopicPermissions(accountID, topicID string) (*Topic, []ResourcePermission, error)
	UpdateTopicPermissions(
		accountID, topicID string,
		grant, revoke []ResourcePermission,
	) (*Topic, []ResourcePermission, error)

	// Topic refresh
	DescribeTopicRefresh(accountID, topicID, refreshID string) (*TopicRefreshDetails, error)

	// Topic refresh schedules
	CreateTopicRefreshSchedule(
		accountID, topicID, datasetID, datasetArn, refreshType string,
		isEnabled bool,
		scheduleConfig map[string]any,
	) (*TopicRefreshSchedule, error)
	DescribeTopicRefreshSchedule(accountID, topicID, datasetID string) (*TopicRefreshSchedule, error)
	UpdateTopicRefreshSchedule(
		accountID, topicID, datasetID, refreshType string,
		isEnabled *bool,
		scheduleConfig map[string]any,
	) (*TopicRefreshSchedule, error)
	DeleteTopicRefreshSchedule(accountID, topicID, datasetID string) error
	ListTopicRefreshSchedules(accountID, topicID string) ([]*TopicRefreshSchedule, error)

	// Topic reviewed answers
	BatchCreateTopicReviewedAnswer(
		accountID, topicID string,
		answers []map[string]any,
	) ([]*TopicReviewedAnswer, []TopicAnswerError, error)
	BatchDeleteTopicReviewedAnswer(
		accountID, topicID string,
		answerIDs []string,
	) ([]string, []TopicAnswerError, error)
	ListTopicReviewedAnswers(accountID, topicID string) ([]*TopicReviewedAnswer, error)

	// VPC connections
	CreateVPCConnection(
		accountID, vpcConnectionID, name, vpcID string,
		subnetIDs, securityGroupIDs, dnsResolvers []string,
		roleArn string,
		tags map[string]string,
	) (*VPCConnection, error)
	DescribeVPCConnection(accountID, vpcConnectionID string) (*VPCConnection, error)
	UpdateVPCConnection(
		accountID, vpcConnectionID, name string,
		subnetIDs, securityGroupIDs, dnsResolvers []string,
		roleArn string,
	) (*VPCConnection, error)
	DeleteVPCConnection(accountID, vpcConnectionID string) error
	ListVPCConnections(accountID string, maxResults int32, nextToken string) ([]*VPCConnection, string, error)

	// IAM policy assignments
	CreateIAMPolicyAssignment(
		accountID, namespace, assignmentName, assignmentStatus, policyArn string,
		identities map[string][]string,
	) (*IAMPolicyAssignment, error)
	DescribeIAMPolicyAssignment(accountID, namespace, assignmentName string) (*IAMPolicyAssignment, error)
	UpdateIAMPolicyAssignment(
		accountID, namespace, assignmentName, assignmentStatus, policyArn string,
		identities map[string][]string,
	) (*IAMPolicyAssignment, error)
	DeleteIAMPolicyAssignment(accountID, namespace, assignmentName string) error
	ListIAMPolicyAssignments(
		accountID, namespace, statusFilter string,
		maxResults int32,
		nextToken string,
	) ([]*IAMPolicyAssignment, string, error)
	ListIAMPolicyAssignmentsForUser(
		accountID, namespace, userName string,
		maxResults int32,
		nextToken string,
	) ([]*IAMPolicyAssignment, string, error)

	// Account settings
	DescribeAccountSettings(accountID string) (*AccountSettings, error)
	UpdateAccountSettings(
		accountID, defaultNamespace, notificationEmail string,
		terminationProtectionEnabled *bool,
	) (*AccountSettings, error)

	// Account subscription
	CreateAccountSubscription(
		accountID, accountName, edition, authenticationMethod, notificationEmail string,
	) (*AccountSubscription, error)
	DescribeAccountSubscription(accountID string) (*AccountSubscription, error)
	DeleteAccountSubscription(accountID string) error

	// Account customization
	CreateAccountCustomization(
		accountID, namespace, defaultTheme, defaultEmailCustomizationTemplate string,
	) (*AccountCustomization, error)
	DescribeAccountCustomization(accountID, namespace string) (*AccountCustomization, error)
	UpdateAccountCustomization(
		accountID, namespace, defaultTheme, defaultEmailCustomizationTemplate string,
	) (*AccountCustomization, error)
	DeleteAccountCustomization(accountID, namespace string) error

	// Account custom permission
	DescribeAccountCustomPermission(accountID string) (string, error)
	UpdateAccountCustomPermission(accountID, customPermissionsName string) error
	DeleteAccountCustomPermission(accountID string) error

	// IP restriction
	DescribeIPRestriction(accountID string) (*IPRestriction, error)
	UpdateIPRestriction(
		accountID string,
		ruleMap, vpcIDRuleMap, vpcEndpointIDRuleMap map[string]string,
		enabled *bool,
	) (*IPRestriction, error)

	// Public sharing
	UpdatePublicSharingSettings(accountID string, enabled bool) error

	// Key registration
	DescribeKeyRegistration(accountID string) ([]RegisteredCustomerManagedKey, error)
	UpdateKeyRegistration(
		accountID string,
		keys []RegisteredCustomerManagedKey,
	) ([]RegisteredCustomerManagedKey, error)

	// Default Q Business Application
	DescribeDefaultQBusinessApplication(accountID, namespace string) (*DefaultQBusinessApplication, error)
	UpdateDefaultQBusinessApplication(
		accountID, applicationID, namespace string,
	) (*DefaultQBusinessApplication, error)
	DeleteDefaultQBusinessApplication(accountID, namespace string) error

	// Q personalization
	DescribeQPersonalizationConfiguration(accountID string) (string, error)
	UpdateQPersonalizationConfiguration(accountID, mode string) (string, error)

	// Q Search configuration
	DescribeQuickSightQSearchConfiguration(accountID string) (string, error)
	UpdateQuickSightQSearchConfiguration(accountID, status string) (string, error)

	// Dashboards Q&A configuration
	DescribeDashboardsQAConfiguration(accountID string) (string, error)
	UpdateDashboardsQAConfiguration(accountID, status string) (string, error)

	// Brands
	CreateBrand(accountID, brandID string, definition map[string]any) (*Brand, error)
	DescribeBrand(accountID, brandID, versionID string) (*Brand, error)
	UpdateBrand(accountID, brandID string, definition map[string]any) (*Brand, error)
	DeleteBrand(accountID, brandID string) error
	ListBrands(accountID string, maxResults int32, nextToken string) ([]*Brand, string, error)
	DescribeBrandPublishedVersion(accountID, brandID string) (*Brand, error)
	UpdateBrandPublishedVersion(accountID, brandID, versionID string) error
	DescribeBrandAssignment(accountID string) (string, error)
	UpdateBrandAssignment(accountID, brandArn string) (string, error)
	DeleteBrandAssignment(accountID string) error

	// Custom permissions
	CreateCustomPermissions(
		accountID, name string,
		capabilities map[string]any,
		tags map[string]string,
	) (*CustomPermissions, error)
	DescribeCustomPermissions(accountID, name string) (*CustomPermissions, error)
	UpdateCustomPermissions(accountID, name string, capabilities map[string]any) (*CustomPermissions, error)
	DeleteCustomPermissions(accountID, name string) error
	ListCustomPermissions(accountID string, maxResults int32, nextToken string) ([]*CustomPermissions, string, error)

	// Role custom permission
	UpdateRoleCustomPermission(accountID, namespace, role, customPermissionsName string) error
	DescribeRoleCustomPermission(accountID, namespace, role string) (string, error)
	DeleteRoleCustomPermission(accountID, namespace, role string) error

	// Role memberships
	CreateRoleMembership(accountID, namespace, role, memberName string) error
	DeleteRoleMembership(accountID, namespace, role, memberName string) error
	ListRoleMemberships(
		accountID, namespace, role string,
		maxResults int32,
		nextToken string,
	) ([]string, string, error)

	// User custom permission
	UpdateUserCustomPermission(accountID, namespace, userName, customPermissionsName string) error
	DeleteUserCustomPermission(accountID, namespace, userName string) error

	// OAuth client applications
	CreateOAuthClientApplication(
		accountID, clientID, name string,
		fields map[string]any,
	) (*OAuthClientApplication, error)
	DescribeOAuthClientApplication(accountID, clientID string) (*OAuthClientApplication, error)
	UpdateOAuthClientApplication(
		accountID, clientID, name string,
		fields map[string]any,
	) (*OAuthClientApplication, error)
	DeleteOAuthClientApplication(accountID, clientID string) (*OAuthClientApplication, error)
	ListOAuthClientApplications(
		accountID string,
		maxResults int32,
		nextToken string,
	) ([]*OAuthClientApplication, string, error)

	// Identity propagation configuration
	UpdateIdentityPropagationConfig(accountID, service string, authorizedTargets []string) error
	DeleteIdentityPropagationConfig(accountID, service string) error
	ListIdentityPropagationConfigs(accountID string) ([]*IdentityPropagationConfig, error)

	// Asset bundle export jobs
	StartAssetBundleExportJob(
		accountID, jobID, exportFormat string,
		resourceArns []string,
		includeAllDependencies bool,
	) (*AssetBundleExportJob, error)
	DescribeAssetBundleExportJob(accountID, jobID string) (*AssetBundleExportJob, error)
	ListAssetBundleExportJobs(
		accountID string,
		maxResults int32,
		nextToken string,
	) ([]*AssetBundleExportJob, string, error)

	// Asset bundle import jobs
	StartAssetBundleImportJob(accountID, jobID, failureAction string) (*AssetBundleImportJob, error)
	DescribeAssetBundleImportJob(accountID, jobID string) (*AssetBundleImportJob, error)
	ListAssetBundleImportJobs(
		accountID string,
		maxResults int32,
		nextToken string,
	) ([]*AssetBundleImportJob, string, error)

	// Dashboard snapshot jobs
	StartDashboardSnapshotJob(
		accountID, dashboardID, jobID string,
		snapshotConfiguration map[string]any,
	) (*DashboardSnapshotJob, error)
	DescribeDashboardSnapshotJob(accountID, dashboardID, jobID string) (*DashboardSnapshotJob, error)
	DescribeDashboardSnapshotJobResult(accountID, dashboardID, jobID string) (*DashboardSnapshotJob, error)
	StartDashboardSnapshotJobSchedule(accountID, dashboardID, scheduleID string) error

	// Predict QA results
	PredictQAResults(accountID, queryText string) (*QAResult, error)

	// DataSet refresh schedules
	CreateRefreshSchedule(
		accountID, datasetID, scheduleID, refreshType, startAfterDateTime string,
		scheduleFrequency map[string]any,
	) (*RefreshSchedule, error)
	DescribeRefreshSchedule(accountID, datasetID, scheduleID string) (*RefreshSchedule, error)
	UpdateRefreshSchedule(
		accountID, datasetID, scheduleID, refreshType, startAfterDateTime string,
		scheduleFrequency map[string]any,
	) (*RefreshSchedule, error)
	DeleteRefreshSchedule(accountID, datasetID, scheduleID string) error
	ListRefreshSchedules(accountID, datasetID string) ([]*RefreshSchedule, error)

	// DataSet refresh properties
	PutDataSetRefreshProperties(
		accountID, datasetID string,
		refreshConfiguration, failureConfiguration map[string]any,
	) (*DataSetRefreshProperties, error)
	DescribeDataSetRefreshProperties(accountID, datasetID string) (*DataSetRefreshProperties, error)
	DeleteDataSetRefreshProperties(accountID, datasetID string) error

	// Embed URLs
	GenerateEmbedURLForAnonymousUser(
		accountID, namespace string,
		authorizedResourceArns []string,
		experienceConfiguration map[string]any,
	) (embedURL, anonymousUserArn string, err error)
	GenerateEmbedURLForRegisteredUser(
		accountID, userArn string,
		experienceConfiguration map[string]any,
	) (string, error)
	GenerateEmbedURLForRegisteredUserWithIdentity(
		accountID string,
		experienceConfiguration map[string]any,
	) (string, error)
	GetDashboardEmbedURL(accountID, dashboardID, identityType string) (string, error)
	GetSessionEmbedURL(accountID, entryPoint string) (string, error)

	// Identity context
	GenerateIdentityContext(
		accountID, namespace, userIdentifierKind, userIdentifierValue, contextRegion string,
	) (string, error)

	// Action connectors
	CreateActionConnector(
		accountID, actionConnectorID, name, connectorType, description, vpcConnectionArn string,
		authenticationConfig map[string]any,
		permissions []ResourcePermission,
		tags map[string]string,
	) (*ActionConnector, error)
	DescribeActionConnector(accountID, actionConnectorID string) (*ActionConnector, error)
	UpdateActionConnector(
		accountID, actionConnectorID, name, description, vpcConnectionArn string,
		authenticationConfig map[string]any,
	) (*ActionConnector, error)
	DeleteActionConnector(accountID, actionConnectorID string) (*ActionConnector, error)
	ListActionConnectors(accountID string, maxResults int32, nextToken string) ([]*ActionConnector, string, error)
	SearchActionConnectors(
		accountID string,
		filters []SearchFilter,
		maxResults int32,
		nextToken string,
	) ([]*ActionConnector, string, error)
	DescribeActionConnectorPermissions(
		accountID, actionConnectorID string,
	) (*ActionConnector, []ResourcePermission, error)
	UpdateActionConnectorPermissions(
		accountID, actionConnectorID string,
		grant, revoke []ResourcePermission,
	) (*ActionConnector, []ResourcePermission, error)

	// Automation jobs
	StartAutomationJob(accountID, automationGroupID, automationID, inputPayload string) (*AutomationJob, error)
	DescribeAutomationJob(accountID, automationGroupID, automationID, jobID string) (*AutomationJob, error)

	// SPICE capacity configuration
	UpdateSPICECapacityConfiguration(accountID, purchaseMode string) error

	// Flows
	ListFlows(accountID string, maxResults int32, nextToken string) ([]*Flow, string, error)
	SearchFlows(
		accountID string,
		filters []SearchFilter,
		maxResults int32,
		nextToken string,
	) ([]*Flow, string, error)
	GetFlowMetadata(accountID, flowID string) (*Flow, error)
	GetFlowPermissions(accountID, flowID string) (*Flow, []ResourcePermission, error)
	UpdateFlowPermissions(
		accountID, flowID string,
		grant, revoke []ResourcePermission,
	) (*Flow, []ResourcePermission, error)
	CreateFlow(
		accountID, name, description string,
		flowDefinition map[string]any,
		permissions []ResourcePermission,
	) (*Flow, error)
	DescribeFlow(accountID, flowID string) (*Flow, error)
	UpdateFlow(accountID, flowID, name, description string, flowDefinition map[string]any) (*Flow, error)
	DeleteFlow(accountID, flowID string) error

	// Agents
	CreateAgent(
		accountID, agentID, name, description, iconID, welcomeMessage, agentLifecycle string,
		actionConnectors, spaces, starterPrompts []string,
		permissions []ResourcePermission,
		tags map[string]string,
		customPrompt *CustomPromptProfile,
	) (*Agent, error)
	DescribeAgent(accountID, agentID string) (*Agent, error)
	UpdateAgent(
		accountID, agentID, name, description, iconID, welcomeMessage string,
		actionConnectorsToAdd, actionConnectorsToRemove, spacesToAdd, spacesToRemove, starterPrompts []string,
		customPrompt *CustomPromptProfile,
	) (*Agent, *AgentAssociationUpdate, error)
	DeleteAgent(accountID, agentID string) error
	ListAgents(accountID string, maxResults int32, nextToken string) ([]*Agent, string, error)
	SearchAgents(
		accountID string,
		filters []SearchFilter,
		maxResults int32,
		nextToken string,
	) ([]*Agent, string, error)
	DescribeAgentPermissions(accountID, agentID string) (*Agent, []ResourcePermission, error)
	UpdateAgentPermissions(
		accountID, agentID string,
		grant, revoke []ResourcePermission,
	) (*Agent, []ResourcePermission, error)

	// Knowledge bases
	CreateKnowledgeBase(
		accountID, knowledgeBaseID, name, description, dataSourceArn, primaryOwnerArn string,
		configuration, accessControlConfiguration, mediaExtractionConfiguration map[string]any,
		permissions []ResourcePermission,
		tags map[string]string,
	) (*KnowledgeBase, error)
	DescribeKnowledgeBase(accountID, knowledgeBaseID string) (*KnowledgeBase, error)
	UpdateKnowledgeBase(
		accountID, knowledgeBaseID, name, description string,
		emailNotificationOptedIn *bool,
		configuration, accessControlConfiguration, mediaExtractionConfiguration map[string]any,
	) (*KnowledgeBase, error)
	DeleteKnowledgeBase(accountID, knowledgeBaseID string) (*KnowledgeBase, error)
	BatchDeleteKnowledgeBase(
		accountID string,
		knowledgeBaseIDs []string,
	) ([]KnowledgeBaseDeleteResult, []KnowledgeBaseDeleteError)
	ListKnowledgeBases(accountID string, maxResults int32, nextToken string) ([]*KnowledgeBase, string, error)
	SearchKnowledgeBases(
		accountID string,
		filters []SearchFilter,
		maxResults int32,
		nextToken string,
	) ([]*KnowledgeBase, string, error)
	DescribeKnowledgeBasePermissions(accountID, knowledgeBaseID string) (*KnowledgeBase, []ResourcePermission, error)
	UpdateKnowledgeBasePermissions(
		accountID, knowledgeBaseID string,
		grant, revoke []ResourcePermission,
	) (*KnowledgeBase, []ResourcePermission, error)

	// Spaces
	CreateSpace(accountID, spaceID, name, description string) (*Space, error)
	DescribeSpace(accountID, spaceID string) (*Space, error)
	UpdateSpace(accountID, spaceID, name, description string) (*Space, error)
	DeleteSpace(accountID, spaceID string) (*Space, error)
	ListSpaces(accountID string, maxResults int32, nextToken string) ([]*Space, string, error)
	SearchSpaces(
		accountID string,
		filters []SearchFilter,
		maxResults int32,
		nextToken string,
	) ([]*Space, string, error)
	DescribeSpacePermissions(accountID, spaceID string) (*Space, []ResourcePermission, error)
	UpdateSpacePermissions(
		accountID, spaceID string,
		grant, revoke []ResourcePermission,
	) (*Space, []ResourcePermission, error)
	ListSpaceResources(accountID, spaceID string) ([]SpaceResource, error)
	UpdateSpaceResources(
		accountID, spaceID string,
		add, remove []SpaceResource,
	) (*Space, []AssociationFailure, error)

	// User index capacity
	ListUsersIndexCapacity(
		accountID, namespace string,
		maxResults int32,
		nextToken string,
	) ([]UserIndexCapacity, string, error)

	// Namespace self-upgrade
	DescribeSelfUpgradeConfiguration(accountID, namespace string) (string, error)
	UpdateSelfUpgradeConfiguration(accountID, namespace, status string) (string, error)
	ListSelfUpgrades(
		accountID, namespace string,
		maxResults int32,
		nextToken string,
	) ([]*SelfUpgradeRequestDetail, string, error)
	UpdateSelfUpgrade(accountID, namespace, action, upgradeRequestID string) (*SelfUpgradeRequestDetail, error)

	AccountID() string
	Region() string
	Reset()
}

type Template

type Template struct {
	CreatedTime     time.Time
	LastUpdatedTime time.Time
	TemplateID      string
	Arn             string
	Name            string
	Version         *TemplateVersion
	Permissions     []ResourcePermission
}

Template represents a QuickSight template (a versioned, reusable dashboard/analysis layout definition).

type TemplateAlias

type TemplateAlias struct {
	AliasName             string
	Arn                   string
	TemplateVersionNumber int64
}

TemplateAlias represents a named pointer to a specific template version.

type TemplateVersion

type TemplateVersion struct {
	CreatedTime     time.Time
	Definition      map[string]any
	Arn             string
	Status          string
	SourceEntityArn string
	Description     string
	VersionNumber   int64
}

TemplateVersion represents one version of a QuickSight template. CreatedTime first: non-pointer prefix reduces GC pointer bytes.

type Theme

type Theme struct {
	CreatedTime     time.Time
	LastUpdatedTime time.Time
	ThemeID         string
	Arn             string
	Name            string
	Type            string
	Version         *ThemeVersion
	Permissions     []ResourcePermission
}

Theme represents a QuickSight theme (a versioned set of visual style settings).

type ThemeAlias

type ThemeAlias struct {
	AliasName          string
	Arn                string
	ThemeVersionNumber int64
}

ThemeAlias represents a named pointer to a specific theme version.

type ThemeVersion

type ThemeVersion struct {
	CreatedTime   time.Time
	Configuration map[string]any
	Arn           string
	Status        string
	BaseThemeID   string
	Description   string
	VersionNumber int64
}

ThemeVersion represents one version of a QuickSight theme. CreatedTime first: non-pointer prefix reduces GC pointer bytes.

type Topic

type Topic struct {
	CreatedTime           time.Time
	LastUpdatedTime       time.Time
	TopicID               string
	Arn                   string
	Name                  string
	Description           string
	UserExperienceVersion string
	DataSets              []map[string]any
	Permissions           []ResourcePermission
}

Topic represents a QuickSight topic (a natural-language Q&A data source).

type TopicAnswerError

type TopicAnswerError struct {
	AnswerID string
	Message  string
}

TopicAnswerError represents a single failed entry in a batch reviewed-answer create/delete operation.

type TopicRefreshDetails

type TopicRefreshDetails struct {
	RefreshID     string
	RefreshStatus string
}

TopicRefreshDetails represents the status of a single topic refresh execution.

type TopicRefreshSchedule

type TopicRefreshSchedule struct {
	ScheduleConfig map[string]any
	DatasetID      string
	DatasetArn     string
	RefreshType    string
	IsEnabled      bool
}

TopicRefreshSchedule represents one refresh schedule for a topic's dataset, keyed by DatasetId.

type TopicReviewedAnswer

type TopicReviewedAnswer struct {
	PrimaryVisual map[string]any
	Template      map[string]any
	AnswerID      string
	DatasetArn    string
	Question      string
	Mode          string
}

TopicReviewedAnswer represents one human-reviewed answer attached to a topic.

type User

type User struct {
	UserName     string
	Arn          string
	Email        string
	Role         string
	IdentityType string
	Namespace    string
	PrincipalID  string
	SessionName  string
	Active       bool
}

User represents a QuickSight user.

type UserIndexCapacity added in v1.2.0

type UserIndexCapacity struct {
	UserArn                 string
	UserName                string
	Email                   string
	Role                    string
	KBCount                 int32
	SpaceCount              int32
	TotalCapacityBytes      int64
	TotalKBCapacityBytes    int64
	TotalSpaceCapacityBytes int64
}

UserIndexCapacity represents one user's derived index-capacity consumption: the number and size of the knowledge bases and spaces they own, computed from this backend's actual KnowledgeBase/Space state (see InMemoryBackend.ListUsersIndexCapacity) rather than fabricated.

type VPCConnection

type VPCConnection struct {
	CreatedTime        time.Time
	LastUpdatedTime    time.Time
	VPCConnectionID    string
	Arn                string
	Name               string
	VPCID              string
	RoleArn            string
	Status             string
	AvailabilityStatus string
	SubnetIDs          []string
	SecurityGroupIDs   []string
	DNSResolvers       []string
}

VPCConnection represents a QuickSight VPC connection.

Jump to

Keyboard shortcuts

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