OpenSearch

Implementation details for API opensearch

Coverage Overview

OpenSearch is supported by LocalStack in the community image.

AvailabilityTesting*
OperationImplementedImageInternal Test SuiteExternal Test SuiteTerraform ValidatedAWS ValidatedSnapshot TestedDetails
AcceptInboundConnection
AddDataSource
AddTags✔️community✔️✔️✔️Show Tests
AssociatePackage
AuthorizeVpcEndpointAccess
CancelDomainConfigChange
CancelServiceSoftwareUpdate
CreateApplication
CreateDomain✔️community✔️✔️✔️✔️✔️Show Tests
CreateOutboundConnection
CreatePackage
CreateVpcEndpoint
DeleteApplication
DeleteDataSource
DeleteDomain✔️community✔️✔️✔️✔️✔️Show Tests
DeleteInboundConnection
DeleteOutboundConnection
DeletePackage
DeleteVpcEndpoint
DescribeDomain✔️community✔️✔️✔️✔️✔️Show Tests
DescribeDomainAutoTunes
DescribeDomainChangeProgress
DescribeDomainConfig✔️community✔️✔️✔️✔️✔️Show Tests
DescribeDomainHealth
DescribeDomainNodes
DescribeDomains✔️community✔️✔️✔️Show Tests
DescribeDryRunProgress
DescribeInboundConnections
DescribeInstanceTypeLimits
DescribeOutboundConnections
DescribePackages
DescribeReservedInstanceOfferings
DescribeReservedInstances
DescribeVpcEndpoints
DissociatePackage
GetApplication
GetCompatibleVersions✔️community✔️✔️✔️✔️✔️Show Tests
GetDataSource
GetDomainMaintenanceStatus
GetPackageVersionHistory
GetUpgradeHistory
GetUpgradeStatus
ListApplications
ListDataSources
ListDomainMaintenances
ListDomainNames✔️community✔️✔️✔️✔️Show Tests
ListDomainsForPackage
ListInstanceTypeDetails
ListPackagesForDomain
ListScheduledActions
ListTags✔️community✔️✔️✔️✔️✔️Show Tests
ListVersions✔️community✔️✔️✔️Show Tests
ListVpcEndpointAccess
ListVpcEndpoints
ListVpcEndpointsForDomain
PurchaseReservedInstanceOffering
RejectInboundConnection
RemoveTags✔️community✔️✔️✔️Show Tests
RevokeVpcEndpointAccess
StartDomainMaintenance
StartServiceSoftwareUpdate
UpdateApplication
UpdateDataSource
UpdateDomainConfig✔️community✔️✔️✔️Show Tests
UpdatePackage
UpdateScheduledAction
UpdateVpcEndpoint
UpgradeDomain

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_opensearch_crud LocalStack Community: tests/aws/scenario/bookstore/test_bookstore.py::TestBookstoreApplication::test_opensearch_crud HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_cfn_handle_elasticsearch_domain LocalStack Community: tests/aws/services/cloudformation/resources/test_elasticsearch.py::test_cfn_handle_elasticsearch_domain HTTP Status Code: 200 AWS validated Snapshot Tested

CreateDomain

Parameters: AccessPolicies, AdvancedOptions, ClusterConfig, DomainName, EBSOptions, EngineVersion
  • LocalStack Community
    • test_domain_with_alternative_types LocalStack Community: tests/aws/services/cloudformation/resources/test_opensearch.py::test_domain_with_alternative_types HTTP Status Code: 200 AWS validated Snapshot Tested
Parameters: AdvancedOptions, ClusterConfig, DomainEndpointOptions, DomainName, EBSOptions, EncryptionAtRestOptions, EngineVersion, LogPublishingOptions, NodeToNodeEncryptionOptions
  • LocalStack Community
    • test_setup LocalStack Community: tests/aws/scenario/bookstore/test_bookstore.py::TestBookstoreApplication::test_setup HTTP Status Code: 200 AWS validated Snapshot Tested
Parameters: AdvancedSecurityOptions, DomainName
  • LocalStack Community
    • test_security_plugin LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_security_plugin HTTP Status Code: 200
Parameters: ClusterConfig, DomainName, EBSOptions, EngineVersion
  • 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 AWS validated Snapshot Tested
Parameters: DomainEndpointOptions, DomainName
  • LocalStack Community
    • test_custom_backend_with_custom_endpoint LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestCustomBackendManager::test_custom_backend_with_custom_endpoint HTTP Status Code: 200
    • test_custom_endpoint LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestEdgeProxiedOpensearchCluster::test_custom_endpoint HTTP Status Code: 200
    • test_custom_endpoint_disabled LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestEdgeProxiedOpensearchCluster::test_custom_endpoint_disabled HTTP Status Code: 200
    • test_create_domain_with_invalid_custom_endpoint LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_create_domain_with_invalid_custom_endpoint HTTP Status Code: 400 (ValidationException)
Parameters: DomainName
  • LocalStack Community
    • test_cloudformation_deployment LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_cloudformation_deployment HTTP Status Code: 200
    • test_create_domain LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_create_domain HTTP Status Code: 200
    • test_create_existing_domain_causes_exception LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_create_existing_domain_causes_exception HTTP Status Code: 200
    • test_create_indices LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_create_indices HTTP Status Code: 200
    • test_describe_domains LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_describe_domains HTTP Status Code: 200
    • test_domain_version LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_domain_version HTTP Status Code: 200
    • test_endpoint_strategy_path LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_endpoint_strategy_path HTTP Status Code: 200
    • test_endpoint_strategy_port LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_endpoint_strategy_port HTTP Status Code: 200
    • test_get_document LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_get_document HTTP Status Code: 200
    • test_gzip_responses LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_gzip_responses HTTP Status Code: 200
    • test_search LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_search HTTP Status Code: 200
    • test_update_domain_config LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_update_domain_config HTTP Status Code: 200
    • test_default_strategy LocalStack Community: tests/aws/test_network_configuration.py::TestOpenSearch::test_default_strategy HTTP Status Code: 200
    • test_path_strategy LocalStack Community: tests/aws/test_network_configuration.py::TestOpenSearch::test_path_strategy HTTP Status Code: 200
    • test_port_strategy LocalStack Community: tests/aws/test_network_configuration.py::TestOpenSearch::test_port_strategy HTTP Status Code: 200
    • test_create_domain_with_invalid_name LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_create_domain_with_invalid_name HTTP Status Code: 400 (ValidationException) AWS validated
    • test_exception_header_field LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_exception_header_field HTTP Status Code: 400 (ValidationException) AWS validated
    • test_create_existing_domain_causes_exception LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_create_existing_domain_causes_exception HTTP Status Code: 409 (ResourceAlreadyExistsException)
Parameters: DomainName, EngineVersion
  • LocalStack Community
    • test_get_compatible_version_for_domain LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_get_compatible_version_for_domain HTTP Status Code: 200

DeleteDomain

Parameters: DomainName
  • LocalStack Community
    • test_opensearch_crud LocalStack Community: tests/aws/scenario/bookstore/test_bookstore.py::TestBookstoreApplication::test_opensearch_crud HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_cfn_handle_elasticsearch_domain LocalStack Community: tests/aws/services/cloudformation/resources/test_elasticsearch.py::test_cfn_handle_elasticsearch_domain HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_domain_with_alternative_types LocalStack Community: tests/aws/services/cloudformation/resources/test_opensearch.py::test_domain_with_alternative_types HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_custom_backend_with_custom_endpoint LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestCustomBackendManager::test_custom_backend_with_custom_endpoint HTTP Status Code: 200
    • test_custom_endpoint LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestEdgeProxiedOpensearchCluster::test_custom_endpoint HTTP Status Code: 200
    • test_custom_endpoint_disabled LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestEdgeProxiedOpensearchCluster::test_custom_endpoint_disabled HTTP Status Code: 200
    • test_cloudformation_deployment LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_cloudformation_deployment HTTP Status Code: 200
    • test_create_domain LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_create_domain HTTP Status Code: 200
    • test_create_existing_domain_causes_exception LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_create_existing_domain_causes_exception HTTP Status Code: 200
    • test_create_indices LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_create_indices HTTP Status Code: 200
    • test_describe_domains LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_describe_domains HTTP Status Code: 200
    • test_domain_version LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_domain_version HTTP Status Code: 200
    • test_endpoint_strategy_path LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_endpoint_strategy_path HTTP Status Code: 200
    • test_endpoint_strategy_port LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_endpoint_strategy_port HTTP Status Code: 200
    • test_get_compatible_version_for_domain LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_get_compatible_version_for_domain HTTP Status Code: 200
    • test_get_document LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_get_document HTTP Status Code: 200
    • test_gzip_responses LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_gzip_responses HTTP Status Code: 200
    • test_search LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_search HTTP Status Code: 200
    • test_security_plugin LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_security_plugin HTTP Status Code: 200
    • test_update_domain_config LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_update_domain_config HTTP Status Code: 200
    • test_default_strategy LocalStack Community: tests/aws/test_network_configuration.py::TestOpenSearch::test_default_strategy HTTP Status Code: 200
    • test_path_strategy LocalStack Community: tests/aws/test_network_configuration.py::TestOpenSearch::test_path_strategy HTTP Status Code: 200
    • test_port_strategy LocalStack Community: tests/aws/test_network_configuration.py::TestOpenSearch::test_port_strategy HTTP Status Code: 200

DescribeDomain

Parameters: DomainName
  • LocalStack Community
    • test_setup LocalStack Community: tests/aws/scenario/bookstore/test_bookstore.py::TestBookstoreApplication::test_setup HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_cfn_handle_elasticsearch_domain LocalStack Community: tests/aws/services/cloudformation/resources/test_elasticsearch.py::test_cfn_handle_elasticsearch_domain HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_domain_with_alternative_types LocalStack Community: tests/aws/services/cloudformation/resources/test_opensearch.py::test_domain_with_alternative_types HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_domain_with_alternative_types LocalStack Community: tests/aws/services/cloudformation/resources/test_opensearch.py::test_domain_with_alternative_types HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_custom_backend_with_custom_endpoint LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestCustomBackendManager::test_custom_backend_with_custom_endpoint HTTP Status Code: 200
    • test_custom_endpoint LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestEdgeProxiedOpensearchCluster::test_custom_endpoint HTTP Status Code: 200
    • test_custom_endpoint_disabled LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestEdgeProxiedOpensearchCluster::test_custom_endpoint_disabled HTTP Status Code: 200
    • test_cloudformation_deployment LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_cloudformation_deployment HTTP Status Code: 200
    • test_create_domain LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_create_domain HTTP Status Code: 200
    • test_create_existing_domain_causes_exception LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_create_existing_domain_causes_exception HTTP Status Code: 200
    • test_create_indices LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_create_indices HTTP Status Code: 200
    • test_describe_domains LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_describe_domains HTTP Status Code: 200
    • test_domain_version LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_domain_version HTTP Status Code: 200
    • test_endpoint_strategy_path LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_endpoint_strategy_path HTTP Status Code: 200
    • test_endpoint_strategy_port LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_endpoint_strategy_port HTTP Status Code: 200
    • test_get_compatible_version_for_domain LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_get_compatible_version_for_domain HTTP Status Code: 200
    • test_get_document LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_get_document HTTP Status Code: 200
    • test_gzip_responses LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_gzip_responses HTTP Status Code: 200
    • test_search LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_search HTTP Status Code: 200
    • test_security_plugin LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_security_plugin HTTP Status Code: 200
    • test_update_domain_config LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_update_domain_config HTTP Status Code: 200
    • test_default_strategy LocalStack Community: tests/aws/test_network_configuration.py::TestOpenSearch::test_default_strategy HTTP Status Code: 200
    • test_path_strategy LocalStack Community: tests/aws/test_network_configuration.py::TestOpenSearch::test_path_strategy HTTP Status Code: 200
    • test_port_strategy LocalStack Community: tests/aws/test_network_configuration.py::TestOpenSearch::test_port_strategy HTTP Status Code: 200

DescribeDomainConfig

Parameters: DomainName
  • LocalStack Community
    • test_opensearch_crud LocalStack Community: tests/aws/scenario/bookstore/test_bookstore.py::TestBookstoreApplication::test_opensearch_crud HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_update_domain_config LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_update_domain_config HTTP Status Code: 200

DescribeDomains

Parameters: DomainNames
  • LocalStack Community
    • test_opensearch_crud LocalStack Community: tests/aws/scenario/bookstore/test_bookstore.py::TestBookstoreApplication::test_opensearch_crud HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_describe_domains LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::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 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

GetCompatibleVersions

Parameters: - (without any parameters)
  • LocalStack Community
    • test_get_compatible_versions LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_get_compatible_versions HTTP Status Code: 200 AWS validated Snapshot Tested
Parameters: DomainName
  • LocalStack Community
    • test_opensearch_crud LocalStack Community: tests/aws/scenario/bookstore/test_bookstore.py::TestBookstoreApplication::test_opensearch_crud HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_get_compatible_version_for_domain LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_get_compatible_version_for_domain HTTP Status Code: 200

ListDomainNames

Parameters: - (without any parameters)
  • LocalStack Community
    • test_opensearch_crud LocalStack Community: tests/aws/scenario/bookstore/test_bookstore.py::TestBookstoreApplication::test_opensearch_crud HTTP Status Code: 200 AWS validated Snapshot Tested
Parameters: EngineType
  • LocalStack Community
    • test_custom_backend_with_custom_endpoint LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestCustomBackendManager::test_custom_backend_with_custom_endpoint HTTP Status Code: 200
    • test_custom_endpoint LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestEdgeProxiedOpensearchCluster::test_custom_endpoint HTTP Status Code: 200
    • test_cloudformation_deployment LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_cloudformation_deployment HTTP Status Code: 200
    • test_create_domain LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_create_domain HTTP Status Code: 200

ListTags

Parameters: ARN
  • LocalStack Community
    • test_opensearch_crud LocalStack Community: tests/aws/scenario/bookstore/test_bookstore.py::TestBookstoreApplication::test_opensearch_crud HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_cfn_handle_elasticsearch_domain LocalStack Community: tests/aws/services/cloudformation/resources/test_elasticsearch.py::test_cfn_handle_elasticsearch_domain HTTP Status Code: 200 AWS validated Snapshot Tested

ListVersions

Parameters: - (without any parameters)
  • LocalStack Community
    • test_opensearch_crud LocalStack Community: tests/aws/scenario/bookstore/test_bookstore.py::TestBookstoreApplication::test_opensearch_crud HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_list_versions LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_list_versions HTTP Status Code: 200 AWS validated Snapshot Tested

RemoveTags

Parameters: ARN, TagKeys
  • LocalStack Community
    • test_opensearch_crud LocalStack Community: tests/aws/scenario/bookstore/test_bookstore.py::TestBookstoreApplication::test_opensearch_crud HTTP Status Code: 200 AWS validated Snapshot Tested

UpdateDomainConfig

Parameters: ClusterConfig, DomainName
  • LocalStack Community
    • test_update_domain_config LocalStack Community: tests/aws/services/opensearch/test_opensearch.py::TestOpensearchProvider::test_update_domain_config HTTP Status Code: 200