UNPKG

iam-floyd

Version:

AWS IAM policy statement generator with fluent interface

83 lines 7.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.IotDeviceTester = void 0; const shared_1 = require("../../shared"); /** * Statement provider for service [iot-device-tester](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiotdevicetester.html). * * @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement */ class IotDeviceTester extends shared_1.PolicyStatement { /** * Statement provider for service [iot-device-tester](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiotdevicetester.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 = 'iot-device-tester'; this.accessLevelList = { Read: [ 'CheckVersion', 'DownloadTestSuite', 'LatestIdt', 'SupportedVersion' ], Write: [ 'SendMetrics' ] }; } /** * Grants permission to IoT Device Tester to check if a given set of product, test suite and device tester version are compatible * * Access Level: Read * * https://docs.aws.amazon.com/freertos/latest/userguide/dev-tester-prereqs.html */ toCheckVersion() { return this.to('CheckVersion'); } /** * Grants permission to IoT Device Tester to download compatible test suite versions * * Access Level: Read * * https://docs.aws.amazon.com/freertos/latest/userguide/dev-tester-prereqs.html */ toDownloadTestSuite() { return this.to('DownloadTestSuite'); } /** * Grants permission to IoT Device Tester to get information on latest version of device tester available * * Access Level: Read * * https://docs.aws.amazon.com/freertos/latest/userguide/dev-tester-prereqs.html */ toLatestIdt() { return this.to('LatestIdt'); } /** * Grants permission to IoT Device Tester to send usage metrics on your behalf * * Access Level: Write * * https://docs.aws.amazon.com/freertos/latest/userguide/dev-tester-prereqs.html */ toSendMetrics() { return this.to('SendMetrics'); } /** * Grants permission to IoT Device Tester to get list of supported products and test suite versions * * Access Level: Read * * https://docs.aws.amazon.com/freertos/latest/userguide/dev-tester-prereqs.html */ toSupportedVersion() { return this.to('SupportedVersion'); } } exports.IotDeviceTester = IotDeviceTester; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW90ZGV2aWNldGVzdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiaW90ZGV2aWNldGVzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHlDQUErQztBQUUvQzs7OztHQUlHO0FBQ0gsTUFBYSxlQUFnQixTQUFRLHdCQUFlO0lBR2xEOzs7O09BSUc7SUFDSCxZQUFZLEdBQVk7UUFDdEIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBUk4sa0JBQWEsR0FBRyxtQkFBbUIsQ0FBQztRQWtFakMsb0JBQWUsR0FBb0I7WUFDM0MsSUFBSSxFQUFFO2dCQUNKLGNBQWM7Z0JBQ2QsbUJBQW1CO2dCQUNuQixXQUFXO2dCQUNYLGtCQUFrQjthQUNuQjtZQUNELEtBQUssRUFBRTtnQkFDTCxhQUFhO2FBQ2Q7U0FDRixDQUFDO0lBbkVGLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxjQUFjO1FBQ25CLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksbUJBQW1CO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxXQUFXO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksYUFBYTtRQUNsQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLGtCQUFrQjtRQUN2QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0NBYUY7QUE5RUQsMENBOEVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWNjZXNzTGV2ZWxMaXN0IH0gZnJvbSAnLi4vLi4vc2hhcmVkL2FjY2Vzcy1sZXZlbCc7XG5pbXBvcnQgeyBQb2xpY3lTdGF0ZW1lbnQgfSBmcm9tICcuLi8uLi9zaGFyZWQnO1xuXG4vKipcbiAqIFN0YXRlbWVudCBwcm92aWRlciBmb3Igc2VydmljZSBbaW90LWRldmljZS10ZXN0ZXJdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zZXJ2aWNlLWF1dGhvcml6YXRpb24vbGF0ZXN0L3JlZmVyZW5jZS9saXN0X2F3c2lvdGRldmljZXRlc3Rlci5odG1sKS5cbiAqXG4gKiBAcGFyYW0gc2lkIFtTSURdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9yZWZlcmVuY2VfcG9saWNpZXNfZWxlbWVudHNfc2lkLmh0bWwpIG9mIHRoZSBzdGF0ZW1lbnRcbiAqL1xuZXhwb3J0IGNsYXNzIElvdERldmljZVRlc3RlciBleHRlbmRzIFBvbGljeVN0YXRlbWVudCB7XG4gIHB1YmxpYyBzZXJ2aWNlUHJlZml4ID0gJ2lvdC1kZXZpY2UtdGVzdGVyJztcblxuICAvKipcbiAgICogU3RhdGVtZW50IHByb3ZpZGVyIGZvciBzZXJ2aWNlIFtpb3QtZGV2aWNlLXRlc3Rlcl0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NlcnZpY2UtYXV0aG9yaXphdGlvbi9sYXRlc3QvcmVmZXJlbmNlL2xpc3RfYXdzaW90ZGV2aWNldGVzdGVyLmh0bWwpLlxuICAgKlxuICAgKiBAcGFyYW0gc2lkIFtTSURdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9yZWZlcmVuY2VfcG9saWNpZXNfZWxlbWVudHNfc2lkLmh0bWwpIG9mIHRoZSBzdGF0ZW1lbnRcbiAgICovXG4gIGNvbnN0cnVjdG9yKHNpZD86IHN0cmluZykge1xuICAgIHN1cGVyKHNpZCk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gSW9UIERldmljZSBUZXN0ZXIgdG8gY2hlY2sgaWYgYSBnaXZlbiBzZXQgb2YgcHJvZHVjdCwgdGVzdCBzdWl0ZSBhbmQgZGV2aWNlIHRlc3RlciB2ZXJzaW9uIGFyZSBjb21wYXRpYmxlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZnJlZXJ0b3MvbGF0ZXN0L3VzZXJndWlkZS9kZXYtdGVzdGVyLXByZXJlcXMuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQ2hlY2tWZXJzaW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdDaGVja1ZlcnNpb24nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBJb1QgRGV2aWNlIFRlc3RlciB0byBkb3dubG9hZCBjb21wYXRpYmxlIHRlc3Qgc3VpdGUgdmVyc2lvbnNcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9mcmVlcnRvcy9sYXRlc3QvdXNlcmd1aWRlL2Rldi10ZXN0ZXItcHJlcmVxcy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9Eb3dubG9hZFRlc3RTdWl0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRG93bmxvYWRUZXN0U3VpdGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBJb1QgRGV2aWNlIFRlc3RlciB0byBnZXQgaW5mb3JtYXRpb24gb24gbGF0ZXN0IHZlcnNpb24gb2YgZGV2aWNlIHRlc3RlciBhdmFpbGFibGVcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9mcmVlcnRvcy9sYXRlc3QvdXNlcmd1aWRlL2Rldi10ZXN0ZXItcHJlcmVxcy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9MYXRlc3RJZHQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0xhdGVzdElkdCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIElvVCBEZXZpY2UgVGVzdGVyIHRvIHNlbmQgdXNhZ2UgbWV0cmljcyBvbiB5b3VyIGJlaGFsZlxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9mcmVlcnRvcy9sYXRlc3QvdXNlcmd1aWRlL2Rldi10ZXN0ZXItcHJlcmVxcy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9TZW5kTWV0cmljcygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnU2VuZE1ldHJpY3MnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBJb1QgRGV2aWNlIFRlc3RlciB0byBnZXQgbGlzdCBvZiBzdXBwb3J0ZWQgcHJvZHVjdHMgYW5kIHRlc3Qgc3VpdGUgdmVyc2lvbnNcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9mcmVlcnRvcy9sYXRlc3QvdXNlcmd1aWRlL2Rldi10ZXN0ZXItcHJlcmVxcy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9TdXBwb3J0ZWRWZXJzaW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdTdXBwb3J0ZWRWZXJzaW9uJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYWNjZXNzTGV2ZWxMaXN0OiBBY2Nlc3NMZXZlbExpc3QgPSB7XG4gICAgUmVhZDogW1xuICAgICAgJ0NoZWNrVmVyc2lvbicsXG4gICAgICAnRG93bmxvYWRUZXN0U3VpdGUnLFxuICAgICAgJ0xhdGVzdElkdCcsXG4gICAgICAnU3VwcG9ydGVkVmVyc2lvbidcbiAgICBdLFxuICAgIFdyaXRlOiBbXG4gICAgICAnU2VuZE1ldHJpY3MnXG4gICAgXVxuICB9O1xufVxuIl19