ES (OpenSearch, legacy Elasticsearch)

Implementation details for API es

Coverage Overview

OpenSearch, legacy Elasticsearch (ES) is supported by LocalStack in the community image.

AvailabilityTesting*
OperationImplementedImageInternal Test SuiteExternal Test SuiteTerraform ValidatedAWS ValidatedSnapshot TestedDetails
AcceptInboundCrossClusterSearchConnection
AddTags✔️community✔️Show Tests
AssociatePackage
AuthorizeVpcEndpointAccess
CancelDomainConfigChange
CancelElasticsearchServiceSoftwareUpdate
CreateElasticsearchDomain✔️community✔️✔️Show Tests
CreateOutboundCrossClusterSearchConnection
CreatePackage
CreateVpcEndpoint
DeleteElasticsearchDomain✔️community✔️✔️Show Tests
DeleteElasticsearchServiceRole
DeleteInboundCrossClusterSearchConnection
DeleteOutboundCrossClusterSearchConnection
DeletePackage
DeleteVpcEndpoint
DescribeDomainAutoTunes
DescribeDomainChangeProgress
DescribeElasticsearchDomain✔️community✔️✔️Show Tests
DescribeElasticsearchDomainConfig✔️community
DescribeElasticsearchDomains✔️community✔️✔️Show Tests
DescribeElasticsearchInstanceTypeLimits
DescribeInboundCrossClusterSearchConnections
DescribeOutboundCrossClusterSearchConnections
DescribePackages
DescribeReservedElasticsearchInstanceOfferings
DescribeReservedElasticsearchInstances
DescribeVpcEndpoints
DissociatePackage
GetCompatibleElasticsearchVersions✔️community
GetPackageVersionHistory
GetUpgradeHistory
GetUpgradeStatus
ListDomainNames✔️community✔️
ListDomainsForPackage
ListElasticsearchInstanceTypes
ListElasticsearchVersions✔️community
ListPackagesForDomain
ListTags✔️community✔️Show Tests
ListVpcEndpointAccess
ListVpcEndpoints
ListVpcEndpointsForDomain
PurchaseReservedElasticsearchInstanceOffering
RejectInboundCrossClusterSearchConnection
RemoveTags✔️community
RevokeVpcEndpointAccess
StartElasticsearchServiceSoftwareUpdate
UpdateElasticsearchDomainConfig✔️community
UpdatePackage
UpdateVpcEndpoint
UpgradeElasticsearchDomain

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


AddTags

Parameters: ARN, TagList
  • LocalStack Community
    • test_cfn_handle_elasticsearch_domain LocalStack Community: tests/aws/services/cloudformation/resources/test_elasticsearch.py::test_cfn_handle_elasticsearch_domain HTTP Status Code: 200

CreateElasticsearchDomain

Parameters: DomainName
  • LocalStack Community
    • test_kinesis_firehose_elasticsearch_s3_backup LocalStack Community: tests/aws/services/firehose/test_firehose.py::TestFirehoseIntegration::test_kinesis_firehose_elasticsearch_s3_backup HTTP Status Code: 200
Parameters: DomainName, ElasticsearchClusterConfig
  • LocalStack Community
    • test_cfn_handle_elasticsearch_domain LocalStack Community: tests/aws/services/cloudformation/resources/test_elasticsearch.py::test_cfn_handle_elasticsearch_domain HTTP Status Code: 200

DeleteElasticsearchDomain

Parameters: DomainName
  • LocalStack Community
    • test_cfn_handle_elasticsearch_domain LocalStack Community: tests/aws/services/cloudformation/resources/test_elasticsearch.py::test_cfn_handle_elasticsearch_domain HTTP Status Code: 200
    • test_kinesis_firehose_elasticsearch_s3_backup LocalStack Community: tests/aws/services/firehose/test_firehose.py::TestFirehoseIntegration::test_kinesis_firehose_elasticsearch_s3_backup HTTP Status Code: 200

DescribeElasticsearchDomain

Parameters: DomainName
  • LocalStack Community
    • test_cfn_handle_elasticsearch_domain LocalStack Community: tests/aws/services/cloudformation/resources/test_elasticsearch.py::test_cfn_handle_elasticsearch_domain HTTP Status Code: 200
    • test_cfn_handle_elasticsearch_domain LocalStack Community: tests/aws/services/cloudformation/resources/test_elasticsearch.py::test_cfn_handle_elasticsearch_domain HTTP Status Code: 200
    • test_kinesis_firehose_elasticsearch_s3_backup LocalStack Community: tests/aws/services/firehose/test_firehose.py::TestFirehoseIntegration::test_kinesis_firehose_elasticsearch_s3_backup HTTP Status Code: 200

DescribeElasticsearchDomains

Parameters: DomainNames
  • LocalStack Pro
    • test_enforce_policy_elasticsearch LocalStack Pro: tests/aws/services/iam/test_iam_enforcement.py::TestIAMEnforcementIdentityBasedPolicies::test_enforce_policy_elasticsearch HTTP Status Code: 200 AWS validated
    • test_enforce_policy_elasticsearch_two_domains LocalStack Pro: tests/aws/services/iam/test_iam_enforcement.py::TestIAMEnforcementIdentityBasedPolicies::test_enforce_policy_elasticsearch_two_domains HTTP Status Code: 200 AWS validated
    • test_enforce_policy_elasticsearch_two_domains_two_policies LocalStack Pro: tests/aws/services/iam/test_iam_enforcement.py::TestIAMEnforcementIdentityBasedPolicies::test_enforce_policy_elasticsearch_two_domains_two_policies HTTP Status Code: 200 AWS validated
    • test_enforce_policy_elasticsearch LocalStack Pro: tests/aws/services/iam/test_iam_enforcement.py::TestIAMEnforcementIdentityBasedPolicies::test_enforce_policy_elasticsearch HTTP Status Code: 400 (AccessDeniedException) AWS validated
    • test_enforce_policy_elasticsearch_two_domains LocalStack Pro: tests/aws/services/iam/test_iam_enforcement.py::TestIAMEnforcementIdentityBasedPolicies::test_enforce_policy_elasticsearch_two_domains HTTP Status Code: 400 (AccessDeniedException) AWS validated

ListTags

Parameters: ARN
  • LocalStack Community
    • test_cfn_handle_elasticsearch_domain LocalStack Community: tests/aws/services/cloudformation/resources/test_elasticsearch.py::test_cfn_handle_elasticsearch_domain HTTP Status Code: 200