cdk-comprehend-s3olap 2.0.36 → 2.0.39

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.
Files changed (41) hide show
  1. package/.jsii +3 -3
  2. package/lib/cdk-comprehend-s3olap.js +2 -2
  3. package/lib/comprehend-lambdas.js +2 -2
  4. package/lib/iam-roles.js +4 -4
  5. package/node_modules/aws-sdk/CHANGELOG.md +19 -1
  6. package/node_modules/aws-sdk/README.md +1 -1
  7. package/node_modules/aws-sdk/apis/athena-2017-05-18.min.json +38 -38
  8. package/node_modules/aws-sdk/apis/codeartifact-2018-09-22.min.json +171 -6
  9. package/node_modules/aws-sdk/apis/drs-2020-02-26.min.json +1 -0
  10. package/node_modules/aws-sdk/apis/ec2-2016-11-15.min.json +1 -2
  11. package/node_modules/aws-sdk/apis/evidently-2021-02-01.min.json +346 -70
  12. package/node_modules/aws-sdk/apis/evidently-2021-02-01.paginators.json +12 -0
  13. package/node_modules/aws-sdk/apis/fms-2018-01-01.min.json +56 -44
  14. package/node_modules/aws-sdk/apis/inspector2-2020-06-08.min.json +103 -44
  15. package/node_modules/aws-sdk/apis/kendra-2019-02-03.min.json +326 -182
  16. package/node_modules/aws-sdk/apis/kendra-2019-02-03.paginators.json +5 -0
  17. package/node_modules/aws-sdk/apis/nimble-2020-08-01.min.json +119 -111
  18. package/node_modules/aws-sdk/apis/outposts-2019-12-03.min.json +54 -34
  19. package/node_modules/aws-sdk/apis/wafv2-2019-07-29.min.json +121 -120
  20. package/node_modules/aws-sdk/clients/athena.d.ts +6 -4
  21. package/node_modules/aws-sdk/clients/codeartifact.d.ts +207 -42
  22. package/node_modules/aws-sdk/clients/configservice.d.ts +7 -7
  23. package/node_modules/aws-sdk/clients/datasync.d.ts +16 -16
  24. package/node_modules/aws-sdk/clients/drs.d.ts +6 -2
  25. package/node_modules/aws-sdk/clients/ec2.d.ts +2 -2
  26. package/node_modules/aws-sdk/clients/evidently.d.ts +281 -8
  27. package/node_modules/aws-sdk/clients/fms.d.ts +23 -3
  28. package/node_modules/aws-sdk/clients/glue.d.ts +43 -37
  29. package/node_modules/aws-sdk/clients/inspector2.d.ts +73 -5
  30. package/node_modules/aws-sdk/clients/kendra.d.ts +316 -131
  31. package/node_modules/aws-sdk/clients/nimble.d.ts +61 -37
  32. package/node_modules/aws-sdk/clients/outposts.d.ts +33 -0
  33. package/node_modules/aws-sdk/clients/sagemaker.d.ts +1 -1
  34. package/node_modules/aws-sdk/clients/wafv2.d.ts +26 -21
  35. package/node_modules/aws-sdk/dist/aws-sdk-core-react-native.js +1 -1
  36. package/node_modules/aws-sdk/dist/aws-sdk-react-native.js +14 -14
  37. package/node_modules/aws-sdk/dist/aws-sdk.js +42 -43
  38. package/node_modules/aws-sdk/dist/aws-sdk.min.js +4 -4
  39. package/node_modules/aws-sdk/lib/core.js +1 -1
  40. package/node_modules/aws-sdk/package.json +1 -1
  41. package/package.json +5 -5
@@ -20,11 +20,11 @@ declare class Evidently extends Service {
20
20
  */
21
21
  batchEvaluateFeature(callback?: (err: AWSError, data: Evidently.Types.BatchEvaluateFeatureResponse) => void): Request<Evidently.Types.BatchEvaluateFeatureResponse, AWSError>;
22
22
  /**
23
- * Creates an Evidently experiment. Before you create an experiment, you must create the feature to use for the experiment. An experiment helps you make feature design decisions based on evidence and data. An experiment can test as many as five variations at once. Evidently collects experiment data and analyzes it by statistical methods, and provides clear recommendations about which variations perform better. Don't use this operation to update an existing experiment. Instead, use UpdateExperiment.
23
+ * Creates an Evidently experiment. Before you create an experiment, you must create the feature to use for the experiment. An experiment helps you make feature design decisions based on evidence and data. An experiment can test as many as five variations at once. Evidently collects experiment data and analyzes it by statistical methods, and provides clear recommendations about which variations perform better. You can optionally specify a segment to have the experiment consider only certain audience types in the experiment, such as using only user sessions from a certain location or who use a certain internet browser. Don't use this operation to update an existing experiment. Instead, use UpdateExperiment.
24
24
  */
25
25
  createExperiment(params: Evidently.Types.CreateExperimentRequest, callback?: (err: AWSError, data: Evidently.Types.CreateExperimentResponse) => void): Request<Evidently.Types.CreateExperimentResponse, AWSError>;
26
26
  /**
27
- * Creates an Evidently experiment. Before you create an experiment, you must create the feature to use for the experiment. An experiment helps you make feature design decisions based on evidence and data. An experiment can test as many as five variations at once. Evidently collects experiment data and analyzes it by statistical methods, and provides clear recommendations about which variations perform better. Don't use this operation to update an existing experiment. Instead, use UpdateExperiment.
27
+ * Creates an Evidently experiment. Before you create an experiment, you must create the feature to use for the experiment. An experiment helps you make feature design decisions based on evidence and data. An experiment can test as many as five variations at once. Evidently collects experiment data and analyzes it by statistical methods, and provides clear recommendations about which variations perform better. You can optionally specify a segment to have the experiment consider only certain audience types in the experiment, such as using only user sessions from a certain location or who use a certain internet browser. Don't use this operation to update an existing experiment. Instead, use UpdateExperiment.
28
28
  */
29
29
  createExperiment(callback?: (err: AWSError, data: Evidently.Types.CreateExperimentResponse) => void): Request<Evidently.Types.CreateExperimentResponse, AWSError>;
30
30
  /**
@@ -51,6 +51,14 @@ declare class Evidently extends Service {
51
51
  * Creates a project, which is the logical object in Evidently that can contain features, launches, and experiments. Use projects to group similar features together. To update an existing project, use UpdateProject.
52
52
  */
53
53
  createProject(callback?: (err: AWSError, data: Evidently.Types.CreateProjectResponse) => void): Request<Evidently.Types.CreateProjectResponse, AWSError>;
54
+ /**
55
+ * Use this operation to define a segment of your audience. A segment is a portion of your audience that share one or more characteristics. Examples could be Chrome browser users, users in Europe, or Firefox browser users in Europe who also fit other criteria that your application collects, such as age. Using a segment in an experiment limits that experiment to evaluate only the users who match the segment criteria. Using one or more segments in a launch allow you to define different traffic splits for the different audience segments. &lt;p&gt;For more information about segment pattern syntax, see &lt;a href=&quot;https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Evidently-segments-syntax.html&quot;&gt; Segment rule pattern syntax&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;The pattern that you define for a segment is matched against the value of &lt;code&gt;evaluationContext&lt;/code&gt;, which is passed into Evidently in the &lt;a href=&quot;https://docs.aws.amazon.com/cloudwatchevidently/latest/APIReference/API_EvaluateFeature.html&quot;&gt;EvaluateFeature&lt;/a&gt; operation, when Evidently assigns a feature variation to a user.&lt;/p&gt;
56
+ */
57
+ createSegment(params: Evidently.Types.CreateSegmentRequest, callback?: (err: AWSError, data: Evidently.Types.CreateSegmentResponse) => void): Request<Evidently.Types.CreateSegmentResponse, AWSError>;
58
+ /**
59
+ * Use this operation to define a segment of your audience. A segment is a portion of your audience that share one or more characteristics. Examples could be Chrome browser users, users in Europe, or Firefox browser users in Europe who also fit other criteria that your application collects, such as age. Using a segment in an experiment limits that experiment to evaluate only the users who match the segment criteria. Using one or more segments in a launch allow you to define different traffic splits for the different audience segments. &lt;p&gt;For more information about segment pattern syntax, see &lt;a href=&quot;https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Evidently-segments-syntax.html&quot;&gt; Segment rule pattern syntax&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;The pattern that you define for a segment is matched against the value of &lt;code&gt;evaluationContext&lt;/code&gt;, which is passed into Evidently in the &lt;a href=&quot;https://docs.aws.amazon.com/cloudwatchevidently/latest/APIReference/API_EvaluateFeature.html&quot;&gt;EvaluateFeature&lt;/a&gt; operation, when Evidently assigns a feature variation to a user.&lt;/p&gt;
60
+ */
61
+ createSegment(callback?: (err: AWSError, data: Evidently.Types.CreateSegmentResponse) => void): Request<Evidently.Types.CreateSegmentResponse, AWSError>;
54
62
  /**
55
63
  * Deletes an Evidently experiment. The feature used for the experiment is not deleted. To stop an experiment without deleting it, use StopExperiment.
56
64
  */
@@ -84,11 +92,19 @@ declare class Evidently extends Service {
84
92
  */
85
93
  deleteProject(callback?: (err: AWSError, data: Evidently.Types.DeleteProjectResponse) => void): Request<Evidently.Types.DeleteProjectResponse, AWSError>;
86
94
  /**
87
- * This operation assigns a feature variation to one given user session. You pass in an entityID that represents the user. Evidently then checks the evaluation rules and assigns the variation. The first rules that are evaluated are the override rules. If the user's entityID matches an override rule, the user is served the variation specified by that rule. Next, if there is a launch of the feature, the user might be assigned to a variation in the launch. The chance of this depends on the percentage of users that are allocated to that launch. If the user is enrolled in the launch, the variation they are served depends on the allocation of the various feature variations used for the launch. If the user is not assigned to a launch, and there is an ongoing experiment for this feature, the user might be assigned to a variation in the experiment. The chance of this depends on the percentage of users that are allocated to that experiment. If the user is enrolled in the experiment, the variation they are served depends on the allocation of the various feature variations used for the experiment. If the user is not assigned to a launch or experiment, they are served the default variation.
95
+ * Deletes a segment. You can't delete a segment that is being used in a launch or experiment, even if that launch or experiment is not currently running.
96
+ */
97
+ deleteSegment(params: Evidently.Types.DeleteSegmentRequest, callback?: (err: AWSError, data: Evidently.Types.DeleteSegmentResponse) => void): Request<Evidently.Types.DeleteSegmentResponse, AWSError>;
98
+ /**
99
+ * Deletes a segment. You can't delete a segment that is being used in a launch or experiment, even if that launch or experiment is not currently running.
100
+ */
101
+ deleteSegment(callback?: (err: AWSError, data: Evidently.Types.DeleteSegmentResponse) => void): Request<Evidently.Types.DeleteSegmentResponse, AWSError>;
102
+ /**
103
+ * This operation assigns a feature variation to one given user session. You pass in an entityID that represents the user. Evidently then checks the evaluation rules and assigns the variation. The first rules that are evaluated are the override rules. If the user's entityID matches an override rule, the user is served the variation specified by that rule. &lt;p&gt;If there is a current launch with this feature that uses segment overrides, and if the user session's &lt;code&gt;evaluationContext&lt;/code&gt; matches a segment rule defined in a segment override, the configuration in the segment overrides is used. For more information about segments, see &lt;a href=&quot;https://docs.aws.amazon.com/cloudwatchevidently/latest/APIReference/API_CreateSegment.html&quot;&gt;CreateSegment&lt;/a&gt; and &lt;a href=&quot;https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Evidently-segments.html&quot;&gt;Use segments to focus your audience&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;If there is a launch with no segment overrides, the user might be assigned to a variation in the launch. The chance of this depends on the percentage of users that are allocated to that launch. If the user is enrolled in the launch, the variation they are served depends on the allocation of the various feature variations used for the launch.&lt;/p&gt; &lt;p&gt;If the user is not assigned to a launch, and there is an ongoing experiment for this feature, the user might be assigned to a variation in the experiment. The chance of this depends on the percentage of users that are allocated to that experiment.&lt;/p&gt; &lt;p&gt;If the experiment uses a segment, then only user sessions with &lt;code&gt;evaluationContext&lt;/code&gt; values that match the segment rule are used in the experiment.&lt;/p&gt; &lt;p&gt;If the user is enrolled in the experiment, the variation they are served depends on the allocation of the various feature variations used for the experiment. &lt;/p&gt; &lt;p&gt;If the user is not assigned to a launch or experiment, they are served the default variation.&lt;/p&gt;
88
104
  */
89
105
  evaluateFeature(params: Evidently.Types.EvaluateFeatureRequest, callback?: (err: AWSError, data: Evidently.Types.EvaluateFeatureResponse) => void): Request<Evidently.Types.EvaluateFeatureResponse, AWSError>;
90
106
  /**
91
- * This operation assigns a feature variation to one given user session. You pass in an entityID that represents the user. Evidently then checks the evaluation rules and assigns the variation. The first rules that are evaluated are the override rules. If the user's entityID matches an override rule, the user is served the variation specified by that rule. Next, if there is a launch of the feature, the user might be assigned to a variation in the launch. The chance of this depends on the percentage of users that are allocated to that launch. If the user is enrolled in the launch, the variation they are served depends on the allocation of the various feature variations used for the launch. If the user is not assigned to a launch, and there is an ongoing experiment for this feature, the user might be assigned to a variation in the experiment. The chance of this depends on the percentage of users that are allocated to that experiment. If the user is enrolled in the experiment, the variation they are served depends on the allocation of the various feature variations used for the experiment. If the user is not assigned to a launch or experiment, they are served the default variation.
107
+ * This operation assigns a feature variation to one given user session. You pass in an entityID that represents the user. Evidently then checks the evaluation rules and assigns the variation. The first rules that are evaluated are the override rules. If the user's entityID matches an override rule, the user is served the variation specified by that rule. &lt;p&gt;If there is a current launch with this feature that uses segment overrides, and if the user session's &lt;code&gt;evaluationContext&lt;/code&gt; matches a segment rule defined in a segment override, the configuration in the segment overrides is used. For more information about segments, see &lt;a href=&quot;https://docs.aws.amazon.com/cloudwatchevidently/latest/APIReference/API_CreateSegment.html&quot;&gt;CreateSegment&lt;/a&gt; and &lt;a href=&quot;https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Evidently-segments.html&quot;&gt;Use segments to focus your audience&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;If there is a launch with no segment overrides, the user might be assigned to a variation in the launch. The chance of this depends on the percentage of users that are allocated to that launch. If the user is enrolled in the launch, the variation they are served depends on the allocation of the various feature variations used for the launch.&lt;/p&gt; &lt;p&gt;If the user is not assigned to a launch, and there is an ongoing experiment for this feature, the user might be assigned to a variation in the experiment. The chance of this depends on the percentage of users that are allocated to that experiment.&lt;/p&gt; &lt;p&gt;If the experiment uses a segment, then only user sessions with &lt;code&gt;evaluationContext&lt;/code&gt; values that match the segment rule are used in the experiment.&lt;/p&gt; &lt;p&gt;If the user is enrolled in the experiment, the variation they are served depends on the allocation of the various feature variations used for the experiment. &lt;/p&gt; &lt;p&gt;If the user is not assigned to a launch or experiment, they are served the default variation.&lt;/p&gt;
92
108
  */
93
109
  evaluateFeature(callback?: (err: AWSError, data: Evidently.Types.EvaluateFeatureResponse) => void): Request<Evidently.Types.EvaluateFeatureResponse, AWSError>;
94
110
  /**
@@ -131,6 +147,14 @@ declare class Evidently extends Service {
131
147
  * Returns the details about one launch. You must already know the project name. To retrieve a list of projects in your account, use ListProjects.
132
148
  */
133
149
  getProject(callback?: (err: AWSError, data: Evidently.Types.GetProjectResponse) => void): Request<Evidently.Types.GetProjectResponse, AWSError>;
150
+ /**
151
+ * Returns information about the specified segment. Specify the segment you want to view by specifying its ARN.
152
+ */
153
+ getSegment(params: Evidently.Types.GetSegmentRequest, callback?: (err: AWSError, data: Evidently.Types.GetSegmentResponse) => void): Request<Evidently.Types.GetSegmentResponse, AWSError>;
154
+ /**
155
+ * Returns information about the specified segment. Specify the segment you want to view by specifying its ARN.
156
+ */
157
+ getSegment(callback?: (err: AWSError, data: Evidently.Types.GetSegmentResponse) => void): Request<Evidently.Types.GetSegmentResponse, AWSError>;
134
158
  /**
135
159
  * Returns configuration details about all the experiments in the specified project.
136
160
  */
@@ -163,6 +187,22 @@ declare class Evidently extends Service {
163
187
  * Returns configuration details about all the projects in the current Region in your account.
164
188
  */
165
189
  listProjects(callback?: (err: AWSError, data: Evidently.Types.ListProjectsResponse) => void): Request<Evidently.Types.ListProjectsResponse, AWSError>;
190
+ /**
191
+ * Use this operation to find which experiments or launches are using a specified segment.
192
+ */
193
+ listSegmentReferences(params: Evidently.Types.ListSegmentReferencesRequest, callback?: (err: AWSError, data: Evidently.Types.ListSegmentReferencesResponse) => void): Request<Evidently.Types.ListSegmentReferencesResponse, AWSError>;
194
+ /**
195
+ * Use this operation to find which experiments or launches are using a specified segment.
196
+ */
197
+ listSegmentReferences(callback?: (err: AWSError, data: Evidently.Types.ListSegmentReferencesResponse) => void): Request<Evidently.Types.ListSegmentReferencesResponse, AWSError>;
198
+ /**
199
+ * Returns a list of audience segments that you have created in your account in this Region.
200
+ */
201
+ listSegments(params: Evidently.Types.ListSegmentsRequest, callback?: (err: AWSError, data: Evidently.Types.ListSegmentsResponse) => void): Request<Evidently.Types.ListSegmentsResponse, AWSError>;
202
+ /**
203
+ * Returns a list of audience segments that you have created in your account in this Region.
204
+ */
205
+ listSegments(callback?: (err: AWSError, data: Evidently.Types.ListSegmentsResponse) => void): Request<Evidently.Types.ListSegmentsResponse, AWSError>;
166
206
  /**
167
207
  * Displays the tags associated with an Evidently resource.
168
208
  */
@@ -219,6 +259,14 @@ declare class Evidently extends Service {
219
259
  * Assigns one or more tags (key-value pairs) to the specified CloudWatch Evidently resource. Projects, features, launches, and experiments can be tagged. Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values. Tags don't have any semantic meaning to Amazon Web Services and are interpreted strictly as strings of characters. You can use the TagResource action with a resource that already has tags. If you specify a new tag key for the resource, this tag is appended to the list of tags associated with the alarm. If you specify a tag key that is already associated with the resource, the new tag value that you specify replaces the previous value for that tag. You can associate as many as 50 tags with a resource. For more information, see Tagging Amazon Web Services resources.
220
260
  */
221
261
  tagResource(callback?: (err: AWSError, data: Evidently.Types.TagResourceResponse) => void): Request<Evidently.Types.TagResourceResponse, AWSError>;
262
+ /**
263
+ * Use this operation to test a rules pattern that you plan to use to create an audience segment. For more information about segments, see CreateSegment.
264
+ */
265
+ testSegmentPattern(params: Evidently.Types.TestSegmentPatternRequest, callback?: (err: AWSError, data: Evidently.Types.TestSegmentPatternResponse) => void): Request<Evidently.Types.TestSegmentPatternResponse, AWSError>;
266
+ /**
267
+ * Use this operation to test a rules pattern that you plan to use to create an audience segment. For more information about segments, see CreateSegment.
268
+ */
269
+ testSegmentPattern(callback?: (err: AWSError, data: Evidently.Types.TestSegmentPatternResponse) => void): Request<Evidently.Types.TestSegmentPatternResponse, AWSError>;
222
270
  /**
223
271
  * Removes one or more tags from the specified resource.
224
272
  */
@@ -329,6 +377,10 @@ declare namespace Evidently {
329
377
  * The portion of the available audience that you want to allocate to this experiment, in thousandths of a percent. The available audience is the total audience minus the audience that you have allocated to overrides or current launches of this feature. This is represented in thousandths of a percent. For example, specify 10,000 to allocate 10% of the available audience.
330
378
  */
331
379
  samplingRate?: SplitWeight;
380
+ /**
381
+ * Specifies an audience segment to use in the experiment. When a segment is used in an experiment, only user sessions that match the segment pattern are used in the experiment.
382
+ */
383
+ segment?: SegmentRef;
332
384
  /**
333
385
  * Assigns one or more tags (key-value pairs) to the experiment. Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values. Tags don't have any semantic meaning to Amazon Web Services and are interpreted strictly as strings of characters. &lt;p&gt;You can associate as many as 50 tags with an experiment.&lt;/p&gt; &lt;p&gt;For more information, see &lt;a href=&quot;https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html&quot;&gt;Tagging Amazon Web Services resources&lt;/a&gt;.&lt;/p&gt;
334
386
  */
@@ -406,7 +458,7 @@ declare namespace Evidently {
406
458
  */
407
459
  project: ProjectRef;
408
460
  /**
409
- * When Evidently assigns a particular user session to a launch, it must use a randomization ID to determine which variation the user session is served. This randomization ID is a combination of the entity ID and randomizationSalt. If you omit randomizationSalt, Evidently uses the launch name as the randomizationsSalt.
461
+ * When Evidently assigns a particular user session to a launch, it must use a randomization ID to determine which variation the user session is served. This randomization ID is a combination of the entity ID and randomizationSalt. If you omit randomizationSalt, Evidently uses the launch name as the randomizationSalt.
410
462
  */
411
463
  randomizationSalt?: RandomizationSalt;
412
464
  /**
@@ -448,6 +500,30 @@ declare namespace Evidently {
448
500
  */
449
501
  project: Project;
450
502
  }
503
+ export interface CreateSegmentRequest {
504
+ /**
505
+ * An optional description for this segment.
506
+ */
507
+ description?: Description;
508
+ /**
509
+ * A name for the segment.
510
+ */
511
+ name: SegmentName;
512
+ /**
513
+ * The pattern to use for the segment. For more information about pattern syntax, see Segment rule pattern syntax.
514
+ */
515
+ pattern: SegmentPattern;
516
+ /**
517
+ * Assigns one or more tags (key-value pairs) to the segment. Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values. Tags don't have any semantic meaning to Amazon Web Services and are interpreted strictly as strings of characters. &lt;p&gt;You can associate as many as 50 tags with a segment.&lt;/p&gt; &lt;p&gt;For more information, see &lt;a href=&quot;https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html&quot;&gt;Tagging Amazon Web Services resources&lt;/a&gt;.&lt;/p&gt;
518
+ */
519
+ tags?: TagMap;
520
+ }
521
+ export interface CreateSegmentResponse {
522
+ /**
523
+ * A structure that contains the complete information about the segment that was just created.
524
+ */
525
+ segment: Segment;
526
+ }
451
527
  export type CwDimensionSafeName = string;
452
528
  export type CwLogGroupSafeName = string;
453
529
  export interface DeleteExperimentRequest {
@@ -494,6 +570,14 @@ declare namespace Evidently {
494
570
  }
495
571
  export interface DeleteProjectResponse {
496
572
  }
573
+ export interface DeleteSegmentRequest {
574
+ /**
575
+ * Specifies the segment to delete.
576
+ */
577
+ segment: SegmentRef;
578
+ }
579
+ export interface DeleteSegmentResponse {
580
+ }
497
581
  export type Description = string;
498
582
  export type Double = number;
499
583
  export type DoubleValueList = Double[];
@@ -507,7 +591,7 @@ declare namespace Evidently {
507
591
  */
508
592
  entityId: EntityId;
509
593
  /**
510
- * A JSON block of attributes that you can optionally pass in. This JSON block is included in the evaluation events sent to Evidently from the user session.
594
+ * A JSON object of attributes that you can optionally pass in as part of the evaluation event sent to Evidently from the user session. Evidently can use this value to match user sessions with defined audience segments. For more information, see Use segments to focus your audience. &lt;p&gt;If you include this parameter, the value must be a JSON object. A JSON array is not supported.&lt;/p&gt;
511
595
  */
512
596
  evaluationContext?: JsonValue;
513
597
  /**
@@ -659,6 +743,10 @@ declare namespace Evidently {
659
743
  * A structure that contains the time and date that Evidently completed the analysis of the experiment.
660
744
  */
661
745
  schedule?: ExperimentSchedule;
746
+ /**
747
+ * The audience segment being used for the experiment, if a segment is being used.
748
+ */
749
+ segment?: SegmentArn;
662
750
  /**
663
751
  * The current state of the experiment.
664
752
  */
@@ -972,6 +1060,18 @@ declare namespace Evidently {
972
1060
  */
973
1061
  project: Project;
974
1062
  }
1063
+ export interface GetSegmentRequest {
1064
+ /**
1065
+ * The ARN of the segment to return information for.
1066
+ */
1067
+ segment: SegmentRef;
1068
+ }
1069
+ export interface GetSegmentResponse {
1070
+ /**
1071
+ * A structure that contains the complete information about the segment.
1072
+ */
1073
+ segment: Segment;
1074
+ }
975
1075
  export type GroupName = string;
976
1076
  export type GroupToWeightMap = {[key: string]: SplitWeight};
977
1077
  export type Integer = number;
@@ -1189,6 +1289,54 @@ declare namespace Evidently {
1189
1289
  */
1190
1290
  projects?: ProjectSummariesList;
1191
1291
  }
1292
+ export interface ListSegmentReferencesRequest {
1293
+ /**
1294
+ * The maximum number of results to include in the response. If you omit this, the default of 50 is used.
1295
+ */
1296
+ maxResults?: MaxReferences;
1297
+ /**
1298
+ * The token to use when requesting the next set of results. You received this token from a previous ListSegmentReferences operation.
1299
+ */
1300
+ nextToken?: NextToken;
1301
+ /**
1302
+ * The ARN of the segment that you want to view information for.
1303
+ */
1304
+ segment: SegmentRef;
1305
+ /**
1306
+ * Specifies whether to return information about launches or experiments that use this segment.
1307
+ */
1308
+ type: SegmentReferenceResourceType;
1309
+ }
1310
+ export interface ListSegmentReferencesResponse {
1311
+ /**
1312
+ * The token to use in a subsequent ListSegmentReferences operation to return the next set of results.
1313
+ */
1314
+ nextToken?: NextToken;
1315
+ /**
1316
+ * An array of structures, where each structure contains information about one experiment or launch that uses this segment.
1317
+ */
1318
+ referencedBy?: RefResourceList;
1319
+ }
1320
+ export interface ListSegmentsRequest {
1321
+ /**
1322
+ * The maximum number of results to include in the response. If you omit this, the default of 50 is used.
1323
+ */
1324
+ maxResults?: MaxSegments;
1325
+ /**
1326
+ * The token to use when requesting the next set of results. You received this token from a previous ListSegments operation.
1327
+ */
1328
+ nextToken?: NextToken;
1329
+ }
1330
+ export interface ListSegmentsResponse {
1331
+ /**
1332
+ * The token to use in a subsequent ListSegments operation to return the next set of results.
1333
+ */
1334
+ nextToken?: NextToken;
1335
+ /**
1336
+ * An array of structures that contain information about the segments in this Region.
1337
+ */
1338
+ segments?: SegmentList;
1339
+ }
1192
1340
  export interface ListTagsForResourceRequest {
1193
1341
  /**
1194
1342
  * The ARN of the resource that you want to see the tags of.
@@ -1206,6 +1354,8 @@ declare namespace Evidently {
1206
1354
  export type MaxFeatures = number;
1207
1355
  export type MaxLaunches = number;
1208
1356
  export type MaxProjects = number;
1357
+ export type MaxReferences = number;
1358
+ export type MaxSegments = number;
1209
1359
  export interface MetricDefinition {
1210
1360
  /**
1211
1361
  * The entity, such as a user or session, that does an action that causes a metric value to be recorded.
@@ -1310,6 +1460,7 @@ declare namespace Evidently {
1310
1460
  */
1311
1461
  treatmentWeights?: TreatmentToWeightMap;
1312
1462
  }
1463
+ export type PrimitiveBoolean = boolean;
1313
1464
  export interface Project {
1314
1465
  /**
1315
1466
  * The number of ongoing experiments currently in the project.
@@ -1475,6 +1626,37 @@ declare namespace Evidently {
1475
1626
  }
1476
1627
  export type PutProjectEventsResultEntryList = PutProjectEventsResultEntry[];
1477
1628
  export type RandomizationSalt = string;
1629
+ export interface RefResource {
1630
+ /**
1631
+ * The ARN of the experiment or launch.
1632
+ */
1633
+ arn?: String;
1634
+ /**
1635
+ * The day and time that this experiment or launch ended.
1636
+ */
1637
+ endTime?: String;
1638
+ /**
1639
+ * The day and time that this experiment or launch was most recently updated.
1640
+ */
1641
+ lastUpdatedOn?: String;
1642
+ /**
1643
+ * The name of the experiment or launch.
1644
+ */
1645
+ name: String;
1646
+ /**
1647
+ * The day and time that this experiment or launch started.
1648
+ */
1649
+ startTime?: String;
1650
+ /**
1651
+ * The status of the experiment or launch.
1652
+ */
1653
+ status?: String;
1654
+ /**
1655
+ * Specifies whether the resource that this structure contains information about is an experiment or a launch.
1656
+ */
1657
+ type: String;
1658
+ }
1659
+ export type RefResourceList = RefResource[];
1478
1660
  export type ResultsPeriod = number;
1479
1661
  export type RuleName = string;
1480
1662
  export type RuleType = string;
@@ -1502,9 +1684,13 @@ declare namespace Evidently {
1502
1684
  export type S3PrefixSafeName = string;
1503
1685
  export interface ScheduledSplit {
1504
1686
  /**
1505
- * The traffic allocation percentages among the feature variations during one step of a launch. This is a set of key-value pairs. The keys are variation names. The values represent the percentage of traffic to allocate to that variation during this step.
1687
+ * The traffic allocation percentages among the feature variations during one step of a launch. This is a set of key-value pairs. The keys are variation names. The values represent the percentage of traffic to allocate to that variation during this step. The values is expressed in thousandths of a percent, so assigning a weight of 50000 assigns 50% of traffic to that variation. If the sum of the weights for all the variations in a segment override does not add up to 100,000, then the remaining traffic that matches this segment is not assigned by this segment override, and instead moves on to the next segment override or the default traffic split.
1506
1688
  */
1507
1689
  groupWeights?: GroupToWeightMap;
1690
+ /**
1691
+ * Use this parameter to specify different traffic splits for one or more audience segments. A segment is a portion of your audience that share one or more characteristics. Examples could be Chrome browser users, users in Europe, or Firefox browser users in Europe who also fit other criteria that your application collects, such as age. This parameter is an array of up to six segment override objects. Each of these objects specifies a segment that you have already created, and defines the traffic split for that segment.
1692
+ */
1693
+ segmentOverrides?: SegmentOverridesList;
1508
1694
  /**
1509
1695
  * The date and time that this step of the launch starts.
1510
1696
  */
@@ -1512,9 +1698,13 @@ declare namespace Evidently {
1512
1698
  }
1513
1699
  export interface ScheduledSplitConfig {
1514
1700
  /**
1515
- * The traffic allocation percentages among the feature variations during one step of a launch. This is a set of key-value pairs. The keys are variation names. The values represent the percentage of traffic to allocate to that variation during this step.
1701
+ * The traffic allocation percentages among the feature variations during one step of a launch. This is a set of key-value pairs. The keys are variation names. The values represent the percentage of traffic to allocate to that variation during this step. &lt;p&gt;The values is expressed in thousandths of a percent, so assigning a weight of 50000 assigns 50% of traffic to that variation.&lt;/p&gt; &lt;p&gt;If the sum of the weights for all the variations in a segment override does not add up to 100,000, then the remaining traffic that matches this segment is not assigned by this segment override, and instead moves on to the next segment override or the default traffic split.&lt;/p&gt;
1516
1702
  */
1517
1703
  groupWeights: GroupToWeightMap;
1704
+ /**
1705
+ * Use this parameter to specify different traffic splits for one or more audience segments. A segment is a portion of your audience that share one or more characteristics. Examples could be Chrome browser users, users in Europe, or Firefox browser users in Europe who also fit other criteria that your application collects, such as age. This parameter is an array of up to six segment override objects. Each of these objects specifies a segment that you have already created, and defines the traffic split for that segment.
1706
+ */
1707
+ segmentOverrides?: SegmentOverridesList;
1518
1708
  /**
1519
1709
  * The date and time that this step of the launch starts.
1520
1710
  */
@@ -1534,6 +1724,65 @@ declare namespace Evidently {
1534
1724
  steps?: ScheduledStepList;
1535
1725
  }
1536
1726
  export type ScheduledStepList = ScheduledSplit[];
1727
+ export interface Segment {
1728
+ /**
1729
+ * The ARN of the segment.
1730
+ */
1731
+ arn: SegmentArn;
1732
+ /**
1733
+ * The date and time that this segment was created.
1734
+ */
1735
+ createdTime: Timestamp;
1736
+ /**
1737
+ * The customer-created description for this segment.
1738
+ */
1739
+ description?: Description;
1740
+ /**
1741
+ * The number of experiments that this segment is used in. This count includes all current experiments, not just those that are currently running.
1742
+ */
1743
+ experimentCount?: Long;
1744
+ /**
1745
+ * The date and time that this segment was most recently updated.
1746
+ */
1747
+ lastUpdatedTime: Timestamp;
1748
+ /**
1749
+ * The number of launches that this segment is used in. This count includes all current launches, not just those that are currently running.
1750
+ */
1751
+ launchCount?: Long;
1752
+ /**
1753
+ * The name of the segment.
1754
+ */
1755
+ name: SegmentName;
1756
+ /**
1757
+ *
1758
+ */
1759
+ pattern: SegmentPattern;
1760
+ /**
1761
+ * The list of tag keys and values associated with this launch.
1762
+ */
1763
+ tags?: TagMap;
1764
+ }
1765
+ export type SegmentArn = string;
1766
+ export type SegmentList = Segment[];
1767
+ export type SegmentName = string;
1768
+ export interface SegmentOverride {
1769
+ /**
1770
+ * A number indicating the order to use to evaluate segment overrides, if there are more than one. Segment overrides with lower numbers are evaluated first.
1771
+ */
1772
+ evaluationOrder: Long;
1773
+ /**
1774
+ * The ARN of the segment to use.
1775
+ */
1776
+ segment: SegmentRef;
1777
+ /**
1778
+ * The traffic allocation percentages among the feature variations to assign to this segment. This is a set of key-value pairs. The keys are variation names. The values represent the amount of traffic to allocate to that variation for this segment. This is expressed in thousandths of a percent, so a weight of 50000 represents 50% of traffic.
1779
+ */
1780
+ weights: GroupToWeightMap;
1781
+ }
1782
+ export type SegmentOverridesList = SegmentOverride[];
1783
+ export type SegmentPattern = string;
1784
+ export type SegmentRef = string;
1785
+ export type SegmentReferenceResourceType = "EXPERIMENT"|"LAUNCH"|string;
1537
1786
  export type SplitWeight = number;
1538
1787
  export interface StartExperimentRequest {
1539
1788
  /**
@@ -1636,6 +1885,22 @@ declare namespace Evidently {
1636
1885
  export interface TagResourceResponse {
1637
1886
  }
1638
1887
  export type TagValue = string;
1888
+ export interface TestSegmentPatternRequest {
1889
+ /**
1890
+ * The pattern to test.
1891
+ */
1892
+ pattern: SegmentPattern;
1893
+ /**
1894
+ * A sample evaluationContext JSON block to test against the specified pattern.
1895
+ */
1896
+ payload: JsonValue;
1897
+ }
1898
+ export interface TestSegmentPatternResponse {
1899
+ /**
1900
+ * Returns true if the pattern matches the payload.
1901
+ */
1902
+ match: Boolean;
1903
+ }
1639
1904
  export type Timestamp = Date;
1640
1905
  export type TimestampList = Timestamp[];
1641
1906
  export interface Treatment {
@@ -1712,10 +1977,18 @@ declare namespace Evidently {
1712
1977
  * When Evidently assigns a particular user session to an experiment, it must use a randomization ID to determine which variation the user session is served. This randomization ID is a combination of the entity ID and randomizationSalt. If you omit randomizationSalt, Evidently uses the experiment name as the randomizationSalt.
1713
1978
  */
1714
1979
  randomizationSalt?: RandomizationSalt;
1980
+ /**
1981
+ * Removes a segment from being used in an experiment. You can't use this parameter if the experiment is currently running.
1982
+ */
1983
+ removeSegment?: PrimitiveBoolean;
1715
1984
  /**
1716
1985
  * The portion of the available audience that you want to allocate to this experiment, in thousandths of a percent. The available audience is the total audience minus the audience that you have allocated to overrides or current launches of this feature. This is represented in thousandths of a percent. For example, specify 20,000 to allocate 20% of the available audience.
1717
1986
  */
1718
1987
  samplingRate?: SplitWeight;
1988
+ /**
1989
+ * Adds an audience segment to an experiment. When a segment is used in an experiment, only user sessions that match the segment pattern are used in the experiment. You can't use this parameter if the experiment is currently running.
1990
+ */
1991
+ segment?: SegmentRef;
1719
1992
  /**
1720
1993
  * An array of structures that define the variations being tested in the experiment.
1721
1994
  */
@@ -883,7 +883,7 @@ declare namespace FMS {
883
883
  */
884
884
  ThirdPartyFirewallStatus?: ThirdPartyFirewallAssociationStatus;
885
885
  /**
886
- * The status for subscribing to the third-party firewall vendor in the AWS Marketplace. NO_SUBSCRIPTION - The Firewall Manager policy administrator isn't subscribed to the third-party firewall service in the AWS Marketplace. NOT_COMPLETE - The Firewall Manager policy administrator is in the process of subscribing to the third-party firewall service in the Amazon Web Services Marketplace, but doesn't yet have an active subscription. COMPLETE - The Firewall Manager policy administrator has an active subscription to the third-party firewall service in the Amazon Web Services Marketplace.
886
+ * The status for subscribing to the third-party firewall vendor in the Amazon Web Services Marketplace. NO_SUBSCRIPTION - The Firewall Manager policy administrator isn't subscribed to the third-party firewall service in the Amazon Web Services Marketplace. NOT_COMPLETE - The Firewall Manager policy administrator is in the process of subscribing to the third-party firewall service in the Amazon Web Services Marketplace, but doesn't yet have an active subscription. COMPLETE - The Firewall Manager policy administrator has an active subscription to the third-party firewall service in the Amazon Web Services Marketplace.
887
887
  */
888
888
  MarketplaceOnboardingStatus?: MarketplaceSubscriptionOnboardingStatus;
889
889
  }
@@ -1314,6 +1314,14 @@ declare namespace FMS {
1314
1314
  * The stateful rule groups that are used in the Network Firewall firewall policy.
1315
1315
  */
1316
1316
  StatefulRuleGroups?: StatefulRuleGroupList;
1317
+ /**
1318
+ * The default actions to take on a packet that doesn't match any stateful rules. The stateful default action is optional, and is only valid when using the strict rule order. Valid values of the stateful default action: aws:drop_strict aws:drop_established aws:alert_strict aws:alert_established
1319
+ */
1320
+ StatefulDefaultActions?: NetworkFirewallActionList;
1321
+ /**
1322
+ * Additional options governing how Network Firewall handles stateful rules. The stateful rule groups that you use in your policy must have stateful rule options settings that are compatible with these settings.
1323
+ */
1324
+ StatefulEngineOptions?: StatefulEngineOptions;
1317
1325
  }
1318
1326
  export interface NetworkFirewallPolicyModifiedViolation {
1319
1327
  /**
@@ -1567,6 +1575,7 @@ declare namespace FMS {
1567
1575
  export type PreviousAppsList = {[key: string]: AppsList};
1568
1576
  export type PreviousListVersion = string;
1569
1577
  export type PreviousProtocolsList = {[key: string]: ProtocolsList};
1578
+ export type PriorityNumber = number;
1570
1579
  export type ProtectionData = string;
1571
1580
  export type Protocol = string;
1572
1581
  export type ProtocolsList = Protocol[];
@@ -1921,6 +1930,7 @@ declare namespace FMS {
1921
1930
  InternetGatewayRoutes?: Routes;
1922
1931
  }
1923
1932
  export type Routes = Route[];
1933
+ export type RuleOrder = "STRICT_ORDER"|"DEFAULT_ACTION_ORDER"|string;
1924
1934
  export interface SecurityGroupRemediationAction {
1925
1935
  /**
1926
1936
  * The remediation action that will be performed.
@@ -1972,7 +1982,7 @@ declare namespace FMS {
1972
1982
  */
1973
1983
  Type: SecurityServiceType;
1974
1984
  /**
1975
- * Details about the service that are specific to the service type, in JSON format. Example: DNS_FIREWALL "{\"type\":\"DNS_FIREWALL\",\"preProcessRuleGroups\":[{\"ruleGroupId\":\"rslvr-frg-1\",\"priority\":10}],\"postProcessRuleGroups\":[{\"ruleGroupId\":\"rslvr-frg-2\",\"priority\":9911}]}" Valid values for preProcessRuleGroups are between 1 and 99. Valid values for postProcessRuleGroups are between 9901 and 10000. Example: DNS_FIREWALL "{\"type\":\"DNS_FIREWALL\",\"preProcessRuleGroups\":[{\"ruleGroupId\":\"rslvr-frg-1\",\"priority\":10}],\"postProcessRuleGroups\":[{\"ruleGroupId\":\"rslvr-frg-2\",\"priority\":9911}]}" Valid values for preProcessRuleGroups are between 1 and 99. Valid values for postProcessRuleGroups are between 9901 and 10000. Example: NETWORK_FIREWALL - Distributed deployment model with automatic Availability Zone configuration. With automatic Availbility Zone configuration, Firewall Manager chooses which Availability Zones to create the endpoints in. "{ \"type\": \"NETWORK_FIREWALL\", \"networkFirewallStatelessRuleGroupReferences\": [ { \"resourceARN\": \"arn:aws:network-firewall:us-east-1:123456789011:stateless-rulegroup/test\", \"priority\": 1 } ], \"networkFirewallStatelessDefaultActions\": [ \"aws:forward_to_sfe\", \"customActionName\" ], \"networkFirewallStatelessFragmentDefaultActions\": [ \"aws:forward_to_sfe\", \"customActionName\" ], \"networkFirewallStatelessCustomActions\": [ { \"actionName\": \"customActionName\", \"actionDefinition\": { \"publishMetricAction\": { \"dimensions\": [ { \"value\": \"metricdimensionvalue\" } ] } } } ], \"networkFirewallStatefulRuleGroupReferences\": [ { \"resourceARN\": \"arn:aws:network-firewall:us-east-1:123456789011:stateful-rulegroup/test\" } ], \"networkFirewallOrchestrationConfig\": { \"singleFirewallEndpointPerVPC\": false, \"allowedIPV4CidrList\": [ \"10.0.0.0/28\", \"192.168.0.0/28\" ], \"routeManagementAction\": \"OFF\" }, \"networkFirewallLoggingConfiguration\": { \"logDestinationConfigs\": [ { \"logDestinationType\": \"S3\", \"logType\": \"ALERT\", \"logDestination\": { \"bucketName\": \"s3-bucket-name\" } }, { \"logDestinationType\": \"S3\", \"logType\": \"FLOW\", \"logDestination\": { \"bucketName\": \"s3-bucket-name\" } } ], \"overrideExistingConfig\": true } }" To use the distributed deployment model, you must set PolicyOption to NULL. Example: NETWORK_FIREWALL - Distributed deployment model with automatic Availability Zone configuration, and route management. "{ \"type\": \"NETWORK_FIREWALL\", \"networkFirewallStatelessRuleGroupReferences\": [ { \"resourceARN\": \"arn:aws:network-firewall:us-east-1:123456789011:stateless-rulegroup/test\", \"priority\": 1 } ], \"networkFirewallStatelessDefaultActions\": [ \"aws:forward_to_sfe\", \"customActionName\" ], \"networkFirewallStatelessFragmentDefaultActions\": [ \"aws:forward_to_sfe\", \"customActionName\" ], \"networkFirewallStatelessCustomActions\": [ { \"actionName\": \"customActionName\", \"actionDefinition\": { \"publishMetricAction\": { \"dimensions\": [ { \"value\": \"metricdimensionvalue\" } ] } } } ], \"networkFirewallStatefulRuleGroupReferences\": [ { \"resourceARN\": \"arn:aws:network-firewall:us-east-1:123456789011:stateful-rulegroup/test\" } ], \"networkFirewallOrchestrationConfig\": { \"singleFirewallEndpointPerVPC\": false, \"allowedIPV4CidrList\": [ \"10.0.0.0/28\", \"192.168.0.0/28\" ], \"routeManagementAction\": \"MONITOR\", \"routeManagementTargetTypes\": [ \"InternetGateway\" ] }, \"networkFirewallLoggingConfiguration\": { \"logDestinationConfigs\": [ { \"logDestinationType\": \"S3\", \"logType\": \"ALERT\", \"logDestination\": { \"bucketName\": \"s3-bucket-name\" } }, { \"logDestinationType\": \"S3\", \"logType\": \"FLOW\", \"logDestination\": { \"bucketName\": \"s3-bucket-name\" } } ], \"overrideExistingConfig\": true } }" Example: NETWORK_FIREWALL - Distributed deployment model with custom Availability Zone configuration. With custom Availability Zone configuration, you define which specific Availability Zones to create endpoints in by configuring firewallCreationConfig. "{ \"type\":\"NETWORK_FIREWALL\",\"networkFirewallStatelessRuleGroupReferences\":[{\"resourceARN\":\"arn:aws:network-firewall:us-east-1:123456789011:stateless-rulegroup/test\",\"priority\":1}], \"networkFirewallStatelessDefaultActions\":[ \"aws:forward_to_sfe\", \"customActionName\" ], \"networkFirewallStatelessFragmentDefaultActions\":[ \"aws:forward_to_sfe\", \"fragmentcustomactionname\" ], \"networkFirewallStatelessCustomActions\":[ { \"actionName\":\"customActionName\", \"actionDefinition\":{ \"publishMetricAction\":{ \"dimensions\":[ { \"value\":\"metricdimensionvalue\" } ] } } }, { \"actionName\":\"fragmentcustomactionname\", \"actionDefinition\":{ \"publishMetricAction\":{ \"dimensions\":[ { \"value\":\"fragmentmetricdimensionvalue\" } ] } } } ], \"networkFirewallStatefulRuleGroupReferences\":[ { \"resourceARN\":\"arn:aws:network-firewall:us-east-1:123456789011:stateful-rulegroup/test\" } ], \"networkFirewallOrchestrationConfig\":{ \"firewallCreationConfig\":{ \"endpointLocation\":{ \"availabilityZoneConfigList\":[ { \"availabilityZoneId\":null, \"availabilityZoneName\":\"us-east-1a\", \"allowedIPV4CidrList\":[ \"10.0.0.0/28\" ] }, { ¯\"availabilityZoneId\":null, \"availabilityZoneName\":\"us-east-1b\", \"allowedIPV4CidrList\":[ \"10.0.0.0/28\" ] } ] } }, \"singleFirewallEndpointPerVPC\":false, \"allowedIPV4CidrList\":null, \"routeManagementAction\":\"OFF\", \"networkFirewallLoggingConfiguration\":{ \"logDestinationConfigs\":[ { \"logDestinationType\":\"S3\", \"logType\":\"ALERT\", \"logDestination\":{ \"bucketName\":\"s3-bucket-name\" } }, { \"logDestinationType\":\"S3\", \"logType\":\"FLOW\", \"logDestination\":{ \"bucketName\":\"s3-bucket-name\" } } ], \"overrideExistingConfig\":boolean } }" Example: NETWORK_FIREWALL - Distributed deployment model with custom Availability Zone configuration, and route management. "{ \"type\":\"NETWORK_FIREWALL\",\"networkFirewallStatelessRuleGroupReferences\":[{\"resourceARN\":\"arn:aws:network-firewall:us-east-1:123456789011:stateless-rulegroup/test\",\"priority\":1}], \"networkFirewallStatelessDefaultActions\":[ \"aws:forward_to_sfe\", \"customActionName\" ], \"networkFirewallStatelessFragmentDefaultActions\":[ \"aws:forward_to_sfe\", \"fragmentcustomactionname\" ], \"networkFirewallStatelessCustomActions\":[ { \"actionName\":\"customActionName\", \"actionDefinition\":{ \"publishMetricAction\":{ \"dimensions\":[ { \"value\":\"metricdimensionvalue\" } ] } } }, { \"actionName\":\"fragmentcustomactionname\", \"actionDefinition\":{ \"publishMetricAction\":{ \"dimensions\":[ { \"value\":\"fragmentmetricdimensionvalue\" } ] } } } ], \"networkFirewallStatefulRuleGroupReferences\":[ { \"resourceARN\":\"arn:aws:network-firewall:us-east-1:123456789011:stateful-rulegroup/test\" } ], \"networkFirewallOrchestrationConfig\":{ \"firewallCreationConfig\":{ \"endpointLocation\":{ \"availabilityZoneConfigList\":[ { \"availabilityZoneId\":null, \"availabilityZoneName\":\"us-east-1a\", \"allowedIPV4CidrList\":[ \"10.0.0.0/28\" ] }, { ¯\"availabilityZoneId\":null, \"availabilityZoneName\":\"us-east-1b\", \"allowedIPV4CidrList\":[ \"10.0.0.0/28\" ] } ] } }, \"singleFirewallEndpointPerVPC\":false, \"allowedIPV4CidrList\":null, \"routeManagementAction\":\"MONITOR\", \"routeManagementTargetTypes\":[ \"InternetGateway\" ], \"routeManagementConfig\":{ \"allowCrossAZTrafficIfNoEndpoint\":true } }, \"networkFirewallLoggingConfiguration\":{ \"logDestinationConfigs\":[ { \"logDestinationType\":\"S3\", \"logType\":\"ALERT\", \"logDestination\":{ \"bucketName\":\"s3-bucket-name\" } }, { \"logDestinationType\":\"S3\", \"logType\":\"FLOW\", \"logDestination\":{ \"bucketName\":\"s3-bucket-name\" } } ], \"overrideExistingConfig\":boolean } }" Example: PARTNER_FIREWALL for Firewall Manager "{\"type\":\"THIRD_PARTY_FIREWALL\",\"thirdPartyrFirewall\":\"PALO_ALTO_NETWORKS_CLOUD_NGFW\",\"thirdPartyFirewallConfig\":{\"thirdPartyFirewallPolicyList\":[\"global-123456789012-1\"],\"networkFirewallLoggingConfiguration\":null},\"firewallDeploymentModel\":{\"distributedFirewallDeploymentModel\":{\"distributedFirewallOrchestrationConfig\":{\"firewallCreationConfig\":{\"endpointLocation\":{\"availabilityZoneConfigList\":[{\"availabilityZoneId\":null,\"availabilityZoneName\":\"us-east-1a\",\"allowedIPV4CidrList\":[\"10.0.1.0/28\"]}]}},\"allowedIPV4CidrList\":null},\"distributedRouteManagementConfig\":null},\"centralizedFirewallDeploymentModel\":null}}"" Specification for SHIELD_ADVANCED for Amazon CloudFront distributions "{\"type\":\"SHIELD_ADVANCED\",\"automaticResponseConfiguration\": {\"automaticResponseStatus\":\"ENABLED|IGNORED|DISABLED\", \"automaticResponseAction\":\"BLOCK|COUNT\"}, \"overrideCustomerWebaclClassic\":true|false}" For example: "{\"type\":\"SHIELD_ADVANCED\",\"automaticResponseConfiguration\": {\"automaticResponseStatus\":\"ENABLED\", \"automaticResponseAction\":\"COUNT\"}}" The default value for automaticResponseStatus is IGNORED. The value for automaticResponseAction is only required when automaticResponseStatus is set to ENABLED. The default value for overrideCustomerWebaclClassic is false. For other resource types that you can protect with a Shield Advanced policy, this ManagedServiceData configuration is an empty string. Example: WAFV2 "{\"type\":\"WAFV2\",\"preProcessRuleGroups\":[{\"ruleGroupArn\":null,\"overrideAction\":{\"type\":\"NONE\"},\"managedRuleGroupIdentifier\":{\"version\":null,\"vendorName\":\"AWS\",\"managedRuleGroupName\":\"AWSManagedRulesAmazonIpReputationList\"},\"ruleGroupType\":\"ManagedRuleGroup\",\"excludeRules\":[{\"name\":\"NoUserAgent_HEADER\"}]}],\"postProcessRuleGroups\":[],\"defaultAction\":{\"type\":\"ALLOW\"},\"overrideCustomerWebACLAssociation\":false,\"loggingConfiguration\":{\"logDestinationConfigs\":[\"arn:aws:firehose:us-west-2:12345678912:deliverystream/aws-waf-logs-fms-admin-destination\"],\"redactedFields\":[{\"redactedFieldType\":\"SingleHeader\",\"redactedFieldValue\":\"Cookies\"},{\"redactedFieldType\":\"Method\"}]}}" In the loggingConfiguration, you can specify one logDestinationConfigs, you can optionally provide up to 20 redactedFields, and the RedactedFieldType must be one of URI, QUERY_STRING, HEADER, or METHOD. Example: WAF Classic "{\"type\": \"WAF\", \"ruleGroups\": [{\"id\":\"12345678-1bcd-9012-efga-0987654321ab\", \"overrideAction\" : {\"type\": \"COUNT\"}}], \"defaultAction\": {\"type\": \"BLOCK\"}}" Example: WAFV2 - Firewall Manager support for WAF managed rule group versioning "{\"type\":\"WAFV2\",\"preProcessRuleGroups\":[{\"ruleGroupArn\":null,\"overrideAction\":{\"type\":\"NONE\"},\"managedRuleGroupIdentifier\":{\"versionEnabled\":true,\"version\":\"Version_2.0\",\"vendorName\":\"AWS\",\"managedRuleGroupName\":\"AWSManagedRulesCommonRuleSet\"},\"ruleGroupType\":\"ManagedRuleGroup\",\"excludeRules\":[{\"name\":\"NoUserAgent_HEADER\"}]}],\"postProcessRuleGroups\":[],\"defaultAction\":{\"type\":\"ALLOW\"},\"overrideCustomerWebACLAssociation\":false,\"loggingConfiguration\":{\"logDestinationConfigs\":[\"arn:aws:firehose:us-west-2:12345678912:deliverystream/aws-waf-logs-fms-admin-destination\"],\"redactedFields\":[{\"redactedFieldType\":\"SingleHeader\",\"redactedFieldValue\":\"Cookies\"},{\"redactedFieldType\":\"Method\"}]}}" To use a specific version of a WAF managed rule group in your Firewall Manager policy, you must set versionEnabled to true, and set version to the version you'd like to use. If you don't set versionEnabled to true, or if you omit versionEnabled, then Firewall Manager uses the default version of the WAF managed rule group. Example: SECURITY_GROUPS_COMMON "{\"type\":\"SECURITY_GROUPS_COMMON\",\"revertManualSecurityGroupChanges\":false,\"exclusiveResourceSecurityGroupManagement\":false, \"applyToAllEC2InstanceENIs\":false,\"securityGroups\":[{\"id\":\" sg-000e55995d61a06bd\"}]}" Example: Shared VPCs. Apply the preceding policy to resources in shared VPCs as well as to those in VPCs that the account owns "{\"type\":\"SECURITY_GROUPS_COMMON\",\"revertManualSecurityGroupChanges\":false,\"exclusiveResourceSecurityGroupManagement\":false, \"applyToAllEC2InstanceENIs\":false,\"includeSharedVPC\":true,\"securityGroups\":[{\"id\":\" sg-000e55995d61a06bd\"}]}" Example: SECURITY_GROUPS_CONTENT_AUDIT "{\"type\":\"SECURITY_GROUPS_CONTENT_AUDIT\",\"securityGroups\":[{\"id\":\"sg-000e55995d61a06bd\"}],\"securityGroupAction\":{\"type\":\"ALLOW\"}}" The security group action for content audit can be ALLOW or DENY. For ALLOW, all in-scope security group rules must be within the allowed range of the policy's security group rules. For DENY, all in-scope security group rules must not contain a value or a range that matches a rule value or range in the policy security group. Example: SECURITY_GROUPS_USAGE_AUDIT "{\"type\":\"SECURITY_GROUPS_USAGE_AUDIT\",\"deleteUnusedSecurityGroups\":true,\"coalesceRedundantSecurityGroups\":true}"
1985
+ * Details about the service that are specific to the service type, in JSON format. Example: DNS_FIREWALL "{\"type\":\"DNS_FIREWALL\",\"preProcessRuleGroups\":[{\"ruleGroupId\":\"rslvr-frg-1\",\"priority\":10}],\"postProcessRuleGroups\":[{\"ruleGroupId\":\"rslvr-frg-2\",\"priority\":9911}]}" Valid values for preProcessRuleGroups are between 1 and 99. Valid values for postProcessRuleGroups are between 9901 and 10000. Example: NETWORK_FIREWALL - Centralized deployment model "{\"type\":\"NETWORK_FIREWALL\",\"awsNetworkFirewallConfig\":{\"networkFirewallStatelessRuleGroupReferences\":[{\"resourceARN\":\"arn:aws:network-firewall:us-east-1:123456789011:stateless-rulegroup/test\",\"priority\":1}],\"networkFirewallStatelessDefaultActions\":[\"aws:forward_to_sfe\",\"customActionName\"],\"networkFirewallStatelessFragmentDefaultActions\":[\"aws:forward_to_sfe\",\"customActionName\"],\"networkFirewallStatelessCustomActions\":[{\"actionName\":\"customActionName\",\"actionDefinition\":{\"publishMetricAction\":{\"dimensions\":[{\"value\":\"metricdimensionvalue\"}]}}}],\"networkFirewallStatefulRuleGroupReferences\":[{\"resourceARN\":\"arn:aws:network-firewall:us-east-1:123456789011:stateful-rulegroup/test\"}],\"networkFirewallLoggingConfiguration\":{\"logDestinationConfigs\":[{\"logDestinationType\":\"S3\",\"logType\":\"ALERT\",\"logDestination\":{\"bucketName\":\"s3-bucket-name\"}},{\"logDestinationType\":\"S3\",\"logType\":\"FLOW\",\"logDestination\":{\"bucketName\":\"s3-bucket-name\"}}],\"overrideExistingConfig\":true}},\"firewallDeploymentModel\":{\"centralizedFirewallDeploymentModel\":{\"centralizedFirewallOrchestrationConfig\":{\"inspectionVpcIds\":[{\"resourceId\":\"vpc-1234\",\"accountId\":\"123456789011\"}],\"firewallCreationConfig\":{\"endpointLocation\":{\"availabilityZoneConfigList\":[{\"availabilityZoneId\":null,\"availabilityZoneName\":\"us-east-1a\",\"allowedIPV4CidrList\":[\"10.0.0.0/28\"]}]}},\"allowedIPV4CidrList\":[]}}}}" To use the centralized deployment model, you must set PolicyOption to CENTRALIZED. Example: NETWORK_FIREWALL - Distributed deployment model with automatic Availability Zone configuration "{\"type\":\"NETWORK_FIREWALL\",\"networkFirewallStatelessRuleGroupReferences\":[{\"resourceARN\":\"arn:aws:network-firewall:us-east-1:123456789011:stateless-rulegroup/test\",\"priority\":1}],\"networkFirewallStatelessDefaultActions\":[\"aws:forward_to_sfe\",\"customActionName\"],\"networkFirewallStatelessFragmentDefaultActions\":[\"aws:forward_to_sfe\",\"customActionName\"],\"networkFirewallStatelessCustomActions\":[{\"actionName\":\"customActionName\",\"actionDefinition\":{\"publishMetricAction\":{\"dimensions\":[{\"value\":\"metricdimensionvalue\"}]}}}],\"networkFirewallStatefulRuleGroupReferences\":[{\"resourceARN\":\"arn:aws:network-firewall:us-east-1:123456789011:stateful-rulegroup/test\"}],\"networkFirewallOrchestrationConfig\":{\"singleFirewallEndpointPerVPC\":false,\"allowedIPV4CidrList\":[\"10.0.0.0/28\",\"192.168.0.0/28\"],\"routeManagementAction\":\"OFF\"},\"networkFirewallLoggingConfiguration\":{\"logDestinationConfigs\":[{\"logDestinationType\":\"S3\",\"logType\":\"ALERT\",\"logDestination\":{\"bucketName\":\"s3-bucket-name\"}},{\"logDestinationType\":\"S3\",\"logType\":\"FLOW\",\"logDestination\":{\"bucketName\":\"s3-bucket-name\"}}],\"overrideExistingConfig\":true}}" With automatic Availbility Zone configuration, Firewall Manager chooses which Availability Zones to create the endpoints in. To use the distributed deployment model, you must set PolicyOption to NULL. Example: NETWORK_FIREWALL - Distributed deployment model with automatic Availability Zone configuration and route management "{\"type\":\"NETWORK_FIREWALL\",\"networkFirewallStatelessRuleGroupReferences\":[{\"resourceARN\":\"arn:aws:network-firewall:us-east-1:123456789011:stateless-rulegroup/test\",\"priority\":1}],\"networkFirewallStatelessDefaultActions\":[\"aws:forward_to_sfe\",\"customActionName\"],\"networkFirewallStatelessFragmentDefaultActions\":[\"aws:forward_to_sfe\",\"customActionName\"],\"networkFirewallStatelessCustomActions\":[{\"actionName\":\"customActionName\",\"actionDefinition\":{\"publishMetricAction\":{\"dimensions\":[{\"value\":\"metricdimensionvalue\"}]}}}],\"networkFirewallStatefulRuleGroupReferences\":[{\"resourceARN\":\"arn:aws:network-firewall:us-east-1:123456789011:stateful-rulegroup/test\"}],\"networkFirewallOrchestrationConfig\":{\"singleFirewallEndpointPerVPC\":false,\"allowedIPV4CidrList\":[\"10.0.0.0/28\",\"192.168.0.0/28\"],\"routeManagementAction\":\"MONITOR\",\"routeManagementTargetTypes\":[\"InternetGateway\"]},\"networkFirewallLoggingConfiguration\":{\"logDestinationConfigs\":[{\"logDestinationType\":\"S3\",\"logType\":\"ALERT\",\"logDestination\":{\"bucketName\":\"s3-bucket-name\"}},{\"logDestinationType\":\"S3\",\"logType\": \"FLOW\",\"logDestination\":{\"bucketName\":\"s3-bucket-name\"}}],\"overrideExistingConfig\":true}}" To use the distributed deployment model, you must set PolicyOption to NULL. Example: NETWORK_FIREWALL - Distributed deployment model with custom Availability Zone configuration "{\"type\":\"NETWORK_FIREWALL\",\"networkFirewallStatelessRuleGroupReferences\":[{\"resourceARN\":\"arn:aws:network-firewall:us-east-1:123456789011:stateless-rulegroup/test\",\"priority\":1}],\"networkFirewallStatelessDefaultActions\":[\"aws:forward_to_sfe\",\"customActionName\"],\"networkFirewallStatelessFragmentDefaultActions\":[\"aws:forward_to_sfe\",\"fragmentcustomactionname\"],\"networkFirewallStatelessCustomActions\":[{\"actionName\":\"customActionName\", \"actionDefinition\":{\"publishMetricAction\":{\"dimensions\":[{\"value\":\"metricdimensionvalue\"}]}}},{\"actionName\":\"fragmentcustomactionname\",\"actionDefinition\":{\"publishMetricAction\":{\"dimensions\":[{\"value\":\"fragmentmetricdimensionvalue\"}]}}}],\"networkFirewallStatefulRuleGroupReferences\":[{\"resourceARN\":\"arn:aws:network-firewall:us-east-1:123456789011:stateful-rulegroup/test\"}],\"networkFirewallOrchestrationConfig\":{\"firewallCreationConfig\":{ \"endpointLocation\":{\"availabilityZoneConfigList\":[{\"availabilityZoneName\":\"us-east-1a\",\"allowedIPV4CidrList\":[\"10.0.0.0/28\"]},{\"availabilityZoneName\":\"us-east-1b\",\"allowedIPV4CidrList\":[ \"10.0.0.0/28\"]}]} },\"singleFirewallEndpointPerVPC\":false,\"allowedIPV4CidrList\":null,\"routeManagementAction\":\"OFF\",\"networkFirewallLoggingConfiguration\":{\"logDestinationConfigs\":[{\"logDestinationType\":\"S3\",\"logType\":\"ALERT\",\"logDestination\":{\"bucketName\":\"s3-bucket-name\"}},{\"logDestinationType\":\"S3\",\"logType\":\"FLOW\",\"logDestination\":{\"bucketName\":\"s3-bucket-name\"}}],\"overrideExistingConfig\":boolean}}" With custom Availability Zone configuration, you define which specific Availability Zones to create endpoints in by configuring firewallCreationConfig. To configure the Availability Zones in firewallCreationConfig, specify either the availabilityZoneName or availabilityZoneId parameter, not both parameters. To use the distributed deployment model, you must set PolicyOption to NULL. Example: NETWORK_FIREWALL - Distributed deployment model with custom Availability Zone configuration and route management "{\"type\":\"NETWORK_FIREWALL\",\"networkFirewallStatelessRuleGroupReferences\":[{\"resourceARN\":\"arn:aws:network-firewall:us-east-1:123456789011:stateless-rulegroup/test\",\"priority\":1}],\"networkFirewallStatelessDefaultActions\":[\"aws:forward_to_sfe\",\"customActionName\"],\"networkFirewallStatelessFragmentDefaultActions\":[\"aws:forward_to_sfe\",\"fragmentcustomactionname\"],\"networkFirewallStatelessCustomActions\":[{\"actionName\":\"customActionName\",\"actionDefinition\":{\"publishMetricAction\":{\"dimensions\":[{\"value\":\"metricdimensionvalue\"}]}}},{\"actionName\":\"fragmentcustomactionname\",\"actionDefinition\":{\"publishMetricAction\":{\"dimensions\":[{\"value\":\"fragmentmetricdimensionvalue\"}]}}}],\"networkFirewallStatefulRuleGroupReferences\":[{\"resourceARN\":\"arn:aws:network-firewall:us-east-1:123456789011:stateful-rulegroup/test\"}],\"networkFirewallOrchestrationConfig\":{\"firewallCreationConfig\":{\"endpointLocation\":{\"availabilityZoneConfigList\":[{\"availabilityZoneName\":\"us-east-1a\",\"allowedIPV4CidrList\":[\"10.0.0.0/28\"]},{\"availabilityZoneName\":\"us-east-1b\",\"allowedIPV4CidrList\":[\"10.0.0.0/28\"]}]}},\"singleFirewallEndpointPerVPC\":false,\"allowedIPV4CidrList\":null,\"routeManagementAction\":\"MONITOR\",\"routeManagementTargetTypes\":[\"InternetGateway\"],\"routeManagementConfig\":{\"allowCrossAZTrafficIfNoEndpoint\":true}},\"networkFirewallLoggingConfiguration\":{\"logDestinationConfigs\":[{\"logDestinationType\":\"S3\",\"logType\":\"ALERT\",\"logDestination\":{\"bucketName\":\"s3-bucket-name\"}},{\"logDestinationType\":\"S3\",\"logType\":\"FLOW\",\"logDestination\":{\"bucketName\":\"s3-bucket-name\"}}],\"overrideExistingConfig\":boolean}}" To use the distributed deployment model, you must set PolicyOption to NULL. Example: THIRD_PARTY_FIREWALL "{ "type":"THIRD_PARTY_FIREWALL", "thirdPartyFirewall":"PALO_ALTO_NETWORKS_CLOUD_NGFW", "thirdPartyFirewallConfig":{ "thirdPartyFirewallPolicyList":["global-1"] }, "firewallDeploymentModel":{ "distributedFirewallDeploymentModel":{ "distributedFirewallOrchestrationConfig":{ "firewallCreationConfig":{ "endpointLocation":{ "availabilityZoneConfigList":[ { "availabilityZoneName":"${AvailabilityZone}" } ] } }, "allowedIPV4CidrList":[ ] } } } }" Specification for SHIELD_ADVANCED for Amazon CloudFront distributions "{\"type\":\"SHIELD_ADVANCED\",\"automaticResponseConfiguration\": {\"automaticResponseStatus\":\"ENABLED|IGNORED|DISABLED\", \"automaticResponseAction\":\"BLOCK|COUNT\"}, \"overrideCustomerWebaclClassic\":true|false}" For example: "{\"type\":\"SHIELD_ADVANCED\",\"automaticResponseConfiguration\": {\"automaticResponseStatus\":\"ENABLED\", \"automaticResponseAction\":\"COUNT\"}}" The default value for automaticResponseStatus is IGNORED. The value for automaticResponseAction is only required when automaticResponseStatus is set to ENABLED. The default value for overrideCustomerWebaclClassic is false. For other resource types that you can protect with a Shield Advanced policy, this ManagedServiceData configuration is an empty string. Example: WAFV2 "{\"type\":\"WAFV2\",\"preProcessRuleGroups\":[{\"ruleGroupArn\":null,\"overrideAction\":{\"type\":\"NONE\"},\"managedRuleGroupIdentifier\":{\"version\":null,\"vendorName\":\"AWS\",\"managedRuleGroupName\":\"AWSManagedRulesAmazonIpReputationList\"},\"ruleGroupType\":\"ManagedRuleGroup\",\"excludeRules\":[{\"name\":\"NoUserAgent_HEADER\"}]}],\"postProcessRuleGroups\":[],\"defaultAction\":{\"type\":\"ALLOW\"},\"overrideCustomerWebACLAssociation\":false,\"loggingConfiguration\":{\"logDestinationConfigs\":[\"arn:aws:firehose:us-west-2:12345678912:deliverystream/aws-waf-logs-fms-admin-destination\"],\"redactedFields\":[{\"redactedFieldType\":\"SingleHeader\",\"redactedFieldValue\":\"Cookies\"},{\"redactedFieldType\":\"Method\"}]}}" In the loggingConfiguration, you can specify one logDestinationConfigs, you can optionally provide up to 20 redactedFields, and the RedactedFieldType must be one of URI, QUERY_STRING, HEADER, or METHOD. Example: WAF Classic "{\"type\": \"WAF\", \"ruleGroups\": [{\"id\":\"12345678-1bcd-9012-efga-0987654321ab\", \"overrideAction\" : {\"type\": \"COUNT\"}}], \"defaultAction\": {\"type\": \"BLOCK\"}}" Example: WAFV2 - Firewall Manager support for WAF managed rule group versioning "{\"type\":\"WAFV2\",\"preProcessRuleGroups\":[{\"ruleGroupArn\":null,\"overrideAction\":{\"type\":\"NONE\"},\"managedRuleGroupIdentifier\":{\"versionEnabled\":true,\"version\":\"Version_2.0\",\"vendorName\":\"AWS\",\"managedRuleGroupName\":\"AWSManagedRulesCommonRuleSet\"},\"ruleGroupType\":\"ManagedRuleGroup\",\"excludeRules\":[{\"name\":\"NoUserAgent_HEADER\"}]}],\"postProcessRuleGroups\":[],\"defaultAction\":{\"type\":\"ALLOW\"},\"overrideCustomerWebACLAssociation\":false,\"loggingConfiguration\":{\"logDestinationConfigs\":[\"arn:aws:firehose:us-west-2:12345678912:deliverystream/aws-waf-logs-fms-admin-destination\"],\"redactedFields\":[{\"redactedFieldType\":\"SingleHeader\",\"redactedFieldValue\":\"Cookies\"},{\"redactedFieldType\":\"Method\"}]}}" To use a specific version of a WAF managed rule group in your Firewall Manager policy, you must set versionEnabled to true, and set version to the version you'd like to use. If you don't set versionEnabled to true, or if you omit versionEnabled, then Firewall Manager uses the default version of the WAF managed rule group. Example: SECURITY_GROUPS_COMMON "{\"type\":\"SECURITY_GROUPS_COMMON\",\"revertManualSecurityGroupChanges\":false,\"exclusiveResourceSecurityGroupManagement\":false, \"applyToAllEC2InstanceENIs\":false,\"securityGroups\":[{\"id\":\" sg-000e55995d61a06bd\"}]}" Example: SECURITY_GROUPS_COMMON - Security group tag distribution ""{\"type\":\"SECURITY_GROUPS_COMMON\",\"securityGroups\":[{\"id\":\"sg-000e55995d61a06bd\"}],\"revertManualSecurityGroupChanges\":true,\"exclusiveResourceSecurityGroupManagement\":false,\"applyToAllEC2InstanceENIs\":false,\"includeSharedVPC\":false,\"enableTagDistribution\":true}"" Firewall Manager automatically distributes tags from the primary group to the security groups created by this policy. To use security group tag distribution, you must also set revertManualSecurityGroupChanges to true, otherwise Firewall Manager won't be able to create the policy. When you enable revertManualSecurityGroupChanges, Firewall Manager identifies and reports when the security groups created by this policy become non-compliant. Firewall Manager won't distrubute system tags added by Amazon Web Services services into the replica security groups. System tags begin with the aws: prefix. Example: Shared VPCs. Apply the preceding policy to resources in shared VPCs as well as to those in VPCs that the account owns "{\"type\":\"SECURITY_GROUPS_COMMON\",\"revertManualSecurityGroupChanges\":false,\"exclusiveResourceSecurityGroupManagement\":false, \"applyToAllEC2InstanceENIs\":false,\"includeSharedVPC\":true,\"securityGroups\":[{\"id\":\" sg-000e55995d61a06bd\"}]}" Example: SECURITY_GROUPS_CONTENT_AUDIT "{\"type\":\"SECURITY_GROUPS_CONTENT_AUDIT\",\"securityGroups\":[{\"id\":\"sg-000e55995d61a06bd\"}],\"securityGroupAction\":{\"type\":\"ALLOW\"}}" The security group action for content audit can be ALLOW or DENY. For ALLOW, all in-scope security group rules must be within the allowed range of the policy's security group rules. For DENY, all in-scope security group rules must not contain a value or a range that matches a rule value or range in the policy security group. Example: SECURITY_GROUPS_USAGE_AUDIT "{\"type\":\"SECURITY_GROUPS_USAGE_AUDIT\",\"deleteUnusedSecurityGroups\":true,\"coalesceRedundantSecurityGroups\":true}"
1976
1986
  */
1977
1987
  ManagedServiceData?: ManagedServiceData;
1978
1988
  /**
@@ -1981,6 +1991,12 @@ declare namespace FMS {
1981
1991
  PolicyOption?: PolicyOption;
1982
1992
  }
1983
1993
  export type SecurityServiceType = "WAF"|"WAFV2"|"SHIELD_ADVANCED"|"SECURITY_GROUPS_COMMON"|"SECURITY_GROUPS_CONTENT_AUDIT"|"SECURITY_GROUPS_USAGE_AUDIT"|"NETWORK_FIREWALL"|"DNS_FIREWALL"|"THIRD_PARTY_FIREWALL"|string;
1994
+ export interface StatefulEngineOptions {
1995
+ /**
1996
+ * Indicates how to manage the order of stateful rule evaluation for the policy. DEFAULT_ACTION_ORDER is the default behavior. Stateful rules are provided to the rule engine as Suricata compatible strings, and Suricata evaluates them based on certain settings. For more information, see Evaluation order for stateful rules in the Network Firewall Developer Guide.
1997
+ */
1998
+ RuleOrder?: RuleOrder;
1999
+ }
1984
2000
  export interface StatefulRuleGroup {
1985
2001
  /**
1986
2002
  * The name of the rule group.
@@ -1990,6 +2006,10 @@ declare namespace FMS {
1990
2006
  * The resource ID of the rule group.
1991
2007
  */
1992
2008
  ResourceId?: ResourceId;
2009
+ /**
2010
+ * An integer setting that indicates the order in which to run the stateful rule groups in a single Network Firewall firewall policy. This setting only applies to firewall policies that specify the STRICT_ORDER rule order in the stateful engine options settings. Network Firewall evalutes each stateful rule group against a packet starting with the group that has the lowest priority setting. You must ensure that the priority settings are unique within each policy. For information about You can change the priority settings of your rule groups at any time. To make it easier to insert rule groups later, number them so there's a wide range in between, for example use 100, 200, and so on.
2011
+ */
2012
+ Priority?: PriorityNumber;
1993
2013
  }
1994
2014
  export type StatefulRuleGroupList = StatefulRuleGroup[];
1995
2015
  export interface StatelessRuleGroup {
@@ -2110,7 +2130,7 @@ declare namespace FMS {
2110
2130
  }
2111
2131
  export interface ThirdPartyFirewallPolicy {
2112
2132
  /**
2113
- * Defines the deployment model to use for the third-party firewall.
2133
+ * Defines the deployment model to use for the third-party firewall policy.
2114
2134
  */
2115
2135
  FirewallDeploymentModel?: FirewallDeploymentModel;
2116
2136
  }