Search code examples
pythonamazon-web-servicesaws-lambdaboto3aws-certificate-manager

ACM Describe Certificate and get values of DomainValidationOptions in Lambda Function


I am describing ACM certificate using ARN, But I am unable to export Values of DomainValidationOptions as shown in code below,

acm_describe = client_acm.describe_certificate(
CertificateArn=acm_arn
)

acm_name = acm_describe['Certificate'][0]['DomainValidationOptions']['ResourceRecord']['Name']
acm_type = acm_describe['Certificate'][0]['DomainValidationOptions']['ResourceRecord']['Type']
acm_value = acm_describe['Certificate'][0]['DomainValidationOptions']['ResourceRecord']['Value']

I am getting this error:

0: KeyError
Traceback (most recent call last):
  File "/var/task/lambda_function.py", line 194, in lambda_handler
    acm_name = acm_describe['Certificate'][0]['DomainValidationOptions']['ResourceRecord']['Name']
KeyError: 0

Please guide me how to export these values, I have to use these values for DNS validation in lambda function


Solution

  • Your [0] is in the wrong place. It should be:

    acm_name = acm_describe['Certificate']['DomainValidationOptions'][0]['ResourceRecord']['Name']