UNPKG

iam-floyd

Version:

AWS IAM policy statement generator with fluent interface

128 lines 12.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Pricingplanmanager = void 0; const shared_1 = require("../../shared"); /** * Statement provider for service [pricingplanmanager](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awspricingplanmanagerservice.html). * * @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement */ class Pricingplanmanager extends shared_1.PolicyStatement { /** * Statement provider for service [pricingplanmanager](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awspricingplanmanagerservice.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 = 'pricingplanmanager'; this.accessLevelList = { Write: [ 'AssociateResourcesToSubscription', 'CancelSubscription', 'CancelSubscriptionChange', 'CreateSubscription', 'DisassociateResourcesFromSubscription', 'UpdateSubscription' ], Read: [ 'GetSubscription', 'ListSubscriptions' ] }; } /** * Grants permission to associate resources with a subscription * * Access Level: Write * * https://docs.aws.amazon.com/PricingPlanManager/latest/UserGuide/security-pricing-plan.html */ toAssociateResourcesToSubscription() { return this.to('AssociateResourcesToSubscription'); } /** * Grants permission to cancel a subscription * * Access Level: Write * * https://docs.aws.amazon.com/PricingPlanManager/latest/UserGuide/security-pricing-plan.html */ toCancelSubscription() { return this.to('CancelSubscription'); } /** * Grants permission to cancel a pending a change for a subscription * * Access Level: Write * * https://docs.aws.amazon.com/PricingPlanManager/latest/UserGuide/security-pricing-plan.html */ toCancelSubscriptionChange() { return this.to('CancelSubscriptionChange'); } /** * Grants permission to create a subscription * * Access Level: Write * * https://docs.aws.amazon.com/PricingPlanManager/latest/UserGuide/security-pricing-plan.html */ toCreateSubscription() { return this.to('CreateSubscription'); } /** * Grants permission to disassociate resources from a subscription * * Access Level: Write * * https://docs.aws.amazon.com/PricingPlanManager/latest/UserGuide/security-pricing-plan.html */ toDisassociateResourcesFromSubscription() { return this.to('DisassociateResourcesFromSubscription'); } /** * Grants permission to get the details for a subscription * * Access Level: Read * * https://docs.aws.amazon.com/PricingPlanManager/latest/UserGuide/security-pricing-plan.html */ toGetSubscription() { return this.to('GetSubscription'); } /** * Grants permission to list subscriptions in your account * * Access Level: Read * * https://docs.aws.amazon.com/PricingPlanManager/latest/UserGuide/security-pricing-plan.html */ toListSubscriptions() { return this.to('ListSubscriptions'); } /** * Grants permission to update a subscription * * Access Level: Write * * https://docs.aws.amazon.com/PricingPlanManager/latest/UserGuide/security-pricing-plan.html */ toUpdateSubscription() { return this.to('UpdateSubscription'); } /** * Adds a resource of type subscription to the statement * * https://docs.aws.amazon.com/pricingplanmanager/userguide/subscription.html * * @param subscriptionId - Identifier for the subscriptionId. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @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. */ onSubscription(subscriptionId, account, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:pricingplanmanager::${account ?? this.defaultAccount}:subscription/${subscriptionId}`); } } exports.Pricingplanmanager = Pricingplanmanager; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpY2luZ3BsYW5tYW5hZ2Vyc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInByaWNpbmdwbGFubWFuYWdlcnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EseUNBQStDO0FBRS9DOzs7O0dBSUc7QUFDSCxNQUFhLGtCQUFtQixTQUFRLHdCQUFlO0lBR3JEOzs7O09BSUc7SUFDSCxZQUFZLEdBQVk7UUFDdEIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBUk4sa0JBQWEsR0FBRyxvQkFBb0IsQ0FBQztRQW1HbEMsb0JBQWUsR0FBb0I7WUFDM0MsS0FBSyxFQUFFO2dCQUNMLGtDQUFrQztnQkFDbEMsb0JBQW9CO2dCQUNwQiwwQkFBMEI7Z0JBQzFCLG9CQUFvQjtnQkFDcEIsdUNBQXVDO2dCQUN2QyxvQkFBb0I7YUFDckI7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osaUJBQWlCO2dCQUNqQixtQkFBbUI7YUFDcEI7U0FDRixDQUFDO0lBdkdGLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxrQ0FBa0M7UUFDdkMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLG9CQUFvQjtRQUN6QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksMEJBQTBCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxvQkFBb0I7UUFDekIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHVDQUF1QztRQUM1QyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsdUNBQXVDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksaUJBQWlCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxtQkFBbUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLG9CQUFvQjtRQUN6QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBaUJEOzs7Ozs7OztPQVFHO0lBQ0ksY0FBYyxDQUFDLGNBQXNCLEVBQUUsT0FBZ0IsRUFBRSxTQUFrQjtRQUNoRixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBUSxTQUFTLElBQUksSUFBSSxDQUFDLGdCQUFpQix3QkFBeUIsT0FBTyxJQUFJLElBQUksQ0FBQyxjQUFlLGlCQUFrQixjQUFlLEVBQUUsQ0FBQyxDQUFDO0lBQ3pKLENBQUM7Q0FDRjtBQS9IRCxnREErSEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY2Nlc3NMZXZlbExpc3QgfSBmcm9tICcuLi8uLi9zaGFyZWQvYWNjZXNzLWxldmVsJztcbmltcG9ydCB7IFBvbGljeVN0YXRlbWVudCB9IGZyb20gJy4uLy4uL3NoYXJlZCc7XG5cbi8qKlxuICogU3RhdGVtZW50IHByb3ZpZGVyIGZvciBzZXJ2aWNlIFtwcmljaW5ncGxhbm1hbmFnZXJdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zZXJ2aWNlLWF1dGhvcml6YXRpb24vbGF0ZXN0L3JlZmVyZW5jZS9saXN0X2F3c3ByaWNpbmdwbGFubWFuYWdlcnNlcnZpY2UuaHRtbCkuXG4gKlxuICogQHBhcmFtIHNpZCBbU0lEXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vSUFNL2xhdGVzdC9Vc2VyR3VpZGUvcmVmZXJlbmNlX3BvbGljaWVzX2VsZW1lbnRzX3NpZC5odG1sKSBvZiB0aGUgc3RhdGVtZW50XG4gKi9cbmV4cG9ydCBjbGFzcyBQcmljaW5ncGxhbm1hbmFnZXIgZXh0ZW5kcyBQb2xpY3lTdGF0ZW1lbnQge1xuICBwdWJsaWMgc2VydmljZVByZWZpeCA9ICdwcmljaW5ncGxhbm1hbmFnZXInO1xuXG4gIC8qKlxuICAgKiBTdGF0ZW1lbnQgcHJvdmlkZXIgZm9yIHNlcnZpY2UgW3ByaWNpbmdwbGFubWFuYWdlcl0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NlcnZpY2UtYXV0aG9yaXphdGlvbi9sYXRlc3QvcmVmZXJlbmNlL2xpc3RfYXdzcHJpY2luZ3BsYW5tYW5hZ2Vyc2VydmljZS5odG1sKS5cbiAgICpcbiAgICogQHBhcmFtIHNpZCBbU0lEXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vSUFNL2xhdGVzdC9Vc2VyR3VpZGUvcmVmZXJlbmNlX3BvbGljaWVzX2VsZW1lbnRzX3NpZC5odG1sKSBvZiB0aGUgc3RhdGVtZW50XG4gICAqL1xuICBjb25zdHJ1Y3RvcihzaWQ/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihzaWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGFzc29jaWF0ZSByZXNvdXJjZXMgd2l0aCBhIHN1YnNjcmlwdGlvblxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9QcmljaW5nUGxhbk1hbmFnZXIvbGF0ZXN0L1VzZXJHdWlkZS9zZWN1cml0eS1wcmljaW5nLXBsYW4uaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQXNzb2NpYXRlUmVzb3VyY2VzVG9TdWJzY3JpcHRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0Fzc29jaWF0ZVJlc291cmNlc1RvU3Vic2NyaXB0aW9uJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gY2FuY2VsIGEgc3Vic2NyaXB0aW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL1ByaWNpbmdQbGFuTWFuYWdlci9sYXRlc3QvVXNlckd1aWRlL3NlY3VyaXR5LXByaWNpbmctcGxhbi5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9DYW5jZWxTdWJzY3JpcHRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0NhbmNlbFN1YnNjcmlwdGlvbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNhbmNlbCBhIHBlbmRpbmcgYSBjaGFuZ2UgZm9yIGEgc3Vic2NyaXB0aW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL1ByaWNpbmdQbGFuTWFuYWdlci9sYXRlc3QvVXNlckd1aWRlL3NlY3VyaXR5LXByaWNpbmctcGxhbi5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9DYW5jZWxTdWJzY3JpcHRpb25DaGFuZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0NhbmNlbFN1YnNjcmlwdGlvbkNoYW5nZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBhIHN1YnNjcmlwdGlvblxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9QcmljaW5nUGxhbk1hbmFnZXIvbGF0ZXN0L1VzZXJHdWlkZS9zZWN1cml0eS1wcmljaW5nLXBsYW4uaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQ3JlYXRlU3Vic2NyaXB0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdDcmVhdGVTdWJzY3JpcHRpb24nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBkaXNhc3NvY2lhdGUgcmVzb3VyY2VzIGZyb20gYSBzdWJzY3JpcHRpb25cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vUHJpY2luZ1BsYW5NYW5hZ2VyL2xhdGVzdC9Vc2VyR3VpZGUvc2VjdXJpdHktcHJpY2luZy1wbGFuLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0Rpc2Fzc29jaWF0ZVJlc291cmNlc0Zyb21TdWJzY3JpcHRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0Rpc2Fzc29jaWF0ZVJlc291cmNlc0Zyb21TdWJzY3JpcHRpb24nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBnZXQgdGhlIGRldGFpbHMgZm9yIGEgc3Vic2NyaXB0aW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vUHJpY2luZ1BsYW5NYW5hZ2VyL2xhdGVzdC9Vc2VyR3VpZGUvc2VjdXJpdHktcHJpY2luZy1wbGFuLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0dldFN1YnNjcmlwdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy50bygnR2V0U3Vic2NyaXB0aW9uJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gbGlzdCBzdWJzY3JpcHRpb25zIGluIHlvdXIgYWNjb3VudFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL1ByaWNpbmdQbGFuTWFuYWdlci9sYXRlc3QvVXNlckd1aWRlL3NlY3VyaXR5LXByaWNpbmctcGxhbi5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9MaXN0U3Vic2NyaXB0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnTGlzdFN1YnNjcmlwdGlvbnMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgYSBzdWJzY3JpcHRpb25cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vUHJpY2luZ1BsYW5NYW5hZ2VyL2xhdGVzdC9Vc2VyR3VpZGUvc2VjdXJpdHktcHJpY2luZy1wbGFuLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b1VwZGF0ZVN1YnNjcmlwdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy50bygnVXBkYXRlU3Vic2NyaXB0aW9uJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYWNjZXNzTGV2ZWxMaXN0OiBBY2Nlc3NMZXZlbExpc3QgPSB7XG4gICAgV3JpdGU6IFtcbiAgICAgICdBc3NvY2lhdGVSZXNvdXJjZXNUb1N1YnNjcmlwdGlvbicsXG4gICAgICAnQ2FuY2VsU3Vic2NyaXB0aW9uJyxcbiAgICAgICdDYW5jZWxTdWJzY3JpcHRpb25DaGFuZ2UnLFxuICAgICAgJ0NyZWF0ZVN1YnNjcmlwdGlvbicsXG4gICAgICAnRGlzYXNzb2NpYXRlUmVzb3VyY2VzRnJvbVN1YnNjcmlwdGlvbicsXG4gICAgICAnVXBkYXRlU3Vic2NyaXB0aW9uJ1xuICAgIF0sXG4gICAgUmVhZDogW1xuICAgICAgJ0dldFN1YnNjcmlwdGlvbicsXG4gICAgICAnTGlzdFN1YnNjcmlwdGlvbnMnXG4gICAgXVxuICB9O1xuXG4gIC8qKlxuICAgKiBBZGRzIGEgcmVzb3VyY2Ugb2YgdHlwZSBzdWJzY3JpcHRpb24gdG8gdGhlIHN0YXRlbWVudFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vcHJpY2luZ3BsYW5tYW5hZ2VyL3VzZXJndWlkZS9zdWJzY3JpcHRpb24uaHRtbFxuICAgKlxuICAgKiBAcGFyYW0gc3Vic2NyaXB0aW9uSWQgLSBJZGVudGlmaWVyIGZvciB0aGUgc3Vic2NyaXB0aW9uSWQuXG4gICAqIEBwYXJhbSBhY2NvdW50IC0gQWNjb3VudCBvZiB0aGUgcmVzb3VyY2U7IGRlZmF1bHRzIHRvIGAqYCwgdW5sZXNzIHVzaW5nIHRoZSBDREssIHdoZXJlIHRoZSBkZWZhdWx0IGlzIHRoZSBjdXJyZW50IFN0YWNrJ3MgYWNjb3VudC5cbiAgICogQHBhcmFtIHBhcnRpdGlvbiAtIFBhcnRpdGlvbiBvZiB0aGUgQVdTIGFjY291bnQgW2F3cywgYXdzLWNuLCBhd3MtdXMtZ292XTsgZGVmYXVsdHMgdG8gYGF3c2AsIHVubGVzcyB1c2luZyB0aGUgQ0RLLCB3aGVyZSB0aGUgZGVmYXVsdCBpcyB0aGUgY3VycmVudCBTdGFjaydzIHBhcnRpdGlvbi5cbiAgICovXG4gIHB1YmxpYyBvblN1YnNjcmlwdGlvbihzdWJzY3JpcHRpb25JZDogc3RyaW5nLCBhY2NvdW50Pzogc3RyaW5nLCBwYXJ0aXRpb24/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5vbihgYXJuOiR7IHBhcnRpdGlvbiA/PyB0aGlzLmRlZmF1bHRQYXJ0aXRpb24gfTpwcmljaW5ncGxhbm1hbmFnZXI6OiR7IGFjY291bnQgPz8gdGhpcy5kZWZhdWx0QWNjb3VudCB9OnN1YnNjcmlwdGlvbi8keyBzdWJzY3JpcHRpb25JZCB9YCk7XG4gIH1cbn1cbiJdfQ==