aws-cdk-lib 2.176.0__py3-none-any.whl → 2.178.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 (120) hide show
  1. aws_cdk/__init__.py +106 -62
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.176.0.jsii.tgz → aws-cdk-lib@2.178.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amplifyuibuilder/__init__.py +8 -8
  5. aws_cdk/aws_apigateway/__init__.py +97 -97
  6. aws_cdk/aws_apigatewayv2/__init__.py +35 -10
  7. aws_cdk/aws_apigatewayv2_integrations/__init__.py +2 -2
  8. aws_cdk/aws_appconfig/__init__.py +10 -10
  9. aws_cdk/aws_appflow/__init__.py +20 -20
  10. aws_cdk/aws_applicationsignals/__init__.py +8 -8
  11. aws_cdk/aws_appmesh/__init__.py +8 -8
  12. aws_cdk/aws_appsync/__init__.py +10387 -7038
  13. aws_cdk/aws_apptest/__init__.py +4 -4
  14. aws_cdk/aws_aps/__init__.py +135 -0
  15. aws_cdk/aws_athena/__init__.py +10 -10
  16. aws_cdk/aws_backup/__init__.py +14 -14
  17. aws_cdk/aws_batch/__init__.py +189 -24
  18. aws_cdk/aws_bcmdataexports/__init__.py +4 -4
  19. aws_cdk/aws_bedrock/__init__.py +5494 -2518
  20. aws_cdk/aws_certificatemanager/__init__.py +15 -14
  21. aws_cdk/aws_chatbot/__init__.py +4 -4
  22. aws_cdk/aws_cloudformation/__init__.py +22 -18
  23. aws_cdk/aws_cloudfront/__init__.py +686 -9
  24. aws_cdk/aws_cloudfront_origins/__init__.py +73 -2
  25. aws_cdk/aws_cloudtrail/__init__.py +4 -4
  26. aws_cdk/aws_cloudwatch/__init__.py +53 -53
  27. aws_cdk/aws_codedeploy/__init__.py +2 -2
  28. aws_cdk/aws_codepipeline/__init__.py +59 -6
  29. aws_cdk/aws_codepipeline_actions/__init__.py +2 -2
  30. aws_cdk/aws_cognito/__init__.py +204 -159
  31. aws_cdk/aws_connect/__init__.py +4 -4
  32. aws_cdk/aws_customerprofiles/__init__.py +6 -4
  33. aws_cdk/aws_databrew/__init__.py +16 -16
  34. aws_cdk/aws_datasync/__init__.py +14 -11
  35. aws_cdk/aws_datazone/__init__.py +199 -129
  36. aws_cdk/aws_dms/__init__.py +4 -4
  37. aws_cdk/aws_dynamodb/__init__.py +267 -25
  38. aws_cdk/aws_ec2/__init__.py +1142 -184
  39. aws_cdk/aws_ecs/__init__.py +767 -124
  40. aws_cdk/aws_ecs_patterns/__init__.py +49 -0
  41. aws_cdk/aws_efs/__init__.py +8 -8
  42. aws_cdk/aws_eks/__init__.py +55 -35
  43. aws_cdk/aws_elasticache/__init__.py +10 -10
  44. aws_cdk/aws_elasticloadbalancingv2/__init__.py +47 -18
  45. aws_cdk/aws_elasticsearch/__init__.py +10 -10
  46. aws_cdk/aws_emr/__init__.py +16 -16
  47. aws_cdk/aws_emrserverless/__init__.py +93 -4
  48. aws_cdk/aws_entityresolution/__init__.py +31 -17
  49. aws_cdk/aws_events/__init__.py +12 -12
  50. aws_cdk/aws_fis/__init__.py +16 -16
  51. aws_cdk/aws_fms/__init__.py +46 -0
  52. aws_cdk/aws_gamelift/__init__.py +8 -10
  53. aws_cdk/aws_glue/__init__.py +1326 -7
  54. aws_cdk/aws_greengrassv2/__init__.py +8 -8
  55. aws_cdk/aws_guardduty/__init__.py +521 -0
  56. aws_cdk/aws_healthlake/__init__.py +10 -2
  57. aws_cdk/aws_iam/__init__.py +8 -0
  58. aws_cdk/aws_imagebuilder/__init__.py +88 -74
  59. aws_cdk/aws_iot/__init__.py +40 -40
  60. aws_cdk/aws_iotanalytics/__init__.py +4 -4
  61. aws_cdk/aws_iotfleetwise/__init__.py +424 -10
  62. aws_cdk/aws_iotsitewise/__init__.py +84 -13
  63. aws_cdk/aws_iottwinmaker/__init__.py +18 -18
  64. aws_cdk/aws_iotwireless/__init__.py +4 -4
  65. aws_cdk/aws_kafkaconnect/__init__.py +10 -10
  66. aws_cdk/aws_kendra/__init__.py +0 -10
  67. aws_cdk/aws_kinesisanalytics/__init__.py +4 -4
  68. aws_cdk/aws_kinesisanalyticsv2/__init__.py +4 -4
  69. aws_cdk/aws_kinesisfirehose/__init__.py +4544 -183
  70. aws_cdk/aws_kms/__init__.py +11 -10
  71. aws_cdk/aws_lambda/__init__.py +47 -4
  72. aws_cdk/aws_lambda_nodejs/__init__.py +24 -5
  73. aws_cdk/aws_launchwizard/__init__.py +10 -10
  74. aws_cdk/aws_logs/__init__.py +78 -74
  75. aws_cdk/aws_mediaconnect/__init__.py +509 -12
  76. aws_cdk/aws_medialive/__init__.py +16 -16
  77. aws_cdk/aws_mediatailor/__init__.py +10 -10
  78. aws_cdk/aws_networkfirewall/__init__.py +12 -12
  79. aws_cdk/aws_notifications/__init__.py +1927 -0
  80. aws_cdk/aws_notificationscontacts/__init__.py +593 -0
  81. aws_cdk/aws_omics/__init__.py +4 -4
  82. aws_cdk/aws_opensearchservice/__init__.py +10 -10
  83. aws_cdk/aws_opsworks/__init__.py +58 -58
  84. aws_cdk/aws_personalize/__init__.py +8 -8
  85. aws_cdk/aws_pipes/__init__.py +20 -20
  86. aws_cdk/aws_qbusiness/__init__.py +119 -0
  87. aws_cdk/aws_quicksight/__init__.py +247 -92
  88. aws_cdk/aws_rds/__init__.py +37 -37
  89. aws_cdk/aws_redshift/__init__.py +19 -15
  90. aws_cdk/aws_resiliencehub/__init__.py +0 -41
  91. aws_cdk/aws_route53/__init__.py +10 -4
  92. aws_cdk/aws_route53_targets/__init__.py +15 -15
  93. aws_cdk/aws_rum/__init__.py +4 -4
  94. aws_cdk/aws_s3/__init__.py +801 -2
  95. aws_cdk/aws_s3_notifications/__init__.py +5 -5
  96. aws_cdk/aws_s3tables/__init__.py +2 -2
  97. aws_cdk/aws_sagemaker/__init__.py +84 -60
  98. aws_cdk/aws_sam/__init__.py +48 -48
  99. aws_cdk/aws_secretsmanager/__init__.py +30 -14
  100. aws_cdk/aws_securityhub/__init__.py +12 -12
  101. aws_cdk/aws_sns/__init__.py +137 -12
  102. aws_cdk/aws_ssm/__init__.py +5 -5
  103. aws_cdk/aws_ssmquicksetup/__init__.py +10 -10
  104. aws_cdk/aws_stepfunctions/__init__.py +13207 -4740
  105. aws_cdk/aws_stepfunctions_tasks/__init__.py +77615 -22817
  106. aws_cdk/aws_synthetics/__init__.py +109 -36
  107. aws_cdk/aws_timestream/__init__.py +41 -0
  108. aws_cdk/aws_transfer/__init__.py +9 -10
  109. aws_cdk/aws_wafv2/__init__.py +24 -22
  110. aws_cdk/aws_wisdom/__init__.py +8 -8
  111. aws_cdk/aws_workspacesweb/__init__.py +60 -60
  112. aws_cdk/aws_xray/__init__.py +8 -8
  113. aws_cdk/cloud_assembly_schema/__init__.py +63 -4
  114. aws_cdk/cx_api/__init__.py +62 -4
  115. {aws_cdk_lib-2.176.0.dist-info → aws_cdk_lib-2.178.0.dist-info}/METADATA +3 -3
  116. {aws_cdk_lib-2.176.0.dist-info → aws_cdk_lib-2.178.0.dist-info}/RECORD +120 -118
  117. {aws_cdk_lib-2.176.0.dist-info → aws_cdk_lib-2.178.0.dist-info}/LICENSE +0 -0
  118. {aws_cdk_lib-2.176.0.dist-info → aws_cdk_lib-2.178.0.dist-info}/NOTICE +0 -0
  119. {aws_cdk_lib-2.176.0.dist-info → aws_cdk_lib-2.178.0.dist-info}/WHEEL +0 -0
  120. {aws_cdk_lib-2.176.0.dist-info → aws_cdk_lib-2.178.0.dist-info}/top_level.txt +0 -0
@@ -6748,6 +6748,15 @@ class CfnStateTemplate(
6748
6748
  '''
6749
6749
  return typing.cast(builtins.str, jsii.get(self, "attrCreationTime"))
6750
6750
 
6751
+ @builtins.property
6752
+ @jsii.member(jsii_name="attrId")
6753
+ def attr_id(self) -> builtins.str:
6754
+ '''The unique ID of the state template.
6755
+
6756
+ :cloudformationAttribute: Id
6757
+ '''
6758
+ return typing.cast(builtins.str, jsii.get(self, "attrId"))
6759
+
6751
6760
  @builtins.property
6752
6761
  @jsii.member(jsii_name="attrLastModificationTime")
6753
6762
  def attr_last_modification_time(self) -> builtins.str:
@@ -7055,6 +7064,8 @@ class CfnVehicle(
7055
7064
  # The values are placeholders you should change.
7056
7065
  from aws_cdk import aws_iotfleetwise as iotfleetwise
7057
7066
 
7067
+ # on_change: Any
7068
+
7058
7069
  cfn_vehicle = iotfleetwise.CfnVehicle(self, "MyCfnVehicle",
7059
7070
  decoder_manifest_arn="decoderManifestArn",
7060
7071
  model_manifest_arn="modelManifestArn",
@@ -7065,6 +7076,18 @@ class CfnVehicle(
7065
7076
  attributes={
7066
7077
  "attributes_key": "attributes"
7067
7078
  },
7079
+ state_templates=[iotfleetwise.CfnVehicle.StateTemplateAssociationProperty(
7080
+ identifier="identifier",
7081
+ state_template_update_strategy=iotfleetwise.CfnVehicle.StateTemplateUpdateStrategyProperty(
7082
+ on_change=on_change,
7083
+ periodic=iotfleetwise.CfnVehicle.PeriodicStateTemplateUpdateStrategyProperty(
7084
+ state_template_update_rate=iotfleetwise.CfnVehicle.TimePeriodProperty(
7085
+ unit="unit",
7086
+ value=123
7087
+ )
7088
+ )
7089
+ )
7090
+ )],
7068
7091
  tags=[CfnTag(
7069
7092
  key="key",
7070
7093
  value="value"
@@ -7081,7 +7104,8 @@ class CfnVehicle(
7081
7104
  model_manifest_arn: builtins.str,
7082
7105
  name: builtins.str,
7083
7106
  association_behavior: typing.Optional[builtins.str] = None,
7084
- attributes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
7107
+ attributes: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
7108
+ state_templates: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnVehicle.StateTemplateAssociationProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
7085
7109
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
7086
7110
  ) -> None:
7087
7111
  '''
@@ -7092,6 +7116,7 @@ class CfnVehicle(
7092
7116
  :param name: The unique ID of the vehicle.
7093
7117
  :param association_behavior: An option to create a new AWS IoT thing when creating a vehicle, or to validate an existing thing as a vehicle.
7094
7118
  :param attributes: Static information about a vehicle in a key-value pair. For example: ``"engine Type"`` : ``"v6"``
7119
+ :param state_templates: Associate state templates to track the state of the vehicle. State templates determine which signal updates the vehicle sends to the cloud.
7095
7120
  :param tags: Metadata which can be used to manage the vehicle.
7096
7121
  '''
7097
7122
  if __debug__:
@@ -7104,6 +7129,7 @@ class CfnVehicle(
7104
7129
  name=name,
7105
7130
  association_behavior=association_behavior,
7106
7131
  attributes=attributes,
7132
+ state_templates=state_templates,
7107
7133
  tags=tags,
7108
7134
  )
7109
7135
 
@@ -7233,20 +7259,38 @@ class CfnVehicle(
7233
7259
  @jsii.member(jsii_name="attributes")
7234
7260
  def attributes(
7235
7261
  self,
7236
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]]:
7262
+ ) -> typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]]:
7237
7263
  '''Static information about a vehicle in a key-value pair.'''
7238
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]], jsii.get(self, "attributes"))
7264
+ return typing.cast(typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]], jsii.get(self, "attributes"))
7239
7265
 
7240
7266
  @attributes.setter
7241
7267
  def attributes(
7242
7268
  self,
7243
- value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]],
7269
+ value: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]],
7244
7270
  ) -> None:
7245
7271
  if __debug__:
7246
7272
  type_hints = typing.get_type_hints(_typecheckingstub__58c16f565864833e1b877bedd4f136bed80dfb02ea2ee4627d0b77770775cf1c)
7247
7273
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
7248
7274
  jsii.set(self, "attributes", value) # pyright: ignore[reportArgumentType]
7249
7275
 
7276
+ @builtins.property
7277
+ @jsii.member(jsii_name="stateTemplates")
7278
+ def state_templates(
7279
+ self,
7280
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnVehicle.StateTemplateAssociationProperty"]]]]:
7281
+ '''Associate state templates to track the state of the vehicle.'''
7282
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnVehicle.StateTemplateAssociationProperty"]]]], jsii.get(self, "stateTemplates"))
7283
+
7284
+ @state_templates.setter
7285
+ def state_templates(
7286
+ self,
7287
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnVehicle.StateTemplateAssociationProperty"]]]],
7288
+ ) -> None:
7289
+ if __debug__:
7290
+ type_hints = typing.get_type_hints(_typecheckingstub__92c142edd55adbf21fcff6129d9010d853e2d127a9eab1465ddcc3ba243e83c9)
7291
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
7292
+ jsii.set(self, "stateTemplates", value) # pyright: ignore[reportArgumentType]
7293
+
7250
7294
  @builtins.property
7251
7295
  @jsii.member(jsii_name="tagsRaw")
7252
7296
  def tags_raw(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
@@ -7260,6 +7304,304 @@ class CfnVehicle(
7260
7304
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
7261
7305
  jsii.set(self, "tagsRaw", value) # pyright: ignore[reportArgumentType]
7262
7306
 
7307
+ @jsii.data_type(
7308
+ jsii_type="aws-cdk-lib.aws_iotfleetwise.CfnVehicle.PeriodicStateTemplateUpdateStrategyProperty",
7309
+ jsii_struct_bases=[],
7310
+ name_mapping={"state_template_update_rate": "stateTemplateUpdateRate"},
7311
+ )
7312
+ class PeriodicStateTemplateUpdateStrategyProperty:
7313
+ def __init__(
7314
+ self,
7315
+ *,
7316
+ state_template_update_rate: typing.Union[_IResolvable_da3f097b, typing.Union["CfnVehicle.TimePeriodProperty", typing.Dict[builtins.str, typing.Any]]],
7317
+ ) -> None:
7318
+ '''Vehicles associated with the state template will stream telemetry data during a specified time period.
7319
+
7320
+ :param state_template_update_rate:
7321
+
7322
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotfleetwise-vehicle-periodicstatetemplateupdatestrategy.html
7323
+ :exampleMetadata: fixture=_generated
7324
+
7325
+ Example::
7326
+
7327
+ # The code below shows an example of how to instantiate this type.
7328
+ # The values are placeholders you should change.
7329
+ from aws_cdk import aws_iotfleetwise as iotfleetwise
7330
+
7331
+ periodic_state_template_update_strategy_property = iotfleetwise.CfnVehicle.PeriodicStateTemplateUpdateStrategyProperty(
7332
+ state_template_update_rate=iotfleetwise.CfnVehicle.TimePeriodProperty(
7333
+ unit="unit",
7334
+ value=123
7335
+ )
7336
+ )
7337
+ '''
7338
+ if __debug__:
7339
+ type_hints = typing.get_type_hints(_typecheckingstub__0f546595e4326fd4826ce88cf8ecc692f82c23378b12bbcb4c299f501e209127)
7340
+ check_type(argname="argument state_template_update_rate", value=state_template_update_rate, expected_type=type_hints["state_template_update_rate"])
7341
+ self._values: typing.Dict[builtins.str, typing.Any] = {
7342
+ "state_template_update_rate": state_template_update_rate,
7343
+ }
7344
+
7345
+ @builtins.property
7346
+ def state_template_update_rate(
7347
+ self,
7348
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnVehicle.TimePeriodProperty"]:
7349
+ '''
7350
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotfleetwise-vehicle-periodicstatetemplateupdatestrategy.html#cfn-iotfleetwise-vehicle-periodicstatetemplateupdatestrategy-statetemplateupdaterate
7351
+ '''
7352
+ result = self._values.get("state_template_update_rate")
7353
+ assert result is not None, "Required property 'state_template_update_rate' is missing"
7354
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnVehicle.TimePeriodProperty"], result)
7355
+
7356
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
7357
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
7358
+
7359
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
7360
+ return not (rhs == self)
7361
+
7362
+ def __repr__(self) -> str:
7363
+ return "PeriodicStateTemplateUpdateStrategyProperty(%s)" % ", ".join(
7364
+ k + "=" + repr(v) for k, v in self._values.items()
7365
+ )
7366
+
7367
+ @jsii.data_type(
7368
+ jsii_type="aws-cdk-lib.aws_iotfleetwise.CfnVehicle.StateTemplateAssociationProperty",
7369
+ jsii_struct_bases=[],
7370
+ name_mapping={
7371
+ "identifier": "identifier",
7372
+ "state_template_update_strategy": "stateTemplateUpdateStrategy",
7373
+ },
7374
+ )
7375
+ class StateTemplateAssociationProperty:
7376
+ def __init__(
7377
+ self,
7378
+ *,
7379
+ identifier: builtins.str,
7380
+ state_template_update_strategy: typing.Union[_IResolvable_da3f097b, typing.Union["CfnVehicle.StateTemplateUpdateStrategyProperty", typing.Dict[builtins.str, typing.Any]]],
7381
+ ) -> None:
7382
+ '''The state template associated with a vehicle.
7383
+
7384
+ State templates contain state properties, which are signals that belong to a signal catalog that is synchronized between the AWS IoT FleetWise Edge and the AWS Cloud .
7385
+ .. epigraph::
7386
+
7387
+ Access to certain AWS IoT FleetWise features is currently gated. For more information, see `AWS Region and feature availability <https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html>`_ in the *AWS IoT FleetWise Developer Guide* .
7388
+
7389
+ :param identifier: The unique ID of the state template.
7390
+ :param state_template_update_strategy:
7391
+
7392
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotfleetwise-vehicle-statetemplateassociation.html
7393
+ :exampleMetadata: fixture=_generated
7394
+
7395
+ Example::
7396
+
7397
+ # The code below shows an example of how to instantiate this type.
7398
+ # The values are placeholders you should change.
7399
+ from aws_cdk import aws_iotfleetwise as iotfleetwise
7400
+
7401
+ # on_change: Any
7402
+
7403
+ state_template_association_property = iotfleetwise.CfnVehicle.StateTemplateAssociationProperty(
7404
+ identifier="identifier",
7405
+ state_template_update_strategy=iotfleetwise.CfnVehicle.StateTemplateUpdateStrategyProperty(
7406
+ on_change=on_change,
7407
+ periodic=iotfleetwise.CfnVehicle.PeriodicStateTemplateUpdateStrategyProperty(
7408
+ state_template_update_rate=iotfleetwise.CfnVehicle.TimePeriodProperty(
7409
+ unit="unit",
7410
+ value=123
7411
+ )
7412
+ )
7413
+ )
7414
+ )
7415
+ '''
7416
+ if __debug__:
7417
+ type_hints = typing.get_type_hints(_typecheckingstub__8c37e1e5efd6cbede6d8b9e7f47c1fb23b88690130e7a3e4fb1099a4a4013b90)
7418
+ check_type(argname="argument identifier", value=identifier, expected_type=type_hints["identifier"])
7419
+ check_type(argname="argument state_template_update_strategy", value=state_template_update_strategy, expected_type=type_hints["state_template_update_strategy"])
7420
+ self._values: typing.Dict[builtins.str, typing.Any] = {
7421
+ "identifier": identifier,
7422
+ "state_template_update_strategy": state_template_update_strategy,
7423
+ }
7424
+
7425
+ @builtins.property
7426
+ def identifier(self) -> builtins.str:
7427
+ '''The unique ID of the state template.
7428
+
7429
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotfleetwise-vehicle-statetemplateassociation.html#cfn-iotfleetwise-vehicle-statetemplateassociation-identifier
7430
+ '''
7431
+ result = self._values.get("identifier")
7432
+ assert result is not None, "Required property 'identifier' is missing"
7433
+ return typing.cast(builtins.str, result)
7434
+
7435
+ @builtins.property
7436
+ def state_template_update_strategy(
7437
+ self,
7438
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnVehicle.StateTemplateUpdateStrategyProperty"]:
7439
+ '''
7440
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotfleetwise-vehicle-statetemplateassociation.html#cfn-iotfleetwise-vehicle-statetemplateassociation-statetemplateupdatestrategy
7441
+ '''
7442
+ result = self._values.get("state_template_update_strategy")
7443
+ assert result is not None, "Required property 'state_template_update_strategy' is missing"
7444
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnVehicle.StateTemplateUpdateStrategyProperty"], result)
7445
+
7446
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
7447
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
7448
+
7449
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
7450
+ return not (rhs == self)
7451
+
7452
+ def __repr__(self) -> str:
7453
+ return "StateTemplateAssociationProperty(%s)" % ", ".join(
7454
+ k + "=" + repr(v) for k, v in self._values.items()
7455
+ )
7456
+
7457
+ @jsii.data_type(
7458
+ jsii_type="aws-cdk-lib.aws_iotfleetwise.CfnVehicle.StateTemplateUpdateStrategyProperty",
7459
+ jsii_struct_bases=[],
7460
+ name_mapping={"on_change": "onChange", "periodic": "periodic"},
7461
+ )
7462
+ class StateTemplateUpdateStrategyProperty:
7463
+ def __init__(
7464
+ self,
7465
+ *,
7466
+ on_change: typing.Any = None,
7467
+ periodic: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnVehicle.PeriodicStateTemplateUpdateStrategyProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
7468
+ ) -> None:
7469
+ '''The update strategy for the state template.
7470
+
7471
+ Vehicles associated with the state template can stream telemetry data with either an ``onChange`` or ``periodic`` update strategy.
7472
+ .. epigraph::
7473
+
7474
+ Access to certain AWS IoT FleetWise features is currently gated. For more information, see `AWS Region and feature availability <https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html>`_ in the *AWS IoT FleetWise Developer Guide* .
7475
+
7476
+ :param on_change:
7477
+ :param periodic:
7478
+
7479
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotfleetwise-vehicle-statetemplateupdatestrategy.html
7480
+ :exampleMetadata: fixture=_generated
7481
+
7482
+ Example::
7483
+
7484
+ # The code below shows an example of how to instantiate this type.
7485
+ # The values are placeholders you should change.
7486
+ from aws_cdk import aws_iotfleetwise as iotfleetwise
7487
+
7488
+ # on_change: Any
7489
+
7490
+ state_template_update_strategy_property = iotfleetwise.CfnVehicle.StateTemplateUpdateStrategyProperty(
7491
+ on_change=on_change,
7492
+ periodic=iotfleetwise.CfnVehicle.PeriodicStateTemplateUpdateStrategyProperty(
7493
+ state_template_update_rate=iotfleetwise.CfnVehicle.TimePeriodProperty(
7494
+ unit="unit",
7495
+ value=123
7496
+ )
7497
+ )
7498
+ )
7499
+ '''
7500
+ if __debug__:
7501
+ type_hints = typing.get_type_hints(_typecheckingstub__c5ba42710b4d59f98cd05d01967a0a0aa20e120e6b8c3c84b42d3119efe7d902)
7502
+ check_type(argname="argument on_change", value=on_change, expected_type=type_hints["on_change"])
7503
+ check_type(argname="argument periodic", value=periodic, expected_type=type_hints["periodic"])
7504
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
7505
+ if on_change is not None:
7506
+ self._values["on_change"] = on_change
7507
+ if periodic is not None:
7508
+ self._values["periodic"] = periodic
7509
+
7510
+ @builtins.property
7511
+ def on_change(self) -> typing.Any:
7512
+ '''
7513
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotfleetwise-vehicle-statetemplateupdatestrategy.html#cfn-iotfleetwise-vehicle-statetemplateupdatestrategy-onchange
7514
+ '''
7515
+ result = self._values.get("on_change")
7516
+ return typing.cast(typing.Any, result)
7517
+
7518
+ @builtins.property
7519
+ def periodic(
7520
+ self,
7521
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnVehicle.PeriodicStateTemplateUpdateStrategyProperty"]]:
7522
+ '''
7523
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotfleetwise-vehicle-statetemplateupdatestrategy.html#cfn-iotfleetwise-vehicle-statetemplateupdatestrategy-periodic
7524
+ '''
7525
+ result = self._values.get("periodic")
7526
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnVehicle.PeriodicStateTemplateUpdateStrategyProperty"]], result)
7527
+
7528
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
7529
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
7530
+
7531
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
7532
+ return not (rhs == self)
7533
+
7534
+ def __repr__(self) -> str:
7535
+ return "StateTemplateUpdateStrategyProperty(%s)" % ", ".join(
7536
+ k + "=" + repr(v) for k, v in self._values.items()
7537
+ )
7538
+
7539
+ @jsii.data_type(
7540
+ jsii_type="aws-cdk-lib.aws_iotfleetwise.CfnVehicle.TimePeriodProperty",
7541
+ jsii_struct_bases=[],
7542
+ name_mapping={"unit": "unit", "value": "value"},
7543
+ )
7544
+ class TimePeriodProperty:
7545
+ def __init__(self, *, unit: builtins.str, value: jsii.Number) -> None:
7546
+ '''The length of time between state template updates.
7547
+
7548
+ :param unit: A unit of time.
7549
+ :param value: A number of time units.
7550
+
7551
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotfleetwise-vehicle-timeperiod.html
7552
+ :exampleMetadata: fixture=_generated
7553
+
7554
+ Example::
7555
+
7556
+ # The code below shows an example of how to instantiate this type.
7557
+ # The values are placeholders you should change.
7558
+ from aws_cdk import aws_iotfleetwise as iotfleetwise
7559
+
7560
+ time_period_property = iotfleetwise.CfnVehicle.TimePeriodProperty(
7561
+ unit="unit",
7562
+ value=123
7563
+ )
7564
+ '''
7565
+ if __debug__:
7566
+ type_hints = typing.get_type_hints(_typecheckingstub__9b611088881b0facef1ec2b4be3ae8a9434e0cbd3be7d744ebbf90a96b88ae72)
7567
+ check_type(argname="argument unit", value=unit, expected_type=type_hints["unit"])
7568
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
7569
+ self._values: typing.Dict[builtins.str, typing.Any] = {
7570
+ "unit": unit,
7571
+ "value": value,
7572
+ }
7573
+
7574
+ @builtins.property
7575
+ def unit(self) -> builtins.str:
7576
+ '''A unit of time.
7577
+
7578
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotfleetwise-vehicle-timeperiod.html#cfn-iotfleetwise-vehicle-timeperiod-unit
7579
+ '''
7580
+ result = self._values.get("unit")
7581
+ assert result is not None, "Required property 'unit' is missing"
7582
+ return typing.cast(builtins.str, result)
7583
+
7584
+ @builtins.property
7585
+ def value(self) -> jsii.Number:
7586
+ '''A number of time units.
7587
+
7588
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotfleetwise-vehicle-timeperiod.html#cfn-iotfleetwise-vehicle-timeperiod-value
7589
+ '''
7590
+ result = self._values.get("value")
7591
+ assert result is not None, "Required property 'value' is missing"
7592
+ return typing.cast(jsii.Number, result)
7593
+
7594
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
7595
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
7596
+
7597
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
7598
+ return not (rhs == self)
7599
+
7600
+ def __repr__(self) -> str:
7601
+ return "TimePeriodProperty(%s)" % ", ".join(
7602
+ k + "=" + repr(v) for k, v in self._values.items()
7603
+ )
7604
+
7263
7605
 
7264
7606
  @jsii.data_type(
7265
7607
  jsii_type="aws-cdk-lib.aws_iotfleetwise.CfnVehicleProps",
@@ -7270,6 +7612,7 @@ class CfnVehicle(
7270
7612
  "name": "name",
7271
7613
  "association_behavior": "associationBehavior",
7272
7614
  "attributes": "attributes",
7615
+ "state_templates": "stateTemplates",
7273
7616
  "tags": "tags",
7274
7617
  },
7275
7618
  )
@@ -7281,7 +7624,8 @@ class CfnVehicleProps:
7281
7624
  model_manifest_arn: builtins.str,
7282
7625
  name: builtins.str,
7283
7626
  association_behavior: typing.Optional[builtins.str] = None,
7284
- attributes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
7627
+ attributes: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
7628
+ state_templates: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnVehicle.StateTemplateAssociationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
7285
7629
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
7286
7630
  ) -> None:
7287
7631
  '''Properties for defining a ``CfnVehicle``.
@@ -7291,6 +7635,7 @@ class CfnVehicleProps:
7291
7635
  :param name: The unique ID of the vehicle.
7292
7636
  :param association_behavior: An option to create a new AWS IoT thing when creating a vehicle, or to validate an existing thing as a vehicle.
7293
7637
  :param attributes: Static information about a vehicle in a key-value pair. For example: ``"engine Type"`` : ``"v6"``
7638
+ :param state_templates: Associate state templates to track the state of the vehicle. State templates determine which signal updates the vehicle sends to the cloud.
7294
7639
  :param tags: Metadata which can be used to manage the vehicle.
7295
7640
 
7296
7641
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-vehicle.html
@@ -7302,6 +7647,8 @@ class CfnVehicleProps:
7302
7647
  # The values are placeholders you should change.
7303
7648
  from aws_cdk import aws_iotfleetwise as iotfleetwise
7304
7649
 
7650
+ # on_change: Any
7651
+
7305
7652
  cfn_vehicle_props = iotfleetwise.CfnVehicleProps(
7306
7653
  decoder_manifest_arn="decoderManifestArn",
7307
7654
  model_manifest_arn="modelManifestArn",
@@ -7312,6 +7659,18 @@ class CfnVehicleProps:
7312
7659
  attributes={
7313
7660
  "attributes_key": "attributes"
7314
7661
  },
7662
+ state_templates=[iotfleetwise.CfnVehicle.StateTemplateAssociationProperty(
7663
+ identifier="identifier",
7664
+ state_template_update_strategy=iotfleetwise.CfnVehicle.StateTemplateUpdateStrategyProperty(
7665
+ on_change=on_change,
7666
+ periodic=iotfleetwise.CfnVehicle.PeriodicStateTemplateUpdateStrategyProperty(
7667
+ state_template_update_rate=iotfleetwise.CfnVehicle.TimePeriodProperty(
7668
+ unit="unit",
7669
+ value=123
7670
+ )
7671
+ )
7672
+ )
7673
+ )],
7315
7674
  tags=[CfnTag(
7316
7675
  key="key",
7317
7676
  value="value"
@@ -7325,6 +7684,7 @@ class CfnVehicleProps:
7325
7684
  check_type(argname="argument name", value=name, expected_type=type_hints["name"])
7326
7685
  check_type(argname="argument association_behavior", value=association_behavior, expected_type=type_hints["association_behavior"])
7327
7686
  check_type(argname="argument attributes", value=attributes, expected_type=type_hints["attributes"])
7687
+ check_type(argname="argument state_templates", value=state_templates, expected_type=type_hints["state_templates"])
7328
7688
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
7329
7689
  self._values: typing.Dict[builtins.str, typing.Any] = {
7330
7690
  "decoder_manifest_arn": decoder_manifest_arn,
@@ -7335,6 +7695,8 @@ class CfnVehicleProps:
7335
7695
  self._values["association_behavior"] = association_behavior
7336
7696
  if attributes is not None:
7337
7697
  self._values["attributes"] = attributes
7698
+ if state_templates is not None:
7699
+ self._values["state_templates"] = state_templates
7338
7700
  if tags is not None:
7339
7701
  self._values["tags"] = tags
7340
7702
 
@@ -7380,7 +7742,7 @@ class CfnVehicleProps:
7380
7742
  @builtins.property
7381
7743
  def attributes(
7382
7744
  self,
7383
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]]:
7745
+ ) -> typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]]:
7384
7746
  '''Static information about a vehicle in a key-value pair.
7385
7747
 
7386
7748
  For example: ``"engine Type"`` : ``"v6"``
@@ -7388,7 +7750,20 @@ class CfnVehicleProps:
7388
7750
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-vehicle.html#cfn-iotfleetwise-vehicle-attributes
7389
7751
  '''
7390
7752
  result = self._values.get("attributes")
7391
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]], result)
7753
+ return typing.cast(typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]], result)
7754
+
7755
+ @builtins.property
7756
+ def state_templates(
7757
+ self,
7758
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnVehicle.StateTemplateAssociationProperty]]]]:
7759
+ '''Associate state templates to track the state of the vehicle.
7760
+
7761
+ State templates determine which signal updates the vehicle sends to the cloud.
7762
+
7763
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-vehicle.html#cfn-iotfleetwise-vehicle-statetemplates
7764
+ '''
7765
+ result = self._values.get("state_templates")
7766
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnVehicle.StateTemplateAssociationProperty]]]], result)
7392
7767
 
7393
7768
  @builtins.property
7394
7769
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
@@ -8312,7 +8687,8 @@ def _typecheckingstub__c7269c48709f71a558e1053c22bd1ef391024711944714eff09133981
8312
8687
  model_manifest_arn: builtins.str,
8313
8688
  name: builtins.str,
8314
8689
  association_behavior: typing.Optional[builtins.str] = None,
8315
- attributes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
8690
+ attributes: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
8691
+ state_templates: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnVehicle.StateTemplateAssociationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
8316
8692
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
8317
8693
  ) -> None:
8318
8694
  """Type checking stubs"""
@@ -8355,7 +8731,13 @@ def _typecheckingstub__58744563e98ef419016bcbd09088b8ed734d062980dbe0b3fa2e4ff0f
8355
8731
  pass
8356
8732
 
8357
8733
  def _typecheckingstub__58c16f565864833e1b877bedd4f136bed80dfb02ea2ee4627d0b77770775cf1c(
8358
- value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]],
8734
+ value: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]],
8735
+ ) -> None:
8736
+ """Type checking stubs"""
8737
+ pass
8738
+
8739
+ def _typecheckingstub__92c142edd55adbf21fcff6129d9010d853e2d127a9eab1465ddcc3ba243e83c9(
8740
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnVehicle.StateTemplateAssociationProperty]]]],
8359
8741
  ) -> None:
8360
8742
  """Type checking stubs"""
8361
8743
  pass
@@ -8366,13 +8748,45 @@ def _typecheckingstub__289b2e31ff1b98481910d4cc38b6e283cbc14d5b0abe0266ffe3aff2d
8366
8748
  """Type checking stubs"""
8367
8749
  pass
8368
8750
 
8751
+ def _typecheckingstub__0f546595e4326fd4826ce88cf8ecc692f82c23378b12bbcb4c299f501e209127(
8752
+ *,
8753
+ state_template_update_rate: typing.Union[_IResolvable_da3f097b, typing.Union[CfnVehicle.TimePeriodProperty, typing.Dict[builtins.str, typing.Any]]],
8754
+ ) -> None:
8755
+ """Type checking stubs"""
8756
+ pass
8757
+
8758
+ def _typecheckingstub__8c37e1e5efd6cbede6d8b9e7f47c1fb23b88690130e7a3e4fb1099a4a4013b90(
8759
+ *,
8760
+ identifier: builtins.str,
8761
+ state_template_update_strategy: typing.Union[_IResolvable_da3f097b, typing.Union[CfnVehicle.StateTemplateUpdateStrategyProperty, typing.Dict[builtins.str, typing.Any]]],
8762
+ ) -> None:
8763
+ """Type checking stubs"""
8764
+ pass
8765
+
8766
+ def _typecheckingstub__c5ba42710b4d59f98cd05d01967a0a0aa20e120e6b8c3c84b42d3119efe7d902(
8767
+ *,
8768
+ on_change: typing.Any = None,
8769
+ periodic: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnVehicle.PeriodicStateTemplateUpdateStrategyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
8770
+ ) -> None:
8771
+ """Type checking stubs"""
8772
+ pass
8773
+
8774
+ def _typecheckingstub__9b611088881b0facef1ec2b4be3ae8a9434e0cbd3be7d744ebbf90a96b88ae72(
8775
+ *,
8776
+ unit: builtins.str,
8777
+ value: jsii.Number,
8778
+ ) -> None:
8779
+ """Type checking stubs"""
8780
+ pass
8781
+
8369
8782
  def _typecheckingstub__24066091b85e61810110bf13ed6c1606f4b16a2637a0ea85ffb516d58b89a826(
8370
8783
  *,
8371
8784
  decoder_manifest_arn: builtins.str,
8372
8785
  model_manifest_arn: builtins.str,
8373
8786
  name: builtins.str,
8374
8787
  association_behavior: typing.Optional[builtins.str] = None,
8375
- attributes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
8788
+ attributes: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
8789
+ state_templates: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnVehicle.StateTemplateAssociationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
8376
8790
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
8377
8791
  ) -> None:
8378
8792
  """Type checking stubs"""