1 | ;
|
2 | var _a;
|
3 | Object.defineProperty(exports, "__esModule", { value: true });
|
4 | exports.ResourcePolicy = void 0;
|
5 | const jsiiDeprecationWarnings = require("../.warnings.jsii.js");
|
6 | const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
7 | const aws_iam_1 = require("@aws-cdk/aws-iam");
|
8 | const core_1 = require("@aws-cdk/core");
|
9 | const logs_generated_1 = require("./logs.generated");
|
10 | /**
|
11 | * Resource Policy for CloudWatch Log Groups
|
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 | */
|
24 | class ResourcePolicy extends core_1.Resource {
|
25 | constructor(scope, id, props) {
|
26 | super(scope, id, {
|
27 | physicalName: props === null || props === void 0 ? void 0 : props.resourcePolicyName,
|
28 | });
|
29 | /**
|
30 | * The IAM policy document for this resource policy.
|
31 | */
|
32 | this.document = new aws_iam_1.PolicyDocument();
|
33 | try {
|
34 | jsiiDeprecationWarnings._aws_cdk_aws_logs_ResourcePolicyProps(props);
|
35 | }
|
36 | catch (error) {
|
37 | if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
38 | Error.captureStackTrace(error, this.constructor);
|
39 | }
|
40 | throw error;
|
41 | }
|
42 | new logs_generated_1.CfnResourcePolicy(this, 'ResourcePolicy', {
|
43 | policyName: core_1.Lazy.string({
|
44 | produce: () => { var _b; return (_b = props === null || props === void 0 ? void 0 : props.resourcePolicyName) !== null && _b !== void 0 ? _b : core_1.Names.uniqueId(this); },
|
45 | }),
|
46 | policyDocument: core_1.Lazy.string({
|
47 | produce: () => JSON.stringify(this.document),
|
48 | }),
|
49 | });
|
50 | if (props === null || props === void 0 ? void 0 : props.policyStatements) {
|
51 | this.document.addStatements(...props.policyStatements);
|
52 | }
|
53 | }
|
54 | }
|
55 | exports.ResourcePolicy = ResourcePolicy;
|
56 | _a = JSII_RTTI_SYMBOL_1;
|
57 | ResourcePolicy[_a] = { fqn: "@aws-cdk/aws-logs.ResourcePolicy", version: "1.156.1" };
|
58 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9saWN5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicG9saWN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDhDQUFtRTtBQUNuRSx3Q0FBc0Q7QUFFdEQscURBQXFEO0FBb0JyRDs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsTUFBYSxjQUFlLFNBQVEsZUFBUTtJQU0xQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTJCO1FBQ25FLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsWUFBWSxFQUFFLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxrQkFBa0I7U0FDeEMsQ0FBQyxDQUFDO1FBUkw7O1dBRUc7UUFDYSxhQUFRLEdBQUcsSUFBSSx3QkFBYyxFQUFFLENBQUM7Ozs7Ozs7Ozs7UUFPOUMsSUFBSSxrQ0FBaUIsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7WUFDNUMsVUFBVSxFQUFFLFdBQUksQ0FBQyxNQUFNLENBQUM7Z0JBQ3RCLE9BQU8sRUFBRSxHQUFHLEVBQUUsd0JBQUMsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLGtCQUFrQixtQ0FBSSxZQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFBO2FBQ2pFLENBQUM7WUFDRixjQUFjLEVBQUUsV0FBSSxDQUFDLE1BQU0sQ0FBQztnQkFDMUIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQzthQUM3QyxDQUFDO1NBQ0gsQ0FBQyxDQUFDO1FBRUgsSUFBSSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsZ0JBQWdCLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztTQUN4RDtLQUNGOztBQXZCSCx3Q0F3QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQb2xpY3lEb2N1bWVudCwgUG9saWN5U3RhdGVtZW50IH0gZnJvbSAnQGF3cy1jZGsvYXdzLWlhbSc7XG5pbXBvcnQgeyBSZXNvdXJjZSwgTGF6eSwgTmFtZXMgfSBmcm9tICdAYXdzLWNkay9jb3JlJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgQ2ZuUmVzb3VyY2VQb2xpY3kgfSBmcm9tICcuL2xvZ3MuZ2VuZXJhdGVkJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIHRvIGRlZmluZSBDbG91ZHdhdGNoIGxvZyBncm91cCByZXNvdXJjZSBwb2xpY3lcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNvdXJjZVBvbGljeVByb3BzIHtcbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIGxvZyBncm91cCByZXNvdXJjZSBwb2xpY3lcbiAgICogQGRlZmF1bHQgLSBVc2VzIGEgdW5pcXVlIGlkIGJhc2VkIG9uIHRoZSBjb25zdHJ1Y3QgcGF0aFxuICAgKi9cbiAgcmVhZG9ubHkgcmVzb3VyY2VQb2xpY3lOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJbml0aWFsIHN0YXRlbWVudHMgdG8gYWRkIHRvIHRoZSByZXNvdXJjZSBwb2xpY3lcbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBzdGF0ZW1lbnRzXG4gICAqL1xuICByZWFkb25seSBwb2xpY3lTdGF0ZW1lbnRzPzogUG9saWN5U3RhdGVtZW50W107XG59XG5cbi8qKlxuICogUmVzb3VyY2UgUG9saWN5IGZvciBDbG91ZFdhdGNoIExvZyBHcm91cHNcbiAqXG4gKiBQb2xpY2llcyBkZWZpbmUgdGhlIG9wZXJhdGlvbnMgdGhhdCBhcmUgYWxsb3dlZCBvbiB0aGlzIHJlc291cmNlLlxuICpcbiAqIFlvdSBhbG1vc3QgbmV2ZXIgbmVlZCB0byBkZWZpbmUgdGhpcyBjb25zdHJ1Y3QgZGlyZWN0bHkuXG4gKlxuICogQWxsIEFXUyByZXNvdXJjZXMgdGhhdCBzdXBwb3J0IHJlc291cmNlIHBvbGljaWVzIGhhdmUgYSBtZXRob2QgY2FsbGVkXG4gKiBgYWRkVG9SZXNvdXJjZVBvbGljeSgpYCwgd2hpY2ggd2lsbCBhdXRvbWF0aWNhbGx5IGNyZWF0ZSBhIG5ldyByZXNvdXJjZVxuICogcG9saWN5IGlmIG9uZSBkb2Vzbid0IGV4aXN0IHlldCwgb3RoZXJ3aXNlIGl0IHdpbGwgYWRkIHRvIHRoZSBleGlzdGluZ1xuICogcG9saWN5LlxuICpcbiAqIFByZWZlciB0byB1c2UgYGFkZFRvUmVzb3VyY2VQb2xpY3koKWAgaW5zdGVhZC5cbiAqL1xuZXhwb3J0IGNsYXNzIFJlc291cmNlUG9saWN5IGV4dGVuZHMgUmVzb3VyY2Uge1xuICAvKipcbiAgICogVGhlIElBTSBwb2xpY3kgZG9jdW1lbnQgZm9yIHRoaXMgcmVzb3VyY2UgcG9saWN5LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRvY3VtZW50ID0gbmV3IFBvbGljeURvY3VtZW50KCk7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiBSZXNvdXJjZVBvbGljeVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBwaHlzaWNhbE5hbWU6IHByb3BzPy5yZXNvdXJjZVBvbGljeU5hbWUsXG4gICAgfSk7XG5cbiAgICBuZXcgQ2ZuUmVzb3VyY2VQb2xpY3kodGhpcywgJ1Jlc291cmNlUG9saWN5Jywge1xuICAgICAgcG9saWN5TmFtZTogTGF6eS5zdHJpbmcoe1xuICAgICAgICBwcm9kdWNlOiAoKSA9PiBwcm9wcz8ucmVzb3VyY2VQb2xpY3lOYW1lID8/IE5hbWVzLnVuaXF1ZUlkKHRoaXMpLFxuICAgICAgfSksXG4gICAgICBwb2xpY3lEb2N1bWVudDogTGF6eS5zdHJpbmcoe1xuICAgICAgICBwcm9kdWNlOiAoKSA9PiBKU09OLnN0cmluZ2lmeSh0aGlzLmRvY3VtZW50KSxcbiAgICAgIH0pLFxuICAgIH0pO1xuXG4gICAgaWYgKHByb3BzPy5wb2xpY3lTdGF0ZW1lbnRzKSB7XG4gICAgICB0aGlzLmRvY3VtZW50LmFkZFN0YXRlbWVudHMoLi4ucHJvcHMucG9saWN5U3RhdGVtZW50cyk7XG4gICAgfVxuICB9XG59XG4iXX0= |
\ | No newline at end of file |