@mavogel/awscdk-rootmail 0.1.39 → 0.1.40

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 (27) hide show
  1. package/.jsii +7 -7
  2. package/lib/rootmail.js +1 -1
  3. package/lib/ses-receive.js +1 -1
  4. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-cjs/index.js +2 -1
  5. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-es/models/enums.js +1 -0
  6. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-types/commands/CreateLogGroupCommand.d.ts +1 -1
  7. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-types/commands/DeleteAccountPolicyCommand.d.ts +10 -0
  8. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-types/commands/DeleteRetentionPolicyCommand.d.ts +3 -0
  9. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-types/commands/DescribeAccountPoliciesCommand.d.ts +4 -0
  10. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-types/commands/DescribeLogGroupsCommand.d.ts +5 -2
  11. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-types/commands/ListAggregateLogGroupSummariesCommand.d.ts +1 -1
  12. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-types/commands/ListLogGroupsCommand.d.ts +2 -2
  13. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-types/commands/PutAccountPolicyCommand.d.ts +56 -2
  14. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-types/commands/PutRetentionPolicyCommand.d.ts +8 -0
  15. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-types/models/enums.d.ts +1 -0
  16. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-types/models/models_0.d.ts +57 -6
  17. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-types/ts3.4/models/enums.d.ts +1 -0
  18. package/node_modules/@aws-sdk/client-cloudwatch-logs/package.json +1 -1
  19. package/node_modules/@aws-sdk/client-route-53/dist-cjs/index.js +1 -1
  20. package/node_modules/@aws-sdk/client-route-53/package.json +1 -1
  21. package/node_modules/@aws-sdk/client-s3/dist-cjs/index.js +1 -1
  22. package/node_modules/@aws-sdk/client-s3/package.json +2 -2
  23. package/node_modules/@aws-sdk/client-ses/dist-cjs/index.js +1 -1
  24. package/node_modules/@aws-sdk/client-ses/package.json +1 -1
  25. package/node_modules/@aws-sdk/client-ssm/dist-cjs/index.js +1 -1
  26. package/node_modules/@aws-sdk/client-ssm/package.json +1 -1
  27. package/package.json +6 -6
package/.jsii CHANGED
@@ -8,11 +8,11 @@
8
8
  ]
9
9
  },
10
10
  "bundled": {
11
- "@aws-sdk/client-cloudwatch-logs": "^3.1162.0",
12
- "@aws-sdk/client-route-53": "^3.1162.0",
13
- "@aws-sdk/client-s3": "^3.1162.0",
14
- "@aws-sdk/client-ses": "^3.1162.0",
15
- "@aws-sdk/client-ssm": "^3.1162.0",
11
+ "@aws-sdk/client-cloudwatch-logs": "^3.1163.0",
12
+ "@aws-sdk/client-route-53": "^3.1163.0",
13
+ "@aws-sdk/client-s3": "^3.1163.0",
14
+ "@aws-sdk/client-ses": "^3.1163.0",
15
+ "@aws-sdk/client-ssm": "^3.1163.0",
16
16
  "cdk-nag": "^3.0.1",
17
17
  "mailparser": "^3.14.2",
18
18
  "uuid": "^14.0.3"
@@ -9620,6 +9620,6 @@
9620
9620
  "symbolId": "src/ses-receive:SESReceiveProps"
9621
9621
  }
9622
9622
  },
9623
- "version": "0.1.39",
9624
- "fingerprint": "Sf+vK0SfjTMDQkp294jS2vEpoXrtuAtgICEaGMeNRKo="
9623
+ "version": "0.1.40",
9624
+ "fingerprint": "8ocT3HObwliSsvKP+o8Hb+25w5wnvq5he/ZQH21iX+o="
9625
9625
  }
package/lib/rootmail.js CHANGED
@@ -11,7 +11,7 @@ const ses_receive_1 = require("./ses-receive");
11
11
  * Rootmail construct
12
12
  */
13
13
  class Rootmail extends constructs_1.Construct {
14
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@mavogel/awscdk-rootmail.Rootmail", version: "0.1.39" };
14
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@mavogel/awscdk-rootmail.Rootmail", version: "0.1.40" };
15
15
  /**
16
16
  * The name parameter in SSM to store the domain name server.
17
17
  */
@@ -11,7 +11,7 @@ const ses_receipt_ruleset_activation_1 = require("./ses-receipt-ruleset-activati
11
11
  * SES Receive construct
12
12
  */
13
13
  class SESReceive extends constructs_1.Construct {
14
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@mavogel/awscdk-rootmail.SESReceive", version: "0.1.39" };
14
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@mavogel/awscdk-rootmail.SESReceive", version: "0.1.40" };
15
15
  constructor(scope, id, props) {
16
16
  super(scope, id);
17
17
  const filteredEmailSubjects = props.filteredEmailSubjects || [];
@@ -70,7 +70,7 @@ const commonParams = {
70
70
  UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
71
71
  };
72
72
 
73
- var version = "3.1161.0";
73
+ var version = "3.1162.0";
74
74
  var packageInfo = {
75
75
  version: version};
76
76
 
@@ -4416,6 +4416,7 @@ const DeliverySourceConfigurationSchemaValueType = {
4416
4416
  };
4417
4417
  const LogGroupClass = {
4418
4418
  DELIVERY: "DELIVERY",
4419
+ ESSENTIALS: "ESSENTIALS",
4419
4420
  INFREQUENT_ACCESS: "INFREQUENT_ACCESS",
4420
4421
  STANDARD: "STANDARD",
4421
4422
  };
@@ -64,6 +64,7 @@ export const DeliverySourceConfigurationSchemaValueType = {
64
64
  };
65
65
  export const LogGroupClass = {
66
66
  DELIVERY: "DELIVERY",
67
+ ESSENTIALS: "ESSENTIALS",
67
68
  INFREQUENT_ACCESS: "INFREQUENT_ACCESS",
68
69
  STANDARD: "STANDARD",
69
70
  };
@@ -73,7 +73,7 @@ declare const CreateLogGroupCommand_base: {
73
73
  * tags: { // Tags
74
74
  * "<keys>": "STRING_VALUE",
75
75
  * },
76
- * logGroupClass: "STANDARD" || "INFREQUENT_ACCESS" || "DELIVERY",
76
+ * logGroupClass: "STANDARD" || "INFREQUENT_ACCESS" || "DELIVERY" || "ESSENTIALS",
77
77
  * deletionProtectionEnabled: true || false,
78
78
  * };
79
79
  * const command = new CreateLogGroupCommand(input);
@@ -27,6 +27,9 @@ declare const DeleteAccountPolicyCommand_base: {
27
27
  * <p>Deletes a CloudWatch Logs account policy. This stops the account-wide policy from
28
28
  * applying to log groups or data sources in the account. If you delete a data protection policy
29
29
  * or subscription filter policy, any log-group level policies of those types remain in effect.
30
+ * If you delete a retention policy, the log groups that it applied to use their own retention
31
+ * setting, unless another retention policy applies to them. Deleting a retention policy does not
32
+ * restore log events that CloudWatch Logs has already deleted.
30
33
  * This operation supports deletion of data source-based field index policies, including facet
31
34
  * configurations, in addition to log group-based policies.</p>
32
35
  * <p>To use this operation, you must be signed on with the correct permissions depending on the
@@ -53,6 +56,13 @@ declare const DeleteAccountPolicyCommand_base: {
53
56
  * will no longer be available for interactive exploration in the CloudWatch Logs Insights
54
57
  * console. However, facet data is retained for up to 30 days.</p>
55
58
  * </li>
59
+ * <li>
60
+ * <p>To delete a retention policy, you must have the
61
+ * <code>logs:DeleteRetentionPolicy</code> and <code>logs:DeleteAccountPolicy</code>
62
+ * permissions. To preview the impact of deleting a retention policy, specify
63
+ * <code>true</code> for <code>dryRun</code>. A dry run requires the same
64
+ * permissions as the operation that it previews, and no additional permissions.</p>
65
+ * </li>
56
66
  * </ul>
57
67
  * <p>If you delete a field index policy, the indexing of the log events that happened before
58
68
  * you deleted the policy will still be used for up to 30 days to improve CloudWatch Logs
@@ -27,6 +27,9 @@ declare const DeleteRetentionPolicyCommand_base: {
27
27
  * <p>Deletes the specified retention policy.</p>
28
28
  * <p>Log events do not expire if they belong to log groups without a retention
29
29
  * policy.</p>
30
+ * <p>If an account-level retention policy applies to this log group, the log group uses
31
+ * the retention period from that policy. For more information about account-level retention
32
+ * policies, see <a href="https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutAccountPolicy.html">PutAccountPolicy</a>.</p>
30
33
  * @example
31
34
  * Use a bare-bones client and the command you need to make an API call.
32
35
  * ```javascript
@@ -46,6 +46,10 @@ declare const DescribeAccountPoliciesCommand_base: {
46
46
  * <p>To see field index policies, you must have the <code>logs:DescribeIndexPolicies</code>
47
47
  * and <code>logs:DescribeAccountPolicies</code> permissions.</p>
48
48
  * </li>
49
+ * <li>
50
+ * <p>To see retention policies, you must have the <code>logs:DescribeAccountPolicies</code>
51
+ * permission.</p>
52
+ * </li>
49
53
  * </ul>
50
54
  * @example
51
55
  * Use a bare-bones client and the command you need to make an API call.
@@ -27,6 +27,9 @@ declare const DescribeLogGroupsCommand_base: {
27
27
  * <p>Returns information about log groups, including data sources that ingest into each log
28
28
  * group. You can return all your log groups or filter the results by prefix. The results are
29
29
  * ASCII-sorted by log group name.</p>
30
+ * <p>If an account-level retention policy applies to a log group, <code>retentionInDays</code>
31
+ * shows the retention period from that policy, and <code>retentionPolicyName</code> shows the
32
+ * name of the policy.</p>
30
33
  * <p>CloudWatch Logs doesn't support IAM policies that control access to the
31
34
  * <code>DescribeLogGroups</code> action by using the
32
35
  * <code>aws:ResourceTag/<i>key-name</i>
@@ -56,7 +59,7 @@ declare const DescribeLogGroupsCommand_base: {
56
59
  * nextToken: "STRING_VALUE",
57
60
  * limit: Number("int"),
58
61
  * includeLinkedAccounts: true || false,
59
- * logGroupClass: "STANDARD" || "INFREQUENT_ACCESS" || "DELIVERY",
62
+ * logGroupClass: "STANDARD" || "INFREQUENT_ACCESS" || "DELIVERY" || "ESSENTIALS",
60
63
  * logGroupIdentifiers: [ // DescribeLogGroupsLogGroupIdentifiers
61
64
  * "STRING_VALUE",
62
65
  * ],
@@ -77,7 +80,7 @@ declare const DescribeLogGroupsCommand_base: {
77
80
  * // inheritedProperties: [ // InheritedProperties
78
81
  * // "ACCOUNT_DATA_PROTECTION",
79
82
  * // ],
80
- * // logGroupClass: "STANDARD" || "INFREQUENT_ACCESS" || "DELIVERY",
83
+ * // logGroupClass: "STANDARD" || "INFREQUENT_ACCESS" || "DELIVERY" || "ESSENTIALS",
81
84
  * // logGroupArn: "STRING_VALUE",
82
85
  * // deletionProtectionEnabled: true || false,
83
86
  * // bearerTokenAuthenticationEnabled: true || false,
@@ -48,7 +48,7 @@ declare const ListAggregateLogGroupSummariesCommand_base: {
48
48
  * "STRING_VALUE",
49
49
  * ],
50
50
  * includeLinkedAccounts: true || false,
51
- * logGroupClass: "STANDARD" || "INFREQUENT_ACCESS" || "DELIVERY",
51
+ * logGroupClass: "STANDARD" || "INFREQUENT_ACCESS" || "DELIVERY" || "ESSENTIALS",
52
52
  * logGroupNamePattern: "STRING_VALUE",
53
53
  * dataSources: [ // DataSourceFilters
54
54
  * { // DataSourceFilter
@@ -44,7 +44,7 @@ declare const ListLogGroupsCommand_base: {
44
44
  * const client = new CloudWatchLogsClient(config);
45
45
  * const input = { // ListLogGroupsRequest
46
46
  * logGroupNamePattern: "STRING_VALUE",
47
- * logGroupClass: "STANDARD" || "INFREQUENT_ACCESS" || "DELIVERY",
47
+ * logGroupClass: "STANDARD" || "INFREQUENT_ACCESS" || "DELIVERY" || "ESSENTIALS",
48
48
  * includeLinkedAccounts: true || false,
49
49
  * accountIdentifiers: [ // AccountIds
50
50
  * "STRING_VALUE",
@@ -76,7 +76,7 @@ declare const ListLogGroupsCommand_base: {
76
76
  * // { // LogGroupSummary
77
77
  * // logGroupName: "STRING_VALUE",
78
78
  * // logGroupArn: "STRING_VALUE",
79
- * // logGroupClass: "STANDARD" || "INFREQUENT_ACCESS" || "DELIVERY",
79
+ * // logGroupClass: "STANDARD" || "INFREQUENT_ACCESS" || "DELIVERY" || "ESSENTIALS",
80
80
  * // },
81
81
  * // ],
82
82
  * // nextToken: "STRING_VALUE",
@@ -25,8 +25,9 @@ declare const PutAccountPolicyCommand_base: {
25
25
  };
26
26
  /**
27
27
  * <p>Creates an account-level data protection policy, subscription filter policy, field index
28
- * policy, transformer policy, or metric extraction policy that applies to all log groups, a
29
- * subset of log groups, or a data source name and type combination in the account. Account-level
28
+ * policy, transformer policy, metric extraction policy, or retention policy that applies to all
29
+ * log groups, a subset of log groups, or a data source name and type combination in the
30
+ * account. Account-level
30
31
  * policies are Region-specific: a policy applies only to log groups in the Region where you
31
32
  * create it. To apply a policy across multiple Regions, create the policy separately in each
32
33
  * Region.</p>
@@ -77,6 +78,11 @@ declare const PutAccountPolicyCommand_base: {
77
78
  * account-level only and have no log-group-level equivalent, so no conflict resolution
78
79
  * applies.</p>
79
80
  * </li>
81
+ * <li>
82
+ * <p>
83
+ * <i>Retention policies</i> — An account-level retention policy overrides
84
+ * the retention setting of the log group.</p>
85
+ * </li>
80
86
  * </ul>
81
87
  * <p>For field index policies, you can configure indexed fields as <i>facets</i>
82
88
  * to enable interactive exploration of your logs. Facets provide value distributions and counts
@@ -114,6 +120,11 @@ declare const PutAccountPolicyCommand_base: {
114
120
  * <code>logs:PutMetricExtractionPolicy</code> and <code>logs:PutAccountPolicy</code>
115
121
  * permissions.</p>
116
122
  * </li>
123
+ * <li>
124
+ * <p>To create a retention policy, you must have the <code>logs:PutRetentionPolicy</code>
125
+ * and <code>logs:PutAccountPolicy</code> permissions. A dry run requires the same
126
+ * permissions as the operation that it previews, and no additional permissions.</p>
127
+ * </li>
117
128
  * </ul>
118
129
  * <p>
119
130
  * <b>Data protection policy</b>
@@ -487,6 +498,49 @@ declare const PutAccountPolicyCommand_base: {
487
498
  * <code>"/aws/lambda"</code>.</p>
488
499
  * </li>
489
500
  * </ul>
501
+ * <p>
502
+ * <b>Retention policy</b>
503
+ * </p>
504
+ * <p>A retention policy sets the retention period for log groups in your account. You can use an
505
+ * account-level retention policy to set a default retention period for all log groups in the
506
+ * account, or for a subset of log groups that you specify with the
507
+ * <code>selectionCriteria</code> parameter. CloudWatch Logs automatically deletes log events
508
+ * that are older than the retention period.</p>
509
+ * <p>Each account can have up to 20 account-level retention policies in each Region. To scope a
510
+ * retention policy to a subset of log groups, use <code>LogGroupNamePrefix</code> in
511
+ * <code>selectionCriteria</code>. Retention policies support log group name prefixes only. If
512
+ * you omit <code>selectionCriteria</code>, the policy applies
513
+ * to all log groups in the account.</p>
514
+ * <p>Unlike other account-level policy types, retention policies can have overlapping selection
515
+ * criteria. When more than one retention policy applies to a log group, the policy with the
516
+ * longest retention period is used. A policy that specifies <code>NEVER_EXPIRE</code> is treated
517
+ * as the longest retention period. This lets you set a baseline retention period for the account,
518
+ * apply longer retention periods to specific log groups, and exempt specific log groups from
519
+ * expiring at all. If two policies that apply to the same log group specify the same retention
520
+ * period, the policy that was created first is the one reported in
521
+ * <code>retentionPolicyName</code>.</p>
522
+ * <note>
523
+ * <p>Account-level retention policies require a minimum retention period of 30 days.</p>
524
+ * </note>
525
+ * <note>
526
+ * <p>A retention policy takes effect 24 hours after you create it. If you update a policy, the
527
+ * new retention period takes effect 24 hours after the update, and the previous retention
528
+ * period stays in effect until then. During this period, <code>DescribeLogGroups</code> and log
529
+ * event expiration use the retention period that is currently in effect, but a dry run reports
530
+ * the impact as if the policy were already in effect.</p>
531
+ * </note>
532
+ * <p>Before you create, update, or delete a retention policy, you can specify
533
+ * <code>true</code> for <code>dryRun</code> to preview how many log groups would have a longer,
534
+ * shorter, or unchanged retention period. For more information, see <a href="https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DryRunResult.html">DryRunResult</a>.</p>
535
+ * <important>
536
+ * <p>An account-level retention policy replaces the retention period set on a log group,
537
+ * including when the log group's own retention period is longer. For example, if a log group is
538
+ * set to retain log events for 10 years and you create a retention policy that sets a 90-day
539
+ * retention period for that log group, CloudWatch Logs deletes the log events in that log group
540
+ * that are older than 90 days. Specify <code>true</code> for <code>dryRun</code> to see which
541
+ * log groups would have a shorter retention period before you create or update the
542
+ * policy.</p>
543
+ * </important>
490
544
  * @example
491
545
  * Use a bare-bones client and the command you need to make an API call.
492
546
  * ```javascript
@@ -27,6 +27,14 @@ declare const PutRetentionPolicyCommand_base: {
27
27
  * <p>Sets the retention of the specified log group. With a retention policy, you can
28
28
  * configure the number of days for which to retain log events in the specified log
29
29
  * group.</p>
30
+ * <p>Account-level retention policies created with <a href="https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutAccountPolicy.html">PutAccountPolicy</a> override the retention that you
31
+ * set with <code>PutRetentionPolicy</code>. If an account-level retention policy applies to the
32
+ * log group, this operation succeeds and CloudWatch Logs saves the retention period that you
33
+ * specify, but the retention period from the account-level policy continues to determine when
34
+ * log events in the log group expire. <code>DescribeLogGroups</code> returns the retention period
35
+ * from the policy in <code>retentionInDays</code> and the name of the policy in
36
+ * <code>retentionPolicyName</code>. The retention period that you set with this operation takes
37
+ * effect if the account-level policy no longer applies to the log group.</p>
30
38
  * <note>
31
39
  * <p>CloudWatch Logs doesn't immediately delete log events when they reach their retention
32
40
  * setting. It typically takes up to 72 hours after that before log events are deleted, but in
@@ -148,6 +148,7 @@ export type DeliverySourceConfigurationSchemaValueType = (typeof DeliverySourceC
148
148
  */
149
149
  export declare const LogGroupClass: {
150
150
  readonly DELIVERY: "DELIVERY";
151
+ readonly ESSENTIALS: "ESSENTIALS";
151
152
  readonly INFREQUENT_ACCESS: "INFREQUENT_ACCESS";
152
153
  readonly STANDARD: "STANDARD";
153
154
  };
@@ -1081,7 +1081,7 @@ export interface CreateLogGroupRequest {
1081
1081
  */
1082
1082
  tags?: Record<string, string> | undefined;
1083
1083
  /**
1084
- * <p>Use this parameter to specify the log group class for this log group. There are three
1084
+ * <p>Use this parameter to specify the log group class for this log group. There are four
1085
1085
  * classes:</p>
1086
1086
  * <ul>
1087
1087
  * <li>
@@ -1092,6 +1092,10 @@ export interface CreateLogGroupRequest {
1092
1092
  * features and incurs lower costs.</p>
1093
1093
  * </li>
1094
1094
  * <li>
1095
+ * <p>The <code>Essentials</code> log class supports a subset of CloudWatch Logs
1096
+ * features and incurs lower costs.</p>
1097
+ * </li>
1098
+ * <li>
1095
1099
  * <p>Use the <code>Delivery</code> log class only for delivering Lambda
1096
1100
  * logs to store in Amazon S3 or Amazon Data Firehose. Log events in log groups in
1097
1101
  * the Delivery class are kept in CloudWatch Logs for only one day. This log class doesn't
@@ -2941,7 +2945,9 @@ export interface DescribeLogGroupsRequest {
2941
2945
  /**
2942
2946
  * <p>Use this parameter to limit the results to only those log groups in the specified log
2943
2947
  * group class. If you omit this parameter, log groups of all classes can be returned.</p>
2944
- * <p>Specifies the log group class for this log group. There are three classes:</p>
2948
+ * <p>If you specify either <code>INFREQUENT_ACCESS</code> or <code>ESSENTIALS</code>, the
2949
+ * results include log groups in both the Infrequent Access and Essentials log classes.</p>
2950
+ * <p>Specifies the log group class for this log group. There are four classes:</p>
2945
2951
  * <ul>
2946
2952
  * <li>
2947
2953
  * <p>The <code>Standard</code> log class supports all CloudWatch Logs features.</p>
@@ -2951,6 +2957,10 @@ export interface DescribeLogGroupsRequest {
2951
2957
  * features and incurs lower costs.</p>
2952
2958
  * </li>
2953
2959
  * <li>
2960
+ * <p>The <code>Essentials</code> log class supports a subset of CloudWatch Logs
2961
+ * features and incurs lower costs.</p>
2962
+ * </li>
2963
+ * <li>
2954
2964
  * <p>Use the <code>Delivery</code> log class only for delivering Lambda
2955
2965
  * logs to store in Amazon S3 or Amazon Data Firehose. Log events in log groups in
2956
2966
  * the Delivery class are kept in CloudWatch Logs for only one day. This log class doesn't
@@ -3038,7 +3048,7 @@ export interface LogGroup {
3038
3048
  */
3039
3049
  inheritedProperties?: InheritedProperty[] | undefined;
3040
3050
  /**
3041
- * <p>This specifies the log group class for this log group. There are three classes:</p>
3051
+ * <p>This specifies the log group class for this log group. There are four classes:</p>
3042
3052
  * <ul>
3043
3053
  * <li>
3044
3054
  * <p>The <code>Standard</code> log class supports all CloudWatch Logs features.</p>
@@ -3048,6 +3058,10 @@ export interface LogGroup {
3048
3058
  * features and incurs lower costs.</p>
3049
3059
  * </li>
3050
3060
  * <li>
3061
+ * <p>The <code>Essentials</code> log class supports a subset of CloudWatch Logs
3062
+ * features and incurs lower costs.</p>
3063
+ * </li>
3064
+ * <li>
3051
3065
  * <p>Use the <code>Delivery</code> log class only for delivering Lambda
3052
3066
  * logs to store in Amazon S3 or Amazon Data Firehose. Log events in log groups in
3053
3067
  * the Delivery class are kept in CloudWatch Logs for only one day. This log class doesn't
@@ -3055,7 +3069,7 @@ export interface LogGroup {
3055
3069
  * queries.</p>
3056
3070
  * </li>
3057
3071
  * </ul>
3058
- * <p>For details about the features supported by the Standard and Infrequent Access classes,
3072
+ * <p>For details about the features supported by the Standard, Infrequent Access, and Essentials classes,
3059
3073
  * see <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch_Logs_Log_Classes.html">Log classes</a>
3060
3074
  * </p>
3061
3075
  * @public
@@ -7204,6 +7218,36 @@ export interface PutAccountPolicyRequest {
7204
7218
  * <p>You can use <code>FieldsV2</code> to specify the type for each field. Supported types are
7205
7219
  * <code>FIELD_INDEX</code> and <code>FACET</code>. Field names within <code>Fields</code> and
7206
7220
  * <code>FieldsV2</code> must be mutually exclusive.</p>
7221
+ * <p>
7222
+ * <b>Retention policy</b>
7223
+ * </p>
7224
+ * <p>A retention policy must include the following attributes in a JSON block:</p>
7225
+ * <dl>
7226
+ * <dt>retentionInDays</dt>
7227
+ * <dd>
7228
+ * <p>The number of days to retain log events. Valid values are 30, 60, 90, 120, 150, 180,
7229
+ * 365, 400, 545, 731, 1096, 1827, 2192, 2557, 2922, 3288, and 3653. To retain log events
7230
+ * indefinitely, specify the string <code>NEVER_EXPIRE</code>.</p>
7231
+ * </dd>
7232
+ * <dt>enforcementMode</dt>
7233
+ * <dd>
7234
+ * <p>Specifies which log groups the policy applies to. Valid values are
7235
+ * <code>NEW_ONLY</code> and <code>RETROACTIVE</code>.</p>
7236
+ * <p>
7237
+ * <code>RETROACTIVE</code> applies the policy to every log group that matches the
7238
+ * selection criteria, including log groups that existed before you created the
7239
+ * policy.</p>
7240
+ * <p>
7241
+ * <code>NEW_ONLY</code> applies the policy only to log groups that are created after
7242
+ * you create the policy. Log groups that already existed when you created the policy keep
7243
+ * their own retention period.</p>
7244
+ * </dd>
7245
+ * </dl>
7246
+ * <p>The following is an example of a retention policy document.</p>
7247
+ * <p>
7248
+ * <code>"policyDocument": "\{\"retentionInDays\": 90, \"enforcementMode\":
7249
+ * \"RETROACTIVE\"\}"</code>
7250
+ * </p>
7207
7251
  * @public
7208
7252
  */
7209
7253
  policyDocument: string | undefined;
@@ -7223,8 +7267,9 @@ export interface PutAccountPolicyRequest {
7223
7267
  * <p>Use this parameter to apply the new policy to a subset of log groups in the account or a
7224
7268
  * data source name and type combination. </p>
7225
7269
  * <p>Specifying <code>selectionCriteria</code> is valid only when you specify
7226
- * <code>SUBSCRIPTION_FILTER_POLICY</code>, <code>FIELD_INDEX_POLICY</code> or
7227
- * <code>TRANSFORMER_POLICY</code>for <code>policyType</code>.</p>
7270
+ * <code>SUBSCRIPTION_FILTER_POLICY</code>, <code>FIELD_INDEX_POLICY</code>,
7271
+ * <code>TRANSFORMER_POLICY</code>, or <code>RETENTION_POLICY</code> for
7272
+ * <code>policyType</code>.</p>
7228
7273
  * <ul>
7229
7274
  * <li>
7230
7275
  * <p>If <code>policyType</code> is <code>SUBSCRIPTION_FILTER_POLICY</code>, the only
@@ -7256,6 +7301,12 @@ export interface PutAccountPolicyRequest {
7256
7301
  * use either <code>LogGroupNamePrefix</code> by itself or <code>DataSourceName</code> and
7257
7302
  * <code>DataSourceType</code> together.</p>
7258
7303
  * </li>
7304
+ * <li>
7305
+ * <p>If <code>policyType</code> is <code>RETENTION_POLICY</code>, the only supported
7306
+ * <code>selectionCriteria</code> filter is <code>LogGroupNamePrefix</code>. If you omit
7307
+ * <code>selectionCriteria</code>, the retention policy applies to all log groups in the
7308
+ * account.</p>
7309
+ * </li>
7259
7310
  * </ul>
7260
7311
  * <p>The <code>selectionCriteria</code> string can be up to 25KB in length. The length is
7261
7312
  * determined by using its UTF-8 bytes.</p>
@@ -77,6 +77,7 @@ export type DeliverySourceConfigurationSchemaValueType =
77
77
  (typeof DeliverySourceConfigurationSchemaValueType)[keyof typeof DeliverySourceConfigurationSchemaValueType];
78
78
  export declare const LogGroupClass: {
79
79
  readonly DELIVERY: "DELIVERY";
80
+ readonly ESSENTIALS: "ESSENTIALS";
80
81
  readonly INFREQUENT_ACCESS: "INFREQUENT_ACCESS";
81
82
  readonly STANDARD: "STANDARD";
82
83
  };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-cloudwatch-logs",
3
- "version": "3.1162.0",
3
+ "version": "3.1163.0",
4
4
  "description": "AWS SDK for JavaScript Cloudwatch Logs Client for Node.js, Browser and React Native",
5
5
  "homepage": "https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-cloudwatch-logs",
6
6
  "license": "Apache-2.0",
@@ -70,7 +70,7 @@ const commonParams = {
70
70
  UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
71
71
  };
72
72
 
73
- var version = "3.1161.0";
73
+ var version = "3.1162.0";
74
74
  var packageInfo = {
75
75
  version: version};
76
76
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-route-53",
3
- "version": "3.1162.0",
3
+ "version": "3.1163.0",
4
4
  "description": "AWS SDK for JavaScript Route 53 Client for Node.js, Browser and React Native",
5
5
  "homepage": "https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-route-53",
6
6
  "license": "Apache-2.0",
@@ -4779,7 +4779,7 @@ var WriteGetObjectResponse$ = [9, n0, _WGOR,
4779
4779
  class CreateSessionCommand extends command(_ep4, _mw0, "CreateSession", CreateSession$) {
4780
4780
  }
4781
4781
 
4782
- var version = "3.1161.0";
4782
+ var version = "3.1162.0";
4783
4783
  var packageInfo = {
4784
4784
  version: version};
4785
4785
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-s3",
3
- "version": "3.1162.0",
3
+ "version": "3.1163.0",
4
4
  "description": "AWS SDK for JavaScript S3 Client for Node.js, Browser and React Native",
5
5
  "homepage": "https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3",
6
6
  "license": "Apache-2.0",
@@ -67,7 +67,7 @@
67
67
  "tslib": "^2.6.2"
68
68
  },
69
69
  "devDependencies": {
70
- "@aws-sdk/signature-v4-crt": "3.1162.0",
70
+ "@aws-sdk/signature-v4-crt": "3.1163.0",
71
71
  "@smithy/snapshot-testing": "^2.4.0",
72
72
  "@tsconfig/node20": "20.1.8",
73
73
  "@types/node": "^20.14.8",
@@ -69,7 +69,7 @@ const commonParams = {
69
69
  UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
70
70
  };
71
71
 
72
- var version = "3.1161.0";
72
+ var version = "3.1162.0";
73
73
  var packageInfo = {
74
74
  version: version};
75
75
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-ses",
3
- "version": "3.1162.0",
3
+ "version": "3.1163.0",
4
4
  "description": "AWS SDK for JavaScript Ses Client for Node.js, Browser and React Native",
5
5
  "homepage": "https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-ses",
6
6
  "license": "Apache-2.0",
@@ -69,7 +69,7 @@ const commonParams = {
69
69
  UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
70
70
  };
71
71
 
72
- var version = "3.1161.0";
72
+ var version = "3.1162.0";
73
73
  var packageInfo = {
74
74
  version: version};
75
75
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-ssm",
3
- "version": "3.1162.0",
3
+ "version": "3.1163.0",
4
4
  "description": "AWS SDK for JavaScript Ssm Client for Node.js, Browser and React Native",
5
5
  "homepage": "https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-ssm",
6
6
  "license": "Apache-2.0",
package/package.json CHANGED
@@ -79,11 +79,11 @@
79
79
  "constructs": "^10.5.1"
80
80
  },
81
81
  "dependencies": {
82
- "@aws-sdk/client-cloudwatch-logs": "^3.1162.0",
83
- "@aws-sdk/client-route-53": "^3.1162.0",
84
- "@aws-sdk/client-s3": "^3.1162.0",
85
- "@aws-sdk/client-ses": "^3.1162.0",
86
- "@aws-sdk/client-ssm": "^3.1162.0",
82
+ "@aws-sdk/client-cloudwatch-logs": "^3.1163.0",
83
+ "@aws-sdk/client-route-53": "^3.1163.0",
84
+ "@aws-sdk/client-s3": "^3.1163.0",
85
+ "@aws-sdk/client-ses": "^3.1163.0",
86
+ "@aws-sdk/client-ssm": "^3.1163.0",
87
87
  "@mavogel/mvc-projen": "^0.0.72",
88
88
  "cdk-nag": "^3.0.1",
89
89
  "constructs": "^10.5.1",
@@ -122,7 +122,7 @@
122
122
  "publishConfig": {
123
123
  "access": "public"
124
124
  },
125
- "version": "0.1.39",
125
+ "version": "0.1.40",
126
126
  "jest": {
127
127
  "coverageProvider": "v8",
128
128
  "transformIgnorePatterns": [