UNPKG

5.08 kBJavaScriptView Raw
1"use strict";
2var _a;
3Object.defineProperty(exports, "__esModule", { value: true });
4exports.QueuePolicy = void 0;
5const jsiiDeprecationWarnings = require("../.warnings.jsii.js");
6const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
7const aws_iam_1 = require("@aws-cdk/aws-iam");
8const core_1 = require("@aws-cdk/core");
9const sqs_generated_1 = require("./sqs.generated");
10/**
11 * The policy for an SQS Queue
12 *
13 * Policies define the operations that are allowed on this resource.
14 *
15 * You almost never need to define this construct directly.
16 *
17 * All AWS resources that support resource policies have a method called
18 * `addToResourcePolicy()`, which will automatically create a new resource
19 * policy if one doesn't exist yet, otherwise it will add to the existing
20 * policy.
21 *
22 * Prefer to use `addToResourcePolicy()` instead.
23 */
24class QueuePolicy extends core_1.Resource {
25 constructor(scope, id, props) {
26 super(scope, id);
27 /**
28 * The IAM policy document for this policy.
29 */
30 this.document = new aws_iam_1.PolicyDocument();
31 try {
32 jsiiDeprecationWarnings._aws_cdk_aws_sqs_QueuePolicyProps(props);
33 }
34 catch (error) {
35 if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
36 Error.captureStackTrace(error, this.constructor);
37 }
38 throw error;
39 }
40 new sqs_generated_1.CfnQueuePolicy(this, 'Resource', {
41 policyDocument: this.document,
42 queues: props.queues.map(q => q.queueUrl),
43 });
44 }
45 /**
46 * Not currently supported by AWS CloudFormation.
47 *
48 * This attribute temporarily existed in CloudFormation, and then was removed again.
49 *
50 * @attribute
51 */
52 get queuePolicyId() {
53 throw new Error('QueuePolicy.queuePolicyId has been removed from CloudFormation');
54 }
55}
56exports.QueuePolicy = QueuePolicy;
57_a = JSII_RTTI_SYMBOL_1;
58QueuePolicy[_a] = { fqn: "@aws-cdk/aws-sqs.QueuePolicy", version: "1.155.0" };
59//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9saWN5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicG9saWN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDhDQUFrRDtBQUNsRCx3Q0FBeUM7QUFHekMsbURBQWlEO0FBWWpEOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFDSCxNQUFhLFdBQVksU0FBUSxlQUFRO0lBTXZDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBdUI7UUFDL0QsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQU5uQjs7V0FFRztRQUNhLGFBQVEsR0FBRyxJQUFJLHdCQUFjLEVBQUUsQ0FBQzs7Ozs7Ozs7OztRQUs5QyxJQUFJLDhCQUFjLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUNuQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDN0IsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztTQUMxQyxDQUFDLENBQUM7S0FDSjtJQUVEOzs7Ozs7T0FNRztJQUNILElBQVcsYUFBYTtRQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLGdFQUFnRSxDQUFDLENBQUM7S0FDbkY7O0FBeEJILGtDQXlCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBvbGljeURvY3VtZW50IH0gZnJvbSAnQGF3cy1jZGsvYXdzLWlhbSc7XG5pbXBvcnQgeyBSZXNvdXJjZSB9IGZyb20gJ0Bhd3MtY2RrL2NvcmUnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBJUXVldWUgfSBmcm9tICcuL3F1ZXVlLWJhc2UnO1xuaW1wb3J0IHsgQ2ZuUXVldWVQb2xpY3kgfSBmcm9tICcuL3Nxcy5nZW5lcmF0ZWQnO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgdG8gYXNzb2NpYXRlIFNRUyBxdWV1ZXMgd2l0aCBhIHBvbGljeVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXVlUG9saWN5UHJvcHMge1xuICAvKipcbiAgICogVGhlIHNldCBvZiBxdWV1ZXMgdGhpcyBwb2xpY3kgYXBwbGllcyB0by5cbiAgICovXG4gIHJlYWRvbmx5IHF1ZXVlczogSVF1ZXVlW107XG59XG5cbi8qKlxuICogVGhlIHBvbGljeSBmb3IgYW4gU1FTIFF1ZXVlXG4gKlxuICogUG9saWNpZXMgZGVmaW5lIHRoZSBvcGVyYXRpb25zIHRoYXQgYXJlIGFsbG93ZWQgb24gdGhpcyByZXNvdXJjZS5cbiAqXG4gKiBZb3UgYWxtb3N0IG5ldmVyIG5lZWQgdG8gZGVmaW5lIHRoaXMgY29uc3RydWN0IGRpcmVjdGx5LlxuICpcbiAqIEFsbCBBV1MgcmVzb3VyY2VzIHRoYXQgc3VwcG9ydCByZXNvdXJjZSBwb2xpY2llcyBoYXZlIGEgbWV0aG9kIGNhbGxlZFxuICogYGFkZFRvUmVzb3VyY2VQb2xpY3koKWAsIHdoaWNoIHdpbGwgYXV0b21hdGljYWxseSBjcmVhdGUgYSBuZXcgcmVzb3VyY2VcbiAqIHBvbGljeSBpZiBvbmUgZG9lc24ndCBleGlzdCB5ZXQsIG90aGVyd2lzZSBpdCB3aWxsIGFkZCB0byB0aGUgZXhpc3RpbmdcbiAqIHBvbGljeS5cbiAqXG4gKiBQcmVmZXIgdG8gdXNlIGBhZGRUb1Jlc291cmNlUG9saWN5KClgIGluc3RlYWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBRdWV1ZVBvbGljeSBleHRlbmRzIFJlc291cmNlIHtcbiAgLyoqXG4gICAqIFRoZSBJQU0gcG9saWN5IGRvY3VtZW50IGZvciB0aGlzIHBvbGljeS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkb2N1bWVudCA9IG5ldyBQb2xpY3lEb2N1bWVudCgpO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBRdWV1ZVBvbGljeVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIG5ldyBDZm5RdWV1ZVBvbGljeSh0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBwb2xpY3lEb2N1bWVudDogdGhpcy5kb2N1bWVudCxcbiAgICAgIHF1ZXVlczogcHJvcHMucXVldWVzLm1hcChxID0+IHEucXVldWVVcmwpLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE5vdCBjdXJyZW50bHkgc3VwcG9ydGVkIGJ5IEFXUyBDbG91ZEZvcm1hdGlvbi5cbiAgICpcbiAgICogVGhpcyBhdHRyaWJ1dGUgdGVtcG9yYXJpbHkgZXhpc3RlZCBpbiBDbG91ZEZvcm1hdGlvbiwgYW5kIHRoZW4gd2FzIHJlbW92ZWQgYWdhaW4uXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHB1YmxpYyBnZXQgcXVldWVQb2xpY3lJZCgpOiBzdHJpbmcge1xuICAgIHRocm93IG5ldyBFcnJvcignUXVldWVQb2xpY3kucXVldWVQb2xpY3lJZCBoYXMgYmVlbiByZW1vdmVkIGZyb20gQ2xvdWRGb3JtYXRpb24nKTtcbiAgfVxufVxuIl19
\No newline at end of file