iam-floyd
Version:
AWS IAM policy statement generator with fluent interface
72 lines • 7.07 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CodedeployCommandsSecure = void 0;
const shared_1 = require("../../shared");
/**
* Statement provider for service [codedeploy-commands-secure](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscodedeploysecurehostcommandsservice.html).
*
* @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement
*/
class CodedeployCommandsSecure extends shared_1.PolicyStatement {
/**
* Statement provider for service [codedeploy-commands-secure](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscodedeploysecurehostcommandsservice.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 = 'codedeploy-commands-secure';
this.accessLevelList = {
Read: [
'GetDeploymentSpecification',
'PollHostCommand'
],
Write: [
'PutHostCommandAcknowledgement',
'PutHostCommandComplete'
]
};
}
/**
* Grants permission to get deployment specification
*
* Access Level: Read
*
* https://docs.aws.amazon.com/codedeploy/latest/userguide/vpc-endpoints.html#vpc-codedeploy-agent-configuration
*/
toGetDeploymentSpecification() {
return this.to('GetDeploymentSpecification');
}
/**
* Grants permission to request host agent commands
*
* Access Level: Read
*
* https://docs.aws.amazon.com/codedeploy/latest/userguide/vpc-endpoints.html#vpc-codedeploy-agent-configuration
*/
toPollHostCommand() {
return this.to('PollHostCommand');
}
/**
* Grants permission to mark host agent commands acknowledged
*
* Access Level: Write
*
* https://docs.aws.amazon.com/codedeploy/latest/userguide/vpc-endpoints.html#vpc-codedeploy-agent-configuration
*/
toPutHostCommandAcknowledgement() {
return this.to('PutHostCommandAcknowledgement');
}
/**
* Grants permission to mark host agent commands completed
*
* Access Level: Write
*
* https://docs.aws.amazon.com/codedeploy/latest/userguide/vpc-endpoints.html#vpc-codedeploy-agent-configuration
*/
toPutHostCommandComplete() {
return this.to('PutHostCommandComplete');
}
}
exports.CodedeployCommandsSecure = CodedeployCommandsSecure;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZWRlcGxveXNlY3VyZWhvc3Rjb21tYW5kc3NlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjb2RlZGVwbG95c2VjdXJlaG9zdGNvbW1hbmRzc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSx5Q0FBK0M7QUFFL0M7Ozs7R0FJRztBQUNILE1BQWEsd0JBQXlCLFNBQVEsd0JBQWU7SUFHM0Q7Ozs7T0FJRztJQUNILFlBQVksR0FBWTtRQUN0QixLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFSTixrQkFBYSxHQUFHLDRCQUE0QixDQUFDO1FBdUQxQyxvQkFBZSxHQUFvQjtZQUMzQyxJQUFJLEVBQUU7Z0JBQ0osNEJBQTRCO2dCQUM1QixpQkFBaUI7YUFDbEI7WUFDRCxLQUFLLEVBQUU7Z0JBQ0wsK0JBQStCO2dCQUMvQix3QkFBd0I7YUFDekI7U0FDRixDQUFDO0lBdkRGLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSw0QkFBNEI7UUFDakMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLGlCQUFpQjtRQUN0QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksK0JBQStCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSx3QkFBd0I7UUFDN0IsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDM0MsQ0FBQztDQVlGO0FBbEVELDREQWtFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjY2Vzc0xldmVsTGlzdCB9IGZyb20gJy4uLy4uL3NoYXJlZC9hY2Nlc3MtbGV2ZWwnO1xuaW1wb3J0IHsgUG9saWN5U3RhdGVtZW50IH0gZnJvbSAnLi4vLi4vc2hhcmVkJztcblxuLyoqXG4gKiBTdGF0ZW1lbnQgcHJvdmlkZXIgZm9yIHNlcnZpY2UgW2NvZGVkZXBsb3ktY29tbWFuZHMtc2VjdXJlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2VydmljZS1hdXRob3JpemF0aW9uL2xhdGVzdC9yZWZlcmVuY2UvbGlzdF9hd3Njb2RlZGVwbG95c2VjdXJlaG9zdGNvbW1hbmRzc2VydmljZS5odG1sKS5cbiAqXG4gKiBAcGFyYW0gc2lkIFtTSURdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9yZWZlcmVuY2VfcG9saWNpZXNfZWxlbWVudHNfc2lkLmh0bWwpIG9mIHRoZSBzdGF0ZW1lbnRcbiAqL1xuZXhwb3J0IGNsYXNzIENvZGVkZXBsb3lDb21tYW5kc1NlY3VyZSBleHRlbmRzIFBvbGljeVN0YXRlbWVudCB7XG4gIHB1YmxpYyBzZXJ2aWNlUHJlZml4ID0gJ2NvZGVkZXBsb3ktY29tbWFuZHMtc2VjdXJlJztcblxuICAvKipcbiAgICogU3RhdGVtZW50IHByb3ZpZGVyIGZvciBzZXJ2aWNlIFtjb2RlZGVwbG95LWNvbW1hbmRzLXNlY3VyZV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NlcnZpY2UtYXV0aG9yaXphdGlvbi9sYXRlc3QvcmVmZXJlbmNlL2xpc3RfYXdzY29kZWRlcGxveXNlY3VyZWhvc3Rjb21tYW5kc3NlcnZpY2UuaHRtbCkuXG4gICAqXG4gICAqIEBwYXJhbSBzaWQgW1NJRF0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0lBTS9sYXRlc3QvVXNlckd1aWRlL3JlZmVyZW5jZV9wb2xpY2llc19lbGVtZW50c19zaWQuaHRtbCkgb2YgdGhlIHN0YXRlbWVudFxuICAgKi9cbiAgY29uc3RydWN0b3Ioc2lkPzogc3RyaW5nKSB7XG4gICAgc3VwZXIoc2lkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBnZXQgZGVwbG95bWVudCBzcGVjaWZpY2F0aW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY29kZWRlcGxveS9sYXRlc3QvdXNlcmd1aWRlL3ZwYy1lbmRwb2ludHMuaHRtbCN2cGMtY29kZWRlcGxveS1hZ2VudC1jb25maWd1cmF0aW9uXG4gICAqL1xuICBwdWJsaWMgdG9HZXREZXBsb3ltZW50U3BlY2lmaWNhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy50bygnR2V0RGVwbG95bWVudFNwZWNpZmljYXRpb24nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXF1ZXN0IGhvc3QgYWdlbnQgY29tbWFuZHNcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jb2RlZGVwbG95L2xhdGVzdC91c2VyZ3VpZGUvdnBjLWVuZHBvaW50cy5odG1sI3ZwYy1jb2RlZGVwbG95LWFnZW50LWNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHB1YmxpYyB0b1BvbGxIb3N0Q29tbWFuZCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnUG9sbEhvc3RDb21tYW5kJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gbWFyayBob3N0IGFnZW50IGNvbW1hbmRzIGFja25vd2xlZGdlZFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jb2RlZGVwbG95L2xhdGVzdC91c2VyZ3VpZGUvdnBjLWVuZHBvaW50cy5odG1sI3ZwYy1jb2RlZGVwbG95LWFnZW50LWNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHB1YmxpYyB0b1B1dEhvc3RDb21tYW5kQWNrbm93bGVkZ2VtZW50KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdQdXRIb3N0Q29tbWFuZEFja25vd2xlZGdlbWVudCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIG1hcmsgaG9zdCBhZ2VudCBjb21tYW5kcyBjb21wbGV0ZWRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY29kZWRlcGxveS9sYXRlc3QvdXNlcmd1aWRlL3ZwYy1lbmRwb2ludHMuaHRtbCN2cGMtY29kZWRlcGxveS1hZ2VudC1jb25maWd1cmF0aW9uXG4gICAqL1xuICBwdWJsaWMgdG9QdXRIb3N0Q29tbWFuZENvbXBsZXRlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdQdXRIb3N0Q29tbWFuZENvbXBsZXRlJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYWNjZXNzTGV2ZWxMaXN0OiBBY2Nlc3NMZXZlbExpc3QgPSB7XG4gICAgUmVhZDogW1xuICAgICAgJ0dldERlcGxveW1lbnRTcGVjaWZpY2F0aW9uJyxcbiAgICAgICdQb2xsSG9zdENvbW1hbmQnXG4gICAgXSxcbiAgICBXcml0ZTogW1xuICAgICAgJ1B1dEhvc3RDb21tYW5kQWNrbm93bGVkZ2VtZW50JyxcbiAgICAgICdQdXRIb3N0Q29tbWFuZENvbXBsZXRlJ1xuICAgIF1cbiAgfTtcbn1cbiJdfQ==