cdk-iam-floyd
Version:
AWS IAM policy statement generator with fluent interface for AWS CDK
757 lines • 75.6 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Acm = void 0;
const shared_1 = require("../../shared");
/**
* Statement provider for service [acm](https://docs.aws.amazon.com/service-authorization/latest/reference/list_acm.html).
*
* @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement
*/
class Acm extends shared_1.PolicyStatement {
/**
* Grants permission to add one or more tags to a certificate
*
* Access Level: Tagging, Write
*
* https://docs.aws.amazon.com/acm/latest/APIReference/API_AddTagsToCertificate.html
*/
toAddTagsToCertificate() {
return this.to('AddTagsToCertificate');
}
/**
* Grants permission to create an ACME domain validation
*
* Access Level: Write
*
* https://docs.aws.amazon.com/acm/latest/APIReference/API_CreateAcmeDomainValidation.html
*/
toCreateAcmeDomainValidation() {
return this.to('CreateAcmeDomainValidation');
}
/**
* Grants permission to create an ACME endpoint
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/acm/latest/APIReference/API_CreateAcmeEndpoint.html
*/
toCreateAcmeEndpoint() {
return this.to('CreateAcmeEndpoint');
}
/**
* Grants permission to create an ACME external account binding
*
* Access Level: Write
*
* https://docs.aws.amazon.com/acm/latest/APIReference/API_CreateAcmeExternalAccountBinding.html
*/
toCreateAcmeExternalAccountBinding() {
return this.to('CreateAcmeExternalAccountBinding');
}
/**
* Grants permission to delete an ACME domain validation
*
* Access Level: Write
*
* https://docs.aws.amazon.com/acm/latest/APIReference/API_DeleteAcmeDomainValidation.html
*/
toDeleteAcmeDomainValidation() {
return this.to('DeleteAcmeDomainValidation');
}
/**
* Grants permission to delete an ACME endpoint
*
* Access Level: Write
*
* https://docs.aws.amazon.com/acm/latest/APIReference/API_DeleteAcmeEndpoint.html
*/
toDeleteAcmeEndpoint() {
return this.to('DeleteAcmeEndpoint');
}
/**
* Grants permission to delete an ACME external account binding
*
* Access Level: Write
*
* https://docs.aws.amazon.com/acm/latest/APIReference/API_DeleteAcmeExternalAccountBinding.html
*/
toDeleteAcmeExternalAccountBinding() {
return this.to('DeleteAcmeExternalAccountBinding');
}
/**
* Grants permission to delete a certificate and its associated private key
*
* Access Level: Write
*
* https://docs.aws.amazon.com/acm/latest/APIReference/API_DeleteCertificate.html
*/
toDeleteCertificate() {
return this.to('DeleteCertificate');
}
/**
* Grants permission to retrieve details of an ACME account
*
* Access Level: Read
*
* https://docs.aws.amazon.com/acm/latest/APIReference/API_DescribeAcmeAccount.html
*/
toDescribeAcmeAccount() {
return this.to('DescribeAcmeAccount');
}
/**
* Grants permission to retrieve details of an ACME domain validation
*
* Access Level: Read
*
* https://docs.aws.amazon.com/acm/latest/APIReference/API_DescribeAcmeDomainValidation.html
*/
toDescribeAcmeDomainValidation() {
return this.to('DescribeAcmeDomainValidation');
}
/**
* Grants permission to retrieve details of an ACME endpoint
*
* Access Level: Read
*
* https://docs.aws.amazon.com/acm/latest/APIReference/API_DescribeAcmeEndpoint.html
*/
toDescribeAcmeEndpoint() {
return this.to('DescribeAcmeEndpoint');
}
/**
* Grants permission to retrieve details of an ACME external account binding
*
* Access Level: Read
*
* https://docs.aws.amazon.com/acm/latest/APIReference/API_DescribeAcmeExternalAccountBinding.html
*/
toDescribeAcmeExternalAccountBinding() {
return this.to('DescribeAcmeExternalAccountBinding');
}
/**
* Grants permission to retreive a certificates and its metadata
*
* Access Level: Read
*
* https://docs.aws.amazon.com/acm/latest/APIReference/API_DescribeCertificate.html
*/
toDescribeCertificate() {
return this.to('DescribeCertificate');
}
/**
* Grants permission to export an exportable certificate for use anywhere
*
* Access Level: Read
*
* https://docs.aws.amazon.com/acm/latest/APIReference/API_ExportCertificate.html
*/
toExportCertificate() {
return this.to('ExportCertificate');
}
/**
* Grants permission to retrieve account level configuration from AWS Certificate Manager
*
* Access Level: Read
*
* https://docs.aws.amazon.com/acm/latest/APIReference/API_GetAccountConfiguration.html
*/
toGetAccountConfiguration() {
return this.to('GetAccountConfiguration');
}
/**
* Grants permission to retrieve credentials for an ACME external account binding
*
* Access Level: Read
*
* https://docs.aws.amazon.com/acm/latest/APIReference/API_GetAcmeExternalAccountBindingCredentials.html
*/
toGetAcmeExternalAccountBindingCredentials() {
return this.to('GetAcmeExternalAccountBindingCredentials');
}
/**
* Grants permission to retrieve a certificate and certificate chain for a certificate ARN
*
* Access Level: Read
*
* https://docs.aws.amazon.com/acm/latest/APIReference/API_GetCertificate.html
*/
toGetCertificate() {
return this.to('GetCertificate');
}
/**
* Grants permission to import a 3rd party certificate into AWS Certificate Manager (ACM)
*
* Access Level: Write
*
* https://docs.aws.amazon.com/acm/latest/APIReference/API_ImportCertificate.html
*/
toImportCertificate() {
return this.to('ImportCertificate');
}
/**
* Grants permission to list ACME accounts
*
* Access Level: List
*
* https://docs.aws.amazon.com/acm/latest/APIReference/API_ListAcmeAccounts.html
*/
toListAcmeAccounts() {
return this.to('ListAcmeAccounts');
}
/**
* Grants permission to list ACME domain validations
*
* Access Level: List
*
* https://docs.aws.amazon.com/acm/latest/APIReference/API_ListAcmeDomainValidations.html
*/
toListAcmeDomainValidations() {
return this.to('ListAcmeDomainValidations');
}
/**
* Grants permission to list ACME endpoints
*
* Access Level: List
*
* https://docs.aws.amazon.com/acm/latest/APIReference/API_ListAcmeEndpoints.html
*/
toListAcmeEndpoints() {
return this.to('ListAcmeEndpoints');
}
/**
* Grants permission to list ACME external account bindings
*
* Access Level: List
*
* https://docs.aws.amazon.com/acm/latest/APIReference/API_ListAcmeExternalAccountBindings.html
*/
toListAcmeExternalAccountBindings() {
return this.to('ListAcmeExternalAccountBindings');
}
/**
* Grants permission to retrieve a list of certificates for specific certificate parameters
*
* Access Level: List
*
* https://docs.aws.amazon.com/acm/latest/APIReference/API_ListCertificates.html
*/
toListCertificates() {
return this.to('ListCertificates');
}
/**
* Grants permission to lists the tags that have been associated with a certificate
*
* Access Level: Read
*
* https://docs.aws.amazon.com/acm/latest/APIReference/API_ListTagsForCertificate.html
*/
toListTagsForCertificate() {
return this.to('ListTagsForCertificate');
}
/**
* Grants permission to list tags for a resource
*
* Access Level: Read
*
* https://docs.aws.amazon.com/acm/latest/APIReference/API_ListTagsForResource.html
*/
toListTagsForResource() {
return this.to('ListTagsForResource');
}
/**
* Grants permission to update account level configuration in AWS Certificate Manager
*
* Access Level: Write
*
* https://docs.aws.amazon.com/acm/latest/APIReference/API_PutAccountConfiguration.html
*/
toPutAccountConfiguration() {
return this.to('PutAccountConfiguration');
}
/**
* Grants permission to remove one or more tags from a certificate
*
* Access Level: Tagging, Write
*
* https://docs.aws.amazon.com/acm/latest/APIReference/API_RemoveTagsFromCertificate.html
*/
toRemoveTagsFromCertificate() {
return this.to('RemoveTagsFromCertificate');
}
/**
* Grants permission to renew an eligible private certificate
*
* Access Level: Write
*
* https://docs.aws.amazon.com/acm/latest/APIReference/API_RenewCertificate.html
*/
toRenewCertificate() {
return this.to('RenewCertificate');
}
/**
* Grants permission to requests a public or private certificate
*
* Access Level: Write
*
* Possible conditions:
* - .ifCertificateAuthority()
* - .ifCertificateKeyPairOrigin()
* - .ifCertificateTransparencyLogging()
* - .ifDomainNames()
* - .ifExport()
* - .ifKeyAlgorithm()
* - .ifValidationMethod()
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/acm/latest/APIReference/API_RequestCertificate.html
*/
toRequestCertificate() {
return this.to('RequestCertificate');
}
/**
* Grants permission to resend an email to request domain ownership validation
*
* Access Level: Write
*
* https://docs.aws.amazon.com/acm/latest/APIReference/API_ResendValidationEmail.html
*/
toResendValidationEmail() {
return this.to('ResendValidationEmail');
}
/**
* Grants permission to revoke an ACME account
*
* Access Level: Write
*
* https://docs.aws.amazon.com/acm/latest/APIReference/API_RevokeAcmeAccount.html
*/
toRevokeAcmeAccount() {
return this.to('RevokeAcmeAccount');
}
/**
* Grants permission to revoke an ACME external account binding
*
* Access Level: Write
*
* https://docs.aws.amazon.com/acm/latest/APIReference/API_RevokeAcmeExternalAccountBinding.html
*/
toRevokeAcmeExternalAccountBinding() {
return this.to('RevokeAcmeExternalAccountBinding');
}
/**
* Grants permission to revoke an exportable certificate
*
* Access Level: Write
*
* https://docs.aws.amazon.com/acm/latest/APIReference/API_RevokeCertificate.html
*/
toRevokeCertificate() {
return this.to('RevokeCertificate');
}
/**
* Grants permission to retrieve a list of certificates matching search criteria
*
* Access Level: List
*
* https://docs.aws.amazon.com/acm/latest/APIReference/API_SearchCertificates.html
*/
toSearchCertificates() {
return this.to('SearchCertificates');
}
/**
* Grants permission to add tags to a resource
*
* Access Level: Tagging, Write
*
* https://docs.aws.amazon.com/acm/latest/APIReference/API_TagResource.html
*/
toTagResource() {
return this.to('TagResource');
}
/**
* Grants permission to remove tags from a resource
*
* Access Level: Tagging, Write
*
* https://docs.aws.amazon.com/acm/latest/APIReference/API_UntagResource.html
*/
toUntagResource() {
return this.to('UntagResource');
}
/**
* Grants permission to update an ACME domain validation
*
* Access Level: Write
*
* https://docs.aws.amazon.com/acm/latest/APIReference/API_UpdateAcmeDomainValidation.html
*/
toUpdateAcmeDomainValidation() {
return this.to('UpdateAcmeDomainValidation');
}
/**
* Grants permission to update an ACME endpoint
*
* Access Level: Write
*
* https://docs.aws.amazon.com/acm/latest/APIReference/API_UpdateAcmeEndpoint.html
*/
toUpdateAcmeEndpoint() {
return this.to('UpdateAcmeEndpoint');
}
/**
* Grants permission to update a certificate
*
* Access Level: Write
*
* https://docs.aws.amazon.com/acm/latest/APIReference/API_UpdateCertificate.html
*/
toUpdateCertificate() {
return this.to('UpdateCertificate');
}
/**
* Grants permission to update a certificate configuration. Use this to specify whether to opt in to or out of certificate transparency logging
*
* Access Level: Write
*
* https://docs.aws.amazon.com/acm/latest/APIReference/API_UpdateCertificateOptions.html
*/
toUpdateCertificateOptions() {
return this.to('UpdateCertificateOptions');
}
/**
* Adds a resource of type acme-domain-validation to the statement
*
* https://docs.aws.amazon.com/acm/latest/userguide/acm-acme-domain-validation.html
*
* @param acmeEndpointId - Identifier for the acmeEndpointId.
* @param acmeDomainValidationId - Identifier for the acmeDomainValidationId.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsResourceTag()
*/
onAcmeDomainValidation(acmeEndpointId, acmeDomainValidationId, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:acm:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:acme-endpoint/${acmeEndpointId}/acme-domain-validation/${acmeDomainValidationId}`);
}
/**
* Adds a resource of type acme-endpoint to the statement
*
* https://docs.aws.amazon.com/acm/latest/userguide/acm-acme-endpoints.html
*
* @param acmeEndpointId - Identifier for the acmeEndpointId.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsResourceTag()
*/
onAcmeEndpoint(acmeEndpointId, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:acm:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:acme-endpoint/${acmeEndpointId}`);
}
/**
* Adds a resource of type acme-external-account-binding to the statement
*
* https://docs.aws.amazon.com/acm/latest/userguide/acm-acme-eab.html
*
* @param acmeEndpointId - Identifier for the acmeEndpointId.
* @param externalAccountBindingId - Identifier for the externalAccountBindingId.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsResourceTag()
*/
onAcmeExternalAccountBinding(acmeEndpointId, externalAccountBindingId, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:acm:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:acme-endpoint/${acmeEndpointId}/acme-external-account-binding/${externalAccountBindingId}`);
}
/**
* Adds a resource of type certificate to the statement
*
* https://docs.aws.amazon.com/acm/latest/userguide/acm-concepts.html#concept-acm-cert
*
* @param certificateId - Identifier for the certificateId.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsResourceTag()
*/
onCertificate(certificateId, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:acm:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:certificate/${certificateId}`);
}
/**
* Filters access by certificateAuthority in the request. Can be used to restrict which Certificate Authorites certificates can be issued from
*
* https://docs.aws.amazon.com/acm/latest/userguide/security-iam.html
*
* Applies to actions:
* - .toRequestCertificate()
*
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifCertificateAuthority(value, operator) {
return this.if(`CertificateAuthority`, value, operator ?? 'StringLike');
}
/**
* Filters access by certificateKeyPairOrigin in the request. Can be used to restrict which certificate provisioning paths are permitted
*
* https://docs.aws.amazon.com/acm/latest/userguide/security-iam.html
*
* Applies to actions:
* - .toAddTagsToCertificate()
* - .toDeleteCertificate()
* - .toRequestCertificate()
* - .toRevokeCertificate()
* - .toUpdateCertificate()
*
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifCertificateKeyPairOrigin(value, operator) {
return this.if(`CertificateKeyPairOrigin`, value, operator ?? 'StringLike');
}
/**
* Filters access by certificateTransparencyLogging option in the request. Default 'ENABLED' if no key is present in the request
*
* https://docs.aws.amazon.com/acm/latest/userguide/security-iam.html
*
* Applies to actions:
* - .toRequestCertificate()
*
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifCertificateTransparencyLogging(value, operator) {
return this.if(`CertificateTransparencyLogging`, value, operator ?? 'StringLike');
}
/**
* Filters access by domainNames in the request. This key can be used to restrict which domains can be in certificate requests
*
* https://docs.aws.amazon.com/acm/latest/userguide/security-iam.html
*
* Applies to actions:
* - .toExportCertificate()
* - .toRequestCertificate()
* - .toRevokeCertificate()
*
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifDomainNames(value, operator) {
return this.if(`DomainNames`, value, operator ?? 'StringLike');
}
/**
* Filters access by the export option in the request. Can be used to restrict creation of certificates that can be exported
*
* https://docs.aws.amazon.com/acm/latest/userguide/security-iam.html
*
* Applies to actions:
* - .toRequestCertificate()
*
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifExport(value, operator) {
return this.if(`Export`, value, operator ?? 'StringLike');
}
/**
* Filters access by keyAlgorithm in the request
*
* https://docs.aws.amazon.com/acm/latest/userguide/security-iam.html
*
* Applies to actions:
* - .toRequestCertificate()
*
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifKeyAlgorithm(value, operator) {
return this.if(`KeyAlgorithm`, value, operator ?? 'StringLike');
}
/**
* Filters access by validationMethod in the request. Default 'EMAIL' if no key is present in the request
*
* https://docs.aws.amazon.com/acm/latest/userguide/security-iam.html
*
* Applies to actions:
* - .toRequestCertificate()
*
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifValidationMethod(value, operator) {
return this.if(`ValidationMethod`, value, operator ?? 'StringLike');
}
/**
* Filters access by the presence of tag key-value pairs in the request
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag
*
* Applies to actions:
* - .toAddTagsToCertificate()
* - .toCreateAcmeDomainValidation()
* - .toCreateAcmeEndpoint()
* - .toCreateAcmeExternalAccountBinding()
* - .toImportCertificate()
* - .toRemoveTagsFromCertificate()
* - .toRequestCertificate()
* - .toTagResource()
*
* @param tagKey The tag key to check
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifAwsRequestTag(tagKey, value, operator) {
return this.if(`aws:RequestTag/${tagKey}`, value, operator ?? 'StringLike');
}
/**
* Filters access by tag key-value pairs attached to the resource
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag
*
* Applies to actions:
* - .toAddTagsToCertificate()
* - .toCreateAcmeDomainValidation()
* - .toCreateAcmeExternalAccountBinding()
* - .toDeleteAcmeDomainValidation()
* - .toDeleteAcmeEndpoint()
* - .toDeleteAcmeExternalAccountBinding()
* - .toDeleteCertificate()
* - .toDescribeAcmeAccount()
* - .toDescribeAcmeDomainValidation()
* - .toDescribeAcmeEndpoint()
* - .toDescribeAcmeExternalAccountBinding()
* - .toDescribeCertificate()
* - .toExportCertificate()
* - .toGetAcmeExternalAccountBindingCredentials()
* - .toGetCertificate()
* - .toImportCertificate()
* - .toListAcmeAccounts()
* - .toListAcmeDomainValidations()
* - .toListAcmeExternalAccountBindings()
* - .toListTagsForCertificate()
* - .toListTagsForResource()
* - .toRemoveTagsFromCertificate()
* - .toRenewCertificate()
* - .toResendValidationEmail()
* - .toRevokeAcmeAccount()
* - .toRevokeAcmeExternalAccountBinding()
* - .toRevokeCertificate()
* - .toTagResource()
* - .toUntagResource()
* - .toUpdateAcmeDomainValidation()
* - .toUpdateAcmeEndpoint()
* - .toUpdateCertificate()
* - .toUpdateCertificateOptions()
*
* Applies to resource types:
* - acme-domain-validation
* - acme-endpoint
* - acme-external-account-binding
* - certificate
*
* @param tagKey The tag key to check
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifAwsResourceTag(tagKey, value, operator) {
return this.if(`aws:ResourceTag/${tagKey}`, value, operator ?? 'StringLike');
}
/**
* Filters access by the presence of tag keys in the request
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys
*
* Applies to actions:
* - .toAddTagsToCertificate()
* - .toCreateAcmeDomainValidation()
* - .toCreateAcmeEndpoint()
* - .toCreateAcmeExternalAccountBinding()
* - .toImportCertificate()
* - .toRemoveTagsFromCertificate()
* - .toRequestCertificate()
* - .toTagResource()
* - .toUntagResource()
*
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifAwsTagKeys(value, operator) {
return this.if(`aws:TagKeys`, value, operator ?? 'StringLike');
}
/**
* Statement provider for service [acm](https://docs.aws.amazon.com/service-authorization/latest/reference/list_acm.html).
*
*/
constructor(props) {
super(props);
this.servicePrefix = 'acm';
this.accessLevelList = {
Tagging: [
'AddTagsToCertificate',
'RemoveTagsFromCertificate',
'TagResource',
'UntagResource'
],
Write: [
'AddTagsToCertificate',
'CreateAcmeDomainValidation',
'CreateAcmeEndpoint',
'CreateAcmeExternalAccountBinding',
'DeleteAcmeDomainValidation',
'DeleteAcmeEndpoint',
'DeleteAcmeExternalAccountBinding',
'DeleteCertificate',
'ImportCertificate',
'PutAccountConfiguration',
'RemoveTagsFromCertificate',
'RenewCertificate',
'RequestCertificate',
'ResendValidationEmail',
'RevokeAcmeAccount',
'RevokeAcmeExternalAccountBinding',
'RevokeCertificate',
'TagResource',
'UntagResource',
'UpdateAcmeDomainValidation',
'UpdateAcmeEndpoint',
'UpdateCertificate',
'UpdateCertificateOptions'
],
Read: [
'DescribeAcmeAccount',
'DescribeAcmeDomainValidation',
'DescribeAcmeEndpoint',
'DescribeAcmeExternalAccountBinding',
'DescribeCertificate',
'ExportCertificate',
'GetAccountConfiguration',
'GetAcmeExternalAccountBindingCredentials',
'GetCertificate',
'ListTagsForCertificate',
'ListTagsForResource'
],
List: [
'ListAcmeAccounts',
'ListAcmeDomainValidations',
'ListAcmeEndpoints',
'ListAcmeExternalAccountBindings',
'ListCertificates',
'SearchCertificates'
]
};
}
}
exports.Acm = Acm;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYWNtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHlDQUF5RDtBQUd6RDs7OztHQUlHO0FBQ0gsTUFBYSxHQUFJLFNBQVEsd0JBQWU7SUFHdEM7Ozs7OztPQU1HO0lBQ0ksc0JBQXNCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSw0QkFBNEI7UUFDakMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSSxvQkFBb0I7UUFDekIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLGtDQUFrQztRQUN2QyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsa0NBQWtDLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksNEJBQTRCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxvQkFBb0I7UUFDekIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLGtDQUFrQztRQUN2QyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsa0NBQWtDLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksbUJBQW1CO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxxQkFBcUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHFCQUFx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QXNCO2dCQUN0Qiw0QkFBNEI7Z0JBQzVCLG9CQUFvQjtnQkFDcEIsa0NBQWtDO2dCQUNsQyw0QkFBNEI7Z0JBQzVCLG9CQUFvQjtnQkFDcEIsa0NBQWtDO2dCQUNsQyxtQkFBbUI7Z0JBQ25CLG1CQUFtQjtnQkFDbkIseUJBQXlCO2dCQUN6QiwyQkFBMkI7Z0JBQzNCLGtCQUFrQjtnQkFDbEIsb0JBQW9CO2dCQUNwQix1QkFBdUI7Z0JBQ3ZCLG1CQUFtQjtnQkFDbkIsa0NBQWtDO2dCQUNsQyxtQkFBbUI7Z0JBQ25CLGFBQWE7Z0JBQ2IsZUFBZTtnQkFDZiw0QkFBNEI7Z0JBQzVCLG9CQUFvQjtnQkFDcEIsbUJBQW1CO2dCQUNuQiwwQkFBMEI7YUFDM0I7WUFDRCxJQUFJLEVBQUU7Z0JBQ0oscUJBQXFCO2dCQUNyQiw4QkFBOEI7Z0JBQzlCLHNCQUFzQjtnQkFDdEIsb0NBQW9DO2dCQUNwQyxxQkFBcUI7Z0JBQ3JCLG1CQUFtQjtnQkFDbkIseUJBQXlCO2dCQUN6QiwwQ0FBMEM7Z0JBQzFDLGdCQUFnQjtnQkFDaEIsd0JBQXdCO2dCQUN4QixxQkFBcUI7YUFDdEI7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osa0JBQWtCO2dCQUNsQiwyQkFBMkI7Z0JBQzNCLG1CQUFtQjtnQkFDbkIsaUNBQWlDO2dCQUNqQyxrQkFBa0I7Z0JBQ2xCLG9CQUFvQjthQUNyQjtTQUNGLENBQUM7SUFpU0YsQ0FBQztDQUNGO0FBanlCRCxrQkFpeUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWNjZXNzTGV2ZWxMaXN0IH0gZnJvbSAnLi4vLi4vc2hhcmVkL2FjY2Vzcy1sZXZlbCc7XG5pbXBvcnQgeyBQb2xpY3lTdGF0ZW1lbnQsIE9wZXJhdG9yIH0gZnJvbSAnLi4vLi4vc2hhcmVkJztcbmltcG9ydCB7IGF3c19pYW0gYXMgaWFtIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5cbi8qKlxuICogU3RhdGVtZW50IHByb3ZpZGVyIGZvciBzZXJ2aWNlIFthY21dKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zZXJ2aWNlLWF1dGhvcml6YXRpb24vbGF0ZXN0L3JlZmVyZW5jZS9saXN0X2FjbS5odG1sKS5cbiAqXG4gKiBAcGFyYW0gc2lkIFtTSURdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9yZWZlcmVuY2VfcG9saWNpZXNfZWxlbWVudHNfc2lkLmh0bWwpIG9mIHRoZSBzdGF0ZW1lbnRcbiAqL1xuZXhwb3J0IGNsYXNzIEFjbSBleHRlbmRzIFBvbGljeVN0YXRlbWVudCB7XG4gIHB1YmxpYyBzZXJ2aWNlUHJlZml4ID0gJ2FjbSc7XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGFkZCBvbmUgb3IgbW9yZSB0YWdzIHRvIGEgY2VydGlmaWNhdGVcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBUYWdnaW5nLCBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYWNtL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0FkZFRhZ3NUb0NlcnRpZmljYXRlLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0FkZFRhZ3NUb0NlcnRpZmljYXRlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdBZGRUYWdzVG9DZXJ0aWZpY2F0ZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBhbiBBQ01FIGRvbWFpbiB2YWxpZGF0aW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FjbS9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9DcmVhdGVBY21lRG9tYWluVmFsaWRhdGlvbi5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9DcmVhdGVBY21lRG9tYWluVmFsaWRhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQ3JlYXRlQWNtZURvbWFpblZhbGlkYXRpb24nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgYW4gQUNNRSBlbmRwb2ludFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmQXdzUmVxdWVzdFRhZygpXG4gICAqIC0gLmlmQXdzVGFnS2V5cygpXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hY20vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfQ3JlYXRlQWNtZUVuZHBvaW50Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0NyZWF0ZUFjbWVFbmRwb2ludCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQ3JlYXRlQWNtZUVuZHBvaW50Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIGFuIEFDTUUgZXh0ZXJuYWwgYWNjb3VudCBiaW5kaW5nXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FjbS9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9DcmVhdGVBY21lRXh0ZXJuYWxBY2NvdW50QmluZGluZy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9DcmVhdGVBY21lRXh0ZXJuYWxBY2NvdW50QmluZGluZygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQ3JlYXRlQWNtZUV4dGVybmFsQWNjb3VudEJpbmRpbmcnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgYW4gQUNNRSBkb21haW4gdmFsaWRhdGlvblxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hY20vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVsZXRlQWNtZURvbWFpblZhbGlkYXRpb24uaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVsZXRlQWNtZURvbWFpblZhbGlkYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0RlbGV0ZUFjbWVEb21haW5WYWxpZGF0aW9uJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIGFuIEFDTUUgZW5kcG9pbnRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYWNtL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0RlbGV0ZUFjbWVFbmRwb2ludC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZWxldGVBY21lRW5kcG9pbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0RlbGV0ZUFjbWVFbmRwb2ludCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBhbiBBQ01FIGV4dGVybmFsIGFjY291bnQgYmluZGluZ1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hY20vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVsZXRlQWNtZUV4dGVybmFsQWNjb3VudEJpbmRpbmcuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVsZXRlQWNtZUV4dGVybmFsQWNjb3VudEJpbmRpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0RlbGV0ZUFjbWVFeHRlcm5hbEFjY291bnRCaW5kaW5nJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIGEgY2VydGlmaWNhdGUgYW5kIGl0cyBhc3NvY2lhdGVkIHByaXZhdGUga2V5XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FjbS9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZWxldGVDZXJ0aWZpY2F0ZS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZWxldGVDZXJ0aWZpY2F0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVsZXRlQ2VydGlmaWNhdGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXRyaWV2ZSBkZXRhaWxzIG9mIGFuIEFDTUUgYWNjb3VudFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FjbS9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZXNjcmliZUFjbWVBY2NvdW50Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0Rlc2NyaWJlQWNtZUFjY291bnQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0Rlc2NyaWJlQWNtZUFjY291bnQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXRyaWV2ZSBkZXRhaWxzIG9mIGFuIEFDTUUgZG9tYWluIHZhbGlkYXRpb25cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hY20vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVzY3JpYmVBY21lRG9tYWluVmFsaWRhdGlvbi5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZXNjcmliZUFjbWVEb21haW5WYWxpZGF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZXNjcmliZUFjbWVEb21haW5WYWxpZGF0aW9uJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0cmlldmUgZGV0YWlscyBvZiBhbiBBQ01FIGVuZHBvaW50XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYWNtL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0Rlc2NyaWJlQWNtZUVuZHBvaW50Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0Rlc2NyaWJlQWNtZUVuZHBvaW50KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZXNjcmliZUFjbWVFbmRwb2ludCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHJpZXZlIGRldGFpbHMgb2YgYW4gQUNNRSBleHRlcm5hbCBhY2NvdW50IGJpbmRpbmdcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hY20vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVzY3JpYmVBY21lRXh0ZXJuYWxBY2NvdW50QmluZGluZy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZXNjcmliZUFjbWVFeHRlcm5hbEFjY291bnRCaW5kaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZXNjcmliZUFjbWVFeHRlcm5hbEFjY291bnRCaW5kaW5nJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0cmVpdmUgYSBjZXJ0aWZpY2F0ZXMgYW5kIGl0cyBtZXRhZGF0YVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FjbS9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZXNjcmliZUNlcnRpZmljYXRlLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0Rlc2NyaWJlQ2VydGlmaWNhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0Rlc2NyaWJlQ2VydGlmaWNhdGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBleHBvcnQgYW4gZXhwb3J0YWJsZSBjZXJ0aWZpY2F0ZSBmb3IgdXNlIGFueXdoZXJlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYWNtL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0V4cG9ydENlcnRpZmljYXRlLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0V4cG9ydENlcnRpZmljYXRlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdFeHBvcnRDZXJ0aWZpY2F0ZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHJpZXZlIGFjY291bnQgbGV2ZWwgY29uZmlndXJhdGlvbiBmcm9tIEFXUyBDZXJ0aWZpY2F0ZSBNYW5hZ2VyXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYWNtL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0dldEFjY291bnRDb25maWd1cmF0aW9uLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0dldEFjY291bnRDb25maWd1cmF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdHZXRBY2NvdW50Q29uZmlndXJhdGlvbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHJpZXZlIGNyZWRlbnRpYWxzIGZvciBhbiBBQ01FIGV4dGVybmFsIGFjY291bnQgYmluZGluZ1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FjbS9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9HZXRBY21lRXh0ZXJuYWxBY2NvdW50QmluZGluZ0NyZWRlbnRpYWxzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0dldEFjbWVFeHRlcm5hbEFjY291bnRCaW5kaW5nQ3JlZGVudGlhbHMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0dldEFjbWVFeHRlcm5hbEFjY291bnRCaW5kaW5nQ3JlZGVudGlhbHMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXRyaWV2ZSBhIGNlcnRpZmljYXRlIGFuZCBjZXJ0aWZpY2F0ZSBjaGFpbiBmb3IgYSBjZXJ0aWZpY2F0ZSBBUk5cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hY20vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfR2V0Q2VydGlmaWNhdGUuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvR2V0Q2VydGlmaWNhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0dldENlcnRpZmljYXRlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gaW1wb3J0IGEgM3JkIHBhcnR5IGNlcnRpZmljYXRlIGludG8gQVdTIENlcnRpZmljYXRlIE1hbmFnZXIgKEFDTSlcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYWNtL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0ltcG9ydENlcnRpZmljYXRlLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0ltcG9ydENlcnRpZmljYXRlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdJbXBvcnRDZXJ0aWZpY2F0ZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGxpc3QgQUNNRSBhY2NvdW50c1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FjbS9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9MaXN0QWNtZUFjY291bnRzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RBY21lQWNjb3VudHMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0xpc3RBY21lQWNjb3VudHMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBsaXN0IEFDTUUgZG9tYWluIHZhbGlkYXRpb25zXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogTGlzdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYWNtL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0xpc3RBY21lRG9tYWluVmFsaWRhdGlvbnMuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvTGlzdEFjbWVEb21haW5WYWxpZGF0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnTGlzdEFjbWVEb21haW5WYWxpZGF0aW9ucycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGxpc3QgQUNNRSBlbmRwb2ludHNcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBMaXN0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hY20vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfTGlzdEFjbWVFbmRwb2ludHMuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvTGlzdEFjbWVFbmRwb2ludHMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0xpc3RBY21lRW5kcG9pbnRzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gbGlzdCBBQ01FIGV4dGVybmFsIGFjY291bnQgYmluZGluZ3NcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBMaXN0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hY20vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfTGlzdEFjbWVFeHRlcm5hbEFjY291bnRCaW5kaW5ncy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9MaXN0QWNtZUV4dGVybmFsQWNjb3VudEJpbmRpbmdzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdMaXN0QWNtZUV4dGVybmFsQWNjb3VudEJpbmRpbmdzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0cmlldmUgYSBsaXN0IG9mIGNlcnRpZmljYXRlcyBmb3Igc3BlY2lmaWMgY2VydGlmaWNhdGUgcGFyYW1ldGVyc1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FjbS9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9MaXN0Q2VydGlmaWNhdGVzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RDZXJ0aWZpY2F0ZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0xpc3RDZXJ0aWZpY2F0ZXMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBsaXN0cyB0aGUgdGFncyB0aGF0IGhhdmUgYmVlbiBhc3NvY2lhdGVkIHdpdGggYSBjZXJ0aWZpY2F0ZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FjbS9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9MaXN0VGFnc0ZvckNlcnRpZmljYXRlLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RUYWdzRm9yQ2VydGlmaWNhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0xpc3RUYWdzRm9yQ2VydGlmaWNhdGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBsaXN0IHRhZ3MgZm9yIGEgcmVzb3VyY2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hY20vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfTGlzdFRhZ3NGb3JSZXNvdXJjZS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9MaXN0VGFnc0ZvclJlc291cmNlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdMaXN0VGFnc0ZvclJlc291cmNlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIGFjY291bnQgbGV2ZWwgY29uZmlndXJhdGlvbiBpbiBBV1MgQ2VydGlmaWNhdGUgTWFuYWdlclxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hY20vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfUHV0QWNjb3VudENvbmZpZ3VyYXRpb24uaHRtbFxuICAgKi9cbiAgcHVibGljIHRvUHV0QWNjb3VudENvbmZpZ3VyYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ1B1dEFjY291bnRDb25maWd1cmF0aW9uJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmVtb3ZlIG9uZSBvciBtb3JlIHRhZ3MgZnJvbSBhIGNlcnRpZmljYXRlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogVGFnZ2luZywgV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FjbS9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9SZW1vdmVUYWdzRnJvbUNlcnRpZmljYXRlLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b1JlbW92ZVRhZ3NGcm9tQ2VydGlmaWNhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ1JlbW92ZVRhZ3NGcm9tQ2VydGlmaWNhdGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZW5ldyBhbiBlbGlnaWJsZSBwcml2YXRlIGNlcnRpZmljYXRlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FjbS9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9SZW5ld0NlcnRpZmljYXRlLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b1JlbmV3Q2VydGlmaWNhdGUoKSB7XG4gICAgcmV0dXJuIHRo