UNPKG

cdk-iam-floyd

Version:

AWS IAM policy statement generator with fluent interface for AWS CDK

70 lines 7.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BedrockWebsearch = void 0; const shared_1 = require("../../shared"); /** * Statement provider for service [bedrock-websearch](https://docs.aws.amazon.com/service-authorization/latest/reference/list_bedrock-websearch.html). * * @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement */ class BedrockWebsearch extends shared_1.PolicyStatement { /** * Grants permission to invoke web fetch tools * * Access Level: Read * * https://docs.aws.amazon.com/bedrock/latest/userguide/security-web-search.html#security-web-search-actions */ toInvokeFetch() { return this.to('InvokeFetch'); } /** * Grants permission to invoke web search tools * * Access Level: Read * * https://docs.aws.amazon.com/bedrock/latest/userguide/security-web-search.html#security-web-search-actions */ toInvokeSearch() { return this.to('InvokeSearch'); } /** * Grants permission to retrieve content from external web sites outside the AWS boundary * * Access Level: Read * * https://docs.aws.amazon.com/bedrock/latest/userguide/security-web-search.html#security-web-search-actions */ toExternalWebAccess() { return this.to('ExternalWebAccess'); } /** * Adds a resource of type tool to the statement * * https://docs.aws.amazon.com/bedrock/latest/userguide/security-web-search.html#security-web-search-actions * * @param toolName - Identifier for the toolName. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @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. */ onTool(toolName, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:bedrock-websearch:${region ?? this.defaultRegion}:aws:tool/${toolName}`); } /** * Statement provider for service [bedrock-websearch](https://docs.aws.amazon.com/service-authorization/latest/reference/list_bedrock-websearch.html). * */ constructor(props) { super(props); this.servicePrefix = 'bedrock-websearch'; this.accessLevelList = { Read: [ 'InvokeFetch', 'InvokeSearch', 'ExternalWebAccess' ] }; } } exports.BedrockWebsearch = BedrockWebsearch; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVkcm9jay13ZWJzZWFyY2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJiZWRyb2NrLXdlYnNlYXJjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSx5Q0FBK0M7QUFHL0M7Ozs7R0FJRztBQUNILE1BQWEsZ0JBQWlCLFNBQVEsd0JBQWU7SUFHbkQ7Ozs7OztPQU1HO0lBQ0ksYUFBYTtRQUNsQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLGNBQWM7UUFDbkIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxtQkFBbUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDdEMsQ0FBQztJQVVEOzs7Ozs7OztPQVFHO0lBQ0ksTUFBTSxDQUFDLFFBQWdCLEVBQUUsTUFBZSxFQUFFLFNBQWtCO1FBQ2pFLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFRLFNBQVMsSUFBSSxJQUFJLENBQUMsZ0JBQWlCLHNCQUF1QixNQUFNLElBQUksSUFBSSxDQUFDLGFBQWMsYUFBYyxRQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQzNJLENBQUM7SUFFRDs7O09BR0c7SUFDSCxZQUFZLEtBQWdDO1FBQzFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQTdEUixrQkFBYSxHQUFHLG1CQUFtQixDQUFDO1FBbUNqQyxvQkFBZSxHQUFvQjtZQUMzQyxJQUFJLEVBQUU7Z0JBQ0osYUFBYTtnQkFDYixjQUFjO2dCQUNkLG1CQUFtQjthQUNwQjtTQUNGLENBQUM7SUFxQkYsQ0FBQztDQUNGO0FBaEVELDRDQWdFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjY2Vzc0xldmVsTGlzdCB9IGZyb20gJy4uLy4uL3NoYXJlZC9hY2Nlc3MtbGV2ZWwnO1xuaW1wb3J0IHsgUG9saWN5U3RhdGVtZW50IH0gZnJvbSAnLi4vLi4vc2hhcmVkJztcbmltcG9ydCB7IGF3c19pYW0gYXMgaWFtIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5cbi8qKlxuICogU3RhdGVtZW50IHByb3ZpZGVyIGZvciBzZXJ2aWNlIFtiZWRyb2NrLXdlYnNlYXJjaF0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NlcnZpY2UtYXV0aG9yaXphdGlvbi9sYXRlc3QvcmVmZXJlbmNlL2xpc3RfYmVkcm9jay13ZWJzZWFyY2guaHRtbCkuXG4gKlxuICogQHBhcmFtIHNpZCBbU0lEXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vSUFNL2xhdGVzdC9Vc2VyR3VpZGUvcmVmZXJlbmNlX3BvbGljaWVzX2VsZW1lbnRzX3NpZC5odG1sKSBvZiB0aGUgc3RhdGVtZW50XG4gKi9cbmV4cG9ydCBjbGFzcyBCZWRyb2NrV2Vic2VhcmNoIGV4dGVuZHMgUG9saWN5U3RhdGVtZW50IHtcbiAgcHVibGljIHNlcnZpY2VQcmVmaXggPSAnYmVkcm9jay13ZWJzZWFyY2gnO1xuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBpbnZva2Ugd2ViIGZldGNoIHRvb2xzXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYmVkcm9jay9sYXRlc3QvdXNlcmd1aWRlL3NlY3VyaXR5LXdlYi1zZWFyY2guaHRtbCNzZWN1cml0eS13ZWItc2VhcmNoLWFjdGlvbnNcbiAgICovXG4gIHB1YmxpYyB0b0ludm9rZUZldGNoKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdJbnZva2VGZXRjaCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGludm9rZSB3ZWIgc2VhcmNoIHRvb2xzXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYmVkcm9jay9sYXRlc3QvdXNlcmd1aWRlL3NlY3VyaXR5LXdlYi1zZWFyY2guaHRtbCNzZWN1cml0eS13ZWItc2VhcmNoLWFjdGlvbnNcbiAgICovXG4gIHB1YmxpYyB0b0ludm9rZVNlYXJjaCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnSW52b2tlU2VhcmNoJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0cmlldmUgY29udGVudCBmcm9tIGV4dGVybmFsIHdlYiBzaXRlcyBvdXRzaWRlIHRoZSBBV1MgYm91bmRhcnlcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9iZWRyb2NrL2xhdGVzdC91c2VyZ3VpZGUvc2VjdXJpdHktd2ViLXNlYXJjaC5odG1sI3NlY3VyaXR5LXdlYi1zZWFyY2gtYWN0aW9uc1xuICAgKi9cbiAgcHVibGljIHRvRXh0ZXJuYWxXZWJBY2Nlc3MoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0V4dGVybmFsV2ViQWNjZXNzJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYWNjZXNzTGV2ZWxMaXN0OiBBY2Nlc3NMZXZlbExpc3QgPSB7XG4gICAgUmVhZDogW1xuICAgICAgJ0ludm9rZUZldGNoJyxcbiAgICAgICdJbnZva2VTZWFyY2gnLFxuICAgICAgJ0V4dGVybmFsV2ViQWNjZXNzJ1xuICAgIF1cbiAgfTtcblxuICAvKipcbiAgICogQWRkcyBhIHJlc291cmNlIG9mIHR5cGUgdG9vbCB0byB0aGUgc3RhdGVtZW50XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9iZWRyb2NrL2xhdGVzdC91c2VyZ3VpZGUvc2VjdXJpdHktd2ViLXNlYXJjaC5odG1sI3NlY3VyaXR5LXdlYi1zZWFyY2gtYWN0aW9uc1xuICAgKlxuICAgKiBAcGFyYW0gdG9vbE5hbWUgLSBJZGVudGlmaWVyIGZvciB0aGUgdG9vbE5hbWUuXG4gICAqIEBwYXJhbSByZWdpb24gLSBSZWdpb24gb2YgdGhlIHJlc291cmNlOyBkZWZhdWx0cyB0byBgKmAsIHVubGVzcyB1c2luZyB0aGUgQ0RLLCB3aGVyZSB0aGUgZGVmYXVsdCBpcyB0aGUgY3VycmVudCBTdGFjaydzIHJlZ2lvbi5cbiAgICogQHBhcmFtIHBhcnRpdGlvbiAtIFBhcnRpdGlvbiBvZiB0aGUgQVdTIGFjY291bnQgW2F3cywgYXdzLWNuLCBhd3MtdXMtZ292XTsgZGVmYXVsdHMgdG8gYGF3c2AsIHVubGVzcyB1c2luZyB0aGUgQ0RLLCB3aGVyZSB0aGUgZGVmYXVsdCBpcyB0aGUgY3VycmVudCBTdGFjaydzIHBhcnRpdGlvbi5cbiAgICovXG4gIHB1YmxpYyBvblRvb2wodG9vbE5hbWU6IHN0cmluZywgcmVnaW9uPzogc3RyaW5nLCBwYXJ0aXRpb24/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5vbihgYXJuOiR7IHBhcnRpdGlvbiA/PyB0aGlzLmRlZmF1bHRQYXJ0aXRpb24gfTpiZWRyb2NrLXdlYnNlYXJjaDokeyByZWdpb24gPz8gdGhpcy5kZWZhdWx0UmVnaW9uIH06YXdzOnRvb2wvJHsgdG9vbE5hbWUgfWApO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0YXRlbWVudCBwcm92aWRlciBmb3Igc2VydmljZSBbYmVkcm9jay13ZWJzZWFyY2hdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zZXJ2aWNlLWF1dGhvcml6YXRpb24vbGF0ZXN0L3JlZmVyZW5jZS9saXN0X2JlZHJvY2std2Vic2VhcmNoLmh0bWwpLlxuICAgKlxuICAgKi9cbiAgY29uc3RydWN0b3IocHJvcHM/OiBpYW0uUG9saWN5U3RhdGVtZW50UHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gIH1cbn1cbiJdfQ==