aws-solutions-constructs.aws-eventbridge-sqs 2.75.0__py3-none-any.whl → 2.77.0__py3-none-any.whl

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.
@@ -121,6 +121,9 @@ constructStack.getEncryptionKey().addToResourcePolicy(policyStatement);
121
121
  |existingEventBusInterface?|[`events.IEventBus`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_events.IEventBus.html)| Optional user-provided custom EventBus for construct to use. Providing both this and `eventBusProps` results an error.|
122
122
  |eventBusProps?|[`events.EventBusProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_events.EventBusProps.html)|Optional user-provided properties to override the default properties when creating a custom EventBus. Setting this value to `{}` will create a custom EventBus using all default properties. If neither this nor `existingEventBusInterface` is provided the construct will use the `default` EventBus. Providing both this and `existingEventBusInterface` results an error.|
123
123
  |eventRuleProps|[`events.RuleProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_events.RuleProps.html)|User provided eventRuleProps to override the defaults. |
124
+ |targetProps?|[`eventtargets.SqsQueueProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_events_targets.SqsQueueProps.html)|Optional user provided properties to define the SQS target on the Event Rule. If you specify a deadLetterQueue for the rule here, you are responsible for adding a resource policy to the queue allowing events.amazonaws.com permission to SendMessage, GetQueueUrl and GetQueueAttributes. You cannot send a DLQ in this property and set deployEventRuleDlq to true. Default is undefined and all system defaults are used.|
125
+ |eventRuleDlqKeyProps|[kms.KeyProps](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_kms.KeyProps.html)|Optional properties to define the key created to protect the ruleDlq. Only valid if deployRuleDlq is set to true. Defaults to CloudFormation defaults.|
126
+ | deployEventRuleDlq?|boolean|Whether to deploy a DLQ for the Event Rule. If set to `true`, this DLQ will receive any messages that can't be delivered to the target SQS queue. Defaults to `false`.|
124
127
  |existingQueueObj?|[`sqs.Queue`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_sqs.Queue.html)|An optional, existing SQS queue to be used instead of the default queue. Providing both this and `queueProps` will cause an error.|
125
128
  |queueProps?|[`sqs.QueueProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_sqs.QueueProps.html)|User provided props to override the default props for the SQS Queue. |
126
129
  |enableQueuePurging?|`boolean`|Whether to grant additional permissions to the Lambda function enabling it to purge the SQS queue. Defaults to `false`.|
@@ -137,6 +140,8 @@ constructStack.getEncryptionKey().addToResourcePolicy(policyStatement);
137
140
  |:-------------|:----------------|-----------------|
138
141
  |eventBus?|[`events.IEventBus`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_events.IEventBus.html)|Returns the instance of events.IEventBus used by the construct|
139
142
  |eventsRule|[`events.Rule`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_events.Rule.html)|Returns an instance of events.Rule created by the construct|
143
+ |eventRuleDlq?|`sqs.Queue`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_sqs.Queue.html)|If the client sets deployEventRuleDlq to 'true', then this value will contain the DLQ set up for the rule.|
144
+ |eventRuleDlqKey|[kms.IKey](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_kms.IKey.html)|The key created to encrypt the eventRuleDlq.|
140
145
  |sqsQueue|[`sqs.Queue`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_sqs.Queue.html)|Returns an instance of sqs.Queue created by the construct|
141
146
  |encryptionKey?|[`kms.Key`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_kms.Key.html)|Returns an instance of kms Key used for the SQS queue.|
142
147
  |deadLetterQueue?|[`sqs.Queue`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_sqs.Queue.html)|Returns an instance of the dead-letter SQS queue created by the pattern.|
@@ -197,6 +202,7 @@ def check_type(argname: str, value: object, expected_type: typing.Any) -> typing
197
202
  from ._jsii import *
198
203
 
199
204
  import aws_cdk.aws_events as _aws_cdk_aws_events_ceddda9d
205
+ import aws_cdk.aws_events_targets as _aws_cdk_aws_events_targets_ceddda9d
200
206
  import aws_cdk.aws_kms as _aws_cdk_aws_kms_ceddda9d
201
207
  import aws_cdk.aws_sqs as _aws_cdk_aws_sqs_ceddda9d
202
208
  import constructs as _constructs_77d1e7e8
@@ -215,15 +221,18 @@ class EventbridgeToSqs(
215
221
  event_rule_props: typing.Union[_aws_cdk_aws_events_ceddda9d.RuleProps, typing.Dict[builtins.str, typing.Any]],
216
222
  dead_letter_queue_props: typing.Optional[typing.Union[_aws_cdk_aws_sqs_ceddda9d.QueueProps, typing.Dict[builtins.str, typing.Any]]] = None,
217
223
  deploy_dead_letter_queue: typing.Optional[builtins.bool] = None,
224
+ deploy_event_rule_dlq: typing.Optional[builtins.bool] = None,
218
225
  enable_encryption_with_customer_managed_key: typing.Optional[builtins.bool] = None,
219
226
  enable_queue_purging: typing.Optional[builtins.bool] = None,
220
227
  encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
221
228
  encryption_key_props: typing.Optional[typing.Union[_aws_cdk_aws_kms_ceddda9d.KeyProps, typing.Dict[builtins.str, typing.Any]]] = None,
222
229
  event_bus_props: typing.Optional[typing.Union[_aws_cdk_aws_events_ceddda9d.EventBusProps, typing.Dict[builtins.str, typing.Any]]] = None,
230
+ event_rule_dlq_key_props: typing.Optional[typing.Union[_aws_cdk_aws_kms_ceddda9d.KeyProps, typing.Dict[builtins.str, typing.Any]]] = None,
223
231
  existing_event_bus_interface: typing.Optional[_aws_cdk_aws_events_ceddda9d.IEventBus] = None,
224
232
  existing_queue_obj: typing.Optional[_aws_cdk_aws_sqs_ceddda9d.Queue] = None,
225
233
  max_receive_count: typing.Optional[jsii.Number] = None,
226
234
  queue_props: typing.Optional[typing.Union[_aws_cdk_aws_sqs_ceddda9d.QueueProps, typing.Dict[builtins.str, typing.Any]]] = None,
235
+ target_props: typing.Optional[typing.Union[_aws_cdk_aws_events_targets_ceddda9d.SqsQueueProps, typing.Dict[builtins.str, typing.Any]]] = None,
227
236
  ) -> None:
228
237
  '''
229
238
  :param scope: - represents the scope for all the resources.
@@ -231,15 +240,18 @@ class EventbridgeToSqs(
231
240
  :param event_rule_props: User provided eventRuleProps to override the defaults. Default: - None
232
241
  :param dead_letter_queue_props: Optional user provided properties for the dead letter queue. Default: - Default props are used
233
242
  :param deploy_dead_letter_queue: Whether to deploy a secondary queue to be used as a dead letter queue. Default: - true.
243
+ :param deploy_event_rule_dlq: Whether to deploy a DLQ for the Event Rule. If set to ``true``, this DLQ will receive any messages that can't be delivered to the target SQS queue. Default: - false
234
244
  :param enable_encryption_with_customer_managed_key: If no key is provided, this flag determines whether the queue is encrypted with a new CMK or an AWS managed key. This flag is ignored if any of the following are defined: queueProps.encryptionMasterKey, encryptionKey or encryptionKeyProps. Default: - True if queueProps.encryptionMasterKey, encryptionKey, and encryptionKeyProps are all undefined.
235
245
  :param enable_queue_purging: Whether to grant additional permissions to the Lambda function enabling it to purge the SQS queue. Default: - "false", disabled by default.
236
246
  :param encryption_key: An optional, imported encryption key to encrypt the SQS queue with. Default: - None
237
247
  :param encryption_key_props: Optional user provided properties to override the default properties for the KMS encryption key used to encrypt the SQS queue with. Default: - None
238
248
  :param event_bus_props: A new custom EventBus is created with provided props. Default: - None
249
+ :param event_rule_dlq_key_props: Properties to define the key created to protect the ruleDlq Only valid if deployEventRuleDlq is set to true. Default: - default props are used
239
250
  :param existing_event_bus_interface: Existing instance of a custom EventBus. Default: - None
240
251
  :param existing_queue_obj: Existing instance of SQS queue object, providing both this and queueProps will cause an error. Default: - None
241
252
  :param max_receive_count: The number of times a message can be unsuccessfully dequeued before being moved to the dead-letter queue. Default: - required field if deployDeadLetterQueue=true.
242
253
  :param queue_props: User provided props to override the default props for the SQS queue. Default: - Default props are used
254
+ :param target_props: Optional user provided properties to define the SQS target on the Event Rule. If you specify a deadLetterQueue for the rule here, you are responsible for adding a resource policy to the queue allowing events.amazonaws.com permission to SendMessage, GetQueueUrl and GetQueueAttributes. You cannot send a DLQ in this property and set deployRuleDlq to true Default: - undefined (all default values are used)
243
255
 
244
256
  :access: public
245
257
  :since: 1.62.0
@@ -253,15 +265,18 @@ class EventbridgeToSqs(
253
265
  event_rule_props=event_rule_props,
254
266
  dead_letter_queue_props=dead_letter_queue_props,
255
267
  deploy_dead_letter_queue=deploy_dead_letter_queue,
268
+ deploy_event_rule_dlq=deploy_event_rule_dlq,
256
269
  enable_encryption_with_customer_managed_key=enable_encryption_with_customer_managed_key,
257
270
  enable_queue_purging=enable_queue_purging,
258
271
  encryption_key=encryption_key,
259
272
  encryption_key_props=encryption_key_props,
260
273
  event_bus_props=event_bus_props,
274
+ event_rule_dlq_key_props=event_rule_dlq_key_props,
261
275
  existing_event_bus_interface=existing_event_bus_interface,
262
276
  existing_queue_obj=existing_queue_obj,
263
277
  max_receive_count=max_receive_count,
264
278
  queue_props=queue_props,
279
+ target_props=target_props,
265
280
  )
266
281
 
267
282
  jsii.create(self.__class__, self, [scope, id, props])
@@ -293,6 +308,16 @@ class EventbridgeToSqs(
293
308
  def event_bus(self) -> typing.Optional[_aws_cdk_aws_events_ceddda9d.IEventBus]:
294
309
  return typing.cast(typing.Optional[_aws_cdk_aws_events_ceddda9d.IEventBus], jsii.get(self, "eventBus"))
295
310
 
311
+ @builtins.property
312
+ @jsii.member(jsii_name="eventRuleDlq")
313
+ def event_rule_dlq(self) -> typing.Optional[_aws_cdk_aws_sqs_ceddda9d.Queue]:
314
+ return typing.cast(typing.Optional[_aws_cdk_aws_sqs_ceddda9d.Queue], jsii.get(self, "eventRuleDlq"))
315
+
316
+ @builtins.property
317
+ @jsii.member(jsii_name="eventRuleDlqKey")
318
+ def event_rule_dlq_key(self) -> typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey]:
319
+ return typing.cast(typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey], jsii.get(self, "eventRuleDlqKey"))
320
+
296
321
 
297
322
  @jsii.data_type(
298
323
  jsii_type="@aws-solutions-constructs/aws-eventbridge-sqs.EventbridgeToSqsProps",
@@ -301,15 +326,18 @@ class EventbridgeToSqs(
301
326
  "event_rule_props": "eventRuleProps",
302
327
  "dead_letter_queue_props": "deadLetterQueueProps",
303
328
  "deploy_dead_letter_queue": "deployDeadLetterQueue",
329
+ "deploy_event_rule_dlq": "deployEventRuleDlq",
304
330
  "enable_encryption_with_customer_managed_key": "enableEncryptionWithCustomerManagedKey",
305
331
  "enable_queue_purging": "enableQueuePurging",
306
332
  "encryption_key": "encryptionKey",
307
333
  "encryption_key_props": "encryptionKeyProps",
308
334
  "event_bus_props": "eventBusProps",
335
+ "event_rule_dlq_key_props": "eventRuleDlqKeyProps",
309
336
  "existing_event_bus_interface": "existingEventBusInterface",
310
337
  "existing_queue_obj": "existingQueueObj",
311
338
  "max_receive_count": "maxReceiveCount",
312
339
  "queue_props": "queueProps",
340
+ "target_props": "targetProps",
313
341
  },
314
342
  )
315
343
  class EventbridgeToSqsProps:
@@ -319,29 +347,35 @@ class EventbridgeToSqsProps:
319
347
  event_rule_props: typing.Union[_aws_cdk_aws_events_ceddda9d.RuleProps, typing.Dict[builtins.str, typing.Any]],
320
348
  dead_letter_queue_props: typing.Optional[typing.Union[_aws_cdk_aws_sqs_ceddda9d.QueueProps, typing.Dict[builtins.str, typing.Any]]] = None,
321
349
  deploy_dead_letter_queue: typing.Optional[builtins.bool] = None,
350
+ deploy_event_rule_dlq: typing.Optional[builtins.bool] = None,
322
351
  enable_encryption_with_customer_managed_key: typing.Optional[builtins.bool] = None,
323
352
  enable_queue_purging: typing.Optional[builtins.bool] = None,
324
353
  encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
325
354
  encryption_key_props: typing.Optional[typing.Union[_aws_cdk_aws_kms_ceddda9d.KeyProps, typing.Dict[builtins.str, typing.Any]]] = None,
326
355
  event_bus_props: typing.Optional[typing.Union[_aws_cdk_aws_events_ceddda9d.EventBusProps, typing.Dict[builtins.str, typing.Any]]] = None,
356
+ event_rule_dlq_key_props: typing.Optional[typing.Union[_aws_cdk_aws_kms_ceddda9d.KeyProps, typing.Dict[builtins.str, typing.Any]]] = None,
327
357
  existing_event_bus_interface: typing.Optional[_aws_cdk_aws_events_ceddda9d.IEventBus] = None,
328
358
  existing_queue_obj: typing.Optional[_aws_cdk_aws_sqs_ceddda9d.Queue] = None,
329
359
  max_receive_count: typing.Optional[jsii.Number] = None,
330
360
  queue_props: typing.Optional[typing.Union[_aws_cdk_aws_sqs_ceddda9d.QueueProps, typing.Dict[builtins.str, typing.Any]]] = None,
361
+ target_props: typing.Optional[typing.Union[_aws_cdk_aws_events_targets_ceddda9d.SqsQueueProps, typing.Dict[builtins.str, typing.Any]]] = None,
331
362
  ) -> None:
332
363
  '''
333
364
  :param event_rule_props: User provided eventRuleProps to override the defaults. Default: - None
334
365
  :param dead_letter_queue_props: Optional user provided properties for the dead letter queue. Default: - Default props are used
335
366
  :param deploy_dead_letter_queue: Whether to deploy a secondary queue to be used as a dead letter queue. Default: - true.
367
+ :param deploy_event_rule_dlq: Whether to deploy a DLQ for the Event Rule. If set to ``true``, this DLQ will receive any messages that can't be delivered to the target SQS queue. Default: - false
336
368
  :param enable_encryption_with_customer_managed_key: If no key is provided, this flag determines whether the queue is encrypted with a new CMK or an AWS managed key. This flag is ignored if any of the following are defined: queueProps.encryptionMasterKey, encryptionKey or encryptionKeyProps. Default: - True if queueProps.encryptionMasterKey, encryptionKey, and encryptionKeyProps are all undefined.
337
369
  :param enable_queue_purging: Whether to grant additional permissions to the Lambda function enabling it to purge the SQS queue. Default: - "false", disabled by default.
338
370
  :param encryption_key: An optional, imported encryption key to encrypt the SQS queue with. Default: - None
339
371
  :param encryption_key_props: Optional user provided properties to override the default properties for the KMS encryption key used to encrypt the SQS queue with. Default: - None
340
372
  :param event_bus_props: A new custom EventBus is created with provided props. Default: - None
373
+ :param event_rule_dlq_key_props: Properties to define the key created to protect the ruleDlq Only valid if deployEventRuleDlq is set to true. Default: - default props are used
341
374
  :param existing_event_bus_interface: Existing instance of a custom EventBus. Default: - None
342
375
  :param existing_queue_obj: Existing instance of SQS queue object, providing both this and queueProps will cause an error. Default: - None
343
376
  :param max_receive_count: The number of times a message can be unsuccessfully dequeued before being moved to the dead-letter queue. Default: - required field if deployDeadLetterQueue=true.
344
377
  :param queue_props: User provided props to override the default props for the SQS queue. Default: - Default props are used
378
+ :param target_props: Optional user provided properties to define the SQS target on the Event Rule. If you specify a deadLetterQueue for the rule here, you are responsible for adding a resource policy to the queue allowing events.amazonaws.com permission to SendMessage, GetQueueUrl and GetQueueAttributes. You cannot send a DLQ in this property and set deployRuleDlq to true Default: - undefined (all default values are used)
345
379
 
346
380
  :summary: The properties for the EventbridgeToSqs Construct
347
381
  '''
@@ -353,22 +387,29 @@ class EventbridgeToSqsProps:
353
387
  encryption_key_props = _aws_cdk_aws_kms_ceddda9d.KeyProps(**encryption_key_props)
354
388
  if isinstance(event_bus_props, dict):
355
389
  event_bus_props = _aws_cdk_aws_events_ceddda9d.EventBusProps(**event_bus_props)
390
+ if isinstance(event_rule_dlq_key_props, dict):
391
+ event_rule_dlq_key_props = _aws_cdk_aws_kms_ceddda9d.KeyProps(**event_rule_dlq_key_props)
356
392
  if isinstance(queue_props, dict):
357
393
  queue_props = _aws_cdk_aws_sqs_ceddda9d.QueueProps(**queue_props)
394
+ if isinstance(target_props, dict):
395
+ target_props = _aws_cdk_aws_events_targets_ceddda9d.SqsQueueProps(**target_props)
358
396
  if __debug__:
359
397
  type_hints = typing.get_type_hints(_typecheckingstub__ed059501b695f8a8c855e7f9a3d09a62a5ad5886525d65986cb9392bc18de3ce)
360
398
  check_type(argname="argument event_rule_props", value=event_rule_props, expected_type=type_hints["event_rule_props"])
361
399
  check_type(argname="argument dead_letter_queue_props", value=dead_letter_queue_props, expected_type=type_hints["dead_letter_queue_props"])
362
400
  check_type(argname="argument deploy_dead_letter_queue", value=deploy_dead_letter_queue, expected_type=type_hints["deploy_dead_letter_queue"])
401
+ check_type(argname="argument deploy_event_rule_dlq", value=deploy_event_rule_dlq, expected_type=type_hints["deploy_event_rule_dlq"])
363
402
  check_type(argname="argument enable_encryption_with_customer_managed_key", value=enable_encryption_with_customer_managed_key, expected_type=type_hints["enable_encryption_with_customer_managed_key"])
364
403
  check_type(argname="argument enable_queue_purging", value=enable_queue_purging, expected_type=type_hints["enable_queue_purging"])
365
404
  check_type(argname="argument encryption_key", value=encryption_key, expected_type=type_hints["encryption_key"])
366
405
  check_type(argname="argument encryption_key_props", value=encryption_key_props, expected_type=type_hints["encryption_key_props"])
367
406
  check_type(argname="argument event_bus_props", value=event_bus_props, expected_type=type_hints["event_bus_props"])
407
+ check_type(argname="argument event_rule_dlq_key_props", value=event_rule_dlq_key_props, expected_type=type_hints["event_rule_dlq_key_props"])
368
408
  check_type(argname="argument existing_event_bus_interface", value=existing_event_bus_interface, expected_type=type_hints["existing_event_bus_interface"])
369
409
  check_type(argname="argument existing_queue_obj", value=existing_queue_obj, expected_type=type_hints["existing_queue_obj"])
370
410
  check_type(argname="argument max_receive_count", value=max_receive_count, expected_type=type_hints["max_receive_count"])
371
411
  check_type(argname="argument queue_props", value=queue_props, expected_type=type_hints["queue_props"])
412
+ check_type(argname="argument target_props", value=target_props, expected_type=type_hints["target_props"])
372
413
  self._values: typing.Dict[builtins.str, typing.Any] = {
373
414
  "event_rule_props": event_rule_props,
374
415
  }
@@ -376,6 +417,8 @@ class EventbridgeToSqsProps:
376
417
  self._values["dead_letter_queue_props"] = dead_letter_queue_props
377
418
  if deploy_dead_letter_queue is not None:
378
419
  self._values["deploy_dead_letter_queue"] = deploy_dead_letter_queue
420
+ if deploy_event_rule_dlq is not None:
421
+ self._values["deploy_event_rule_dlq"] = deploy_event_rule_dlq
379
422
  if enable_encryption_with_customer_managed_key is not None:
380
423
  self._values["enable_encryption_with_customer_managed_key"] = enable_encryption_with_customer_managed_key
381
424
  if enable_queue_purging is not None:
@@ -386,6 +429,8 @@ class EventbridgeToSqsProps:
386
429
  self._values["encryption_key_props"] = encryption_key_props
387
430
  if event_bus_props is not None:
388
431
  self._values["event_bus_props"] = event_bus_props
432
+ if event_rule_dlq_key_props is not None:
433
+ self._values["event_rule_dlq_key_props"] = event_rule_dlq_key_props
389
434
  if existing_event_bus_interface is not None:
390
435
  self._values["existing_event_bus_interface"] = existing_event_bus_interface
391
436
  if existing_queue_obj is not None:
@@ -394,6 +439,8 @@ class EventbridgeToSqsProps:
394
439
  self._values["max_receive_count"] = max_receive_count
395
440
  if queue_props is not None:
396
441
  self._values["queue_props"] = queue_props
442
+ if target_props is not None:
443
+ self._values["target_props"] = target_props
397
444
 
398
445
  @builtins.property
399
446
  def event_rule_props(self) -> _aws_cdk_aws_events_ceddda9d.RuleProps:
@@ -425,6 +472,18 @@ class EventbridgeToSqsProps:
425
472
  result = self._values.get("deploy_dead_letter_queue")
426
473
  return typing.cast(typing.Optional[builtins.bool], result)
427
474
 
475
+ @builtins.property
476
+ def deploy_event_rule_dlq(self) -> typing.Optional[builtins.bool]:
477
+ '''Whether to deploy a DLQ for the Event Rule.
478
+
479
+ If set to ``true``, this DLQ will
480
+ receive any messages that can't be delivered to the target SQS queue.
481
+
482
+ :default: - false
483
+ '''
484
+ result = self._values.get("deploy_event_rule_dlq")
485
+ return typing.cast(typing.Optional[builtins.bool], result)
486
+
428
487
  @builtins.property
429
488
  def enable_encryption_with_customer_managed_key(
430
489
  self,
@@ -478,6 +537,17 @@ class EventbridgeToSqsProps:
478
537
  result = self._values.get("event_bus_props")
479
538
  return typing.cast(typing.Optional[_aws_cdk_aws_events_ceddda9d.EventBusProps], result)
480
539
 
540
+ @builtins.property
541
+ def event_rule_dlq_key_props(
542
+ self,
543
+ ) -> typing.Optional[_aws_cdk_aws_kms_ceddda9d.KeyProps]:
544
+ '''Properties to define the key created to protect the ruleDlq Only valid if deployEventRuleDlq is set to true.
545
+
546
+ :default: - default props are used
547
+ '''
548
+ result = self._values.get("event_rule_dlq_key_props")
549
+ return typing.cast(typing.Optional[_aws_cdk_aws_kms_ceddda9d.KeyProps], result)
550
+
481
551
  @builtins.property
482
552
  def existing_event_bus_interface(
483
553
  self,
@@ -516,6 +586,21 @@ class EventbridgeToSqsProps:
516
586
  result = self._values.get("queue_props")
517
587
  return typing.cast(typing.Optional[_aws_cdk_aws_sqs_ceddda9d.QueueProps], result)
518
588
 
589
+ @builtins.property
590
+ def target_props(
591
+ self,
592
+ ) -> typing.Optional[_aws_cdk_aws_events_targets_ceddda9d.SqsQueueProps]:
593
+ '''Optional user provided properties to define the SQS target on the Event Rule.
594
+
595
+ If you specify a deadLetterQueue for the rule here, you are responsible for adding a resource policy
596
+ to the queue allowing events.amazonaws.com permission to SendMessage, GetQueueUrl and GetQueueAttributes. You
597
+ cannot send a DLQ in this property and set deployRuleDlq to true
598
+
599
+ :default: - undefined (all default values are used)
600
+ '''
601
+ result = self._values.get("target_props")
602
+ return typing.cast(typing.Optional[_aws_cdk_aws_events_targets_ceddda9d.SqsQueueProps], result)
603
+
519
604
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
520
605
  return isinstance(rhs, self.__class__) and rhs._values == self._values
521
606
 
@@ -542,15 +627,18 @@ def _typecheckingstub__ab22dc4bf8e02d8d1c6e2c647a426482c782898bff2f352481aeb8f2c
542
627
  event_rule_props: typing.Union[_aws_cdk_aws_events_ceddda9d.RuleProps, typing.Dict[builtins.str, typing.Any]],
543
628
  dead_letter_queue_props: typing.Optional[typing.Union[_aws_cdk_aws_sqs_ceddda9d.QueueProps, typing.Dict[builtins.str, typing.Any]]] = None,
544
629
  deploy_dead_letter_queue: typing.Optional[builtins.bool] = None,
630
+ deploy_event_rule_dlq: typing.Optional[builtins.bool] = None,
545
631
  enable_encryption_with_customer_managed_key: typing.Optional[builtins.bool] = None,
546
632
  enable_queue_purging: typing.Optional[builtins.bool] = None,
547
633
  encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
548
634
  encryption_key_props: typing.Optional[typing.Union[_aws_cdk_aws_kms_ceddda9d.KeyProps, typing.Dict[builtins.str, typing.Any]]] = None,
549
635
  event_bus_props: typing.Optional[typing.Union[_aws_cdk_aws_events_ceddda9d.EventBusProps, typing.Dict[builtins.str, typing.Any]]] = None,
636
+ event_rule_dlq_key_props: typing.Optional[typing.Union[_aws_cdk_aws_kms_ceddda9d.KeyProps, typing.Dict[builtins.str, typing.Any]]] = None,
550
637
  existing_event_bus_interface: typing.Optional[_aws_cdk_aws_events_ceddda9d.IEventBus] = None,
551
638
  existing_queue_obj: typing.Optional[_aws_cdk_aws_sqs_ceddda9d.Queue] = None,
552
639
  max_receive_count: typing.Optional[jsii.Number] = None,
553
640
  queue_props: typing.Optional[typing.Union[_aws_cdk_aws_sqs_ceddda9d.QueueProps, typing.Dict[builtins.str, typing.Any]]] = None,
641
+ target_props: typing.Optional[typing.Union[_aws_cdk_aws_events_targets_ceddda9d.SqsQueueProps, typing.Dict[builtins.str, typing.Any]]] = None,
554
642
  ) -> None:
555
643
  """Type checking stubs"""
556
644
  pass
@@ -560,15 +648,18 @@ def _typecheckingstub__ed059501b695f8a8c855e7f9a3d09a62a5ad5886525d65986cb9392bc
560
648
  event_rule_props: typing.Union[_aws_cdk_aws_events_ceddda9d.RuleProps, typing.Dict[builtins.str, typing.Any]],
561
649
  dead_letter_queue_props: typing.Optional[typing.Union[_aws_cdk_aws_sqs_ceddda9d.QueueProps, typing.Dict[builtins.str, typing.Any]]] = None,
562
650
  deploy_dead_letter_queue: typing.Optional[builtins.bool] = None,
651
+ deploy_event_rule_dlq: typing.Optional[builtins.bool] = None,
563
652
  enable_encryption_with_customer_managed_key: typing.Optional[builtins.bool] = None,
564
653
  enable_queue_purging: typing.Optional[builtins.bool] = None,
565
654
  encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
566
655
  encryption_key_props: typing.Optional[typing.Union[_aws_cdk_aws_kms_ceddda9d.KeyProps, typing.Dict[builtins.str, typing.Any]]] = None,
567
656
  event_bus_props: typing.Optional[typing.Union[_aws_cdk_aws_events_ceddda9d.EventBusProps, typing.Dict[builtins.str, typing.Any]]] = None,
657
+ event_rule_dlq_key_props: typing.Optional[typing.Union[_aws_cdk_aws_kms_ceddda9d.KeyProps, typing.Dict[builtins.str, typing.Any]]] = None,
568
658
  existing_event_bus_interface: typing.Optional[_aws_cdk_aws_events_ceddda9d.IEventBus] = None,
569
659
  existing_queue_obj: typing.Optional[_aws_cdk_aws_sqs_ceddda9d.Queue] = None,
570
660
  max_receive_count: typing.Optional[jsii.Number] = None,
571
661
  queue_props: typing.Optional[typing.Union[_aws_cdk_aws_sqs_ceddda9d.QueueProps, typing.Dict[builtins.str, typing.Any]]] = None,
662
+ target_props: typing.Optional[typing.Union[_aws_cdk_aws_events_targets_ceddda9d.SqsQueueProps, typing.Dict[builtins.str, typing.Any]]] = None,
572
663
  ) -> None:
573
664
  """Type checking stubs"""
574
665
  pass
@@ -34,9 +34,9 @@ import constructs._jsii
34
34
 
35
35
  __jsii_assembly__ = jsii.JSIIAssembly.load(
36
36
  "@aws-solutions-constructs/aws-eventbridge-sqs",
37
- "2.75.0",
37
+ "2.77.0",
38
38
  __name__[0:-6],
39
- "aws-eventbridge-sqs@2.75.0.jsii.tgz",
39
+ "aws-eventbridge-sqs@2.77.0.jsii.tgz",
40
40
  )
41
41
 
42
42
  __all__ = [
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: aws-solutions-constructs.aws-eventbridge-sqs
3
- Version: 2.75.0
3
+ Version: 2.77.0
4
4
  Summary: CDK Constructs for deploying AWS Eventbridge that invokes AWS SQS
5
5
  Home-page: https://github.com/awslabs/aws-solutions-constructs.git
6
6
  Author: Amazon Web Services
@@ -19,8 +19,8 @@ Classifier: License :: OSI Approved
19
19
  Requires-Python: ~=3.8
20
20
  Description-Content-Type: text/markdown
21
21
  License-File: LICENSE
22
- Requires-Dist: aws-cdk-lib<3.0.0,>=2.163.1
23
- Requires-Dist: aws-solutions-constructs.core==2.75.0
22
+ Requires-Dist: aws-cdk-lib<3.0.0,>=2.177.0
23
+ Requires-Dist: aws-solutions-constructs.core==2.77.0
24
24
  Requires-Dist: constructs<11.0.0,>=10.0.0
25
25
  Requires-Dist: jsii<2.0.0,>=1.106.0
26
26
  Requires-Dist: publication>=0.0.3
@@ -148,6 +148,9 @@ constructStack.getEncryptionKey().addToResourcePolicy(policyStatement);
148
148
  |existingEventBusInterface?|[`events.IEventBus`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_events.IEventBus.html)| Optional user-provided custom EventBus for construct to use. Providing both this and `eventBusProps` results an error.|
149
149
  |eventBusProps?|[`events.EventBusProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_events.EventBusProps.html)|Optional user-provided properties to override the default properties when creating a custom EventBus. Setting this value to `{}` will create a custom EventBus using all default properties. If neither this nor `existingEventBusInterface` is provided the construct will use the `default` EventBus. Providing both this and `existingEventBusInterface` results an error.|
150
150
  |eventRuleProps|[`events.RuleProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_events.RuleProps.html)|User provided eventRuleProps to override the defaults. |
151
+ |targetProps?|[`eventtargets.SqsQueueProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_events_targets.SqsQueueProps.html)|Optional user provided properties to define the SQS target on the Event Rule. If you specify a deadLetterQueue for the rule here, you are responsible for adding a resource policy to the queue allowing events.amazonaws.com permission to SendMessage, GetQueueUrl and GetQueueAttributes. You cannot send a DLQ in this property and set deployEventRuleDlq to true. Default is undefined and all system defaults are used.|
152
+ |eventRuleDlqKeyProps|[kms.KeyProps](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_kms.KeyProps.html)|Optional properties to define the key created to protect the ruleDlq. Only valid if deployRuleDlq is set to true. Defaults to CloudFormation defaults.|
153
+ | deployEventRuleDlq?|boolean|Whether to deploy a DLQ for the Event Rule. If set to `true`, this DLQ will receive any messages that can't be delivered to the target SQS queue. Defaults to `false`.|
151
154
  |existingQueueObj?|[`sqs.Queue`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_sqs.Queue.html)|An optional, existing SQS queue to be used instead of the default queue. Providing both this and `queueProps` will cause an error.|
152
155
  |queueProps?|[`sqs.QueueProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_sqs.QueueProps.html)|User provided props to override the default props for the SQS Queue. |
153
156
  |enableQueuePurging?|`boolean`|Whether to grant additional permissions to the Lambda function enabling it to purge the SQS queue. Defaults to `false`.|
@@ -164,6 +167,8 @@ constructStack.getEncryptionKey().addToResourcePolicy(policyStatement);
164
167
  |:-------------|:----------------|-----------------|
165
168
  |eventBus?|[`events.IEventBus`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_events.IEventBus.html)|Returns the instance of events.IEventBus used by the construct|
166
169
  |eventsRule|[`events.Rule`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_events.Rule.html)|Returns an instance of events.Rule created by the construct|
170
+ |eventRuleDlq?|`sqs.Queue`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_sqs.Queue.html)|If the client sets deployEventRuleDlq to 'true', then this value will contain the DLQ set up for the rule.|
171
+ |eventRuleDlqKey|[kms.IKey](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_kms.IKey.html)|The key created to encrypt the eventRuleDlq.|
167
172
  |sqsQueue|[`sqs.Queue`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_sqs.Queue.html)|Returns an instance of sqs.Queue created by the construct|
168
173
  |encryptionKey?|[`kms.Key`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_kms.Key.html)|Returns an instance of kms Key used for the SQS queue.|
169
174
  |deadLetterQueue?|[`sqs.Queue`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_sqs.Queue.html)|Returns an instance of the dead-letter SQS queue created by the pattern.|
@@ -0,0 +1,9 @@
1
+ aws_solutions_constructs/aws_eventbridge_sqs/__init__.py,sha256=D0kK1ZW1sYCwSsPq7Um7pU8Yy1BIdV29mJg0nNZpZKA,40485
2
+ aws_solutions_constructs/aws_eventbridge_sqs/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
3
+ aws_solutions_constructs/aws_eventbridge_sqs/_jsii/__init__.py,sha256=isZOEs10RvAiuBLhxs33wzB1VZ2Y2wj76qaSBdkOsZo,1533
4
+ aws_solutions_constructs/aws_eventbridge_sqs/_jsii/aws-eventbridge-sqs@2.77.0.jsii.tgz,sha256=WZdqtzF8mBTWvkzab1xedcZLExB60BAQQOc_Dp94OMw,85612
5
+ aws_solutions_constructs.aws_eventbridge_sqs-2.77.0.dist-info/LICENSE,sha256=wnT4A3LZDAEpNzcPDh8VCH0i4wjvmLJ86l3A0tCINmw,10279
6
+ aws_solutions_constructs.aws_eventbridge_sqs-2.77.0.dist-info/METADATA,sha256=ZFiGy9bmSdbua08PRxgv0YbzVV79IT5Lv2OW_q4My2Y,10872
7
+ aws_solutions_constructs.aws_eventbridge_sqs-2.77.0.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
8
+ aws_solutions_constructs.aws_eventbridge_sqs-2.77.0.dist-info/top_level.txt,sha256=hi3us_KW7V1ocfOqVsNq1o3w552jCEgu_KsCckqYWsg,25
9
+ aws_solutions_constructs.aws_eventbridge_sqs-2.77.0.dist-info/RECORD,,
@@ -1,9 +0,0 @@
1
- aws_solutions_constructs/aws_eventbridge_sqs/__init__.py,sha256=ih9ke18-dOxmZcgsUJxWqLVoPclD6ZFbxitCTdHZ_vo,32397
2
- aws_solutions_constructs/aws_eventbridge_sqs/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
3
- aws_solutions_constructs/aws_eventbridge_sqs/_jsii/__init__.py,sha256=0nOoaf6815Pp9cNbq29f0rWuzmqtWDl4gpK3VLq8zxA,1533
4
- aws_solutions_constructs/aws_eventbridge_sqs/_jsii/aws-eventbridge-sqs@2.75.0.jsii.tgz,sha256=nuAq2UvPokZeMr4E3oRDvGjCy6EW49d3Q3Yjd1dOacI,76861
5
- aws_solutions_constructs.aws_eventbridge_sqs-2.75.0.dist-info/LICENSE,sha256=wnT4A3LZDAEpNzcPDh8VCH0i4wjvmLJ86l3A0tCINmw,10279
6
- aws_solutions_constructs.aws_eventbridge_sqs-2.75.0.dist-info/METADATA,sha256=CJg8v-jwOBJouq1ml4SVmhaSYZPOr0rjujuW-TF10ZQ,9489
7
- aws_solutions_constructs.aws_eventbridge_sqs-2.75.0.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
8
- aws_solutions_constructs.aws_eventbridge_sqs-2.75.0.dist-info/top_level.txt,sha256=hi3us_KW7V1ocfOqVsNq1o3w552jCEgu_KsCckqYWsg,25
9
- aws_solutions_constructs.aws_eventbridge_sqs-2.75.0.dist-info/RECORD,,