cdk-iam-floyd
Version:
AWS IAM policy statement generator with fluent interface for AWS CDK
132 lines • 12.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Tag = void 0;
const shared_1 = require("../../shared");
/**
* Statement provider for service [tag](https://docs.aws.amazon.com/service-authorization/latest/reference/list_resourcegroupstaggingapi.html).
*
* @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement
*/
class Tag extends shared_1.PolicyStatement {
/**
* Grants permission to describe the status of the StartReportCreation operation
*
* Access Level: Read
*
* https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_DescribeReportCreation.html
*/
toDescribeReportCreation() {
return this.to('DescribeReportCreation');
}
/**
* Grants permission to retrieve a summary of how many resources are noncompliant with their effective tag policies
*
* Access Level: Read
*
* https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_GetComplianceSummary.html
*/
toGetComplianceSummary() {
return this.to('GetComplianceSummary');
}
/**
* Grants permission to return tagged or previously tagged resources in the specified AWS Region for the calling account
*
* Access Level: Read
*
* https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_GetResources.html
*/
toGetResources() {
return this.to('GetResources');
}
/**
* Grants permission to returns tag keys currently in use in the specified AWS Region for the calling account
*
* Access Level: Read
*
* https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_GetTagKeys.html
*/
toGetTagKeys() {
return this.to('GetTagKeys');
}
/**
* Grants permission to return tag values for the specified key that are used in the specified AWS Region for the calling account
*
* Access Level: Read
*
* https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_GetTagValues.html
*/
toGetTagValues() {
return this.to('GetTagValues');
}
/**
* Grants permission to list required tags for supported resource types in the calling account
*
* Access Level: List
*
* https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_ListRequiredTags.html
*/
toListRequiredTags() {
return this.to('ListRequiredTags');
}
/**
* Grants permission to start generating a report listing all tagged resources in accounts across your organization, and whether each resource is compliant with the effective tag policy
*
* Access Level: Write
*
* https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_StartReportCreation.html
*/
toStartReportCreation() {
return this.to('StartReportCreation');
}
/**
* Grants permission to apply one or more tags to the specified resources
*
* Access Level: Tagging, Write
*
* https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_TagResources.html
*/
toTagResources() {
return this.to('TagResources');
}
/**
* Grants permission to remove the specified tags from the specified resources
*
* Access Level: Tagging, Write
*
* https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_UntagResources.html
*/
toUntagResources() {
return this.to('UntagResources');
}
/**
* Statement provider for service [tag](https://docs.aws.amazon.com/service-authorization/latest/reference/list_resourcegroupstaggingapi.html).
*
*/
constructor(props) {
super(props);
this.servicePrefix = 'tag';
this.accessLevelList = {
Read: [
'DescribeReportCreation',
'GetComplianceSummary',
'GetResources',
'GetTagKeys',
'GetTagValues'
],
List: [
'ListRequiredTags'
],
Write: [
'StartReportCreation',
'TagResources',
'UntagResources'
],
Tagging: [
'TagResources',
'UntagResources'
]
};
}
}
exports.Tag = Tag;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2Vncm91cHN0YWdnaW5nYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicmVzb3VyY2Vncm91cHN0YWdnaW5nYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHlDQUErQztBQUcvQzs7OztHQUlHO0FBQ0gsTUFBYSxHQUFJLFNBQVEsd0JBQWU7SUFHdEM7Ozs7OztPQU1HO0lBQ0ksd0JBQXdCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxzQkFBc0I7UUFDM0IsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLGNBQWM7UUFDbkIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxZQUFZO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksY0FBYztRQUNuQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLGtCQUFrQjtRQUN2QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0kscUJBQXFCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxjQUFjO1FBQ25CLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksZ0JBQWdCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUF3QkQ7OztPQUdHO0lBQ0gsWUFBWSxLQUFnQztRQUMxQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFoSVIsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFxR25CLG9CQUFlLEdBQW9CO1lBQzNDLElBQUksRUFBRTtnQkFDSix3QkFBd0I7Z0JBQ3hCLHNCQUFzQjtnQkFDdEIsY0FBYztnQkFDZCxZQUFZO2dCQUNaLGNBQWM7YUFDZjtZQUNELElBQUksRUFBRTtnQkFDSixrQkFBa0I7YUFDbkI7WUFDRCxLQUFLLEVBQUU7Z0JBQ0wscUJBQXFCO2dCQUNyQixjQUFjO2dCQUNkLGdCQUFnQjthQUNqQjtZQUNELE9BQU8sRUFBRTtnQkFDUCxjQUFjO2dCQUNkLGdCQUFnQjthQUNqQjtTQUNGLENBQUM7SUFRRixDQUFDO0NBQ0Y7QUFuSUQsa0JBbUlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWNjZXNzTGV2ZWxMaXN0IH0gZnJvbSAnLi4vLi4vc2hhcmVkL2FjY2Vzcy1sZXZlbCc7XG5pbXBvcnQgeyBQb2xpY3lTdGF0ZW1lbnQgfSBmcm9tICcuLi8uLi9zaGFyZWQnO1xuaW1wb3J0IHsgYXdzX2lhbSBhcyBpYW0gfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcblxuLyoqXG4gKiBTdGF0ZW1lbnQgcHJvdmlkZXIgZm9yIHNlcnZpY2UgW3RhZ10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NlcnZpY2UtYXV0aG9yaXphdGlvbi9sYXRlc3QvcmVmZXJlbmNlL2xpc3RfcmVzb3VyY2Vncm91cHN0YWdnaW5nYXBpLmh0bWwpLlxuICpcbiAqIEBwYXJhbSBzaWQgW1NJRF0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0lBTS9sYXRlc3QvVXNlckd1aWRlL3JlZmVyZW5jZV9wb2xpY2llc19lbGVtZW50c19zaWQuaHRtbCkgb2YgdGhlIHN0YXRlbWVudFxuICovXG5leHBvcnQgY2xhc3MgVGFnIGV4dGVuZHMgUG9saWN5U3RhdGVtZW50IHtcbiAgcHVibGljIHNlcnZpY2VQcmVmaXggPSAndGFnJztcblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVzY3JpYmUgdGhlIHN0YXR1cyBvZiB0aGUgU3RhcnRSZXBvcnRDcmVhdGlvbiBvcGVyYXRpb25cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9yZXNvdXJjZWdyb3Vwc3RhZ2dpbmcvbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVzY3JpYmVSZXBvcnRDcmVhdGlvbi5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZXNjcmliZVJlcG9ydENyZWF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZXNjcmliZVJlcG9ydENyZWF0aW9uJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0cmlldmUgYSBzdW1tYXJ5IG9mIGhvdyBtYW55IHJlc291cmNlcyBhcmUgbm9uY29tcGxpYW50IHdpdGggdGhlaXIgZWZmZWN0aXZlIHRhZyBwb2xpY2llc1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3Jlc291cmNlZ3JvdXBzdGFnZ2luZy9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9HZXRDb21wbGlhbmNlU3VtbWFyeS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9HZXRDb21wbGlhbmNlU3VtbWFyeSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnR2V0Q29tcGxpYW5jZVN1bW1hcnknKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXR1cm4gdGFnZ2VkIG9yIHByZXZpb3VzbHkgdGFnZ2VkIHJlc291cmNlcyBpbiB0aGUgc3BlY2lmaWVkIEFXUyBSZWdpb24gZm9yIHRoZSBjYWxsaW5nIGFjY291bnRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9yZXNvdXJjZWdyb3Vwc3RhZ2dpbmcvbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfR2V0UmVzb3VyY2VzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0dldFJlc291cmNlcygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnR2V0UmVzb3VyY2VzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0dXJucyB0YWcga2V5cyBjdXJyZW50bHkgaW4gdXNlIGluIHRoZSBzcGVjaWZpZWQgQVdTIFJlZ2lvbiBmb3IgdGhlIGNhbGxpbmcgYWNjb3VudFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3Jlc291cmNlZ3JvdXBzdGFnZ2luZy9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9HZXRUYWdLZXlzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0dldFRhZ0tleXMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0dldFRhZ0tleXMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXR1cm4gdGFnIHZhbHVlcyBmb3IgdGhlIHNwZWNpZmllZCBrZXkgdGhhdCBhcmUgdXNlZCBpbiB0aGUgc3BlY2lmaWVkIEFXUyBSZWdpb24gZm9yIHRoZSBjYWxsaW5nIGFjY291bnRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9yZXNvdXJjZWdyb3Vwc3RhZ2dpbmcvbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfR2V0VGFnVmFsdWVzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0dldFRhZ1ZhbHVlcygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnR2V0VGFnVmFsdWVzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gbGlzdCByZXF1aXJlZCB0YWdzIGZvciBzdXBwb3J0ZWQgcmVzb3VyY2UgdHlwZXMgaW4gdGhlIGNhbGxpbmcgYWNjb3VudFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3Jlc291cmNlZ3JvdXBzdGFnZ2luZy9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9MaXN0UmVxdWlyZWRUYWdzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RSZXF1aXJlZFRhZ3MoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0xpc3RSZXF1aXJlZFRhZ3MnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBzdGFydCBnZW5lcmF0aW5nIGEgcmVwb3J0IGxpc3RpbmcgYWxsIHRhZ2dlZCByZXNvdXJjZXMgaW4gYWNjb3VudHMgYWNyb3NzIHlvdXIgb3JnYW5pemF0aW9uLCBhbmQgd2hldGhlciBlYWNoIHJlc291cmNlIGlzIGNvbXBsaWFudCB3aXRoIHRoZSBlZmZlY3RpdmUgdGFnIHBvbGljeVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9yZXNvdXJjZWdyb3Vwc3RhZ2dpbmcvbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfU3RhcnRSZXBvcnRDcmVhdGlvbi5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9TdGFydFJlcG9ydENyZWF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdTdGFydFJlcG9ydENyZWF0aW9uJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gYXBwbHkgb25lIG9yIG1vcmUgdGFncyB0byB0aGUgc3BlY2lmaWVkIHJlc291cmNlc1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFRhZ2dpbmcsIFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9yZXNvdXJjZWdyb3Vwc3RhZ2dpbmcvbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfVGFnUmVzb3VyY2VzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b1RhZ1Jlc291cmNlcygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnVGFnUmVzb3VyY2VzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmVtb3ZlIHRoZSBzcGVjaWZpZWQgdGFncyBmcm9tIHRoZSBzcGVjaWZpZWQgcmVzb3VyY2VzXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogVGFnZ2luZywgV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3Jlc291cmNlZ3JvdXBzdGFnZ2luZy9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9VbnRhZ1Jlc291cmNlcy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9VbnRhZ1Jlc291cmNlcygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnVW50YWdSZXNvdXJjZXMnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhY2Nlc3NMZXZlbExpc3Q6IEFjY2Vzc0xldmVsTGlzdCA9IHtcbiAgICBSZWFkOiBbXG4gICAgICAnRGVzY3JpYmVSZXBvcnRDcmVhdGlvbicsXG4gICAgICAnR2V0Q29tcGxpYW5jZVN1bW1hcnknLFxuICAgICAgJ0dldFJlc291cmNlcycsXG4gICAgICAnR2V0VGFnS2V5cycsXG4gICAgICAnR2V0VGFnVmFsdWVzJ1xuICAgIF0sXG4gICAgTGlzdDogW1xuICAgICAgJ0xpc3RSZXF1aXJlZFRhZ3MnXG4gICAgXSxcbiAgICBXcml0ZTogW1xuICAgICAgJ1N0YXJ0UmVwb3J0Q3JlYXRpb24nLFxuICAgICAgJ1RhZ1Jlc291cmNlcycsXG4gICAgICAnVW50YWdSZXNvdXJjZXMnXG4gICAgXSxcbiAgICBUYWdnaW5nOiBbXG4gICAgICAnVGFnUmVzb3VyY2VzJyxcbiAgICAgICdVbnRhZ1Jlc291cmNlcydcbiAgICBdXG4gIH07XG5cbiAgLyoqXG4gICAqIFN0YXRlbWVudCBwcm92aWRlciBmb3Igc2VydmljZSBbdGFnXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2VydmljZS1hdXRob3JpemF0aW9uL2xhdGVzdC9yZWZlcmVuY2UvbGlzdF9yZXNvdXJjZWdyb3Vwc3RhZ2dpbmdhcGkuaHRtbCkuXG4gICAqXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcm9wcz86IGlhbS5Qb2xpY3lTdGF0ZW1lbnRQcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgfVxufVxuIl19