aws-cdk-lib 2.182.0__py3-none-any.whl → 2.183.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 (43) hide show
  1. aws_cdk/__init__.py +459 -33
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.182.0.jsii.tgz → aws-cdk-lib@2.183.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_batch/__init__.py +15 -9
  5. aws_cdk/aws_bedrock/__init__.py +5804 -2325
  6. aws_cdk/aws_ce/__init__.py +141 -3
  7. aws_cdk/aws_cloudformation/__init__.py +26 -33
  8. aws_cdk/aws_cloudtrail/__init__.py +4 -4
  9. aws_cdk/aws_codebuild/__init__.py +4 -10
  10. aws_cdk/aws_cognito/__init__.py +3 -3
  11. aws_cdk/aws_dms/__init__.py +350 -0
  12. aws_cdk/aws_ec2/__init__.py +63 -5
  13. aws_cdk/aws_elasticache/__init__.py +3 -3
  14. aws_cdk/aws_emr/__init__.py +9 -3
  15. aws_cdk/aws_gameliftstreams/__init__.py +1205 -0
  16. aws_cdk/aws_iam/__init__.py +290 -35
  17. aws_cdk/aws_inspector/__init__.py +13 -10
  18. aws_cdk/aws_iot/__init__.py +616 -22
  19. aws_cdk/aws_iotfleetwise/__init__.py +72 -10
  20. aws_cdk/aws_iotsitewise/__init__.py +12 -8
  21. aws_cdk/aws_kafkaconnect/__init__.py +4 -2
  22. aws_cdk/aws_lambda/__init__.py +9 -0
  23. aws_cdk/aws_logs/__init__.py +133 -0
  24. aws_cdk/aws_medialive/__init__.py +86 -86
  25. aws_cdk/aws_msk/__init__.py +236 -128
  26. aws_cdk/aws_neptunegraph/__init__.py +3 -3
  27. aws_cdk/aws_opensearchserverless/__init__.py +1031 -0
  28. aws_cdk/aws_quicksight/__init__.py +6511 -20331
  29. aws_cdk/aws_rds/__init__.py +124 -17
  30. aws_cdk/aws_redshift/__init__.py +8 -8
  31. aws_cdk/aws_sagemaker/__init__.py +12 -5
  32. aws_cdk/aws_securitylake/__init__.py +3 -0
  33. aws_cdk/aws_synthetics/__init__.py +2 -0
  34. aws_cdk/aws_transfer/__init__.py +241 -40
  35. aws_cdk/aws_wafv2/__init__.py +118 -30
  36. aws_cdk/aws_xray/__init__.py +195 -0
  37. aws_cdk/custom_resources/__init__.py +65 -8
  38. {aws_cdk_lib-2.182.0.dist-info → aws_cdk_lib-2.183.0.dist-info}/METADATA +1 -1
  39. {aws_cdk_lib-2.182.0.dist-info → aws_cdk_lib-2.183.0.dist-info}/RECORD +43 -42
  40. {aws_cdk_lib-2.182.0.dist-info → aws_cdk_lib-2.183.0.dist-info}/LICENSE +0 -0
  41. {aws_cdk_lib-2.182.0.dist-info → aws_cdk_lib-2.183.0.dist-info}/NOTICE +0 -0
  42. {aws_cdk_lib-2.182.0.dist-info → aws_cdk_lib-2.183.0.dist-info}/WHEEL +0 -0
  43. {aws_cdk_lib-2.182.0.dist-info → aws_cdk_lib-2.183.0.dist-info}/top_level.txt +0 -0
@@ -2744,7 +2744,8 @@ class CfnDecoderManifest(
2744
2744
  start_bit="startBit",
2745
2745
 
2746
2746
  # the properties below are optional
2747
- name="name"
2747
+ name="name",
2748
+ signal_value_type="signalValueType"
2748
2749
  ),
2749
2750
  obd_signal=iotfleetwise.CfnDecoderManifest.ObdSignalProperty(
2750
2751
  byte_length="byteLength",
@@ -2757,7 +2758,9 @@ class CfnDecoderManifest(
2757
2758
 
2758
2759
  # the properties below are optional
2759
2760
  bit_mask_length="bitMaskLength",
2760
- bit_right_shift="bitRightShift"
2761
+ bit_right_shift="bitRightShift",
2762
+ is_signed="isSigned",
2763
+ signal_value_type="signalValueType"
2761
2764
  )
2762
2765
  )],
2763
2766
  status="status",
@@ -3238,7 +3241,8 @@ class CfnDecoderManifest(
3238
3241
  start_bit="startBit",
3239
3242
 
3240
3243
  # the properties below are optional
3241
- name="name"
3244
+ name="name",
3245
+ signal_value_type="signalValueType"
3242
3246
  ),
3243
3247
  fully_qualified_name="fullyQualifiedName",
3244
3248
  interface_id="interfaceId",
@@ -3325,6 +3329,7 @@ class CfnDecoderManifest(
3325
3329
  "offset": "offset",
3326
3330
  "start_bit": "startBit",
3327
3331
  "name": "name",
3332
+ "signal_value_type": "signalValueType",
3328
3333
  },
3329
3334
  )
3330
3335
  class CanSignalProperty:
@@ -3339,6 +3344,7 @@ class CfnDecoderManifest(
3339
3344
  offset: builtins.str,
3340
3345
  start_bit: builtins.str,
3341
3346
  name: typing.Optional[builtins.str] = None,
3347
+ signal_value_type: typing.Optional[builtins.str] = None,
3342
3348
  ) -> None:
3343
3349
  '''Information about a single controller area network (CAN) signal and the messages it receives and transmits.
3344
3350
 
@@ -3350,6 +3356,7 @@ class CfnDecoderManifest(
3350
3356
  :param offset: The offset used to calculate the signal value. Combined with factor, the calculation is ``value = raw_value * factor + offset`` .
3351
3357
  :param start_bit: Indicates the beginning of the CAN message.
3352
3358
  :param name: The name of the signal.
3359
+ :param signal_value_type:
3353
3360
 
3354
3361
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotfleetwise-decodermanifest-cansignal.html
3355
3362
  :exampleMetadata: fixture=_generated
@@ -3370,7 +3377,8 @@ class CfnDecoderManifest(
3370
3377
  start_bit="startBit",
3371
3378
 
3372
3379
  # the properties below are optional
3373
- name="name"
3380
+ name="name",
3381
+ signal_value_type="signalValueType"
3374
3382
  )
3375
3383
  '''
3376
3384
  if __debug__:
@@ -3383,6 +3391,7 @@ class CfnDecoderManifest(
3383
3391
  check_type(argname="argument offset", value=offset, expected_type=type_hints["offset"])
3384
3392
  check_type(argname="argument start_bit", value=start_bit, expected_type=type_hints["start_bit"])
3385
3393
  check_type(argname="argument name", value=name, expected_type=type_hints["name"])
3394
+ check_type(argname="argument signal_value_type", value=signal_value_type, expected_type=type_hints["signal_value_type"])
3386
3395
  self._values: typing.Dict[builtins.str, typing.Any] = {
3387
3396
  "factor": factor,
3388
3397
  "is_big_endian": is_big_endian,
@@ -3394,6 +3403,8 @@ class CfnDecoderManifest(
3394
3403
  }
3395
3404
  if name is not None:
3396
3405
  self._values["name"] = name
3406
+ if signal_value_type is not None:
3407
+ self._values["signal_value_type"] = signal_value_type
3397
3408
 
3398
3409
  @builtins.property
3399
3410
  def factor(self) -> builtins.str:
@@ -3476,6 +3487,14 @@ class CfnDecoderManifest(
3476
3487
  result = self._values.get("name")
3477
3488
  return typing.cast(typing.Optional[builtins.str], result)
3478
3489
 
3490
+ @builtins.property
3491
+ def signal_value_type(self) -> typing.Optional[builtins.str]:
3492
+ '''
3493
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotfleetwise-decodermanifest-cansignal.html#cfn-iotfleetwise-decodermanifest-cansignal-signalvaluetype
3494
+ '''
3495
+ result = self._values.get("signal_value_type")
3496
+ return typing.cast(typing.Optional[builtins.str], result)
3497
+
3479
3498
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
3480
3499
  return isinstance(rhs, self.__class__) and rhs._values == self._values
3481
3500
 
@@ -3920,7 +3939,9 @@ class CfnDecoderManifest(
3920
3939
 
3921
3940
  # the properties below are optional
3922
3941
  bit_mask_length="bitMaskLength",
3923
- bit_right_shift="bitRightShift"
3942
+ bit_right_shift="bitRightShift",
3943
+ is_signed="isSigned",
3944
+ signal_value_type="signalValueType"
3924
3945
  ),
3925
3946
  type="type"
3926
3947
  )
@@ -4006,6 +4027,8 @@ class CfnDecoderManifest(
4006
4027
  "start_byte": "startByte",
4007
4028
  "bit_mask_length": "bitMaskLength",
4008
4029
  "bit_right_shift": "bitRightShift",
4030
+ "is_signed": "isSigned",
4031
+ "signal_value_type": "signalValueType",
4009
4032
  },
4010
4033
  )
4011
4034
  class ObdSignalProperty:
@@ -4021,6 +4044,8 @@ class CfnDecoderManifest(
4021
4044
  start_byte: builtins.str,
4022
4045
  bit_mask_length: typing.Optional[builtins.str] = None,
4023
4046
  bit_right_shift: typing.Optional[builtins.str] = None,
4047
+ is_signed: typing.Optional[typing.Union[builtins.str, builtins.bool, _IResolvable_da3f097b]] = None,
4048
+ signal_value_type: typing.Optional[builtins.str] = None,
4024
4049
  ) -> None:
4025
4050
  '''Information about signal messages using the on-board diagnostics (OBD) II protocol in a vehicle.
4026
4051
 
@@ -4033,6 +4058,8 @@ class CfnDecoderManifest(
4033
4058
  :param start_byte: Indicates the beginning of the message.
4034
4059
  :param bit_mask_length: The number of bits to mask in a message.
4035
4060
  :param bit_right_shift: The number of positions to shift bits in the message.
4061
+ :param is_signed:
4062
+ :param signal_value_type:
4036
4063
 
4037
4064
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotfleetwise-decodermanifest-obdsignal.html
4038
4065
  :exampleMetadata: fixture=_generated
@@ -4054,7 +4081,9 @@ class CfnDecoderManifest(
4054
4081
 
4055
4082
  # the properties below are optional
4056
4083
  bit_mask_length="bitMaskLength",
4057
- bit_right_shift="bitRightShift"
4084
+ bit_right_shift="bitRightShift",
4085
+ is_signed="isSigned",
4086
+ signal_value_type="signalValueType"
4058
4087
  )
4059
4088
  '''
4060
4089
  if __debug__:
@@ -4068,6 +4097,8 @@ class CfnDecoderManifest(
4068
4097
  check_type(argname="argument start_byte", value=start_byte, expected_type=type_hints["start_byte"])
4069
4098
  check_type(argname="argument bit_mask_length", value=bit_mask_length, expected_type=type_hints["bit_mask_length"])
4070
4099
  check_type(argname="argument bit_right_shift", value=bit_right_shift, expected_type=type_hints["bit_right_shift"])
4100
+ check_type(argname="argument is_signed", value=is_signed, expected_type=type_hints["is_signed"])
4101
+ check_type(argname="argument signal_value_type", value=signal_value_type, expected_type=type_hints["signal_value_type"])
4071
4102
  self._values: typing.Dict[builtins.str, typing.Any] = {
4072
4103
  "byte_length": byte_length,
4073
4104
  "offset": offset,
@@ -4081,6 +4112,10 @@ class CfnDecoderManifest(
4081
4112
  self._values["bit_mask_length"] = bit_mask_length
4082
4113
  if bit_right_shift is not None:
4083
4114
  self._values["bit_right_shift"] = bit_right_shift
4115
+ if is_signed is not None:
4116
+ self._values["is_signed"] = is_signed
4117
+ if signal_value_type is not None:
4118
+ self._values["signal_value_type"] = signal_value_type
4084
4119
 
4085
4120
  @builtins.property
4086
4121
  def byte_length(self) -> builtins.str:
@@ -4172,6 +4207,24 @@ class CfnDecoderManifest(
4172
4207
  result = self._values.get("bit_right_shift")
4173
4208
  return typing.cast(typing.Optional[builtins.str], result)
4174
4209
 
4210
+ @builtins.property
4211
+ def is_signed(
4212
+ self,
4213
+ ) -> typing.Optional[typing.Union[builtins.str, builtins.bool, _IResolvable_da3f097b]]:
4214
+ '''
4215
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotfleetwise-decodermanifest-obdsignal.html#cfn-iotfleetwise-decodermanifest-obdsignal-issigned
4216
+ '''
4217
+ result = self._values.get("is_signed")
4218
+ return typing.cast(typing.Optional[typing.Union[builtins.str, builtins.bool, _IResolvable_da3f097b]], result)
4219
+
4220
+ @builtins.property
4221
+ def signal_value_type(self) -> typing.Optional[builtins.str]:
4222
+ '''
4223
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotfleetwise-decodermanifest-obdsignal.html#cfn-iotfleetwise-decodermanifest-obdsignal-signalvaluetype
4224
+ '''
4225
+ result = self._values.get("signal_value_type")
4226
+ return typing.cast(typing.Optional[builtins.str], result)
4227
+
4175
4228
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
4176
4229
  return isinstance(rhs, self.__class__) and rhs._values == self._values
4177
4230
 
@@ -4237,7 +4290,8 @@ class CfnDecoderManifest(
4237
4290
  start_bit="startBit",
4238
4291
 
4239
4292
  # the properties below are optional
4240
- name="name"
4293
+ name="name",
4294
+ signal_value_type="signalValueType"
4241
4295
  ),
4242
4296
  obd_signal=iotfleetwise.CfnDecoderManifest.ObdSignalProperty(
4243
4297
  byte_length="byteLength",
@@ -4250,7 +4304,9 @@ class CfnDecoderManifest(
4250
4304
 
4251
4305
  # the properties below are optional
4252
4306
  bit_mask_length="bitMaskLength",
4253
- bit_right_shift="bitRightShift"
4307
+ bit_right_shift="bitRightShift",
4308
+ is_signed="isSigned",
4309
+ signal_value_type="signalValueType"
4254
4310
  )
4255
4311
  )
4256
4312
  '''
@@ -4424,7 +4480,8 @@ class CfnDecoderManifestProps:
4424
4480
  start_bit="startBit",
4425
4481
 
4426
4482
  # the properties below are optional
4427
- name="name"
4483
+ name="name",
4484
+ signal_value_type="signalValueType"
4428
4485
  ),
4429
4486
  obd_signal=iotfleetwise.CfnDecoderManifest.ObdSignalProperty(
4430
4487
  byte_length="byteLength",
@@ -4437,7 +4494,9 @@ class CfnDecoderManifestProps:
4437
4494
 
4438
4495
  # the properties below are optional
4439
4496
  bit_mask_length="bitMaskLength",
4440
- bit_right_shift="bitRightShift"
4497
+ bit_right_shift="bitRightShift",
4498
+ is_signed="isSigned",
4499
+ signal_value_type="signalValueType"
4441
4500
  )
4442
4501
  )],
4443
4502
  status="status",
@@ -8242,6 +8301,7 @@ def _typecheckingstub__d1fdd86137a92797754860d3b8da115496d862a2f95c8e39c08a70fdf
8242
8301
  offset: builtins.str,
8243
8302
  start_bit: builtins.str,
8244
8303
  name: typing.Optional[builtins.str] = None,
8304
+ signal_value_type: typing.Optional[builtins.str] = None,
8245
8305
  ) -> None:
8246
8306
  """Type checking stubs"""
8247
8307
  pass
@@ -8299,6 +8359,8 @@ def _typecheckingstub__ccb776ce607aa563ef4bc105956ab186267e45066ee492c162a455570
8299
8359
  start_byte: builtins.str,
8300
8360
  bit_mask_length: typing.Optional[builtins.str] = None,
8301
8361
  bit_right_shift: typing.Optional[builtins.str] = None,
8362
+ is_signed: typing.Optional[typing.Union[builtins.str, builtins.bool, _IResolvable_da3f097b]] = None,
8363
+ signal_value_type: typing.Optional[builtins.str] = None,
8302
8364
  ) -> None:
8303
8365
  """Type checking stubs"""
8304
8366
  pass
@@ -4226,7 +4226,7 @@ class CfnGateway(
4226
4226
  :param gateway_name: A unique name for the gateway.
4227
4227
  :param gateway_platform: The gateway's platform. You can only specify one platform in a gateway.
4228
4228
  :param gateway_capability_summaries: A list of gateway capability summaries that each contain a namespace and status. Each gateway capability defines data sources for the gateway. To retrieve a capability configuration's definition, use `DescribeGatewayCapabilityConfiguration <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeGatewayCapabilityConfiguration.html>`_ .
4229
- :param gateway_version: The version of the gateway you want to create.
4229
+ :param gateway_version: The version of the gateway. A value of ``3`` indicates an MQTT-enabled, V3 gateway, while ``2`` indicates a Classic streams, V2 gateway.
4230
4230
  :param tags: A list of key-value pairs that contain metadata for the gateway. For more information, see `Tagging your AWS IoT SiteWise resources <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html>`_ in the *AWS IoT SiteWise User Guide* .
4231
4231
  '''
4232
4232
  if __debug__:
@@ -4345,7 +4345,7 @@ class CfnGateway(
4345
4345
  @builtins.property
4346
4346
  @jsii.member(jsii_name="gatewayVersion")
4347
4347
  def gateway_version(self) -> typing.Optional[builtins.str]:
4348
- '''The version of the gateway you want to create.'''
4348
+ '''The version of the gateway.'''
4349
4349
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "gatewayVersion"))
4350
4350
 
4351
4351
  @gateway_version.setter
@@ -4469,7 +4469,7 @@ class CfnGateway(
4469
4469
 
4470
4470
  :param greengrass:
4471
4471
  :param greengrass_v2: A gateway that runs on AWS IoT Greengrass V2 .
4472
- :param siemens_ie: A AWS IoT SiteWise Edge gateway that runs on a Siemens Industrial Edge Device.
4472
+ :param siemens_ie: An AWS IoT SiteWise Edge gateway that runs on a Siemens Industrial Edge Device.
4473
4473
 
4474
4474
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-gateway-gatewayplatform.html
4475
4475
  :exampleMetadata: fixture=_generated
@@ -4533,7 +4533,7 @@ class CfnGateway(
4533
4533
  def siemens_ie(
4534
4534
  self,
4535
4535
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnGateway.SiemensIEProperty"]]:
4536
- '''A AWS IoT SiteWise Edge gateway that runs on a Siemens Industrial Edge Device.
4536
+ '''An AWS IoT SiteWise Edge gateway that runs on a Siemens Industrial Edge Device.
4537
4537
 
4538
4538
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-gateway-gatewayplatform.html#cfn-iotsitewise-gateway-gatewayplatform-siemensie
4539
4539
  '''
@@ -4758,7 +4758,7 @@ class CfnGatewayProps:
4758
4758
  :param gateway_name: A unique name for the gateway.
4759
4759
  :param gateway_platform: The gateway's platform. You can only specify one platform in a gateway.
4760
4760
  :param gateway_capability_summaries: A list of gateway capability summaries that each contain a namespace and status. Each gateway capability defines data sources for the gateway. To retrieve a capability configuration's definition, use `DescribeGatewayCapabilityConfiguration <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeGatewayCapabilityConfiguration.html>`_ .
4761
- :param gateway_version: The version of the gateway you want to create.
4761
+ :param gateway_version: The version of the gateway. A value of ``3`` indicates an MQTT-enabled, V3 gateway, while ``2`` indicates a Classic streams, V2 gateway.
4762
4762
  :param tags: A list of key-value pairs that contain metadata for the gateway. For more information, see `Tagging your AWS IoT SiteWise resources <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html>`_ in the *AWS IoT SiteWise User Guide* .
4763
4763
 
4764
4764
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-gateway.html
@@ -4858,7 +4858,9 @@ class CfnGatewayProps:
4858
4858
 
4859
4859
  @builtins.property
4860
4860
  def gateway_version(self) -> typing.Optional[builtins.str]:
4861
- '''The version of the gateway you want to create.
4861
+ '''The version of the gateway.
4862
+
4863
+ A value of ``3`` indicates an MQTT-enabled, V3 gateway, while ``2`` indicates a Classic streams, V2 gateway.
4862
4864
 
4863
4865
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-gateway.html#cfn-iotsitewise-gateway-gatewayversion
4864
4866
  '''
@@ -5286,7 +5288,7 @@ class CfnPortal(
5286
5288
  def __init__(self, *, portal_tools: typing.Sequence[builtins.str]) -> None:
5287
5289
  '''Container associated a certain PortalType.
5288
5290
 
5289
- :param portal_tools: List of enabled Tools for a certain portal.
5291
+ :param portal_tools: The array of tools associated with the specified portal type. The possible values are ``ASSISTANT`` and ``DASHBOARD`` .
5290
5292
 
5291
5293
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-portal-portaltypeentry.html
5292
5294
  :exampleMetadata: fixture=_generated
@@ -5310,7 +5312,9 @@ class CfnPortal(
5310
5312
 
5311
5313
  @builtins.property
5312
5314
  def portal_tools(self) -> typing.List[builtins.str]:
5313
- '''List of enabled Tools for a certain portal.
5315
+ '''The array of tools associated with the specified portal type.
5316
+
5317
+ The possible values are ``ASSISTANT`` and ``DASHBOARD`` .
5314
5318
 
5315
5319
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-portal-portaltypeentry.html#cfn-iotsitewise-portal-portaltypeentry-portaltools
5316
5320
  '''
@@ -195,7 +195,7 @@ class CfnConnector(
195
195
  :param id: Construct identifier for this resource (unique in its scope).
196
196
  :param capacity: The connector's compute capacity settings.
197
197
  :param connector_configuration: The configuration of the connector.
198
- :param connector_name: The name of the connector.
198
+ :param connector_name: The name of the connector. The connector name must be unique and can include up to 128 characters. Valid characters you can include in a connector name are: a-z, A-Z, 0-9, and -.
199
199
  :param kafka_cluster: The details of the Apache Kafka cluster to which the connector is connected.
200
200
  :param kafka_cluster_client_authentication: The type of client authentication used to connect to the Apache Kafka cluster. The value is NONE when no client authentication is used.
201
201
  :param kafka_cluster_encryption_in_transit: Details of encryption in transit to the Apache Kafka cluster.
@@ -1883,7 +1883,7 @@ class CfnConnectorProps:
1883
1883
 
1884
1884
  :param capacity: The connector's compute capacity settings.
1885
1885
  :param connector_configuration: The configuration of the connector.
1886
- :param connector_name: The name of the connector.
1886
+ :param connector_name: The name of the connector. The connector name must be unique and can include up to 128 characters. Valid characters you can include in a connector name are: a-z, A-Z, 0-9, and -.
1887
1887
  :param kafka_cluster: The details of the Apache Kafka cluster to which the connector is connected.
1888
1888
  :param kafka_cluster_client_authentication: The type of client authentication used to connect to the Apache Kafka cluster. The value is NONE when no client authentication is used.
1889
1889
  :param kafka_cluster_encryption_in_transit: Details of encryption in transit to the Apache Kafka cluster.
@@ -2050,6 +2050,8 @@ class CfnConnectorProps:
2050
2050
  def connector_name(self) -> builtins.str:
2051
2051
  '''The name of the connector.
2052
2052
 
2053
+ The connector name must be unique and can include up to 128 characters. Valid characters you can include in a connector name are: a-z, A-Z, 0-9, and -.
2054
+
2053
2055
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-connector.html#cfn-kafkaconnect-connector-connectorname
2054
2056
  '''
2055
2057
  result = self._values.get("connector_name")
@@ -23022,6 +23022,15 @@ class SourceAccessConfigurationType(
23022
23022
  '''The Secrets Manager ARN of your secret key containing the root CA certificate (X.509 PEM) used for TLS encryption of your Apache Kafka brokers.'''
23023
23023
  return typing.cast("SourceAccessConfigurationType", jsii.sget(cls, "SERVER_ROOT_CA_CERTIFICATE"))
23024
23024
 
23025
+ @jsii.python.classproperty
23026
+ @jsii.member(jsii_name="VIRTUAL_HOST")
23027
+ def VIRTUAL_HOST(cls) -> "SourceAccessConfigurationType":
23028
+ '''The name of the virtual host in your RabbitMQ broker.
23029
+
23030
+ Lambda uses this RabbitMQ host as the event source.
23031
+ '''
23032
+ return typing.cast("SourceAccessConfigurationType", jsii.sget(cls, "VIRTUAL_HOST"))
23033
+
23025
23034
  @jsii.python.classproperty
23026
23035
  @jsii.member(jsii_name="VPC_SECURITY_GROUP")
23027
23036
  def VPC_SECURITY_GROUP(cls) -> "SourceAccessConfigurationType":
@@ -456,6 +456,28 @@ logs.LogGroup(self, "LogGroupLambda",
456
456
  )
457
457
  ```
458
458
 
459
+ ## Field Index Policies
460
+
461
+ Creates or updates a field index policy for the specified log group. You can use field index policies to create field indexes on fields found in log events in the log group. Creating field indexes lowers the costs for CloudWatch Logs Insights queries that reference those field indexes, because these queries attempt to skip the processing of log events that are known to not match the indexed field. Good fields to index are fields that you often need to query for and fields that have high cardinality of values.
462
+
463
+ For more information, see [Create field indexes to improve query performance and reduce costs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatchLogs-Field-Indexing.html).
464
+
465
+ Only log groups in the Standard log class support field index policies.
466
+ Currently, this array supports only one field index policy object.
467
+
468
+ Example:
469
+
470
+ ```python
471
+ field_index_policy = logs.FieldIndexPolicy(
472
+ fields=["Operation", "RequestId"]
473
+ )
474
+
475
+ logs.LogGroup(self, "LogGroup",
476
+ log_group_name="cdkIntegLogGroup",
477
+ field_index_policies=[field_index_policy]
478
+ )
479
+ ```
480
+
459
481
  ## Notes
460
482
 
461
483
  Be aware that Log Group ARNs will always have the string `:*` appended to
@@ -9558,6 +9580,88 @@ class Distribution(enum.Enum):
9558
9580
  '''Log events are distributed across the log destinations randomly.'''
9559
9581
 
9560
9582
 
9583
+ class FieldIndexPolicy(
9584
+ metaclass=jsii.JSIIMeta,
9585
+ jsii_type="aws-cdk-lib.aws_logs.FieldIndexPolicy",
9586
+ ):
9587
+ '''Creates a field index policy for CloudWatch Logs log groups.
9588
+
9589
+ :exampleMetadata: infused
9590
+
9591
+ Example::
9592
+
9593
+ field_index_policy = logs.FieldIndexPolicy(
9594
+ fields=["Operation", "RequestId"]
9595
+ )
9596
+
9597
+ logs.LogGroup(self, "LogGroup",
9598
+ log_group_name="cdkIntegLogGroup",
9599
+ field_index_policies=[field_index_policy]
9600
+ )
9601
+ '''
9602
+
9603
+ def __init__(self, *, fields: typing.Sequence[builtins.str]) -> None:
9604
+ '''
9605
+ :param fields: List of fields to index in log events. Default: no fields
9606
+ '''
9607
+ props = FieldIndexPolicyProps(fields=fields)
9608
+
9609
+ jsii.create(self.__class__, self, [props])
9610
+
9611
+
9612
+ @jsii.data_type(
9613
+ jsii_type="aws-cdk-lib.aws_logs.FieldIndexPolicyProps",
9614
+ jsii_struct_bases=[],
9615
+ name_mapping={"fields": "fields"},
9616
+ )
9617
+ class FieldIndexPolicyProps:
9618
+ def __init__(self, *, fields: typing.Sequence[builtins.str]) -> None:
9619
+ '''Properties for creating field index policies.
9620
+
9621
+ :param fields: List of fields to index in log events. Default: no fields
9622
+
9623
+ :exampleMetadata: infused
9624
+
9625
+ Example::
9626
+
9627
+ field_index_policy = logs.FieldIndexPolicy(
9628
+ fields=["Operation", "RequestId"]
9629
+ )
9630
+
9631
+ logs.LogGroup(self, "LogGroup",
9632
+ log_group_name="cdkIntegLogGroup",
9633
+ field_index_policies=[field_index_policy]
9634
+ )
9635
+ '''
9636
+ if __debug__:
9637
+ type_hints = typing.get_type_hints(_typecheckingstub__8587c6606bf8df6db1fab55d5f7ea689b5960f088bf6825593078b791719378c)
9638
+ check_type(argname="argument fields", value=fields, expected_type=type_hints["fields"])
9639
+ self._values: typing.Dict[builtins.str, typing.Any] = {
9640
+ "fields": fields,
9641
+ }
9642
+
9643
+ @builtins.property
9644
+ def fields(self) -> typing.List[builtins.str]:
9645
+ '''List of fields to index in log events.
9646
+
9647
+ :default: no fields
9648
+ '''
9649
+ result = self._values.get("fields")
9650
+ assert result is not None, "Required property 'fields' is missing"
9651
+ return typing.cast(typing.List[builtins.str], result)
9652
+
9653
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
9654
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
9655
+
9656
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
9657
+ return not (rhs == self)
9658
+
9659
+ def __repr__(self) -> str:
9660
+ return "FieldIndexPolicyProps(%s)" % ", ".join(
9661
+ k + "=" + repr(v) for k, v in self._values.items()
9662
+ )
9663
+
9664
+
9561
9665
  class FilterPattern(
9562
9666
  metaclass=jsii.JSIIMeta,
9563
9667
  jsii_type="aws-cdk-lib.aws_logs.FilterPattern",
@@ -10613,6 +10717,7 @@ class LogGroup(
10613
10717
  *,
10614
10718
  data_protection_policy: typing.Optional[DataProtectionPolicy] = None,
10615
10719
  encryption_key: typing.Optional[_IKey_5f11635f] = None,
10720
+ field_index_policies: typing.Optional[typing.Sequence[FieldIndexPolicy]] = None,
10616
10721
  log_group_class: typing.Optional["LogGroupClass"] = None,
10617
10722
  log_group_name: typing.Optional[builtins.str] = None,
10618
10723
  removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
@@ -10623,6 +10728,7 @@ class LogGroup(
10623
10728
  :param id: -
10624
10729
  :param data_protection_policy: Data Protection Policy for this log group. Default: - no data protection policy
10625
10730
  :param encryption_key: The KMS customer managed key to encrypt the log group with. Default: Server-side encryption managed by the CloudWatch Logs service
10731
+ :param field_index_policies: Field Index Policies for this log group. Default: - no field index policies for this log group.
10626
10732
  :param log_group_class: The class of the log group. Possible values are: STANDARD and INFREQUENT_ACCESS. INFREQUENT_ACCESS class provides customers a cost-effective way to consolidate logs which supports querying using Logs Insights. The logGroupClass property cannot be changed once the log group is created. Default: LogGroupClass.STANDARD
10627
10733
  :param log_group_name: Name of the log group. Default: Automatically generated
10628
10734
  :param removal_policy: Determine the removal policy of this log group. Normally you want to retain the log group so you can diagnose issues from logs even after a deployment that no longer includes the log group. In that case, use the normal date-based retention policy to age out your logs. Default: RemovalPolicy.Retain
@@ -10635,6 +10741,7 @@ class LogGroup(
10635
10741
  props = LogGroupProps(
10636
10742
  data_protection_policy=data_protection_policy,
10637
10743
  encryption_key=encryption_key,
10744
+ field_index_policies=field_index_policies,
10638
10745
  log_group_class=log_group_class,
10639
10746
  log_group_name=log_group_name,
10640
10747
  removal_policy=removal_policy,
@@ -11081,6 +11188,7 @@ class LogGroupClass(enum.Enum):
11081
11188
  name_mapping={
11082
11189
  "data_protection_policy": "dataProtectionPolicy",
11083
11190
  "encryption_key": "encryptionKey",
11191
+ "field_index_policies": "fieldIndexPolicies",
11084
11192
  "log_group_class": "logGroupClass",
11085
11193
  "log_group_name": "logGroupName",
11086
11194
  "removal_policy": "removalPolicy",
@@ -11093,6 +11201,7 @@ class LogGroupProps:
11093
11201
  *,
11094
11202
  data_protection_policy: typing.Optional[DataProtectionPolicy] = None,
11095
11203
  encryption_key: typing.Optional[_IKey_5f11635f] = None,
11204
+ field_index_policies: typing.Optional[typing.Sequence[FieldIndexPolicy]] = None,
11096
11205
  log_group_class: typing.Optional[LogGroupClass] = None,
11097
11206
  log_group_name: typing.Optional[builtins.str] = None,
11098
11207
  removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
@@ -11102,6 +11211,7 @@ class LogGroupProps:
11102
11211
 
11103
11212
  :param data_protection_policy: Data Protection Policy for this log group. Default: - no data protection policy
11104
11213
  :param encryption_key: The KMS customer managed key to encrypt the log group with. Default: Server-side encryption managed by the CloudWatch Logs service
11214
+ :param field_index_policies: Field Index Policies for this log group. Default: - no field index policies for this log group.
11105
11215
  :param log_group_class: The class of the log group. Possible values are: STANDARD and INFREQUENT_ACCESS. INFREQUENT_ACCESS class provides customers a cost-effective way to consolidate logs which supports querying using Logs Insights. The logGroupClass property cannot be changed once the log group is created. Default: LogGroupClass.STANDARD
11106
11216
  :param log_group_name: Name of the log group. Default: Automatically generated
11107
11217
  :param removal_policy: Determine the removal policy of this log group. Normally you want to retain the log group so you can diagnose issues from logs even after a deployment that no longer includes the log group. In that case, use the normal date-based retention policy to age out your logs. Default: RemovalPolicy.Retain
@@ -11147,6 +11257,7 @@ class LogGroupProps:
11147
11257
  type_hints = typing.get_type_hints(_typecheckingstub__df51a93f7809d59dd37d78a60967e0071dab4876ea1cd5ecd658ac3c8eae1320)
11148
11258
  check_type(argname="argument data_protection_policy", value=data_protection_policy, expected_type=type_hints["data_protection_policy"])
11149
11259
  check_type(argname="argument encryption_key", value=encryption_key, expected_type=type_hints["encryption_key"])
11260
+ check_type(argname="argument field_index_policies", value=field_index_policies, expected_type=type_hints["field_index_policies"])
11150
11261
  check_type(argname="argument log_group_class", value=log_group_class, expected_type=type_hints["log_group_class"])
11151
11262
  check_type(argname="argument log_group_name", value=log_group_name, expected_type=type_hints["log_group_name"])
11152
11263
  check_type(argname="argument removal_policy", value=removal_policy, expected_type=type_hints["removal_policy"])
@@ -11156,6 +11267,8 @@ class LogGroupProps:
11156
11267
  self._values["data_protection_policy"] = data_protection_policy
11157
11268
  if encryption_key is not None:
11158
11269
  self._values["encryption_key"] = encryption_key
11270
+ if field_index_policies is not None:
11271
+ self._values["field_index_policies"] = field_index_policies
11159
11272
  if log_group_class is not None:
11160
11273
  self._values["log_group_class"] = log_group_class
11161
11274
  if log_group_name is not None:
@@ -11183,6 +11296,15 @@ class LogGroupProps:
11183
11296
  result = self._values.get("encryption_key")
11184
11297
  return typing.cast(typing.Optional[_IKey_5f11635f], result)
11185
11298
 
11299
+ @builtins.property
11300
+ def field_index_policies(self) -> typing.Optional[typing.List[FieldIndexPolicy]]:
11301
+ '''Field Index Policies for this log group.
11302
+
11303
+ :default: - no field index policies for this log group.
11304
+ '''
11305
+ result = self._values.get("field_index_policies")
11306
+ return typing.cast(typing.Optional[typing.List[FieldIndexPolicy]], result)
11307
+
11186
11308
  @builtins.property
11187
11309
  def log_group_class(self) -> typing.Optional[LogGroupClass]:
11188
11310
  '''The class of the log group. Possible values are: STANDARD and INFREQUENT_ACCESS.
@@ -13616,6 +13738,8 @@ __all__ = [
13616
13738
  "DataProtectionPolicy",
13617
13739
  "DataProtectionPolicyProps",
13618
13740
  "Distribution",
13741
+ "FieldIndexPolicy",
13742
+ "FieldIndexPolicyProps",
13619
13743
  "FilterPattern",
13620
13744
  "IFilterPattern",
13621
13745
  "ILogGroup",
@@ -14865,6 +14989,13 @@ def _typecheckingstub__a7783165e1d00e232a8ee35869f53b7ff500c9680f96b895f705e2447
14865
14989
  """Type checking stubs"""
14866
14990
  pass
14867
14991
 
14992
+ def _typecheckingstub__8587c6606bf8df6db1fab55d5f7ea689b5960f088bf6825593078b791719378c(
14993
+ *,
14994
+ fields: typing.Sequence[builtins.str],
14995
+ ) -> None:
14996
+ """Type checking stubs"""
14997
+ pass
14998
+
14868
14999
  def _typecheckingstub__ef6e7314c6a5197496584b4f3fc9dc8a24050e8d3d30eabb788540b98e00e4f0(
14869
15000
  *patterns: JsonPattern,
14870
15001
  ) -> None:
@@ -15053,6 +15184,7 @@ def _typecheckingstub__308a02ff022bfc4531ef0c547fbfb8db809293b3cda70c61106c9bc27
15053
15184
  *,
15054
15185
  data_protection_policy: typing.Optional[DataProtectionPolicy] = None,
15055
15186
  encryption_key: typing.Optional[_IKey_5f11635f] = None,
15187
+ field_index_policies: typing.Optional[typing.Sequence[FieldIndexPolicy]] = None,
15056
15188
  log_group_class: typing.Optional[LogGroupClass] = None,
15057
15189
  log_group_name: typing.Optional[builtins.str] = None,
15058
15190
  removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
@@ -15165,6 +15297,7 @@ def _typecheckingstub__df51a93f7809d59dd37d78a60967e0071dab4876ea1cd5ecd658ac3c8
15165
15297
  *,
15166
15298
  data_protection_policy: typing.Optional[DataProtectionPolicy] = None,
15167
15299
  encryption_key: typing.Optional[_IKey_5f11635f] = None,
15300
+ field_index_policies: typing.Optional[typing.Sequence[FieldIndexPolicy]] = None,
15168
15301
  log_group_class: typing.Optional[LogGroupClass] = None,
15169
15302
  log_group_name: typing.Optional[builtins.str] = None,
15170
15303
  removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,