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✔️Show Tests
DescribeElasticsearchDomains✔️community✔️Show Tests
DescribeElasticsearchInstanceTypeLimits
DescribeInboundCrossClusterSearchConnections
DescribeOutboundCrossClusterSearchConnections
DescribePackages
DescribeReservedElasticsearchInstanceOfferings
DescribeReservedElasticsearchInstances
DescribeVpcEndpoints
DissociatePackage
GetCompatibleElasticsearchVersions✔️community✔️✔️✔️Show Tests
GetPackageVersionHistory
GetUpgradeHistory
GetUpgradeStatus
ListDomainNames✔️community✔️✔️Show Tests
ListDomainsForPackage
ListElasticsearchInstanceTypes
ListElasticsearchVersions✔️community✔️Show Tests
ListPackagesForDomain
ListTags✔️community✔️Show Tests
ListVpcEndpointAccess
ListVpcEndpoints
ListVpcEndpointsForDomain
PurchaseReservedElasticsearchInstanceOffering
RejectInboundCrossClusterSearchConnection
RemoveTags✔️community
RevokeVpcEndpointAccess
StartElasticsearchServiceSoftwareUpdate
UpdateElasticsearchDomainConfig✔️community✔️Show Tests
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 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


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
    • test_create_existing_domain_causes_exception LocalStack Community: tests/aws/services/es/test_es.py::TestElasticsearchProvider::test_create_existing_domain_causes_exception HTTP Status Code: 409 (ResourceAlreadyExistsException)
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_domain_version LocalStack Community: tests/aws/services/es/test_es.py::TestElasticsearchProvider::test_domain_version HTTP Status Code: 200
    • test_path_endpoint_strategy LocalStack Community: tests/aws/services/es/test_es.py::TestElasticsearchProvider::test_path_endpoint_strategy 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

DescribeElasticsearchDomainConfig

Parameters: DomainName
  • LocalStack Community
    • test_update_domain_config LocalStack Community: tests/aws/services/es/test_es.py::TestElasticsearchProvider::test_update_domain_config HTTP Status Code: 200

DescribeElasticsearchDomains

Parameters: DomainNames
  • LocalStack Community
    • test_describe_domains LocalStack Community: tests/aws/services/es/test_es.py::TestElasticsearchProvider::test_describe_domains HTTP Status Code: 200
  • 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
    • 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
    • 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
    • test_enforce_policy_elasticsearch LocalStack Pro: tests/aws/services/iam/test_iam_enforcement.py::TestIAMEnforcementIdentityBasedPolicies::test_enforce_policy_elasticsearch HTTP Status Code: 400 (AccessDeniedException)
    • 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)

GetCompatibleElasticsearchVersions

Parameters: - (without any parameters)
  • LocalStack Community
    • test_get_compatible_versions LocalStack Community: tests/aws/services/es/test_es.py::TestElasticsearchProvider::test_get_compatible_versions HTTP Status Code: 200
Parameters: DomainName
  • LocalStack Community
    • test_get_compatible_version_for_domain LocalStack Community: tests/aws/services/es/test_es.py::TestElasticsearchProvider::test_get_compatible_version_for_domain HTTP Status Code: 200

ListDomainNames

Parameters: EngineType
  • LocalStack Community
    • test_create_domain LocalStack Community: tests/aws/services/es/test_es.py::TestElasticsearchProvider::test_create_domain HTTP Status Code: 200

ListElasticsearchVersions

Parameters: - (without any parameters)
  • LocalStack Community
    • test_list_versions LocalStack Community: tests/aws/services/es/test_es.py::TestElasticsearchProvider::test_list_versions HTTP Status Code: 200

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

UpdateElasticsearchDomainConfig

Parameters: DomainName, ElasticsearchClusterConfig
  • LocalStack Community
    • test_update_domain_config LocalStack Community: tests/aws/services/es/test_es.py::TestElasticsearchProvider::test_update_domain_config HTTP Status Code: 200


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