@rio-cloud/cdk-v2-constructs 6.15.0 → 6.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/docs/API.md CHANGED
@@ -6168,6 +6168,412 @@ public readonly runnerBaseRole: Role;
6168
6168
  ---
6169
6169
 
6170
6170
 
6171
+ ### SesObservability <a name="SesObservability" id="@rio-cloud/cdk-v2-constructs.SesObservability"></a>
6172
+
6173
+ RioSesObservability.
6174
+
6175
+ This construct sets up observability for SES as defined by [ADR - SES domain reputation observability](https://confluence.collaboration-man.com/display/MAN/ADR+-+SES+domain+reputation+observability).
6176
+
6177
+ # Warning
6178
+ This construct results in logging all sent emails including the recipient address into CloudWatch logs.
6179
+ As this is considered **PII**, this information MUST be handled accordingly.
6180
+ In particular, logs **MUST NOT** be sent to further third party services (e.g. Datadog) and the retention period for logs **MUST NOT** be extended.
6181
+
6182
+ # Usage
6183
+ ## Default Configuration Set for Identity
6184
+
6185
+ ```typescript
6186
+ const rioSesObservability = new RioSesObservability(this, 'ConfigurationSet', {})
6187
+ const identity = new EmailIdentity(this, 'EmailIdentity', {
6188
+ identity: Identity.domain('example.com'),
6189
+ configurationSet: rioSesObservability.configurationSet,
6190
+ });
6191
+ ```
6192
+
6193
+ ## Specifically using the configuration set per request
6194
+
6195
+ This is ideal if you want to try out the construct first one some specific emails (e.g. during initial migration).
6196
+ The configuration set name is exported as an SSM parameter `/rio/config/ses-observability/configuration-set-name`.
6197
+ Thus, you can easily make it available as environment variable in your code.
6198
+
6199
+ ```kotlin
6200
+ import com.amazonaws.services.simpleemail.model.SendEmailRequest
6201
+
6202
+ val request = SendEmailRequest()
6203
+ .withConfigurationSetName(SSM_CONFIGURATION_SSM_PARAMETER_VALUE)
6204
+ ...
6205
+ ```
6206
+
6207
+ ## Automated event processing
6208
+
6209
+ If you have specific needs for which you'd like to process the SNS events directly
6210
+ (e.g. automatically creating a suppression list from bounces), you can subscribe to the SNS topic.
6211
+ To enable this the SNS topic ARN is exported via Cloudformation as `RioSesObservabilityTopicArn`.
6212
+
6213
+ #### Initializers <a name="Initializers" id="@rio-cloud/cdk-v2-constructs.SesObservability.Initializer"></a>
6214
+
6215
+ ```typescript
6216
+ import { SesObservability } from '@rio-cloud/cdk-v2-constructs'
6217
+
6218
+ new SesObservability(scope: Construct, id: string, props: SesObservabilityProps)
6219
+ ```
6220
+
6221
+ | **Name** | **Type** | **Description** |
6222
+ | --- | --- | --- |
6223
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.SesObservability.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
6224
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.SesObservability.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
6225
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.SesObservability.Initializer.parameter.props">props</a></code> | <code>@rio-cloud/cdk-v2-constructs.ses.SesObservabilityProps</code> | *No description.* |
6226
+
6227
+ ---
6228
+
6229
+ ##### `scope`<sup>Required</sup> <a name="scope" id="@rio-cloud/cdk-v2-constructs.SesObservability.Initializer.parameter.scope"></a>
6230
+
6231
+ - *Type:* constructs.Construct
6232
+
6233
+ ---
6234
+
6235
+ ##### `id`<sup>Required</sup> <a name="id" id="@rio-cloud/cdk-v2-constructs.SesObservability.Initializer.parameter.id"></a>
6236
+
6237
+ - *Type:* string
6238
+
6239
+ ---
6240
+
6241
+ ##### `props`<sup>Required</sup> <a name="props" id="@rio-cloud/cdk-v2-constructs.SesObservability.Initializer.parameter.props"></a>
6242
+
6243
+ - *Type:* @rio-cloud/cdk-v2-constructs.ses.SesObservabilityProps
6244
+
6245
+ ---
6246
+
6247
+ #### Methods <a name="Methods" id="Methods"></a>
6248
+
6249
+ | **Name** | **Description** |
6250
+ | --- | --- |
6251
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.SesObservability.toString">toString</a></code> | Returns a string representation of this construct. |
6252
+
6253
+ ---
6254
+
6255
+ ##### `toString` <a name="toString" id="@rio-cloud/cdk-v2-constructs.SesObservability.toString"></a>
6256
+
6257
+ ```typescript
6258
+ public toString(): string
6259
+ ```
6260
+
6261
+ Returns a string representation of this construct.
6262
+
6263
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
6264
+
6265
+ | **Name** | **Description** |
6266
+ | --- | --- |
6267
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.SesObservability.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
6268
+
6269
+ ---
6270
+
6271
+ ##### `isConstruct` <a name="isConstruct" id="@rio-cloud/cdk-v2-constructs.SesObservability.isConstruct"></a>
6272
+
6273
+ ```typescript
6274
+ import { SesObservability } from '@rio-cloud/cdk-v2-constructs'
6275
+
6276
+ SesObservability.isConstruct(x: any)
6277
+ ```
6278
+
6279
+ Checks if `x` is a construct.
6280
+
6281
+ Use this method instead of `instanceof` to properly detect `Construct`
6282
+ instances, even when the construct library is symlinked.
6283
+
6284
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
6285
+ disk are seen as independent, completely different libraries. As a
6286
+ consequence, the class `Construct` in each copy of the `constructs` library
6287
+ is seen as a different class, and an instance of one class will not test as
6288
+ `instanceof` the other class. `npm install` will not create installations
6289
+ like this, but users may manually symlink construct libraries together or
6290
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
6291
+ library can be accidentally installed, and `instanceof` will behave
6292
+ unpredictably. It is safest to avoid using `instanceof`, and using
6293
+ this type-testing method instead.
6294
+
6295
+ ###### `x`<sup>Required</sup> <a name="x" id="@rio-cloud/cdk-v2-constructs.SesObservability.isConstruct.parameter.x"></a>
6296
+
6297
+ - *Type:* any
6298
+
6299
+ Any object.
6300
+
6301
+ ---
6302
+
6303
+ #### Properties <a name="Properties" id="Properties"></a>
6304
+
6305
+ | **Name** | **Type** | **Description** |
6306
+ | --- | --- | --- |
6307
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.SesObservability.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
6308
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.SesObservability.property.configurationSet">configurationSet</a></code> | <code>aws-cdk-lib.aws_ses.ConfigurationSet</code> | *No description.* |
6309
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.SesObservability.property.snsTopic">snsTopic</a></code> | <code>aws-cdk-lib.aws_sns.Topic</code> | *No description.* |
6310
+
6311
+ ---
6312
+
6313
+ ##### `node`<sup>Required</sup> <a name="node" id="@rio-cloud/cdk-v2-constructs.SesObservability.property.node"></a>
6314
+
6315
+ ```typescript
6316
+ public readonly node: Node;
6317
+ ```
6318
+
6319
+ - *Type:* constructs.Node
6320
+
6321
+ The tree node.
6322
+
6323
+ ---
6324
+
6325
+ ##### `configurationSet`<sup>Required</sup> <a name="configurationSet" id="@rio-cloud/cdk-v2-constructs.SesObservability.property.configurationSet"></a>
6326
+
6327
+ ```typescript
6328
+ public readonly configurationSet: ConfigurationSet;
6329
+ ```
6330
+
6331
+ - *Type:* aws-cdk-lib.aws_ses.ConfigurationSet
6332
+
6333
+ ---
6334
+
6335
+ ##### `snsTopic`<sup>Required</sup> <a name="snsTopic" id="@rio-cloud/cdk-v2-constructs.SesObservability.property.snsTopic"></a>
6336
+
6337
+ ```typescript
6338
+ public readonly snsTopic: Topic;
6339
+ ```
6340
+
6341
+ - *Type:* aws-cdk-lib.aws_sns.Topic
6342
+
6343
+ ---
6344
+
6345
+ #### Constants <a name="Constants" id="Constants"></a>
6346
+
6347
+ | **Name** | **Type** | **Description** |
6348
+ | --- | --- | --- |
6349
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.SesObservability.property.CONFIGURATION_SET_NAME_SSM_PARAMETER">CONFIGURATION_SET_NAME_SSM_PARAMETER</a></code> | <code>string</code> | *No description.* |
6350
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.SesObservability.property.SNS_TOPIC_ARN_EXPORT_NAME">SNS_TOPIC_ARN_EXPORT_NAME</a></code> | <code>string</code> | *No description.* |
6351
+
6352
+ ---
6353
+
6354
+ ##### `CONFIGURATION_SET_NAME_SSM_PARAMETER`<sup>Required</sup> <a name="CONFIGURATION_SET_NAME_SSM_PARAMETER" id="@rio-cloud/cdk-v2-constructs.SesObservability.property.CONFIGURATION_SET_NAME_SSM_PARAMETER"></a>
6355
+
6356
+ ```typescript
6357
+ public readonly CONFIGURATION_SET_NAME_SSM_PARAMETER: string;
6358
+ ```
6359
+
6360
+ - *Type:* string
6361
+
6362
+ ---
6363
+
6364
+ ##### `SNS_TOPIC_ARN_EXPORT_NAME`<sup>Required</sup> <a name="SNS_TOPIC_ARN_EXPORT_NAME" id="@rio-cloud/cdk-v2-constructs.SesObservability.property.SNS_TOPIC_ARN_EXPORT_NAME"></a>
6365
+
6366
+ ```typescript
6367
+ public readonly SNS_TOPIC_ARN_EXPORT_NAME: string;
6368
+ ```
6369
+
6370
+ - *Type:* string
6371
+
6372
+ ---
6373
+
6374
+ ### SesObservability <a name="SesObservability" id="@rio-cloud/cdk-v2-constructs.ses.SesObservability"></a>
6375
+
6376
+ RioSesObservability.
6377
+
6378
+ This construct sets up observability for SES as defined by [ADR - SES domain reputation observability](https://confluence.collaboration-man.com/display/MAN/ADR+-+SES+domain+reputation+observability).
6379
+
6380
+ # Warning
6381
+ This construct results in logging all sent emails including the recipient address into CloudWatch logs.
6382
+ As this is considered **PII**, this information MUST be handled accordingly.
6383
+ In particular, logs **MUST NOT** be sent to further third party services (e.g. Datadog) and the retention period for logs **MUST NOT** be extended.
6384
+
6385
+ # Usage
6386
+ ## Default Configuration Set for Identity
6387
+
6388
+ ```typescript
6389
+ const rioSesObservability = new RioSesObservability(this, 'ConfigurationSet', {})
6390
+ const identity = new EmailIdentity(this, 'EmailIdentity', {
6391
+ identity: Identity.domain('example.com'),
6392
+ configurationSet: rioSesObservability.configurationSet,
6393
+ });
6394
+ ```
6395
+
6396
+ ## Specifically using the configuration set per request
6397
+
6398
+ This is ideal if you want to try out the construct first one some specific emails (e.g. during initial migration).
6399
+ The configuration set name is exported as an SSM parameter `/rio/config/ses-observability/configuration-set-name`.
6400
+ Thus, you can easily make it available as environment variable in your code.
6401
+
6402
+ ```kotlin
6403
+ import com.amazonaws.services.simpleemail.model.SendEmailRequest
6404
+
6405
+ val request = SendEmailRequest()
6406
+ .withConfigurationSetName(SSM_CONFIGURATION_SSM_PARAMETER_VALUE)
6407
+ ...
6408
+ ```
6409
+
6410
+ ## Automated event processing
6411
+
6412
+ If you have specific needs for which you'd like to process the SNS events directly
6413
+ (e.g. automatically creating a suppression list from bounces), you can subscribe to the SNS topic.
6414
+ To enable this the SNS topic ARN is exported via Cloudformation as `RioSesObservabilityTopicArn`.
6415
+
6416
+ #### Initializers <a name="Initializers" id="@rio-cloud/cdk-v2-constructs.ses.SesObservability.Initializer"></a>
6417
+
6418
+ ```typescript
6419
+ import { ses } from '@rio-cloud/cdk-v2-constructs'
6420
+
6421
+ new ses.SesObservability(scope: Construct, id: string, props: SesObservabilityProps)
6422
+ ```
6423
+
6424
+ | **Name** | **Type** | **Description** |
6425
+ | --- | --- | --- |
6426
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.ses.SesObservability.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
6427
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.ses.SesObservability.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
6428
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.ses.SesObservability.Initializer.parameter.props">props</a></code> | <code>@rio-cloud/cdk-v2-constructs.ses.SesObservabilityProps</code> | *No description.* |
6429
+
6430
+ ---
6431
+
6432
+ ##### `scope`<sup>Required</sup> <a name="scope" id="@rio-cloud/cdk-v2-constructs.ses.SesObservability.Initializer.parameter.scope"></a>
6433
+
6434
+ - *Type:* constructs.Construct
6435
+
6436
+ ---
6437
+
6438
+ ##### `id`<sup>Required</sup> <a name="id" id="@rio-cloud/cdk-v2-constructs.ses.SesObservability.Initializer.parameter.id"></a>
6439
+
6440
+ - *Type:* string
6441
+
6442
+ ---
6443
+
6444
+ ##### `props`<sup>Required</sup> <a name="props" id="@rio-cloud/cdk-v2-constructs.ses.SesObservability.Initializer.parameter.props"></a>
6445
+
6446
+ - *Type:* @rio-cloud/cdk-v2-constructs.ses.SesObservabilityProps
6447
+
6448
+ ---
6449
+
6450
+ #### Methods <a name="Methods" id="Methods"></a>
6451
+
6452
+ | **Name** | **Description** |
6453
+ | --- | --- |
6454
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.ses.SesObservability.toString">toString</a></code> | Returns a string representation of this construct. |
6455
+
6456
+ ---
6457
+
6458
+ ##### `toString` <a name="toString" id="@rio-cloud/cdk-v2-constructs.ses.SesObservability.toString"></a>
6459
+
6460
+ ```typescript
6461
+ public toString(): string
6462
+ ```
6463
+
6464
+ Returns a string representation of this construct.
6465
+
6466
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
6467
+
6468
+ | **Name** | **Description** |
6469
+ | --- | --- |
6470
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.ses.SesObservability.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
6471
+
6472
+ ---
6473
+
6474
+ ##### `isConstruct` <a name="isConstruct" id="@rio-cloud/cdk-v2-constructs.ses.SesObservability.isConstruct"></a>
6475
+
6476
+ ```typescript
6477
+ import { ses } from '@rio-cloud/cdk-v2-constructs'
6478
+
6479
+ ses.SesObservability.isConstruct(x: any)
6480
+ ```
6481
+
6482
+ Checks if `x` is a construct.
6483
+
6484
+ Use this method instead of `instanceof` to properly detect `Construct`
6485
+ instances, even when the construct library is symlinked.
6486
+
6487
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
6488
+ disk are seen as independent, completely different libraries. As a
6489
+ consequence, the class `Construct` in each copy of the `constructs` library
6490
+ is seen as a different class, and an instance of one class will not test as
6491
+ `instanceof` the other class. `npm install` will not create installations
6492
+ like this, but users may manually symlink construct libraries together or
6493
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
6494
+ library can be accidentally installed, and `instanceof` will behave
6495
+ unpredictably. It is safest to avoid using `instanceof`, and using
6496
+ this type-testing method instead.
6497
+
6498
+ ###### `x`<sup>Required</sup> <a name="x" id="@rio-cloud/cdk-v2-constructs.ses.SesObservability.isConstruct.parameter.x"></a>
6499
+
6500
+ - *Type:* any
6501
+
6502
+ Any object.
6503
+
6504
+ ---
6505
+
6506
+ #### Properties <a name="Properties" id="Properties"></a>
6507
+
6508
+ | **Name** | **Type** | **Description** |
6509
+ | --- | --- | --- |
6510
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.ses.SesObservability.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
6511
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.ses.SesObservability.property.configurationSet">configurationSet</a></code> | <code>aws-cdk-lib.aws_ses.ConfigurationSet</code> | *No description.* |
6512
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.ses.SesObservability.property.snsTopic">snsTopic</a></code> | <code>aws-cdk-lib.aws_sns.Topic</code> | *No description.* |
6513
+
6514
+ ---
6515
+
6516
+ ##### `node`<sup>Required</sup> <a name="node" id="@rio-cloud/cdk-v2-constructs.ses.SesObservability.property.node"></a>
6517
+
6518
+ ```typescript
6519
+ public readonly node: Node;
6520
+ ```
6521
+
6522
+ - *Type:* constructs.Node
6523
+
6524
+ The tree node.
6525
+
6526
+ ---
6527
+
6528
+ ##### `configurationSet`<sup>Required</sup> <a name="configurationSet" id="@rio-cloud/cdk-v2-constructs.ses.SesObservability.property.configurationSet"></a>
6529
+
6530
+ ```typescript
6531
+ public readonly configurationSet: ConfigurationSet;
6532
+ ```
6533
+
6534
+ - *Type:* aws-cdk-lib.aws_ses.ConfigurationSet
6535
+
6536
+ ---
6537
+
6538
+ ##### `snsTopic`<sup>Required</sup> <a name="snsTopic" id="@rio-cloud/cdk-v2-constructs.ses.SesObservability.property.snsTopic"></a>
6539
+
6540
+ ```typescript
6541
+ public readonly snsTopic: Topic;
6542
+ ```
6543
+
6544
+ - *Type:* aws-cdk-lib.aws_sns.Topic
6545
+
6546
+ ---
6547
+
6548
+ #### Constants <a name="Constants" id="Constants"></a>
6549
+
6550
+ | **Name** | **Type** | **Description** |
6551
+ | --- | --- | --- |
6552
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.ses.SesObservability.property.CONFIGURATION_SET_NAME_SSM_PARAMETER">CONFIGURATION_SET_NAME_SSM_PARAMETER</a></code> | <code>string</code> | *No description.* |
6553
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.ses.SesObservability.property.SNS_TOPIC_ARN_EXPORT_NAME">SNS_TOPIC_ARN_EXPORT_NAME</a></code> | <code>string</code> | *No description.* |
6554
+
6555
+ ---
6556
+
6557
+ ##### `CONFIGURATION_SET_NAME_SSM_PARAMETER`<sup>Required</sup> <a name="CONFIGURATION_SET_NAME_SSM_PARAMETER" id="@rio-cloud/cdk-v2-constructs.ses.SesObservability.property.CONFIGURATION_SET_NAME_SSM_PARAMETER"></a>
6558
+
6559
+ ```typescript
6560
+ public readonly CONFIGURATION_SET_NAME_SSM_PARAMETER: string;
6561
+ ```
6562
+
6563
+ - *Type:* string
6564
+
6565
+ ---
6566
+
6567
+ ##### `SNS_TOPIC_ARN_EXPORT_NAME`<sup>Required</sup> <a name="SNS_TOPIC_ARN_EXPORT_NAME" id="@rio-cloud/cdk-v2-constructs.ses.SesObservability.property.SNS_TOPIC_ARN_EXPORT_NAME"></a>
6568
+
6569
+ ```typescript
6570
+ public readonly SNS_TOPIC_ARN_EXPORT_NAME: string;
6571
+ ```
6572
+
6573
+ - *Type:* string
6574
+
6575
+ ---
6576
+
6171
6577
  ### SpotServiceLinkedRole <a name="SpotServiceLinkedRole" id="@rio-cloud/cdk-v2-constructs.SpotServiceLinkedRole"></a>
6172
6578
 
6173
6579
  The construct creates a service linked role required to run GitLab Runners using Spot EC2 instances.
@@ -9813,6 +10219,8 @@ const datadogIntegrationProps: DatadogIntegrationProps = { ... }
9813
10219
  | --- | --- | --- |
9814
10220
  | <code><a href="#@rio-cloud/cdk-v2-constructs.DatadogIntegrationProps.property.additionalTags">additionalTags</a></code> | <code>{[ key: string ]: string}</code> | Configure additional tags, which are appended to the defaults, When you define custom tags we would be glad if you contact us. |
9815
10221
  | <code><a href="#@rio-cloud/cdk-v2-constructs.DatadogIntegrationProps.property.apmGetEndpointsToIgnore">apmGetEndpointsToIgnore</a></code> | <code>string[]</code> | GET endpoints to ignore in Datadog's APM overview. |
10222
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.DatadogIntegrationProps.property.awsFireLensCpu">awsFireLensCpu</a></code> | <code>number</code> | The amount of virtual CPU units to be reserved for the firelens log-router container (i.e. aws-for-fluent-bit). |
10223
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.DatadogIntegrationProps.property.awsFireLensMemoryLimitMiB">awsFireLensMemoryLimitMiB</a></code> | <code>number</code> | The amount of memory (in MiB) reserved for the firelens log-router container (i.e. aws-for-fluent-bit). |
9816
10224
  | <code><a href="#@rio-cloud/cdk-v2-constructs.DatadogIntegrationProps.property.cpu">cpu</a></code> | <code>number</code> | The minimum number of CPU units to reserve for the container. |
9817
10225
  | <code><a href="#@rio-cloud/cdk-v2-constructs.DatadogIntegrationProps.property.datadogSidecarEssential">datadogSidecarEssential</a></code> | <code>boolean</code> | Configure if the Datadog agent sidecar is marked as essential. |
9818
10226
  | <code><a href="#@rio-cloud/cdk-v2-constructs.DatadogIntegrationProps.property.datadogSidecarTag">datadogSidecarTag</a></code> | <code>string</code> | Configures the docker image tag for datadog sidecar. |
@@ -9865,6 +10273,38 @@ This is useful to filter out all health check calls.
9865
10273
 
9866
10274
  ---
9867
10275
 
10276
+ ##### `awsFireLensCpu`<sup>Optional</sup> <a name="awsFireLensCpu" id="@rio-cloud/cdk-v2-constructs.DatadogIntegrationProps.property.awsFireLensCpu"></a>
10277
+
10278
+ ```typescript
10279
+ public readonly awsFireLensCpu: number;
10280
+ ```
10281
+
10282
+ - *Type:* number
10283
+ - *Default:* 64
10284
+
10285
+ The amount of virtual CPU units to be reserved for the firelens log-router container (i.e. aws-for-fluent-bit).
10286
+
10287
+ This only applies for the AWS_FIRE_LENS logging mode.
10288
+ Setting it for any other logging mode will cause an exception.
10289
+
10290
+ ---
10291
+
10292
+ ##### `awsFireLensMemoryLimitMiB`<sup>Optional</sup> <a name="awsFireLensMemoryLimitMiB" id="@rio-cloud/cdk-v2-constructs.DatadogIntegrationProps.property.awsFireLensMemoryLimitMiB"></a>
10293
+
10294
+ ```typescript
10295
+ public readonly awsFireLensMemoryLimitMiB: number;
10296
+ ```
10297
+
10298
+ - *Type:* number
10299
+ - *Default:* 64
10300
+
10301
+ The amount of memory (in MiB) reserved for the firelens log-router container (i.e. aws-for-fluent-bit).
10302
+
10303
+ This only applies for the AWS_FIRE_LENS logging mode.
10304
+ Setting it for any other logging mode will cause an exception.
10305
+
10306
+ ---
10307
+
9868
10308
  ##### `cpu`<sup>Optional</sup> <a name="cpu" id="@rio-cloud/cdk-v2-constructs.DatadogIntegrationProps.property.cpu"></a>
9869
10309
 
9870
10310
  ```typescript
@@ -9990,6 +10430,8 @@ const datadogIntegrationProps: fargate.DatadogIntegrationProps = { ... }
9990
10430
  | --- | --- | --- |
9991
10431
  | <code><a href="#@rio-cloud/cdk-v2-constructs.fargate.DatadogIntegrationProps.property.additionalTags">additionalTags</a></code> | <code>{[ key: string ]: string}</code> | Configure additional tags, which are appended to the defaults, When you define custom tags we would be glad if you contact us. |
9992
10432
  | <code><a href="#@rio-cloud/cdk-v2-constructs.fargate.DatadogIntegrationProps.property.apmGetEndpointsToIgnore">apmGetEndpointsToIgnore</a></code> | <code>string[]</code> | GET endpoints to ignore in Datadog's APM overview. |
10433
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.fargate.DatadogIntegrationProps.property.awsFireLensCpu">awsFireLensCpu</a></code> | <code>number</code> | The amount of virtual CPU units to be reserved for the firelens log-router container (i.e. aws-for-fluent-bit). |
10434
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.fargate.DatadogIntegrationProps.property.awsFireLensMemoryLimitMiB">awsFireLensMemoryLimitMiB</a></code> | <code>number</code> | The amount of memory (in MiB) reserved for the firelens log-router container (i.e. aws-for-fluent-bit). |
9993
10435
  | <code><a href="#@rio-cloud/cdk-v2-constructs.fargate.DatadogIntegrationProps.property.cpu">cpu</a></code> | <code>number</code> | The minimum number of CPU units to reserve for the container. |
9994
10436
  | <code><a href="#@rio-cloud/cdk-v2-constructs.fargate.DatadogIntegrationProps.property.datadogSidecarEssential">datadogSidecarEssential</a></code> | <code>boolean</code> | Configure if the Datadog agent sidecar is marked as essential. |
9995
10437
  | <code><a href="#@rio-cloud/cdk-v2-constructs.fargate.DatadogIntegrationProps.property.datadogSidecarTag">datadogSidecarTag</a></code> | <code>string</code> | Configures the docker image tag for datadog sidecar. |
@@ -10042,6 +10484,38 @@ This is useful to filter out all health check calls.
10042
10484
 
10043
10485
  ---
10044
10486
 
10487
+ ##### `awsFireLensCpu`<sup>Optional</sup> <a name="awsFireLensCpu" id="@rio-cloud/cdk-v2-constructs.fargate.DatadogIntegrationProps.property.awsFireLensCpu"></a>
10488
+
10489
+ ```typescript
10490
+ public readonly awsFireLensCpu: number;
10491
+ ```
10492
+
10493
+ - *Type:* number
10494
+ - *Default:* 64
10495
+
10496
+ The amount of virtual CPU units to be reserved for the firelens log-router container (i.e. aws-for-fluent-bit).
10497
+
10498
+ This only applies for the AWS_FIRE_LENS logging mode.
10499
+ Setting it for any other logging mode will cause an exception.
10500
+
10501
+ ---
10502
+
10503
+ ##### `awsFireLensMemoryLimitMiB`<sup>Optional</sup> <a name="awsFireLensMemoryLimitMiB" id="@rio-cloud/cdk-v2-constructs.fargate.DatadogIntegrationProps.property.awsFireLensMemoryLimitMiB"></a>
10504
+
10505
+ ```typescript
10506
+ public readonly awsFireLensMemoryLimitMiB: number;
10507
+ ```
10508
+
10509
+ - *Type:* number
10510
+ - *Default:* 64
10511
+
10512
+ The amount of memory (in MiB) reserved for the firelens log-router container (i.e. aws-for-fluent-bit).
10513
+
10514
+ This only applies for the AWS_FIRE_LENS logging mode.
10515
+ Setting it for any other logging mode will cause an exception.
10516
+
10517
+ ---
10518
+
10045
10519
  ##### `cpu`<sup>Optional</sup> <a name="cpu" id="@rio-cloud/cdk-v2-constructs.fargate.DatadogIntegrationProps.property.cpu"></a>
10046
10520
 
10047
10521
  ```typescript
@@ -12768,7 +13242,7 @@ Indicates if the producer will restore the data in case of a disaster or not.
12768
13242
 
12769
13243
  The current service limits can be found in the topic limits configuration of the topic manager.
12770
13244
 
12771
- > [https://collaboration.msi.audi.com/stash/projects/RSEVTBU/repos/topic-manager/browse/config/topic-service-limits.yaml](https://collaboration.msi.audi.com/stash/projects/RSEVTBU/repos/topic-manager/browse/config/topic-service-limits.yaml)
13245
+ > [https://bitbucket.collaboration-man.com/projects/RSEVTBU/repos/topic-manager/browse/config/topic-service-limits.yaml](https://bitbucket.collaboration-man.com/projects/RSEVTBU/repos/topic-manager/browse/config/topic-service-limits.yaml)
12772
13246
 
12773
13247
  #### Initializer <a name="Initializer" id="@rio-cloud/cdk-v2-constructs.KafkaTopicProps.Initializer"></a>
12774
13248
 
@@ -12923,7 +13397,7 @@ The soft limit is 3 to 30 days but can be increased upon requests.
12923
13397
 
12924
13398
  The current service limits can be found in the topic limits configuration of the topic manager.
12925
13399
 
12926
- > [https://collaboration.msi.audi.com/stash/projects/RSEVTBU/repos/topic-manager/browse/config/topic-service-limits.yaml](https://collaboration.msi.audi.com/stash/projects/RSEVTBU/repos/topic-manager/browse/config/topic-service-limits.yaml)
13400
+ > [https://bitbucket.collaboration-man.com/projects/RSEVTBU/repos/topic-manager/browse/config/topic-service-limits.yaml](https://bitbucket.collaboration-man.com/projects/RSEVTBU/repos/topic-manager/browse/config/topic-service-limits.yaml)
12927
13401
 
12928
13402
  #### Initializer <a name="Initializer" id="@rio-cloud/cdk-v2-constructs.kafka.KafkaTopicProps.Initializer"></a>
12929
13403
 
@@ -13078,7 +13552,7 @@ The soft limit is 3 to 30 days but can be increased upon requests.
13078
13552
 
13079
13553
  The current service limits can be found in the topic limits configuration of the topic manager.
13080
13554
 
13081
- > [https://collaboration.msi.audi.com/stash/projects/RSEVTBU/repos/topic-manager/browse/config/topic-service-limits.yaml](https://collaboration.msi.audi.com/stash/projects/RSEVTBU/repos/topic-manager/browse/config/topic-service-limits.yaml)
13555
+ > [https://bitbucket.collaboration-man.com/projects/RSEVTBU/repos/topic-manager/browse/config/topic-service-limits.yaml](https://bitbucket.collaboration-man.com/projects/RSEVTBU/repos/topic-manager/browse/config/topic-service-limits.yaml)
13082
13556
 
13083
13557
  #### Initializer <a name="Initializer" id="@rio-cloud/cdk-v2-constructs.KafkaTopicV4Props.Initializer"></a>
13084
13558
 
@@ -13249,7 +13723,7 @@ The soft limit is 3 to 30 days but can be increased upon requests.
13249
13723
 
13250
13724
  The current service limits can be found in the topic limits configuration of the topic manager.
13251
13725
 
13252
- > [https://collaboration.msi.audi.com/stash/projects/RSEVTBU/repos/topic-manager/browse/config/topic-service-limits.yaml](https://collaboration.msi.audi.com/stash/projects/RSEVTBU/repos/topic-manager/browse/config/topic-service-limits.yaml)
13726
+ > [https://bitbucket.collaboration-man.com/projects/RSEVTBU/repos/topic-manager/browse/config/topic-service-limits.yaml](https://bitbucket.collaboration-man.com/projects/RSEVTBU/repos/topic-manager/browse/config/topic-service-limits.yaml)
13253
13727
 
13254
13728
  #### Initializer <a name="Initializer" id="@rio-cloud/cdk-v2-constructs.kafka.KafkaTopicV4Props.Initializer"></a>
13255
13729
 
@@ -16165,6 +16639,68 @@ public readonly env: Environment;
16165
16639
 
16166
16640
  ---
16167
16641
 
16642
+ ### SesObservabilityProps <a name="SesObservabilityProps" id="@rio-cloud/cdk-v2-constructs.SesObservabilityProps"></a>
16643
+
16644
+ #### Initializer <a name="Initializer" id="@rio-cloud/cdk-v2-constructs.SesObservabilityProps.Initializer"></a>
16645
+
16646
+ ```typescript
16647
+ import { SesObservabilityProps } from '@rio-cloud/cdk-v2-constructs'
16648
+
16649
+ const sesObservabilityProps: SesObservabilityProps = { ... }
16650
+ ```
16651
+
16652
+ #### Properties <a name="Properties" id="Properties"></a>
16653
+
16654
+ | **Name** | **Type** | **Description** |
16655
+ | --- | --- | --- |
16656
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.SesObservabilityProps.property.loggedSesEvents">loggedSesEvents</a></code> | <code>aws-cdk-lib.aws_ses.EmailSendingEvent[]</code> | The SES events to log. |
16657
+
16658
+ ---
16659
+
16660
+ ##### `loggedSesEvents`<sup>Optional</sup> <a name="loggedSesEvents" id="@rio-cloud/cdk-v2-constructs.SesObservabilityProps.property.loggedSesEvents"></a>
16661
+
16662
+ ```typescript
16663
+ public readonly loggedSesEvents: EmailSendingEvent[];
16664
+ ```
16665
+
16666
+ - *Type:* aws-cdk-lib.aws_ses.EmailSendingEvent[]
16667
+ - *Default:* [EmailSendingEvent.DELIVERY, EmailSendingEvent.BOUNCE, EmailSendingEvent.COMPLAINT, EmailSendingEvent.REJECT]
16668
+
16669
+ The SES events to log.
16670
+
16671
+ ---
16672
+
16673
+ ### SesObservabilityProps <a name="SesObservabilityProps" id="@rio-cloud/cdk-v2-constructs.ses.SesObservabilityProps"></a>
16674
+
16675
+ #### Initializer <a name="Initializer" id="@rio-cloud/cdk-v2-constructs.ses.SesObservabilityProps.Initializer"></a>
16676
+
16677
+ ```typescript
16678
+ import { ses } from '@rio-cloud/cdk-v2-constructs'
16679
+
16680
+ const sesObservabilityProps: ses.SesObservabilityProps = { ... }
16681
+ ```
16682
+
16683
+ #### Properties <a name="Properties" id="Properties"></a>
16684
+
16685
+ | **Name** | **Type** | **Description** |
16686
+ | --- | --- | --- |
16687
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.ses.SesObservabilityProps.property.loggedSesEvents">loggedSesEvents</a></code> | <code>aws-cdk-lib.aws_ses.EmailSendingEvent[]</code> | The SES events to log. |
16688
+
16689
+ ---
16690
+
16691
+ ##### `loggedSesEvents`<sup>Optional</sup> <a name="loggedSesEvents" id="@rio-cloud/cdk-v2-constructs.ses.SesObservabilityProps.property.loggedSesEvents"></a>
16692
+
16693
+ ```typescript
16694
+ public readonly loggedSesEvents: EmailSendingEvent[];
16695
+ ```
16696
+
16697
+ - *Type:* aws-cdk-lib.aws_ses.EmailSendingEvent[]
16698
+ - *Default:* [EmailSendingEvent.DELIVERY, EmailSendingEvent.BOUNCE, EmailSendingEvent.COMPLAINT, EmailSendingEvent.REJECT]
16699
+
16700
+ The SES events to log.
16701
+
16702
+ ---
16703
+
16168
16704
  ### ShouldOverrideThresholdProps <a name="ShouldOverrideThresholdProps" id="@rio-cloud/cdk-v2-constructs.ShouldOverrideThresholdProps"></a>
16169
16705
 
16170
16706
  #### Initializer <a name="Initializer" id="@rio-cloud/cdk-v2-constructs.ShouldOverrideThresholdProps.Initializer"></a>
@@ -18047,8 +18583,8 @@ ecr.DockerHubPullThroughCache.allowAccessTo(target: IGrantable)
18047
18583
 
18048
18584
  Wrapper class for the event spec itself to support providing it via file or inline string.
18049
18585
 
18050
- > [https://collaboration.msi.audi.com/stash/projects/RSEVTBU/repos/topic-creation-example for
18051
- further information about the yaml spec.](https://collaboration.msi.audi.com/stash/projects/RSEVTBU/repos/topic-creation-example for
18586
+ > [https://bitbucket.collaboration-man.com/projects/RSEVTBU/repos/topic-creation-example for
18587
+ further information about the yaml spec.](https://bitbucket.collaboration-man.com/projects/RSEVTBU/repos/topic-creation-example for
18052
18588
  further information about the yaml spec.)
18053
18589
 
18054
18590
  #### Methods <a name="Methods" id="Methods"></a>
@@ -18135,8 +18671,8 @@ public readonly eventName: string;
18135
18671
 
18136
18672
  Wrapper class for the event spec itself to support providing it via file or inline string.
18137
18673
 
18138
- > [https://collaboration.msi.audi.com/stash/projects/RSEVTBU/repos/topic-creation-example for
18139
- further information about the yaml spec.](https://collaboration.msi.audi.com/stash/projects/RSEVTBU/repos/topic-creation-example for
18674
+ > [https://bitbucket.collaboration-man.com/projects/RSEVTBU/repos/topic-creation-example for
18675
+ further information about the yaml spec.](https://bitbucket.collaboration-man.com/projects/RSEVTBU/repos/topic-creation-example for
18140
18676
  further information about the yaml spec.)
18141
18677
 
18142
18678
  #### Methods <a name="Methods" id="Methods"></a>
package/docs/changelog.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
4
4
 
5
+ ## [6.16.0](https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv6.15.0&sourceBranch=refs%2Ftags%2Fv6.16.0) (2024-11-29)
6
+
7
+
8
+ ### Features
9
+
10
+ * allow override of firelens container cpu/memory limits ([f8e4f4e](https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/commits/f8e4f4eef7830a21e822b2c2b0911b91178046e8))
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * fix jsii compilation ([087e501](https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/commits/087e501d26062e3f1212a5c848ce3e8f353ac1a5))
16
+
5
17
  ## [6.15.0](https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv6.15.0-alpha.1&sourceBranch=refs%2Ftags%2Fv6.15.0) (2024-11-25)
6
18
 
7
19
  ## [6.15.0-alpha.1](https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv6.15.0-alpha.0&sourceBranch=refs%2Ftags%2Fv6.15.0-alpha.1) (2024-11-21)
package/esbuild.mjs CHANGED
@@ -22,6 +22,10 @@ const entryPoints = [
22
22
  basePath: 'datadogv2/service-catalog-custom-resource',
23
23
  fileName: 'on-create.ts',
24
24
  },
25
+ {
26
+ basePath: 'ses/lambda',
27
+ fileName: 'ses-logger.ts',
28
+ },
25
29
  ]
26
30
 
27
31
  for (const handler of entryPoints) {