Documentation
¶
Index ¶
- Variables
- type AccountWithRestoreAccess
- type AuthenticationProfile
- type Cluster
- type ClusterCredentials
- type ClusterParameter
- type ClusterParameterGroup
- type ClusterPendingModifiedValues
- type ClusterSecurityGroup
- type ClusterSubnetGroup
- type CustomDomainAssociation
- type DNSRegistrar
- type DataShare
- type DataShareAssociation
- type EC2SecurityGroup
- type EndpointAccess
- type EndpointAuthorization
- type Event
- type EventSubscription
- 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) 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) Shutdown(_ context.Context)
- func (h *Handler) Snapshot(ctx context.Context) []byte
- func (h *Handler) StartWorker(ctx context.Context) error
- type HsmClientCertificate
- type HsmConfiguration
- type IPRange
- type IdcApplication
- type InMemoryBackend
- func (b *InMemoryBackend) AcceptReservedNodeExchange(reservedNodeID, targetOfferingID string) (*ReservedNode, error)
- func (b *InMemoryBackend) AccountID() string
- func (b *InMemoryBackend) AddActiveResizeInternal(clusterID string, resize *ResizeProgress)
- func (b *InMemoryBackend) AddDataShareInternal(ds *DataShare)
- func (b *InMemoryBackend) AddParameterGroupInternal(pg *ClusterParameterGroup)
- func (b *InMemoryBackend) AddPartner(accountID, clusterID, databaseName, partnerName string) (*Partner, error)
- func (b *InMemoryBackend) AddReservedNodeInternal(node *ReservedNode)
- func (b *InMemoryBackend) AddSecurityGroupInternal(sg *ClusterSecurityGroup)
- func (b *InMemoryBackend) AddSnapshotInternal(snap *Snapshot)
- func (b *InMemoryBackend) AddSubnetGroupInternal(sg *ClusterSubnetGroup)
- func (b *InMemoryBackend) AssociateDataShareConsumer(dataShareArn, consumerArn, consumerRegion string, _ bool) (*DataShare, error)
- func (b *InMemoryBackend) AuthorizeClusterSecurityGroupIngress(groupName, cidrIP, ec2GroupName, ec2GroupOwnerID string) (*ClusterSecurityGroup, error)
- func (b *InMemoryBackend) AuthorizeDataShare(dataShareArn, consumerIdentifier string) (*DataShare, error)
- func (b *InMemoryBackend) AuthorizeEndpointAccess(clusterID, grantee string, vpcIDs []string) (*EndpointAuthorization, error)
- func (b *InMemoryBackend) AuthorizeSnapshotAccess(snapshotID, accountWithRestoreAccess string) (*Snapshot, error)
- func (b *InMemoryBackend) BatchDeleteClusterSnapshots(identifiers []string) ([]SnapshotBatchError, []string)
- func (b *InMemoryBackend) BatchModifyClusterSnapshots(identifiers []string, retentionPeriod int, _ bool) ([]SnapshotBatchError, []string)
- func (b *InMemoryBackend) CancelResize(clusterID string) (*ResizeProgress, error)
- func (b *InMemoryBackend) CopyClusterSnapshot(sourceSnapshotID, destinationSnapshotID string) (*Snapshot, error)
- func (b *InMemoryBackend) CreateAuthenticationProfile(name, content string) (*AuthenticationProfile, error)
- func (b *InMemoryBackend) CreateCluster(id, nodeType, dbName, masterUser string) (*Cluster, error)
- func (b *InMemoryBackend) CreateClusterParameterGroup(name, family, description string) (*ClusterParameterGroup, error)
- func (b *InMemoryBackend) CreateClusterSecurityGroup(name, description string) (*ClusterSecurityGroup, error)
- func (b *InMemoryBackend) CreateClusterSnapshot(snapshotID, clusterID string) (*Snapshot, error)
- func (b *InMemoryBackend) CreateClusterSubnetGroup(name, description, vpcID string, subnetIDs []string) (*ClusterSubnetGroup, error)
- func (b *InMemoryBackend) CreateCustomDomainAssociation(clusterID, customDomainName, customDomainCertificateArn string) (*CustomDomainAssociation, error)
- func (b *InMemoryBackend) CreateEndpointAccess(clusterID, endpointName, vpcID string) (*EndpointAccess, error)
- func (b *InMemoryBackend) CreateEventSubscription(subscriptionName, snsTopicArn, sourceType, severity string, ...) (*EventSubscription, error)
- func (b *InMemoryBackend) CreateHsmClientCertificate(id string, tagMap map[string]string) (*HsmClientCertificate, error)
- func (b *InMemoryBackend) CreateHsmConfiguration(id, description, hsmIPAddress, hsmPartitionName string, ...) (*HsmConfiguration, error)
- func (b *InMemoryBackend) CreateIdcApplication(appName, idcInstanceArn, idcDisplayName, iamRoleArn string) (*IdcApplication, error)
- func (b *InMemoryBackend) CreateIntegration(integrationName, sourceArn, targetArn, kmsKeyID, description string) (*Integration, error)
- func (b *InMemoryBackend) CreateNamespace(namespaceName, adminUsername, dbName, kmsKeyID string, ...) (*Namespace, error)
- func (b *InMemoryBackend) CreateScheduledAction(name, schedule, iamRole, description, targetAction string) (*ScheduledAction, error)
- func (b *InMemoryBackend) CreateServerlessScheduledAction(scheduledActionName, namespaceName, schedule, targetAction string, ...) (*ServerlessScheduledAction, error)
- func (b *InMemoryBackend) CreateServerlessSnapshot(snapshotName, namespaceName string) (*ServerlessSnapshot, error)
- func (b *InMemoryBackend) CreateServerlessUsageLimit(resourceArn, usageType, period, breachAction string, amount int64) (*ServerlessUsageLimit, error)
- func (b *InMemoryBackend) CreateSnapshotCopyGrant(name, kmsKeyID string, tagMap map[string]string) (*SnapshotCopyGrant, error)
- func (b *InMemoryBackend) CreateSnapshotSchedule(scheduleID, description string, definitions []string, tagMap map[string]string) (*SnapshotSchedule, error)
- func (b *InMemoryBackend) CreateTableRestoreStatus(...) (*TableRestoreStatus, error)
- func (b *InMemoryBackend) CreateTags(clusterID string, kv map[string]string) error
- func (b *InMemoryBackend) CreateUsageLimit(clusterID, featureType, limitType, breachAction string, amount int64, ...) (*UsageLimit, error)
- func (b *InMemoryBackend) CreateWorkgroup(workgroupName, namespaceName string, baseCapacity int, ...) (*Workgroup, error)
- func (b *InMemoryBackend) DeauthorizeDataShare(dataShareArn, consumerIdentifier string) (*DataShare, error)
- func (b *InMemoryBackend) DeleteAuthenticationProfile(name string) error
- func (b *InMemoryBackend) DeleteCluster(id string) (*Cluster, error)
- func (b *InMemoryBackend) DeleteClusterParameterGroup(name string) error
- func (b *InMemoryBackend) DeleteClusterSecurityGroup(name string) error
- func (b *InMemoryBackend) DeleteClusterSnapshot(snapshotID string) (*Snapshot, error)
- func (b *InMemoryBackend) DeleteClusterSubnetGroup(name string) error
- func (b *InMemoryBackend) DeleteCustomDomainAssociation(clusterID, customDomainName string) error
- func (b *InMemoryBackend) DeleteEndpointAccess(endpointName string) (*EndpointAccess, error)
- func (b *InMemoryBackend) DeleteEventSubscription(subscriptionName string) error
- func (b *InMemoryBackend) DeleteHsmClientCertificate(id string) error
- func (b *InMemoryBackend) DeleteHsmConfiguration(id string) error
- func (b *InMemoryBackend) DeleteIdcApplication(appArn string) error
- func (b *InMemoryBackend) DeleteIntegration(integrationArn string) (*Integration, error)
- func (b *InMemoryBackend) DeleteNamespace(namespaceName string) (*Namespace, error)
- func (b *InMemoryBackend) DeletePartner(_, clusterID, databaseName, partnerName string) error
- func (b *InMemoryBackend) DeleteResourcePolicy(resourceArn string) error
- func (b *InMemoryBackend) DeleteScheduledAction(name string) error
- func (b *InMemoryBackend) DeleteServerlessScheduledAction(scheduledActionName string) (*ServerlessScheduledAction, error)
- func (b *InMemoryBackend) DeleteServerlessSnapshot(snapshotName string) (*ServerlessSnapshot, error)
- func (b *InMemoryBackend) DeleteServerlessUsageLimit(usageLimitID string) (*ServerlessUsageLimit, error)
- func (b *InMemoryBackend) DeleteSnapshotCopyGrant(name string) error
- func (b *InMemoryBackend) DeleteSnapshotSchedule(scheduleID string) error
- func (b *InMemoryBackend) DeleteTags(clusterID string, keys []string) error
- func (b *InMemoryBackend) DeleteUsageLimit(usageLimitID string) error
- func (b *InMemoryBackend) DeleteWorkgroup(workgroupName string) (*Workgroup, error)
- func (b *InMemoryBackend) DescribeAuthenticationProfiles(name string) ([]AuthenticationProfile, error)
- func (b *InMemoryBackend) DescribeClusterParameterGroups(name string) ([]ClusterParameterGroup, error)
- func (b *InMemoryBackend) DescribeClusterParameters(groupName string) ([]ClusterParameter, error)
- func (b *InMemoryBackend) DescribeClusterSecurityGroups(name string) ([]ClusterSecurityGroup, error)
- func (b *InMemoryBackend) DescribeClusterSnapshots(snapshotID, clusterID, snapshotType string) ([]Snapshot, error)
- func (b *InMemoryBackend) DescribeClusterSubnetGroups(name string) ([]ClusterSubnetGroup, error)
- func (b *InMemoryBackend) DescribeClusters(id, marker string, maxRecords int) ([]Cluster, string, error)
- func (b *InMemoryBackend) DescribeCustomDomainAssociations(clusterID, customDomainName string) ([]CustomDomainAssociation, error)
- func (b *InMemoryBackend) DescribeDataShares(dataShareArn string) ([]DataShare, error)
- func (b *InMemoryBackend) DescribeDataSharesForConsumer(consumerArn, status string) ([]DataShare, error)
- func (b *InMemoryBackend) DescribeDataSharesForProducer(producerArn, status string) ([]DataShare, error)
- func (b *InMemoryBackend) DescribeDefaultClusterParameters(family string) ([]ClusterParameter, error)
- func (b *InMemoryBackend) DescribeEndpointAccess(clusterID, endpointName string) ([]EndpointAccess, error)
- func (b *InMemoryBackend) DescribeEndpointAuthorization(clusterID, account string, grantee bool) ([]EndpointAuthorization, error)
- func (b *InMemoryBackend) DescribeEventSubscriptions(subscriptionName string) ([]EventSubscription, error)
- func (b *InMemoryBackend) DescribeEvents(sourceIdentifier, sourceType string) ([]Event, error)
- func (b *InMemoryBackend) DescribeHsmClientCertificates(id string) ([]HsmClientCertificate, error)
- func (b *InMemoryBackend) DescribeHsmConfigurations(id string) ([]HsmConfiguration, error)
- func (b *InMemoryBackend) DescribeIdcApplications(appArn string) ([]IdcApplication, error)
- func (b *InMemoryBackend) DescribeIntegrations(integrationArn string) ([]Integration, error)
- func (b *InMemoryBackend) DescribePartners(_, clusterID, databaseName, partnerName string) ([]Partner, error)
- func (b *InMemoryBackend) DescribeReservedNodeExchangeStatus(reservedNodeID string) (string, error)
- func (b *InMemoryBackend) DescribeReservedNodeOfferings(offeringID string) ([]ReservedNodeOffering, error)
- func (b *InMemoryBackend) DescribeReservedNodes(reservedNodeID string) ([]ReservedNode, error)
- func (b *InMemoryBackend) DescribeResize(clusterID string) (*ResizeProgress, error)
- func (b *InMemoryBackend) DescribeScheduledActions(name string) ([]ScheduledAction, error)
- func (b *InMemoryBackend) DescribeSnapshotCopyGrants(name string) ([]SnapshotCopyGrant, error)
- func (b *InMemoryBackend) DescribeSnapshotSchedules(scheduleID string) ([]SnapshotSchedule, error)
- func (b *InMemoryBackend) DescribeTableRestoreStatus(clusterID string) ([]TableRestoreStatus, error)
- func (b *InMemoryBackend) DescribeTags() map[string]map[string]string
- func (b *InMemoryBackend) DescribeUsageLimits(clusterID, featureType string) ([]UsageLimit, error)
- func (b *InMemoryBackend) DisableLogging(clusterID string) (*LoggingStatus, error)
- func (b *InMemoryBackend) DisableSnapshotCopy(clusterID string) (*Cluster, error)
- func (b *InMemoryBackend) DisassociateDataShareConsumer(dataShareArn, consumerArn, _ string, _ bool) (*DataShare, error)
- func (b *InMemoryBackend) EnableLogging(clusterID, bucketName, s3KeyPrefix string) (*LoggingStatus, error)
- func (b *InMemoryBackend) EnableSnapshotCopy(clusterID, destinationRegion, grantName string, retentionPeriod int) (*Cluster, error)
- func (b *InMemoryBackend) FailoverPrimaryCompute(clusterID string) (*Cluster, error)
- func (b *InMemoryBackend) GetClusterCredentials(clusterID, dbUser string, _ bool) (*ClusterCredentials, error)
- func (b *InMemoryBackend) GetClusterCredentialsWithIAM(clusterID, _ string) (*ClusterCredentials, error)
- func (b *InMemoryBackend) GetCredentials(workgroupName, dbName string) (string, string, string, error)
- func (b *InMemoryBackend) GetNamespace(namespaceName string) (*Namespace, error)
- func (b *InMemoryBackend) GetReservedNodeExchangeOfferings(reservedNodeID string) ([]ReservedNodeOffering, error)
- func (b *InMemoryBackend) GetResourcePolicy(resourceArn string) (*ResourcePolicy, error)
- func (b *InMemoryBackend) GetServerlessScheduledAction(scheduledActionName string) (*ServerlessScheduledAction, error)
- func (b *InMemoryBackend) GetServerlessSnapshot(snapshotName string) (*ServerlessSnapshot, error)
- func (b *InMemoryBackend) GetServerlessUsageLimit(usageLimitID string) (*ServerlessUsageLimit, error)
- func (b *InMemoryBackend) GetWorkgroup(workgroupName string) (*Workgroup, error)
- func (b *InMemoryBackend) ListNamespaces(maxResults int, nextToken string) ([]*Namespace, string)
- func (b *InMemoryBackend) ListServerlessScheduledActions(namespaceName string, maxResults int, nextToken string) ([]*ServerlessScheduledAction, string)
- func (b *InMemoryBackend) ListServerlessSnapshots(namespaceName string, maxResults int, nextToken string) ([]*ServerlessSnapshot, string)
- func (b *InMemoryBackend) ListServerlessUsageLimits(resourceArn string, maxResults int, nextToken string) ([]*ServerlessUsageLimit, string)
- func (b *InMemoryBackend) ListWorkgroups(maxResults int, nextToken string) ([]*Workgroup, string)
- func (b *InMemoryBackend) ModifyAuthenticationProfile(name, content string) (*AuthenticationProfile, error)
- func (b *InMemoryBackend) ModifyCluster(id string, nodeType string, numberOfNodes int, _ string, encrypted *bool, ...) (*Cluster, error)
- func (b *InMemoryBackend) ModifyClusterIamRoles(id string, addRoles, removeRoles []string) (*Cluster, error)
- func (b *InMemoryBackend) ModifyClusterMaintenance(id, maintenanceTrack string, _ bool) (*Cluster, error)
- func (b *InMemoryBackend) ModifyClusterParameterGroup(groupName string, params []ClusterParameter) (*ClusterParameterGroup, error)
- func (b *InMemoryBackend) ModifyClusterSnapshot(snapshotID string, retentionPeriod int, _ bool) (*Snapshot, error)
- func (b *InMemoryBackend) ModifyClusterSnapshotSchedule(clusterID, scheduleID string, disassociate bool) error
- func (b *InMemoryBackend) ModifyClusterSubnetGroup(name, description string, subnetIDs []string) (*ClusterSubnetGroup, error)
- func (b *InMemoryBackend) ModifyCustomDomainAssociation(clusterID, customDomainName, customDomainCertificateArn string) (*CustomDomainAssociation, error)
- func (b *InMemoryBackend) ModifyEndpointAccess(endpointName, vpcID string) (*EndpointAccess, error)
- func (b *InMemoryBackend) ModifyEventSubscription(subscriptionName, snsTopicArn, sourceType, severity string, ...) (*EventSubscription, error)
- func (b *InMemoryBackend) ModifyIdcApplication(appArn, idcDisplayName, iamRoleArn string) (*IdcApplication, error)
- func (b *InMemoryBackend) ModifyIntegration(integrationArn, description string) (*Integration, error)
- func (b *InMemoryBackend) ModifyScheduledAction(name, schedule, iamRole, description string) (*ScheduledAction, error)
- func (b *InMemoryBackend) ModifySnapshotCopyRetentionPeriod(clusterID string, retentionPeriod int) (*Cluster, error)
- func (b *InMemoryBackend) ModifySnapshotSchedule(scheduleID string, definitions []string) (*SnapshotSchedule, error)
- func (b *InMemoryBackend) ModifyUsageLimit(usageLimitID, breachAction string, amount int64) (*UsageLimit, error)
- func (b *InMemoryBackend) PauseCluster(id string) (*Cluster, error)
- func (b *InMemoryBackend) PurchaseReservedNodeOffering(offeringID, reservedNodeID string, nodeCount int) (*ReservedNode, error)
- func (b *InMemoryBackend) PutResourcePolicy(resourceArn, policy string) (*ResourcePolicy, error)
- func (b *InMemoryBackend) RebootCluster(id string) (*Cluster, error)
- func (b *InMemoryBackend) Region() string
- func (b *InMemoryBackend) RejectDataShare(dataShareArn string) (*DataShare, error)
- func (b *InMemoryBackend) Reset()
- func (b *InMemoryBackend) ResetClusterParameterGroup(groupName string, resetAllParameters bool, params []ClusterParameter) (*ClusterParameterGroup, error)
- func (b *InMemoryBackend) ResizeCluster(id, nodeType, clusterType string, numberOfNodes int, _ bool) (*Cluster, error)
- func (b *InMemoryBackend) Restore(ctx context.Context, data []byte) error
- func (b *InMemoryBackend) RestoreFromClusterSnapshot(clusterID, snapshotID string) (*Cluster, error)
- func (b *InMemoryBackend) ResumeCluster(id string) (*Cluster, error)
- func (b *InMemoryBackend) RevokeClusterSecurityGroupIngress(groupName, cidrIP, ec2GroupName, ec2GroupOwnerID string) (*ClusterSecurityGroup, error)
- func (b *InMemoryBackend) RevokeEndpointAccess(clusterID, account string, _ []string, force bool) (*EndpointAuthorization, error)
- func (b *InMemoryBackend) RevokeSnapshotAccess(snapshotID, accountWithRestoreAccess string) (*Snapshot, error)
- func (b *InMemoryBackend) RotateEncryptionKey(id string) (*Cluster, error)
- func (b *InMemoryBackend) SetDNSRegistrar(dns DNSRegistrar)
- func (b *InMemoryBackend) Snapshot(ctx context.Context) []byte
- func (b *InMemoryBackend) StartReconciler(ctx context.Context)
- func (b *InMemoryBackend) StopReconciler()
- func (b *InMemoryBackend) UpdateNamespace(namespaceName, adminUsername, dbName, kmsKeyID string, ...) (*Namespace, error)
- func (b *InMemoryBackend) UpdatePartnerStatus(_, clusterID, databaseName, partnerName, status, statusMessage string) (*Partner, error)
- func (b *InMemoryBackend) UpdateServerlessScheduledAction(scheduledActionName, schedule, targetAction string, ...) (*ServerlessScheduledAction, error)
- func (b *InMemoryBackend) UpdateServerlessUsageLimit(usageLimitID, breachAction string, amount int64) (*ServerlessUsageLimit, error)
- func (b *InMemoryBackend) UpdateWorkgroup(workgroupName string, baseCapacity int, subnetIDs, securityGroupIDs []string) (*Workgroup, error)
- type Integration
- type LoggingStatus
- type Namespace
- type Partner
- type Provider
- type ReservedNode
- type ReservedNodeOffering
- type ResizeProgress
- type ResourcePolicy
- type ScheduledAction
- type ServerlessHandler
- func (h *ServerlessHandler) ChaosOperations() []string
- func (h *ServerlessHandler) ChaosRegions() []string
- func (h *ServerlessHandler) ChaosServiceName() string
- func (h *ServerlessHandler) ExtractOperation(c *echo.Context) string
- func (h *ServerlessHandler) ExtractResource(_ *echo.Context) string
- func (h *ServerlessHandler) GetSupportedOperations() []string
- func (h *ServerlessHandler) Handler() echo.HandlerFunc
- func (h *ServerlessHandler) MatchPriority() int
- func (h *ServerlessHandler) Name() string
- func (h *ServerlessHandler) Reset()
- func (h *ServerlessHandler) RouteMatcher() service.Matcher
- type ServerlessProvider
- type ServerlessScheduledAction
- type ServerlessSnapshot
- type ServerlessUsageLimit
- type Snapshot
- type SnapshotBatchError
- type SnapshotCopyConfig
- type SnapshotCopyGrant
- type SnapshotSchedule
- type StorageBackend
- type Subnet
- type TableRestoreStatus
- type UsageLimit
- type Workgroup
- type WorkgroupEndpoint
Constants ¶
This section is empty.
Variables ¶
var ( ErrClusterNotFound = errors.New("ClusterNotFound") ErrClusterAlreadyExists = errors.New("ClusterAlreadyExists") ErrInvalidParameter = errors.New("InvalidParameterValue") ErrReservedNodeNotFound = errors.New("ReservedNodeNotFound") ErrReservedNodeAlreadyExists = errors.New("ReservedNodeAlreadyExists") ErrReservedNodeOfferingNotFound = errors.New("ReservedNodeOfferingNotFound") ErrPartnerNotFound = errors.New("PartnerNotFound") ErrSecurityGroupNotFound = errors.New("ClusterSecurityGroupNotFound") ErrSecurityGroupAlreadyExists = errors.New("ClusterSecurityGroupAlreadyExists") ErrSnapshotNotFound = errors.New(errClusterSnapshotNotFound) ErrSnapshotAlreadyExists = errors.New("ClusterSnapshotAlreadyExists") ErrEndpointAuthNotFound = errors.New("EndpointAuthorizationNotFound") ErrEndpointAuthAlreadyExists = errors.New("EndpointAuthorizationAlreadyExists") ErrResizeNotFound = errors.New("ResizeNotFound") ErrResizeNotCancellable = errors.New("InvalidClusterState") ErrParameterGroupNotFound = errors.New("ClusterParameterGroupNotFound") ErrParameterGroupAlreadyExists = errors.New("ClusterParameterGroupAlreadyExists") ErrSubnetGroupNotFound = errors.New("ClusterSubnetGroupNotFound") ErrSubnetGroupAlreadyExists = errors.New("ClusterSubnetGroupAlreadyExists") ErrEventSubscriptionNotFound = errors.New("SubscriptionNotFound") ErrEventSubscriptionAlreadyExists = errors.New("SubscriptionAlreadyExist") ErrSnapshotCopyGrantNotFound = errors.New("SnapshotCopyGrantNotFound") ErrSnapshotCopyGrantAlreadyExists = errors.New("SnapshotCopyGrantAlreadyExists") ErrSnapshotScheduleNotFound = errors.New("SnapshotScheduleNotFound") ErrSnapshotScheduleAlreadyExists = errors.New("SnapshotScheduleAlreadyExists") ErrUsageLimitNotFound = errors.New("UsageLimitNotFound") ErrAuthProfileNotFound = errors.New("AuthenticationProfileNotFound") ErrAuthProfileAlreadyExists = errors.New("AuthenticationProfileAlreadyExists") ErrResourcePolicyNotFound = errors.New("ResourcePolicyNotFound") ErrSnapshotCopyAlreadyEnabled = errors.New("SnapshotCopyAlreadyEnabled") ErrSnapshotCopyNotEnabled = errors.New("CopyToRegionDisabled") ErrHsmClientCertNotFound = errors.New("HsmClientCertificateNotFound") ErrHsmClientCertAlreadyExists = errors.New("HsmClientCertificateAlreadyExists") ErrHsmConfigNotFound = errors.New("HsmConfigurationNotFound") ErrHsmConfigAlreadyExists = errors.New("HsmConfigurationAlreadyExists") ErrScheduledActionNotFound = errors.New("ScheduledActionNotFound") ErrScheduledActionAlreadyExists = errors.New("ScheduledActionAlreadyExists") ErrCustomDomainNotFound = errors.New("CustomDomainAssociationNotFoundFault") ErrCustomDomainAlreadyExists = errors.New("CustomDomainAssociationAlreadyExistsFault") ErrEndpointAccessNotFound = errors.New("EndpointNotFound") ErrEndpointAccessAlreadyExists = errors.New("EndpointAlreadyExists") ErrIntegrationNotFound = errors.New("IntegrationNotFound") ErrIntegrationAlreadyExists = errors.New("IntegrationAlreadyExists") ErrIdcApplicationNotFound = errors.New("IdcApplicationNotExistsFault") ErrIdcApplicationAlreadyExists = errors.New("IdcApplicationAlreadyExistsFault") )
var ( // ErrNamespaceNotFound is returned when a serverless namespace does not exist. ErrNamespaceNotFound = errors.New("ResourceNotFoundException") // ErrNamespaceAlreadyExists is returned when a serverless namespace already exists. ErrNamespaceAlreadyExists = errors.New("ConflictException") // ErrWorkgroupNotFound is returned when a serverless workgroup does not exist. ErrWorkgroupNotFound = errors.New("ResourceNotFoundException") // ErrWorkgroupAlreadyExists is returned when a serverless workgroup already exists. ErrWorkgroupAlreadyExists = errors.New("ConflictException") // ErrServerlessSnapshotNotFound is returned when a serverless snapshot does not exist. ErrServerlessSnapshotNotFound = errors.New("ResourceNotFoundException") // ErrServerlessConflict is returned when a serverless resource already exists. ErrServerlessConflict = errors.New("ConflictException") // ErrUsageLimitSLNotFound is returned when a serverless usage limit does not exist. ErrUsageLimitSLNotFound = errors.New("ResourceNotFoundException") // ErrScheduledActionSLNotFound is returned when a serverless scheduled action does not exist. ErrScheduledActionSLNotFound = errors.New("ResourceNotFoundException") )
var ErrNilAppContext = errors.New("nil AppContext passed to Redshift Provider.Init")
ErrNilAppContext is returned by Init when a nil AppContext is passed.
var ErrNilAppContextSL = errors.New("nil AppContext passed to Redshift ServerlessProvider.Init")
ErrNilAppContextSL is returned by ServerlessProvider.Init when a nil AppContext is passed.
Functions ¶
This section is empty.
Types ¶
type AccountWithRestoreAccess ¶
type AccountWithRestoreAccess struct {
AccountID string `json:"accountId"`
AccountAlias string `json:"accountAlias"`
}
AccountWithRestoreAccess represents an account permitted to restore from a snapshot.
type AuthenticationProfile ¶
type AuthenticationProfile struct {
AuthenticationProfileName string `json:"authenticationProfileName"`
AuthenticationProfileContent string `json:"authenticationProfileContent"`
}
AuthenticationProfile represents an authentication profile for Redshift.
type Cluster ¶
type Cluster struct {
Tags *tags.Tags `json:"tags,omitempty"`
PendingModifiedValues *ClusterPendingModifiedValues `json:"pendingModifiedValues,omitempty"`
ClusterIdentifier string `json:"clusterIdentifier"`
NodeType string `json:"nodeType"`
ClusterType string `json:"clusterType"`
Endpoint string `json:"endpoint"`
Status string `json:"status"`
DBName string `json:"dbName"`
MasterUsername string `json:"masterUsername"`
VpcID string `json:"vpcId,omitempty"`
KmsKeyID string `json:"kmsKeyId,omitempty"`
PreferredMaintenanceWindow string `json:"preferredMaintenanceWindow,omitempty"`
IamRoles []string `json:"iamRoles,omitempty"`
Port int `json:"port"`
NumberOfNodes int `json:"numberOfNodes"`
Encrypted bool `json:"encrypted"`
EnhancedVpcRouting bool `json:"enhancedVpcRouting"`
}
Cluster represents a Redshift cluster.
type ClusterCredentials ¶
ClusterCredentials holds temporary cluster credentials.
type ClusterParameter ¶
type ClusterParameter struct {
ParameterName string `json:"parameterName"`
ParameterValue string `json:"parameterValue"`
Description string `json:"description"`
Source string `json:"source"`
DataType string `json:"dataType"`
ApplyType string `json:"applyType"`
MinimumEngineVersion string `json:"minimumEngineVersion"`
IsModifiable bool `json:"isModifiable"`
}
ClusterParameter represents a single parameter within a cluster parameter group.
type ClusterParameterGroup ¶
type ClusterParameterGroup struct {
CreatedAt time.Time `json:"createdAt"`
ParameterGroupName string `json:"parameterGroupName"`
ParameterGroupFamily string `json:"parameterGroupFamily"`
Description string `json:"description"`
Parameters []ClusterParameter `json:"parameters"`
}
ClusterParameterGroup represents a Redshift cluster parameter group.
type ClusterPendingModifiedValues ¶
type ClusterPendingModifiedValues struct {
NodeType string `json:"nodeType,omitempty"`
NumberOfNodes int `json:"numberOfNodes,omitempty"`
Encrypted bool `json:"encrypted,omitempty"`
}
ClusterPendingModifiedValues holds changes queued for the next maintenance window.
type ClusterSecurityGroup ¶
type ClusterSecurityGroup struct {
ClusterSecurityGroupName string `json:"clusterSecurityGroupName"`
Description string `json:"description"`
IPRanges []IPRange `json:"ipRanges"`
EC2SecurityGroups []EC2SecurityGroup `json:"ec2SecurityGroups"`
}
ClusterSecurityGroup represents a Redshift cluster security group.
type ClusterSubnetGroup ¶
type ClusterSubnetGroup struct {
ClusterSubnetGroupName string `json:"clusterSubnetGroupName"`
Description string `json:"description"`
VpcID string `json:"vpcId"`
SubnetGroupStatus string `json:"subnetGroupStatus"`
Subnets []Subnet `json:"subnets"`
}
ClusterSubnetGroup represents a Redshift cluster subnet group.
type CustomDomainAssociation ¶
type CustomDomainAssociation struct {
ClusterIdentifier string `json:"clusterIdentifier"`
CustomDomainName string `json:"customDomainName"`
CustomDomainCertificateArn string `json:"customDomainCertificateArn"`
}
CustomDomainAssociation represents a custom domain name associated with a Redshift cluster.
type DNSRegistrar ¶
DNSRegistrar can register and deregister hostnames with an embedded DNS server.
type DataShareAssociation ¶
type DataShareAssociation struct {
}
DataShareAssociation represents an association between a data share and a consumer.
type EC2SecurityGroup ¶
type EC2SecurityGroup struct {
EC2SecurityGroupName string `json:"ec2SecurityGroupName"`
EC2SecurityGroupOwnerID string `json:"ec2SecurityGroupOwnerId"`
Status string `json:"status"`
}
EC2SecurityGroup represents an EC2 security group within a cluster security group.
type EndpointAccess ¶
type EndpointAccess struct {
ClusterIdentifier string `json:"clusterIdentifier"`
EndpointName string `json:"endpointName"`
EndpointStatus string `json:"endpointStatus"`
EndpointCreateTime string `json:"endpointCreateTime"`
VpcID string `json:"vpcId"`
Port int `json:"port"`
}
EndpointAccess represents a Redshift managed VPC endpoint.
type EndpointAuthorization ¶
type EndpointAuthorization struct {
AuthorizeTime time.Time `json:"authorizeTime"`
Grantor string `json:"grantor"`
Grantee string `json:"grantee"`
ClusterIdentifier string `json:"clusterIdentifier"`
ClusterStatus string `json:"clusterStatus"`
Status string `json:"status"`
AllowedVPCs []string `json:"allowedVPCs"`
EndpointCount int `json:"endpointCount"`
AllowedAllVPCs bool `json:"allowedAllVPCs"`
}
EndpointAuthorization represents authorization for a VPC endpoint to a cluster.
type Event ¶
type Event struct {
Date time.Time `json:"date"`
SourceIdentifier string `json:"sourceIdentifier"`
SourceType string `json:"sourceType"`
Message string `json:"message"`
EventID string `json:"eventId"`
Severity string `json:"severity"`
}
Event represents a Redshift event.
type EventSubscription ¶
type EventSubscription struct {
SubscriptionCreated time.Time `json:"subscriptionCreated"`
CustomerAwsID string `json:"customerAwsId"`
CustSubscriptionID string `json:"custSubscriptionId"`
SnsTopicArn string `json:"snsTopicArn"`
Status string `json:"status"`
SourceType string `json:"sourceType"`
Severity string `json:"severity"`
SourceIDs []string `json:"sourceIds"`
EventCategories []string `json:"eventCategories"`
Enabled bool `json:"enabled"`
}
EventSubscription represents a Redshift event subscription.
type Handler ¶
type Handler struct {
Backend StorageBackend
// contains filtered or unexported fields
}
Handler is the Echo HTTP handler for Redshift operations.
func NewHandler ¶
func NewHandler(backend StorageBackend) *Handler
NewHandler creates a new Redshift handler.
func (*Handler) ChaosOperations ¶
ChaosOperations returns all operations that can be fault-injected.
func (*Handler) ChaosRegions ¶
ChaosRegions returns all regions this Redshift instance handles.
func (*Handler) ChaosServiceName ¶
ChaosServiceName returns the lowercase AWS service name for fault rule matching.
func (*Handler) ExtractOperation ¶
ExtractOperation extracts the Redshift action from the request.
func (*Handler) ExtractResource ¶
ExtractResource returns the cluster identifier from the request.
func (*Handler) GetSupportedOperations ¶
GetSupportedOperations returns supported Redshift operations (sorted).
func (*Handler) Handler ¶
func (h *Handler) Handler() echo.HandlerFunc
Handler returns the Echo handler function.
func (*Handler) MatchPriority ¶
MatchPriority returns the routing priority.
func (*Handler) Reset ¶
func (h *Handler) Reset()
Reset clears all backend state and rebuilds the dispatch table.
func (*Handler) RouteMatcher ¶
RouteMatcher returns a function that matches Redshift requests.
func (*Handler) Shutdown ¶
Shutdown implements service.Shutdowner. It stops the reconciler and waits for its goroutine to exit, guaranteeing a clean, leak-free shutdown.
type HsmClientCertificate ¶
type HsmClientCertificate struct {
Tags map[string]string `json:"tags"`
HsmClientCertificateIdentifier string `json:"hsmClientCertificateIdentifier"`
HsmClientCertificatePublicKey string `json:"hsmClientCertificatePublicKey"`
}
HsmClientCertificate represents a Redshift HSM client certificate.
type HsmConfiguration ¶
type HsmConfiguration struct {
Tags map[string]string `json:"tags"`
HsmConfigurationIdentifier string `json:"hsmConfigurationIdentifier"`
Description string `json:"description"`
HsmIPAddress string `json:"hsmIpAddress"`
HsmPartitionName string `json:"hsmPartitionName"`
}
HsmConfiguration represents a Redshift HSM configuration.
type IdcApplication ¶
type IdcApplication struct {
IdcApplicationArn string `json:"redshiftIdcApplicationArn"`
IdcApplicationName string `json:"redshiftIdcApplicationName"`
IdcInstanceArn string `json:"idcInstanceArn"`
IdcDisplayName string `json:"idcDisplayName"`
IamRoleArn string `json:"iamRoleArn"`
}
IdcApplication represents a Redshift IDC application.
type InMemoryBackend ¶
type InMemoryBackend struct {
// contains filtered or unexported fields
}
InMemoryBackend is the in-memory store for Redshift clusters.
func NewInMemoryBackend ¶
func NewInMemoryBackend(accountID, region string) *InMemoryBackend
NewInMemoryBackend creates a new InMemoryBackend.
func (*InMemoryBackend) AcceptReservedNodeExchange ¶
func (b *InMemoryBackend) AcceptReservedNodeExchange(reservedNodeID, targetOfferingID string) (*ReservedNode, error)
AcceptReservedNodeExchange exchanges an existing reserved node for a new offering.
func (*InMemoryBackend) AccountID ¶
func (b *InMemoryBackend) AccountID() string
AccountID returns the AWS account ID this backend is configured for.
func (*InMemoryBackend) AddActiveResizeInternal ¶
func (b *InMemoryBackend) AddActiveResizeInternal(clusterID string, resize *ResizeProgress)
AddActiveResizeInternal seeds an active resize directly into the backend.
func (*InMemoryBackend) AddDataShareInternal ¶
func (b *InMemoryBackend) AddDataShareInternal(ds *DataShare)
AddDataShareInternal seeds a data share directly into the backend.
func (*InMemoryBackend) AddParameterGroupInternal ¶
func (b *InMemoryBackend) AddParameterGroupInternal(pg *ClusterParameterGroup)
AddParameterGroupInternal seeds a parameter group directly into the backend.
func (*InMemoryBackend) AddPartner ¶
func (b *InMemoryBackend) AddPartner(accountID, clusterID, databaseName, partnerName string) (*Partner, error)
AddPartner adds a partner integration to the specified cluster database.
func (*InMemoryBackend) AddReservedNodeInternal ¶
func (b *InMemoryBackend) AddReservedNodeInternal(node *ReservedNode)
AddReservedNodeInternal seeds a reserved node directly into the backend.
func (*InMemoryBackend) AddSecurityGroupInternal ¶
func (b *InMemoryBackend) AddSecurityGroupInternal(sg *ClusterSecurityGroup)
AddSecurityGroupInternal seeds a cluster security group directly into the backend.
func (*InMemoryBackend) AddSnapshotInternal ¶
func (b *InMemoryBackend) AddSnapshotInternal(snap *Snapshot)
AddSnapshotInternal seeds a snapshot directly into the backend.
func (*InMemoryBackend) AddSubnetGroupInternal ¶
func (b *InMemoryBackend) AddSubnetGroupInternal(sg *ClusterSubnetGroup)
AddSubnetGroupInternal seeds a subnet group directly into the backend.
func (*InMemoryBackend) AssociateDataShareConsumer ¶
func (b *InMemoryBackend) AssociateDataShareConsumer( dataShareArn, consumerArn, consumerRegion string, _ bool, ) (*DataShare, error)
AssociateDataShareConsumer associates a consumer with a data share.
func (*InMemoryBackend) AuthorizeClusterSecurityGroupIngress ¶
func (b *InMemoryBackend) AuthorizeClusterSecurityGroupIngress( groupName, cidrIP, ec2GroupName, ec2GroupOwnerID string, ) (*ClusterSecurityGroup, error)
AuthorizeClusterSecurityGroupIngress adds an ingress rule to a cluster security group.
func (*InMemoryBackend) AuthorizeDataShare ¶
func (b *InMemoryBackend) AuthorizeDataShare(dataShareArn, consumerIdentifier string) (*DataShare, error)
AuthorizeDataShare authorizes a data share to a consumer.
func (*InMemoryBackend) AuthorizeEndpointAccess ¶
func (b *InMemoryBackend) AuthorizeEndpointAccess( clusterID, grantee string, vpcIDs []string, ) (*EndpointAuthorization, error)
AuthorizeEndpointAccess authorizes an account to create a VPC endpoint to the cluster.
func (*InMemoryBackend) AuthorizeSnapshotAccess ¶
func (b *InMemoryBackend) AuthorizeSnapshotAccess(snapshotID, accountWithRestoreAccess string) (*Snapshot, error)
AuthorizeSnapshotAccess grants another account restore access to a snapshot.
func (*InMemoryBackend) BatchDeleteClusterSnapshots ¶
func (b *InMemoryBackend) BatchDeleteClusterSnapshots(identifiers []string) ([]SnapshotBatchError, []string)
BatchDeleteClusterSnapshots deletes multiple cluster snapshots. It returns the list of errors for snapshots that could not be deleted and the list of successfully deleted snapshot identifiers.
func (*InMemoryBackend) BatchModifyClusterSnapshots ¶
func (b *InMemoryBackend) BatchModifyClusterSnapshots( identifiers []string, retentionPeriod int, _ bool, ) ([]SnapshotBatchError, []string)
BatchModifyClusterSnapshots modifies the retention period for a list of snapshots. The force parameter is accepted for API compatibility but has no effect in the in-memory backend. Returns errors and the list of successfully modified snapshot identifiers.
func (*InMemoryBackend) CancelResize ¶
func (b *InMemoryBackend) CancelResize(clusterID string) (*ResizeProgress, error)
CancelResize cancels an active resize operation for a cluster and returns the final resize status.
func (*InMemoryBackend) CopyClusterSnapshot ¶
func (b *InMemoryBackend) CopyClusterSnapshot( sourceSnapshotID, destinationSnapshotID string, ) (*Snapshot, error)
CopyClusterSnapshot copies a snapshot to a new identifier, optionally to a different region.
func (*InMemoryBackend) CreateAuthenticationProfile ¶
func (b *InMemoryBackend) CreateAuthenticationProfile(name, content string) (*AuthenticationProfile, error)
CreateAuthenticationProfile creates a new authentication profile.
func (*InMemoryBackend) CreateCluster ¶
func (b *InMemoryBackend) CreateCluster(id, nodeType, dbName, masterUser string) (*Cluster, error)
CreateCluster creates a new Redshift cluster.
func (*InMemoryBackend) CreateClusterParameterGroup ¶
func (b *InMemoryBackend) CreateClusterParameterGroup( name, family, description string, ) (*ClusterParameterGroup, error)
CreateClusterParameterGroup creates a new cluster parameter group.
func (*InMemoryBackend) CreateClusterSecurityGroup ¶
func (b *InMemoryBackend) CreateClusterSecurityGroup(name, description string) (*ClusterSecurityGroup, error)
CreateClusterSecurityGroup creates a new cluster security group.
func (*InMemoryBackend) CreateClusterSnapshot ¶
func (b *InMemoryBackend) CreateClusterSnapshot(snapshotID, clusterID string) (*Snapshot, error)
CreateClusterSnapshot creates a manual snapshot of the specified cluster.
func (*InMemoryBackend) CreateClusterSubnetGroup ¶
func (b *InMemoryBackend) CreateClusterSubnetGroup( name, description, vpcID string, subnetIDs []string, ) (*ClusterSubnetGroup, error)
CreateClusterSubnetGroup creates a new cluster subnet group.
func (*InMemoryBackend) CreateCustomDomainAssociation ¶
func (b *InMemoryBackend) CreateCustomDomainAssociation( clusterID, customDomainName, customDomainCertificateArn string, ) (*CustomDomainAssociation, error)
CreateCustomDomainAssociation creates a custom domain name association for a cluster.
func (*InMemoryBackend) CreateEndpointAccess ¶
func (b *InMemoryBackend) CreateEndpointAccess( clusterID, endpointName, vpcID string, ) (*EndpointAccess, error)
CreateEndpointAccess creates a new Redshift-managed VPC endpoint.
func (*InMemoryBackend) CreateEventSubscription ¶
func (b *InMemoryBackend) CreateEventSubscription( subscriptionName, snsTopicArn, sourceType, severity string, sourceIDs, eventCategories []string, enabled bool, ) (*EventSubscription, error)
CreateEventSubscription creates a new event notification subscription.
func (*InMemoryBackend) CreateHsmClientCertificate ¶
func (b *InMemoryBackend) CreateHsmClientCertificate( id string, tagMap map[string]string, ) (*HsmClientCertificate, error)
CreateHsmClientCertificate creates a new HSM client certificate.
func (*InMemoryBackend) CreateHsmConfiguration ¶
func (b *InMemoryBackend) CreateHsmConfiguration( id, description, hsmIPAddress, hsmPartitionName string, tagMap map[string]string, ) (*HsmConfiguration, error)
CreateHsmConfiguration creates a new HSM configuration.
func (*InMemoryBackend) CreateIdcApplication ¶
func (b *InMemoryBackend) CreateIdcApplication( appName, idcInstanceArn, idcDisplayName, iamRoleArn string, ) (*IdcApplication, error)
CreateIdcApplication creates a new Redshift IDC application.
func (*InMemoryBackend) CreateIntegration ¶
func (b *InMemoryBackend) CreateIntegration( integrationName, sourceArn, targetArn, kmsKeyID, description string, ) (*Integration, error)
CreateIntegration creates a new zero-ETL integration.
func (*InMemoryBackend) CreateNamespace ¶
func (b *InMemoryBackend) CreateNamespace( namespaceName, adminUsername, dbName, kmsKeyID string, iamRoles, logExports []string, ) (*Namespace, error)
CreateNamespace creates a new Redshift Serverless namespace.
func (*InMemoryBackend) CreateScheduledAction ¶
func (b *InMemoryBackend) CreateScheduledAction( name, schedule, iamRole, description, targetAction string, ) (*ScheduledAction, error)
CreateScheduledAction creates a new Redshift scheduled action.
func (*InMemoryBackend) CreateServerlessScheduledAction ¶
func (b *InMemoryBackend) CreateServerlessScheduledAction( scheduledActionName, namespaceName, schedule, targetAction string, startTime, endTime time.Time, ) (*ServerlessScheduledAction, error)
CreateServerlessScheduledAction creates a serverless scheduled action.
func (*InMemoryBackend) CreateServerlessSnapshot ¶
func (b *InMemoryBackend) CreateServerlessSnapshot( snapshotName, namespaceName string, ) (*ServerlessSnapshot, error)
CreateServerlessSnapshot creates a snapshot of a serverless namespace.
func (*InMemoryBackend) CreateServerlessUsageLimit ¶
func (b *InMemoryBackend) CreateServerlessUsageLimit( resourceArn, usageType, period, breachAction string, amount int64, ) (*ServerlessUsageLimit, error)
CreateServerlessUsageLimit creates a serverless usage limit.
func (*InMemoryBackend) CreateSnapshotCopyGrant ¶
func (b *InMemoryBackend) CreateSnapshotCopyGrant( name, kmsKeyID string, tagMap map[string]string, ) (*SnapshotCopyGrant, error)
CreateSnapshotCopyGrant creates a KMS key grant used for cross-region snapshot copy.
func (*InMemoryBackend) CreateSnapshotSchedule ¶
func (b *InMemoryBackend) CreateSnapshotSchedule( scheduleID, description string, definitions []string, tagMap map[string]string, ) (*SnapshotSchedule, error)
CreateSnapshotSchedule creates a new snapshot schedule.
func (*InMemoryBackend) CreateTableRestoreStatus ¶
func (b *InMemoryBackend) CreateTableRestoreStatus( clusterID, _, sourceDatabaseName, sourceTableName, targetDatabaseName, targetTableName string, ) (*TableRestoreStatus, error)
CreateTableRestoreStatus creates a table restore status entry.
func (*InMemoryBackend) CreateTags ¶
func (b *InMemoryBackend) CreateTags(clusterID string, kv map[string]string) error
CreateTags adds or updates tags on the specified cluster.
func (*InMemoryBackend) CreateUsageLimit ¶
func (b *InMemoryBackend) CreateUsageLimit( clusterID, featureType, limitType, breachAction string, amount int64, tagMap map[string]string, ) (*UsageLimit, error)
CreateUsageLimit creates a new usage limit for a cluster feature.
func (*InMemoryBackend) CreateWorkgroup ¶
func (b *InMemoryBackend) CreateWorkgroup( workgroupName, namespaceName string, baseCapacity int, subnetIDs, securityGroupIDs []string, ) (*Workgroup, error)
CreateWorkgroup creates a new Redshift Serverless workgroup.
func (*InMemoryBackend) DeauthorizeDataShare ¶
func (b *InMemoryBackend) DeauthorizeDataShare(dataShareArn, consumerIdentifier string) (*DataShare, error)
DeauthorizeDataShare sets the association status to DEAUTHORIZED for the given consumer.
func (*InMemoryBackend) DeleteAuthenticationProfile ¶
func (b *InMemoryBackend) DeleteAuthenticationProfile(name string) error
DeleteAuthenticationProfile deletes the named authentication profile.
func (*InMemoryBackend) DeleteCluster ¶
func (b *InMemoryBackend) DeleteCluster(id string) (*Cluster, error)
DeleteCluster removes the cluster with the given identifier.
func (*InMemoryBackend) DeleteClusterParameterGroup ¶
func (b *InMemoryBackend) DeleteClusterParameterGroup(name string) error
DeleteClusterParameterGroup removes a cluster parameter group.
func (*InMemoryBackend) DeleteClusterSecurityGroup ¶
func (b *InMemoryBackend) DeleteClusterSecurityGroup(name string) error
DeleteClusterSecurityGroup removes a cluster security group.
func (*InMemoryBackend) DeleteClusterSnapshot ¶
func (b *InMemoryBackend) DeleteClusterSnapshot(snapshotID string) (*Snapshot, error)
DeleteClusterSnapshot removes a cluster snapshot.
func (*InMemoryBackend) DeleteClusterSubnetGroup ¶
func (b *InMemoryBackend) DeleteClusterSubnetGroup(name string) error
DeleteClusterSubnetGroup removes a cluster subnet group.
func (*InMemoryBackend) DeleteCustomDomainAssociation ¶
func (b *InMemoryBackend) DeleteCustomDomainAssociation(clusterID, customDomainName string) error
DeleteCustomDomainAssociation removes the custom domain association for a cluster.
func (*InMemoryBackend) DeleteEndpointAccess ¶
func (b *InMemoryBackend) DeleteEndpointAccess(endpointName string) (*EndpointAccess, error)
DeleteEndpointAccess deletes the named endpoint access entry.
func (*InMemoryBackend) DeleteEventSubscription ¶
func (b *InMemoryBackend) DeleteEventSubscription(subscriptionName string) error
DeleteEventSubscription removes an event subscription.
func (*InMemoryBackend) DeleteHsmClientCertificate ¶
func (b *InMemoryBackend) DeleteHsmClientCertificate(id string) error
DeleteHsmClientCertificate deletes the named HSM client certificate.
func (*InMemoryBackend) DeleteHsmConfiguration ¶
func (b *InMemoryBackend) DeleteHsmConfiguration(id string) error
DeleteHsmConfiguration deletes the named HSM configuration.
func (*InMemoryBackend) DeleteIdcApplication ¶
func (b *InMemoryBackend) DeleteIdcApplication(appArn string) error
DeleteIdcApplication deletes the named IDC application.
func (*InMemoryBackend) DeleteIntegration ¶
func (b *InMemoryBackend) DeleteIntegration(integrationArn string) (*Integration, error)
DeleteIntegration deletes the named integration.
func (*InMemoryBackend) DeleteNamespace ¶
func (b *InMemoryBackend) DeleteNamespace(namespaceName string) (*Namespace, error)
DeleteNamespace deletes a Redshift Serverless namespace.
func (*InMemoryBackend) DeletePartner ¶
func (b *InMemoryBackend) DeletePartner(_, clusterID, databaseName, partnerName string) error
DeletePartner removes a partner integration from the specified cluster database.
func (*InMemoryBackend) DeleteResourcePolicy ¶
func (b *InMemoryBackend) DeleteResourcePolicy(resourceArn string) error
DeleteResourcePolicy deletes the resource policy for the given ARN.
func (*InMemoryBackend) DeleteScheduledAction ¶
func (b *InMemoryBackend) DeleteScheduledAction(name string) error
DeleteScheduledAction deletes the named scheduled action.
func (*InMemoryBackend) DeleteServerlessScheduledAction ¶
func (b *InMemoryBackend) DeleteServerlessScheduledAction( scheduledActionName string, ) (*ServerlessScheduledAction, error)
DeleteServerlessScheduledAction deletes a serverless scheduled action.
func (*InMemoryBackend) DeleteServerlessSnapshot ¶
func (b *InMemoryBackend) DeleteServerlessSnapshot( snapshotName string, ) (*ServerlessSnapshot, error)
DeleteServerlessSnapshot deletes a serverless snapshot.
func (*InMemoryBackend) DeleteServerlessUsageLimit ¶
func (b *InMemoryBackend) DeleteServerlessUsageLimit( usageLimitID string, ) (*ServerlessUsageLimit, error)
DeleteServerlessUsageLimit deletes a serverless usage limit.
func (*InMemoryBackend) DeleteSnapshotCopyGrant ¶
func (b *InMemoryBackend) DeleteSnapshotCopyGrant(name string) error
DeleteSnapshotCopyGrant deletes the named snapshot copy grant.
func (*InMemoryBackend) DeleteSnapshotSchedule ¶
func (b *InMemoryBackend) DeleteSnapshotSchedule(scheduleID string) error
DeleteSnapshotSchedule deletes the named snapshot schedule.
func (*InMemoryBackend) DeleteTags ¶
func (b *InMemoryBackend) DeleteTags(clusterID string, keys []string) error
DeleteTags removes tag keys from the specified cluster.
func (*InMemoryBackend) DeleteUsageLimit ¶
func (b *InMemoryBackend) DeleteUsageLimit(usageLimitID string) error
DeleteUsageLimit deletes the usage limit with the given ID.
func (*InMemoryBackend) DeleteWorkgroup ¶
func (b *InMemoryBackend) DeleteWorkgroup(workgroupName string) (*Workgroup, error)
DeleteWorkgroup deletes a Redshift Serverless workgroup.
func (*InMemoryBackend) DescribeAuthenticationProfiles ¶
func (b *InMemoryBackend) DescribeAuthenticationProfiles(name string) ([]AuthenticationProfile, error)
DescribeAuthenticationProfiles returns authentication profiles, optionally filtered by name.
func (*InMemoryBackend) DescribeClusterParameterGroups ¶
func (b *InMemoryBackend) DescribeClusterParameterGroups(name string) ([]ClusterParameterGroup, error)
DescribeClusterParameterGroups returns all parameter groups, or a specific one if name is non-empty.
func (*InMemoryBackend) DescribeClusterParameters ¶
func (b *InMemoryBackend) DescribeClusterParameters(groupName string) ([]ClusterParameter, error)
DescribeClusterParameters returns the parameters for a specific parameter group.
func (*InMemoryBackend) DescribeClusterSecurityGroups ¶
func (b *InMemoryBackend) DescribeClusterSecurityGroups(name string) ([]ClusterSecurityGroup, error)
DescribeClusterSecurityGroups returns all security groups, or a specific one if name is non-empty.
func (*InMemoryBackend) DescribeClusterSnapshots ¶
func (b *InMemoryBackend) DescribeClusterSnapshots(snapshotID, clusterID, snapshotType string) ([]Snapshot, error)
DescribeClusterSnapshots returns snapshots, optionally filtered by snapshotID, clusterID, or snapshotType ("manual" or "automated"). An empty snapshotType matches all types.
func (*InMemoryBackend) DescribeClusterSubnetGroups ¶
func (b *InMemoryBackend) DescribeClusterSubnetGroups(name string) ([]ClusterSubnetGroup, error)
DescribeClusterSubnetGroups returns all subnet groups, or a specific one if name is non-empty.
func (*InMemoryBackend) DescribeClusters ¶
func (b *InMemoryBackend) DescribeClusters(id, marker string, maxRecords int) ([]Cluster, string, error)
DescribeClusters returns clusters. If id is non-empty, returns only that cluster. When marker and maxRecords are used, returns a page of results sorted by ClusterIdentifier.
func (*InMemoryBackend) DescribeCustomDomainAssociations ¶
func (b *InMemoryBackend) DescribeCustomDomainAssociations( clusterID, customDomainName string, ) ([]CustomDomainAssociation, error)
DescribeCustomDomainAssociations returns custom domain associations, optionally filtered.
func (*InMemoryBackend) DescribeDataShares ¶
func (b *InMemoryBackend) DescribeDataShares(dataShareArn string) ([]DataShare, error)
DescribeDataShares returns data shares, optionally filtered by ARN.
func (*InMemoryBackend) DescribeDataSharesForConsumer ¶
func (b *InMemoryBackend) DescribeDataSharesForConsumer(consumerArn, status string) ([]DataShare, error)
DescribeDataSharesForConsumer returns data shares with a matching consumer association.
func (*InMemoryBackend) DescribeDataSharesForProducer ¶
func (b *InMemoryBackend) DescribeDataSharesForProducer(producerArn, status string) ([]DataShare, error)
DescribeDataSharesForProducer returns data shares matching a producer ARN.
func (*InMemoryBackend) DescribeDefaultClusterParameters ¶
func (b *InMemoryBackend) DescribeDefaultClusterParameters(family string) ([]ClusterParameter, error)
DescribeDefaultClusterParameters returns the default parameters for a given parameter group family.
func (*InMemoryBackend) DescribeEndpointAccess ¶
func (b *InMemoryBackend) DescribeEndpointAccess( clusterID, endpointName string, ) ([]EndpointAccess, error)
DescribeEndpointAccess returns endpoint accesses, optionally filtered by cluster and endpoint name.
func (*InMemoryBackend) DescribeEndpointAuthorization ¶
func (b *InMemoryBackend) DescribeEndpointAuthorization( clusterID, account string, grantee bool, ) ([]EndpointAuthorization, error)
DescribeEndpointAuthorization returns endpoint authorizations filtered by cluster and account.
func (*InMemoryBackend) DescribeEventSubscriptions ¶
func (b *InMemoryBackend) DescribeEventSubscriptions(subscriptionName string) ([]EventSubscription, error)
DescribeEventSubscriptions returns event subscriptions, optionally filtered by name.
func (*InMemoryBackend) DescribeEvents ¶
func (b *InMemoryBackend) DescribeEvents(sourceIdentifier, sourceType string) ([]Event, error)
DescribeEvents returns events for a Redshift resource. This in-memory implementation returns an empty list since events are not tracked.
func (*InMemoryBackend) DescribeHsmClientCertificates ¶
func (b *InMemoryBackend) DescribeHsmClientCertificates(id string) ([]HsmClientCertificate, error)
DescribeHsmClientCertificates returns HSM client certificates, optionally filtered by identifier.
func (*InMemoryBackend) DescribeHsmConfigurations ¶
func (b *InMemoryBackend) DescribeHsmConfigurations(id string) ([]HsmConfiguration, error)
DescribeHsmConfigurations returns HSM configurations, optionally filtered by identifier.
func (*InMemoryBackend) DescribeIdcApplications ¶
func (b *InMemoryBackend) DescribeIdcApplications(appArn string) ([]IdcApplication, error)
DescribeIdcApplications returns IDC applications, optionally filtered by ARN.
func (*InMemoryBackend) DescribeIntegrations ¶
func (b *InMemoryBackend) DescribeIntegrations(integrationArn string) ([]Integration, error)
DescribeIntegrations returns integrations, optionally filtered by ARN.
func (*InMemoryBackend) DescribePartners ¶
func (b *InMemoryBackend) DescribePartners(_, clusterID, databaseName, partnerName string) ([]Partner, error)
DescribePartners returns partner integrations filtered by cluster, database, or partner name.
func (*InMemoryBackend) DescribeReservedNodeExchangeStatus ¶
func (b *InMemoryBackend) DescribeReservedNodeExchangeStatus(reservedNodeID string) (string, error)
DescribeReservedNodeExchangeStatus returns the exchange status for a reserved node. In this in-memory implementation it returns a placeholder active status.
func (*InMemoryBackend) DescribeReservedNodeOfferings ¶
func (b *InMemoryBackend) DescribeReservedNodeOfferings(offeringID string) ([]ReservedNodeOffering, error)
DescribeReservedNodeOfferings returns available reserved node offerings, optionally filtered by offeringID.
func (*InMemoryBackend) DescribeReservedNodes ¶
func (b *InMemoryBackend) DescribeReservedNodes(reservedNodeID string) ([]ReservedNode, error)
DescribeReservedNodes returns reserved nodes, optionally filtered by reservedNodeID.
func (*InMemoryBackend) DescribeResize ¶
func (b *InMemoryBackend) DescribeResize(clusterID string) (*ResizeProgress, error)
DescribeResize returns the active resize progress for a cluster.
func (*InMemoryBackend) DescribeScheduledActions ¶
func (b *InMemoryBackend) DescribeScheduledActions(name string) ([]ScheduledAction, error)
DescribeScheduledActions returns scheduled actions, optionally filtered by name.
func (*InMemoryBackend) DescribeSnapshotCopyGrants ¶
func (b *InMemoryBackend) DescribeSnapshotCopyGrants(name string) ([]SnapshotCopyGrant, error)
DescribeSnapshotCopyGrants returns snapshot copy grants, optionally filtered by name.
func (*InMemoryBackend) DescribeSnapshotSchedules ¶
func (b *InMemoryBackend) DescribeSnapshotSchedules(scheduleID string) ([]SnapshotSchedule, error)
DescribeSnapshotSchedules returns snapshot schedules, optionally filtered by identifier.
func (*InMemoryBackend) DescribeTableRestoreStatus ¶
func (b *InMemoryBackend) DescribeTableRestoreStatus(clusterID string) ([]TableRestoreStatus, error)
DescribeTableRestoreStatus returns table restore status records for a cluster.
func (*InMemoryBackend) DescribeTags ¶
func (b *InMemoryBackend) DescribeTags() map[string]map[string]string
DescribeTags returns all tags across all clusters.
func (*InMemoryBackend) DescribeUsageLimits ¶
func (b *InMemoryBackend) DescribeUsageLimits(clusterID, featureType string) ([]UsageLimit, error)
DescribeUsageLimits returns usage limits, optionally filtered by cluster and feature type.
func (*InMemoryBackend) DisableLogging ¶
func (b *InMemoryBackend) DisableLogging(clusterID string) (*LoggingStatus, error)
DisableLogging disables audit logging for the specified cluster.
func (*InMemoryBackend) DisableSnapshotCopy ¶
func (b *InMemoryBackend) DisableSnapshotCopy(clusterID string) (*Cluster, error)
DisableSnapshotCopy disables cross-region snapshot copy for a cluster.
func (*InMemoryBackend) DisassociateDataShareConsumer ¶
func (b *InMemoryBackend) DisassociateDataShareConsumer( dataShareArn, consumerArn, _ string, _ bool, ) (*DataShare, error)
DisassociateDataShareConsumer removes the consumer association from a data share.
func (*InMemoryBackend) EnableLogging ¶
func (b *InMemoryBackend) EnableLogging(clusterID, bucketName, s3KeyPrefix string) (*LoggingStatus, error)
EnableLogging enables audit logging for the specified cluster.
func (*InMemoryBackend) EnableSnapshotCopy ¶
func (b *InMemoryBackend) EnableSnapshotCopy( clusterID, destinationRegion, grantName string, retentionPeriod int, ) (*Cluster, error)
EnableSnapshotCopy enables cross-region snapshot copy for a cluster.
func (*InMemoryBackend) FailoverPrimaryCompute ¶
func (b *InMemoryBackend) FailoverPrimaryCompute(clusterID string) (*Cluster, error)
FailoverPrimaryCompute simulates a primary compute failover by updating the cluster status.
func (*InMemoryBackend) GetClusterCredentials ¶
func (b *InMemoryBackend) GetClusterCredentials( clusterID, dbUser string, _ bool, ) (*ClusterCredentials, error)
GetClusterCredentials generates temporary credentials for a cluster user.
func (*InMemoryBackend) GetClusterCredentialsWithIAM ¶
func (b *InMemoryBackend) GetClusterCredentialsWithIAM(clusterID, _ string) (*ClusterCredentials, error)
GetClusterCredentialsWithIAM returns temporary cluster credentials including an IAM role.
func (*InMemoryBackend) GetCredentials ¶
func (b *InMemoryBackend) GetCredentials( workgroupName, dbName string, ) (string, string, string, error)
GetCredentials returns temporary credentials for a serverless workgroup. Returns (dbUser, dbPassword, expiry, error).
func (*InMemoryBackend) GetNamespace ¶
func (b *InMemoryBackend) GetNamespace(namespaceName string) (*Namespace, error)
GetNamespace returns a Redshift Serverless namespace by name.
func (*InMemoryBackend) GetReservedNodeExchangeOfferings ¶
func (b *InMemoryBackend) GetReservedNodeExchangeOfferings(reservedNodeID string) ([]ReservedNodeOffering, error)
GetReservedNodeExchangeOfferings returns offerings available for exchange of a reserved node.
func (*InMemoryBackend) GetResourcePolicy ¶
func (b *InMemoryBackend) GetResourcePolicy(resourceArn string) (*ResourcePolicy, error)
GetResourcePolicy returns the resource policy for the given resource ARN.
func (*InMemoryBackend) GetServerlessScheduledAction ¶
func (b *InMemoryBackend) GetServerlessScheduledAction( scheduledActionName string, ) (*ServerlessScheduledAction, error)
GetServerlessScheduledAction returns a serverless scheduled action by name.
func (*InMemoryBackend) GetServerlessSnapshot ¶
func (b *InMemoryBackend) GetServerlessSnapshot(snapshotName string) (*ServerlessSnapshot, error)
GetServerlessSnapshot returns a serverless snapshot by name.
func (*InMemoryBackend) GetServerlessUsageLimit ¶
func (b *InMemoryBackend) GetServerlessUsageLimit( usageLimitID string, ) (*ServerlessUsageLimit, error)
GetServerlessUsageLimit returns a serverless usage limit by ID.
func (*InMemoryBackend) GetWorkgroup ¶
func (b *InMemoryBackend) GetWorkgroup(workgroupName string) (*Workgroup, error)
GetWorkgroup returns a Redshift Serverless workgroup by name.
func (*InMemoryBackend) ListNamespaces ¶
func (b *InMemoryBackend) ListNamespaces(maxResults int, nextToken string) ([]*Namespace, string)
ListNamespaces returns all namespaces with pagination.
func (*InMemoryBackend) ListServerlessScheduledActions ¶
func (b *InMemoryBackend) ListServerlessScheduledActions( namespaceName string, maxResults int, nextToken string, ) ([]*ServerlessScheduledAction, string)
ListServerlessScheduledActions returns all serverless scheduled actions.
func (*InMemoryBackend) ListServerlessSnapshots ¶
func (b *InMemoryBackend) ListServerlessSnapshots( namespaceName string, maxResults int, nextToken string, ) ([]*ServerlessSnapshot, string)
ListServerlessSnapshots returns snapshots, optionally filtered by namespace name.
func (*InMemoryBackend) ListServerlessUsageLimits ¶
func (b *InMemoryBackend) ListServerlessUsageLimits( resourceArn string, maxResults int, nextToken string, ) ([]*ServerlessUsageLimit, string)
ListServerlessUsageLimits returns all serverless usage limits.
func (*InMemoryBackend) ListWorkgroups ¶
func (b *InMemoryBackend) ListWorkgroups(maxResults int, nextToken string) ([]*Workgroup, string)
ListWorkgroups returns all workgroups with pagination.
func (*InMemoryBackend) ModifyAuthenticationProfile ¶
func (b *InMemoryBackend) ModifyAuthenticationProfile(name, content string) (*AuthenticationProfile, error)
ModifyAuthenticationProfile updates the content of an authentication profile.
func (*InMemoryBackend) ModifyCluster ¶
func (b *InMemoryBackend) ModifyCluster( id string, nodeType string, numberOfNodes int, _ string, encrypted *bool, enhancedVpcRouting *bool, applyImmediately bool, ) (*Cluster, error)
ModifyCluster modifies a cluster's attributes. When applyImmediately is false, changes are stored in PendingModifiedValues and returned without being applied to the live cluster.
encrypted and enhancedVpcRouting are tri-state (nil means "not specified, leave unchanged"): real ModifyClusterInput.Encrypted/EnhancedVpcRouting are *bool, and the SDK can explicitly send "false" to disable either setting (e.g. to decrypt a cluster). A plain bool cannot distinguish "not sent" from "explicitly false", which previously made it impossible to ever turn either setting off via ModifyCluster.
func (*InMemoryBackend) ModifyClusterIamRoles ¶
func (b *InMemoryBackend) ModifyClusterIamRoles(id string, addRoles, removeRoles []string) (*Cluster, error)
ModifyClusterIamRoles adds and removes IAM roles on a cluster.
func (*InMemoryBackend) ModifyClusterMaintenance ¶
func (b *InMemoryBackend) ModifyClusterMaintenance( id, maintenanceTrack string, _ bool, ) (*Cluster, error)
ModifyClusterMaintenance modifies the maintenance settings of a cluster.
func (*InMemoryBackend) ModifyClusterParameterGroup ¶
func (b *InMemoryBackend) ModifyClusterParameterGroup( groupName string, params []ClusterParameter, ) (*ClusterParameterGroup, error)
ModifyClusterParameterGroup updates parameters within a parameter group.
func (*InMemoryBackend) ModifyClusterSnapshot ¶
func (b *InMemoryBackend) ModifyClusterSnapshot(snapshotID string, retentionPeriod int, _ bool) (*Snapshot, error)
ModifyClusterSnapshot updates the manual retention period of a snapshot.
func (*InMemoryBackend) ModifyClusterSnapshotSchedule ¶
func (b *InMemoryBackend) ModifyClusterSnapshotSchedule(clusterID, scheduleID string, disassociate bool) error
ModifyClusterSnapshotSchedule associates or disassociates a snapshot schedule with a cluster.
func (*InMemoryBackend) ModifyClusterSubnetGroup ¶
func (b *InMemoryBackend) ModifyClusterSubnetGroup( name, description string, subnetIDs []string, ) (*ClusterSubnetGroup, error)
ModifyClusterSubnetGroup updates the description or subnets of a cluster subnet group.
func (*InMemoryBackend) ModifyCustomDomainAssociation ¶
func (b *InMemoryBackend) ModifyCustomDomainAssociation( clusterID, customDomainName, customDomainCertificateArn string, ) (*CustomDomainAssociation, error)
ModifyCustomDomainAssociation updates the certificate ARN for an existing custom domain.
func (*InMemoryBackend) ModifyEndpointAccess ¶
func (b *InMemoryBackend) ModifyEndpointAccess(endpointName, vpcID string) (*EndpointAccess, error)
ModifyEndpointAccess updates the VPC security groups for an endpoint.
func (*InMemoryBackend) ModifyEventSubscription ¶
func (b *InMemoryBackend) ModifyEventSubscription( subscriptionName, snsTopicArn, sourceType, severity string, sourceIDs, eventCategories []string, enabled *bool, ) (*EventSubscription, error)
ModifyEventSubscription modifies an existing event subscription.
func (*InMemoryBackend) ModifyIdcApplication ¶
func (b *InMemoryBackend) ModifyIdcApplication( appArn, idcDisplayName, iamRoleArn string, ) (*IdcApplication, error)
ModifyIdcApplication updates the display name and IAM role of an IDC application.
func (*InMemoryBackend) ModifyIntegration ¶
func (b *InMemoryBackend) ModifyIntegration(integrationArn, description string) (*Integration, error)
ModifyIntegration updates the description of an integration.
func (*InMemoryBackend) ModifyScheduledAction ¶
func (b *InMemoryBackend) ModifyScheduledAction( name, schedule, iamRole, description string, ) (*ScheduledAction, error)
ModifyScheduledAction updates a scheduled action's schedule, IAM role, or description.
func (*InMemoryBackend) ModifySnapshotCopyRetentionPeriod ¶
func (b *InMemoryBackend) ModifySnapshotCopyRetentionPeriod(clusterID string, retentionPeriod int) (*Cluster, error)
ModifySnapshotCopyRetentionPeriod modifies the retention period for cross-region snapshot copy.
func (*InMemoryBackend) ModifySnapshotSchedule ¶
func (b *InMemoryBackend) ModifySnapshotSchedule(scheduleID string, definitions []string) (*SnapshotSchedule, error)
ModifySnapshotSchedule updates the schedule definitions for an existing snapshot schedule.
func (*InMemoryBackend) ModifyUsageLimit ¶
func (b *InMemoryBackend) ModifyUsageLimit(usageLimitID, breachAction string, amount int64) (*UsageLimit, error)
ModifyUsageLimit modifies the amount and/or breach action of a usage limit.
func (*InMemoryBackend) PauseCluster ¶
func (b *InMemoryBackend) PauseCluster(id string) (*Cluster, error)
PauseCluster pauses the specified cluster.
func (*InMemoryBackend) PurchaseReservedNodeOffering ¶
func (b *InMemoryBackend) PurchaseReservedNodeOffering( offeringID, reservedNodeID string, nodeCount int, ) (*ReservedNode, error)
PurchaseReservedNodeOffering creates a new reserved node from an offering.
func (*InMemoryBackend) PutResourcePolicy ¶
func (b *InMemoryBackend) PutResourcePolicy(resourceArn, policy string) (*ResourcePolicy, error)
PutResourcePolicy creates or replaces a resource policy for the given ARN.
func (*InMemoryBackend) RebootCluster ¶
func (b *InMemoryBackend) RebootCluster(id string) (*Cluster, error)
RebootCluster initiates a reboot of the specified cluster.
func (*InMemoryBackend) Region ¶
func (b *InMemoryBackend) Region() string
Region returns the AWS region this backend is configured for.
func (*InMemoryBackend) RejectDataShare ¶
func (b *InMemoryBackend) RejectDataShare(dataShareArn string) (*DataShare, error)
RejectDataShare marks all associations as REJECTED and disables public access.
func (*InMemoryBackend) Reset ¶
func (b *InMemoryBackend) Reset()
Reset clears all backend state while preserving configuration.
func (*InMemoryBackend) ResetClusterParameterGroup ¶
func (b *InMemoryBackend) ResetClusterParameterGroup( groupName string, resetAllParameters bool, params []ClusterParameter, ) (*ClusterParameterGroup, error)
ResetClusterParameterGroup resets all or specific parameters to their default values.
func (*InMemoryBackend) ResizeCluster ¶
func (b *InMemoryBackend) ResizeCluster( id, nodeType, clusterType string, numberOfNodes int, _ bool, ) (*Cluster, error)
ResizeCluster initiates a resize of the specified cluster.
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) RestoreFromClusterSnapshot ¶
func (b *InMemoryBackend) RestoreFromClusterSnapshot(clusterID, snapshotID string) (*Cluster, error)
RestoreFromClusterSnapshot creates a new cluster from an existing snapshot.
func (*InMemoryBackend) ResumeCluster ¶
func (b *InMemoryBackend) ResumeCluster(id string) (*Cluster, error)
ResumeCluster resumes a paused cluster.
func (*InMemoryBackend) RevokeClusterSecurityGroupIngress ¶
func (b *InMemoryBackend) RevokeClusterSecurityGroupIngress( groupName, cidrIP, ec2GroupName, ec2GroupOwnerID string, ) (*ClusterSecurityGroup, error)
RevokeClusterSecurityGroupIngress removes an ingress rule from a cluster security group.
func (*InMemoryBackend) RevokeEndpointAccess ¶
func (b *InMemoryBackend) RevokeEndpointAccess( clusterID, account string, _ []string, force bool, ) (*EndpointAuthorization, error)
RevokeEndpointAccess revokes endpoint authorization for a cluster and account.
func (*InMemoryBackend) RevokeSnapshotAccess ¶
func (b *InMemoryBackend) RevokeSnapshotAccess(snapshotID, accountWithRestoreAccess string) (*Snapshot, error)
RevokeSnapshotAccess removes restore access for the given account from a snapshot.
func (*InMemoryBackend) RotateEncryptionKey ¶
func (b *InMemoryBackend) RotateEncryptionKey(id string) (*Cluster, error)
RotateEncryptionKey rotates the encryption key for the specified cluster.
func (*InMemoryBackend) SetDNSRegistrar ¶
func (b *InMemoryBackend) SetDNSRegistrar(dns DNSRegistrar)
SetDNSRegistrar wires a DNS server so Redshift cluster hostnames are auto-registered.
func (*InMemoryBackend) Snapshot ¶
func (b *InMemoryBackend) Snapshot(ctx context.Context) []byte
Snapshot serialises the backend state to JSON. It implements persistence.Persistable.
func (*InMemoryBackend) StartReconciler ¶
func (b *InMemoryBackend) StartReconciler(ctx context.Context)
StartReconciler starts the managed background reconciler that advances cluster lifecycle transitions (creating→available, modifying→available, deleting→gone). It replaces the previous per-cluster unmanaged goroutine with a single goroutine owning a stop channel and WaitGroup, so it can be cancelled deterministically via ctx or StopReconciler. Calling it while already running is a no-op.
ctx originates from the service framework's background-worker lifecycle, so no context.Background() is introduced here.
func (*InMemoryBackend) StopReconciler ¶
func (b *InMemoryBackend) StopReconciler()
StopReconciler signals the reconciler to stop and blocks until the goroutine has exited, guaranteeing no leaked goroutine survives shutdown. It is idempotent.
func (*InMemoryBackend) UpdateNamespace ¶
func (b *InMemoryBackend) UpdateNamespace( namespaceName, adminUsername, dbName, kmsKeyID string, iamRoles, logExports []string, ) (*Namespace, error)
UpdateNamespace updates a Redshift Serverless namespace.
func (*InMemoryBackend) UpdatePartnerStatus ¶
func (b *InMemoryBackend) UpdatePartnerStatus( _, clusterID, databaseName, partnerName, status, statusMessage string, ) (*Partner, error)
UpdatePartnerStatus updates the status and status message of a partner integration.
func (*InMemoryBackend) UpdateServerlessScheduledAction ¶
func (b *InMemoryBackend) UpdateServerlessScheduledAction( scheduledActionName, schedule, targetAction string, startTime, endTime time.Time, ) (*ServerlessScheduledAction, error)
UpdateServerlessScheduledAction updates a serverless scheduled action.
func (*InMemoryBackend) UpdateServerlessUsageLimit ¶
func (b *InMemoryBackend) UpdateServerlessUsageLimit( usageLimitID, breachAction string, amount int64, ) (*ServerlessUsageLimit, error)
UpdateServerlessUsageLimit updates a serverless usage limit.
func (*InMemoryBackend) UpdateWorkgroup ¶
func (b *InMemoryBackend) UpdateWorkgroup( workgroupName string, baseCapacity int, subnetIDs, securityGroupIDs []string, ) (*Workgroup, error)
UpdateWorkgroup updates a Redshift Serverless workgroup.
type Integration ¶
type Integration struct {
IntegrationArn string `json:"integrationArn"`
IntegrationName string `json:"integrationName"`
SourceArn string `json:"sourceArn"`
TargetArn string `json:"targetArn"`
Status string `json:"status"`
Description string `json:"description"`
AdditionalEncKey string `json:"additionalEncryptionContext,omitempty"`
KmsKeyID string `json:"kmsKeyId,omitempty"`
}
Integration represents a zero-ETL integration from Redshift.
type LoggingStatus ¶
type LoggingStatus struct {
LastFailureTime time.Time `json:"lastFailureTime"`
LastSuccessTime time.Time `json:"lastSuccessTime"`
BucketName string `json:"bucketName"`
S3KeyPrefix string `json:"s3KeyPrefix"`
LoggingEnabled bool `json:"loggingEnabled"`
}
LoggingStatus represents the logging status for a Redshift cluster.
type Namespace ¶
type Namespace struct {
CreationDate time.Time `json:"creationDate"`
NamespaceArn string `json:"namespaceArn"`
NamespaceID string `json:"namespaceId"`
NamespaceName string `json:"namespaceName"`
AdminUsername string `json:"adminUsername,omitempty"`
DBName string `json:"dbName,omitempty"`
KmsKeyID string `json:"kmsKeyId,omitempty"`
Status string `json:"status"`
IamRoles []string `json:"iamRoles,omitempty"`
LogExports []string `json:"logExports,omitempty"`
}
Namespace represents a Redshift Serverless namespace.
type Partner ¶
type Partner struct {
AccountID string `json:"accountId"`
ClusterIdentifier string `json:"clusterIdentifier"`
DatabaseName string `json:"databaseName"`
PartnerName string `json:"partnerName"`
Status string `json:"status"`
StatusMessage string `json:"statusMessage"`
}
Partner represents a partner integration for a Redshift cluster.
type Provider ¶
type Provider struct{}
Provider implements service.Provider for Redshift.
func (*Provider) Init ¶
func (p *Provider) Init(ctx *service.AppContext) (service.Registerable, error)
Init initializes the Redshift service backend and handler.
type ReservedNode ¶
type ReservedNode struct {
StartTime time.Time `json:"startTime"`
ReservedNodeID string `json:"reservedNodeId"`
ReservedNodeOfferingID string `json:"reservedNodeOfferingId"`
NodeType string `json:"nodeType"`
CurrencyCode string `json:"currencyCode"`
State string `json:"state"`
OfferingType string `json:"offeringType"`
Duration int `json:"duration"`
FixedPrice float64 `json:"fixedPrice"`
UsagePrice float64 `json:"usagePrice"`
NodeCount int `json:"nodeCount"`
}
ReservedNode represents an in-memory Redshift reserved node.
type ReservedNodeOffering ¶
type ReservedNodeOffering struct {
ReservedNodeOfferingID string `json:"reservedNodeOfferingId"`
ReservedNodeOfferingType string `json:"reservedNodeOfferingType"`
NodeType string `json:"nodeType"`
CurrencyCode string `json:"currencyCode"`
OfferingType string `json:"offeringType"`
Duration int `json:"duration"`
FixedPrice float64 `json:"fixedPrice"`
UsagePrice float64 `json:"usagePrice"`
}
ReservedNodeOffering represents an available Redshift reserved node offering.
type ResizeProgress ¶
type ResizeProgress struct {
TargetNodeType string `json:"targetNodeType"`
TargetClusterType string `json:"targetClusterType"`
Status string `json:"status"`
Message string `json:"message"`
ResizeType string `json:"resizeType"`
ImportTablesCompleted []string `json:"importTablesCompleted"`
ImportTablesInProgress []string `json:"importTablesInProgress"`
ImportTablesNotStarted []string `json:"importTablesNotStarted"`
TargetNumberOfNodes int `json:"targetNumberOfNodes"`
AllowCancelResize bool `json:"allowCancelResize"`
}
ResizeProgress represents in-progress resize information for a cluster.
type ResourcePolicy ¶
type ResourcePolicy struct {
ResourceArn string `json:"resourceArn"`
Policy string `json:"policy"`
}
ResourcePolicy represents a resource-based policy attached to a Redshift resource.
type ScheduledAction ¶
type ScheduledAction struct {
ScheduledActionName string `json:"scheduledActionName"`
Schedule string `json:"schedule"`
IamRole string `json:"iamRole"`
ScheduledActionDescription string `json:"scheduledActionDescription"`
State string `json:"state"`
TargetAction string `json:"targetAction"`
}
ScheduledAction represents a Redshift scheduled action.
type ServerlessHandler ¶
type ServerlessHandler struct {
Backend *InMemoryBackend
}
ServerlessHandler is a separate Echo handler for Redshift Serverless APIs. The serverless API lives at a different hostname/path prefix than the classic Redshift API, so it is registered as its own Registerable.
func NewServerlessHandler ¶
func NewServerlessHandler(backend *InMemoryBackend) *ServerlessHandler
NewServerlessHandler creates a new Redshift Serverless handler.
func (*ServerlessHandler) ChaosOperations ¶
func (h *ServerlessHandler) ChaosOperations() []string
ChaosOperations returns all supported operations.
func (*ServerlessHandler) ChaosRegions ¶
func (h *ServerlessHandler) ChaosRegions() []string
ChaosRegions returns the regions for chaos.
func (*ServerlessHandler) ChaosServiceName ¶
func (h *ServerlessHandler) ChaosServiceName() string
ChaosServiceName returns the chaos service name.
func (*ServerlessHandler) ExtractOperation ¶
func (h *ServerlessHandler) ExtractOperation(c *echo.Context) string
ExtractOperation extracts the operation name from the request. It tries each resource family's matcher in turn (namespace, workgroup, snapshot, usage limit, scheduled action) -- splitting the routing table this way keeps each matcher's cyclomatic complexity small instead of one large combined switch.
func (*ServerlessHandler) ExtractResource ¶
func (h *ServerlessHandler) ExtractResource(_ *echo.Context) string
ExtractResource extracts a resource identifier from the request.
func (*ServerlessHandler) GetSupportedOperations ¶
func (h *ServerlessHandler) GetSupportedOperations() []string
GetSupportedOperations returns the list of supported operations.
func (*ServerlessHandler) Handler ¶
func (h *ServerlessHandler) Handler() echo.HandlerFunc
Handler returns the Echo handler function.
func (*ServerlessHandler) MatchPriority ¶
func (h *ServerlessHandler) MatchPriority() int
MatchPriority returns the routing priority.
func (*ServerlessHandler) Name ¶
func (h *ServerlessHandler) Name() string
Name returns the service name.
func (*ServerlessHandler) Reset ¶
func (h *ServerlessHandler) Reset()
Reset clears all backend state.
func (*ServerlessHandler) RouteMatcher ¶
func (h *ServerlessHandler) RouteMatcher() service.Matcher
RouteMatcher returns a function that matches Redshift Serverless requests.
type ServerlessProvider ¶
type ServerlessProvider struct{}
ServerlessProvider implements service.Provider for Redshift Serverless.
func (*ServerlessProvider) Init ¶
func (p *ServerlessProvider) Init(ctx *service.AppContext) (service.Registerable, error)
Init initializes the Redshift Serverless backend and handler.
func (*ServerlessProvider) Name ¶
func (p *ServerlessProvider) Name() string
Name returns the provider name.
type ServerlessScheduledAction ¶
type ServerlessScheduledAction struct {
ScheduledActionArn string `json:"scheduledActionArn"`
ScheduledActionName string `json:"scheduledActionName"`
NamespaceName string `json:"namespaceName"`
Schedule string `json:"schedule"`
StartTime time.Time `json:"startTime"`
EndTime time.Time `json:"endTime"`
Status string `json:"status"`
TargetAction string `json:"targetAction"`
}
ServerlessScheduledAction represents a serverless scheduled action.
type ServerlessSnapshot ¶
type ServerlessSnapshot struct {
SnapshotCreateTime time.Time `json:"snapshotCreateTime"`
SnapshotArn string `json:"snapshotArn"`
SnapshotName string `json:"snapshotName"`
NamespaceName string `json:"namespaceName"`
NamespaceArn string `json:"namespaceArn"`
Status string `json:"status"`
AdminUsername string `json:"adminUsername,omitempty"`
AccountsWithRestoreAccess []string `json:"accountsWithRestoreAccess,omitempty"`
}
ServerlessSnapshot represents a Redshift Serverless namespace snapshot.
type ServerlessUsageLimit ¶
type ServerlessUsageLimit struct {
UsageLimitArn string `json:"usageLimitArn"`
UsageLimitID string `json:"usageLimitId"`
ResourceArn string `json:"resourceArn"`
UsageType string `json:"usageType"`
Period string `json:"period"`
BreachAction string `json:"breachAction"`
Amount int64 `json:"amount"`
}
ServerlessUsageLimit represents a serverless usage limit.
type Snapshot ¶
type Snapshot struct {
SnapshotCreateTime time.Time `json:"snapshotCreateTime"`
SnapshotIdentifier string `json:"snapshotIdentifier"`
ClusterIdentifier string `json:"clusterIdentifier"`
SnapshotType string `json:"snapshotType"`
Status string `json:"status"`
NodeType string `json:"nodeType,omitempty"`
DBName string `json:"dbName,omitempty"`
MasterUsername string `json:"masterUsername,omitempty"`
AccountsWithRestoreAccess []AccountWithRestoreAccess `json:"accountsWithRestoreAccess"`
ManualSnapshotRetentionPeriod int `json:"manualSnapshotRetentionPeriod"`
NumberOfNodes int `json:"numberOfNodes,omitempty"`
}
Snapshot represents a Redshift cluster snapshot.
type SnapshotBatchError ¶
type SnapshotBatchError struct {
SnapshotIdentifier string `json:"snapshotIdentifier"`
SnapshotClusterIdentifier string `json:"snapshotClusterIdentifier"`
FailureCode string `json:"failureCode"`
FailureReason string `json:"failureReason"`
}
SnapshotBatchError represents an error when deleting a snapshot in a batch operation.
type SnapshotCopyConfig ¶
type SnapshotCopyConfig struct {
DestinationRegion string `json:"destinationRegion"`
SnapshotCopyGrantName string `json:"snapshotCopyGrantName"`
RetentionPeriod int `json:"retentionPeriod"`
}
SnapshotCopyConfig holds the cross-region snapshot copy configuration for a cluster.
type SnapshotCopyGrant ¶
type SnapshotCopyGrant struct {
Tags map[string]string `json:"tags"`
SnapshotCopyGrantName string `json:"snapshotCopyGrantName"`
KMSKeyID string `json:"kmsKeyId"`
}
SnapshotCopyGrant represents a KMS key grant for cross-region snapshot copy.
type SnapshotSchedule ¶
type SnapshotSchedule struct {
Tags map[string]string `json:"tags"`
ScheduleIdentifier string `json:"scheduleIdentifier"`
Description string `json:"description"`
ScheduleDefinitions []string `json:"scheduleDefinitions"`
}
SnapshotSchedule represents a snapshot schedule for automated snapshots.
type StorageBackend ¶
type StorageBackend interface {
// Cluster operations
CreateCluster(id, nodeType, dbName, masterUser string) (*Cluster, error)
DeleteCluster(id string) (*Cluster, error)
DescribeClusters(id, marker string, maxRecords int) ([]Cluster, string, error)
ModifyCluster(
id, nodeType string,
numberOfNodes int,
masterUserPassword string,
encrypted, enhancedVpcRouting *bool,
applyImmediately bool,
) (*Cluster, error)
RebootCluster(id string) (*Cluster, error)
PauseCluster(id string) (*Cluster, error)
ResumeCluster(id string) (*Cluster, error)
ResizeCluster(id, nodeType, clusterType string, numberOfNodes int, classic bool) (*Cluster, error)
RotateEncryptionKey(id string) (*Cluster, error)
ModifyClusterIamRoles(id string, addRoles, removeRoles []string) (*Cluster, error)
ModifyClusterMaintenance(id, maintenanceTrack string, deferMaintenance bool) (*Cluster, error)
// Tag operations
DescribeTags() map[string]map[string]string
CreateTags(clusterID string, kv map[string]string) error
DeleteTags(clusterID string, keys []string) error
// Parameter group operations
CreateClusterParameterGroup(name, family, description string) (*ClusterParameterGroup, error)
DeleteClusterParameterGroup(name string) error
DescribeClusterParameterGroups(name string) ([]ClusterParameterGroup, error)
DescribeClusterParameters(groupName string) ([]ClusterParameter, error)
ModifyClusterParameterGroup(groupName string, params []ClusterParameter) (*ClusterParameterGroup, error)
ResetClusterParameterGroup(
groupName string,
resetAllParameters bool,
params []ClusterParameter,
) (*ClusterParameterGroup, error)
DescribeDefaultClusterParameters(family string) ([]ClusterParameter, error)
// Reserved node operations
AcceptReservedNodeExchange(reservedNodeID, targetOfferingID string) (*ReservedNode, error)
DescribeReservedNodes(reservedNodeID string) ([]ReservedNode, error)
DescribeReservedNodeOfferings(offeringID string) ([]ReservedNodeOffering, error)
PurchaseReservedNodeOffering(offeringID, reservedNodeID string, nodeCount int) (*ReservedNode, error)
DescribeReservedNodeExchangeStatus(reservedNodeID string) (string, error)
GetReservedNodeExchangeOfferings(reservedNodeID string) ([]ReservedNodeOffering, error)
// Security group operations
AuthorizeClusterSecurityGroupIngress(
groupName, cidrIP, ec2GroupName, ec2GroupOwnerID string,
) (*ClusterSecurityGroup, error)
CreateClusterSecurityGroup(name, description string) (*ClusterSecurityGroup, error)
DeleteClusterSecurityGroup(name string) error
DescribeClusterSecurityGroups(name string) ([]ClusterSecurityGroup, error)
RevokeClusterSecurityGroupIngress(
groupName, cidrIP, ec2GroupName, ec2GroupOwnerID string,
) (*ClusterSecurityGroup, error)
// Snapshot operations
CreateClusterSnapshot(snapshotID, clusterID string) (*Snapshot, error)
DeleteClusterSnapshot(snapshotID string) (*Snapshot, error)
DescribeClusterSnapshots(snapshotID, clusterID, snapshotType string) ([]Snapshot, error)
CopyClusterSnapshot(sourceSnapshotID, destinationSnapshotID string) (*Snapshot, error)
RestoreFromClusterSnapshot(clusterID, snapshotID string) (*Cluster, error)
AuthorizeSnapshotAccess(snapshotID, accountWithRestoreAccess string) (*Snapshot, error)
BatchDeleteClusterSnapshots(identifiers []string) ([]SnapshotBatchError, []string)
BatchModifyClusterSnapshots(identifiers []string, retentionPeriod int, force bool) ([]SnapshotBatchError, []string)
// Subnet group operations
CreateClusterSubnetGroup(name, description, vpcID string, subnetIDs []string) (*ClusterSubnetGroup, error)
DeleteClusterSubnetGroup(name string) error
DescribeClusterSubnetGroups(name string) ([]ClusterSubnetGroup, error)
ModifyClusterSubnetGroup(name, description string, subnetIDs []string) (*ClusterSubnetGroup, error)
// Endpoint operations
AuthorizeEndpointAccess(clusterID, grantee string, vpcIDs []string) (*EndpointAuthorization, error)
DescribeEndpointAuthorization(clusterID, account string, grantee bool) ([]EndpointAuthorization, error)
RevokeEndpointAccess(clusterID, account string, vpcIDs []string, force bool) (*EndpointAuthorization, error)
// Data share operations
AddPartner(accountID, clusterID, databaseName, partnerName string) (*Partner, error)
dataShareArn, consumerArn, consumerRegion string,
associateEntireAccount bool,
) (*DataShare, error)
dataShareArn, consumerArn, consumerRegion string,
disassociateEntireAccount bool,
) (*DataShare, error)
// Partner operations
DeletePartner(accountID, clusterID, databaseName, partnerName string) error
DescribePartners(accountID, clusterID, databaseName, partnerName string) ([]Partner, error)
UpdatePartnerStatus(accountID, clusterID, databaseName, partnerName, status, statusMessage string) (*Partner, error)
// Resize operations
CancelResize(clusterID string) (*ResizeProgress, error)
DescribeResize(clusterID string) (*ResizeProgress, error)
// Snapshot management
ModifyClusterSnapshot(snapshotID string, retentionPeriod int, force bool) (*Snapshot, error)
RevokeSnapshotAccess(snapshotID, accountWithRestoreAccess string) (*Snapshot, error)
// Credentials
GetClusterCredentials(clusterID, dbUser string, autoCreate bool) (*ClusterCredentials, error)
// Logging operations
EnableLogging(clusterID, bucketName, s3KeyPrefix string) (*LoggingStatus, error)
DisableLogging(clusterID string) (*LoggingStatus, error)
// Event operations
DescribeEvents(sourceIdentifier, sourceType string) ([]Event, error)
CreateEventSubscription(
subscriptionName, snsTopicArn, sourceType, severity string,
sourceIDs, eventCategories []string,
enabled bool,
) (*EventSubscription, error)
DeleteEventSubscription(subscriptionName string) error
DescribeEventSubscriptions(subscriptionName string) ([]EventSubscription, error)
ModifyEventSubscription(
subscriptionName, snsTopicArn, sourceType, severity string,
sourceIDs, eventCategories []string,
enabled *bool,
) (*EventSubscription, error)
// Seed helpers for tests
AddReservedNodeInternal(node *ReservedNode)
AddSecurityGroupInternal(sg *ClusterSecurityGroup)
AddSnapshotInternal(snap *Snapshot)
AddActiveResizeInternal(clusterID string, resize *ResizeProgress)
AddParameterGroupInternal(pg *ClusterParameterGroup)
AddSubnetGroupInternal(sg *ClusterSubnetGroup)
// Snapshot copy grant operations
CreateSnapshotCopyGrant(name, kmsKeyID string, tags map[string]string) (*SnapshotCopyGrant, error)
DeleteSnapshotCopyGrant(name string) error
DescribeSnapshotCopyGrants(name string) ([]SnapshotCopyGrant, error)
// Snapshot copy operations
EnableSnapshotCopy(clusterID, destinationRegion, grantName string, retentionPeriod int) (*Cluster, error)
DisableSnapshotCopy(clusterID string) (*Cluster, error)
ModifySnapshotCopyRetentionPeriod(clusterID string, retentionPeriod int) (*Cluster, error)
// Snapshot schedule operations
CreateSnapshotSchedule(
scheduleID, description string,
definitions []string,
tags map[string]string,
) (*SnapshotSchedule, error)
DeleteSnapshotSchedule(scheduleID string) error
DescribeSnapshotSchedules(scheduleID string) ([]SnapshotSchedule, error)
ModifySnapshotSchedule(scheduleID string, definitions []string) (*SnapshotSchedule, error)
ModifyClusterSnapshotSchedule(clusterID, scheduleID string, disassociate bool) error
// Usage limit operations
CreateUsageLimit(
clusterID, featureType, limitType, breachAction string,
amount int64,
tags map[string]string,
) (*UsageLimit, error)
DeleteUsageLimit(usageLimitID string) error
DescribeUsageLimits(clusterID, featureType string) ([]UsageLimit, error)
ModifyUsageLimit(usageLimitID, breachAction string, amount int64) (*UsageLimit, error)
// Authentication profile operations
CreateAuthenticationProfile(name, content string) (*AuthenticationProfile, error)
DeleteAuthenticationProfile(name string) error
DescribeAuthenticationProfiles(name string) ([]AuthenticationProfile, error)
ModifyAuthenticationProfile(name, content string) (*AuthenticationProfile, error)
// Resource policy operations
GetResourcePolicy(resourceArn string) (*ResourcePolicy, error)
PutResourcePolicy(resourceArn, policy string) (*ResourcePolicy, error)
DeleteResourcePolicy(resourceArn string) error
// Additional operations
GetClusterCredentialsWithIAM(clusterID, dbName string) (*ClusterCredentials, error)
FailoverPrimaryCompute(clusterID string) (*Cluster, error)
DescribeTableRestoreStatus(clusterID string) ([]TableRestoreStatus, error)
CreateTableRestoreStatus(
clusterID, snapshotID, sourceDatabaseName, sourceTableName, targetDatabaseName, targetTableName string,
) (*TableRestoreStatus, error)
// HSM client certificate operations
CreateHsmClientCertificate(id string, tags map[string]string) (*HsmClientCertificate, error)
DeleteHsmClientCertificate(id string) error
DescribeHsmClientCertificates(id string) ([]HsmClientCertificate, error)
// HSM configuration operations
CreateHsmConfiguration(
id, description, hsmIPAddress, hsmPartitionName string, tags map[string]string,
) (*HsmConfiguration, error)
DeleteHsmConfiguration(id string) error
DescribeHsmConfigurations(id string) ([]HsmConfiguration, error)
// Scheduled action operations (regular Redshift)
CreateScheduledAction(name, schedule, iamRole, description, targetAction string) (*ScheduledAction, error)
DeleteScheduledAction(name string) error
DescribeScheduledActions(name string) ([]ScheduledAction, error)
ModifyScheduledAction(name, schedule, iamRole, description string) (*ScheduledAction, error)
// Custom domain association operations
CreateCustomDomainAssociation(
clusterID, customDomainName, customDomainCertificateArn string,
) (*CustomDomainAssociation, error)
DeleteCustomDomainAssociation(clusterID, customDomainName string) error
DescribeCustomDomainAssociations(clusterID, customDomainName string) ([]CustomDomainAssociation, error)
ModifyCustomDomainAssociation(
clusterID, customDomainName, customDomainCertificateArn string,
) (*CustomDomainAssociation, error)
// Endpoint access operations
CreateEndpointAccess(clusterID, endpointName, vpcID string) (*EndpointAccess, error)
DeleteEndpointAccess(endpointName string) (*EndpointAccess, error)
DescribeEndpointAccess(clusterID, endpointName string) ([]EndpointAccess, error)
ModifyEndpointAccess(endpointName, vpcID string) (*EndpointAccess, error)
// Integration operations
CreateIntegration(integrationName, sourceArn, targetArn, kmsKeyID, description string) (*Integration, error)
DeleteIntegration(integrationArn string) (*Integration, error)
DescribeIntegrations(integrationArn string) ([]Integration, error)
ModifyIntegration(integrationArn, description string) (*Integration, error)
// IDC application operations
CreateIdcApplication(
appName, idcInstanceArn, idcDisplayName, iamRoleArn string,
) (*IdcApplication, error)
DeleteIdcApplication(appArn string) error
DescribeIdcApplications(appArn string) ([]IdcApplication, error)
ModifyIdcApplication(appArn, idcDisplayName, iamRoleArn string) (*IdcApplication, error)
// Lifecycle
Reset()
Region() string
AccountID() string
Snapshot(ctx context.Context) []byte
Restore(ctx context.Context, data []byte) error
SetDNSRegistrar(dns DNSRegistrar)
// StartReconciler starts the managed background reconciler that advances
// cluster lifecycle state (creating→available, deleting→gone).
StartReconciler(ctx context.Context)
// StopReconciler stops the reconciler and waits for its goroutine to exit.
StopReconciler()
}
StorageBackend defines the interface for Redshift backend implementations. All mutating methods must be safe for concurrent use.
type Subnet ¶
type Subnet struct {
SubnetIdentifier string `json:"subnetIdentifier"`
SubnetStatus string `json:"subnetStatus"`
}
Subnet represents a single subnet within a cluster subnet group.
type TableRestoreStatus ¶
type TableRestoreStatus struct {
RequestTime time.Time `json:"requestTime"`
TableRestoreRequestID string `json:"tableRestoreRequestId"`
ClusterIdentifier string `json:"clusterIdentifier"`
Status string `json:"status"`
Message string `json:"message"`
SourceDatabaseName string `json:"sourceDatabaseName"`
SourceTableName string `json:"sourceTableName"`
TargetDatabaseName string `json:"targetDatabaseName"`
TargetTableName string `json:"targetTableName"`
}
TableRestoreStatus represents the status of a table-level restore operation.
type UsageLimit ¶
type UsageLimit struct {
Tags map[string]string `json:"tags"`
UsageLimitID string `json:"usageLimitId"`
ClusterIdentifier string `json:"clusterIdentifier"`
FeatureType string `json:"featureType"`
LimitType string `json:"limitType"`
BreachAction string `json:"breachAction"`
Amount int64 `json:"amount"`
}
UsageLimit represents a usage limit for a Redshift feature.
type Workgroup ¶
type Workgroup struct {
CreationDate time.Time `json:"creationDate"`
WorkgroupArn string `json:"workgroupArn"`
WorkgroupID string `json:"workgroupId"`
WorkgroupName string `json:"workgroupName"`
NamespaceName string `json:"namespaceName"`
Status string `json:"status"`
Endpoint WorkgroupEndpoint `json:"endpoint"`
SubnetIDs []string `json:"subnetIds,omitempty"`
SecurityGroupIDs []string `json:"securityGroupIds,omitempty"`
BaseCapacity int `json:"baseCapacity"`
}
Workgroup represents a Redshift Serverless workgroup.
type WorkgroupEndpoint ¶
WorkgroupEndpoint holds the endpoint address and port.
Source Files
¶
- auth_profiles.go
- cluster_mgmt.go
- credentials.go
- custom_domains.go
- data_shares.go
- endpoint_access.go
- endpoint_authorization.go
- errors.go
- events.go
- handler.go
- handler_advisor.go
- handler_auth_profiles.go
- handler_cluster_info.go
- handler_cluster_mgmt.go
- handler_credentials.go
- handler_custom_domains.go
- handler_data_shares.go
- handler_endpoint_access.go
- handler_endpoint_authorization.go
- handler_events.go
- handler_hsm.go
- handler_idc_applications.go
- handler_integrations.go
- handler_namespace_registration.go
- handler_param_groups.go
- handler_partners.go
- handler_reserved_nodes.go
- handler_resize.go
- handler_resource_policy.go
- handler_scheduled_actions.go
- handler_security_groups.go
- handler_serverless.go
- handler_snapshot_copy.go
- handler_snapshot_schedules.go
- handler_snapshots.go
- handler_subnet_groups.go
- handler_table_restore.go
- handler_tags.go
- handler_usage_limits.go
- hsm.go
- idc_applications.go
- integrations.go
- interfaces.go
- models.go
- param_groups.go
- partners.go
- persistence.go
- provider.go
- reconciler.go
- reserved_nodes.go
- resize.go
- resource_policy.go
- scheduled_actions.go
- security_groups.go
- serverless.go
- serverless_index.go
- serverless_namespaces.go
- serverless_scheduled_actions.go
- serverless_snapshots.go
- serverless_usage_limits.go
- serverless_workgroups.go
- snapshot_copy.go
- snapshot_schedules.go
- snapshots.go
- store.go
- store_setup.go
- subnet_groups.go
- table_restore.go
- tags.go
- usage_limits.go