iam-floyd
Version:
AWS IAM policy statement generator with fluent interface
127 lines • 10.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SupportConsole = void 0;
const shared_1 = require("../../shared");
/**
* Statement provider for service [support-console](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssupportconsole.html).
*
* @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement
*/
class SupportConsole extends shared_1.PolicyStatement {
/**
* Statement provider for service [support-console](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssupportconsole.html).
*
* @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement
*/
constructor(sid) {
super(sid);
this.servicePrefix = 'support-console';
this.accessLevelList = {
Read: [
'CheckSubscription',
'DescribeDynamicHelp',
'GetAccountGovCloudEnabled',
'GetAccountState',
'GetBanner',
'GetCaseDraft',
'GetQuestionnaire'
],
Write: [
'CreateCaseDraft',
'CreateContact',
'DeleteCaseDraft',
'SaveFeedback'
]
};
}
/**
* Grants permission to check whether the account has access to given product
*
* Access Level: Read
*/
toCheckSubscription() {
return this.to('CheckSubscription');
}
/**
* Grants permission to create or update case draft for the given case type
*
* Access Level: Write
*/
toCreateCaseDraft() {
return this.to('CreateCaseDraft');
}
/**
* Grants permission to create an authenticated contact for the given contact type
*
* Access Level: Write
*/
toCreateContact() {
return this.to('CreateContact');
}
/**
* Grants permission to delete a case draft for the given case type
*
* Access Level: Write
*/
toDeleteCaseDraft() {
return this.to('DeleteCaseDraft');
}
/**
* Grants permission to get dynamic help resources for given service and category
*
* Access Level: Read
*/
toDescribeDynamicHelp() {
return this.to('DescribeDynamicHelp');
}
/**
* Grants permission to determines whether the calling account is GovCloud enabled
*
* Access Level: Read
*/
toGetAccountGovCloudEnabled() {
return this.to('GetAccountGovCloudEnabled');
}
/**
* Grants permission to get the state of the calling account
*
* Access Level: Read
*/
toGetAccountState() {
return this.to('GetAccountState');
}
/**
* Grants permission to get the support banner information
*
* Access Level: Read
*/
toGetBanner() {
return this.to('GetBanner');
}
/**
* Grants permission to get a case draft for given case type
*
* Access Level: Read
*/
toGetCaseDraft() {
return this.to('GetCaseDraft');
}
/**
* Grants permission to get a feedback questionnaire
*
* Access Level: Read
*/
toGetQuestionnaire() {
return this.to('GetQuestionnaire');
}
/**
* Grants permission to save questionnaire feedback
*
* Access Level: Write
*/
toSaveFeedback() {
return this.to('SaveFeedback');
}
}
exports.SupportConsole = SupportConsole;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwcG9ydGNvbnNvbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzdXBwb3J0Y29uc29sZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSx5Q0FBK0M7QUFFL0M7Ozs7R0FJRztBQUNILE1BQWEsY0FBZSxTQUFRLHdCQUFlO0lBR2pEOzs7O09BSUc7SUFDSCxZQUFZLEdBQVk7UUFDdEIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBUk4sa0JBQWEsR0FBRyxpQkFBaUIsQ0FBQztRQThHL0Isb0JBQWUsR0FBb0I7WUFDM0MsSUFBSSxFQUFFO2dCQUNKLG1CQUFtQjtnQkFDbkIscUJBQXFCO2dCQUNyQiwyQkFBMkI7Z0JBQzNCLGlCQUFpQjtnQkFDakIsV0FBVztnQkFDWCxjQUFjO2dCQUNkLGtCQUFrQjthQUNuQjtZQUNELEtBQUssRUFBRTtnQkFDTCxpQkFBaUI7Z0JBQ2pCLGVBQWU7Z0JBQ2YsaUJBQWlCO2dCQUNqQixjQUFjO2FBQ2Y7U0FDRixDQUFDO0lBckhGLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksbUJBQW1CO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksaUJBQWlCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksZUFBZTtRQUNwQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxpQkFBaUI7UUFDdEIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxxQkFBcUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSwyQkFBMkI7UUFDaEMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLDJCQUEyQixDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxpQkFBaUI7UUFDdEIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxXQUFXO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGNBQWM7UUFDbkIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksa0JBQWtCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksY0FBYztRQUNuQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDakMsQ0FBQztDQW1CRjtBQWhJRCx3Q0FnSUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY2Nlc3NMZXZlbExpc3QgfSBmcm9tICcuLi8uLi9zaGFyZWQvYWNjZXNzLWxldmVsJztcbmltcG9ydCB7IFBvbGljeVN0YXRlbWVudCB9IGZyb20gJy4uLy4uL3NoYXJlZCc7XG5cbi8qKlxuICogU3RhdGVtZW50IHByb3ZpZGVyIGZvciBzZXJ2aWNlIFtzdXBwb3J0LWNvbnNvbGVdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zZXJ2aWNlLWF1dGhvcml6YXRpb24vbGF0ZXN0L3JlZmVyZW5jZS9saXN0X2F3c3N1cHBvcnRjb25zb2xlLmh0bWwpLlxuICpcbiAqIEBwYXJhbSBzaWQgW1NJRF0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0lBTS9sYXRlc3QvVXNlckd1aWRlL3JlZmVyZW5jZV9wb2xpY2llc19lbGVtZW50c19zaWQuaHRtbCkgb2YgdGhlIHN0YXRlbWVudFxuICovXG5leHBvcnQgY2xhc3MgU3VwcG9ydENvbnNvbGUgZXh0ZW5kcyBQb2xpY3lTdGF0ZW1lbnQge1xuICBwdWJsaWMgc2VydmljZVByZWZpeCA9ICdzdXBwb3J0LWNvbnNvbGUnO1xuXG4gIC8qKlxuICAgKiBTdGF0ZW1lbnQgcHJvdmlkZXIgZm9yIHNlcnZpY2UgW3N1cHBvcnQtY29uc29sZV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NlcnZpY2UtYXV0aG9yaXphdGlvbi9sYXRlc3QvcmVmZXJlbmNlL2xpc3RfYXdzc3VwcG9ydGNvbnNvbGUuaHRtbCkuXG4gICAqXG4gICAqIEBwYXJhbSBzaWQgW1NJRF0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0lBTS9sYXRlc3QvVXNlckd1aWRlL3JlZmVyZW5jZV9wb2xpY2llc19lbGVtZW50c19zaWQuaHRtbCkgb2YgdGhlIHN0YXRlbWVudFxuICAgKi9cbiAgY29uc3RydWN0b3Ioc2lkPzogc3RyaW5nKSB7XG4gICAgc3VwZXIoc2lkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBjaGVjayB3aGV0aGVyIHRoZSBhY2NvdW50IGhhcyBhY2Nlc3MgdG8gZ2l2ZW4gcHJvZHVjdFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICovXG4gIHB1YmxpYyB0b0NoZWNrU3Vic2NyaXB0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdDaGVja1N1YnNjcmlwdGlvbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBvciB1cGRhdGUgY2FzZSBkcmFmdCBmb3IgdGhlIGdpdmVuIGNhc2UgdHlwZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqL1xuICBwdWJsaWMgdG9DcmVhdGVDYXNlRHJhZnQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0NyZWF0ZUNhc2VEcmFmdCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBhbiBhdXRoZW50aWNhdGVkIGNvbnRhY3QgZm9yIHRoZSBnaXZlbiBjb250YWN0IHR5cGVcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKi9cbiAgcHVibGljIHRvQ3JlYXRlQ29udGFjdCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQ3JlYXRlQ29udGFjdCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBhIGNhc2UgZHJhZnQgZm9yIHRoZSBnaXZlbiBjYXNlIHR5cGVcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKi9cbiAgcHVibGljIHRvRGVsZXRlQ2FzZURyYWZ0KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZWxldGVDYXNlRHJhZnQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBnZXQgZHluYW1pYyBoZWxwIHJlc291cmNlcyBmb3IgZ2l2ZW4gc2VydmljZSBhbmQgY2F0ZWdvcnlcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqL1xuICBwdWJsaWMgdG9EZXNjcmliZUR5bmFtaWNIZWxwKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZXNjcmliZUR5bmFtaWNIZWxwJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSBjYWxsaW5nIGFjY291bnQgaXMgR292Q2xvdWQgZW5hYmxlZFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICovXG4gIHB1YmxpYyB0b0dldEFjY291bnRHb3ZDbG91ZEVuYWJsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0dldEFjY291bnRHb3ZDbG91ZEVuYWJsZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBnZXQgdGhlIHN0YXRlIG9mIHRoZSBjYWxsaW5nIGFjY291bnRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqL1xuICBwdWJsaWMgdG9HZXRBY2NvdW50U3RhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0dldEFjY291bnRTdGF0ZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGdldCB0aGUgc3VwcG9ydCBiYW5uZXIgaW5mb3JtYXRpb25cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqL1xuICBwdWJsaWMgdG9HZXRCYW5uZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0dldEJhbm5lcicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGdldCBhIGNhc2UgZHJhZnQgZm9yIGdpdmVuIGNhc2UgdHlwZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICovXG4gIHB1YmxpYyB0b0dldENhc2VEcmFmdCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnR2V0Q2FzZURyYWZ0Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZ2V0IGEgZmVlZGJhY2sgcXVlc3Rpb25uYWlyZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICovXG4gIHB1YmxpYyB0b0dldFF1ZXN0aW9ubmFpcmUoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0dldFF1ZXN0aW9ubmFpcmUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBzYXZlIHF1ZXN0aW9ubmFpcmUgZmVlZGJhY2tcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKi9cbiAgcHVibGljIHRvU2F2ZUZlZWRiYWNrKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdTYXZlRmVlZGJhY2snKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhY2Nlc3NMZXZlbExpc3Q6IEFjY2Vzc0xldmVsTGlzdCA9IHtcbiAgICBSZWFkOiBbXG4gICAgICAnQ2hlY2tTdWJzY3JpcHRpb24nLFxuICAgICAgJ0Rlc2NyaWJlRHluYW1pY0hlbHAnLFxuICAgICAgJ0dldEFjY291bnRHb3ZDbG91ZEVuYWJsZWQnLFxuICAgICAgJ0dldEFjY291bnRTdGF0ZScsXG4gICAgICAnR2V0QmFubmVyJyxcbiAgICAgICdHZXRDYXNlRHJhZnQnLFxuICAgICAgJ0dldFF1ZXN0aW9ubmFpcmUnXG4gICAgXSxcbiAgICBXcml0ZTogW1xuICAgICAgJ0NyZWF0ZUNhc2VEcmFmdCcsXG4gICAgICAnQ3JlYXRlQ29udGFjdCcsXG4gICAgICAnRGVsZXRlQ2FzZURyYWZ0JyxcbiAgICAgICdTYXZlRmVlZGJhY2snXG4gICAgXVxuICB9O1xufVxuIl19