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, subnetGroupName, resourceOwner 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) CreateQev2IdcApplication(appName, idcInstanceArn, idcDisplayName string, tags map[string]string) (*Qev2IdcApplication, error)
- func (b *InMemoryBackend) CreateScheduledAction(name, schedule, iamRole, description string, target *ScheduledActionTarget, ...) (*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) DeleteQev2IdcApplication(appArn 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) DescribeQev2IdcApplications(appArn, marker string, maxRecords int) ([]Qev2IdcApplication, string, 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 string, vpcSecurityGroupIDs []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, newIntegrationName string) (*Integration, error)
- func (b *InMemoryBackend) ModifyQev2IdcApplication(appArn, idcDisplayName string) (*Qev2IdcApplication, error)
- func (b *InMemoryBackend) ModifyScheduledAction(name, schedule, iamRole, description string, target *ScheduledActionTarget, ...) (*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, classic 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 PauseClusterAction
- type Provider
- type Qev2IdcApplication
- type ReservedNode
- type ReservedNodeOffering
- type ResizeClusterAction
- type ResizeProgress
- type ResourcePolicy
- type ResumeClusterAction
- type ScheduledAction
- type ScheduledActionTarget
- 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("ClusterSubnetGroupNotFoundFault") ErrSubnetGroupAlreadyExists = errors.New("ClusterSubnetGroupAlreadyExists") ErrEventSubscriptionNotFound = errors.New("SubscriptionNotFound") ErrEventSubscriptionAlreadyExists = errors.New("SubscriptionAlreadyExist") ErrSnapshotCopyGrantNotFound = errors.New("SnapshotCopyGrantNotFoundFault") ErrSnapshotCopyGrantAlreadyExists = errors.New("SnapshotCopyGrantAlreadyExistsFault") ErrSnapshotScheduleNotFound = errors.New("SnapshotScheduleNotFound") ErrSnapshotScheduleAlreadyExists = errors.New("SnapshotScheduleAlreadyExists") ErrUsageLimitNotFound = errors.New("UsageLimitNotFound") ErrAuthProfileNotFound = errors.New("AuthenticationProfileNotFoundFault") ErrAuthProfileAlreadyExists = errors.New("AuthenticationProfileAlreadyExistsFault") ErrResourcePolicyNotFound = errors.New("ResourceNotFoundFault") ErrSnapshotCopyAlreadyEnabled = errors.New("SnapshotCopyAlreadyEnabledFault") ErrSnapshotCopyNotEnabled = errors.New("CopyToRegionDisabledFault") ErrHsmClientCertNotFound = errors.New("HsmClientCertificateNotFoundFault") ErrHsmClientCertAlreadyExists = errors.New("HsmClientCertificateAlreadyExistsFault") ErrHsmConfigNotFound = errors.New("HsmConfigurationNotFoundFault") ErrHsmConfigAlreadyExists = errors.New("HsmConfigurationAlreadyExistsFault") ErrScheduledActionNotFound = errors.New("ScheduledActionNotFound") ErrScheduledActionAlreadyExists = errors.New("ScheduledActionAlreadyExists") ErrCustomDomainNotFound = errors.New("CustomDomainAssociationNotFoundFault") ErrCustomDomainAlreadyExists = errors.New("CustomCnameAssociationFault") ErrEndpointAccessNotFound = errors.New("EndpointNotFound") ErrEndpointAccessAlreadyExists = errors.New("EndpointAlreadyExists") ErrIntegrationNotFound = errors.New("IntegrationNotFoundFault") ErrIntegrationAlreadyExists = errors.New("IntegrationAlreadyExistsFault") ErrIdcApplicationNotFound = errors.New("RedshiftIdcApplicationNotExists") ErrIdcApplicationAlreadyExists = errors.New("RedshiftIdcApplicationAlreadyExists") // Qev2IdcApplication fault codes verified against // aws-sdk-go-v2/service/redshift@v1.65.0/types/errors.go // Qev2IdcApplicationNotExistsFault.ErrorCode() and // Qev2IdcApplicationAlreadyExistsFault.ErrorCode() -- these are a distinct // fault family from RedshiftIdcApplication's above (no shared "Redshift" // prefix), matching Qev2IdcApplication being a distinct resource. ErrQev2IdcApplicationNotFound = errors.New("Qev2IdcApplicationNotExists") ErrQev2IdcApplicationAlreadyExists = errors.New("Qev2IdcApplicationAlreadyExists") )
Error code strings below are verified verbatim against the ErrorCode() method of each corresponding fault type in aws-sdk-go-v2/service/redshift@v1.62.3/types/errors.go. Real AWS is NOT consistent about the "Fault" suffix -- some fault ErrorCode() values include it (e.g. "HsmConfigurationNotFoundFault") and some strip it (e.g. "ClusterNotFound" for ClusterNotFoundFault) -- so each entry here was checked individually rather than assumed from a pattern. Do not "clean up" a suffix without re-checking the SDK source.
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"`
MasterUsername string `json:"masterUsername"`
PreferredMaintenanceWindow string `json:"preferredMaintenanceWindow,omitempty"`
ClusterType string `json:"clusterType"`
Endpoint string `json:"endpoint"`
Status string `json:"status"`
DBName string `json:"dbName"`
ClusterIdentifier string `json:"clusterIdentifier"`
VpcID string `json:"vpcId,omitempty"`
KmsKeyID string `json:"kmsKeyId,omitempty"`
NodeType string `json:"nodeType"`
SnapshotScheduleState string `json:"snapshotScheduleState,omitempty"`
SnapshotScheduleIdentifier string `json:"snapshotScheduleIdentifier,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 DataShare ¶
type DataShare struct {
// DataShareType mirrors types.DataShareType from the real SDK. "INTERNAL" is
// currently the only defined enum value (types.DataShareTypeInternal) --
// namespace-to-namespace shares created via RegisterNamespace would be the
// other case, which this backend does not yet model.
}
DataShare represents a Redshift data share.
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"`
SubnetGroupName string `json:"subnetGroupName,omitempty"`
ResourceOwner string `json:"resourceOwner,omitempty"`
VpcSecurityGroupIDs []string `json:"vpcSecurityGroupIds,omitempty"`
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, subnetGroupName, resourceOwner string, vpcSecurityGroupIDs []string, ) (*EndpointAccess, error)
CreateEndpointAccess creates a new Redshift-managed VPC endpoint. Real CreateEndpointAccessInput has no VpcId field -- the endpoint's VPC is derived from SubnetGroupName (confirmed against aws-sdk-go-v2/service/redshift@v1.62.3's CreateEndpointAccessInput). When subnetGroupName names a known ClusterSubnetGroup, VpcID is populated from it; otherwise it is left empty (real AWS would fall back to the cluster's own subnet group, which this backend does not track independently of ClusterSubnetGroup).
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, tags map[string]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) CreateQev2IdcApplication ¶ added in v1.2.0
func (b *InMemoryBackend) CreateQev2IdcApplication( appName, idcInstanceArn, idcDisplayName string, tags map[string]string, ) (*Qev2IdcApplication, error)
CreateQev2IdcApplication creates a new Amazon Redshift Query Editor (QEV2) IAM Identity Center application. Real CreateQev2IdcApplicationInput requires IdcDisplayName, IdcInstanceArn, and Qev2IdcApplicationName (confirmed against aws-sdk-go-v2/service/redshift@v1.65.0 CreateQev2IdcApplicationInput's doc comments), so all three are validated as non-empty here -- matching the non-empty-only validation style the neighboring CreateIdcApplication (RedshiftIdcApplication) uses for its own ARN/name fields; neither family in this package validates ARN *format*.
func (*InMemoryBackend) CreateScheduledAction ¶
func (b *InMemoryBackend) CreateScheduledAction( name, schedule, iamRole, description string, target *ScheduledActionTarget, enable *bool, ) (*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, snapshotID, 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) DeleteQev2IdcApplication ¶ added in v1.2.0
func (b *InMemoryBackend) DeleteQev2IdcApplication(appArn string) error
DeleteQev2IdcApplication deletes the Qev2 IdC application identified by ARN.
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) DescribeQev2IdcApplications ¶ added in v1.2.0
func (b *InMemoryBackend) DescribeQev2IdcApplications( appArn, marker string, maxRecords int, ) ([]Qev2IdcApplication, string, error)
DescribeQev2IdcApplications returns Qev2 IdC applications. When appArn is non-empty it looks up that single application (no pagination). Otherwise it pages through the full set via marker/maxRecords using exactly the same convention as DescribeClusters (see store.go): results are sorted ascending by key (Qev2IdcApplicationName, the table's key), marker is the last application name returned on the previous page (an exclusive cutoff), and the returned nextMarker is empty once the final page is reached.
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 by setting/clearing Cluster.SnapshotScheduleIdentifier -- the real wire field (confirmed against aws-sdk-go-v2/service/redshift@v1.62.3/types.Cluster). SnapshotSchedule.AssociatedClusters (see snapshotScheduleAssociatedClusters) is derived by scanning for clusters whose SnapshotScheduleIdentifier matches, rather than stored redundantly on the schedule.
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 string, vpcSecurityGroupIDs []string, ) (*EndpointAccess, error)
ModifyEndpointAccess updates the VPC security groups for an endpoint. Real ModifyEndpointAccessInput only supports changing VpcSecurityGroupIds (confirmed against aws-sdk-go-v2/service/redshift@v1.62.3) -- there is no VpcId parameter.
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, newIntegrationName string, ) (*Integration, error)
ModifyIntegration updates the description and/or name of an integration. Real ModifyIntegrationInput (aws-sdk-go-v2/service/redshift@v1.62.3) supports renaming via IntegrationName in addition to Description.
func (*InMemoryBackend) ModifyQev2IdcApplication ¶ added in v1.2.0
func (b *InMemoryBackend) ModifyQev2IdcApplication(appArn, idcDisplayName string) (*Qev2IdcApplication, error)
ModifyQev2IdcApplication updates the display name of a Qev2 IdC application. Real ModifyQev2IdcApplicationInput exposes only Qev2IdcApplicationArn (the lookup key) and IdcDisplayName -- unlike ModifyRedshiftIdcApplication, which additionally accepts IamRoleArn, there is no IAM role on this resource to modify. IdcInstanceArn and Qev2IdcApplicationName are immutable: the real input shape has no fields for them, so there is nothing to accept or reject for those beyond ignoring any caller-supplied value (the awsquery form simply never carries one).
func (*InMemoryBackend) ModifyScheduledAction ¶
func (b *InMemoryBackend) ModifyScheduledAction( name, schedule, iamRole, description string, target *ScheduledActionTarget, enable *bool, ) (*ScheduledAction, error)
ModifyScheduledAction updates a scheduled action's schedule, IAM role, description, target action, and/or enabled state.
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, classic 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 {
CreateTime time.Time `json:"createTime"`
Tags map[string]string `json:"tags"`
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 PauseClusterAction ¶ added in v1.2.0
type PauseClusterAction struct {
ClusterIdentifier string `json:"clusterIdentifier"`
}
PauseClusterAction mirrors types.PauseClusterMessage: the ResizeCluster/ PauseCluster/ResumeCluster payload a ScheduledAction can target.
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 Qev2IdcApplication ¶ added in v1.2.0
type Qev2IdcApplication struct {
Tags map[string]string `json:"tags,omitempty"`
Qev2IdcApplicationArn string `json:"qev2IdcApplicationArn"`
Qev2IdcApplicationName string `json:"qev2IdcApplicationName"`
IdcInstanceArn string `json:"idcInstanceArn"`
IdcDisplayName string `json:"idcDisplayName"`
IdcManagedApplicationArn string `json:"idcManagedApplicationArn"`
IdcOnboardStatus string `json:"idcOnboardStatus"`
}
Qev2IdcApplication represents an Amazon Redshift Query Editor (QEV2) IAM Identity Center application. This is a DISTINCT resource from IdcApplication (RedshiftIdcApplication) above, not a sub-resource of it: RedshiftIdcApplication backs cluster-level federated authentication into IAM Identity Center and carries an IamRoleArn used to invoke the IDC Identity Center API, while Qev2IdcApplication is the separate IdC-managed application that powers the standalone Query Editor V2 web console and has no IamRoleArn or cluster reference at all (confirmed field-by-field against aws-sdk-go-v2/service/redshift@v1.65.0/types.Qev2IdcApplication, which declares no IamRoleArn field, and against CreateQev2IdcApplicationInput / ModifyQev2IdcApplicationInput, neither of which accepts one). The two families share only the IdC-instance/display-name/onboard-status shape and are otherwise independently keyed and stored.
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 ResizeClusterAction ¶ added in v1.2.0
type ResizeClusterAction struct {
ClusterIdentifier string `json:"clusterIdentifier"`
ClusterType string `json:"clusterType,omitempty"`
NodeType string `json:"nodeType,omitempty"`
ReservedNodeID string `json:"reservedNodeId,omitempty"`
TargetReservedNodeOfferingID string `json:"targetReservedNodeOfferingId,omitempty"`
NumberOfNodes int `json:"numberOfNodes,omitempty"`
Classic bool `json:"classic,omitempty"`
}
ResizeClusterAction mirrors types.ResizeClusterMessage.
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 ResumeClusterAction ¶ added in v1.2.0
type ResumeClusterAction struct {
ClusterIdentifier string `json:"clusterIdentifier"`
}
ResumeClusterAction mirrors types.ResumeClusterMessage.
type ScheduledAction ¶
type ScheduledAction struct {
TargetAction *ScheduledActionTarget `json:"targetAction,omitempty"`
ScheduledActionName string `json:"scheduledActionName"`
Schedule string `json:"schedule"`
IamRole string `json:"iamRole"`
ScheduledActionDescription string `json:"scheduledActionDescription"`
State string `json:"state"`
}
ScheduledAction represents a Redshift scheduled action.
type ScheduledActionTarget ¶ added in v1.2.0
type ScheduledActionTarget struct {
PauseCluster *PauseClusterAction `json:"pauseCluster,omitempty"`
ResumeCluster *ResumeClusterAction `json:"resumeCluster,omitempty"`
ResizeCluster *ResizeClusterAction `json:"resizeCluster,omitempty"`
}
ScheduledActionTarget mirrors types.ScheduledActionType: exactly one of these three should be set, matching which Redshift API operation the schedule invokes.
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"`
// AssociatedClusters is derived at read time (see
// InMemoryBackend.snapshotScheduleAssociatedClusters) from the clusters whose
// SnapshotScheduleIdentifier matches this schedule; it is never persisted
// directly on the schedule itself.
AssociatedClusters []string `json:"-"`
}
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 string,
target *ScheduledActionTarget,
enable *bool,
) (*ScheduledAction, error)
DeleteScheduledAction(name string) error
DescribeScheduledActions(name string) ([]ScheduledAction, error)
ModifyScheduledAction(
name, schedule, iamRole, description string,
target *ScheduledActionTarget,
enable *bool,
) (*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, subnetGroupName, resourceOwner string, vpcSecurityGroupIDs []string,
) (*EndpointAccess, error)
DeleteEndpointAccess(endpointName string) (*EndpointAccess, error)
DescribeEndpointAccess(clusterID, endpointName string) ([]EndpointAccess, error)
ModifyEndpointAccess(endpointName string, vpcSecurityGroupIDs []string) (*EndpointAccess, error)
// Integration operations
CreateIntegration(
integrationName, sourceArn, targetArn, kmsKeyID, description string, tags map[string]string,
) (*Integration, error)
DeleteIntegration(integrationArn string) (*Integration, error)
DescribeIntegrations(integrationArn string) ([]Integration, error)
ModifyIntegration(integrationArn, description, newIntegrationName 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)
// Query Editor V2 (QEV2) IDC application operations. Qev2IdcApplication is
// a distinct resource from IdcApplication above -- see the doc comment on
// the Qev2IdcApplication type in models.go.
CreateQev2IdcApplication(
appName, idcInstanceArn, idcDisplayName string, tags map[string]string,
) (*Qev2IdcApplication, error)
DeleteQev2IdcApplication(appArn string) error
DescribeQev2IdcApplications(appArn, marker string, maxRecords int) ([]Qev2IdcApplication, string, error)
ModifyQev2IdcApplication(appArn, idcDisplayName string) (*Qev2IdcApplication, 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"`
SnapshotIdentifier string `json:"snapshotIdentifier,omitempty"`
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_qev2_idc_applications.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
- qev2_idc_applications.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