UNPKG

iam-floyd

Version:

AWS IAM policy statement generator with fluent interface

115 lines 12.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PartnercentralAccountManagement = void 0; const shared_1 = require("../../shared"); /** * Statement provider for service [partnercentral-account-management](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awspartnercentralaccountmanagement.html). * * @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement */ class PartnercentralAccountManagement extends shared_1.PolicyStatement { /** * Statement provider for service [partnercentral-account-management](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awspartnercentralaccountmanagement.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 = 'partnercentral-account-management'; this.accessLevelList = { Write: [ 'AccessLegacyPartnerCentral', 'AccessMarketingCentral', 'AssociatePartnerAccount', 'AssociatePartnerUser', 'DisassociatePartnerUser' ] }; } /** * Grants permission to Single Sign-On from AWS Partner Central into Legacy Partner Central * * Access Level: Write * * Possible conditions: * - .ifLegacyPartnerCentralRole() * * https://docs.aws.amazon.com/partner-central/latest/getting-started/controlling-access-in-apc-account-management.html */ toAccessLegacyPartnerCentral() { return this.to('AccessLegacyPartnerCentral'); } /** * Grants permission to Single Sign-On from AWS Partner Central into Marketing Central * * Access Level: Write * * Possible conditions: * - .ifMarketingCentralRole() * * https://docs.aws.amazon.com/partner-central/latest/getting-started/controlling-access-in-apc-account-management.html */ toAccessMarketingCentral() { return this.to('AccessMarketingCentral'); } /** * Grants permission to associate Partner account to AWS account * * Access Level: Write * * https://docs.aws.amazon.com/partner-central/latest/getting-started/controlling-access-in-apc-account-management.html */ toAssociatePartnerAccount() { return this.to('AssociatePartnerAccount'); } /** * Grants permission to associate Partner user to IAM role * * Access Level: Write * * https://docs.aws.amazon.com/partner-central/latest/getting-started/controlling-access-in-apc-account-management.html */ toAssociatePartnerUser() { return this.to('AssociatePartnerUser'); } /** * Grants permission to disassociate Partner user to IAM role * * Access Level: Write * * https://docs.aws.amazon.com/partner-central/latest/getting-started/controlling-access-in-apc-account-management.html */ toDisassociatePartnerUser() { return this.to('DisassociatePartnerUser'); } /** * Filters access by the Legacy Partner Central role * * https://docs.aws.amazon.com/partner-central/latest/getting-started/controlling-access-in-apc-account-management.html * * Applies to actions: * - .toAccessLegacyPartnerCentral() * * @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` */ ifLegacyPartnerCentralRole(value, operator) { return this.if(`LegacyPartnerCentralRole`, value, operator ?? 'StringLike'); } /** * Filters access by Marketing Central role * * https://docs.aws.amazon.com/partner-central/latest/getting-started/controlling-access-in-apc-account-management.html * * Applies to actions: * - .toAccessMarketingCentral() * * @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` */ ifMarketingCentralRole(value, operator) { return this.if(`MarketingCentralRole`, value, operator ?? 'StringLike'); } } exports.PartnercentralAccountManagement = PartnercentralAccountManagement; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydG5lcmNlbnRyYWxhY2NvdW50bWFuYWdlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInBhcnRuZXJjZW50cmFsYWNjb3VudG1hbmFnZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EseUNBQXlEO0FBRXpEOzs7O0dBSUc7QUFDSCxNQUFhLCtCQUFnQyxTQUFRLHdCQUFlO0lBR2xFOzs7O09BSUc7SUFDSCxZQUFZLEdBQVk7UUFDdEIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBUk4sa0JBQWEsR0FBRyxtQ0FBbUMsQ0FBQztRQXdFakQsb0JBQWUsR0FBb0I7WUFDM0MsS0FBSyxFQUFFO2dCQUNMLDRCQUE0QjtnQkFDNUIsd0JBQXdCO2dCQUN4Qix5QkFBeUI7Z0JBQ3pCLHNCQUFzQjtnQkFDdEIseUJBQXlCO2FBQzFCO1NBQ0YsQ0FBQztJQXZFRixDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksNEJBQTRCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSSx3QkFBd0I7UUFDN0IsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHlCQUF5QjtRQUM5QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksc0JBQXNCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSx5QkFBeUI7UUFDOUIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDNUMsQ0FBQztJQVlEOzs7Ozs7Ozs7O09BVUc7SUFDSSwwQkFBMEIsQ0FBQyxLQUF3QixFQUFFLFFBQTRCO1FBQ3RGLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQywwQkFBMEIsRUFBRSxLQUFLLEVBQUUsUUFBUSxJQUFJLFlBQVksQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0ksc0JBQXNCLENBQUMsS0FBd0IsRUFBRSxRQUE0QjtRQUNsRixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsc0JBQXNCLEVBQUUsS0FBSyxFQUFFLFFBQVEsSUFBSSxZQUFZLENBQUMsQ0FBQztJQUMxRSxDQUFDO0NBQ0Y7QUFoSEQsMEVBZ0hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWNjZXNzTGV2ZWxMaXN0IH0gZnJvbSAnLi4vLi4vc2hhcmVkL2FjY2Vzcy1sZXZlbCc7XG5pbXBvcnQgeyBQb2xpY3lTdGF0ZW1lbnQsIE9wZXJhdG9yIH0gZnJvbSAnLi4vLi4vc2hhcmVkJztcblxuLyoqXG4gKiBTdGF0ZW1lbnQgcHJvdmlkZXIgZm9yIHNlcnZpY2UgW3BhcnRuZXJjZW50cmFsLWFjY291bnQtbWFuYWdlbWVudF0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NlcnZpY2UtYXV0aG9yaXphdGlvbi9sYXRlc3QvcmVmZXJlbmNlL2xpc3RfYXdzcGFydG5lcmNlbnRyYWxhY2NvdW50bWFuYWdlbWVudC5odG1sKS5cbiAqXG4gKiBAcGFyYW0gc2lkIFtTSURdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9yZWZlcmVuY2VfcG9saWNpZXNfZWxlbWVudHNfc2lkLmh0bWwpIG9mIHRoZSBzdGF0ZW1lbnRcbiAqL1xuZXhwb3J0IGNsYXNzIFBhcnRuZXJjZW50cmFsQWNjb3VudE1hbmFnZW1lbnQgZXh0ZW5kcyBQb2xpY3lTdGF0ZW1lbnQge1xuICBwdWJsaWMgc2VydmljZVByZWZpeCA9ICdwYXJ0bmVyY2VudHJhbC1hY2NvdW50LW1hbmFnZW1lbnQnO1xuXG4gIC8qKlxuICAgKiBTdGF0ZW1lbnQgcHJvdmlkZXIgZm9yIHNlcnZpY2UgW3BhcnRuZXJjZW50cmFsLWFjY291bnQtbWFuYWdlbWVudF0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NlcnZpY2UtYXV0aG9yaXphdGlvbi9sYXRlc3QvcmVmZXJlbmNlL2xpc3RfYXdzcGFydG5lcmNlbnRyYWxhY2NvdW50bWFuYWdlbWVudC5odG1sKS5cbiAgICpcbiAgICogQHBhcmFtIHNpZCBbU0lEXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vSUFNL2xhdGVzdC9Vc2VyR3VpZGUvcmVmZXJlbmNlX3BvbGljaWVzX2VsZW1lbnRzX3NpZC5odG1sKSBvZiB0aGUgc3RhdGVtZW50XG4gICAqL1xuICBjb25zdHJ1Y3RvcihzaWQ/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihzaWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIFNpbmdsZSBTaWduLU9uIGZyb20gQVdTIFBhcnRuZXIgQ2VudHJhbCBpbnRvIExlZ2FjeSBQYXJ0bmVyIENlbnRyYWxcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkxlZ2FjeVBhcnRuZXJDZW50cmFsUm9sZSgpXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9wYXJ0bmVyLWNlbnRyYWwvbGF0ZXN0L2dldHRpbmctc3RhcnRlZC9jb250cm9sbGluZy1hY2Nlc3MtaW4tYXBjLWFjY291bnQtbWFuYWdlbWVudC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9BY2Nlc3NMZWdhY3lQYXJ0bmVyQ2VudHJhbCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQWNjZXNzTGVnYWN5UGFydG5lckNlbnRyYWwnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBTaW5nbGUgU2lnbi1PbiBmcm9tIEFXUyBQYXJ0bmVyIENlbnRyYWwgaW50byBNYXJrZXRpbmcgQ2VudHJhbFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmTWFya2V0aW5nQ2VudHJhbFJvbGUoKVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vcGFydG5lci1jZW50cmFsL2xhdGVzdC9nZXR0aW5nLXN0YXJ0ZWQvY29udHJvbGxpbmctYWNjZXNzLWluLWFwYy1hY2NvdW50LW1hbmFnZW1lbnQuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQWNjZXNzTWFya2V0aW5nQ2VudHJhbCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQWNjZXNzTWFya2V0aW5nQ2VudHJhbCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGFzc29jaWF0ZSBQYXJ0bmVyIGFjY291bnQgdG8gQVdTIGFjY291bnRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vcGFydG5lci1jZW50cmFsL2xhdGVzdC9nZXR0aW5nLXN0YXJ0ZWQvY29udHJvbGxpbmctYWNjZXNzLWluLWFwYy1hY2NvdW50LW1hbmFnZW1lbnQuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQXNzb2NpYXRlUGFydG5lckFjY291bnQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0Fzc29jaWF0ZVBhcnRuZXJBY2NvdW50Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gYXNzb2NpYXRlIFBhcnRuZXIgdXNlciB0byBJQU0gcm9sZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9wYXJ0bmVyLWNlbnRyYWwvbGF0ZXN0L2dldHRpbmctc3RhcnRlZC9jb250cm9sbGluZy1hY2Nlc3MtaW4tYXBjLWFjY291bnQtbWFuYWdlbWVudC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9Bc3NvY2lhdGVQYXJ0bmVyVXNlcigpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQXNzb2NpYXRlUGFydG5lclVzZXInKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBkaXNhc3NvY2lhdGUgUGFydG5lciB1c2VyIHRvIElBTSByb2xlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3BhcnRuZXItY2VudHJhbC9sYXRlc3QvZ2V0dGluZy1zdGFydGVkL2NvbnRyb2xsaW5nLWFjY2Vzcy1pbi1hcGMtYWNjb3VudC1tYW5hZ2VtZW50Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0Rpc2Fzc29jaWF0ZVBhcnRuZXJVc2VyKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEaXNhc3NvY2lhdGVQYXJ0bmVyVXNlcicpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFjY2Vzc0xldmVsTGlzdDogQWNjZXNzTGV2ZWxMaXN0ID0ge1xuICAgIFdyaXRlOiBbXG4gICAgICAnQWNjZXNzTGVnYWN5UGFydG5lckNlbnRyYWwnLFxuICAgICAgJ0FjY2Vzc01hcmtldGluZ0NlbnRyYWwnLFxuICAgICAgJ0Fzc29jaWF0ZVBhcnRuZXJBY2NvdW50JyxcbiAgICAgICdBc3NvY2lhdGVQYXJ0bmVyVXNlcicsXG4gICAgICAnRGlzYXNzb2NpYXRlUGFydG5lclVzZXInXG4gICAgXVxuICB9O1xuXG4gIC8qKlxuICAgKiBGaWx0ZXJzIGFjY2VzcyBieSB0aGUgTGVnYWN5IFBhcnRuZXIgQ2VudHJhbCByb2xlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9wYXJ0bmVyLWNlbnRyYWwvbGF0ZXN0L2dldHRpbmctc3RhcnRlZC9jb250cm9sbGluZy1hY2Nlc3MtaW4tYXBjLWFjY291bnQtbWFuYWdlbWVudC5odG1sXG4gICAqXG4gICAqIEFwcGxpZXMgdG8gYWN0aW9uczpcbiAgICogLSAudG9BY2Nlc3NMZWdhY3lQYXJ0bmVyQ2VudHJhbCgpXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUocykgdG8gY2hlY2tcbiAgICogQHBhcmFtIG9wZXJhdG9yIFdvcmtzIHdpdGggW3N0cmluZyBvcGVyYXRvcnNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9yZWZlcmVuY2VfcG9saWNpZXNfZWxlbWVudHNfY29uZGl0aW9uX29wZXJhdG9ycy5odG1sI0NvbmRpdGlvbnNfU3RyaW5nKS4gKipEZWZhdWx0OioqIGBTdHJpbmdMaWtlYFxuICAgKi9cbiAgcHVibGljIGlmTGVnYWN5UGFydG5lckNlbnRyYWxSb2xlKHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSwgb3BlcmF0b3I/OiBPcGVyYXRvciB8IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmlmKGBMZWdhY3lQYXJ0bmVyQ2VudHJhbFJvbGVgLCB2YWx1ZSwgb3BlcmF0b3IgPz8gJ1N0cmluZ0xpa2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaWx0ZXJzIGFjY2VzcyBieSBNYXJrZXRpbmcgQ2VudHJhbCByb2xlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9wYXJ0bmVyLWNlbnRyYWwvbGF0ZXN0L2dldHRpbmctc3RhcnRlZC9jb250cm9sbGluZy1hY2Nlc3MtaW4tYXBjLWFjY291bnQtbWFuYWdlbWVudC5odG1sXG4gICAqXG4gICAqIEFwcGxpZXMgdG8gYWN0aW9uczpcbiAgICogLSAudG9BY2Nlc3NNYXJrZXRpbmdDZW50cmFsKClcbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZShzKSB0byBjaGVja1xuICAgKiBAcGFyYW0gb3BlcmF0b3IgV29ya3Mgd2l0aCBbc3RyaW5nIG9wZXJhdG9yc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0lBTS9sYXRlc3QvVXNlckd1aWRlL3JlZmVyZW5jZV9wb2xpY2llc19lbGVtZW50c19jb25kaXRpb25fb3BlcmF0b3JzLmh0bWwjQ29uZGl0aW9uc19TdHJpbmcpLiAqKkRlZmF1bHQ6KiogYFN0cmluZ0xpa2VgXG4gICAqL1xuICBwdWJsaWMgaWZNYXJrZXRpbmdDZW50cmFsUm9sZSh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10sIG9wZXJhdG9yPzogT3BlcmF0b3IgfCBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5pZihgTWFya2V0aW5nQ2VudHJhbFJvbGVgLCB2YWx1ZSwgb3BlcmF0b3IgPz8gJ1N0cmluZ0xpa2UnKTtcbiAgfVxufVxuIl19