Documentation
¶
Index ¶
- Constants
- Variables
- type AdditionalLimit
- type AdvancedSecurityOptions
- type AppConfig
- type AppDataSource
- type Application
- type AuthorizedPrincipal
- type AutoTune
- type AutoTuneConfig
- type AutoTuneDetails
- type AutoTuneDuration
- type AutoTuneMaintenanceSchedule
- type BlueGreenDeploymentOptions
- type Capability
- type ClusterConfig
- type CognitoOptions
- type CreateDomainInput
- type DNSRegistrar
- type DataSource
- type DataSourceAttachment
- type DirectQueryDataSource
- type Domain
- type DomainEndpointOptions
- type DomainEntry
- type DomainIndex
- type DomainInformation
- type DomainMaintenance
- type DomainPackageDetails
- type DryRunStatus
- type EBSOptions
- type EnableSoftwareUpdateOptions
- type EncryptionAtRestOptions
- type EngineConfig
- type ExportOptionsInput
- type Handler
- func (h *Handler) ChaosOperations() []string
- func (h *Handler) ChaosRegions() []string
- func (h *Handler) ChaosServiceName() string
- func (h *Handler) ExtractOperation(c *echo.Context) string
- func (h *Handler) ExtractResource(c *echo.Context) string
- func (h *Handler) GetSupportedOperations() []string
- func (h *Handler) Handle(c *echo.Context) error
- func (h *Handler) Handler() echo.HandlerFunc
- func (h *Handler) MatchPriority() int
- func (h *Handler) Name() string
- func (h *Handler) Reset()
- func (h *Handler) Restore(ctx context.Context, data []byte) error
- func (h *Handler) RouteMatcher() service.Matcher
- func (h *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request)
- func (h *Handler) Snapshot(ctx context.Context) []byte
- type IdentityCenterOptions
- type InMemoryBackend
- func (b *InMemoryBackend) AcceptInboundConnection(connectionID string) (*InboundConnection, error)
- func (b *InMemoryBackend) AccountID() string
- func (b *InMemoryBackend) AddDataSource(domainName, name, description string, dataSourceType json.RawMessage) (string, error)
- func (b *InMemoryBackend) AddDirectQueryDataSource(name, description string, dataSourceType json.RawMessage, ...) (string, error)
- func (b *InMemoryBackend) AddDomainInternal(name, engineVersion string)
- func (b *InMemoryBackend) AddPackageInternal(packageID, packageName, packageType string)
- func (b *InMemoryBackend) AddTags(domainARN string, kv map[string]string) error
- func (b *InMemoryBackend) AssociatePackage(packageID, domainName string) (*DomainPackageDetails, error)
- func (b *InMemoryBackend) AssociatePackages(domainName string, packageIDs []string) ([]DomainPackageDetails, error)
- func (b *InMemoryBackend) AttachDataSource(applicationID, dataSourceArn string, workspaceConfig *WorkspaceConfigInput, ...) (*DataSourceAttachment, error)
- func (b *InMemoryBackend) AuthorizeVpcEndpointAccess(domainName, account, service string) (*AuthorizedPrincipal, error)
- func (b *InMemoryBackend) BatchGetServerlessCollections(ids, names []string) []*ServerlessCollection
- func (b *InMemoryBackend) CancelDomainConfigChange(domainName string, dryRun bool) ([]string, bool, error)
- func (b *InMemoryBackend) CancelServiceSoftwareUpdate(domainName string) (*ServiceSoftwareOptions, error)
- func (b *InMemoryBackend) CountDocuments(domainName, indexName string) (int, error)
- func (b *InMemoryBackend) CreateApplication(name string, appConfigs []AppConfig, dataSources []AppDataSource) (*Application, error)
- func (b *InMemoryBackend) CreateDomain(input CreateDomainInput) (*Domain, error)
- func (b *InMemoryBackend) CreateIndex(domainName, indexName string, mappings, settings, aliases map[string]any) (*DomainIndex, error)
- func (b *InMemoryBackend) CreateOutboundConnection(connectionAlias, connectionMode string, ...) (*OutboundConnection, error)
- func (b *InMemoryBackend) CreatePackage(name, pkgType, description string, source *PackageSource, ...) (*Package, error)
- func (b *InMemoryBackend) CreateServerlessAccessPolicy(policyType, name, description, policy string) (*ServerlessAccessPolicy, error)
- func (b *InMemoryBackend) CreateServerlessCollection(name, collectionType, description, kmsKeyArn string, tagMap map[string]string) (*ServerlessCollection, error)
- func (b *InMemoryBackend) CreateServerlessEncryptionPolicy(policyType, name, description, policy string) (*ServerlessEncryptionPolicy, error)
- func (b *InMemoryBackend) CreateServerlessNetworkPolicy(policyType, name, description, policy string) (*ServerlessNetworkPolicy, error)
- func (b *InMemoryBackend) CreateServerlessSecurityConfig(configType, description string, samlOptions *ServerlessSAMLOptions) (*ServerlessSecurityConfig, error)
- func (b *InMemoryBackend) CreateVpcEndpoint(domainArn string, vpcOptions map[string]any) (*VpcEndpoint, error)
- func (b *InMemoryBackend) DeleteApplication(id string) error
- func (b *InMemoryBackend) DeleteDataSource(domainName, name string) error
- func (b *InMemoryBackend) DeleteDirectQueryDataSource(name string) error
- func (b *InMemoryBackend) DeleteDocument(domainName, indexName, docID string) error
- func (b *InMemoryBackend) DeleteDomain(name string) (*Domain, error)
- func (b *InMemoryBackend) DeleteInboundConnection(connectionID string) (*InboundConnection, error)
- func (b *InMemoryBackend) DeleteIndex(domainName, indexName string) (*DomainIndex, error)
- func (b *InMemoryBackend) DeleteOutboundConnection(connectionID string) (*OutboundConnection, error)
- func (b *InMemoryBackend) DeletePackage(packageID string) (*Package, error)
- func (b *InMemoryBackend) DeleteServerlessAccessPolicy(policyType, name string) error
- func (b *InMemoryBackend) DeleteServerlessCollection(id string) (*ServerlessCollection, error)
- func (b *InMemoryBackend) DeleteServerlessEncryptionPolicy(policyType, name string) error
- func (b *InMemoryBackend) DeleteServerlessNetworkPolicy(policyType, name string) error
- func (b *InMemoryBackend) DeleteServerlessSecurityConfig(id string) error
- func (b *InMemoryBackend) DeleteVpcEndpoint(id string) (*VpcEndpoint, error)
- func (b *InMemoryBackend) DeregisterCapability(applicationID, capabilityName string) error
- func (b *InMemoryBackend) DescribeDataSourceAttachment(applicationID, dataSourceArn string) (*DataSourceAttachment, error)
- func (b *InMemoryBackend) DescribeDomain(name string) (*Domain, error)
- func (b *InMemoryBackend) DescribeDomains(names []string) ([]*Domain, error)
- func (b *InMemoryBackend) DescribeInboundConnections() []*InboundConnection
- func (b *InMemoryBackend) DescribeInstanceTypeLimits(instanceType, _ string) (*InstanceTypeLimits, error)
- func (b *InMemoryBackend) DescribeOutboundConnections() []*OutboundConnection
- func (b *InMemoryBackend) DescribePackages(ids []string) ([]*Package, error)
- func (b *InMemoryBackend) DescribeReservedInstanceOfferings(offeringID string) []*ReservedInstanceOffering
- func (b *InMemoryBackend) DescribeReservedInstances(reservationID string) []*ReservedInstance
- func (b *InMemoryBackend) DescribeVpcEndpoints(ids []string) ([]*VpcEndpoint, []map[string]any)
- func (b *InMemoryBackend) DetachDataSource(applicationID, dataSourceArn string) (*DataSourceAttachment, error)
- func (b *InMemoryBackend) DissociatePackage(packageID, domainName string) (*DomainPackageDetails, error)
- func (b *InMemoryBackend) DissociatePackages(domainName string, packageIDs []string) ([]DomainPackageDetails, error)
- func (b *InMemoryBackend) DomainDocumentCount(domainName string) int
- func (b *InMemoryBackend) GetApplication(id string) (*Application, error)
- func (b *InMemoryBackend) GetAutoTune(domainName string) ([]*AutoTune, error)
- func (b *InMemoryBackend) GetCapability(applicationID, capabilityName string) (*Capability, error)
- func (b *InMemoryBackend) GetChangeProgress(domainName string) (map[string]any, error)
- func (b *InMemoryBackend) GetCompatibleVersions(domainName string) []map[string]any
- func (b *InMemoryBackend) GetDataSource(domainName, name string) (*DataSource, error)
- func (b *InMemoryBackend) GetDefaultApplicationSetting() string
- func (b *InMemoryBackend) GetDirectQueryDataSource(name string) (*DirectQueryDataSource, error)
- func (b *InMemoryBackend) GetDocument(domainName, indexName, docID string) (map[string]any, error)
- func (b *InMemoryBackend) GetDomainHealth(domainName string) (map[string]any, error)
- func (b *InMemoryBackend) GetDomainMaintenanceStatus(domainName, maintenanceID string) (*DomainMaintenance, error)
- func (b *InMemoryBackend) GetDomainNodes(domainName string) ([]map[string]any, error)
- func (b *InMemoryBackend) GetDryRunProgress(domainName string) (*DryRunStatus, error)
- func (b *InMemoryBackend) GetIndex(domainName, indexName string) (*DomainIndex, error)
- func (b *InMemoryBackend) GetMigration(migrationID string) (*Migration, error)
- func (b *InMemoryBackend) GetPackageVersionHistory(packageID string) ([]*PackageVersionHistory, error)
- func (b *InMemoryBackend) GetServerlessAccessPolicy(policyType, name string) (*ServerlessAccessPolicy, error)
- func (b *InMemoryBackend) GetServerlessEncryptionPolicy(policyType, name string) (*ServerlessEncryptionPolicy, error)
- func (b *InMemoryBackend) GetServerlessSecurityConfig(id string) (*ServerlessSecurityConfig, error)
- func (b *InMemoryBackend) GetUpgradeHistory(domainName string) ([]*UpgradeHistory, error)
- func (b *InMemoryBackend) GetUpgradeStatus(domainName string) (string, string, string, error)
- func (b *InMemoryBackend) IndexDocument(domainName, indexName, docID string, doc map[string]any) (string, bool, error)
- func (b *InMemoryBackend) ListApplications() []*Application
- func (b *InMemoryBackend) ListDataSourceAttachments(applicationID string) []*DataSourceAttachment
- func (b *InMemoryBackend) ListDataSources(domainName string) ([]*DataSource, error)
- func (b *InMemoryBackend) ListDirectQueryDataSources() []*DirectQueryDataSource
- func (b *InMemoryBackend) ListDomainEntriesFiltered(engineType string) []DomainEntry
- func (b *InMemoryBackend) ListDomainMaintenances(domainName string) ([]*DomainMaintenance, error)
- func (b *InMemoryBackend) ListDomainNames() []string
- func (b *InMemoryBackend) ListDomainNamesByEngine(engineType string) []string
- func (b *InMemoryBackend) ListDomainsForPackage(packageID string) []string
- func (b *InMemoryBackend) ListInstanceTypeDetails(_, _ string) []map[string]any
- func (b *InMemoryBackend) ListMigrations(applicationID, statusFilter string) ([]*Migration, error)
- func (b *InMemoryBackend) ListPackagesForDomain(domainName string) []*Package
- func (b *InMemoryBackend) ListScheduledActions(domainName string) []*ScheduledAction
- func (b *InMemoryBackend) ListServerlessAccessPolicies(policyType string) []*ServerlessAccessPolicy
- func (b *InMemoryBackend) ListServerlessEncryptionPolicies(policyType string) []*ServerlessEncryptionPolicy
- func (b *InMemoryBackend) ListServerlessNetworkPolicies(policyType string) []*ServerlessNetworkPolicy
- func (b *InMemoryBackend) ListServerlessSecurityConfigs(configType string) []*ServerlessSecurityConfig
- func (b *InMemoryBackend) ListTags(domainARN string) (map[string]string, error)
- func (b *InMemoryBackend) ListVpcEndpointAccess(domainName string) ([]AuthorizedPrincipal, error)
- func (b *InMemoryBackend) ListVpcEndpoints() []*VpcEndpoint
- func (b *InMemoryBackend) ListVpcEndpointsForDomain(domainArn string) []*VpcEndpoint
- func (b *InMemoryBackend) PreviewDomainConfig(name string, input UpdateDomainConfigInput) (*Domain, error)
- func (b *InMemoryBackend) PurchaseReservedInstanceOffering(offeringID, name string, count int) (*ReservedInstance, error)
- func (b *InMemoryBackend) PutDefaultApplicationSetting(applicationArn string, setAsDefault bool) (string, error)
- func (b *InMemoryBackend) Region() string
- func (b *InMemoryBackend) RegisterCapability(applicationID, capabilityName string) (*Capability, error)
- func (b *InMemoryBackend) RejectInboundConnection(connectionID string) (*InboundConnection, error)
- func (b *InMemoryBackend) RemoveTags(domainARN string, keys []string) error
- func (b *InMemoryBackend) Reset()
- func (b *InMemoryBackend) Restore(ctx context.Context, data []byte) error
- func (b *InMemoryBackend) RevokeVpcEndpointAccess(domainName, account string) error
- func (b *InMemoryBackend) RollbackServiceSoftwareUpdate(domainName string) (*RollbackServiceSoftwareOptions, error)
- func (b *InMemoryBackend) SearchIndex(domainName, indexName string, query map[string]any, size int) (*SearchResult, error)
- func (b *InMemoryBackend) SetAutoTune(domainName, desiredState string, schedules []AutoTuneMaintenanceSchedule) error
- func (b *InMemoryBackend) SetClock(fn func() time.Time)
- func (b *InMemoryBackend) SetDNSRegistrar(dns DNSRegistrar)
- func (b *InMemoryBackend) SetProcessingDelay(d time.Duration)
- func (b *InMemoryBackend) Snapshot(ctx context.Context) []byte
- func (b *InMemoryBackend) StartDomainMaintenance(domainName, action, nodeID string) (*DomainMaintenance, error)
- func (b *InMemoryBackend) StartMigration(applicationID, sourceArn string, workspace *MigrationWorkspaceInput, ...) (*Migration, error)
- func (b *InMemoryBackend) StartServiceSoftwareUpdate(domainName, scheduleAt string) (*ServiceSoftwareOptions, error)
- func (b *InMemoryBackend) UpdateApplication(id string, appConfigs []AppConfig, dataSources []AppDataSource) (*Application, error)
- func (b *InMemoryBackend) UpdateDataSource(domainName, name, description string, dataSourceType json.RawMessage, ...) error
- func (b *InMemoryBackend) UpdateDirectQueryDataSource(name, description string, dataSourceType json.RawMessage, ...) (*DirectQueryDataSource, error)
- func (b *InMemoryBackend) UpdateDomainConfig(name string, input UpdateDomainConfigInput) (*Domain, error)
- func (b *InMemoryBackend) UpdateIndex(domainName, indexName string, mappings, settings map[string]any) (*DomainIndex, error)
- func (b *InMemoryBackend) UpdatePackage(packageID, description string) (*Package, error)
- func (b *InMemoryBackend) UpdatePackageScope(packageID, _ string, _ []string) (*Package, error)
- func (b *InMemoryBackend) UpdateScheduledAction(domainName, actionID, actionType, scheduleAt string, desiredStartTime int64) (*ScheduledAction, error)
- func (b *InMemoryBackend) UpdateServerlessAccessPolicy(policyType, name, description, policy, policyVersion string) (*ServerlessAccessPolicy, error)
- func (b *InMemoryBackend) UpdateServerlessEncryptionPolicy(policyType, name, description, policy, policyVersion string) (*ServerlessEncryptionPolicy, error)
- func (b *InMemoryBackend) UpdateServerlessSecurityConfig(id, description, configVersion string, samlOptions *ServerlessSAMLOptions) (*ServerlessSecurityConfig, error)
- func (b *InMemoryBackend) UpdateVpcEndpoint(id string, vpcOptions map[string]any) (*VpcEndpoint, error)
- func (b *InMemoryBackend) UpgradeDomain(domainName, upgradeName string) error
- func (b *InMemoryBackend) ValidateInsightEntity(entityType, entityValue string) error
- type InboundConnection
- type InstanceTypeLimits
- type LogPublishingOption
- type Migration
- type MigrationWorkspaceInput
- type NodeToNodeEncryptionOptions
- type OffPeakWindow
- type OffPeakWindowOptions
- type OutboundConnection
- type Package
- type PackageEncryptionOptions
- type PackageSource
- type PackageVersionHistory
- type Provider
- type ReservedInstance
- type ReservedInstanceOffering
- type RollbackServiceSoftwareOptions
- type SAMLOptionsInput
- type SavedObjectIdentifierInput
- type ScheduledAction
- type ScheduledAutoTuneDetails
- type SearchHit
- type SearchResult
- type ServerlessAccessPolicy
- type ServerlessCollection
- type ServerlessEncryptionPolicy
- type ServerlessNetworkPolicy
- type ServerlessSAMLOptions
- type ServerlessSecurityConfig
- type ServiceSoftwareOptions
- type SnapshotOptions
- type StorageBackend
- type StorageType
- type StorageTypeLimit
- type UpdateDomainConfigInput
- type UpgradeHistory
- type UpgradeStepItem
- type VPCOptions
- type VpcEndpoint
- type WindowStartTime
- type Workspace
- type WorkspaceConfigInput
- type ZoneAwarenessConfig
Constants ¶
const ( EngineStub = "stub" EngineDocker = "docker" )
Engine mode constants.
Variables ¶
var ( ErrDomainNotFound = errors.New("ResourceNotFoundException") ErrDomainAlreadyExists = errors.New("ResourceAlreadyExistsException") ErrInvalidParameter = errors.New("ValidationException") ErrValidation = errors.New("ValidationException") ErrConnectionNotFound = errors.New("ResourceNotFoundException") ErrDataSourceNotFound = errors.New("ResourceNotFoundException") ErrDataSourceAlreadyExists = errors.New("ResourceAlreadyExistsException") ErrPackageNotFound = errors.New("ResourceNotFoundException") ErrApplicationNotFound = errors.New("ResourceNotFoundException") ErrApplicationAlreadyExists = errors.New("ResourceAlreadyExistsException") ErrScheduledActionNotFound = errors.New("ResourceNotFoundException") ErrAttachmentNotFound = errors.New("ResourceNotFoundException") ErrAttachmentConflict = errors.New("ConflictException") ErrCapabilityNotFound = errors.New("ResourceNotFoundException") ErrMigrationNotFound = errors.New("ResourceNotFoundException") ErrInsightNotFound = errors.New("ResourceNotFoundException") ErrWorkspaceNotFound = errors.New("ResourceNotFoundException") )
Errors returned by the OpenSearch backend.
var ErrNilAppContext = errors.New("nil AppContext passed to OpenSearch Provider.Init")
ErrNilAppContext is returned by Init when a nil AppContext is passed.
Functions ¶
This section is empty.
Types ¶
type AdditionalLimit ¶
type AdditionalLimit struct {
LimitName string `json:"LimitName"`
LimitValues []string `json:"LimitValues"`
}
AdditionalLimit is an additional named limit for an instance type.
type AdvancedSecurityOptions ¶
type AdvancedSecurityOptions struct {
SAMLOptions *SAMLOptionsInput `json:"samlOptions,omitempty"`
AnonymousAuthEnabled bool `json:"anonymousAuthEnabled,omitempty"`
Enabled bool `json:"enabled"`
InternalUserDatabaseEnabled bool `json:"internalUserDatabaseEnabled,omitempty"`
}
AdvancedSecurityOptions holds fine-grained access control settings.
type AppDataSource ¶
type AppDataSource struct {
DataSourceArn string `json:"dataSourceArn"`
}
AppDataSource represents a data source linked to an application.
type Application ¶
type Application struct {
ID string `json:"id"`
Name string `json:"name"`
ARN string `json:"arn"`
AppConfigs []AppConfig `json:"appConfigs"`
DataSources []AppDataSource `json:"dataSources"`
CreatedAt float64 `json:"createdAt"`
LastUpdatedAt float64 `json:"lastUpdatedAt"`
}
Application represents an OpenSearch UI application.
type AuthorizedPrincipal ¶
type AuthorizedPrincipal struct {
Principal string `json:"principal"`
PrincipalType string `json:"principalType"`
}
AuthorizedPrincipal represents an authorized principal for VPC endpoint access.
type AutoTune ¶
type AutoTune struct {
AutoTuneType string `json:"AutoTuneType"`
AutoTuneDetails AutoTuneDetails `json:"AutoTuneDetails"`
}
AutoTune is the response shape for one auto-tune item.
type AutoTuneConfig ¶
type AutoTuneConfig struct {
DesiredState string `json:"DesiredState"`
DomainName string `json:"-"`
MaintenanceSchedules []AutoTuneMaintenanceSchedule `json:"MaintenanceSchedules,omitempty"`
}
AutoTuneConfig stores auto-tune configuration for a domain.
type AutoTuneDetails ¶
type AutoTuneDetails struct {
ScheduledAutoTuneDetails ScheduledAutoTuneDetails `json:"ScheduledAutoTuneDetails"`
}
AutoTuneDetails holds the state details of an auto-tune entry.
type AutoTuneDuration ¶
AutoTuneDuration represents a duration for a maintenance window.
type AutoTuneMaintenanceSchedule ¶
type AutoTuneMaintenanceSchedule struct {
CronExpression string `json:"CronExpressionForRecurrence,omitempty"`
Duration AutoTuneDuration `json:"Duration"`
StartAt float64 `json:"StartAt,omitempty"`
}
AutoTuneMaintenanceSchedule represents a maintenance window.
type BlueGreenDeploymentOptions ¶
type BlueGreenDeploymentOptions struct {
Enabled bool `json:"enabled"`
}
BlueGreenDeploymentOptions holds blue-green deployment settings.
type Capability ¶ added in v1.2.0
type Capability struct {
StatusUntil time.Time `json:"statusUntil,omitzero"`
ApplicationID string `json:"applicationId"`
CapabilityName string `json:"capabilityName"`
Status string `json:"status"`
}
Capability represents a registered capability (currently only AI Assistant, capabilityName "ai-capability") on an OpenSearch UI application. Matches types.CapabilityStatus / the ApplicationId+CapabilityName+Status fields shared by RegisterCapability/DeregisterCapability/GetCapability's outputs. CapabilityConfig itself is not modeled as stored state: the only union member the SDK defines (types.AIConfig) is an empty struct with no fields at all, so there is nothing beyond the name/status to persist -- see handler_capabilities.go.
type ClusterConfig ¶
type ClusterConfig struct {
ZoneAwarenessConfig *ZoneAwarenessConfig `json:"zoneAwarenessConfig,omitempty"`
BlueGreenDeploymentOptions *BlueGreenDeploymentOptions `json:"blueGreenDeploymentOptions,omitempty"`
InstanceType string `json:"instanceType"`
DedicatedMasterType string `json:"dedicatedMasterType,omitempty"`
WarmType string `json:"warmType,omitempty"`
InstanceCount int `json:"instanceCount"`
DedicatedMasterCount int `json:"dedicatedMasterCount,omitempty"`
WarmCount int `json:"warmCount,omitempty"`
DedicatedMasterEnabled bool `json:"dedicatedMasterEnabled,omitempty"`
ZoneAwarenessEnabled bool `json:"zoneAwarenessEnabled,omitempty"`
WarmEnabled bool `json:"warmEnabled,omitempty"`
ColdStorageEnabled bool `json:"coldStorageEnabled,omitempty"`
MultiAZWithStandbyEnabled bool `json:"multiAZWithStandbyEnabled,omitempty"`
}
ClusterConfig represents the cluster configuration for an OpenSearch domain.
type CognitoOptions ¶
type CognitoOptions struct {
IdentityPoolID string `json:"identityPoolId,omitempty"`
RoleARN string `json:"roleArn,omitempty"`
UserPoolID string `json:"userPoolId,omitempty"`
Enabled bool `json:"enabled"`
}
CognitoOptions holds Cognito configuration for Kibana authentication.
type CreateDomainInput ¶
type CreateDomainInput struct {
EBSOptions *EBSOptions
SnapshotOptions *SnapshotOptions
EncryptionAtRestOptions *EncryptionAtRestOptions
NodeToNodeEncryptionOptions *NodeToNodeEncryptionOptions
DomainEndpointOptions *DomainEndpointOptions
AdvancedSecurityOptions *AdvancedSecurityOptions
VPCOptions *VPCOptions
CognitoOptions *CognitoOptions
OffPeakWindowOptions *OffPeakWindowOptions
IdentityCenterOptions *IdentityCenterOptions
EnableSoftwareUpdateOptions *EnableSoftwareUpdateOptions
LogPublishingOptions map[string]*LogPublishingOption
Tags map[string]string
Name string
EngineVersion string
AccessPolicies string
ClusterConfig ClusterConfig
}
CreateDomainInput holds all options for creating a new OpenSearch domain.
type DNSRegistrar ¶
DNSRegistrar can register and deregister hostnames with an embedded DNS server.
type DataSource ¶
type DataSource struct {
Name string `json:"name"`
Description string `json:"description"`
Status string `json:"status,omitempty"`
DomainName string `json:"-"`
DataSourceType json.RawMessage `json:"dataSourceType,omitempty"`
}
DataSource represents a data source attached to an OpenSearch domain.
type DataSourceAttachment ¶ added in v1.2.0
type DataSourceAttachment struct {
CreatedAt time.Time `json:"-"`
AttachmentID string `json:"attachmentId"`
ApplicationID string `json:"applicationId"`
DataSourceArn string `json:"dataSourceArn"`
Status string `json:"status"`
}
DataSourceAttachment represents an attachment of a real data source (an OpenSearch domain or an OpenSearch Serverless collection, identified by ARN) to an OpenSearch UI application. Matches types.DataSourceAttachmentSummary plus the identity fields (AttachmentId/DataSourceArn/Status) shared by Attach/Detach/ DescribeDataSourceAttachment's outputs.
type DirectQueryDataSource ¶
type DirectQueryDataSource struct {
// DataSourceType is stored as raw JSON for the same reason as
// DataSource.DataSourceType above -- types.DirectQueryDataSourceType is
// also a tagged union (CloudWatchLog / SecurityLake members).
DataSourceType json.RawMessage `json:"dataSourceType,omitempty"`
Name string `json:"name"`
Description string `json:"description"`
DataSourceArn string `json:"dataSourceArn"`
OpenSearchArns []string `json:"openSearchArns"`
}
DirectQueryDataSource represents a direct-query data source.
type Domain ¶
type Domain struct {
ProcessingUntil time.Time `json:"processingUntil,omitzero"`
Tags *tags.Tags `json:"tags,omitempty"`
SnapshotOptions *SnapshotOptions `json:"snapshotOptions,omitempty"`
NodeToNodeEncryptionOptions *NodeToNodeEncryptionOptions `json:"nodeToNodeEncryptionOptions,omitempty"`
DomainEndpointOptions *DomainEndpointOptions `json:"domainEndpointOptions,omitempty"`
AdvancedSecurityOptions *AdvancedSecurityOptions `json:"advancedSecurityOptions,omitempty"`
VPCOptions *VPCOptions `json:"vpcOptions,omitempty"`
CognitoOptions *CognitoOptions `json:"cognitoOptions,omitempty"`
OffPeakWindowOptions *OffPeakWindowOptions `json:"offPeakWindowOptions,omitempty"`
IdentityCenterOptions *IdentityCenterOptions `json:"identityCenterOptions,omitempty"`
EnableSoftwareUpdateOptions *EnableSoftwareUpdateOptions `json:"enableSoftwareUpdateOptions,omitempty"`
LogPublishingOptions map[string]*LogPublishingOption `json:"logPublishingOptions,omitempty"`
EBSOptions *EBSOptions `json:"ebsOptions,omitempty"`
EncryptionAtRestOptions *EncryptionAtRestOptions `json:"encryptionAtRestOptions,omitempty"`
ServiceSoftware *ServiceSoftwareOptions `json:"serviceSoftware,omitempty"`
Name string `json:"name"`
ARN string `json:"arn"`
// DomainID is the AWS-format unique domain identifier ("{accountId}/{name}"),
// a required field on DomainStatus (see aws-sdk-go-v2/service/opensearch
// types.DomainStatus.DomainId) that real AWS always returns alongside ARN.
DomainID string `json:"domainID"`
EngineVersion string `json:"engineVersion"`
Endpoint string `json:"endpoint"`
Status string `json:"status"`
LastChangeID string `json:"lastChangeID,omitempty"`
ProcessingStatus string `json:"processingStatus,omitempty"`
AccessPolicies string `json:"accessPolicies,omitempty"`
ClusterConfig ClusterConfig `json:"clusterConfig"`
Created bool `json:"created,omitempty"`
Deleted bool `json:"deleted,omitempty"`
}
Domain represents an OpenSearch domain.
type DomainEndpointOptions ¶
type DomainEndpointOptions struct {
CustomEndpointCertificateArn string `json:"customEndpointCertificateArn,omitempty"`
CustomEndpoint string `json:"customEndpoint,omitempty"`
TLSSecurityPolicy string `json:"tlsSecurityPolicy,omitempty"`
EnforceHTTPS bool `json:"enforceHTTPS,omitempty"`
CustomEndpointEnabled bool `json:"customEndpointEnabled,omitempty"`
}
DomainEndpointOptions holds HTTPS and custom endpoint settings.
type DomainEntry ¶
DomainEntry holds the name and engine version of a domain, used for list responses.
type DomainIndex ¶
type DomainIndex struct {
Mappings map[string]any `json:"Mappings,omitempty"`
Settings map[string]any `json:"Settings,omitempty"`
Aliases map[string]any `json:"Aliases,omitempty"`
// Documents holds the real per-index document store keyed by document ID.
Documents map[string]map[string]any `json:"Documents,omitempty"`
IndexName string `json:"IndexName"`
IndexStatus string `json:"IndexStatus"`
// DomainName identifies the owning domain and is used only to key the
// pkgs/store composite table (domainName#indexName); it is never
// serialized on the wire, matching how the domain name was already
// implied by the outer map key before the pkgs/store conversion.
DomainName string `json:"-"`
// DocumentCount is the number of documents currently stored in the index.
DocumentCount int `json:"DocumentCount"`
}
DomainIndex represents an OpenSearch index, including its stored documents.
type DomainInformation ¶ added in v1.2.0
type DomainInformation struct {
DomainName string `json:"domainName"`
OwnerID string `json:"ownerId,omitempty"`
Region string `json:"region,omitempty"`
}
DomainInformation identifies the source or destination domain of a cross-cluster connection. On the wire this nests inside a DomainInformationContainer under the AWSDomainInformation key (see types.AWSDomainInformation / types.DomainInformationContainer).
type DomainMaintenance ¶
type DomainMaintenance struct {
MaintenanceID string `json:"MaintenanceId"`
DomainName string `json:"DomainName"`
Action string `json:"Action"`
NodeID string `json:"NodeId,omitempty"`
Status string `json:"Status"`
StatusMessage string `json:"StatusMessage,omitempty"`
CreatedAt float64 `json:"CreatedAt"`
UpdatedAt float64 `json:"UpdatedAt"`
}
DomainMaintenance represents a maintenance action on a domain.
type DomainPackageDetails ¶
type DomainPackageDetails struct {
PackageID string `json:"packageId"`
DomainName string `json:"domainName"`
State string `json:"state"`
PackageName string `json:"packageName,omitempty"`
PackageType string `json:"packageType,omitempty"`
LastUpdated float64 `json:"lastUpdated,omitempty"`
}
DomainPackageDetails holds details about a package associated with a domain.
type DryRunStatus ¶
type DryRunStatus struct {
DryRunID string `json:"DryRunId"`
DryRunStatus string `json:"DryRunStatus"`
CreationDate string `json:"CreationDate"`
UpdateDate string `json:"UpdateDate"`
DomainName string `json:"-"`
ValidationFailures []map[string]any `json:"ValidationFailures"`
}
DryRunStatus holds dry-run progress state for a domain.
type EBSOptions ¶
type EBSOptions struct {
VolumeType string `json:"volumeType,omitempty"`
KMSKeyID string `json:"kmsKeyId,omitempty"`
VolumeSize int `json:"volumeSize,omitempty"`
IOPS int `json:"iops,omitempty"`
Throughput int `json:"throughput,omitempty"`
EBSEnabled bool `json:"ebsEnabled"`
}
EBSOptions represents EBS volume settings for an OpenSearch domain.
type EnableSoftwareUpdateOptions ¶
type EnableSoftwareUpdateOptions struct {
AutoSoftwareUpdateEnabled bool `json:"autoSoftwareUpdateEnabled"`
}
EnableSoftwareUpdateOptions holds settings for automatic software updates.
type EncryptionAtRestOptions ¶
type EncryptionAtRestOptions struct {
KMSKeyID string `json:"kmsKeyId,omitempty"`
Enabled bool `json:"enabled"`
}
EncryptionAtRestOptions holds encryption at rest settings.
type EngineConfig ¶
type EngineConfig interface {
GetOpenSearchEngine() string
}
EngineConfig is the interface for accessing the OpenSearch engine mode configuration.
type ExportOptionsInput ¶ added in v1.2.0
type ExportOptionsInput struct {
Objects []SavedObjectIdentifierInput
Types []string
IncludeReferencesDeep bool
}
ExportOptionsInput mirrors types.ExportOptions (StartMigration's optional export-scope filter). This emulator has no saved-object store to actually filter (see the Migration doc comment in models.go), so beyond structural validation these fields are parsed and then intentionally discarded -- GetMigrationOutput/MigrationSummary never echo them back either, the same "accepted, validated, not stored" precedent services/appconfig's StartExperimentRun DeploymentParameters already established.
type Handler ¶
type Handler struct {
Backend StorageBackend
AccountID string
Region string
}
Handler is the HTTP handler for OpenSearch operations.
func NewHandler ¶
func NewHandler(backend StorageBackend) *Handler
NewHandler creates a new OpenSearch Handler.
func (*Handler) ChaosOperations ¶
ChaosOperations returns all operations that can be fault-injected.
func (*Handler) ChaosRegions ¶
ChaosRegions returns all regions this OpenSearch instance handles.
func (*Handler) ChaosServiceName ¶
ChaosServiceName returns the lowercase AWS service name for fault rule matching.
func (*Handler) ExtractOperation ¶
ExtractOperation returns the operation name from a request.
func (*Handler) ExtractResource ¶
ExtractResource returns the primary resource identifier from the request path.
func (*Handler) GetSupportedOperations ¶
GetSupportedOperations returns supported operations.
func (*Handler) Handler ¶
func (h *Handler) Handler() echo.HandlerFunc
Handler returns the Echo HandlerFunc for this service.
func (*Handler) MatchPriority ¶
MatchPriority returns the routing priority.
func (*Handler) RouteMatcher ¶
RouteMatcher returns a matcher that selects OpenSearch requests by path prefix.
func (*Handler) ServeHTTP ¶
func (h *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request)
ServeHTTP implements http.Handler for the OpenSearch service.
type IdentityCenterOptions ¶
type IdentityCenterOptions struct {
IdentityCenterInstanceARN string `json:"identityCenterInstanceARN,omitempty"`
IdentityCenterApplicationARN string `json:"identityCenterApplicationARN,omitempty"`
IdentityStoreID string `json:"identityStoreId,omitempty"`
RolesKey string `json:"rolesKey,omitempty"`
SubjectKey string `json:"subjectKey,omitempty"`
EnabledAPIAccess bool `json:"enabledAPIAccess"`
}
IdentityCenterOptions holds IAM Identity Center integration settings. Field names match the current aws-sdk-go-v2 IdentityCenterOptions/-Input shapes (IdentityCenterInstanceARN/RolesKey/SubjectKey), which superseded the older IamIdentityCenterOptions shape (IamIdentityCenterArn/IamRoleFor...) that AWS no longer wires into CreateDomain/UpdateDomainConfig.
type InMemoryBackend ¶
type InMemoryBackend struct {
// contains filtered or unexported fields
}
InMemoryBackend is the in-memory store for OpenSearch domains.
Most resource collections are *store.Table[T] registered on b.registry -- see store_setup.go's registerAllTables doc for the full clean/dirty split and the reasoning behind the handful of fields left as plain maps.
func NewInMemoryBackend ¶
func NewInMemoryBackend(accountID, region string) *InMemoryBackend
NewInMemoryBackend creates a new InMemoryBackend.
func (*InMemoryBackend) AcceptInboundConnection ¶
func (b *InMemoryBackend) AcceptInboundConnection(connectionID string) (*InboundConnection, error)
AcceptInboundConnection accepts an inbound cross-cluster connection by ID, transitioning it (and, if present, its mirrored outbound counterpart) to ACTIVE.
func (*InMemoryBackend) AccountID ¶
func (b *InMemoryBackend) AccountID() string
AccountID returns the AWS account ID this backend is configured for.
func (*InMemoryBackend) AddDataSource ¶
func (b *InMemoryBackend) AddDataSource( domainName, name, description string, dataSourceType json.RawMessage, ) (string, error)
AddDataSource adds a data source to a domain.
func (*InMemoryBackend) AddDirectQueryDataSource ¶
func (b *InMemoryBackend) AddDirectQueryDataSource( name, description string, dataSourceType json.RawMessage, openSearchArns []string, ) (string, error)
AddDirectQueryDataSource adds a direct-query data source.
func (*InMemoryBackend) AddDomainInternal ¶
func (b *InMemoryBackend) AddDomainInternal(name, engineVersion string)
AddDomainInternal seeds a domain directly for use in tests.
func (*InMemoryBackend) AddPackageInternal ¶
func (b *InMemoryBackend) AddPackageInternal(packageID, packageName, packageType string)
AddPackageInternal seeds a package directly for use in tests.
func (*InMemoryBackend) AddTags ¶
func (b *InMemoryBackend) AddTags(domainARN string, kv map[string]string) error
AddTags adds or updates tags on the domain identified by ARN.
func (*InMemoryBackend) AssociatePackage ¶
func (b *InMemoryBackend) AssociatePackage( packageID, domainName string, ) (*DomainPackageDetails, error)
AssociatePackage associates a package with a domain.
func (*InMemoryBackend) AssociatePackages ¶
func (b *InMemoryBackend) AssociatePackages( domainName string, packageIDs []string, ) ([]DomainPackageDetails, error)
AssociatePackages associates multiple packages with a domain.
func (*InMemoryBackend) AttachDataSource ¶ added in v1.2.0
func (b *InMemoryBackend) AttachDataSource( applicationID, dataSourceArn string, workspaceConfig *WorkspaceConfigInput, workspaceID string, ) (*DataSourceAttachment, error)
AttachDataSource attaches a real data source (domain or serverless collection ARN) to an OpenSearch application. Idempotent: re-attaching the same (applicationID, dataSourceArn) pair returns the existing attachment rather than creating a duplicate. workspaceConfig/workspaceID are the optional WorkspaceConfiguration/WorkspaceId request fields (see resolveWorkspaceConfigLocked and the Workspace doc comment in models.go for why this can validate/create a workspace but never surfaces one back to the caller -- AttachDataSourceOutput has no field for it); both are validated on every call, including idempotent replays, since a validation error should not be silently skipped just because the attachment itself already exists.
func (*InMemoryBackend) AuthorizeVpcEndpointAccess ¶
func (b *InMemoryBackend) AuthorizeVpcEndpointAccess( domainName, account, service string, ) (*AuthorizedPrincipal, error)
AuthorizeVpcEndpointAccess grants VPC endpoint access for an account or service.
func (*InMemoryBackend) BatchGetServerlessCollections ¶
func (b *InMemoryBackend) BatchGetServerlessCollections(ids, names []string) []*ServerlessCollection
BatchGetServerlessCollections returns a list of collections by IDs or names. Empty ids/names returns all collections.
func (*InMemoryBackend) CancelDomainConfigChange ¶
func (b *InMemoryBackend) CancelDomainConfigChange( domainName string, dryRun bool, ) ([]string, bool, error)
CancelDomainConfigChange cancels a pending configuration change on a domain.
func (*InMemoryBackend) CancelServiceSoftwareUpdate ¶
func (b *InMemoryBackend) CancelServiceSoftwareUpdate( domainName string, ) (*ServiceSoftwareOptions, error)
CancelServiceSoftwareUpdate cancels a pending service software update.
AWS only permits cancellation while an update is actually scheduled (UpdateStatus == PENDING_UPDATE). When nothing is scheduled it rejects the request, so this mutates the stored software-update state and returns a ValidationException in that case rather than a canned success envelope.
func (*InMemoryBackend) CountDocuments ¶
func (b *InMemoryBackend) CountDocuments(domainName, indexName string) (int, error)
CountDocuments returns the number of documents stored in an index.
func (*InMemoryBackend) CreateApplication ¶
func (b *InMemoryBackend) CreateApplication( name string, appConfigs []AppConfig, dataSources []AppDataSource, ) (*Application, error)
CreateApplication creates an OpenSearch UI application.
func (*InMemoryBackend) CreateDomain ¶
func (b *InMemoryBackend) CreateDomain(input CreateDomainInput) (*Domain, error)
CreateDomain creates a new OpenSearch domain.
func (*InMemoryBackend) CreateIndex ¶
func (b *InMemoryBackend) CreateIndex( domainName, indexName string, mappings, settings, aliases map[string]any, ) (*DomainIndex, error)
CreateIndex creates an index for a domain.
func (*InMemoryBackend) CreateOutboundConnection ¶
func (b *InMemoryBackend) CreateOutboundConnection( connectionAlias, connectionMode string, localDomainInfo, remoteDomainInfo DomainInformation, skipUnavailable, endpoint string, ) (*OutboundConnection, error)
CreateOutboundConnection creates a new outbound cross-cluster connection. It starts in PENDING_ACCEPTANCE, matching real AWS behavior where the remote domain owner must accept the connection before it becomes ACTIVE. gopherstack emulates a single account/region, so it also mirrors a pending InboundConnection sharing the same ConnectionId (Local/Remote swapped) so the connection can be discovered and accepted/rejected via the inbound cross-cluster connection APIs, exactly like a real remote domain owner would see it.
func (*InMemoryBackend) CreatePackage ¶
func (b *InMemoryBackend) CreatePackage( name, pkgType, description string, source *PackageSource, encryptionOptions *PackageEncryptionOptions, ) (*Package, error)
CreatePackage creates a new OpenSearch package.
func (*InMemoryBackend) CreateServerlessAccessPolicy ¶
func (b *InMemoryBackend) CreateServerlessAccessPolicy( policyType, name, description, policy string, ) (*ServerlessAccessPolicy, error)
CreateServerlessAccessPolicy creates a new access policy.
func (*InMemoryBackend) CreateServerlessCollection ¶
func (b *InMemoryBackend) CreateServerlessCollection( name, collectionType, description, kmsKeyArn string, tagMap map[string]string, ) (*ServerlessCollection, error)
CreateServerlessCollection creates a new OpenSearch Serverless collection.
func (*InMemoryBackend) CreateServerlessEncryptionPolicy ¶
func (b *InMemoryBackend) CreateServerlessEncryptionPolicy( policyType, name, description, policy string, ) (*ServerlessEncryptionPolicy, error)
CreateServerlessEncryptionPolicy creates a new encryption policy.
func (*InMemoryBackend) CreateServerlessNetworkPolicy ¶
func (b *InMemoryBackend) CreateServerlessNetworkPolicy( policyType, name, description, policy string, ) (*ServerlessNetworkPolicy, error)
CreateServerlessNetworkPolicy creates a new network policy.
func (*InMemoryBackend) CreateServerlessSecurityConfig ¶
func (b *InMemoryBackend) CreateServerlessSecurityConfig( configType, description string, samlOptions *ServerlessSAMLOptions, ) (*ServerlessSecurityConfig, error)
CreateServerlessSecurityConfig creates a new security config.
func (*InMemoryBackend) CreateVpcEndpoint ¶
func (b *InMemoryBackend) CreateVpcEndpoint( domainArn string, vpcOptions map[string]any, ) (*VpcEndpoint, error)
CreateVpcEndpoint creates a new VPC endpoint.
func (*InMemoryBackend) DeleteApplication ¶
func (b *InMemoryBackend) DeleteApplication(id string) error
DeleteApplication removes an application by ID, cascading the removal of every resource scoped to it: data source attachments, capabilities, migration jobs, and workspaces (all four families added by AttachDataSource/RegisterCapability/StartMigration and friends), matching the cascade-cleanup precedent DeleteDomain already established for domain-scoped resources.
func (*InMemoryBackend) DeleteDataSource ¶
func (b *InMemoryBackend) DeleteDataSource(domainName, name string) error
DeleteDataSource removes a data source from a domain.
func (*InMemoryBackend) DeleteDirectQueryDataSource ¶
func (b *InMemoryBackend) DeleteDirectQueryDataSource(name string) error
DeleteDirectQueryDataSource removes a direct-query data source by name.
func (*InMemoryBackend) DeleteDocument ¶
func (b *InMemoryBackend) DeleteDocument(domainName, indexName, docID string) error
DeleteDocument removes a document by ID and updates the document count.
func (*InMemoryBackend) DeleteDomain ¶
func (b *InMemoryBackend) DeleteDomain(name string) (*Domain, error)
DeleteDomain removes a domain by name and cleans up all associated resources.
When processingDelay is 0 the domain (and all its scoped resources) is removed immediately and the returned status reports Deleted:true / Deleting. When a delay is configured the domain enters a real, observable Deleting window: it remains describable with Deleted:true until the window elapses, after which it is cascaded away lazily on the next write.
func (*InMemoryBackend) DeleteInboundConnection ¶
func (b *InMemoryBackend) DeleteInboundConnection(connectionID string) (*InboundConnection, error)
DeleteInboundConnection removes an inbound connection by ID. With a processing delay configured the connection first enters an observable DELETING window. Deleting an unknown connection ID is a ResourceNotFoundException, matching DeleteOutboundConnection.
func (*InMemoryBackend) DeleteIndex ¶
func (b *InMemoryBackend) DeleteIndex(domainName, indexName string) (*DomainIndex, error)
DeleteIndex removes an index from a domain.
func (*InMemoryBackend) DeleteOutboundConnection ¶
func (b *InMemoryBackend) DeleteOutboundConnection( connectionID string, ) (*OutboundConnection, error)
DeleteOutboundConnection removes an outbound connection by ID. With a processing delay configured the connection first enters an observable DELETING window before it is finally removed.
func (*InMemoryBackend) DeletePackage ¶
func (b *InMemoryBackend) DeletePackage(packageID string) (*Package, error)
DeletePackage removes a package by ID.
func (*InMemoryBackend) DeleteServerlessAccessPolicy ¶
func (b *InMemoryBackend) DeleteServerlessAccessPolicy(policyType, name string) error
DeleteServerlessAccessPolicy removes an access policy by type and name.
func (*InMemoryBackend) DeleteServerlessCollection ¶
func (b *InMemoryBackend) DeleteServerlessCollection(id string) (*ServerlessCollection, error)
DeleteServerlessCollection removes a collection by ID. With a processing delay configured the collection first enters an observable DELETING window before it is finally removed.
func (*InMemoryBackend) DeleteServerlessEncryptionPolicy ¶
func (b *InMemoryBackend) DeleteServerlessEncryptionPolicy(policyType, name string) error
DeleteServerlessEncryptionPolicy removes an encryption policy.
func (*InMemoryBackend) DeleteServerlessNetworkPolicy ¶
func (b *InMemoryBackend) DeleteServerlessNetworkPolicy(policyType, name string) error
DeleteServerlessNetworkPolicy removes a network policy.
func (*InMemoryBackend) DeleteServerlessSecurityConfig ¶
func (b *InMemoryBackend) DeleteServerlessSecurityConfig(id string) error
DeleteServerlessSecurityConfig removes a security config by ID.
func (*InMemoryBackend) DeleteVpcEndpoint ¶
func (b *InMemoryBackend) DeleteVpcEndpoint(id string) (*VpcEndpoint, error)
DeleteVpcEndpoint removes a VPC endpoint by ID. With a processing delay configured the endpoint first enters an observable DELETING window before it is finally removed.
func (*InMemoryBackend) DeregisterCapability ¶ added in v1.2.0
func (b *InMemoryBackend) DeregisterCapability(applicationID, capabilityName string) error
DeregisterCapability removes a registered capability. Its response status is always "deleting" per the real API's documented behavior ("Returns deleting when the capability is being removed"), regardless of the removal's actual synchronicity in this emulator.
func (*InMemoryBackend) DescribeDataSourceAttachment ¶ added in v1.2.0
func (b *InMemoryBackend) DescribeDataSourceAttachment( applicationID, dataSourceArn string, ) (*DataSourceAttachment, error)
DescribeDataSourceAttachment returns the current status and details of a specific data source attachment.
func (*InMemoryBackend) DescribeDomain ¶
func (b *InMemoryBackend) DescribeDomain(name string) (*Domain, error)
DescribeDomain returns details about a domain. A domain whose deleting window has elapsed is reported as not found.
func (*InMemoryBackend) DescribeDomains ¶
func (b *InMemoryBackend) DescribeDomains(names []string) ([]*Domain, error)
DescribeDomains returns a list of domains. If names is empty, all domains are returned. Missing names are silently skipped.
func (*InMemoryBackend) DescribeInboundConnections ¶
func (b *InMemoryBackend) DescribeInboundConnections() []*InboundConnection
DescribeInboundConnections returns all inbound connections, excluding any whose deleting window has elapsed.
func (*InMemoryBackend) DescribeInstanceTypeLimits ¶
func (b *InMemoryBackend) DescribeInstanceTypeLimits( instanceType, _ string, ) (*InstanceTypeLimits, error)
DescribeInstanceTypeLimits returns instance type limits for a given instance type and engine version. This is a static lookup table for common types.
func (*InMemoryBackend) DescribeOutboundConnections ¶
func (b *InMemoryBackend) DescribeOutboundConnections() []*OutboundConnection
DescribeOutboundConnections returns all outbound connections, excluding any whose deleting window has elapsed.
func (*InMemoryBackend) DescribePackages ¶
func (b *InMemoryBackend) DescribePackages(ids []string) ([]*Package, error)
DescribePackages returns packages matching the given IDs, or all packages if ids is empty.
func (*InMemoryBackend) DescribeReservedInstanceOfferings ¶
func (b *InMemoryBackend) DescribeReservedInstanceOfferings(offeringID string) []*ReservedInstanceOffering
DescribeReservedInstanceOfferings returns available reserved instance offerings, optionally filtered to a single offering ID (the "offeringId" query parameter on the real DescribeReservedInstanceOfferings operation).
func (*InMemoryBackend) DescribeReservedInstances ¶
func (b *InMemoryBackend) DescribeReservedInstances(reservationID string) []*ReservedInstance
DescribeReservedInstances returns purchased reserved instances, optionally filtered to a single reservation ID (the "reservationId" query parameter on the real DescribeReservedInstances operation).
func (*InMemoryBackend) DescribeVpcEndpoints ¶
func (b *InMemoryBackend) DescribeVpcEndpoints(ids []string) ([]*VpcEndpoint, []map[string]any)
DescribeVpcEndpoints returns matching VPC endpoints and errors for not-found IDs.
func (*InMemoryBackend) DetachDataSource ¶ added in v1.2.0
func (b *InMemoryBackend) DetachDataSource( applicationID, dataSourceArn string, ) (*DataSourceAttachment, error)
DetachDataSource removes an existing attachment. Returns ErrAttachmentNotFound if no attachment exists for the (applicationID, dataSourceArn) pair, and ErrAttachmentConflict if the attachment is still PENDING (matching DetachDataSource's documented ConflictException for a pending attachment).
func (*InMemoryBackend) DissociatePackage ¶
func (b *InMemoryBackend) DissociatePackage( packageID, domainName string, ) (*DomainPackageDetails, error)
DissociatePackage removes a package association from a domain.
func (*InMemoryBackend) DissociatePackages ¶
func (b *InMemoryBackend) DissociatePackages( domainName string, packageIDs []string, ) ([]DomainPackageDetails, error)
DissociatePackages removes multiple package associations from a domain.
func (*InMemoryBackend) DomainDocumentCount ¶
func (b *InMemoryBackend) DomainDocumentCount(domainName string) int
DomainDocumentCount returns the total number of documents stored across all indexes of a domain.
func (*InMemoryBackend) GetApplication ¶
func (b *InMemoryBackend) GetApplication(id string) (*Application, error)
GetApplication returns an application by ID.
func (*InMemoryBackend) GetAutoTune ¶
func (b *InMemoryBackend) GetAutoTune(domainName string) ([]*AutoTune, error)
GetAutoTune returns auto-tune details for a domain.
func (*InMemoryBackend) GetCapability ¶ added in v1.2.0
func (b *InMemoryBackend) GetCapability(applicationID, capabilityName string) (*Capability, error)
GetCapability returns a registered capability's current status.
func (*InMemoryBackend) GetChangeProgress ¶
func (b *InMemoryBackend) GetChangeProgress(domainName string) (map[string]any, error)
GetChangeProgress returns the last change progress for a domain.
func (*InMemoryBackend) GetCompatibleVersions ¶
func (b *InMemoryBackend) GetCompatibleVersions(domainName string) []map[string]any
GetCompatibleVersions returns static compatible version pairs. If domainName is non-empty, target versions are filtered to those reachable from the domain's current EngineVersion.
func (*InMemoryBackend) GetDataSource ¶
func (b *InMemoryBackend) GetDataSource(domainName, name string) (*DataSource, error)
GetDataSource returns a data source by domain and name.
func (*InMemoryBackend) GetDefaultApplicationSetting ¶ added in v1.2.0
func (b *InMemoryBackend) GetDefaultApplicationSetting() string
GetDefaultApplicationSetting returns the account's default OpenSearch application ARN, or "" if none is set (types.GetDefaultApplicationSettingOutput).
func (*InMemoryBackend) GetDirectQueryDataSource ¶
func (b *InMemoryBackend) GetDirectQueryDataSource(name string) (*DirectQueryDataSource, error)
GetDirectQueryDataSource returns a direct-query data source by name.
func (*InMemoryBackend) GetDocument ¶
func (b *InMemoryBackend) GetDocument( domainName, indexName, docID string, ) (map[string]any, error)
GetDocument returns a stored document by ID.
func (*InMemoryBackend) GetDomainHealth ¶
func (b *InMemoryBackend) GetDomainHealth(domainName string) (map[string]any, error)
GetDomainHealth returns computed health metrics for a domain.
func (*InMemoryBackend) GetDomainMaintenanceStatus ¶
func (b *InMemoryBackend) GetDomainMaintenanceStatus( domainName, maintenanceID string, ) (*DomainMaintenance, error)
GetDomainMaintenanceStatus returns a specific maintenance record.
func (*InMemoryBackend) GetDomainNodes ¶
func (b *InMemoryBackend) GetDomainNodes(domainName string) ([]map[string]any, error)
GetDomainNodes returns a list of node descriptors based on cluster config.
func (*InMemoryBackend) GetDryRunProgress ¶
func (b *InMemoryBackend) GetDryRunProgress(domainName string) (*DryRunStatus, error)
GetDryRunProgress returns dry-run progress for a domain. Creates a default entry if none exists.
func (*InMemoryBackend) GetIndex ¶
func (b *InMemoryBackend) GetIndex(domainName, indexName string) (*DomainIndex, error)
GetIndex returns an index by domain and name.
func (*InMemoryBackend) GetMigration ¶ added in v1.2.0
func (b *InMemoryBackend) GetMigration(migrationID string) (*Migration, error)
GetMigration returns a migration job's current status and progress.
func (*InMemoryBackend) GetPackageVersionHistory ¶
func (b *InMemoryBackend) GetPackageVersionHistory( packageID string, ) ([]*PackageVersionHistory, error)
GetPackageVersionHistory returns the version history for a package.
func (*InMemoryBackend) GetServerlessAccessPolicy ¶
func (b *InMemoryBackend) GetServerlessAccessPolicy(policyType, name string) (*ServerlessAccessPolicy, error)
GetServerlessAccessPolicy retrieves an access policy by type and name.
func (*InMemoryBackend) GetServerlessEncryptionPolicy ¶
func (b *InMemoryBackend) GetServerlessEncryptionPolicy(policyType, name string) (*ServerlessEncryptionPolicy, error)
GetServerlessEncryptionPolicy retrieves an encryption policy by type and name.
func (*InMemoryBackend) GetServerlessSecurityConfig ¶
func (b *InMemoryBackend) GetServerlessSecurityConfig(id string) (*ServerlessSecurityConfig, error)
GetServerlessSecurityConfig retrieves a security config by ID.
func (*InMemoryBackend) GetUpgradeHistory ¶
func (b *InMemoryBackend) GetUpgradeHistory(domainName string) ([]*UpgradeHistory, error)
GetUpgradeHistory returns the upgrade history for a domain, newest first.
func (*InMemoryBackend) GetUpgradeStatus ¶
GetUpgradeStatus returns the most recent upgrade status for a domain.
func (*InMemoryBackend) IndexDocument ¶
func (b *InMemoryBackend) IndexDocument( domainName, indexName, docID string, doc map[string]any, ) (string, bool, error)
IndexDocument stores (or replaces) a document in an index and keeps the index document count accurate. When docID is empty a fresh ID is generated. It returns the effective document ID and whether a new document was created.
func (*InMemoryBackend) ListApplications ¶
func (b *InMemoryBackend) ListApplications() []*Application
ListApplications returns all applications.
func (*InMemoryBackend) ListDataSourceAttachments ¶ added in v1.2.0
func (b *InMemoryBackend) ListDataSourceAttachments(applicationID string) []*DataSourceAttachment
ListDataSourceAttachments returns every attachment (of any status) for the given application.
func (*InMemoryBackend) ListDataSources ¶
func (b *InMemoryBackend) ListDataSources(domainName string) ([]*DataSource, error)
ListDataSources returns all data sources for a domain.
func (*InMemoryBackend) ListDirectQueryDataSources ¶
func (b *InMemoryBackend) ListDirectQueryDataSources() []*DirectQueryDataSource
ListDirectQueryDataSources returns all direct-query data sources.
func (*InMemoryBackend) ListDomainEntriesFiltered ¶
func (b *InMemoryBackend) ListDomainEntriesFiltered(engineType string) []DomainEntry
ListDomainEntriesFiltered returns name+engine version for all domains matching engineType, under a single read lock. Pass an empty string to return all domains.
func (*InMemoryBackend) ListDomainMaintenances ¶
func (b *InMemoryBackend) ListDomainMaintenances(domainName string) ([]*DomainMaintenance, error)
ListDomainMaintenances returns all maintenance records for a domain.
func (*InMemoryBackend) ListDomainNames ¶
func (b *InMemoryBackend) ListDomainNames() []string
ListDomainNames returns the names of all live domains in sorted order.
func (*InMemoryBackend) ListDomainNamesByEngine ¶
func (b *InMemoryBackend) ListDomainNamesByEngine(engineType string) []string
ListDomainNamesByEngine returns domain names filtered by engine type.
func (*InMemoryBackend) ListDomainsForPackage ¶
func (b *InMemoryBackend) ListDomainsForPackage(packageID string) []string
ListDomainsForPackage returns domain names associated with a package.
func (*InMemoryBackend) ListInstanceTypeDetails ¶
func (b *InMemoryBackend) ListInstanceTypeDetails(_, _ string) []map[string]any
ListInstanceTypeDetails returns a static list of common OpenSearch instance type details.
func (*InMemoryBackend) ListMigrations ¶ added in v1.2.0
func (b *InMemoryBackend) ListMigrations(applicationID, statusFilter string) ([]*Migration, error)
ListMigrations returns every migration job for the given application, optionally filtered by status.
func (*InMemoryBackend) ListPackagesForDomain ¶
func (b *InMemoryBackend) ListPackagesForDomain(domainName string) []*Package
ListPackagesForDomain returns packages associated with a domain.
func (*InMemoryBackend) ListScheduledActions ¶
func (b *InMemoryBackend) ListScheduledActions(domainName string) []*ScheduledAction
ListScheduledActions returns scheduled actions for a domain.
func (*InMemoryBackend) ListServerlessAccessPolicies ¶
func (b *InMemoryBackend) ListServerlessAccessPolicies(policyType string) []*ServerlessAccessPolicy
ListServerlessAccessPolicies lists access policies filtered by type.
func (*InMemoryBackend) ListServerlessEncryptionPolicies ¶
func (b *InMemoryBackend) ListServerlessEncryptionPolicies(policyType string) []*ServerlessEncryptionPolicy
ListServerlessEncryptionPolicies lists encryption policies filtered by type.
func (*InMemoryBackend) ListServerlessNetworkPolicies ¶
func (b *InMemoryBackend) ListServerlessNetworkPolicies(policyType string) []*ServerlessNetworkPolicy
ListServerlessNetworkPolicies lists network policies filtered by type.
func (*InMemoryBackend) ListServerlessSecurityConfigs ¶
func (b *InMemoryBackend) ListServerlessSecurityConfigs(configType string) []*ServerlessSecurityConfig
ListServerlessSecurityConfigs lists security configs filtered by type.
func (*InMemoryBackend) ListTags ¶
func (b *InMemoryBackend) ListTags(domainARN string) (map[string]string, error)
ListTags returns tags for the domain identified by ARN.
func (*InMemoryBackend) ListVpcEndpointAccess ¶
func (b *InMemoryBackend) ListVpcEndpointAccess(domainName string) ([]AuthorizedPrincipal, error)
ListVpcEndpointAccess returns authorized principals for a domain.
func (*InMemoryBackend) ListVpcEndpoints ¶
func (b *InMemoryBackend) ListVpcEndpoints() []*VpcEndpoint
ListVpcEndpoints returns all VPC endpoints, excluding any whose deleting window has elapsed.
func (*InMemoryBackend) ListVpcEndpointsForDomain ¶
func (b *InMemoryBackend) ListVpcEndpointsForDomain(domainArn string) []*VpcEndpoint
ListVpcEndpointsForDomain returns VPC endpoints associated with a domain ARN, excluding any whose deleting window has elapsed.
func (*InMemoryBackend) PreviewDomainConfig ¶
func (b *InMemoryBackend) PreviewDomainConfig( name string, input UpdateDomainConfigInput, ) (*Domain, error)
PreviewDomainConfig computes the domain configuration that UpdateDomainConfig would produce for input, without mutating stored state or advancing the processing/change-ID bookkeeping. This backs UpdateDomainConfig's DryRun=true mode (aws-sdk-go-v2 UpdateDomainConfigInput.DryRun): AWS validates and previews the change but never applies it.
func (*InMemoryBackend) PurchaseReservedInstanceOffering ¶
func (b *InMemoryBackend) PurchaseReservedInstanceOffering( offeringID, name string, count int, ) (*ReservedInstance, error)
PurchaseReservedInstanceOffering purchases a reserved instance offering.
func (*InMemoryBackend) PutDefaultApplicationSetting ¶ added in v1.2.0
func (b *InMemoryBackend) PutDefaultApplicationSetting( applicationArn string, setAsDefault bool, ) (string, error)
PutDefaultApplicationSetting sets or clears the account's default OpenSearch application ARN (types.PutDefaultApplicationSettingInput: ApplicationArn is the ARN to set, SetAsDefault true sets it as default, false clears it) and returns the resulting default ARN.
func (*InMemoryBackend) Region ¶
func (b *InMemoryBackend) Region() string
Region returns the AWS region this backend is configured for.
func (*InMemoryBackend) RegisterCapability ¶ added in v1.2.0
func (b *InMemoryBackend) RegisterCapability( applicationID, capabilityName string, ) (*Capability, error)
RegisterCapability registers (or re-registers) a capability on an OpenSearch UI application. The only capability configuration the SDK currently defines (types.AIConfig) has no fields of its own, so there is nothing beyond the name/status to validate or store -- see the CapabilityConfig doc comment on the Capability type.
func (*InMemoryBackend) RejectInboundConnection ¶
func (b *InMemoryBackend) RejectInboundConnection(connectionID string) (*InboundConnection, error)
RejectInboundConnection sets an inbound connection status to REJECTED, propagating the same status to its mirrored outbound counterpart when one exists.
func (*InMemoryBackend) RemoveTags ¶
func (b *InMemoryBackend) RemoveTags(domainARN string, keys []string) error
RemoveTags removes tag keys from the domain identified by ARN.
func (*InMemoryBackend) Reset ¶
func (b *InMemoryBackend) Reset()
Reset clears all backend state, releasing any resources held.
func (*InMemoryBackend) Restore ¶
func (b *InMemoryBackend) Restore(ctx context.Context, data []byte) error
Restore loads backend state from a JSON snapshot. It implements persistence.Persistable.
func (*InMemoryBackend) RevokeVpcEndpointAccess ¶
func (b *InMemoryBackend) RevokeVpcEndpointAccess(domainName, account string) error
RevokeVpcEndpointAccess removes a principal from the VPC authorizations for a domain.
func (*InMemoryBackend) RollbackServiceSoftwareUpdate ¶ added in v1.2.0
func (b *InMemoryBackend) RollbackServiceSoftwareUpdate( domainName string, ) (*RollbackServiceSoftwareOptions, error)
RollbackServiceSoftwareUpdate rolls back a domain's service software update, operating on the same ServiceSoftware state StartServiceSoftwareUpdate/ CancelServiceSoftwareUpdate track (see those above) rather than a separate invented history. A rollback is only meaningfully available while a software update is actually pending install (UpdateStatus == PENDING_UPDATE) -- the same state CancelServiceSoftwareUpdate acts on -- so rolling back cancels that pending install (identical state transition to Cancel) and reports RollbackAvailable accordingly. When nothing is pending, RollbackAvailable is honestly reported false rather than erroring, matching the response shape's purpose (types.RollbackServiceSoftwareOptions exists specifically to communicate "no rollback available" without an exception).
func (*InMemoryBackend) SearchIndex ¶
func (b *InMemoryBackend) SearchIndex( domainName, indexName string, query map[string]any, size int, ) (*SearchResult, error)
SearchIndex runs a bounded search over the stored documents of an index.
Supported queries: an empty query or {"match_all": {}} returns every document; {"term": {field: value}} returns documents whose field equals value exactly; {"match": {field: text}} returns documents whose field contains text (case-insensitive substring). Hits are ordered by document ID for determinism. size defaults to 10 and is capped at maxSearchSize.
func (*InMemoryBackend) SetAutoTune ¶
func (b *InMemoryBackend) SetAutoTune( domainName, desiredState string, schedules []AutoTuneMaintenanceSchedule, ) error
SetAutoTune stores auto-tune configuration for a domain.
func (*InMemoryBackend) SetClock ¶
func (b *InMemoryBackend) SetClock(fn func() time.Time)
SetClock installs a deterministic clock, primarily for tests. Passing nil restores the default time.Now clock.
func (*InMemoryBackend) SetDNSRegistrar ¶
func (b *InMemoryBackend) SetDNSRegistrar(dns DNSRegistrar)
SetDNSRegistrar wires a DNS server so OpenSearch domain hostnames are auto-registered.
func (*InMemoryBackend) SetProcessingDelay ¶
func (b *InMemoryBackend) SetProcessingDelay(d time.Duration)
SetProcessingDelay configures how long create/update/upgrade/delete lifecycle windows remain observable before settling to their terminal state. A delay of 0 (the default) keeps the historical fast behaviour: transitions still run through the real code path but settle immediately.
func (*InMemoryBackend) Snapshot ¶
func (b *InMemoryBackend) Snapshot(ctx context.Context) []byte
Snapshot serialises the backend state to JSON. It implements persistence.Persistable.
func (*InMemoryBackend) StartDomainMaintenance ¶
func (b *InMemoryBackend) StartDomainMaintenance( domainName, action, nodeID string, ) (*DomainMaintenance, error)
StartDomainMaintenance starts a maintenance action on a domain.
func (*InMemoryBackend) StartMigration ¶ added in v1.2.0
func (b *InMemoryBackend) StartMigration( applicationID, sourceArn string, workspace *MigrationWorkspaceInput, exportOptions *ExportOptionsInput, conflictResolution string, ) (*Migration, error)
StartMigration starts a saved-object migration job from a real, backend-tracked data source (see resolveDataSourceRefLocked, shared with the data source attachment family) into an application workspace. workspace is MigrationOptions.Workspace (required by the SDK -- see resolveMigrationWorkspaceLocked); exportOptions/conflictResolution are MigrationOptions' optional ExportOptions/ConflictResolution fields, validated but not persisted (see ExportOptionsInput's doc comment).
func (*InMemoryBackend) StartServiceSoftwareUpdate ¶
func (b *InMemoryBackend) StartServiceSoftwareUpdate( domainName, scheduleAt string, ) (*ServiceSoftwareOptions, error)
StartServiceSoftwareUpdate marks a domain as having a pending software update. StartServiceSoftwareUpdate schedules a service software update for the domain. scheduleAt must be one of "NOW", "TIMESTAMP", "OFF_PEAK_WINDOW", or "".
func (*InMemoryBackend) UpdateApplication ¶
func (b *InMemoryBackend) UpdateApplication( id string, appConfigs []AppConfig, dataSources []AppDataSource, ) (*Application, error)
UpdateApplication updates an application's configs and data sources.
func (*InMemoryBackend) UpdateDataSource ¶
func (b *InMemoryBackend) UpdateDataSource( domainName, name, description string, dataSourceType json.RawMessage, status string, ) error
UpdateDataSource updates a data source's description, type, and/or status. Real AWS requires DataSourceType on every update call; Description and Status are optional and left unchanged when omitted.
func (*InMemoryBackend) UpdateDirectQueryDataSource ¶
func (b *InMemoryBackend) UpdateDirectQueryDataSource( name, description string, dataSourceType json.RawMessage, openSearchArns []string, ) (*DirectQueryDataSource, error)
UpdateDirectQueryDataSource updates a direct-query data source's description, type, and OpenSearch ARNs. Real AWS requires DataSourceType and OpenSearchArns on every update call.
func (*InMemoryBackend) UpdateDomainConfig ¶
func (b *InMemoryBackend) UpdateDomainConfig( name string, input UpdateDomainConfigInput, ) (*Domain, error)
UpdateDomainConfig updates mutable fields on a domain and records a change ID.
func (*InMemoryBackend) UpdateIndex ¶
func (b *InMemoryBackend) UpdateIndex( domainName, indexName string, mappings, settings map[string]any, ) (*DomainIndex, error)
UpdateIndex updates the mappings and settings of an index.
func (*InMemoryBackend) UpdatePackage ¶
func (b *InMemoryBackend) UpdatePackage(packageID, description string) (*Package, error)
UpdatePackage updates a package's description and adds a version history entry.
func (*InMemoryBackend) UpdatePackageScope ¶
func (b *InMemoryBackend) UpdatePackageScope(packageID, _ string, _ []string) (*Package, error)
UpdatePackageScope is a no-op that returns the package (scope is not tracked in-memory).
func (*InMemoryBackend) UpdateScheduledAction ¶
func (b *InMemoryBackend) UpdateScheduledAction( domainName, actionID, actionType, scheduleAt string, desiredStartTime int64, ) (*ScheduledAction, error)
UpdateScheduledAction reschedules an existing scheduled action (identified by ActionID + ActionType) for a domain. Real AWS Service creates scheduled actions automatically ahead of service-software updates or JVM tuning changes; this operation only reschedules one that already exists -- it cannot create a new one. See AddScheduledActionInternal (export_test.go) for test seeding of the initial action.
func (*InMemoryBackend) UpdateServerlessAccessPolicy ¶
func (b *InMemoryBackend) UpdateServerlessAccessPolicy( policyType, name, description, policy, policyVersion string, ) (*ServerlessAccessPolicy, error)
UpdateServerlessAccessPolicy updates an existing access policy.
func (*InMemoryBackend) UpdateServerlessEncryptionPolicy ¶
func (b *InMemoryBackend) UpdateServerlessEncryptionPolicy( policyType, name, description, policy, policyVersion string, ) (*ServerlessEncryptionPolicy, error)
UpdateServerlessEncryptionPolicy updates an existing encryption policy.
func (*InMemoryBackend) UpdateServerlessSecurityConfig ¶
func (b *InMemoryBackend) UpdateServerlessSecurityConfig( id, description, configVersion string, samlOptions *ServerlessSAMLOptions, ) (*ServerlessSecurityConfig, error)
UpdateServerlessSecurityConfig updates an existing security config.
func (*InMemoryBackend) UpdateVpcEndpoint ¶
func (b *InMemoryBackend) UpdateVpcEndpoint( id string, vpcOptions map[string]any, ) (*VpcEndpoint, error)
UpdateVpcEndpoint updates the VPC options for a VPC endpoint.
func (*InMemoryBackend) UpgradeDomain ¶
func (b *InMemoryBackend) UpgradeDomain(domainName, upgradeName string) error
UpgradeDomain records an upgrade in the domain's history. Called when an upgrade is triggered.
func (*InMemoryBackend) ValidateInsightEntity ¶ added in v1.2.0
func (b *InMemoryBackend) ValidateInsightEntity(entityType, entityValue string) error
ValidateInsightEntity checks an InsightEntity/InsightFeedbackEntity's Type/Value against real backend state: a DomainName entity must reference a domain that actually exists, matching how every other domain-scoped operation in this backend errors on an unknown domain. An Account entity is accepted for any non-empty account ID -- this backend has no concept of a second account to validate against.
ListInsights/DescribeInsightDetails/InsightFeedback have no analytics engine behind them (this emulator generates no real insights), so beyond this entity validation they report "nothing found" rather than fabricating data -- see handler_insights.go.
type InboundConnection ¶
type InboundConnection struct {
StatusUntil time.Time `json:"statusUntil,omitzero"`
ConnectionID string `json:"connectionId"`
ConnectionMode string `json:"connectionMode"`
Status string `json:"status"`
StatusMessage string `json:"statusMessage,omitempty"`
LocalDomainInfo DomainInformation `json:"localDomainInfo"`
RemoteDomainInfo DomainInformation `json:"remoteDomainInfo"`
}
InboundConnection represents an OpenSearch inbound cross-cluster connection.
type InstanceTypeLimits ¶
type InstanceTypeLimits struct {
InstanceType string `json:"InstanceType"`
InstanceLimits map[string]any `json:"InstanceLimits"`
StorageTypes []StorageType `json:"StorageTypes,omitempty"`
AdditionalLimits []AdditionalLimit `json:"AdditionalLimits,omitempty"`
}
InstanceTypeLimits holds limits for a given OpenSearch instance type.
type LogPublishingOption ¶
type LogPublishingOption struct {
CloudWatchLogsLogGroupARN string `json:"cloudWatchLogsLogGroupArn,omitempty"`
Enabled bool `json:"enabled"`
}
LogPublishingOption holds a single log type publishing configuration.
type Migration ¶ added in v1.2.0
type Migration struct {
CreatedAt time.Time `json:"-"`
UpdatedAt time.Time `json:"-"`
MigrationID string `json:"migrationId"`
ApplicationID string `json:"applicationId"`
SourceArn string `json:"sourceArn"`
Status string `json:"status"`
ExportedCount int `json:"exportedCount"`
ImportedCount int `json:"importedCount"`
}
Migration represents a saved-object migration job from a data source into an OpenSearch application workspace. Matches types.MigrationSummary. ExportedCount/ImportedCount are always 0: this emulator has no saved-object store (dashboards/visualizations/index-patterns) to actually migrate, so reporting non-zero counts would be fabricated. Status still genuinely transitions PENDING -> IN_PROGRESS -> SUCCEEDED against the backend's clock (see resolveMigrationStatus in migrations.go), it just always migrates zero objects -- an honest "nothing to migrate" result rather than invented data.
type MigrationWorkspaceInput ¶ added in v1.2.0
type MigrationWorkspaceInput struct {
WorkspaceID string
Name string
Type string
CreateWorkspace bool
}
MigrationWorkspaceInput mirrors types.MigrationWorkspace (StartMigration's required MigrationOptions.Workspace).
type NodeToNodeEncryptionOptions ¶
type NodeToNodeEncryptionOptions struct {
Enabled bool `json:"enabled"`
}
NodeToNodeEncryptionOptions holds node-to-node encryption settings.
type OffPeakWindow ¶
type OffPeakWindow struct {
WindowStartTime *WindowStartTime `json:"windowStartTime,omitempty"`
}
OffPeakWindow defines a custom start time for off-peak maintenance.
type OffPeakWindowOptions ¶
type OffPeakWindowOptions struct {
OffPeakWindow *OffPeakWindow `json:"offPeakWindow,omitempty"`
Enabled bool `json:"enabled"`
}
OffPeakWindowOptions holds off-peak window settings for a domain.
type OutboundConnection ¶
type OutboundConnection struct {
StatusUntil time.Time `json:"statusUntil,omitzero"`
ConnectionID string `json:"connectionId"`
ConnectionAlias string `json:"connectionAlias"`
ConnectionMode string `json:"connectionMode"`
Status string `json:"status"`
StatusMessage string `json:"statusMessage,omitempty"`
Endpoint string `json:"endpoint,omitempty"`
LocalDomainInfo DomainInformation `json:"localDomainInfo"`
RemoteDomainInfo DomainInformation `json:"remoteDomainInfo"`
}
OutboundConnection represents a cross-cluster outbound connection.
type Package ¶
type Package struct {
PackageSource *PackageSource `json:"PackageSource,omitempty"`
PackageEncryptionOptions *PackageEncryptionOptions `json:"PackageEncryptionOptions,omitempty"`
PackageID string `json:"PackageID"`
PackageName string `json:"PackageName"`
PackageType string `json:"PackageType"`
PackageDescription string `json:"PackageDescription"`
PackageStatus string `json:"PackageStatus"`
AvailablePackageVersion string `json:"AvailablePackageVersion,omitempty"`
VersionHistory []*PackageVersionHistory `json:"-"`
CreatedAt float64 `json:"CreatedAt"`
}
Package represents an OpenSearch package.
type PackageEncryptionOptions ¶
type PackageEncryptionOptions struct {
KmsKeyIdentifier string `json:"KmsKeyIdentifier,omitempty"`
EncryptionEnabled bool `json:"EncryptionEnabled"`
}
PackageEncryptionOptions holds encryption settings for a package.
type PackageSource ¶
type PackageSource struct {
S3BucketName string `json:"S3BucketName,omitempty"`
S3Key string `json:"S3Key,omitempty"`
}
PackageSource holds the S3 source location for a custom package.
type PackageVersionHistory ¶
type PackageVersionHistory struct {
PackageVersion string `json:"PackageVersion"`
CommitMessage string `json:"CommitMessage"`
CreatedAt float64 `json:"CreatedAt"`
}
PackageVersionHistory records a version of a package.
type Provider ¶
type Provider struct{}
Provider implements service.Provider for the OpenSearch service.
func (*Provider) Init ¶
func (p *Provider) Init(ctx *service.AppContext) (service.Registerable, error)
Init initializes the OpenSearch service backend and handler.
type ReservedInstance ¶
type ReservedInstance struct {
ReservedInstanceID string `json:"ReservedInstanceId"`
ReservedInstanceOfferingID string `json:"ReservedInstanceOfferingId"`
InstanceType string `json:"InstanceType"`
ReservationName string `json:"ReservationName"`
CurrencyCode string `json:"CurrencyCode"`
PaymentOption string `json:"PaymentOption"`
State string `json:"State"`
Duration int `json:"Duration"`
FixedPrice float64 `json:"FixedPrice"`
UsagePrice float64 `json:"UsagePrice"`
InstanceCount int `json:"InstanceCount"`
StartTime float64 `json:"StartTime"`
}
ReservedInstance is a purchased reserved instance.
type ReservedInstanceOffering ¶
type ReservedInstanceOffering struct {
ReservedInstanceOfferingID string `json:"ReservedInstanceOfferingId"`
InstanceType string `json:"InstanceType"`
CurrencyCode string `json:"CurrencyCode"`
PaymentOption string `json:"PaymentOption"`
Duration int `json:"Duration"`
FixedPrice float64 `json:"FixedPrice"`
UsagePrice float64 `json:"UsagePrice"`
}
ReservedInstanceOffering is an available reserved instance offering.
type RollbackServiceSoftwareOptions ¶ added in v1.2.0
type RollbackServiceSoftwareOptions struct {
CurrentVersion string `json:"currentVersion"`
NewVersion string `json:"newVersion"`
Description string `json:"description"`
RollbackAvailable bool `json:"rollbackAvailable"`
}
RollbackServiceSoftwareOptions represents the result of a RollbackServiceSoftwareUpdate call, matching types.RollbackServiceSoftwareOptions (PascalCase wire keys, same convention as ServiceSoftwareOptions/serviceSoftwareOptionsJSON above).
type SAMLOptionsInput ¶
type SAMLOptionsInput struct {
IDPEntityID string `json:"idpEntityId,omitempty"`
IDPMetadataContent string `json:"idpMetadataContent,omitempty"`
RolesKey string `json:"rolesKey,omitempty"`
SubjectKey string `json:"subjectKey,omitempty"`
SessionTimeoutMinutes int `json:"sessionTimeoutMinutes,omitempty"`
Enabled bool `json:"enabled,omitempty"`
}
SAMLOptionsInput holds SAML configuration for AdvancedSecurityOptions.
type SavedObjectIdentifierInput ¶ added in v1.2.0
SavedObjectIdentifierInput mirrors types.SavedObjectIdentifier (ExportOptions.Objects elements).
type ScheduledAction ¶
type ScheduledAction struct {
ID string `json:"Id"`
Type string `json:"Type"`
Severity string `json:"Severity"`
Description string `json:"Description"`
ScheduledBy string `json:"ScheduledBy"`
Status string `json:"Status"`
ScheduledTime float64 `json:"ScheduledTime"`
Mandatory bool `json:"Mandatory"`
Cancellable bool `json:"Cancellable"`
}
ScheduledAction represents a scheduled action for a domain.
type ScheduledAutoTuneDetails ¶
type ScheduledAutoTuneDetails struct {
ActionType string `json:"ActionType,omitempty"`
Action string `json:"Action,omitempty"`
Severity string `json:"Severity,omitempty"`
Date float64 `json:"Date,omitempty"`
}
ScheduledAutoTuneDetails holds action details for a scheduled auto-tune.
type SearchHit ¶
type SearchHit struct {
Source map[string]any `json:"_source"`
ID string `json:"_id"`
Index string `json:"_index"`
}
SearchHit is a single document returned by a search.
type SearchResult ¶
SearchResult is the outcome of a bounded search over an index.
type ServerlessAccessPolicy ¶
type ServerlessAccessPolicy struct {
Description string `json:"description,omitempty"`
Name string `json:"name"`
Policy string `json:"policy"`
PolicyVersion string `json:"policyVersion"`
Type string `json:"type"`
CreatedDate float64 `json:"createdDate"`
LastModifiedDate float64 `json:"lastModifiedDate"`
}
ServerlessAccessPolicy represents an OpenSearch Serverless access policy.
type ServerlessCollection ¶
type ServerlessCollection struct {
StatusUntil time.Time `json:"statusUntil,omitzero"`
Tags map[string]string `json:"tags,omitempty"`
KmsKeyArn string `json:"kmsKeyArn,omitempty"`
DashboardEndpoint string `json:"dashboardEndpoint,omitempty"`
Description string `json:"description,omitempty"`
ID string `json:"id"`
CollectionEndpoint string `json:"collectionEndpoint,omitempty"`
Name string `json:"name"`
Status string `json:"status"`
Type string `json:"type"`
Arn string `json:"arn"`
CreatedDate float64 `json:"createdDate"`
LastModifiedDate float64 `json:"lastModifiedDate"`
}
ServerlessCollection represents an OpenSearch Serverless collection.
type ServerlessEncryptionPolicy ¶
type ServerlessEncryptionPolicy struct {
Description string `json:"description,omitempty"`
Name string `json:"name"`
Policy string `json:"policy"`
PolicyVersion string `json:"policyVersion"`
Type string `json:"type"`
CreatedDate float64 `json:"createdDate"`
LastModifiedDate float64 `json:"lastModifiedDate"`
}
ServerlessEncryptionPolicy represents an OpenSearch Serverless encryption policy.
type ServerlessNetworkPolicy ¶
type ServerlessNetworkPolicy struct {
Description string `json:"description,omitempty"`
Name string `json:"name"`
Policy string `json:"policy"`
PolicyVersion string `json:"policyVersion"`
Type string `json:"type"`
CreatedDate float64 `json:"createdDate"`
LastModifiedDate float64 `json:"lastModifiedDate"`
}
ServerlessNetworkPolicy represents an OpenSearch Serverless network policy.
type ServerlessSAMLOptions ¶
type ServerlessSAMLOptions struct {
GroupAttribute string `json:"groupAttribute,omitempty"`
Metadata string `json:"metadata,omitempty"`
UserAttribute string `json:"userAttribute,omitempty"`
SessionTimeout int `json:"sessionTimeout,omitempty"`
}
ServerlessSAMLOptions holds SAML options for a serverless security config.
type ServerlessSecurityConfig ¶
type ServerlessSecurityConfig struct {
SamlOptions *ServerlessSAMLOptions `json:"samlOptions,omitempty"`
ConfigVersion string `json:"configVersion"`
Description string `json:"description,omitempty"`
ID string `json:"id"`
Type string `json:"type"`
CreatedDate float64 `json:"createdDate"`
LastModifiedDate float64 `json:"lastModifiedDate"`
}
ServerlessSecurityConfig represents an OpenSearch Serverless security config.
type ServiceSoftwareOptions ¶
type ServiceSoftwareOptions struct {
CurrentVersion string `json:"currentVersion"`
NewVersion string `json:"newVersion"`
UpdateStatus string `json:"updateStatus"`
Description string `json:"description"`
AutomatedUpdateDate string `json:"automatedUpdateDate"`
UpdateAvailable bool `json:"updateAvailable"`
Cancellable bool `json:"cancellable"`
OptionalDeployment bool `json:"optionalDeployment"`
}
ServiceSoftwareOptions represents service software options for a domain.
type SnapshotOptions ¶
type SnapshotOptions struct {
AutomatedSnapshotStartHour int `json:"automatedSnapshotStartHour"`
}
SnapshotOptions holds automated snapshot settings.
type StorageBackend ¶
type StorageBackend interface {
// Domain operations
CreateDomain(input CreateDomainInput) (*Domain, error)
DeleteDomain(name string) (*Domain, error)
DescribeDomain(name string) (*Domain, error)
DescribeDomains(names []string) ([]*Domain, error)
ListDomainNames() []string
UpdateDomainConfig(name string, input UpdateDomainConfigInput) (*Domain, error)
PreviewDomainConfig(name string, input UpdateDomainConfigInput) (*Domain, error)
GetDomainHealth(domainName string) (map[string]any, error)
GetDomainNodes(domainName string) ([]map[string]any, error)
GetChangeProgress(domainName string) (map[string]any, error)
GetDryRunProgress(domainName string) (*DryRunStatus, error)
// Tag operations
ListTags(domainARN string) (map[string]string, error)
AddTags(domainARN string, kv map[string]string) error
RemoveTags(domainARN string, keys []string) error
// Inbound cross-cluster connection operations
AcceptInboundConnection(connectionID string) (*InboundConnection, error)
RejectInboundConnection(connectionID string) (*InboundConnection, error)
DeleteInboundConnection(connectionID string) (*InboundConnection, error)
DescribeInboundConnections() []*InboundConnection
// Outbound cross-cluster connection operations
CreateOutboundConnection(
connectionAlias, connectionMode string,
localDomainInfo, remoteDomainInfo DomainInformation,
skipUnavailable, endpoint string,
) (*OutboundConnection, error)
DescribeOutboundConnections() []*OutboundConnection
DeleteOutboundConnection(connectionID string) (*OutboundConnection, error)
// Data source operations
AddDataSource(domainName, name, description string, dataSourceType json.RawMessage) (string, error)
GetDataSource(domainName, name string) (*DataSource, error)
ListDataSources(domainName string) ([]*DataSource, error)
UpdateDataSource(domainName, name, description string, dataSourceType json.RawMessage, status string) error
DeleteDataSource(domainName, name string) error
// Direct-query data source operations
AddDirectQueryDataSource(
name, description string,
dataSourceType json.RawMessage,
openSearchArns []string,
) (string, error)
ListDirectQueryDataSources() []*DirectQueryDataSource
GetDirectQueryDataSource(name string) (*DirectQueryDataSource, error)
UpdateDirectQueryDataSource(
name, description string,
dataSourceType json.RawMessage,
openSearchArns []string,
) (*DirectQueryDataSource, error)
DeleteDirectQueryDataSource(name string) error
// Package operations
AssociatePackage(packageID, domainName string) (*DomainPackageDetails, error)
AssociatePackages(domainName string, packageIDs []string) ([]DomainPackageDetails, error)
DissociatePackage(packageID, domainName string) (*DomainPackageDetails, error)
DissociatePackages(domainName string, packageIDs []string) ([]DomainPackageDetails, error)
CreatePackage(
name, pkgType, description string,
source *PackageSource,
encryptionOpts *PackageEncryptionOptions,
) (*Package, error)
DeletePackage(packageID string) (*Package, error)
DescribePackages(ids []string) ([]*Package, error)
GetPackageVersionHistory(packageID string) ([]*PackageVersionHistory, error)
UpdatePackage(packageID, description string) (*Package, error)
UpdatePackageScope(packageID, operation string, domainNames []string) (*Package, error)
ListPackagesForDomain(domainName string) []*Package
ListDomainsForPackage(packageID string) []string
// VPC endpoint operations
AuthorizeVpcEndpointAccess(domainName, account, service string) (*AuthorizedPrincipal, error)
CreateVpcEndpoint(domainArn string, vpcOptions map[string]any) (*VpcEndpoint, error)
DescribeVpcEndpoints(ids []string) ([]*VpcEndpoint, []map[string]any)
UpdateVpcEndpoint(id string, vpcOptions map[string]any) (*VpcEndpoint, error)
DeleteVpcEndpoint(id string) (*VpcEndpoint, error)
ListVpcEndpoints() []*VpcEndpoint
ListVpcEndpointsForDomain(domainArn string) []*VpcEndpoint
RevokeVpcEndpointAccess(domainName, account string) error
ListVpcEndpointAccess(domainName string) ([]AuthorizedPrincipal, error)
// Config/software operations
CancelDomainConfigChange(domainName string, dryRun bool) ([]string, bool, error)
CancelServiceSoftwareUpdate(domainName string) (*ServiceSoftwareOptions, error)
StartServiceSoftwareUpdate(domainName, scheduleAt string) (*ServiceSoftwareOptions, error)
RollbackServiceSoftwareUpdate(domainName string) (*RollbackServiceSoftwareOptions, error)
// Data source attachment operations (OpenSearch application <-> real
// domain/serverless-collection data source)
AttachDataSource(
applicationID, dataSourceArn string,
workspaceConfig *WorkspaceConfigInput, workspaceID string,
) (*DataSourceAttachment, error)
DetachDataSource(applicationID, dataSourceArn string) (*DataSourceAttachment, error)
DescribeDataSourceAttachment(applicationID, dataSourceArn string) (*DataSourceAttachment, error)
ListDataSourceAttachments(applicationID string) []*DataSourceAttachment
// Capability operations
RegisterCapability(applicationID, capabilityName string) (*Capability, error)
DeregisterCapability(applicationID, capabilityName string) error
GetCapability(applicationID, capabilityName string) (*Capability, error)
// Insight operations (no analytics engine backs this emulator -- see
// insights.go)
ValidateInsightEntity(entityType, entityValue string) error
// Migration operations
StartMigration(
applicationID, sourceArn string,
workspace *MigrationWorkspaceInput, exportOptions *ExportOptionsInput, conflictResolution string,
) (*Migration, error)
GetMigration(migrationID string) (*Migration, error)
ListMigrations(applicationID, statusFilter string) ([]*Migration, error)
// Application operations
CreateApplication(name string, appConfigs []AppConfig, dataSources []AppDataSource) (*Application, error)
GetApplication(id string) (*Application, error)
ListApplications() []*Application
UpdateApplication(id string, appConfigs []AppConfig, dataSources []AppDataSource) (*Application, error)
DeleteApplication(id string) error
GetDefaultApplicationSetting() string
PutDefaultApplicationSetting(applicationArn string, setAsDefault bool) (string, error)
// Scheduled actions
ListScheduledActions(domainName string) []*ScheduledAction
UpdateScheduledAction(
domainName, actionID, actionType, scheduleAt string,
desiredStartTime int64,
) (*ScheduledAction, error)
// Reserved instances
DescribeReservedInstanceOfferings(offeringID string) []*ReservedInstanceOffering
DescribeReservedInstances(reservationID string) []*ReservedInstance
PurchaseReservedInstanceOffering(offeringID, name string, count int) (*ReservedInstance, error)
// Domain maintenance
StartDomainMaintenance(domainName, action, nodeID string) (*DomainMaintenance, error)
GetDomainMaintenanceStatus(domainName, maintenanceID string) (*DomainMaintenance, error)
ListDomainMaintenances(domainName string) ([]*DomainMaintenance, error)
// Index operations
CreateIndex(domainName, indexName string, mappings, settings, aliases map[string]any) (*DomainIndex, error)
DeleteIndex(domainName, indexName string) (*DomainIndex, error)
GetIndex(domainName, indexName string) (*DomainIndex, error)
UpdateIndex(domainName, indexName string, mappings, settings map[string]any) (*DomainIndex, error)
// Document operations (real per-index document storage + bounded search)
IndexDocument(domainName, indexName, docID string, doc map[string]any) (string, bool, error)
GetDocument(domainName, indexName, docID string) (map[string]any, error)
DeleteDocument(domainName, indexName, docID string) error
CountDocuments(domainName, indexName string) (int, error)
DomainDocumentCount(domainName string) int
SearchIndex(domainName, indexName string, query map[string]any, size int) (*SearchResult, error)
// Upgrade operations
UpgradeDomain(domainName, upgradeName string) error
GetUpgradeHistory(domainName string) ([]*UpgradeHistory, error)
GetUpgradeStatus(domainName string) (upgradeName, upgradeStatus, upgradeStep string, err error)
// Auto-tune operations
SetAutoTune(domainName, desiredState string, schedules []AutoTuneMaintenanceSchedule) error
GetAutoTune(domainName string) ([]*AutoTune, error)
// Instance type limits
DescribeInstanceTypeLimits(instanceType, engineVersion string) (*InstanceTypeLimits, error)
// Instance type details and compatible versions
ListInstanceTypeDetails(engineVersion, instanceType string) []map[string]any
GetCompatibleVersions(domainName string) []map[string]any
// Engine-type filtered list
ListDomainNamesByEngine(engineType string) []string
// ListDomainEntriesFiltered returns name+engine version under a single lock.
ListDomainEntriesFiltered(engineType string) []DomainEntry
// Serverless collection operations
CreateServerlessCollection(
name, collectionType, description, kmsKeyArn string,
tags map[string]string,
) (*ServerlessCollection, error)
BatchGetServerlessCollections(ids, names []string) []*ServerlessCollection
DeleteServerlessCollection(id string) (*ServerlessCollection, error)
// Serverless access policy operations
CreateServerlessAccessPolicy(policyType, name, description, policy string) (*ServerlessAccessPolicy, error)
GetServerlessAccessPolicy(policyType, name string) (*ServerlessAccessPolicy, error)
ListServerlessAccessPolicies(policyType string) []*ServerlessAccessPolicy
UpdateServerlessAccessPolicy(
policyType, name, description, policy, policyVersion string,
) (*ServerlessAccessPolicy, error)
DeleteServerlessAccessPolicy(policyType, name string) error
// Serverless security config operations
CreateServerlessSecurityConfig(
configType, description string,
samlOptions *ServerlessSAMLOptions,
) (*ServerlessSecurityConfig, error)
GetServerlessSecurityConfig(id string) (*ServerlessSecurityConfig, error)
ListServerlessSecurityConfigs(configType string) []*ServerlessSecurityConfig
UpdateServerlessSecurityConfig(
id, description, configVersion string,
samlOptions *ServerlessSAMLOptions,
) (*ServerlessSecurityConfig, error)
DeleteServerlessSecurityConfig(id string) error
// Serverless encryption policy operations
CreateServerlessEncryptionPolicy(policyType, name, description, policy string) (*ServerlessEncryptionPolicy, error)
GetServerlessEncryptionPolicy(policyType, name string) (*ServerlessEncryptionPolicy, error)
ListServerlessEncryptionPolicies(policyType string) []*ServerlessEncryptionPolicy
UpdateServerlessEncryptionPolicy(
policyType, name, description, policy, policyVersion string,
) (*ServerlessEncryptionPolicy, error)
DeleteServerlessEncryptionPolicy(policyType, name string) error
// Serverless network policy operations
CreateServerlessNetworkPolicy(policyType, name, description, policy string) (*ServerlessNetworkPolicy, error)
ListServerlessNetworkPolicies(policyType string) []*ServerlessNetworkPolicy
DeleteServerlessNetworkPolicy(policyType, name string) error
// Lifecycle
Reset()
Region() string
AccountID() string
Snapshot(ctx context.Context) []byte
Restore(ctx context.Context, data []byte) error
}
StorageBackend defines the interface for OpenSearch backend implementations. All mutating methods must be safe for concurrent use.
type StorageType ¶
type StorageType struct {
StorageTypeName string `json:"StorageTypeName"`
StorageSubTypeName string `json:"StorageSubTypeName"`
StorageTypeLimits []StorageTypeLimit `json:"StorageTypeLimits"`
}
StorageType describes a storage configuration available for an instance type.
type StorageTypeLimit ¶
type StorageTypeLimit struct {
LimitName string `json:"LimitName"`
LimitValues []string `json:"LimitValues"`
}
StorageTypeLimit holds a named limit value.
type UpdateDomainConfigInput ¶
type UpdateDomainConfigInput struct {
EBSOptions *EBSOptions
SnapshotOptions *SnapshotOptions
EncryptionAtRestOptions *EncryptionAtRestOptions
NodeToNodeEncryptionOptions *NodeToNodeEncryptionOptions
DomainEndpointOptions *DomainEndpointOptions
AdvancedSecurityOptions *AdvancedSecurityOptions
VPCOptions *VPCOptions
CognitoOptions *CognitoOptions
OffPeakWindowOptions *OffPeakWindowOptions
IdentityCenterOptions *IdentityCenterOptions
EnableSoftwareUpdateOptions *EnableSoftwareUpdateOptions
LogPublishingOptions map[string]*LogPublishingOption
ClusterConfig *ClusterConfig
AccessPolicies string
EngineVersion string
}
UpdateDomainConfigInput holds mutable fields for UpdateDomainConfig.
type UpgradeHistory ¶
type UpgradeHistory struct {
UpgradeName string `json:"UpgradeName"`
UpgradeStatus string `json:"UpgradeStatus"`
StepsList []UpgradeStepItem `json:"StepsList"`
StartTimestamp float64 `json:"StartTimestamp"`
}
UpgradeHistory records a single domain upgrade event.
type UpgradeStepItem ¶
type UpgradeStepItem struct {
UpgradeStep string `json:"UpgradeStep"`
UpgradeStepStatus string `json:"UpgradeStepStatus"`
Issues []string `json:"Issues,omitempty"`
ProgressPercent float64 `json:"ProgressPercent"`
}
UpgradeStepItem describes one step in an upgrade.
type VPCOptions ¶
type VPCOptions struct {
VPCID string `json:"vpcId,omitempty"`
SecurityGroupIDs []string `json:"securityGroupIds,omitempty"`
SubnetIDs []string `json:"subnetIds,omitempty"`
}
VPCOptions holds VPC configuration for an OpenSearch domain.
type VpcEndpoint ¶
type VpcEndpoint struct {
StatusUntil time.Time `json:"statusUntil,omitzero"`
VpcOptions map[string]any `json:"VpcOptions"`
VpcEndpointID string `json:"VpcEndpointId"`
VpcEndpointOwner string `json:"VpcEndpointOwner"`
DomainArn string `json:"DomainArn"`
Status string `json:"Status"`
Endpoint string `json:"Endpoint"`
}
VpcEndpoint represents a VPC endpoint for an OpenSearch domain.
type WindowStartTime ¶
WindowStartTime holds hours and minutes for a maintenance window start.
type Workspace ¶ added in v1.2.0
type Workspace struct {
CreatedAt time.Time `json:"-"`
WorkspaceID string `json:"workspaceId"`
ApplicationID string `json:"applicationId"`
Name string `json:"name"`
Type string `json:"type"`
}
Workspace tracks the target-workspace side effect of AttachDataSource's optional WorkspaceConfiguration/WorkspaceId (types.WorkspaceConfigurationInput) and StartMigration's required MigrationOptions.Workspace (types.MigrationWorkspace). AWS defines no independent workspace resource API anywhere in this SDK: grepping every api_op_*.go in aws-sdk-go-v2/service/opensearch@v1.75.0 for "Workspace" turns up only these two request-side fields, there is no CreateWorkspace/GetWorkspace/ ListWorkspaces/DeleteWorkspace operation, and no output struct in the entire service (not AttachDataSourceOutput, not DescribeDataSourceAttachmentOutput, not GetMigrationOutput/ MigrationSummary) ever echoes a WorkspaceId back to the caller. This type exists purely so a WorkspaceId reference on either op can be validated against something real (existence, and that it belongs to the referencing application) instead of accepted as any string -- it is never surfaced through any handler response, matching what the SDK actually defines. See PARITY.md for why this stops short of a full CRUD resource model.
type WorkspaceConfigInput ¶ added in v1.2.0
WorkspaceConfigInput mirrors types.WorkspaceConfigurationInput (AttachDataSource's optional "create a new workspace" request field).
type ZoneAwarenessConfig ¶
type ZoneAwarenessConfig struct {
AvailabilityZoneCount int `json:"availabilityZoneCount"`
}
ZoneAwarenessConfig holds zone awareness settings.
Source Files
¶
- advanced.go
- applications.go
- capabilities.go
- data_source_attachments.go
- data_sources.go
- documents.go
- domain_config.go
- domain_maintenance.go
- domain_status.go
- domains.go
- errors.go
- handler.go
- handler_advanced.go
- handler_applications.go
- handler_capabilities.go
- handler_data_source_attachments.go
- handler_data_sources.go
- handler_domain_config.go
- handler_domain_options.go
- handler_domain_status.go
- handler_domains.go
- handler_inbound_connections.go
- handler_indices.go
- handler_insights.go
- handler_migrations.go
- handler_operations.go
- handler_outbound_connections.go
- handler_packages.go
- handler_reserved_instances.go
- handler_scheduled_actions.go
- handler_serverless.go
- handler_tags.go
- handler_vpc_endpoints.go
- inbound_connections.go
- indices.go
- insights.go
- interfaces.go
- lifecycle.go
- migrations.go
- models.go
- outbound_connections.go
- packages.go
- persistence.go
- provider.go
- reserved_instances.go
- scheduled_actions.go
- serverless.go
- store.go
- store_setup.go
- tags.go
- vpc_endpoints.go
- workspaces.go