Package: acmagent
ACMagent - automates ACM certificatesACM agents provides functionality to request and confirm ACM certificates using the CLI interfaceInstallation$ pip install acmagentConfigurationIn order to approve ACM certificates, create and configure acmagent IMAP credentials file. By defaultacmagentloads configuration.acmagentfile from the user’s home folder for example:/home/john.doe/.acmagent. However, you have an option to specify a custom path to the credentials file.# /home/john.doe/.acmagent

username: username@example.com
server: imap.example.com
password: mysecretpasswordUsageIssuing ACM certificatesThe simplest option to request ACM certificate is to specify--domain-nameand/or--validation-domainparameters.$ acmagent request-certificate --domain-name *.dev.example.com
12345678-1234-1234-1234-123456789012$ acmagent request-certificate --domain-name *.dev.example.com --validation-domain example.com
12345678-1234-1234-1234-123456789012Optionally, if you need to generate a certificate for multiple domain names you can provide the--alternative-namesparameter to specifyspace separatedalternative domain names.$ acmagent request-certificate --domain-name dev.example.com --validation-domain example.com --alternative-names  www.dev.example.com ftp.dev.example.com
12345678-1234-1234-1234-123456789012ACMAgent offers an option to specify JSON input file instead of typing them at the command line using--cli-input-jsonparameter.Generate CLI skeleton output$ acmagent request-certificate --generate-cli-skeleton &> certificate.json$ cat certificate.json
{
    "DomainName": "",
    "SubjectAlternativeNames": [],
    "ValidationDomain": ""
}Modify generated skeleton file using your preferred methodUsing--cli-input-jsonparameter specify path fo thecertificate.jsonfile$ acmagent request-certificate --cli-input-json file:./certificate.jsonOutputTherequest-certificateoutputs ACM certificate id, it’s the last part of the ARN arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012you will need that id for a certificate approval process.Approving ACM certificatesBefore approving ACM issued certificate, please ensure that the credentials file has been setup.For gmail and yahoo enable access for ‘less secure apps’ (https://support.google.com/accounts/answer/6010255?hl=en-GB&authuser=1)confirm-certificate$ acmagent confirm-certificate --help
usage: acmagent confirm-certificate [-h] --certificate-id CERTIFICATE_ID
                                [--wait WAIT] [--attempts ATTEMPTS]
                                [--debug] [--credentials CREDENTIALS]
optional arguments:
-h, --help                      show this help message and exit
--certificate-id CERTIFICATE_ID Certificate id
--wait WAIT                     Timeout in seconds between querying IMAP server
--attempts ATTEMPTS             Number of attempts to query IMAP server
--debug (boolean)               Send logging to standard output
--credentials CREDENTIALS       Explicitly provide IMAP credentials fileExamplesConfirming a certificate using the default settings:$ acmagent confirm-certificate --certificate-id 12345678-1234-1234-1234-123456789012However, for most scenarios the recommended approach to specify custom values for--waitand--attemptsparameters tailored for your IMAP server.$ acmagent confirm-certificate --wait 10 --attempts 6 --certificate-id 12345678-1234-1234-1234-123456789012In the situations when you can’t use the default IMAP credentials file provide the--credentialsparameter$ acmagent confirm-certificate --certificate-id 12345678-1234-1234-1234-123456789012 --credentials file:///var/lib/jenkins/.acmagent