in cpp/example_code/acm/acm_basic_operations.cpp [1198:1461]
int main(int argc, char* argv[])
{
const char* PROGRAM_NAME = "run_acm_basic_operations";
if (argc == 1 || (strcmp(argv[1], "--help") == 0))
{
PrintUsage(PROGRAM_NAME);
return 1;
}
Aws::SDKOptions options;
Aws::InitAPI(options);
{
if (strcmp(argv[1], "--add-tag") == 0)
{
if (argc != 6)
{
std::cout << "Usage: " << PROGRAM_NAME << " --add-tag <certificate ARN> <tag key> <tag value> <region>" << std::endl;
std::cout << "Example: " << PROGRAM_NAME <<
" --add-tag arn:aws:acm:us-east-1:111111111111:certificate/62a108dc-0b56-49a9-a258-dc022EXAMPLE my-key my-value us-east-1" << std::endl;
return 1;
}
if (!AwsDoc::ACM::AddTagToCertificate(
argv[2], // For example, "arn:aws:acm:us-east-1:111111111111:certificate/62a108dc-0b56-49a9-a258-dc022EXAMPLE".
argv[3], // For example, "my-key".
argv[4], // For example, "my-value".
argv[5])) // For example, "us-east-1".
{
return 1;
}
}
else if (strcmp(argv[1], "--delete") == 0)
{
if (argc != 4)
{
std::cout << "Usage: " << PROGRAM_NAME << " --delete <certificate ARN> <region>" << std::endl;
std::cout << "Example: " << PROGRAM_NAME <<
" --delete arn:aws:acm:us-east-1:111111111111:certificate/d431cfe8-e627-45fb-9d6a-4410fEXAMPLE us-east-1" << std::endl;
return 1;
}
if (!AwsDoc::ACM::DeleteCertificate(
argv[2], // For example, "arn:aws:acm:us-east-1:111111111111:certificate/d431cfe8-e627-45fb-9d6a-4410fEXAMPLE".
argv[3])) // For example, "us-east-1".
{
return 1;
}
}
else if (strcmp(argv[1], "--describe") == 0)
{
if (argc != 4)
{
std::cout << "Usage: " << PROGRAM_NAME << " --describe <certificate ARN> <region>" << std::endl;
std::cout << "Example: " << PROGRAM_NAME <<
" --describe arn:aws:acm:us-east-1:111111111111:certificate/62a108dc-0b56-49a9-a258-dc022EXAMPLE us-east-1" << std::endl;
return 1;
}
if (!AwsDoc::ACM::DescribeCertificate(
argv[2], // For example, "arn:aws:acm:us-east-1:111111111111:certificate/62a108dc-0b56-49a9-a258-dc022EXAMPLE".
argv[3])) // For example, "us-east-1".
{
return 1;
}
}
else if (strcmp(argv[1], "--export") == 0)
{
if (argc != 4)
{
std::cout << "Usage: " << PROGRAM_NAME << " --export <certificate ARN> <region>" << std::endl;
std::cout << "Example: " << PROGRAM_NAME <<
" --export arn:aws:acm:us-east-1:111111111111:certificate/9301d141-c7f8-4b02-9fb7-78eb2EXAMPLE us-east-1" << std::endl;
return 1;
}
if (!AwsDoc::ACM::ExportCertificate(
argv[2], // For example, "arn:aws:acm:us-east-1:111111111111:certificate/9301d141-c7f8-4b02-9fb7-78eb2EXAMPLE".
argv[3])) // For example, "us-east-1".
{
return 1;
}
}
else if (strcmp(argv[1], "--get") == 0)
{
if (argc != 4)
{
std::cout << "Usage: " << PROGRAM_NAME << " --get <certificate ARN> <region>" << std::endl;
std::cout << "Example: " << PROGRAM_NAME <<
" --get arn:aws:acm:us-east-1:111111111111:certificate/9301d141-c7f8-4b02-9fb7-78eb2EXAMPLE us-east-1" << std::endl;
return 1;
}
if (!AwsDoc::ACM::GetCertificate(
argv[2], // For example, "arn:aws:acm:us-east-1:111111111111:certificate/9301d141-c7f8-4b02-9fb7-78eb2EXAMPLE".
argv[3])) // For example, "us-east-1".
{
return 1;
}
}
else if (strcmp(argv[1], "--import") == 0)
{
if (argc != 7)
{
std::cout << "Usage: " << PROGRAM_NAME << " --import <certificate file> <private key file> <certificate chain file> <region> [certificate ARN]" << std::endl;
std::cout << "Example: " << PROGRAM_NAME << " --import Certificate.txt decrypted_private_key.txt Certificate_chain.txt us-east-1 arn:aws:acm:us-east-1:111111111111:certificate/9301d141-c7f8-4b02-9fb7-78eb2EXAMPLE" << std::endl;
return 1;
}
if (!AwsDoc::ACM::ImportCertificate(
argv[2], // For example, "Certificate.txt".
argv[3], // For example, "decrypted_private_key.txt".
argv[4], // For example, "Certificate_chain.txt".
argv[5], // For example, "us-east-1".
argv[6])) // For example, "arn:aws:acm:us-east-1:111111111111:certificate/9301d141-c7f8-4b02-9fb7-78eb2EXAMPLE".
{
return 1;
}
}
else if (strcmp(argv[1], "--list") == 0)
{
if (argc != 3)
{
std::cout << "Usage: " << PROGRAM_NAME << " --list <region>" << std::endl;
std::cout << "Example: " << PROGRAM_NAME <<
" --list us-east-1" << std::endl;
return 1;
}
if (!AwsDoc::ACM::ListCertificates(
argv[2])) // For example, "us-east-1".
{
return 1;
}
}
else if (strcmp(argv[1], "--list-tags") == 0)
{
if (argc != 4)
{
std::cout << "Usage: " << PROGRAM_NAME << " --list-tags <certificate ARN> <region>" << std::endl;
std::cout << "Example: " << PROGRAM_NAME <<
" --list-tags arn:aws:acm:us-east-1:111111111111:certificate/9301d141-c7f8-4b02-9fb7-78eb2EXAMPLE us-east-1" << std::endl;
return 1;
}
if (!AwsDoc::ACM::ListTagsForCertificate(
argv[2], // For example, "arn:aws:acm:us-east-1:111111111111:certificate/9301d141-c7f8-4b02-9fb7-78eb2EXAMPLE".
argv[3])) // For example, "us-east-1".
{
return 1;
}
}
else if (strcmp(argv[1], "--remove-tag") == 0)
{
if (argc != 5)
{
std::cout << "Usage: " << PROGRAM_NAME << " --remove-tag <certificate ARN> <tag key> <region>" << std::endl;
std::cout << "Example: " << PROGRAM_NAME <<
" --remove-tag arn:aws:acm:us-east-1:111111111111:certificate/9301d141-c7f8-4b02-9fb7-78eb2EXAMPLE my-key us-east-1" << std::endl;
return 1;
}
if (!AwsDoc::ACM::RemoveTagFromCertificate(
argv[2], // For example, "arn:aws:acm:us-east-1:111111111111:certificate/9301d141-c7f8-4b02-9fb7-78eb2EXAMPLE".
argv[3], // For example, "my-key".
argv[4])) // For example, "us-east-1".
{
return 1;
}
}
else if (strcmp(argv[1], "--renew") == 0)
{
if (argc != 4)
{
std::cout << "Usage: " << PROGRAM_NAME << " --renew <certificate ARN> <region>" << std::endl;
std::cout << "Example: " << PROGRAM_NAME <<
" --renew arn:aws:acm:us-east-1:111111111111:certificate/9301d141-c7f8-4b02-9fb7-78eb2EXAMPLE us-east-1" << std::endl;
return 1;
}
if (!AwsDoc::ACM::RenewCertificate(
argv[2], // For example, "arn:aws:acm:us-east-1:111111111111:certificate/9301d141-c7f8-4b02-9fb7-78eb2EXAMPLE".
argv[3])) // For example, "us-east-1".
{
return 1;
}
}
else if (strcmp(argv[1], "--request") == 0)
{
if (argc != 5)
{
std::cout << "Usage: " << PROGRAM_NAME << " --request <domain name> <idempotency token> <region>" << std::endl;
std::cout << "Example: " << PROGRAM_NAME << " --request www.example.com 54321 us-east-1" << std::endl;
return 1;
}
if (!AwsDoc::ACM::RequestCertificate(
argv[2], // For example, "www.example.com".
argv[3], // For example, "54321".
argv[4])) // For example, "us-east-1".
{
return 1;
}
}
else if (strcmp(argv[1], "--resend") == 0)
{
if (argc != 6)
{
std::cout << "Usage: " << PROGRAM_NAME << " --resend <certificate ARN> <domain name> <validation domain name> <region>" << std::endl;
std::cout << "Example: " << PROGRAM_NAME << " --resend arn:aws:acm:us-east-1:111111111111:certificate/9301d141-c7f8-4b02-9fb7-78eb2EXAMPLE www.example.com www.example.com us-east-1" << std::endl;
return 1;
}
if (!AwsDoc::ACM::ResendValidationEmail(
argv[2], // For example, "arn:aws:acm:us-east-1:111111111111:certificate/9301d141-c7f8-4b02-9fb7-78eb2EXAMPLE".
argv[3], // For example, "www.example.com".
argv[4], // For example, "www.example.com".
argv[5])) // For example, "us-east-1".
{
return 1;
}
}
else if (strcmp(argv[1], "--update") == 0)
{
if (argc != 5)
{
std::cout << "Usage: " << PROGRAM_NAME << " --update <certificate ARN> <region> [logging-enabled | logging-disabled]" << std::endl;
std::cout << "Example: " << PROGRAM_NAME << " --update arn:aws:acm:us-east-1:111111111111:certificate/9301d141-c7f8-4b02-9fb7-78eb2EXAMPLE us-east-1 logging-enabled" << std::endl;
return 1;
}
if (!AwsDoc::ACM::UpdateCertificateOption(
argv[2], // For example, "arn:aws:acm:us-east-1:111111111111:certificate/9301d141-c7f8-4b02-9fb7-78eb2EXAMPLE".
argv[3], // For example, "us-east-1".
argv[4])) // For example, "logging-enabled".
{
return 1;
}
}
else
{
PrintUsage(PROGRAM_NAME);
return 1;
}
}
Aws::ShutdownAPI(options);
return 0;
}