cdk-iam-floyd
Version:
AWS IAM policy statement generator with fluent interface for AWS CDK
302 lines • 27.3 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Support = void 0;
const shared_1 = require("../../shared");
/**
* Statement provider for service [support](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssupport.html).
*
* @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement
*/
class Support extends shared_1.PolicyStatement {
/**
* Grants permission to add one or more attachments to an AWS Support case
*
* Access Level: Write
*
* https://docs.aws.amazon.com/awssupport/latest/APIReference/API_AddAttachmentsToSet.html
*/
toAddAttachmentsToSet() {
return this.to('AddAttachmentsToSet');
}
/**
* Grants permission to add a customer communication to an AWS Support case
*
* Access Level: Write
*
* https://docs.aws.amazon.com/awssupport/latest/APIReference/API_AddCommunicationToCase.html
*/
toAddCommunicationToCase() {
return this.to('AddCommunicationToCase');
}
/**
* Grants permission to creates a new AWS Support case
*
* Access Level: Write
*
* https://docs.aws.amazon.com/awssupport/latest/APIReference/API_CreateCase.html
*/
toCreateCase() {
return this.to('CreateCase');
}
/**
* Grants permission to describe attachment detail
*
* Access Level: Read
*
* https://docs.aws.amazon.com/awssupport/latest/APIReference/API_DescribeAttachment.html
*/
toDescribeAttachment() {
return this.to('DescribeAttachment');
}
/**
* Grants permission to allow secondary services to read AWS Support case attributes.This is an internally managed function
*
* Access Level: Read
*
* https://docs.aws.amazon.com/awssupport/latest/user/accessing-support.html
*/
toDescribeCaseAttributes() {
return this.to('DescribeCaseAttributes');
}
/**
* Grants permission to list AWS Support cases that matches the given inputs
*
* Access Level: Read
*
* https://docs.aws.amazon.com/awssupport/latest/APIReference/API_DescribeCases.html
*/
toDescribeCases() {
return this.to('DescribeCases');
}
/**
* Grants permission to get a single communication and attachments for a single AWS Support case
*
* Access Level: Read
*
* https://docs.aws.amazon.com/awssupport/latest/user/accessing-support.html
*/
toDescribeCommunication() {
return this.to('DescribeCommunication');
}
/**
* Grants permission to list the communications and attachments for one or more AWS Support cases
*
* Access Level: Read
*
* https://docs.aws.amazon.com/awssupport/latest/APIReference/API_DescribeCommunications.html
*/
toDescribeCommunications() {
return this.to('DescribeCommunications');
}
/**
* Grants permission to describes the available options for creating a support case
*
* Access Level: Read
*
* https://docs.aws.amazon.com/awssupport/latest/APIReference/API_DescribeCreateCaseOptions.html
*/
toDescribeCreateCaseOptions() {
return this.to('DescribeCreateCaseOptions');
}
/**
* Grants permission to return issue types for AWS Support cases
*
* Access Level: Read
*
* https://docs.aws.amazon.com/awssupport/latest/user/accessing-support.html
*/
toDescribeIssueTypes() {
return this.to('DescribeIssueTypes');
}
/**
* Grants permission to list AWS services and categories that applies to each service
*
* Access Level: Read
*
* https://docs.aws.amazon.com/awssupport/latest/APIReference/API_DescribeServices.html
*/
toDescribeServices() {
return this.to('DescribeServices');
}
/**
* Grants permission to list severity levels that can be assigned to an AWS Support case
*
* Access Level: Read
*
* https://docs.aws.amazon.com/awssupport/latest/APIReference/API_DescribeSeverityLevels.html
*/
toDescribeSeverityLevels() {
return this.to('DescribeSeverityLevels');
}
/**
* Grants permission to return the support level for an AWS Account identifier
*
* Access Level: Read
*
* https://docs.aws.amazon.com/awssupport/latest/user/accessing-support.html
*/
toDescribeSupportLevel() {
return this.to('DescribeSupportLevel');
}
/**
* Grants permission to describes the available support languages for a given category code, service code and issue type
*
* Access Level: Read
*
* https://docs.aws.amazon.com/awssupport/latest/APIReference/API_DescribeSupportedLanguages.html
*/
toDescribeSupportedLanguages() {
return this.to('DescribeSupportedLanguages');
}
/**
* Grants permission to get the status of a Trusted Advisor refresh check based on a list of check identifiers
*
* Access Level: Read
*
* https://docs.aws.amazon.com/awssupport/latest/APIReference/API_DescribeTrustedAdvisorCheckRefreshStatuses.html
*/
toDescribeTrustedAdvisorCheckRefreshStatuses() {
return this.to('DescribeTrustedAdvisorCheckRefreshStatuses');
}
/**
* Grants permission to get the results of the Trusted Advisor check that has the specified check identifier
*
* Access Level: Read
*
* https://docs.aws.amazon.com/awssupport/latest/APIReference/API_DescribeTrustedAdvisorCheckResult.html
*/
toDescribeTrustedAdvisorCheckResult() {
return this.to('DescribeTrustedAdvisorCheckResult');
}
/**
* Grants permission to get the summaries of the results of the Trusted Advisor checks that have the specified check identifiers
*
* Access Level: Read
*
* https://docs.aws.amazon.com/awssupport/latest/APIReference/API_DescribeTrustedAdvisorCheckSummaries.html
*/
toDescribeTrustedAdvisorCheckSummaries() {
return this.to('DescribeTrustedAdvisorCheckSummaries');
}
/**
* Grants permission to get a list of all available Trusted Advisor checks, including name, identifier, category and description
*
* Access Level: Read
*
* https://docs.aws.amazon.com/awssupport/latest/APIReference/API_DescribeTrustedAdvisorChecks.html
*/
toDescribeTrustedAdvisorChecks() {
return this.to('DescribeTrustedAdvisorChecks');
}
/**
* Grants permission to initiate a call on AWS Support Center. This is an internally managed function
*
* Access Level: Write
*
* https://docs.aws.amazon.com/awssupport/latest/user/accessing-support.html
*/
toInitiateCallForCase() {
return this.to('InitiateCallForCase');
}
/**
* Grants permission to initiate a chat on AWS Support Center.This is an internally managed function
*
* Access Level: Write
*
* https://docs.aws.amazon.com/awssupport/latest/user/accessing-support.html
*/
toInitiateChatForCase() {
return this.to('InitiateChatForCase');
}
/**
* Grants permission to allow secondary services to attach attributes to AWS Support cases. This is an internally managed function
*
* Access Level: Write
*
* https://docs.aws.amazon.com/awssupport/latest/user/accessing-support.html
*/
toPutCaseAttributes() {
return this.to('PutCaseAttributes');
}
/**
* Grants permission to rate an AWS Support case communication
*
* Access Level: Write
*
* https://docs.aws.amazon.com/awssupport/latest/user/accessing-support.html
*/
toRateCaseCommunication() {
return this.to('RateCaseCommunication');
}
/**
* Grants permission to requests a refresh of the Trusted Advisor check that has the specified check identifier
*
* Access Level: Write
*
* https://docs.aws.amazon.com/awssupport/latest/APIReference/API_RefreshTrustedAdvisorCheck.html
*/
toRefreshTrustedAdvisorCheck() {
return this.to('RefreshTrustedAdvisorCheck');
}
/**
* Grants permission to resolve an AWS Support case
*
* Access Level: Write
*
* https://docs.aws.amazon.com/awssupport/latest/APIReference/API_ResolveCase.html
*/
toResolveCase() {
return this.to('ResolveCase');
}
/**
* Grants permission to return a list of AWS Support cases that matches the given inputs
*
* Access Level: Read
*
* https://docs.aws.amazon.com/awssupport/latest/user/accessing-support.html
*/
toSearchForCases() {
return this.to('SearchForCases');
}
/**
* Statement provider for service [support](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssupport.html).
*
*/
constructor(props) {
super(props);
this.servicePrefix = 'support';
this.accessLevelList = {
Write: [
'AddAttachmentsToSet',
'AddCommunicationToCase',
'CreateCase',
'InitiateCallForCase',
'InitiateChatForCase',
'PutCaseAttributes',
'RateCaseCommunication',
'RefreshTrustedAdvisorCheck',
'ResolveCase'
],
Read: [
'DescribeAttachment',
'DescribeCaseAttributes',
'DescribeCases',
'DescribeCommunication',
'DescribeCommunications',
'DescribeCreateCaseOptions',
'DescribeIssueTypes',
'DescribeServices',
'DescribeSeverityLevels',
'DescribeSupportLevel',
'DescribeSupportedLanguages',
'DescribeTrustedAdvisorCheckRefreshStatuses',
'DescribeTrustedAdvisorCheckResult',
'DescribeTrustedAdvisorCheckSummaries',
'DescribeTrustedAdvisorChecks',
'SearchForCases'
]
};
}
}
exports.Support = Support;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwcG9ydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInN1cHBvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EseUNBQStDO0FBRy9DOzs7O0dBSUc7QUFDSCxNQUFhLE9BQVEsU0FBUSx3QkFBZTtJQUcxQzs7Ozs7O09BTUc7SUFDSSxxQkFBcUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHdCQUF3QjtRQUM3QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksWUFBWTtRQUNqQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLG9CQUFvQjtRQUN6QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksd0JBQXdCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxlQUFlO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksdUJBQXVCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSx3QkFBd0I7UUFDN0IsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLDJCQUEyQjtRQUNoQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksb0JBQW9CO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxrQkFBa0I7UUFDdkIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHdCQUF3QjtRQUM3QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksc0JBQXNCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSw0QkFBNEI7UUFDakMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLDRDQUE0QztRQUNqRCxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsNENBQTRDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksbUNBQW1DO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxzQ0FBc0M7UUFDM0MsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHNDQUFzQyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLDhCQUE4QjtRQUNuQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsOEJBQThCLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0kscUJBQXFCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxxQkFBcUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLG1CQUFtQjtRQUN4QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksdUJBQXVCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSw0QkFBNEI7UUFDakMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLGFBQWE7UUFDbEIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxnQkFBZ0I7UUFDckIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbkMsQ0FBQztJQWtDRDs7O09BR0c7SUFDSCxZQUFZLEtBQWdDO1FBQzFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQTFUUixrQkFBYSxHQUFHLFNBQVMsQ0FBQztRQXFSdkIsb0JBQWUsR0FBb0I7WUFDM0MsS0FBSyxFQUFFO2dCQUNMLHFCQUFxQjtnQkFDckIsd0JBQXdCO2dCQUN4QixZQUFZO2dCQUNaLHFCQUFxQjtnQkFDckIscUJBQXFCO2dCQUNyQixtQkFBbUI7Z0JBQ25CLHVCQUF1QjtnQkFDdkIsNEJBQTRCO2dCQUM1QixhQUFhO2FBQ2Q7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osb0JBQW9CO2dCQUNwQix3QkFBd0I7Z0JBQ3hCLGVBQWU7Z0JBQ2YsdUJBQXVCO2dCQUN2Qix3QkFBd0I7Z0JBQ3hCLDJCQUEyQjtnQkFDM0Isb0JBQW9CO2dCQUNwQixrQkFBa0I7Z0JBQ2xCLHdCQUF3QjtnQkFDeEIsc0JBQXNCO2dCQUN0Qiw0QkFBNEI7Z0JBQzVCLDRDQUE0QztnQkFDNUMsbUNBQW1DO2dCQUNuQyxzQ0FBc0M7Z0JBQ3RDLDhCQUE4QjtnQkFDOUIsZ0JBQWdCO2FBQ2pCO1NBQ0YsQ0FBQztJQVFGLENBQUM7Q0FDRjtBQTdURCwwQkE2VEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY2Nlc3NMZXZlbExpc3QgfSBmcm9tICcuLi8uLi9zaGFyZWQvYWNjZXNzLWxldmVsJztcbmltcG9ydCB7IFBvbGljeVN0YXRlbWVudCB9IGZyb20gJy4uLy4uL3NoYXJlZCc7XG5pbXBvcnQgeyBhd3NfaWFtIGFzIGlhbSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuXG4vKipcbiAqIFN0YXRlbWVudCBwcm92aWRlciBmb3Igc2VydmljZSBbc3VwcG9ydF0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NlcnZpY2UtYXV0aG9yaXphdGlvbi9sYXRlc3QvcmVmZXJlbmNlL2xpc3RfYXdzc3VwcG9ydC5odG1sKS5cbiAqXG4gKiBAcGFyYW0gc2lkIFtTSURdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9yZWZlcmVuY2VfcG9saWNpZXNfZWxlbWVudHNfc2lkLmh0bWwpIG9mIHRoZSBzdGF0ZW1lbnRcbiAqL1xuZXhwb3J0IGNsYXNzIFN1cHBvcnQgZXh0ZW5kcyBQb2xpY3lTdGF0ZW1lbnQge1xuICBwdWJsaWMgc2VydmljZVByZWZpeCA9ICdzdXBwb3J0JztcblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gYWRkIG9uZSBvciBtb3JlIGF0dGFjaG1lbnRzIHRvIGFuIEFXUyBTdXBwb3J0IGNhc2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzc3VwcG9ydC9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9BZGRBdHRhY2htZW50c1RvU2V0Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0FkZEF0dGFjaG1lbnRzVG9TZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0FkZEF0dGFjaG1lbnRzVG9TZXQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBhZGQgYSBjdXN0b21lciBjb21tdW5pY2F0aW9uIHRvIGFuIEFXUyBTdXBwb3J0IGNhc2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzc3VwcG9ydC9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9BZGRDb21tdW5pY2F0aW9uVG9DYXNlLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0FkZENvbW11bmljYXRpb25Ub0Nhc2UoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0FkZENvbW11bmljYXRpb25Ub0Nhc2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGVzIGEgbmV3IEFXUyBTdXBwb3J0IGNhc2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzc3VwcG9ydC9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9DcmVhdGVDYXNlLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0NyZWF0ZUNhc2UoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0NyZWF0ZUNhc2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZXNjcmliZSBhdHRhY2htZW50IGRldGFpbFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3c3N1cHBvcnQvbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVzY3JpYmVBdHRhY2htZW50Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0Rlc2NyaWJlQXR0YWNobWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVzY3JpYmVBdHRhY2htZW50Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gYWxsb3cgc2Vjb25kYXJ5IHNlcnZpY2VzIHRvIHJlYWQgQVdTIFN1cHBvcnQgY2FzZSBhdHRyaWJ1dGVzLlRoaXMgaXMgYW4gaW50ZXJuYWxseSBtYW5hZ2VkIGZ1bmN0aW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzc3VwcG9ydC9sYXRlc3QvdXNlci9hY2Nlc3Npbmctc3VwcG9ydC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZXNjcmliZUNhc2VBdHRyaWJ1dGVzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZXNjcmliZUNhc2VBdHRyaWJ1dGVzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gbGlzdCBBV1MgU3VwcG9ydCBjYXNlcyB0aGF0IG1hdGNoZXMgdGhlIGdpdmVuIGlucHV0c1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3c3N1cHBvcnQvbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVzY3JpYmVDYXNlcy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZXNjcmliZUNhc2VzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZXNjcmliZUNhc2VzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZ2V0IGEgc2luZ2xlIGNvbW11bmljYXRpb24gYW5kIGF0dGFjaG1lbnRzIGZvciBhIHNpbmdsZSBBV1MgU3VwcG9ydCBjYXNlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzc3VwcG9ydC9sYXRlc3QvdXNlci9hY2Nlc3Npbmctc3VwcG9ydC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZXNjcmliZUNvbW11bmljYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0Rlc2NyaWJlQ29tbXVuaWNhdGlvbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGxpc3QgdGhlIGNvbW11bmljYXRpb25zIGFuZCBhdHRhY2htZW50cyBmb3Igb25lIG9yIG1vcmUgQVdTIFN1cHBvcnQgY2FzZXNcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3NzdXBwb3J0L2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0Rlc2NyaWJlQ29tbXVuaWNhdGlvbnMuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVzY3JpYmVDb21tdW5pY2F0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVzY3JpYmVDb21tdW5pY2F0aW9ucycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlc2NyaWJlcyB0aGUgYXZhaWxhYmxlIG9wdGlvbnMgZm9yIGNyZWF0aW5nIGEgc3VwcG9ydCBjYXNlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzc3VwcG9ydC9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZXNjcmliZUNyZWF0ZUNhc2VPcHRpb25zLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0Rlc2NyaWJlQ3JlYXRlQ2FzZU9wdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0Rlc2NyaWJlQ3JlYXRlQ2FzZU9wdGlvbnMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXR1cm4gaXNzdWUgdHlwZXMgZm9yIEFXUyBTdXBwb3J0IGNhc2VzXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzc3VwcG9ydC9sYXRlc3QvdXNlci9hY2Nlc3Npbmctc3VwcG9ydC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZXNjcmliZUlzc3VlVHlwZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0Rlc2NyaWJlSXNzdWVUeXBlcycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGxpc3QgQVdTIHNlcnZpY2VzIGFuZCBjYXRlZ29yaWVzIHRoYXQgYXBwbGllcyB0byBlYWNoIHNlcnZpY2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3NzdXBwb3J0L2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0Rlc2NyaWJlU2VydmljZXMuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVzY3JpYmVTZXJ2aWNlcygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVzY3JpYmVTZXJ2aWNlcycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGxpc3Qgc2V2ZXJpdHkgbGV2ZWxzIHRoYXQgY2FuIGJlIGFzc2lnbmVkIHRvIGFuIEFXUyBTdXBwb3J0IGNhc2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3NzdXBwb3J0L2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0Rlc2NyaWJlU2V2ZXJpdHlMZXZlbHMuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVzY3JpYmVTZXZlcml0eUxldmVscygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVzY3JpYmVTZXZlcml0eUxldmVscycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHVybiB0aGUgc3VwcG9ydCBsZXZlbCBmb3IgYW4gQVdTIEFjY291bnQgaWRlbnRpZmllclxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3c3N1cHBvcnQvbGF0ZXN0L3VzZXIvYWNjZXNzaW5nLXN1cHBvcnQuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVzY3JpYmVTdXBwb3J0TGV2ZWwoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0Rlc2NyaWJlU3VwcG9ydExldmVsJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVzY3JpYmVzIHRoZSBhdmFpbGFibGUgc3VwcG9ydCBsYW5ndWFnZXMgZm9yIGEgZ2l2ZW4gY2F0ZWdvcnkgY29kZSwgc2VydmljZSBjb2RlIGFuZCBpc3N1ZSB0eXBlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzc3VwcG9ydC9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZXNjcmliZVN1cHBvcnRlZExhbmd1YWdlcy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZXNjcmliZVN1cHBvcnRlZExhbmd1YWdlcygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVzY3JpYmVTdXBwb3J0ZWRMYW5ndWFnZXMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBnZXQgdGhlIHN0YXR1cyBvZiBhIFRydXN0ZWQgQWR2aXNvciByZWZyZXNoIGNoZWNrIGJhc2VkIG9uIGEgbGlzdCBvZiBjaGVjayBpZGVudGlmaWVyc1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3c3N1cHBvcnQvbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVzY3JpYmVUcnVzdGVkQWR2aXNvckNoZWNrUmVmcmVzaFN0YXR1c2VzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0Rlc2NyaWJlVHJ1c3RlZEFkdmlzb3JDaGVja1JlZnJlc2hTdGF0dXNlcygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVzY3JpYmVUcnVzdGVkQWR2aXNvckNoZWNrUmVmcmVzaFN0YXR1c2VzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZ2V0IHRoZSByZXN1bHRzIG9mIHRoZSBUcnVzdGVkIEFkdmlzb3IgY2hlY2sgdGhhdCBoYXMgdGhlIHNwZWNpZmllZCBjaGVjayBpZGVudGlmaWVyXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzc3VwcG9ydC9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZXNjcmliZVRydXN0ZWRBZHZpc29yQ2hlY2tSZXN1bHQuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVzY3JpYmVUcnVzdGVkQWR2aXNvckNoZWNrUmVzdWx0KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZXNjcmliZVRydXN0ZWRBZHZpc29yQ2hlY2tSZXN1bHQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBnZXQgdGhlIHN1bW1hcmllcyBvZiB0aGUgcmVzdWx0cyBvZiB0aGUgVHJ1c3RlZCBBZHZpc29yIGNoZWNrcyB0aGF0IGhhdmUgdGhlIHNwZWNpZmllZCBjaGVjayBpZGVudGlmaWVyc1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3c3N1cHBvcnQvbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVzY3JpYmVUcnVzdGVkQWR2aXNvckNoZWNrU3VtbWFyaWVzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0Rlc2NyaWJlVHJ1c3RlZEFkdmlzb3JDaGVja1N1bW1hcmllcygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVzY3JpYmVUcnVzdGVkQWR2aXNvckNoZWNrU3VtbWFyaWVzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZ2V0IGEgbGlzdCBvZiBhbGwgYXZhaWxhYmxlIFRydXN0ZWQgQWR2aXNvciBjaGVja3MsIGluY2x1ZGluZyBuYW1lLCBpZGVudGlmaWVyLCBjYXRlZ29yeSBhbmQgZGVzY3JpcHRpb25cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3NzdXBwb3J0L2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0Rlc2NyaWJlVHJ1c3RlZEFkdmlzb3JDaGVja3MuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVzY3JpYmVUcnVzdGVkQWR2aXNvckNoZWNrcygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVzY3JpYmVUcnVzdGVkQWR2aXNvckNoZWNrcycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGluaXRpYXRlIGEgY2FsbCBvbiBBV1MgU3VwcG9ydCBDZW50ZXIuIFRoaXMgaXMgYW4gaW50ZXJuYWxseSBtYW5hZ2VkIGZ1bmN0aW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3c3N1cHBvcnQvbGF0ZXN0L3VzZXIvYWNjZXNzaW5nLXN1cHBvcnQuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvSW5pdGlhdGVDYWxsRm9yQ2FzZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnSW5pdGlhdGVDYWxsRm9yQ2FzZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGluaXRpYXRlIGEgY2hhdCBvbiBBV1MgU3VwcG9ydCBDZW50ZXIuVGhpcyBpcyBhbiBpbnRlcm5hbGx5IG1hbmFnZWQgZnVuY3Rpb25cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzc3VwcG9ydC9sYXRlc3QvdXNlci9hY2Nlc3Npbmctc3VwcG9ydC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9Jbml0aWF0ZUNoYXRGb3JDYXNlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdJbml0aWF0ZUNoYXRGb3JDYXNlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gYWxsb3cgc2Vjb25kYXJ5IHNlcnZpY2VzIHRvIGF0dGFjaCBhdHRyaWJ1dGVzIHRvIEFXUyBTdXBwb3J0IGNhc2VzLiBUaGlzIGlzIGFuIGludGVybmFsbHkgbWFuYWdlZCBmdW5jdGlvblxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hd3NzdXBwb3J0L2xhdGVzdC91c2VyL2FjY2Vzc2luZy1zdXBwb3J0Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b1B1dENhc2VBdHRyaWJ1dGVzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdQdXRDYXNlQXR0cmlidXRlcycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJhdGUgYW4gQVdTIFN1cHBvcnQgY2FzZSBjb21tdW5pY2F0aW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F3c3N1cHBvcnQvbGF0ZXN0L3VzZXIvYWNjZXNzaW5nLXN1cHBvcnQuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvUmF0ZUNhc2VDb21tdW5pY2F0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdSYXRlQ2FzZUNvbW11bmljYXRpb24nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXF1ZXN0cyBhIHJlZnJlc2ggb2YgdGhlIFRydXN0ZWQgQWR2aXNvciBjaGVjayB0aGF0IGhhcyB0aGUgc3BlY2lmaWVkIGNoZWNrIGlkZW50aWZpZXJcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzc3VwcG9ydC9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9SZWZyZXNoVHJ1c3RlZEFkdmlzb3JDaGVjay5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9SZWZyZXNoVHJ1c3RlZEFkdmlzb3JDaGVjaygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnUmVmcmVzaFRydXN0ZWRBZHZpc29yQ2hlY2snKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXNvbHZlIGFuIEFXUyBTdXBwb3J0IGNhc2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzc3VwcG9ydC9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9SZXNvbHZlQ2FzZS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9SZXNvbHZlQ2FzZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnUmVzb2x2ZUNhc2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXR1cm4gYSBsaXN0IG9mIEFXUyBTdXBwb3J0IGNhc2VzIHRoYXQgbWF0Y2hlcyB0aGUgZ2l2ZW4gaW5wdXRzXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzc3VwcG9ydC9sYXRlc3QvdXNlci9hY2Nlc3Npbmctc3VwcG9ydC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9TZWFyY2hGb3JDYXNlcygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnU2VhcmNoRm9yQ2FzZXMnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhY2Nlc3NMZXZlbExpc3Q6IEFjY2Vzc0xldmVsTGlzdCA9IHtcbiAgICBXcml0ZTogW1xuICAgICAgJ0FkZEF0dGFjaG1lbnRzVG9TZXQnLFxuICAgICAgJ0FkZENvbW11bmljYXRpb25Ub0Nhc2UnLFxuICAgICAgJ0NyZWF0ZUNhc2UnLFxuICAgICAgJ0luaXRpYXRlQ2FsbEZvckNhc2UnLFxuICAgICAgJ0luaXRpYXRlQ2hhdEZvckNhc2UnLFxuICAgICAgJ1B1dENhc2VBdHRyaWJ1dGVzJyxcbiAgICAgICdSYXRlQ2FzZUNvbW11bmljYXRpb24nLFxuICAgICAgJ1JlZnJlc2hUcnVzdGVkQWR2aXNvckNoZWNrJyxcbiAgICAgICdSZXNvbHZlQ2FzZSdcbiAgICBdLFxuICAgIFJlYWQ6IFtcbiAgICAgICdEZXNjcmliZUF0dGFjaG1lbnQnLFxuICAgICAgJ0Rlc2NyaWJlQ2FzZUF0dHJpYnV0ZXMnLFxuICAgICAgJ0Rlc2NyaWJlQ2FzZXMnLFxuICAgICAgJ0Rlc2NyaWJlQ29tbXVuaWNhdGlvbicsXG4gICAgICAnRGVzY3JpYmVDb21tdW5pY2F0aW9ucycsXG4gICAgICAnRGVzY3JpYmVDcmVhdGVDYXNlT3B0aW9ucycsXG4gICAgICAnRGVzY3JpYmVJc3N1ZVR5cGVzJyxcbiAgICAgICdEZXNjcmliZVNlcnZpY2VzJyxcbiAgICAgICdEZXNjcmliZVNldmVyaXR5TGV2ZWxzJyxcbiAgICAgICdEZXNjcmliZVN1cHBvcnRMZXZlbCcsXG4gICAgICAnRGVzY3JpYmVTdXBwb3J0ZWRMYW5ndWFnZXMnLFxuICAgICAgJ0Rlc2NyaWJlVHJ1c3RlZEFkdmlzb3JDaGVja1JlZnJlc2hTdGF0dXNlcycsXG4gICAgICAnRGVzY3JpYmVUcnVzdGVkQWR2aXNvckNoZWNrUmVzdWx0JyxcbiAgICAgICdEZXNjcmliZVRydXN0ZWRBZHZpc29yQ2hlY2tTdW1tYXJpZXMnLFxuICAgICAgJ0Rlc2NyaWJlVHJ1c3RlZEFkdmlzb3JDaGVja3MnLFxuICAgICAgJ1NlYXJjaEZvckNhc2VzJ1xuICAgIF1cbiAgfTtcblxuICAvKipcbiAgICogU3RhdGVtZW50IHByb3ZpZGVyIGZvciBzZXJ2aWNlIFtzdXBwb3J0XShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2VydmljZS1hdXRob3JpemF0aW9uL2xhdGVzdC9yZWZlcmVuY2UvbGlzdF9hd3NzdXBwb3J0Lmh0bWwpLlxuICAgKlxuICAgKi9cbiAgY29uc3RydWN0b3IocHJvcHM/OiBpYW0uUG9saWN5U3RhdGVtZW50UHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gIH1cbn1cbiJdfQ==