ACM (AWS Certificate Manager)

Implementation details for API acm

Coverage Overview

AWS Certificate Manager (ACM) is supported by LocalStack in the community image.

AvailabilityTesting*
OperationImplementedImageInternal Test SuiteExternal Test SuiteTerraform ValidatedAWS ValidatedSnapshot TestedDetails
AddTagsToCertificate✔️community✔️✔️
DeleteCertificate✔️community✔️✔️✔️✔️✔️Show Tests
DescribeCertificate✔️community✔️✔️✔️✔️✔️Show Tests
ExportCertificate✔️community✔️
GetAccountConfiguration
GetCertificate✔️community✔️✔️
ImportCertificate✔️community✔️✔️✔️✔️✔️Show Tests
ListCertificates✔️community✔️✔️✔️✔️✔️Show Tests
ListTagsForCertificate✔️community✔️✔️
PutAccountConfiguration
RemoveTagsFromCertificate✔️community✔️✔️
RenewCertificate
RequestCertificate✔️community✔️✔️✔️✔️✔️Show Tests
ResendValidationEmail✔️community✔️
UpdateCertificateOptions

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


DeleteCertificate

Parameters: CertificateArn
  • LocalStack Community
    • test_boto_wait_for_certificate_validation LocalStack Community: tests/aws/services/acm/test_acm.py::TestACM::test_boto_wait_for_certificate_validation HTTP Status Code: 200
    • test_certificate_for_subdomain_wildcard LocalStack Community: tests/aws/services/acm/test_acm.py::TestACM::test_certificate_for_subdomain_wildcard HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_create_certificate_for_multiple_alternative_domains LocalStack Community: tests/aws/services/acm/test_acm.py::TestACM::test_create_certificate_for_multiple_alternative_domains HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_domain_validation LocalStack Community: tests/aws/services/acm/test_acm.py::TestACM::test_domain_validation HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_import_certificate LocalStack Community: tests/aws/services/acm/test_acm.py::TestACM::test_import_certificate HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_cfn_acm_certificate LocalStack Community: tests/aws/services/cloudformation/resources/test_acm.py::test_cfn_acm_certificate HTTP Status Code: 200
    • test_functions_in_output_export_name LocalStack Community: tests/aws/services/cloudformation/resources/test_legacy.py::TestCloudFormation::test_functions_in_output_export_name HTTP Status Code: 200
  • LocalStack Pro
    • test_associate_api LocalStack Pro: tests/aws/services/appsync/test_appsync.py::TestAppSyncCrud::test_associate_api HTTP Status Code: 200
    • test_create_domain_name LocalStack Pro: tests/aws/services/appsync/test_appsync.py::TestAppSyncCrud::test_create_domain_name HTTP Status Code: 200
    • test_disassociate_api LocalStack Pro: tests/aws/services/appsync/test_appsync.py::TestAppSyncCrud::test_disassociate_api HTTP Status Code: 200
    • test_get_api_association LocalStack Pro: tests/aws/services/appsync/test_appsync.py::TestAppSyncCrud::test_get_api_association HTTP Status Code: 200
    • test_domain_name_attributes LocalStack Pro: tests/aws/services/cloudformation/resources/test_apigatewayv2.py::TestApiGwV2Apis::test_domain_name_attributes HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_cloudflare_alias_with_s3_backend LocalStack Pro: tests/aws/services/cloudfront/test_cloudfront.py::TestCloudFront::test_cloudflare_alias_with_s3_backend HTTP Status Code: 200 AWS validated
    • test_cloudflare_cname_reuse LocalStack Pro: tests/aws/services/cloudfront/test_cloudfront.py::TestCloudFront::test_cloudflare_cname_reuse HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_redirect_listener LocalStack Pro: tests/aws/services/elb/test_elb.py::TestELB::test_redirect_listener HTTP Status Code: 200 AWS validated Snapshot Tested

DescribeCertificate

Parameters: CertificateArn
  • LocalStack Community
    • test_boto_wait_for_certificate_validation LocalStack Community: tests/aws/services/acm/test_acm.py::TestACM::test_boto_wait_for_certificate_validation HTTP Status Code: 200
    • test_certificate_for_subdomain_wildcard LocalStack Community: tests/aws/services/acm/test_acm.py::TestACM::test_certificate_for_subdomain_wildcard HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_create_certificate_for_multiple_alternative_domains LocalStack Community: tests/aws/services/acm/test_acm.py::TestACM::test_create_certificate_for_multiple_alternative_domains HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_domain_validation LocalStack Community: tests/aws/services/acm/test_acm.py::TestACM::test_domain_validation HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_import_certificate LocalStack Community: tests/aws/services/acm/test_acm.py::TestACM::test_import_certificate HTTP Status Code: 200 AWS validated Snapshot Tested

ImportCertificate

Parameters: Certificate, CertificateChain, PrivateKey
  • LocalStack Pro
    • test_cloudflare_alias_with_s3_backend LocalStack Pro: tests/aws/services/cloudfront/test_cloudfront.py::TestCloudFront::test_cloudflare_alias_with_s3_backend HTTP Status Code: 200 AWS validated
    • test_cloudflare_cname_reuse LocalStack Pro: tests/aws/services/cloudfront/test_cloudfront.py::TestCloudFront::test_cloudflare_cname_reuse HTTP Status Code: 200 AWS validated Snapshot Tested
Parameters: Certificate, PrivateKey
  • LocalStack Community
    • test_import_certificate LocalStack Community: tests/aws/services/acm/test_acm.py::TestACM::test_import_certificate HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_import_certificate LocalStack Community: tests/aws/services/acm/test_acm.py::TestACM::test_import_certificate HTTP Status Code: 400 (ValidationException) AWS validated Snapshot Tested

ListCertificates

Parameters: - (without any parameters)
  • LocalStack Community
    • test_certificate_for_subdomain_wildcard LocalStack Community: tests/aws/services/acm/test_acm.py::TestACM::test_certificate_for_subdomain_wildcard HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_create_certificate_for_multiple_alternative_domains LocalStack Community: tests/aws/services/acm/test_acm.py::TestACM::test_create_certificate_for_multiple_alternative_domains HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_cfn_acm_certificate LocalStack Community: tests/aws/services/cloudformation/resources/test_acm.py::test_cfn_acm_certificate HTTP Status Code: 200
    • test_functions_in_output_export_name LocalStack Community: tests/aws/services/cloudformation/resources/test_legacy.py::TestCloudFormation::test_functions_in_output_export_name HTTP Status Code: 200
    • test_account_id_namespacing_for_moto_backends LocalStack Community: tests/aws/test_multi_accounts.py::TestMultiAccounts::test_account_id_namespacing_for_moto_backends HTTP Status Code: 200
  • LocalStack Pro
    • test_enforce_policy_acm LocalStack Pro: tests/aws/services/iam/test_iam_enforcement.py::TestIAMEnforcementIdentityBasedPolicies::test_enforce_policy_acm HTTP Status Code: 200
    • test_enforce_policy_acm LocalStack Pro: tests/aws/services/iam/test_iam_enforcement.py::TestIAMEnforcementIdentityBasedPolicies::test_enforce_policy_acm HTTP Status Code: 400 (AccessDeniedException)

RequestCertificate

Parameters: DomainName
  • LocalStack Community
    • test_boto_wait_for_certificate_validation LocalStack Community: tests/aws/services/acm/test_acm.py::TestACM::test_boto_wait_for_certificate_validation HTTP Status Code: 200
    • test_domain_validation LocalStack Community: tests/aws/services/acm/test_acm.py::TestACM::test_domain_validation HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_functions_in_output_export_name LocalStack Community: tests/aws/services/cloudformation/resources/test_legacy.py::TestCloudFormation::test_functions_in_output_export_name HTTP Status Code: 200
    • test_account_id_namespacing_for_moto_backends LocalStack Community: tests/aws/test_multi_accounts.py::TestMultiAccounts::test_account_id_namespacing_for_moto_backends HTTP Status Code: 200
  • LocalStack Pro
    • test_associate_api LocalStack Pro: tests/aws/services/appsync/test_appsync.py::TestAppSyncCrud::test_associate_api HTTP Status Code: 200
    • test_create_domain_name LocalStack Pro: tests/aws/services/appsync/test_appsync.py::TestAppSyncCrud::test_create_domain_name HTTP Status Code: 200
    • test_disassociate_api LocalStack Pro: tests/aws/services/appsync/test_appsync.py::TestAppSyncCrud::test_disassociate_api HTTP Status Code: 200
    • test_get_api_association LocalStack Pro: tests/aws/services/appsync/test_appsync.py::TestAppSyncCrud::test_get_api_association HTTP Status Code: 200
    • test_redirect_listener LocalStack Pro: tests/aws/services/elb/test_elb.py::TestELB::test_redirect_listener HTTP Status Code: 200 AWS validated Snapshot Tested
Parameters: DomainName, DomainValidationOptions, ValidationMethod
  • LocalStack Community
    • test_cfn_acm_certificate LocalStack Community: tests/aws/services/cloudformation/resources/test_acm.py::test_cfn_acm_certificate HTTP Status Code: 200
Parameters: DomainName, IdempotencyToken, ValidationMethod
  • LocalStack Pro
    • test_custom_domains[--<random>.example.com-1.0] LocalStack Pro: tests/aws/services/apigateway/test_http_apis.py::TestHttpApis::test_custom_domains[--<random>.example.com-1.0] HTTP Status Code: 200
    • test_custom_domains[--<random>.example.com-2.0] LocalStack Pro: tests/aws/services/apigateway/test_http_apis.py::TestHttpApis::test_custom_domains[--<random>.example.com-2.0] HTTP Status Code: 200
    • test_custom_domains[--<random>.localhost-1.0] LocalStack Pro: tests/aws/services/apigateway/test_http_apis.py::TestHttpApis::test_custom_domains[--<random>.localhost-1.0] HTTP Status Code: 200
    • test_custom_domains[--<random>.localhost-2.0] LocalStack Pro: tests/aws/services/apigateway/test_http_apis.py::TestHttpApis::test_custom_domains[--<random>.localhost-2.0] HTTP Status Code: 200
    • test_custom_domains[--<random>.localhost.localstack.cloud-1.0] LocalStack Pro: tests/aws/services/apigateway/test_http_apis.py::TestHttpApis::test_custom_domains[--<random>.localhost.localstack.cloud-1.0] HTTP Status Code: 200
    • test_custom_domains[--<random>.localhost.localstack.cloud-2.0] LocalStack Pro: tests/aws/services/apigateway/test_http_apis.py::TestHttpApis::test_custom_domains[--<random>.localhost.localstack.cloud-2.0] HTTP Status Code: 200
    • test_custom_domains[-base1-<random>.example.com-1.0] LocalStack Pro: tests/aws/services/apigateway/test_http_apis.py::TestHttpApis::test_custom_domains[-base1-<random>.example.com-1.0] HTTP Status Code: 200
    • test_custom_domains[-base1-<random>.example.com-2.0] LocalStack Pro: tests/aws/services/apigateway/test_http_apis.py::TestHttpApis::test_custom_domains[-base1-<random>.example.com-2.0] HTTP Status Code: 200
    • test_custom_domains[-base1-<random>.localhost-1.0] LocalStack Pro: tests/aws/services/apigateway/test_http_apis.py::TestHttpApis::test_custom_domains[-base1-<random>.localhost-1.0] HTTP Status Code: 200
    • test_custom_domains[-base1-<random>.localhost-2.0] LocalStack Pro: tests/aws/services/apigateway/test_http_apis.py::TestHttpApis::test_custom_domains[-base1-<random>.localhost-2.0] HTTP Status Code: 200
    • test_custom_domains[-base1-<random>.localhost.localstack.cloud-1.0] LocalStack Pro: tests/aws/services/apigateway/test_http_apis.py::TestHttpApis::test_custom_domains[-base1-<random>.localhost.localstack.cloud-1.0] HTTP Status Code: 200
    • test_custom_domains[-base1-<random>.localhost.localstack.cloud-2.0] LocalStack Pro: tests/aws/services/apigateway/test_http_apis.py::TestHttpApis::test_custom_domains[-base1-<random>.localhost.localstack.cloud-2.0] HTTP Status Code: 200
    • test_custom_domains[stage1--<random>.example.com-1.0] LocalStack Pro: tests/aws/services/apigateway/test_http_apis.py::TestHttpApis::test_custom_domains[stage1--<random>.example.com-1.0] HTTP Status Code: 200
    • test_custom_domains[stage1--<random>.example.com-2.0] LocalStack Pro: tests/aws/services/apigateway/test_http_apis.py::TestHttpApis::test_custom_domains[stage1--<random>.example.com-2.0] HTTP Status Code: 200
    • test_custom_domains[stage1--<random>.localhost-1.0] LocalStack Pro: tests/aws/services/apigateway/test_http_apis.py::TestHttpApis::test_custom_domains[stage1--<random>.localhost-1.0] HTTP Status Code: 200
    • test_custom_domains[stage1--<random>.localhost-2.0] LocalStack Pro: tests/aws/services/apigateway/test_http_apis.py::TestHttpApis::test_custom_domains[stage1--<random>.localhost-2.0] HTTP Status Code: 200
    • test_custom_domains[stage1--<random>.localhost.localstack.cloud-1.0] LocalStack Pro: tests/aws/services/apigateway/test_http_apis.py::TestHttpApis::test_custom_domains[stage1--<random>.localhost.localstack.cloud-1.0] HTTP Status Code: 200
    • test_custom_domains[stage1--<random>.localhost.localstack.cloud-2.0] LocalStack Pro: tests/aws/services/apigateway/test_http_apis.py::TestHttpApis::test_custom_domains[stage1--<random>.localhost.localstack.cloud-2.0] HTTP Status Code: 200
    • test_custom_domains[stage1-base1-<random>.example.com-1.0] LocalStack Pro: tests/aws/services/apigateway/test_http_apis.py::TestHttpApis::test_custom_domains[stage1-base1-<random>.example.com-1.0] HTTP Status Code: 200
    • test_custom_domains[stage1-base1-<random>.example.com-2.0] LocalStack Pro: tests/aws/services/apigateway/test_http_apis.py::TestHttpApis::test_custom_domains[stage1-base1-<random>.example.com-2.0] HTTP Status Code: 200
    • test_custom_domains[stage1-base1-<random>.localhost-1.0] LocalStack Pro: tests/aws/services/apigateway/test_http_apis.py::TestHttpApis::test_custom_domains[stage1-base1-<random>.localhost-1.0] HTTP Status Code: 200
    • test_custom_domains[stage1-base1-<random>.localhost-2.0] LocalStack Pro: tests/aws/services/apigateway/test_http_apis.py::TestHttpApis::test_custom_domains[stage1-base1-<random>.localhost-2.0] HTTP Status Code: 200
    • test_custom_domains[stage1-base1-<random>.localhost.localstack.cloud-1.0] LocalStack Pro: tests/aws/services/apigateway/test_http_apis.py::TestHttpApis::test_custom_domains[stage1-base1-<random>.localhost.localstack.cloud-1.0] HTTP Status Code: 200
    • test_custom_domains[stage1-base1-<random>.localhost.localstack.cloud-2.0] LocalStack Pro: tests/aws/services/apigateway/test_http_apis.py::TestHttpApis::test_custom_domains[stage1-base1-<random>.localhost.localstack.cloud-2.0] HTTP Status Code: 200
Parameters: DomainName, SubjectAlternativeNames
  • LocalStack Community
    • test_create_certificate_for_multiple_alternative_domains LocalStack Community: tests/aws/services/acm/test_acm.py::TestACM::test_create_certificate_for_multiple_alternative_domains HTTP Status Code: 200 AWS validated Snapshot Tested
Parameters: DomainName, ValidationMethod
  • LocalStack Community
    • test_certificate_for_subdomain_wildcard LocalStack Community: tests/aws/services/acm/test_acm.py::TestACM::test_certificate_for_subdomain_wildcard HTTP Status Code: 200 AWS validated Snapshot Tested
  • LocalStack Pro
    • test_domain_name_attributes LocalStack Pro: tests/aws/services/cloudformation/resources/test_apigatewayv2.py::TestApiGwV2Apis::test_domain_name_attributes HTTP Status Code: 200 AWS validated Snapshot Tested


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