@aws-cdk/aws-route53resolver-alpha 2.12.0-alpha.0 → 2.15.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +16 -3
- package/.jsii.tabl.json +17 -17
- package/lib/firewall-domain-list.d.ts +47 -102
- package/lib/firewall-domain-list.js +14 -30
- package/lib/firewall-rule-group-association.d.ts +35 -67
- package/lib/firewall-rule-group-association.js +3 -8
- package/lib/firewall-rule-group.d.ts +55 -132
- package/lib/firewall-rule-group.js +22 -44
- package/package.json +8 -8
|
@@ -3,123 +3,91 @@ import { Resource } from 'aws-cdk-lib';
|
|
|
3
3
|
import { Construct } from 'constructs';
|
|
4
4
|
import { IFirewallRuleGroup } from './firewall-rule-group';
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* @experimental
|
|
6
|
+
* Options for a Firewall Rule Group Association
|
|
9
7
|
*/
|
|
10
8
|
export interface FirewallRuleGroupAssociationOptions {
|
|
11
9
|
/**
|
|
12
|
-
*
|
|
10
|
+
* If enabled, this setting disallows modification or removal of the
|
|
11
|
+
* association, to help prevent against accidentally altering DNS firewall
|
|
12
|
+
* protections.
|
|
13
13
|
*
|
|
14
14
|
* @default true
|
|
15
|
-
* @experimental
|
|
16
15
|
*/
|
|
17
16
|
readonly mutationProtection?: boolean;
|
|
18
17
|
/**
|
|
19
|
-
*
|
|
18
|
+
* The name of the association
|
|
20
19
|
*
|
|
21
20
|
* @default - a CloudFormation generated name
|
|
22
|
-
* @experimental
|
|
23
21
|
*/
|
|
24
22
|
readonly name?: string;
|
|
25
23
|
/**
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
* DNS Firewall filters VPC
|
|
24
|
+
* The setting that determines the processing order of the rule group among
|
|
25
|
+
* the rule groups that are associated with a single VPC. DNS Firewall filters VPC
|
|
29
26
|
* traffic starting from rule group with the lowest numeric priority setting.
|
|
30
27
|
*
|
|
31
28
|
* This value must be greater than 100 and less than 9,000
|
|
32
|
-
*
|
|
33
|
-
* @experimental
|
|
34
29
|
*/
|
|
35
30
|
readonly priority: number;
|
|
36
31
|
/**
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
* @experimental
|
|
32
|
+
* The VPC that to associate with the rule group.
|
|
40
33
|
*/
|
|
41
34
|
readonly vpc: IVpc;
|
|
42
35
|
}
|
|
43
36
|
/**
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
* @experimental
|
|
37
|
+
* Properties for a Firewall Rule Group Association
|
|
47
38
|
*/
|
|
48
39
|
export interface FirewallRuleGroupAssociationProps extends FirewallRuleGroupAssociationOptions {
|
|
49
40
|
/**
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
* @experimental
|
|
41
|
+
* The firewall rule group which must be associated
|
|
53
42
|
*/
|
|
54
43
|
readonly firewallRuleGroup: IFirewallRuleGroup;
|
|
55
44
|
}
|
|
56
45
|
/**
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
* @experimental
|
|
46
|
+
* A Firewall Rule Group Association
|
|
60
47
|
*/
|
|
61
48
|
export declare class FirewallRuleGroupAssociation extends Resource {
|
|
62
49
|
/**
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
* @experimental
|
|
66
|
-
* @attribute true
|
|
50
|
+
* The ARN (Amazon Resource Name) of the association
|
|
51
|
+
* @attribute
|
|
67
52
|
*/
|
|
68
53
|
readonly firewallRuleGroupAssociationArn: string;
|
|
69
54
|
/**
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
* @attribute true
|
|
74
|
-
*/
|
|
55
|
+
* The date and time that the association was created
|
|
56
|
+
* @attribute
|
|
57
|
+
*/
|
|
75
58
|
readonly firewallRuleGroupAssociationCreationTime: string;
|
|
76
59
|
/**
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
* @attribute true
|
|
81
|
-
*/
|
|
60
|
+
* The creator request ID
|
|
61
|
+
* @attribute
|
|
62
|
+
*/
|
|
82
63
|
readonly firewallRuleGroupAssociationCreatorRequestId: string;
|
|
83
64
|
/**
|
|
84
|
-
*
|
|
65
|
+
* The ID of the association
|
|
85
66
|
*
|
|
86
|
-
* @
|
|
87
|
-
* @attribute true
|
|
67
|
+
* @attribute
|
|
88
68
|
*/
|
|
89
69
|
readonly firewallRuleGroupAssociationId: string;
|
|
90
70
|
/**
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
* @experimental
|
|
97
|
-
* @attribute true
|
|
98
|
-
*/
|
|
71
|
+
* The owner of the association, used only for lists that are not managed by you.
|
|
72
|
+
* If you use AWS Firewall Manager to manage your firewallls from DNS Firewall,
|
|
73
|
+
* then this reports Firewall Manager as the managed owner.
|
|
74
|
+
* @attribute
|
|
75
|
+
*/
|
|
99
76
|
readonly firewallRuleGroupAssociationManagedOwnerName: string;
|
|
100
77
|
/**
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
* @attribute true
|
|
105
|
-
*/
|
|
78
|
+
* The date and time that the association was last modified
|
|
79
|
+
* @attribute
|
|
80
|
+
*/
|
|
106
81
|
readonly firewallRuleGroupAssociationModificationTime: string;
|
|
107
82
|
/**
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
* @attribute true
|
|
112
|
-
*/
|
|
83
|
+
* The status of the association
|
|
84
|
+
* @attribute
|
|
85
|
+
*/
|
|
113
86
|
readonly firewallRuleGroupAssociationStatus: string;
|
|
114
87
|
/**
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
* @attribute true
|
|
119
|
-
*/
|
|
88
|
+
* Additional information about the status of the association
|
|
89
|
+
* @attribute
|
|
90
|
+
*/
|
|
120
91
|
readonly firewallRuleGroupAssociationStatusMessage: string;
|
|
121
|
-
/**
|
|
122
|
-
* @experimental
|
|
123
|
-
*/
|
|
124
92
|
constructor(scope: Construct, id: string, props: FirewallRuleGroupAssociationProps);
|
|
125
93
|
}
|
|
@@ -7,14 +7,9 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
|
7
7
|
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
8
8
|
const aws_route53resolver_1 = require("aws-cdk-lib/aws-route53resolver");
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* @experimental
|
|
10
|
+
* A Firewall Rule Group Association
|
|
13
11
|
*/
|
|
14
12
|
class FirewallRuleGroupAssociation extends aws_cdk_lib_1.Resource {
|
|
15
|
-
/**
|
|
16
|
-
* @experimental
|
|
17
|
-
*/
|
|
18
13
|
constructor(scope, id, props) {
|
|
19
14
|
super(scope, id);
|
|
20
15
|
jsiiDeprecationWarnings._aws_cdk_aws_route53resolver_alpha_FirewallRuleGroupAssociationProps(props);
|
|
@@ -38,5 +33,5 @@ class FirewallRuleGroupAssociation extends aws_cdk_lib_1.Resource {
|
|
|
38
33
|
}
|
|
39
34
|
exports.FirewallRuleGroupAssociation = FirewallRuleGroupAssociation;
|
|
40
35
|
_a = JSII_RTTI_SYMBOL_1;
|
|
41
|
-
FirewallRuleGroupAssociation[_a] = { fqn: "@aws-cdk/aws-route53resolver-alpha.FirewallRuleGroupAssociation", version: "2.
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
FirewallRuleGroupAssociation[_a] = { fqn: "@aws-cdk/aws-route53resolver-alpha.FirewallRuleGroupAssociation", version: "2.15.0-alpha.0" };
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZXdhbGwtcnVsZS1ncm91cC1hc3NvY2lhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImZpcmV3YWxsLXJ1bGUtZ3JvdXAtYXNzb2NpYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsNkNBQThDO0FBRzlDLHlFQUFrRjtBQStDbEY7O0dBRUc7QUFDSCxNQUFhLDRCQUE2QixTQUFRLHNCQUFRO0lBb0R4RCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXdDO1FBQ2hGLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7O1FBRWpCLElBQUksQ0FBQyxtQkFBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxFQUFFO1lBQzVGLE1BQU0sSUFBSSxLQUFLLENBQUMsNkRBQTZELEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1NBQ2hHO1FBRUQsTUFBTSxXQUFXLEdBQUcsSUFBSSxxREFBK0IsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ3hFLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUI7WUFDaEUsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO1lBQ3hCLEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUs7U0FDdkIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLCtCQUErQixHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUM7UUFDM0QsSUFBSSxDQUFDLHdDQUF3QyxHQUFHLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQztRQUM3RSxJQUFJLENBQUMsNENBQTRDLEdBQUcsV0FBVyxDQUFDLG9CQUFvQixDQUFDO1FBQ3JGLElBQUksQ0FBQyw4QkFBOEIsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDO1FBQ3pELElBQUksQ0FBQyw0Q0FBNEMsR0FBRyxXQUFXLENBQUMsb0JBQW9CLENBQUM7UUFDckYsSUFBSSxDQUFDLDRDQUE0QyxHQUFHLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQztRQUNyRixJQUFJLENBQUMsa0NBQWtDLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQztRQUNqRSxJQUFJLENBQUMseUNBQXlDLEdBQUcsV0FBVyxDQUFDLGlCQUFpQixDQUFDO0tBQ2hGOztBQXpFSCxvRUEwRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJVnBjIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQgeyBSZXNvdXJjZSwgVG9rZW4gfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IElGaXJld2FsbFJ1bGVHcm91cCB9IGZyb20gJy4vZmlyZXdhbGwtcnVsZS1ncm91cCc7XG5pbXBvcnQgeyBDZm5GaXJld2FsbFJ1bGVHcm91cEFzc29jaWF0aW9uIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXJvdXRlNTNyZXNvbHZlcic7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYSBGaXJld2FsbCBSdWxlIEdyb3VwIEFzc29jaWF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmlyZXdhbGxSdWxlR3JvdXBBc3NvY2lhdGlvbk9wdGlvbnMge1xuICAvKipcbiAgICogSWYgZW5hYmxlZCwgdGhpcyBzZXR0aW5nIGRpc2FsbG93cyBtb2RpZmljYXRpb24gb3IgcmVtb3ZhbCBvZiB0aGVcbiAgICogYXNzb2NpYXRpb24sIHRvIGhlbHAgcHJldmVudCBhZ2FpbnN0IGFjY2lkZW50YWxseSBhbHRlcmluZyBETlMgZmlyZXdhbGxcbiAgICogcHJvdGVjdGlvbnMuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IG11dGF0aW9uUHJvdGVjdGlvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBhc3NvY2lhdGlvblxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGEgQ2xvdWRGb3JtYXRpb24gZ2VuZXJhdGVkIG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IG5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzZXR0aW5nIHRoYXQgZGV0ZXJtaW5lcyB0aGUgcHJvY2Vzc2luZyBvcmRlciBvZiB0aGUgcnVsZSBncm91cCBhbW9uZ1xuICAgKiB0aGUgcnVsZSBncm91cHMgdGhhdCBhcmUgYXNzb2NpYXRlZCB3aXRoIGEgc2luZ2xlIFZQQy4gRE5TIEZpcmV3YWxsIGZpbHRlcnMgVlBDXG4gICAqIHRyYWZmaWMgc3RhcnRpbmcgZnJvbSBydWxlIGdyb3VwIHdpdGggdGhlIGxvd2VzdCBudW1lcmljIHByaW9yaXR5IHNldHRpbmcuXG4gICAqXG4gICAqIFRoaXMgdmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gMTAwIGFuZCBsZXNzIHRoYW4gOSwwMDBcbiAgICovXG4gIHJlYWRvbmx5IHByaW9yaXR5OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBWUEMgdGhhdCB0byBhc3NvY2lhdGUgd2l0aCB0aGUgcnVsZSBncm91cC5cbiAgICovXG4gIHJlYWRvbmx5IHZwYzogSVZwYztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBhIEZpcmV3YWxsIFJ1bGUgR3JvdXAgQXNzb2NpYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGaXJld2FsbFJ1bGVHcm91cEFzc29jaWF0aW9uUHJvcHMgZXh0ZW5kcyBGaXJld2FsbFJ1bGVHcm91cEFzc29jaWF0aW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgZmlyZXdhbGwgcnVsZSBncm91cCB3aGljaCBtdXN0IGJlIGFzc29jaWF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IGZpcmV3YWxsUnVsZUdyb3VwOiBJRmlyZXdhbGxSdWxlR3JvdXA7XG59XG5cbi8qKlxuICogQSBGaXJld2FsbCBSdWxlIEdyb3VwIEFzc29jaWF0aW9uXG4gKi9cbmV4cG9ydCBjbGFzcyBGaXJld2FsbFJ1bGVHcm91cEFzc29jaWF0aW9uIGV4dGVuZHMgUmVzb3VyY2Uge1xuICAvKipcbiAgICogVGhlIEFSTiAoQW1hem9uIFJlc291cmNlIE5hbWUpIG9mIHRoZSBhc3NvY2lhdGlvblxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZmlyZXdhbGxSdWxlR3JvdXBBc3NvY2lhdGlvbkFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgICogVGhlIGRhdGUgYW5kIHRpbWUgdGhhdCB0aGUgYXNzb2NpYXRpb24gd2FzIGNyZWF0ZWRcbiAgICAqIEBhdHRyaWJ1dGVcbiAgICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZmlyZXdhbGxSdWxlR3JvdXBBc3NvY2lhdGlvbkNyZWF0aW9uVGltZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgICogVGhlIGNyZWF0b3IgcmVxdWVzdCBJRFxuICAgICogQGF0dHJpYnV0ZVxuICAgICovXG4gIHB1YmxpYyByZWFkb25seSBmaXJld2FsbFJ1bGVHcm91cEFzc29jaWF0aW9uQ3JlYXRvclJlcXVlc3RJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgdGhlIGFzc29jaWF0aW9uXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBmaXJld2FsbFJ1bGVHcm91cEFzc29jaWF0aW9uSWQ6IHN0cmluZztcblxuICAvKipcbiAgICAqIFRoZSBvd25lciBvZiB0aGUgYXNzb2NpYXRpb24sIHVzZWQgb25seSBmb3IgbGlzdHMgdGhhdCBhcmUgbm90IG1hbmFnZWQgYnkgeW91LlxuICAgICogSWYgeW91IHVzZSBBV1MgRmlyZXdhbGwgTWFuYWdlciB0byBtYW5hZ2UgeW91ciBmaXJld2FsbGxzIGZyb20gRE5TIEZpcmV3YWxsLFxuICAgICogdGhlbiB0aGlzIHJlcG9ydHMgRmlyZXdhbGwgTWFuYWdlciBhcyB0aGUgbWFuYWdlZCBvd25lci5cbiAgICAqIEBhdHRyaWJ1dGVcbiAgICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZmlyZXdhbGxSdWxlR3JvdXBBc3NvY2lhdGlvbk1hbmFnZWRPd25lck5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICAqIFRoZSBkYXRlIGFuZCB0aW1lIHRoYXQgdGhlIGFzc29jaWF0aW9uIHdhcyBsYXN0IG1vZGlmaWVkXG4gICAgKiBAYXR0cmlidXRlXG4gICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGZpcmV3YWxsUnVsZUdyb3VwQXNzb2NpYXRpb25Nb2RpZmljYXRpb25UaW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAgKiBUaGUgc3RhdHVzIG9mIHRoZSBhc3NvY2lhdGlvblxuICAgICogQGF0dHJpYnV0ZVxuICAgICovXG4gIHB1YmxpYyByZWFkb25seSBmaXJld2FsbFJ1bGVHcm91cEFzc29jaWF0aW9uU3RhdHVzOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAgKiBBZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBzdGF0dXMgb2YgdGhlIGFzc29jaWF0aW9uXG4gICAgKiBAYXR0cmlidXRlXG4gICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGZpcmV3YWxsUnVsZUdyb3VwQXNzb2NpYXRpb25TdGF0dXNNZXNzYWdlOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEZpcmV3YWxsUnVsZUdyb3VwQXNzb2NpYXRpb25Qcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBpZiAoIVRva2VuLmlzVW5yZXNvbHZlZChwcm9wcy5wcmlvcml0eSkgJiYgKHByb3BzLnByaW9yaXR5IDw9IDEwMCB8fCBwcm9wcy5wcmlvcml0eSA+PSA5MDAwKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBQcmlvcml0eSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxMDAgYW5kIGxlc3MgdGhhbiA5MDAwLCBnb3QgJHtwcm9wcy5wcmlvcml0eX1gKTtcbiAgICB9XG5cbiAgICBjb25zdCBhc3NvY2lhdGlvbiA9IG5ldyBDZm5GaXJld2FsbFJ1bGVHcm91cEFzc29jaWF0aW9uKHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIGZpcmV3YWxsUnVsZUdyb3VwSWQ6IHByb3BzLmZpcmV3YWxsUnVsZUdyb3VwLmZpcmV3YWxsUnVsZUdyb3VwSWQsXG4gICAgICBwcmlvcml0eTogcHJvcHMucHJpb3JpdHksXG4gICAgICB2cGNJZDogcHJvcHMudnBjLnZwY0lkLFxuICAgIH0pO1xuXG4gICAgdGhpcy5maXJld2FsbFJ1bGVHcm91cEFzc29jaWF0aW9uQXJuID0gYXNzb2NpYXRpb24uYXR0ckFybjtcbiAgICB0aGlzLmZpcmV3YWxsUnVsZUdyb3VwQXNzb2NpYXRpb25DcmVhdGlvblRpbWUgPSBhc3NvY2lhdGlvbi5hdHRyQ3JlYXRpb25UaW1lO1xuICAgIHRoaXMuZmlyZXdhbGxSdWxlR3JvdXBBc3NvY2lhdGlvbkNyZWF0b3JSZXF1ZXN0SWQgPSBhc3NvY2lhdGlvbi5hdHRyQ3JlYXRvclJlcXVlc3RJZDtcbiAgICB0aGlzLmZpcmV3YWxsUnVsZUdyb3VwQXNzb2NpYXRpb25JZCA9IGFzc29jaWF0aW9uLmF0dHJJZDtcbiAgICB0aGlzLmZpcmV3YWxsUnVsZUdyb3VwQXNzb2NpYXRpb25NYW5hZ2VkT3duZXJOYW1lID0gYXNzb2NpYXRpb24uYXR0ck1hbmFnZWRPd25lck5hbWU7XG4gICAgdGhpcy5maXJld2FsbFJ1bGVHcm91cEFzc29jaWF0aW9uTW9kaWZpY2F0aW9uVGltZSA9IGFzc29jaWF0aW9uLmF0dHJNb2RpZmljYXRpb25UaW1lO1xuICAgIHRoaXMuZmlyZXdhbGxSdWxlR3JvdXBBc3NvY2lhdGlvblN0YXR1cyA9IGFzc29jaWF0aW9uLmF0dHJTdGF0dXM7XG4gICAgdGhpcy5maXJld2FsbFJ1bGVHcm91cEFzc29jaWF0aW9uU3RhdHVzTWVzc2FnZSA9IGFzc29jaWF0aW9uLmF0dHJTdGF0dXNNZXNzYWdlO1xuICB9XG59XG4iXX0=
|
|
@@ -3,253 +3,176 @@ import { Construct } from 'constructs';
|
|
|
3
3
|
import { IFirewallDomainList } from './firewall-domain-list';
|
|
4
4
|
import { FirewallRuleGroupAssociation, FirewallRuleGroupAssociationOptions } from './firewall-rule-group-association';
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* @experimental
|
|
6
|
+
* A Firewall Rule Group
|
|
9
7
|
*/
|
|
10
8
|
export interface IFirewallRuleGroup extends IResource {
|
|
11
9
|
/**
|
|
12
|
-
*
|
|
10
|
+
* The ID of the rule group
|
|
13
11
|
*
|
|
14
|
-
* @
|
|
15
|
-
* @attribute true
|
|
12
|
+
* @attribute
|
|
16
13
|
*/
|
|
17
14
|
readonly firewallRuleGroupId: string;
|
|
18
15
|
}
|
|
19
16
|
/**
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
* @experimental
|
|
17
|
+
* Properties for a Firewall Rule Group
|
|
23
18
|
*/
|
|
24
19
|
export interface FirewallRuleGroupProps {
|
|
25
20
|
/**
|
|
26
|
-
*
|
|
21
|
+
* The name of the rule group.
|
|
27
22
|
*
|
|
28
23
|
* @default - a CloudFormation generated name
|
|
29
|
-
* @experimental
|
|
30
24
|
*/
|
|
31
25
|
readonly name?: string;
|
|
32
26
|
/**
|
|
33
|
-
*
|
|
27
|
+
* A list of rules for this group
|
|
34
28
|
*
|
|
35
29
|
* @default - no rules
|
|
36
|
-
* @experimental
|
|
37
30
|
*/
|
|
38
31
|
readonly rules?: FirewallRule[];
|
|
39
32
|
}
|
|
40
33
|
/**
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
* @experimental
|
|
34
|
+
* A Firewall Rule
|
|
44
35
|
*/
|
|
45
36
|
export interface FirewallRule {
|
|
46
37
|
/**
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
* @experimental
|
|
38
|
+
* The action for this rule
|
|
50
39
|
*/
|
|
51
40
|
readonly action: FirewallRuleAction;
|
|
52
41
|
/**
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
* @experimental
|
|
42
|
+
* The domain list for this rule
|
|
56
43
|
*/
|
|
57
44
|
readonly firewallDomainList: IFirewallDomainList;
|
|
58
45
|
/**
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
* This value must be unique within
|
|
46
|
+
* The priority of the rule in the rule group. This value must be unique within
|
|
62
47
|
* the rule group.
|
|
63
|
-
*
|
|
64
|
-
* @experimental
|
|
65
48
|
*/
|
|
66
49
|
readonly priority: number;
|
|
67
50
|
}
|
|
68
51
|
/**
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
* @experimental
|
|
52
|
+
* A Firewall Rule
|
|
72
53
|
*/
|
|
73
54
|
export declare abstract class FirewallRuleAction {
|
|
74
55
|
/**
|
|
75
|
-
*
|
|
76
|
-
*
|
|
77
|
-
* @experimental
|
|
56
|
+
* Permit the request to go through
|
|
78
57
|
*/
|
|
79
58
|
static allow(): FirewallRuleAction;
|
|
80
59
|
/**
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
* @experimental
|
|
60
|
+
* Permit the request to go through but send an alert to the logs
|
|
84
61
|
*/
|
|
85
62
|
static alert(): FirewallRuleAction;
|
|
86
63
|
/**
|
|
87
|
-
*
|
|
64
|
+
* Disallow the request
|
|
88
65
|
*
|
|
89
|
-
* @param response The way that you want DNS Firewall to block the request
|
|
90
|
-
* @experimental
|
|
66
|
+
* @param [response=DnsBlockResponse.noData()] The way that you want DNS Firewall to block the request
|
|
91
67
|
*/
|
|
92
68
|
static block(response?: DnsBlockResponse): FirewallRuleAction;
|
|
93
69
|
/**
|
|
94
|
-
*
|
|
95
|
-
*
|
|
96
|
-
* @experimental
|
|
70
|
+
* The action that DNS Firewall should take on a DNS query when it matches
|
|
71
|
+
* one of the domains in the rule's domain list
|
|
97
72
|
*/
|
|
98
73
|
abstract readonly action: string;
|
|
99
74
|
/**
|
|
100
|
-
*
|
|
101
|
-
*
|
|
102
|
-
* @experimental
|
|
75
|
+
* The way that you want DNS Firewall to block the request
|
|
103
76
|
*/
|
|
104
77
|
abstract readonly blockResponse?: DnsBlockResponse;
|
|
105
78
|
}
|
|
106
79
|
/**
|
|
107
|
-
*
|
|
108
|
-
*
|
|
109
|
-
* @experimental
|
|
80
|
+
* The way that you want DNS Firewall to block the request
|
|
110
81
|
*/
|
|
111
82
|
export declare abstract class DnsBlockResponse {
|
|
112
83
|
/**
|
|
113
|
-
*
|
|
114
|
-
*
|
|
115
|
-
* @experimental
|
|
84
|
+
* Respond indicating that the query was successful, but no
|
|
85
|
+
* response is available for it.
|
|
116
86
|
*/
|
|
117
87
|
static noData(): DnsBlockResponse;
|
|
118
88
|
/**
|
|
119
|
-
*
|
|
120
|
-
*
|
|
121
|
-
* @experimental
|
|
89
|
+
* Respond indicating that the domain name that's in the query
|
|
90
|
+
* doesn't exist.
|
|
122
91
|
*/
|
|
123
92
|
static nxDomain(): DnsBlockResponse;
|
|
124
93
|
/**
|
|
125
|
-
*
|
|
94
|
+
* Provides a custom override response to the query
|
|
126
95
|
*
|
|
127
|
-
* @param domain The custom DNS record to send back in response to the query
|
|
128
|
-
* @param ttl The recommended amount of time for the DNS resolver or
|
|
129
|
-
*
|
|
96
|
+
* @param domain The custom DNS record to send back in response to the query
|
|
97
|
+
* @param [ttl=0] The recommended amount of time for the DNS resolver or
|
|
98
|
+
* web browser to cache the provided override record
|
|
130
99
|
*/
|
|
131
100
|
static override(domain: string, ttl?: Duration): DnsBlockResponse;
|
|
132
|
-
/**
|
|
133
|
-
* (experimental) The DNS record's type.
|
|
134
|
-
*
|
|
135
|
-
* @experimental
|
|
136
|
-
*/
|
|
101
|
+
/** The DNS record's type */
|
|
137
102
|
abstract readonly blockOverrideDnsType?: string;
|
|
138
|
-
/**
|
|
139
|
-
* (experimental) The custom DNS record to send back in response to the query.
|
|
140
|
-
*
|
|
141
|
-
* @experimental
|
|
142
|
-
*/
|
|
103
|
+
/** The custom DNS record to send back in response to the query */
|
|
143
104
|
abstract readonly blockOverrideDomain?: string;
|
|
144
105
|
/**
|
|
145
|
-
*
|
|
146
|
-
*
|
|
147
|
-
* @experimental
|
|
106
|
+
* The recommended amount of time for the DNS resolver or
|
|
107
|
+
* web browser to cache the provided override record
|
|
148
108
|
*/
|
|
149
109
|
abstract readonly blockOverrideTtl?: Duration;
|
|
150
|
-
/**
|
|
151
|
-
* (experimental) The way that you want DNS Firewall to block the request.
|
|
152
|
-
*
|
|
153
|
-
* @experimental
|
|
154
|
-
*/
|
|
110
|
+
/** The way that you want DNS Firewall to block the request */
|
|
155
111
|
abstract readonly blockResponse?: string;
|
|
156
112
|
}
|
|
157
113
|
/**
|
|
158
|
-
*
|
|
159
|
-
*
|
|
160
|
-
* @experimental
|
|
114
|
+
* A Firewall Rule Group
|
|
161
115
|
*/
|
|
162
116
|
export declare class FirewallRuleGroup extends Resource implements IFirewallRuleGroup {
|
|
163
117
|
/**
|
|
164
|
-
*
|
|
165
|
-
*
|
|
166
|
-
* @experimental
|
|
118
|
+
* Import an existing Firewall Rule Group
|
|
167
119
|
*/
|
|
168
120
|
static fromFirewallRuleGroupId(scope: Construct, id: string, firewallRuleGroupId: string): IFirewallRuleGroup;
|
|
169
|
-
/**
|
|
170
|
-
* (experimental) The ID of the rule group.
|
|
171
|
-
*
|
|
172
|
-
* @experimental
|
|
173
|
-
*/
|
|
174
121
|
readonly firewallRuleGroupId: string;
|
|
175
122
|
/**
|
|
176
|
-
*
|
|
177
|
-
*
|
|
178
|
-
* @experimental
|
|
179
|
-
* @attribute true
|
|
123
|
+
* The ARN (Amazon Resource Name) of the rule group
|
|
124
|
+
* @attribute
|
|
180
125
|
*/
|
|
181
126
|
readonly firewallRuleGroupArn: string;
|
|
182
127
|
/**
|
|
183
|
-
*
|
|
184
|
-
*
|
|
185
|
-
* @experimental
|
|
186
|
-
* @attribute true
|
|
128
|
+
* The date and time that the rule group was created
|
|
129
|
+
* @attribute
|
|
187
130
|
*/
|
|
188
131
|
readonly firewallRuleGroupCreationTime: string;
|
|
189
132
|
/**
|
|
190
|
-
*
|
|
191
|
-
*
|
|
192
|
-
* @experimental
|
|
193
|
-
* @attribute true
|
|
133
|
+
* The creator request ID
|
|
134
|
+
* @attribute
|
|
194
135
|
*/
|
|
195
136
|
readonly firewallRuleGroupCreatorRequestId: string;
|
|
196
137
|
/**
|
|
197
|
-
*
|
|
198
|
-
*
|
|
199
|
-
* @experimental
|
|
200
|
-
* @attribute true
|
|
138
|
+
* The date and time that the rule group was last modified
|
|
139
|
+
* @attribute
|
|
201
140
|
*/
|
|
202
141
|
readonly firewallRuleGroupModificationTime: string;
|
|
203
142
|
/**
|
|
204
|
-
*
|
|
205
|
-
*
|
|
206
|
-
* @experimental
|
|
207
|
-
* @attribute true
|
|
143
|
+
* The AWS account ID for the account that created the rule group
|
|
144
|
+
* @attribute
|
|
208
145
|
*/
|
|
209
146
|
readonly firewallRuleGroupOwnerId: string;
|
|
210
147
|
/**
|
|
211
|
-
*
|
|
212
|
-
*
|
|
213
|
-
* @experimental
|
|
214
|
-
* @attribute true
|
|
148
|
+
* The number of rules in the rule group
|
|
149
|
+
* @attribute
|
|
215
150
|
*/
|
|
216
151
|
readonly firewallRuleGroupRuleCount: number;
|
|
217
152
|
/**
|
|
218
|
-
*
|
|
219
|
-
*
|
|
220
|
-
* @
|
|
221
|
-
* @attribute true
|
|
153
|
+
* Whether the rule group is shared with other AWS accounts,
|
|
154
|
+
* or was shared with the current account by another AWS account
|
|
155
|
+
* @attribute
|
|
222
156
|
*/
|
|
223
157
|
readonly firewallRuleGroupShareStatus: string;
|
|
224
158
|
/**
|
|
225
|
-
*
|
|
226
|
-
*
|
|
227
|
-
* @experimental
|
|
228
|
-
* @attribute true
|
|
159
|
+
* The status of the rule group
|
|
160
|
+
* @attribute
|
|
229
161
|
*/
|
|
230
162
|
readonly firewallRuleGroupStatus: string;
|
|
231
163
|
/**
|
|
232
|
-
*
|
|
233
|
-
*
|
|
234
|
-
* @experimental
|
|
235
|
-
* @attribute true
|
|
164
|
+
* Additional information about the status of the rule group
|
|
165
|
+
* @attribute
|
|
236
166
|
*/
|
|
237
167
|
readonly firewallRuleGroupStatusMessage: string;
|
|
238
168
|
private readonly rules;
|
|
239
|
-
/**
|
|
240
|
-
* @experimental
|
|
241
|
-
*/
|
|
242
169
|
constructor(scope: Construct, id: string, props?: FirewallRuleGroupProps);
|
|
243
170
|
/**
|
|
244
|
-
*
|
|
245
|
-
*
|
|
246
|
-
* @experimental
|
|
171
|
+
* Adds a rule to this group
|
|
247
172
|
*/
|
|
248
173
|
addRule(rule: FirewallRule): FirewallRuleGroup;
|
|
249
174
|
/**
|
|
250
|
-
*
|
|
251
|
-
*
|
|
252
|
-
* @experimental
|
|
175
|
+
* Associates this Firewall Rule Group with a VPC
|
|
253
176
|
*/
|
|
254
177
|
associate(id: string, props: FirewallRuleGroupAssociationOptions): FirewallRuleGroupAssociation;
|
|
255
178
|
}
|