aws-cdk-lib 2.158.0__py3-none-any.whl → 2.159.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.

Potentially problematic release.


This version of aws-cdk-lib might be problematic. Click here for more details.

Files changed (62) hide show
  1. aws_cdk/__init__.py +36 -19
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.158.0.jsii.tgz → aws-cdk-lib@2.159.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amplify/__init__.py +22 -8
  5. aws_cdk/aws_apigatewayv2/__init__.py +30 -0
  6. aws_cdk/aws_appconfig/__init__.py +3 -3
  7. aws_cdk/aws_applicationinsights/__init__.py +544 -4
  8. aws_cdk/aws_applicationsignals/__init__.py +170 -142
  9. aws_cdk/aws_athena/__init__.py +15 -15
  10. aws_cdk/aws_auditmanager/__init__.py +5 -5
  11. aws_cdk/aws_bedrock/__init__.py +7 -7
  12. aws_cdk/aws_codebuild/__init__.py +39 -18
  13. aws_cdk/aws_codeconnections/__init__.py +1 -1
  14. aws_cdk/aws_cognito/__init__.py +390 -203
  15. aws_cdk/aws_connect/__init__.py +1679 -152
  16. aws_cdk/aws_datazone/__init__.py +665 -40
  17. aws_cdk/aws_docdb/__init__.py +6 -1
  18. aws_cdk/aws_dynamodb/__init__.py +5 -5
  19. aws_cdk/aws_ec2/__init__.py +121 -36
  20. aws_cdk/aws_ecr/__init__.py +14 -6
  21. aws_cdk/aws_ecs/__init__.py +20 -20
  22. aws_cdk/aws_elasticloadbalancingv2/__init__.py +167 -20
  23. aws_cdk/aws_emr/__init__.py +8 -8
  24. aws_cdk/aws_events/__init__.py +19 -17
  25. aws_cdk/aws_events_targets/__init__.py +165 -85
  26. aws_cdk/aws_fms/__init__.py +59 -0
  27. aws_cdk/aws_fsx/__init__.py +3 -3
  28. aws_cdk/aws_gamelift/__init__.py +40 -52
  29. aws_cdk/aws_globalaccelerator/__init__.py +22 -29
  30. aws_cdk/aws_iam/__init__.py +22 -20
  31. aws_cdk/aws_iotfleetwise/__init__.py +419 -0
  32. aws_cdk/aws_iotsitewise/__init__.py +90 -1
  33. aws_cdk/aws_iotwireless/__init__.py +205 -0
  34. aws_cdk/aws_lambda/__init__.py +129 -16
  35. aws_cdk/aws_lex/__init__.py +15 -1
  36. aws_cdk/aws_logs/__init__.py +1 -1
  37. aws_cdk/aws_mediaconnect/__init__.py +111 -0
  38. aws_cdk/aws_medialive/__init__.py +7988 -3262
  39. aws_cdk/aws_msk/__init__.py +287 -479
  40. aws_cdk/aws_opensearchservice/__init__.py +6 -0
  41. aws_cdk/aws_pcaconnectorscep/__init__.py +69 -30
  42. aws_cdk/aws_pipes/__init__.py +49 -0
  43. aws_cdk/aws_qbusiness/__init__.py +11 -14
  44. aws_cdk/aws_quicksight/__init__.py +638 -99
  45. aws_cdk/aws_rds/__init__.py +38 -27
  46. aws_cdk/aws_s3/__init__.py +215 -33
  47. aws_cdk/aws_s3objectlambda/__init__.py +2 -2
  48. aws_cdk/aws_sagemaker/__init__.py +872 -58
  49. aws_cdk/aws_secretsmanager/__init__.py +22 -8
  50. aws_cdk/aws_securityhub/__init__.py +261 -19
  51. aws_cdk/aws_securitylake/__init__.py +327 -7
  52. aws_cdk/aws_servicediscovery/__init__.py +5 -5
  53. aws_cdk/aws_sns/__init__.py +0 -8
  54. aws_cdk/aws_ssm/__init__.py +20 -12
  55. aws_cdk/aws_stepfunctions_tasks/__init__.py +36 -0
  56. aws_cdk/cx_api/__init__.py +19 -0
  57. {aws_cdk_lib-2.158.0.dist-info → aws_cdk_lib-2.159.0.dist-info}/METADATA +1 -1
  58. {aws_cdk_lib-2.158.0.dist-info → aws_cdk_lib-2.159.0.dist-info}/RECORD +62 -62
  59. {aws_cdk_lib-2.158.0.dist-info → aws_cdk_lib-2.159.0.dist-info}/LICENSE +0 -0
  60. {aws_cdk_lib-2.158.0.dist-info → aws_cdk_lib-2.159.0.dist-info}/NOTICE +0 -0
  61. {aws_cdk_lib-2.158.0.dist-info → aws_cdk_lib-2.159.0.dist-info}/WHEEL +0 -0
  62. {aws_cdk_lib-2.158.0.dist-info → aws_cdk_lib-2.159.0.dist-info}/top_level.txt +0 -0
@@ -1520,8 +1520,6 @@ class CfnConnection(
1520
1520
 
1521
1521
  cfn_connection = events.CfnConnection(self, "MyCfnConnection",
1522
1522
  authorization_type="authorizationType",
1523
-
1524
- # the properties below are optional
1525
1523
  auth_parameters=events.CfnConnection.AuthParametersProperty(
1526
1524
  api_key_auth_parameters=events.CfnConnection.ApiKeyAuthParametersProperty(
1527
1525
  api_key_name="apiKeyName",
@@ -1588,6 +1586,8 @@ class CfnConnection(
1588
1586
  )
1589
1587
  )
1590
1588
  ),
1589
+
1590
+ # the properties below are optional
1591
1591
  description="description",
1592
1592
  name="name"
1593
1593
  )
@@ -1599,7 +1599,7 @@ class CfnConnection(
1599
1599
  id: builtins.str,
1600
1600
  *,
1601
1601
  authorization_type: builtins.str,
1602
- auth_parameters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnConnection.AuthParametersProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1602
+ auth_parameters: typing.Union[_IResolvable_da3f097b, typing.Union["CfnConnection.AuthParametersProperty", typing.Dict[builtins.str, typing.Any]]],
1603
1603
  description: typing.Optional[builtins.str] = None,
1604
1604
  name: typing.Optional[builtins.str] = None,
1605
1605
  ) -> None:
@@ -1694,14 +1694,14 @@ class CfnConnection(
1694
1694
  @jsii.member(jsii_name="authParameters")
1695
1695
  def auth_parameters(
1696
1696
  self,
1697
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnConnection.AuthParametersProperty"]]:
1697
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnConnection.AuthParametersProperty"]:
1698
1698
  '''A ``CreateConnectionAuthRequestParameters`` object that contains the authorization parameters to use to authorize with the endpoint.'''
1699
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnConnection.AuthParametersProperty"]], jsii.get(self, "authParameters"))
1699
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnConnection.AuthParametersProperty"], jsii.get(self, "authParameters"))
1700
1700
 
1701
1701
  @auth_parameters.setter
1702
1702
  def auth_parameters(
1703
1703
  self,
1704
- value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnConnection.AuthParametersProperty"]],
1704
+ value: typing.Union[_IResolvable_da3f097b, "CfnConnection.AuthParametersProperty"],
1705
1705
  ) -> None:
1706
1706
  if __debug__:
1707
1707
  type_hints = typing.get_type_hints(_typecheckingstub__57b3dc84742623dcc9dcc433aac0b117093002aa9686131e642748038958b67c)
@@ -2388,7 +2388,7 @@ class CfnConnection(
2388
2388
 
2389
2389
  :param key: The key for a query string parameter.
2390
2390
  :param value: The value associated with the key for the query string parameter.
2391
- :param is_value_secret: Specifies whether the value is secret.
2391
+ :param is_value_secret: Specifies whether the value is secret. Default: - true
2392
2392
 
2393
2393
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-parameter.html
2394
2394
  :exampleMetadata: fixture=_generated
@@ -2445,6 +2445,8 @@ class CfnConnection(
2445
2445
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
2446
2446
  '''Specifies whether the value is secret.
2447
2447
 
2448
+ :default: - true
2449
+
2448
2450
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-parameter.html#cfn-events-connection-parameter-isvaluesecret
2449
2451
  '''
2450
2452
  result = self._values.get("is_value_secret")
@@ -2477,7 +2479,7 @@ class CfnConnectionProps:
2477
2479
  self,
2478
2480
  *,
2479
2481
  authorization_type: builtins.str,
2480
- auth_parameters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConnection.AuthParametersProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2482
+ auth_parameters: typing.Union[_IResolvable_da3f097b, typing.Union[CfnConnection.AuthParametersProperty, typing.Dict[builtins.str, typing.Any]]],
2481
2483
  description: typing.Optional[builtins.str] = None,
2482
2484
  name: typing.Optional[builtins.str] = None,
2483
2485
  ) -> None:
@@ -2499,8 +2501,6 @@ class CfnConnectionProps:
2499
2501
 
2500
2502
  cfn_connection_props = events.CfnConnectionProps(
2501
2503
  authorization_type="authorizationType",
2502
-
2503
- # the properties below are optional
2504
2504
  auth_parameters=events.CfnConnection.AuthParametersProperty(
2505
2505
  api_key_auth_parameters=events.CfnConnection.ApiKeyAuthParametersProperty(
2506
2506
  api_key_name="apiKeyName",
@@ -2567,6 +2567,8 @@ class CfnConnectionProps:
2567
2567
  )
2568
2568
  )
2569
2569
  ),
2570
+
2571
+ # the properties below are optional
2570
2572
  description="description",
2571
2573
  name="name"
2572
2574
  )
@@ -2579,9 +2581,8 @@ class CfnConnectionProps:
2579
2581
  check_type(argname="argument name", value=name, expected_type=type_hints["name"])
2580
2582
  self._values: typing.Dict[builtins.str, typing.Any] = {
2581
2583
  "authorization_type": authorization_type,
2584
+ "auth_parameters": auth_parameters,
2582
2585
  }
2583
- if auth_parameters is not None:
2584
- self._values["auth_parameters"] = auth_parameters
2585
2586
  if description is not None:
2586
2587
  self._values["description"] = description
2587
2588
  if name is not None:
@@ -2604,13 +2605,14 @@ class CfnConnectionProps:
2604
2605
  @builtins.property
2605
2606
  def auth_parameters(
2606
2607
  self,
2607
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnConnection.AuthParametersProperty]]:
2608
+ ) -> typing.Union[_IResolvable_da3f097b, CfnConnection.AuthParametersProperty]:
2608
2609
  '''A ``CreateConnectionAuthRequestParameters`` object that contains the authorization parameters to use to authorize with the endpoint.
2609
2610
 
2610
2611
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html#cfn-events-connection-authparameters
2611
2612
  '''
2612
2613
  result = self._values.get("auth_parameters")
2613
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnConnection.AuthParametersProperty]], result)
2614
+ assert result is not None, "Required property 'auth_parameters' is missing"
2615
+ return typing.cast(typing.Union[_IResolvable_da3f097b, CfnConnection.AuthParametersProperty], result)
2614
2616
 
2615
2617
  @builtins.property
2616
2618
  def description(self) -> typing.Optional[builtins.str]:
@@ -11898,7 +11900,7 @@ def _typecheckingstub__65bde9b35de094b905dd335652d04503af85c50ac027a006a1d7ec926
11898
11900
  id: builtins.str,
11899
11901
  *,
11900
11902
  authorization_type: builtins.str,
11901
- auth_parameters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConnection.AuthParametersProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
11903
+ auth_parameters: typing.Union[_IResolvable_da3f097b, typing.Union[CfnConnection.AuthParametersProperty, typing.Dict[builtins.str, typing.Any]]],
11902
11904
  description: typing.Optional[builtins.str] = None,
11903
11905
  name: typing.Optional[builtins.str] = None,
11904
11906
  ) -> None:
@@ -11924,7 +11926,7 @@ def _typecheckingstub__4f51f33cc16a16fcb52edb95bbc7ef5dd0bb5f97e31dd1f331adaf42e
11924
11926
  pass
11925
11927
 
11926
11928
  def _typecheckingstub__57b3dc84742623dcc9dcc433aac0b117093002aa9686131e642748038958b67c(
11927
- value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnConnection.AuthParametersProperty]],
11929
+ value: typing.Union[_IResolvable_da3f097b, CfnConnection.AuthParametersProperty],
11928
11930
  ) -> None:
11929
11931
  """Type checking stubs"""
11930
11932
  pass
@@ -12006,7 +12008,7 @@ def _typecheckingstub__8ef124487a6c31dc58a802230e7bf50f962f08be9cde1fb39c45b429d
12006
12008
  def _typecheckingstub__2b32e6c6e8c1c2772bb604474216b07683c108c349058e240d272750b95ff394(
12007
12009
  *,
12008
12010
  authorization_type: builtins.str,
12009
- auth_parameters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConnection.AuthParametersProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
12011
+ auth_parameters: typing.Union[_IResolvable_da3f097b, typing.Union[CfnConnection.AuthParametersProperty, typing.Dict[builtins.str, typing.Any]]],
12010
12012
  description: typing.Optional[builtins.str] = None,
12011
12013
  name: typing.Optional[builtins.str] = None,
12012
12014
  ) -> None:
@@ -33,7 +33,7 @@ EventBridge.
33
33
 
34
34
  ## Event retry policy and using dead-letter queues
35
35
 
36
- The Codebuild, CodePipeline, Lambda, StepFunctions, LogGroup, SQSQueue, SNSTopic and ECSTask targets support attaching a [dead letter queue and setting retry policies](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html). See the [lambda example](#invoke-a-lambda-function).
36
+ The Codebuild, CodePipeline, Lambda, Kinesis Data Streams, StepFunctions, LogGroup, SQSQueue, SNSTopic and ECSTask targets support attaching a [dead letter queue and setting retry policies](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html). See the [lambda example](#invoke-a-lambda-function).
37
37
  Use [escape hatches](https://docs.aws.amazon.com/cdk/latest/guide/cfn_layer.html) for the other target types.
38
38
 
39
39
  ## Invoke a Lambda function
@@ -2330,17 +2330,27 @@ class KinesisStream(
2330
2330
  *,
2331
2331
  message: typing.Optional[_RuleTargetInput_6beca786] = None,
2332
2332
  partition_key_path: typing.Optional[builtins.str] = None,
2333
+ dead_letter_queue: typing.Optional[_IQueue_7ed6f679] = None,
2334
+ max_event_age: typing.Optional[_Duration_4839e8c3] = None,
2335
+ retry_attempts: typing.Optional[jsii.Number] = None,
2333
2336
  ) -> None:
2334
2337
  '''
2335
2338
  :param stream: -
2336
2339
  :param message: The message to send to the stream. Must be a valid JSON text passed to the target stream. Default: - the entire CloudWatch event
2337
2340
  :param partition_key_path: Partition Key Path for records sent to this stream. Default: - eventId as the partition key
2341
+ :param dead_letter_queue: The SQS queue to be used as deadLetterQueue. Check out the `considerations for using a dead-letter queue <https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html#dlq-considerations>`_. The events not successfully delivered are automatically retried for a specified period of time, depending on the retry policy of the target. If an event is not delivered before all retry attempts are exhausted, it will be sent to the dead letter queue. Default: - no dead-letter queue
2342
+ :param max_event_age: The maximum age of a request that Lambda sends to a function for processing. Minimum value of 60. Maximum value of 86400. Default: Duration.hours(24)
2343
+ :param retry_attempts: The maximum number of times to retry when the function returns an error. Minimum value of 0. Maximum value of 185. Default: 185
2338
2344
  '''
2339
2345
  if __debug__:
2340
2346
  type_hints = typing.get_type_hints(_typecheckingstub__47a9d917a1971c5aa11b68bf823d9f34a57a7b1e7653b0f82809c06309cac1a6)
2341
2347
  check_type(argname="argument stream", value=stream, expected_type=type_hints["stream"])
2342
2348
  props = KinesisStreamProps(
2343
- message=message, partition_key_path=partition_key_path
2349
+ message=message,
2350
+ partition_key_path=partition_key_path,
2351
+ dead_letter_queue=dead_letter_queue,
2352
+ max_event_age=max_event_age,
2353
+ retry_attempts=retry_attempts,
2344
2354
  )
2345
2355
 
2346
2356
  jsii.create(self.__class__, self, [stream, props])
@@ -2363,81 +2373,6 @@ class KinesisStream(
2363
2373
  return typing.cast(_RuleTargetConfig_4e70fe03, jsii.invoke(self, "bind", [_rule, _id]))
2364
2374
 
2365
2375
 
2366
- @jsii.data_type(
2367
- jsii_type="aws-cdk-lib.aws_events_targets.KinesisStreamProps",
2368
- jsii_struct_bases=[],
2369
- name_mapping={"message": "message", "partition_key_path": "partitionKeyPath"},
2370
- )
2371
- class KinesisStreamProps:
2372
- def __init__(
2373
- self,
2374
- *,
2375
- message: typing.Optional[_RuleTargetInput_6beca786] = None,
2376
- partition_key_path: typing.Optional[builtins.str] = None,
2377
- ) -> None:
2378
- '''Customize the Kinesis Stream Event Target.
2379
-
2380
- :param message: The message to send to the stream. Must be a valid JSON text passed to the target stream. Default: - the entire CloudWatch event
2381
- :param partition_key_path: Partition Key Path for records sent to this stream. Default: - eventId as the partition key
2382
-
2383
- :exampleMetadata: fixture=_generated
2384
-
2385
- Example::
2386
-
2387
- # The code below shows an example of how to instantiate this type.
2388
- # The values are placeholders you should change.
2389
- from aws_cdk import aws_events as events
2390
- from aws_cdk import aws_events_targets as events_targets
2391
-
2392
- # rule_target_input: events.RuleTargetInput
2393
-
2394
- kinesis_stream_props = events_targets.KinesisStreamProps(
2395
- message=rule_target_input,
2396
- partition_key_path="partitionKeyPath"
2397
- )
2398
- '''
2399
- if __debug__:
2400
- type_hints = typing.get_type_hints(_typecheckingstub__971b6fc6dc302be6b6401547a0731521d858936fe589a0d096ef25e81e707b46)
2401
- check_type(argname="argument message", value=message, expected_type=type_hints["message"])
2402
- check_type(argname="argument partition_key_path", value=partition_key_path, expected_type=type_hints["partition_key_path"])
2403
- self._values: typing.Dict[builtins.str, typing.Any] = {}
2404
- if message is not None:
2405
- self._values["message"] = message
2406
- if partition_key_path is not None:
2407
- self._values["partition_key_path"] = partition_key_path
2408
-
2409
- @builtins.property
2410
- def message(self) -> typing.Optional[_RuleTargetInput_6beca786]:
2411
- '''The message to send to the stream.
2412
-
2413
- Must be a valid JSON text passed to the target stream.
2414
-
2415
- :default: - the entire CloudWatch event
2416
- '''
2417
- result = self._values.get("message")
2418
- return typing.cast(typing.Optional[_RuleTargetInput_6beca786], result)
2419
-
2420
- @builtins.property
2421
- def partition_key_path(self) -> typing.Optional[builtins.str]:
2422
- '''Partition Key Path for records sent to this stream.
2423
-
2424
- :default: - eventId as the partition key
2425
- '''
2426
- result = self._values.get("partition_key_path")
2427
- return typing.cast(typing.Optional[builtins.str], result)
2428
-
2429
- def __eq__(self, rhs: typing.Any) -> builtins.bool:
2430
- return isinstance(rhs, self.__class__) and rhs._values == self._values
2431
-
2432
- def __ne__(self, rhs: typing.Any) -> builtins.bool:
2433
- return not (rhs == self)
2434
-
2435
- def __repr__(self) -> str:
2436
- return "KinesisStreamProps(%s)" % ", ".join(
2437
- k + "=" + repr(v) for k, v in self._values.items()
2438
- )
2439
-
2440
-
2441
2376
  @jsii.implements(_IRuleTarget_7a91f454)
2442
2377
  class LambdaFunction(
2443
2378
  metaclass=jsii.JSIIMeta,
@@ -4817,6 +4752,145 @@ class EcsTaskProps(TargetBaseProps):
4817
4752
  )
4818
4753
 
4819
4754
 
4755
+ @jsii.data_type(
4756
+ jsii_type="aws-cdk-lib.aws_events_targets.KinesisStreamProps",
4757
+ jsii_struct_bases=[TargetBaseProps],
4758
+ name_mapping={
4759
+ "dead_letter_queue": "deadLetterQueue",
4760
+ "max_event_age": "maxEventAge",
4761
+ "retry_attempts": "retryAttempts",
4762
+ "message": "message",
4763
+ "partition_key_path": "partitionKeyPath",
4764
+ },
4765
+ )
4766
+ class KinesisStreamProps(TargetBaseProps):
4767
+ def __init__(
4768
+ self,
4769
+ *,
4770
+ dead_letter_queue: typing.Optional[_IQueue_7ed6f679] = None,
4771
+ max_event_age: typing.Optional[_Duration_4839e8c3] = None,
4772
+ retry_attempts: typing.Optional[jsii.Number] = None,
4773
+ message: typing.Optional[_RuleTargetInput_6beca786] = None,
4774
+ partition_key_path: typing.Optional[builtins.str] = None,
4775
+ ) -> None:
4776
+ '''Customize the Kinesis Stream Event Target.
4777
+
4778
+ :param dead_letter_queue: The SQS queue to be used as deadLetterQueue. Check out the `considerations for using a dead-letter queue <https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html#dlq-considerations>`_. The events not successfully delivered are automatically retried for a specified period of time, depending on the retry policy of the target. If an event is not delivered before all retry attempts are exhausted, it will be sent to the dead letter queue. Default: - no dead-letter queue
4779
+ :param max_event_age: The maximum age of a request that Lambda sends to a function for processing. Minimum value of 60. Maximum value of 86400. Default: Duration.hours(24)
4780
+ :param retry_attempts: The maximum number of times to retry when the function returns an error. Minimum value of 0. Maximum value of 185. Default: 185
4781
+ :param message: The message to send to the stream. Must be a valid JSON text passed to the target stream. Default: - the entire CloudWatch event
4782
+ :param partition_key_path: Partition Key Path for records sent to this stream. Default: - eventId as the partition key
4783
+
4784
+ :exampleMetadata: fixture=_generated
4785
+
4786
+ Example::
4787
+
4788
+ # The code below shows an example of how to instantiate this type.
4789
+ # The values are placeholders you should change.
4790
+ import aws_cdk as cdk
4791
+ from aws_cdk import aws_events as events
4792
+ from aws_cdk import aws_events_targets as events_targets
4793
+ from aws_cdk import aws_sqs as sqs
4794
+
4795
+ # queue: sqs.Queue
4796
+ # rule_target_input: events.RuleTargetInput
4797
+
4798
+ kinesis_stream_props = events_targets.KinesisStreamProps(
4799
+ dead_letter_queue=queue,
4800
+ max_event_age=cdk.Duration.minutes(30),
4801
+ message=rule_target_input,
4802
+ partition_key_path="partitionKeyPath",
4803
+ retry_attempts=123
4804
+ )
4805
+ '''
4806
+ if __debug__:
4807
+ type_hints = typing.get_type_hints(_typecheckingstub__971b6fc6dc302be6b6401547a0731521d858936fe589a0d096ef25e81e707b46)
4808
+ check_type(argname="argument dead_letter_queue", value=dead_letter_queue, expected_type=type_hints["dead_letter_queue"])
4809
+ check_type(argname="argument max_event_age", value=max_event_age, expected_type=type_hints["max_event_age"])
4810
+ check_type(argname="argument retry_attempts", value=retry_attempts, expected_type=type_hints["retry_attempts"])
4811
+ check_type(argname="argument message", value=message, expected_type=type_hints["message"])
4812
+ check_type(argname="argument partition_key_path", value=partition_key_path, expected_type=type_hints["partition_key_path"])
4813
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
4814
+ if dead_letter_queue is not None:
4815
+ self._values["dead_letter_queue"] = dead_letter_queue
4816
+ if max_event_age is not None:
4817
+ self._values["max_event_age"] = max_event_age
4818
+ if retry_attempts is not None:
4819
+ self._values["retry_attempts"] = retry_attempts
4820
+ if message is not None:
4821
+ self._values["message"] = message
4822
+ if partition_key_path is not None:
4823
+ self._values["partition_key_path"] = partition_key_path
4824
+
4825
+ @builtins.property
4826
+ def dead_letter_queue(self) -> typing.Optional[_IQueue_7ed6f679]:
4827
+ '''The SQS queue to be used as deadLetterQueue. Check out the `considerations for using a dead-letter queue <https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html#dlq-considerations>`_.
4828
+
4829
+ The events not successfully delivered are automatically retried for a specified period of time,
4830
+ depending on the retry policy of the target.
4831
+ If an event is not delivered before all retry attempts are exhausted, it will be sent to the dead letter queue.
4832
+
4833
+ :default: - no dead-letter queue
4834
+ '''
4835
+ result = self._values.get("dead_letter_queue")
4836
+ return typing.cast(typing.Optional[_IQueue_7ed6f679], result)
4837
+
4838
+ @builtins.property
4839
+ def max_event_age(self) -> typing.Optional[_Duration_4839e8c3]:
4840
+ '''The maximum age of a request that Lambda sends to a function for processing.
4841
+
4842
+ Minimum value of 60.
4843
+ Maximum value of 86400.
4844
+
4845
+ :default: Duration.hours(24)
4846
+ '''
4847
+ result = self._values.get("max_event_age")
4848
+ return typing.cast(typing.Optional[_Duration_4839e8c3], result)
4849
+
4850
+ @builtins.property
4851
+ def retry_attempts(self) -> typing.Optional[jsii.Number]:
4852
+ '''The maximum number of times to retry when the function returns an error.
4853
+
4854
+ Minimum value of 0.
4855
+ Maximum value of 185.
4856
+
4857
+ :default: 185
4858
+ '''
4859
+ result = self._values.get("retry_attempts")
4860
+ return typing.cast(typing.Optional[jsii.Number], result)
4861
+
4862
+ @builtins.property
4863
+ def message(self) -> typing.Optional[_RuleTargetInput_6beca786]:
4864
+ '''The message to send to the stream.
4865
+
4866
+ Must be a valid JSON text passed to the target stream.
4867
+
4868
+ :default: - the entire CloudWatch event
4869
+ '''
4870
+ result = self._values.get("message")
4871
+ return typing.cast(typing.Optional[_RuleTargetInput_6beca786], result)
4872
+
4873
+ @builtins.property
4874
+ def partition_key_path(self) -> typing.Optional[builtins.str]:
4875
+ '''Partition Key Path for records sent to this stream.
4876
+
4877
+ :default: - eventId as the partition key
4878
+ '''
4879
+ result = self._values.get("partition_key_path")
4880
+ return typing.cast(typing.Optional[builtins.str], result)
4881
+
4882
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4883
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4884
+
4885
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4886
+ return not (rhs == self)
4887
+
4888
+ def __repr__(self) -> str:
4889
+ return "KinesisStreamProps(%s)" % ", ".join(
4890
+ k + "=" + repr(v) for k, v in self._values.items()
4891
+ )
4892
+
4893
+
4820
4894
  @jsii.data_type(
4821
4895
  jsii_type="aws-cdk-lib.aws_events_targets.LambdaFunctionProps",
4822
4896
  jsii_struct_bases=[TargetBaseProps],
@@ -5807,6 +5881,9 @@ def _typecheckingstub__47a9d917a1971c5aa11b68bf823d9f34a57a7b1e7653b0f82809c0630
5807
5881
  *,
5808
5882
  message: typing.Optional[_RuleTargetInput_6beca786] = None,
5809
5883
  partition_key_path: typing.Optional[builtins.str] = None,
5884
+ dead_letter_queue: typing.Optional[_IQueue_7ed6f679] = None,
5885
+ max_event_age: typing.Optional[_Duration_4839e8c3] = None,
5886
+ retry_attempts: typing.Optional[jsii.Number] = None,
5810
5887
  ) -> None:
5811
5888
  """Type checking stubs"""
5812
5889
  pass
@@ -5818,14 +5895,6 @@ def _typecheckingstub__ae222f596f043d31f56819c2cb64c58ef12e8e3d35bce41fa6f0cd929
5818
5895
  """Type checking stubs"""
5819
5896
  pass
5820
5897
 
5821
- def _typecheckingstub__971b6fc6dc302be6b6401547a0731521d858936fe589a0d096ef25e81e707b46(
5822
- *,
5823
- message: typing.Optional[_RuleTargetInput_6beca786] = None,
5824
- partition_key_path: typing.Optional[builtins.str] = None,
5825
- ) -> None:
5826
- """Type checking stubs"""
5827
- pass
5828
-
5829
5898
  def _typecheckingstub__1ed39c6222adc3f41ac8913ef4f7e22134443e2aa19c19114f6650e1d987c3c4(
5830
5899
  handler: _IFunction_6adb0ab8,
5831
5900
  *,
@@ -6076,6 +6145,17 @@ def _typecheckingstub__3624031da4f9372e2ccdb3e422123cc459d01922cc36bab5b96caa98f
6076
6145
  """Type checking stubs"""
6077
6146
  pass
6078
6147
 
6148
+ def _typecheckingstub__971b6fc6dc302be6b6401547a0731521d858936fe589a0d096ef25e81e707b46(
6149
+ *,
6150
+ dead_letter_queue: typing.Optional[_IQueue_7ed6f679] = None,
6151
+ max_event_age: typing.Optional[_Duration_4839e8c3] = None,
6152
+ retry_attempts: typing.Optional[jsii.Number] = None,
6153
+ message: typing.Optional[_RuleTargetInput_6beca786] = None,
6154
+ partition_key_path: typing.Optional[builtins.str] = None,
6155
+ ) -> None:
6156
+ """Type checking stubs"""
6157
+ pass
6158
+
6079
6159
  def _typecheckingstub__7e34dd9ce66add58b9a28d19d7823e686db2c0d099525e77c896c992c0318854(
6080
6160
  *,
6081
6161
  dead_letter_queue: typing.Optional[_IQueue_7ed6f679] = None,
@@ -300,6 +300,7 @@ class CfnPolicy(
300
300
  # the properties below are optional
301
301
  managed_service_data="managedServiceData",
302
302
  policy_option=fms.CfnPolicy.PolicyOptionProperty(
303
+ network_acl_common_policy=fms.CfnPolicy.NetworkAclCommonPolicyProperty(),
303
304
  network_firewall_policy=fms.CfnPolicy.NetworkFirewallPolicyProperty(
304
305
  firewall_deployment_model="firewallDeploymentModel"
305
306
  ),
@@ -769,6 +770,43 @@ class CfnPolicy(
769
770
  k + "=" + repr(v) for k, v in self._values.items()
770
771
  )
771
772
 
773
+ @jsii.data_type(
774
+ jsii_type="aws-cdk-lib.aws_fms.CfnPolicy.NetworkAclCommonPolicyProperty",
775
+ jsii_struct_bases=[],
776
+ name_mapping={},
777
+ )
778
+ class NetworkAclCommonPolicyProperty:
779
+ def __init__(self) -> None:
780
+ '''Defines a Firewall Manager network ACL policy.
781
+
782
+ This is used in the ``PolicyOption`` of a ``SecurityServicePolicyData`` for a ``Policy`` , when the ``SecurityServicePolicyData`` type is set to ``NETWORK_ACL_COMMON`` .
783
+
784
+ For information about network ACLs, see `Control traffic to subnets using network ACLs <https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html>`_ in the *Amazon Virtual Private Cloud User Guide* .
785
+
786
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fms-policy-networkaclcommonpolicy.html
787
+ :exampleMetadata: fixture=_generated
788
+
789
+ Example::
790
+
791
+ # The code below shows an example of how to instantiate this type.
792
+ # The values are placeholders you should change.
793
+ from aws_cdk import aws_fms as fms
794
+
795
+ network_acl_common_policy_property = fms.CfnPolicy.NetworkAclCommonPolicyProperty()
796
+ '''
797
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
798
+
799
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
800
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
801
+
802
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
803
+ return not (rhs == self)
804
+
805
+ def __repr__(self) -> str:
806
+ return "NetworkAclCommonPolicyProperty(%s)" % ", ".join(
807
+ k + "=" + repr(v) for k, v in self._values.items()
808
+ )
809
+
772
810
  @jsii.data_type(
773
811
  jsii_type="aws-cdk-lib.aws_fms.CfnPolicy.NetworkFirewallPolicyProperty",
774
812
  jsii_struct_bases=[],
@@ -829,6 +867,7 @@ class CfnPolicy(
829
867
  jsii_type="aws-cdk-lib.aws_fms.CfnPolicy.PolicyOptionProperty",
830
868
  jsii_struct_bases=[],
831
869
  name_mapping={
870
+ "network_acl_common_policy": "networkAclCommonPolicy",
832
871
  "network_firewall_policy": "networkFirewallPolicy",
833
872
  "third_party_firewall_policy": "thirdPartyFirewallPolicy",
834
873
  },
@@ -837,11 +876,13 @@ class CfnPolicy(
837
876
  def __init__(
838
877
  self,
839
878
  *,
879
+ network_acl_common_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPolicy.NetworkAclCommonPolicyProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
840
880
  network_firewall_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPolicy.NetworkFirewallPolicyProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
841
881
  third_party_firewall_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPolicy.ThirdPartyFirewallPolicyProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
842
882
  ) -> None:
843
883
  '''Contains the settings to configure a network ACL policy, a AWS Network Firewall firewall policy deployment model, or a third-party firewall policy.
844
884
 
885
+ :param network_acl_common_policy: Defines a Firewall Manager network ACL policy.
845
886
  :param network_firewall_policy: Defines the deployment model to use for the firewall policy.
846
887
  :param third_party_firewall_policy: Defines the policy options for a third-party firewall policy.
847
888
 
@@ -855,6 +896,7 @@ class CfnPolicy(
855
896
  from aws_cdk import aws_fms as fms
856
897
 
857
898
  policy_option_property = fms.CfnPolicy.PolicyOptionProperty(
899
+ network_acl_common_policy=fms.CfnPolicy.NetworkAclCommonPolicyProperty(),
858
900
  network_firewall_policy=fms.CfnPolicy.NetworkFirewallPolicyProperty(
859
901
  firewall_deployment_model="firewallDeploymentModel"
860
902
  ),
@@ -865,14 +907,28 @@ class CfnPolicy(
865
907
  '''
866
908
  if __debug__:
867
909
  type_hints = typing.get_type_hints(_typecheckingstub__5979520d8e95acd573ee171b00e0dcba3be3872b80af53615d64bc000f703299)
910
+ check_type(argname="argument network_acl_common_policy", value=network_acl_common_policy, expected_type=type_hints["network_acl_common_policy"])
868
911
  check_type(argname="argument network_firewall_policy", value=network_firewall_policy, expected_type=type_hints["network_firewall_policy"])
869
912
  check_type(argname="argument third_party_firewall_policy", value=third_party_firewall_policy, expected_type=type_hints["third_party_firewall_policy"])
870
913
  self._values: typing.Dict[builtins.str, typing.Any] = {}
914
+ if network_acl_common_policy is not None:
915
+ self._values["network_acl_common_policy"] = network_acl_common_policy
871
916
  if network_firewall_policy is not None:
872
917
  self._values["network_firewall_policy"] = network_firewall_policy
873
918
  if third_party_firewall_policy is not None:
874
919
  self._values["third_party_firewall_policy"] = third_party_firewall_policy
875
920
 
921
+ @builtins.property
922
+ def network_acl_common_policy(
923
+ self,
924
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicy.NetworkAclCommonPolicyProperty"]]:
925
+ '''Defines a Firewall Manager network ACL policy.
926
+
927
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fms-policy-policyoption.html#cfn-fms-policy-policyoption-networkaclcommonpolicy
928
+ '''
929
+ result = self._values.get("network_acl_common_policy")
930
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicy.NetworkAclCommonPolicyProperty"]], result)
931
+
876
932
  @builtins.property
877
933
  def network_firewall_policy(
878
934
  self,
@@ -1091,6 +1147,7 @@ class CfnPolicy(
1091
1147
  # the properties below are optional
1092
1148
  managed_service_data="managedServiceData",
1093
1149
  policy_option=fms.CfnPolicy.PolicyOptionProperty(
1150
+ network_acl_common_policy=fms.CfnPolicy.NetworkAclCommonPolicyProperty(),
1094
1151
  network_firewall_policy=fms.CfnPolicy.NetworkFirewallPolicyProperty(
1095
1152
  firewall_deployment_model="firewallDeploymentModel"
1096
1153
  ),
@@ -1379,6 +1436,7 @@ class CfnPolicyProps:
1379
1436
  # the properties below are optional
1380
1437
  managed_service_data="managedServiceData",
1381
1438
  policy_option=fms.CfnPolicy.PolicyOptionProperty(
1439
+ network_acl_common_policy=fms.CfnPolicy.NetworkAclCommonPolicyProperty(),
1382
1440
  network_firewall_policy=fms.CfnPolicy.NetworkFirewallPolicyProperty(
1383
1441
  firewall_deployment_model="firewallDeploymentModel"
1384
1442
  ),
@@ -2275,6 +2333,7 @@ def _typecheckingstub__1dee79c6872a0421399375d5fc2757431881011031a81ccd6674040de
2275
2333
 
2276
2334
  def _typecheckingstub__5979520d8e95acd573ee171b00e0dcba3be3872b80af53615d64bc000f703299(
2277
2335
  *,
2336
+ network_acl_common_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPolicy.NetworkAclCommonPolicyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2278
2337
  network_firewall_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPolicy.NetworkFirewallPolicyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2279
2338
  third_party_firewall_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPolicy.ThirdPartyFirewallPolicyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2280
2339
  ) -> None:
@@ -331,7 +331,7 @@ class CfnDataRepositoryAssociation(
331
331
  '''
332
332
  :param scope: Scope in which this resource is defined.
333
333
  :param id: Construct identifier for this resource (unique in its scope).
334
- :param data_repository_path: The path to the Amazon S3 data repository that will be linked to the file system. The path can be an S3 bucket or prefix in the format ``s3://myBucket/myPrefix/`` . This path specifies where in the S3 data repository files will be imported from or exported to.
334
+ :param data_repository_path: The path to the Amazon S3 data repository that will be linked to the file system. The path can be an S3 bucket or prefix in the format ``s3://bucket-name/prefix/`` . This path specifies where in the S3 data repository files will be imported from or exported to.
335
335
  :param file_system_id: The ID of the file system on which the data repository association is configured.
336
336
  :param file_system_path: A path on the Amazon FSx for Lustre file system that points to a high-level directory (such as ``/ns1/`` ) or subdirectory (such as ``/ns1/subdir/`` ) that will be mapped 1-1 with ``DataRepositoryPath`` . The leading forward slash in the name is required. Two data repository associations cannot have overlapping file system paths. For example, if a data repository is associated with file system path ``/ns1/`` , then you cannot link another data repository with file system path ``/ns1/ns2`` . This path specifies where in your file system files will be exported from or imported to. This file system directory can be linked to only one Amazon S3 bucket, and no other S3 bucket can be linked to the directory. .. epigraph:: If you specify only a forward slash ( ``/`` ) as the file system path, you can link only one data repository to the file system. You can only specify "/" as the file system path for the first data repository associated with a file system.
337
337
  :param batch_import_meta_data_on_create: A boolean flag indicating whether an import data repository task to import metadata should run after the data repository association is created. The task runs if this flag is set to ``true`` .
@@ -762,7 +762,7 @@ class CfnDataRepositoryAssociationProps:
762
762
  ) -> None:
763
763
  '''Properties for defining a ``CfnDataRepositoryAssociation``.
764
764
 
765
- :param data_repository_path: The path to the Amazon S3 data repository that will be linked to the file system. The path can be an S3 bucket or prefix in the format ``s3://myBucket/myPrefix/`` . This path specifies where in the S3 data repository files will be imported from or exported to.
765
+ :param data_repository_path: The path to the Amazon S3 data repository that will be linked to the file system. The path can be an S3 bucket or prefix in the format ``s3://bucket-name/prefix/`` . This path specifies where in the S3 data repository files will be imported from or exported to.
766
766
  :param file_system_id: The ID of the file system on which the data repository association is configured.
767
767
  :param file_system_path: A path on the Amazon FSx for Lustre file system that points to a high-level directory (such as ``/ns1/`` ) or subdirectory (such as ``/ns1/subdir/`` ) that will be mapped 1-1 with ``DataRepositoryPath`` . The leading forward slash in the name is required. Two data repository associations cannot have overlapping file system paths. For example, if a data repository is associated with file system path ``/ns1/`` , then you cannot link another data repository with file system path ``/ns1/ns2`` . This path specifies where in your file system files will be exported from or imported to. This file system directory can be linked to only one Amazon S3 bucket, and no other S3 bucket can be linked to the directory. .. epigraph:: If you specify only a forward slash ( ``/`` ) as the file system path, you can link only one data repository to the file system. You can only specify "/" as the file system path for the first data repository associated with a file system.
768
768
  :param batch_import_meta_data_on_create: A boolean flag indicating whether an import data repository task to import metadata should run after the data repository association is created. The task runs if this flag is set to ``true`` .
@@ -828,7 +828,7 @@ class CfnDataRepositoryAssociationProps:
828
828
  def data_repository_path(self) -> builtins.str:
829
829
  '''The path to the Amazon S3 data repository that will be linked to the file system.
830
830
 
831
- The path can be an S3 bucket or prefix in the format ``s3://myBucket/myPrefix/`` . This path specifies where in the S3 data repository files will be imported from or exported to.
831
+ The path can be an S3 bucket or prefix in the format ``s3://bucket-name/prefix/`` . This path specifies where in the S3 data repository files will be imported from or exported to.
832
832
 
833
833
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-datarepositoryassociation.html#cfn-fsx-datarepositoryassociation-datarepositorypath
834
834
  '''