Redshift

Implementation details for API redshift

Coverage Overview

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

AvailabilityTesting*
OperationImplementedEditionInternal 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✔️✔️
CreateEndpointAccess
CreateEventSubscription
CreateHsmClientCertificate
CreateHsmConfiguration
CreateScheduledAction
CreateSnapshotCopyGrant✔️community✔️✔️
CreateSnapshotSchedule
CreateTags✔️community
CreateUsageLimit
DeauthorizeDataShare
DeleteAuthenticationProfile
DeleteCluster✔️community✔️✔️✔️Show Tests
DeleteClusterParameterGroup✔️community✔️✔️
DeleteClusterSecurityGroup✔️community
DeleteClusterSnapshot✔️community✔️✔️
DeleteClusterSubnetGroup✔️community✔️✔️
DeleteEndpointAccess
DeleteEventSubscription
DeleteHsmClientCertificate
DeleteHsmConfiguration
DeletePartner
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
DescribeDataShares
DescribeDataSharesForConsumer
DescribeDataSharesForProducer
DescribeDefaultClusterParameters✔️pro✔️Show Tests
DescribeEndpointAccess
DescribeEndpointAuthorization
DescribeEventCategories
DescribeEventSubscriptions
DescribeEvents
DescribeHsmClientCertificates
DescribeHsmConfigurations
DescribeLoggingStatus✔️pro✔️✔️
DescribeNodeConfigurationOptions
DescribeOrderableClusterOptions
DescribePartners
DescribeReservedNodeExchangeStatus
DescribeReservedNodeOfferings
DescribeReservedNodes
DescribeResize
DescribeScheduledActions
DescribeSnapshotCopyGrants✔️community✔️✔️
DescribeSnapshotSchedules
DescribeStorage
DescribeTableRestoreStatus
DescribeTags✔️community✔️
DescribeUsageLimits
DisableLogging
DisableSnapshotCopy✔️community
DisassociateDataShareConsumer
EnableLogging
EnableSnapshotCopy✔️community✔️✔️
GetClusterCredentials✔️community✔️✔️
GetClusterCredentialsWithIAM
GetReservedNodeExchangeConfigurationOptions
GetReservedNodeExchangeOfferings
ModifyAquaConfiguration
ModifyAuthenticationProfile
ModifyCluster✔️community
ModifyClusterDbRevision
ModifyClusterIamRoles
ModifyClusterMaintenance
ModifyClusterParameterGroup
ModifyClusterSnapshot
ModifyClusterSnapshotSchedule
ModifyClusterSubnetGroup
ModifyEndpointAccess
ModifyEventSubscription
ModifyScheduledAction
ModifySnapshotCopyRetentionPeriod✔️community
ModifySnapshotSchedule
ModifyUsageLimit
PauseCluster✔️community
PurchaseReservedNodeOffering
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 exeuction 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/integration/test_redshift.py::TestRedshift::test_cluster_security_groups HTTP Status Code: 200 AWS validated Snapshot Tested

CreateCluster

Parameters: ClusterIdentifier, DBName, MasterUserPassword, MasterUsername, NodeType
  • LocalStack Pro
    • test_create_cluster LocalStack Pro: tests/integration/test_redshift.py::TestRedshift::test_create_cluster HTTP Status Code: 200
    • test_redshift_connector LocalStack Pro: tests/integration/test_redshift.py::TestRedshift::test_redshift_connector HTTP Status Code: 200
Parameters: ClusterIdentifier, MasterUserPassword, MasterUsername, NodeType
  • LocalStack Community
    • test_create_clusters LocalStack Community: tests/integration/test_redshift.py::TestRedshift::test_create_clusters HTTP Status Code: 200

CreateClusterParameterGroup

Parameters: Description, ParameterGroupFamily, ParameterGroupName
  • LocalStack Pro
    • test_parameter_group LocalStack Pro: tests/integration/test_redshift.py::TestRedshift::test_parameter_group HTTP Status Code: 200

CreateClusterSecurityGroup

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

DeleteCluster

Parameters: ClusterIdentifier
  • LocalStack Community
    • test_create_clusters LocalStack Community: tests/integration/test_redshift.py::TestRedshift::test_create_clusters HTTP Status Code: 200
  • LocalStack Pro
    • test_create_cluster LocalStack Pro: tests/integration/test_redshift.py::TestRedshift::test_create_cluster HTTP Status Code: 200
    • test_redshift_connector LocalStack Pro: tests/integration/test_redshift.py::TestRedshift::test_redshift_connector HTTP Status Code: 200
Parameters: ClusterIdentifier, SkipFinalClusterSnapshot
  • LocalStack Pro
    • test_create_cluster LocalStack Pro: tests/integration/test_redshift.py::TestRedshift::test_create_cluster HTTP Status Code: 400 (CommonServiceException)
    • test_redshift_connector LocalStack Pro: tests/integration/test_redshift.py::TestRedshift::test_redshift_connector HTTP Status Code: 400 (CommonServiceException)

DescribeClusterParameterGroups

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

DescribeClusterParameters

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

DescribeClusterSecurityGroups

Parameters: ClusterSecurityGroupName
  • LocalStack Community
    • test_cluster_security_groups LocalStack Community: tests/integration/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/integration/test_redshift.py::TestRedshift::test_create_clusters HTTP Status Code: 200
  • LocalStack Pro
    • test_enforce_policy_redshift LocalStack Pro: tests/integration/iam_enforcement/test_iam_enforcement.py::TestIAMEnforcementIdentityBasedPolicies::test_enforce_policy_redshift HTTP Status Code: 200
    • test_create_cluster LocalStack Pro: tests/integration/test_redshift.py::TestRedshift::test_create_cluster HTTP Status Code: 200
    • test_redshift_connector LocalStack Pro: tests/integration/test_redshift.py::TestRedshift::test_redshift_connector HTTP Status Code: 200
    • test_enforce_policy_redshift LocalStack Pro: tests/integration/iam_enforcement/test_iam_enforcement.py::TestIAMEnforcementIdentityBasedPolicies::test_enforce_policy_redshift HTTP Status Code: 400 (CommonServiceException)
Parameters: ClusterIdentifier
  • LocalStack Community
    • test_create_clusters LocalStack Community: tests/integration/test_redshift.py::TestRedshift::test_create_clusters HTTP Status Code: 400 (CommonServiceException)

DescribeDefaultClusterParameters

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


Last modified March 20, 2023: improve Coverage Docs (#505) (46f2fb0c0)