UNPKG

iam-floyd

Version:

AWS IAM policy statement generator with fluent interface

127 lines 10.1 kB
"use strict"; 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