Redshift

Implementation details for API redshift

Coverage Overview

Redshift is supported by LocalStack in the community image with additional features available in the pro image.

AvailabilityTesting*
OperationImplementedImageInternal Test SuiteExternal Test SuiteTerraform ValidatedAWS ValidatedSnapshot TestedDetails
AcceptReservedNodeExchange
AddPartner
AssociateDataShareConsumer
AuthorizeClusterSecurityGroupIngress✔️community✔️✔️✔️Show Tests
AuthorizeDataShare
AuthorizeEndpointAccess
AuthorizeSnapshotAccess
BatchDeleteClusterSnapshots
BatchModifyClusterSnapshots
CancelResize
CopyClusterSnapshot
CreateAuthenticationProfile
CreateCluster✔️community✔️✔️✔️✔️✔️Show Tests
CreateClusterParameterGroup✔️community✔️✔️✔️✔️Show Tests
CreateClusterSecurityGroup✔️community✔️✔️✔️✔️Show Tests
CreateClusterSnapshot✔️community✔️✔️
CreateClusterSubnetGroup✔️community✔️✔️✔️✔️✔️Show Tests
CreateCustomDomainAssociation
CreateEndpointAccess
CreateEventSubscription
CreateHsmClientCertificate
CreateHsmConfiguration
CreateIntegration
CreateRedshiftIdcApplication
CreateScheduledAction
CreateSnapshotCopyGrant✔️community✔️✔️
CreateSnapshotSchedule
CreateTags✔️community
CreateUsageLimit
DeauthorizeDataShare
DeleteAuthenticationProfile
DeleteCluster✔️community✔️✔️✔️✔️✔️Show Tests
DeleteClusterParameterGroup✔️community✔️✔️✔️✔️Show Tests
DeleteClusterSecurityGroup✔️community✔️
DeleteClusterSnapshot✔️community✔️✔️
DeleteClusterSubnetGroup✔️community✔️✔️✔️✔️✔️Show Tests
DeleteCustomDomainAssociation
DeleteEndpointAccess
DeleteEventSubscription
DeleteHsmClientCertificate
DeleteHsmConfiguration
DeleteIntegration
DeletePartner
DeleteRedshiftIdcApplication
DeleteResourcePolicy
DeleteScheduledAction
DeleteSnapshotCopyGrant✔️community✔️✔️
DeleteSnapshotSchedule
DeleteTags✔️community✔️
DeleteUsageLimit
DescribeAccountAttributes
DescribeAuthenticationProfiles
DescribeClusterDbRevisions
DescribeClusterParameterGroups✔️community✔️✔️✔️Show Tests
DescribeClusterParameters✔️pro✔️✔️✔️Show Tests
DescribeClusterSecurityGroups✔️community✔️✔️✔️✔️Show Tests
DescribeClusterSnapshots✔️community✔️✔️
DescribeClusterSubnetGroups✔️community✔️✔️
DescribeClusterTracks
DescribeClusterVersions
DescribeClusters✔️community✔️✔️✔️✔️✔️Show Tests
DescribeCustomDomainAssociations
DescribeDataShares
DescribeDataSharesForConsumer
DescribeDataSharesForProducer
DescribeDefaultClusterParameters✔️pro✔️Show Tests
DescribeEndpointAccess
DescribeEndpointAuthorization
DescribeEventCategories
DescribeEventSubscriptions
DescribeEvents
DescribeHsmClientCertificates
DescribeHsmConfigurations
DescribeInboundIntegrations
DescribeIntegrations
DescribeLoggingStatus✔️pro✔️✔️
DescribeNodeConfigurationOptions
DescribeOrderableClusterOptions
DescribePartners
DescribeRedshiftIdcApplications
DescribeReservedNodeExchangeStatus
DescribeReservedNodeOfferings
DescribeReservedNodes
DescribeResize
DescribeScheduledActions
DescribeSnapshotCopyGrants✔️community✔️✔️
DescribeSnapshotSchedules
DescribeStorage
DescribeTableRestoreStatus
DescribeTags✔️community✔️
DescribeUsageLimits
DisableLogging
DisableSnapshotCopy✔️community
DisassociateDataShareConsumer
EnableLogging
EnableSnapshotCopy✔️community✔️✔️
FailoverPrimaryCompute
GetClusterCredentials✔️community✔️✔️
GetClusterCredentialsWithIAM
GetReservedNodeExchangeConfigurationOptions
GetReservedNodeExchangeOfferings
GetResourcePolicy
ListRecommendations
ModifyAquaConfiguration
ModifyAuthenticationProfile
ModifyCluster✔️community
ModifyClusterDbRevision
ModifyClusterIamRoles
ModifyClusterMaintenance
ModifyClusterParameterGroup
ModifyClusterSnapshot
ModifyClusterSnapshotSchedule
ModifyClusterSubnetGroup
ModifyCustomDomainAssociation
ModifyEndpointAccess
ModifyEventSubscription
ModifyIntegration
ModifyRedshiftIdcApplication
ModifyScheduledAction
ModifySnapshotCopyRetentionPeriod✔️community
ModifySnapshotSchedule
ModifyUsageLimit
PauseCluster✔️community✔️
PurchaseReservedNodeOffering
PutResourcePolicy
RebootCluster
RejectDataShare
ResetClusterParameterGroup
ResizeCluster
RestoreFromClusterSnapshot✔️community✔️
RestoreTableFromClusterSnapshot
ResumeCluster✔️community✔️
RevokeClusterSecurityGroupIngress
RevokeEndpointAccess
RevokeSnapshotAccess
RotateEncryptionKey
UpdatePartnerStatus

Terminology

  • Internal Test Suite: tested by LocalStack's internal integration test suite
  • External Test Suite: covered by an external integration test suite, that runs against LocalStack
  • Terraform Validated: operation tested with Terraform
  • AWS Validated: the integration test that includes this operation call was validated against AWS
  • Snapshot Tested: the operation is part of a snapshot parity test, which verifies the responses by LocalStack and AWS are the same

Testing Details

This section gives an overview about the internal integration test suite and the specific test cases that recorded the API call.

How to read the test details?

For each operation we put up a list of the related integration test cases.
Those operation calls have been recorded during the execution of the outlined test cases. Some calls might be internal, i.e., they are not explicitly called in the test, but are triggered implicitly by the LocalStack framework.

  • Parameters: The tests are ordered by the parameters used, which are highlighted in bold.
  • Test Details: LocalStack Community or LocalStack Pro indicates where the test originates. For each test you see:
    • test name
    • status code returned (which is the expected one for the test case)
    • information about validation:
      • AWS validated the test is validated against AWS, meaning it run successfully against real AWS as well
      • Snapshot Tested this is a snapshot parity test, meaning the responses are validated against AWS


AuthorizeClusterSecurityGroupIngress

Parameters: CIDRIP, ClusterSecurityGroupName
  • LocalStack Community
    • test_cluster_security_groups LocalStack Community: tests/aws/services/redshift/test_redshift.py::TestRedshift::test_cluster_security_groups HTTP Status Code: 200 AWS validated Snapshot Tested

CreateCluster

Parameters: ClusterIdentifier, ClusterParameterGroupName, ClusterSubnetGroupName, ClusterType, DBName, MasterUserPassword, MasterUsername, NodeType
  • LocalStack Pro
    • test_docdb_resources LocalStack Pro: tests/aws/services/cloudformation/resources/test_redshift.py::TestCfnRedshiftSubnet::test_docdb_resources HTTP Status Code: 200 AWS validated
Parameters: ClusterIdentifier, ClusterSubnetGroupName, ClusterType, DBName, IamRoles, MasterUserPassword, MasterUsername, NodeType, NumberOfNodes, PubliclyAccessible, VpcSecurityGroupIds
  • LocalStack Pro
    • test_kinesis_firehose_redshift LocalStack Pro: tests/aws/scenario/kinesis_firehose_redshift/test_kinesis_firehose_redshift.py::TestKinesisFirehoseScenario::test_kinesis_firehose_redshift HTTP Status Code: 200 AWS validated Snapshot Tested
Parameters: ClusterIdentifier, ClusterType, DBName, MasterUserPassword, MasterUsername, NodeType
  • LocalStack Community
    • test_redshift_cluster LocalStack Community: tests/aws/services/cloudformation/resources/test_redshift.py::test_redshift_cluster HTTP Status Code: 200 AWS validated
Parameters: ClusterIdentifier, DBName, MasterUserPassword, MasterUsername, NodeType
  • LocalStack Pro
    • test_firehose_redshift_as_target LocalStack Pro: tests/aws/services/firehose/test_firehose.py::TestFirehoseIntegration::test_firehose_redshift_as_target HTTP Status Code: 200
    • test_create_cluster LocalStack Pro: tests/aws/services/redshift/test_redshift.py::TestRedshift::test_create_cluster HTTP Status Code: 200
    • test_redshift_connector LocalStack Pro: tests/aws/services/redshift/test_redshift.py::TestRedshift::test_redshift_connector HTTP Status Code: 200
Parameters: ClusterIdentifier, MasterUserPassword, MasterUsername, NodeType, NumberOfNodes, PubliclyAccessible
  • LocalStack Community
    • test_create_clusters LocalStack Community: tests/aws/services/redshift/test_redshift.py::TestRedshift::test_create_clusters HTTP Status Code: 200 AWS validated

CreateClusterParameterGroup

Parameters: Description, ParameterGroupFamily, ParameterGroupName
  • LocalStack Pro
    • test_docdb_resources LocalStack Pro: tests/aws/services/cloudformation/resources/test_redshift.py::TestCfnRedshiftSubnet::test_docdb_resources HTTP Status Code: 200 AWS validated
    • test_parameter_group LocalStack Pro: tests/aws/services/redshift/test_redshift.py::TestRedshift::test_parameter_group HTTP Status Code: 200

CreateClusterSecurityGroup

Parameters: ClusterSecurityGroupName, Description
  • LocalStack Community
    • test_cluster_security_groups LocalStack Community: tests/aws/services/redshift/test_redshift.py::TestRedshift::test_cluster_security_groups HTTP Status Code: 200 AWS validated Snapshot Tested

CreateClusterSubnetGroup

Parameters: ClusterSubnetGroupName, Description, SubnetIds
  • LocalStack Pro
    • test_kinesis_firehose_redshift LocalStack Pro: tests/aws/scenario/kinesis_firehose_redshift/test_kinesis_firehose_redshift.py::TestKinesisFirehoseScenario::test_kinesis_firehose_redshift HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_docdb_resources LocalStack Pro: tests/aws/services/cloudformation/resources/test_redshift.py::TestCfnRedshiftSubnet::test_docdb_resources HTTP Status Code: 200 AWS validated

DeleteCluster

Parameters: ClusterIdentifier
  • LocalStack Community
    • test_redshift_cluster LocalStack Community: tests/aws/services/cloudformation/resources/test_redshift.py::test_redshift_cluster HTTP Status Code: 200 AWS validated
  • LocalStack Pro
    • test_kinesis_firehose_redshift LocalStack Pro: tests/aws/scenario/kinesis_firehose_redshift/test_kinesis_firehose_redshift.py::TestKinesisFirehoseScenario::test_kinesis_firehose_redshift HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_docdb_resources LocalStack Pro: tests/aws/services/cloudformation/resources/test_redshift.py::TestCfnRedshiftSubnet::test_docdb_resources HTTP Status Code: 200 AWS validated
    • test_create_cluster LocalStack Pro: tests/aws/services/redshift/test_redshift.py::TestRedshift::test_create_cluster HTTP Status Code: 200
    • test_redshift_connector LocalStack Pro: tests/aws/services/redshift/test_redshift.py::TestRedshift::test_redshift_connector HTTP Status Code: 200
Parameters: ClusterIdentifier, SkipFinalClusterSnapshot
  • LocalStack Community
    • test_create_clusters LocalStack Community: tests/aws/services/redshift/test_redshift.py::TestRedshift::test_create_clusters HTTP Status Code: 200 AWS validated
  • LocalStack Pro
    • test_firehose_redshift_as_target LocalStack Pro: tests/aws/services/firehose/test_firehose.py::TestFirehoseIntegration::test_firehose_redshift_as_target HTTP Status Code: 200
    • test_create_cluster LocalStack Pro: tests/aws/services/redshift/test_redshift.py::TestRedshift::test_create_cluster HTTP Status Code: 400 (CommonServiceException)
    • test_redshift_connector LocalStack Pro: tests/aws/services/redshift/test_redshift.py::TestRedshift::test_redshift_connector HTTP Status Code: 400 (CommonServiceException)

DeleteClusterParameterGroup

Parameters: ParameterGroupName
  • LocalStack Pro
    • test_docdb_resources LocalStack Pro: tests/aws/services/cloudformation/resources/test_redshift.py::TestCfnRedshiftSubnet::test_docdb_resources HTTP Status Code: 200 AWS validated

DeleteClusterSubnetGroup

Parameters: ClusterSubnetGroupName
  • LocalStack Pro
    • test_kinesis_firehose_redshift LocalStack Pro: tests/aws/scenario/kinesis_firehose_redshift/test_kinesis_firehose_redshift.py::TestKinesisFirehoseScenario::test_kinesis_firehose_redshift HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_docdb_resources LocalStack Pro: tests/aws/services/cloudformation/resources/test_redshift.py::TestCfnRedshiftSubnet::test_docdb_resources HTTP Status Code: 200 AWS validated

DescribeClusterParameterGroups

Parameters: ParameterGroupName
  • LocalStack Pro
    • test_parameter_group LocalStack Pro: tests/aws/services/redshift/test_redshift.py::TestRedshift::test_parameter_group HTTP Status Code: 200

DescribeClusterParameters

Parameters: ParameterGroupName
  • LocalStack Pro
    • test_parameter_group LocalStack Pro: tests/aws/services/redshift/test_redshift.py::TestRedshift::test_parameter_group HTTP Status Code: 200

DescribeClusterSecurityGroups

Parameters: ClusterSecurityGroupName
  • LocalStack Community
    • test_cluster_security_groups LocalStack Community: tests/aws/services/redshift/test_redshift.py::TestRedshift::test_cluster_security_groups HTTP Status Code: 200 AWS validated Snapshot Tested

DescribeClusters

Parameters: - (without any parameters)
  • LocalStack Community
    • test_create_clusters LocalStack Community: tests/aws/services/redshift/test_redshift.py::TestRedshift::test_create_clusters HTTP Status Code: 200 AWS validated
  • LocalStack Pro
    • test_firehose_redshift_as_target LocalStack Pro: tests/aws/services/firehose/test_firehose.py::TestFirehoseIntegration::test_firehose_redshift_as_target HTTP Status Code: 200
    • test_enforce_policy_redshift LocalStack Pro: tests/aws/services/iam/test_iam_enforcement.py::TestIAMEnforcementIdentityBasedPolicies::test_enforce_policy_redshift HTTP Status Code: 200
    • test_create_cluster LocalStack Pro: tests/aws/services/redshift/test_redshift.py::TestRedshift::test_create_cluster HTTP Status Code: 200
    • test_redshift_connector LocalStack Pro: tests/aws/services/redshift/test_redshift.py::TestRedshift::test_redshift_connector HTTP Status Code: 200
    • test_enforce_policy_redshift LocalStack Pro: tests/aws/services/iam/test_iam_enforcement.py::TestIAMEnforcementIdentityBasedPolicies::test_enforce_policy_redshift HTTP Status Code: 400 (CommonServiceException)
Parameters: ClusterIdentifier
  • LocalStack Community
    • test_redshift_cluster LocalStack Community: tests/aws/services/cloudformation/resources/test_redshift.py::test_redshift_cluster HTTP Status Code: 200 AWS validated
    • test_redshift_cluster LocalStack Community: tests/aws/services/cloudformation/resources/test_redshift.py::test_redshift_cluster HTTP Status Code: 400 (CommonServiceException) AWS validated
    • test_create_clusters LocalStack Community: tests/aws/services/redshift/test_redshift.py::TestRedshift::test_create_clusters HTTP Status Code: 400 (CommonServiceException) AWS validated
  • LocalStack Pro
    • test_kinesis_firehose_redshift LocalStack Pro: tests/aws/scenario/kinesis_firehose_redshift/test_kinesis_firehose_redshift.py::TestKinesisFirehoseScenario::test_kinesis_firehose_redshift HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_docdb_resources LocalStack Pro: tests/aws/services/cloudformation/resources/test_redshift.py::TestCfnRedshiftSubnet::test_docdb_resources HTTP Status Code: 200 AWS validated
    • test_docdb_resources LocalStack Pro: tests/aws/services/cloudformation/resources/test_redshift.py::TestCfnRedshiftSubnet::test_docdb_resources HTTP Status Code: 200 AWS validated
    • test_firehose_redshift_as_target LocalStack Pro: tests/aws/services/firehose/test_firehose.py::TestFirehoseIntegration::test_firehose_redshift_as_target HTTP Status Code: 200
    • test_kinesis_firehose_redshift LocalStack Pro: tests/aws/scenario/kinesis_firehose_redshift/test_kinesis_firehose_redshift.py::TestKinesisFirehoseScenario::test_kinesis_firehose_redshift HTTP Status Code: 400 (CommonServiceException) AWS validated Snapshot Tested
    • test_docdb_resources LocalStack Pro: tests/aws/services/cloudformation/resources/test_redshift.py::TestCfnRedshiftSubnet::test_docdb_resources HTTP Status Code: 400 (CommonServiceException) AWS validated

DescribeDefaultClusterParameters

Parameters: ParameterGroupFamily
  • LocalStack Pro
    • test_parameter_group LocalStack Pro: tests/aws/services/redshift/test_redshift.py::TestRedshift::test_parameter_group HTTP Status Code: 200