aws-cdk-lib 2.182.0__py3-none-any.whl → 2.184.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 (49) 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.184.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_cloudfront/experimental/__init__.py +2 -2
  9. aws_cdk/aws_cloudtrail/__init__.py +4 -4
  10. aws_cdk/aws_codebuild/__init__.py +4 -10
  11. aws_cdk/aws_cognito/__init__.py +3 -3
  12. aws_cdk/aws_dms/__init__.py +350 -0
  13. aws_cdk/aws_ec2/__init__.py +63 -5
  14. aws_cdk/aws_elasticache/__init__.py +3 -3
  15. aws_cdk/aws_emr/__init__.py +9 -3
  16. aws_cdk/aws_events/__init__.py +3 -1
  17. aws_cdk/aws_events_targets/__init__.py +31 -7
  18. aws_cdk/aws_gameliftstreams/__init__.py +1205 -0
  19. aws_cdk/aws_iam/__init__.py +290 -35
  20. aws_cdk/aws_inspector/__init__.py +13 -10
  21. aws_cdk/aws_iot/__init__.py +616 -22
  22. aws_cdk/aws_iotfleetwise/__init__.py +72 -10
  23. aws_cdk/aws_iotsitewise/__init__.py +12 -8
  24. aws_cdk/aws_kafkaconnect/__init__.py +4 -2
  25. aws_cdk/aws_kinesisfirehose/__init__.py +45 -51
  26. aws_cdk/aws_lambda/__init__.py +27 -18
  27. aws_cdk/aws_lambda_event_sources/__init__.py +14 -14
  28. aws_cdk/aws_logs/__init__.py +133 -0
  29. aws_cdk/aws_medialive/__init__.py +86 -86
  30. aws_cdk/aws_msk/__init__.py +236 -128
  31. aws_cdk/aws_neptunegraph/__init__.py +3 -3
  32. aws_cdk/aws_opensearchserverless/__init__.py +1031 -0
  33. aws_cdk/aws_quicksight/__init__.py +6511 -20331
  34. aws_cdk/aws_rds/__init__.py +264 -32
  35. aws_cdk/aws_redshift/__init__.py +8 -8
  36. aws_cdk/aws_sagemaker/__init__.py +12 -5
  37. aws_cdk/aws_securitylake/__init__.py +3 -0
  38. aws_cdk/aws_synthetics/__init__.py +2 -0
  39. aws_cdk/aws_transfer/__init__.py +241 -40
  40. aws_cdk/aws_wafv2/__init__.py +118 -30
  41. aws_cdk/aws_xray/__init__.py +195 -0
  42. aws_cdk/cloud_assembly_schema/__init__.py +2 -2
  43. aws_cdk/custom_resources/__init__.py +65 -8
  44. {aws_cdk_lib-2.182.0.dist-info → aws_cdk_lib-2.184.0.dist-info}/METADATA +5 -6
  45. {aws_cdk_lib-2.182.0.dist-info → aws_cdk_lib-2.184.0.dist-info}/RECORD +49 -48
  46. {aws_cdk_lib-2.182.0.dist-info → aws_cdk_lib-2.184.0.dist-info}/LICENSE +0 -0
  47. {aws_cdk_lib-2.182.0.dist-info → aws_cdk_lib-2.184.0.dist-info}/NOTICE +0 -0
  48. {aws_cdk_lib-2.182.0.dist-info → aws_cdk_lib-2.184.0.dist-info}/WHEEL +0 -0
  49. {aws_cdk_lib-2.182.0.dist-info → aws_cdk_lib-2.184.0.dist-info}/top_level.txt +0 -0
@@ -110,6 +110,12 @@ class CfnAccountAuditConfiguration(
110
110
  conflicting_client_ids_check=iot.CfnAccountAuditConfiguration.AuditCheckConfigurationProperty(
111
111
  enabled=False
112
112
  ),
113
+ device_certificate_age_check=iot.CfnAccountAuditConfiguration.DeviceCertAgeAuditCheckConfigurationProperty(
114
+ configuration=iot.CfnAccountAuditConfiguration.CertAgeCheckCustomConfigurationProperty(
115
+ cert_age_threshold_in_days="certAgeThresholdInDays"
116
+ ),
117
+ enabled=False
118
+ ),
113
119
  device_certificate_expiring_check=iot.CfnAccountAuditConfiguration.AuditCheckConfigurationProperty(
114
120
  enabled=False
115
121
  ),
@@ -353,6 +359,7 @@ class CfnAccountAuditConfiguration(
353
359
  "ca_certificate_expiring_check": "caCertificateExpiringCheck",
354
360
  "ca_certificate_key_quality_check": "caCertificateKeyQualityCheck",
355
361
  "conflicting_client_ids_check": "conflictingClientIdsCheck",
362
+ "device_certificate_age_check": "deviceCertificateAgeCheck",
356
363
  "device_certificate_expiring_check": "deviceCertificateExpiringCheck",
357
364
  "device_certificate_key_quality_check": "deviceCertificateKeyQualityCheck",
358
365
  "device_certificate_shared_check": "deviceCertificateSharedCheck",
@@ -375,6 +382,7 @@ class CfnAccountAuditConfiguration(
375
382
  ca_certificate_expiring_check: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAccountAuditConfiguration.AuditCheckConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
376
383
  ca_certificate_key_quality_check: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAccountAuditConfiguration.AuditCheckConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
377
384
  conflicting_client_ids_check: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAccountAuditConfiguration.AuditCheckConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
385
+ device_certificate_age_check: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAccountAuditConfiguration.DeviceCertAgeAuditCheckConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
378
386
  device_certificate_expiring_check: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAccountAuditConfiguration.AuditCheckConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
379
387
  device_certificate_key_quality_check: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAccountAuditConfiguration.AuditCheckConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
380
388
  device_certificate_shared_check: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAccountAuditConfiguration.AuditCheckConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -394,7 +402,8 @@ class CfnAccountAuditConfiguration(
394
402
  :param ca_certificate_expiring_check: Checks if a CA certificate is expiring. This check applies to CA certificates expiring within 30 days or that have expired.
395
403
  :param ca_certificate_key_quality_check: Checks the quality of the CA certificate key. The quality checks if the key is in a valid format, not expired, and if the key meets a minimum required size. This check applies to CA certificates that are ``ACTIVE`` or ``PENDING_TRANSFER`` .
396
404
  :param conflicting_client_ids_check: Checks if multiple devices connect using the same client ID.
397
- :param device_certificate_expiring_check: Checks if a device certificate is expiring. This check applies to device certificates expiring within 30 days or that have expired.
405
+ :param device_certificate_age_check: Checks when a device certificate has been active for a number of days greater than or equal to the number you specify.
406
+ :param device_certificate_expiring_check: Checks if a device certificate is expiring. By default, this check applies to device certificates expiring within 30 days or that have expired. You can modify this threshold by configuring the DeviceCertExpirationAuditCheckConfiguration.
398
407
  :param device_certificate_key_quality_check: Checks the quality of the device certificate key. The quality checks if the key is in a valid format, not expired, signed by a registered certificate authority, and if the key meets a minimum required size.
399
408
  :param device_certificate_shared_check: Checks if multiple concurrent connections use the same X.509 certificate to authenticate with AWS IoT .
400
409
  :param intermediate_ca_revoked_for_active_device_certificates_check: Checks if device certificates are still active despite being revoked by an intermediate CA.
@@ -429,6 +438,12 @@ class CfnAccountAuditConfiguration(
429
438
  conflicting_client_ids_check=iot.CfnAccountAuditConfiguration.AuditCheckConfigurationProperty(
430
439
  enabled=False
431
440
  ),
441
+ device_certificate_age_check=iot.CfnAccountAuditConfiguration.DeviceCertAgeAuditCheckConfigurationProperty(
442
+ configuration=iot.CfnAccountAuditConfiguration.CertAgeCheckCustomConfigurationProperty(
443
+ cert_age_threshold_in_days="certAgeThresholdInDays"
444
+ ),
445
+ enabled=False
446
+ ),
432
447
  device_certificate_expiring_check=iot.CfnAccountAuditConfiguration.AuditCheckConfigurationProperty(
433
448
  enabled=False
434
449
  ),
@@ -473,6 +488,7 @@ class CfnAccountAuditConfiguration(
473
488
  check_type(argname="argument ca_certificate_expiring_check", value=ca_certificate_expiring_check, expected_type=type_hints["ca_certificate_expiring_check"])
474
489
  check_type(argname="argument ca_certificate_key_quality_check", value=ca_certificate_key_quality_check, expected_type=type_hints["ca_certificate_key_quality_check"])
475
490
  check_type(argname="argument conflicting_client_ids_check", value=conflicting_client_ids_check, expected_type=type_hints["conflicting_client_ids_check"])
491
+ check_type(argname="argument device_certificate_age_check", value=device_certificate_age_check, expected_type=type_hints["device_certificate_age_check"])
476
492
  check_type(argname="argument device_certificate_expiring_check", value=device_certificate_expiring_check, expected_type=type_hints["device_certificate_expiring_check"])
477
493
  check_type(argname="argument device_certificate_key_quality_check", value=device_certificate_key_quality_check, expected_type=type_hints["device_certificate_key_quality_check"])
478
494
  check_type(argname="argument device_certificate_shared_check", value=device_certificate_shared_check, expected_type=type_hints["device_certificate_shared_check"])
@@ -494,6 +510,8 @@ class CfnAccountAuditConfiguration(
494
510
  self._values["ca_certificate_key_quality_check"] = ca_certificate_key_quality_check
495
511
  if conflicting_client_ids_check is not None:
496
512
  self._values["conflicting_client_ids_check"] = conflicting_client_ids_check
513
+ if device_certificate_age_check is not None:
514
+ self._values["device_certificate_age_check"] = device_certificate_age_check
497
515
  if device_certificate_expiring_check is not None:
498
516
  self._values["device_certificate_expiring_check"] = device_certificate_expiring_check
499
517
  if device_certificate_key_quality_check is not None:
@@ -569,13 +587,24 @@ class CfnAccountAuditConfiguration(
569
587
  result = self._values.get("conflicting_client_ids_check")
570
588
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAccountAuditConfiguration.AuditCheckConfigurationProperty"]], result)
571
589
 
590
+ @builtins.property
591
+ def device_certificate_age_check(
592
+ self,
593
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAccountAuditConfiguration.DeviceCertAgeAuditCheckConfigurationProperty"]]:
594
+ '''Checks when a device certificate has been active for a number of days greater than or equal to the number you specify.
595
+
596
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-accountauditconfiguration-auditcheckconfigurations.html#cfn-iot-accountauditconfiguration-auditcheckconfigurations-devicecertificateagecheck
597
+ '''
598
+ result = self._values.get("device_certificate_age_check")
599
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAccountAuditConfiguration.DeviceCertAgeAuditCheckConfigurationProperty"]], result)
600
+
572
601
  @builtins.property
573
602
  def device_certificate_expiring_check(
574
603
  self,
575
604
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAccountAuditConfiguration.AuditCheckConfigurationProperty"]]:
576
605
  '''Checks if a device certificate is expiring.
577
606
 
578
- This check applies to device certificates expiring within 30 days or that have expired.
607
+ By default, this check applies to device certificates expiring within 30 days or that have expired. You can modify this threshold by configuring the DeviceCertExpirationAuditCheckConfiguration.
579
608
 
580
609
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-accountauditconfiguration-auditcheckconfigurations.html#cfn-iot-accountauditconfiguration-auditcheckconfigurations-devicecertificateexpiringcheck
581
610
  '''
@@ -870,6 +899,141 @@ class CfnAccountAuditConfiguration(
870
899
  k + "=" + repr(v) for k, v in self._values.items()
871
900
  )
872
901
 
902
+ @jsii.data_type(
903
+ jsii_type="aws-cdk-lib.aws_iot.CfnAccountAuditConfiguration.CertAgeCheckCustomConfigurationProperty",
904
+ jsii_struct_bases=[],
905
+ name_mapping={"cert_age_threshold_in_days": "certAgeThresholdInDays"},
906
+ )
907
+ class CertAgeCheckCustomConfigurationProperty:
908
+ def __init__(
909
+ self,
910
+ *,
911
+ cert_age_threshold_in_days: typing.Optional[builtins.str] = None,
912
+ ) -> None:
913
+ '''Configuration structure containing settings for the device certificate age check.
914
+
915
+ :param cert_age_threshold_in_days: The number of days that defines when a device certificate is considered to have aged. The check will report a finding if a certificate has been active for a number of days greater than or equal to this threshold value.
916
+
917
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-accountauditconfiguration-certagecheckcustomconfiguration.html
918
+ :exampleMetadata: fixture=_generated
919
+
920
+ Example::
921
+
922
+ # The code below shows an example of how to instantiate this type.
923
+ # The values are placeholders you should change.
924
+ from aws_cdk import aws_iot as iot
925
+
926
+ cert_age_check_custom_configuration_property = iot.CfnAccountAuditConfiguration.CertAgeCheckCustomConfigurationProperty(
927
+ cert_age_threshold_in_days="certAgeThresholdInDays"
928
+ )
929
+ '''
930
+ if __debug__:
931
+ type_hints = typing.get_type_hints(_typecheckingstub__cabc3d6f5cd1ee7c83f1afa8523cc42d1dc32a65f167fe42997c609e3e30b801)
932
+ check_type(argname="argument cert_age_threshold_in_days", value=cert_age_threshold_in_days, expected_type=type_hints["cert_age_threshold_in_days"])
933
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
934
+ if cert_age_threshold_in_days is not None:
935
+ self._values["cert_age_threshold_in_days"] = cert_age_threshold_in_days
936
+
937
+ @builtins.property
938
+ def cert_age_threshold_in_days(self) -> typing.Optional[builtins.str]:
939
+ '''The number of days that defines when a device certificate is considered to have aged.
940
+
941
+ The check will report a finding if a certificate has been active for a number of days greater than or equal to this threshold value.
942
+
943
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-accountauditconfiguration-certagecheckcustomconfiguration.html#cfn-iot-accountauditconfiguration-certagecheckcustomconfiguration-certagethresholdindays
944
+ '''
945
+ result = self._values.get("cert_age_threshold_in_days")
946
+ return typing.cast(typing.Optional[builtins.str], result)
947
+
948
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
949
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
950
+
951
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
952
+ return not (rhs == self)
953
+
954
+ def __repr__(self) -> str:
955
+ return "CertAgeCheckCustomConfigurationProperty(%s)" % ", ".join(
956
+ k + "=" + repr(v) for k, v in self._values.items()
957
+ )
958
+
959
+ @jsii.data_type(
960
+ jsii_type="aws-cdk-lib.aws_iot.CfnAccountAuditConfiguration.DeviceCertAgeAuditCheckConfigurationProperty",
961
+ jsii_struct_bases=[],
962
+ name_mapping={"configuration": "configuration", "enabled": "enabled"},
963
+ )
964
+ class DeviceCertAgeAuditCheckConfigurationProperty:
965
+ def __init__(
966
+ self,
967
+ *,
968
+ configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAccountAuditConfiguration.CertAgeCheckCustomConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
969
+ enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
970
+ ) -> None:
971
+ '''Configuration for the device certificate age audit check.
972
+
973
+ :param configuration: Configuration settings for the device certificate age check, including the threshold in days for certificate age. This configuration is of type ``CertAgeCheckCustomConfiguration`` .
974
+ :param enabled: True if this audit check is enabled for this account.
975
+
976
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-accountauditconfiguration-devicecertageauditcheckconfiguration.html
977
+ :exampleMetadata: fixture=_generated
978
+
979
+ Example::
980
+
981
+ # The code below shows an example of how to instantiate this type.
982
+ # The values are placeholders you should change.
983
+ from aws_cdk import aws_iot as iot
984
+
985
+ device_cert_age_audit_check_configuration_property = iot.CfnAccountAuditConfiguration.DeviceCertAgeAuditCheckConfigurationProperty(
986
+ configuration=iot.CfnAccountAuditConfiguration.CertAgeCheckCustomConfigurationProperty(
987
+ cert_age_threshold_in_days="certAgeThresholdInDays"
988
+ ),
989
+ enabled=False
990
+ )
991
+ '''
992
+ if __debug__:
993
+ type_hints = typing.get_type_hints(_typecheckingstub__18ab03de098b1b7a6716b4a376b5187d413526dd875bd88adeab4f6f35de828b)
994
+ check_type(argname="argument configuration", value=configuration, expected_type=type_hints["configuration"])
995
+ check_type(argname="argument enabled", value=enabled, expected_type=type_hints["enabled"])
996
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
997
+ if configuration is not None:
998
+ self._values["configuration"] = configuration
999
+ if enabled is not None:
1000
+ self._values["enabled"] = enabled
1001
+
1002
+ @builtins.property
1003
+ def configuration(
1004
+ self,
1005
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAccountAuditConfiguration.CertAgeCheckCustomConfigurationProperty"]]:
1006
+ '''Configuration settings for the device certificate age check, including the threshold in days for certificate age.
1007
+
1008
+ This configuration is of type ``CertAgeCheckCustomConfiguration`` .
1009
+
1010
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-accountauditconfiguration-devicecertageauditcheckconfiguration.html#cfn-iot-accountauditconfiguration-devicecertageauditcheckconfiguration-configuration
1011
+ '''
1012
+ result = self._values.get("configuration")
1013
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAccountAuditConfiguration.CertAgeCheckCustomConfigurationProperty"]], result)
1014
+
1015
+ @builtins.property
1016
+ def enabled(
1017
+ self,
1018
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
1019
+ '''True if this audit check is enabled for this account.
1020
+
1021
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-accountauditconfiguration-devicecertageauditcheckconfiguration.html#cfn-iot-accountauditconfiguration-devicecertageauditcheckconfiguration-enabled
1022
+ '''
1023
+ result = self._values.get("enabled")
1024
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
1025
+
1026
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1027
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1028
+
1029
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1030
+ return not (rhs == self)
1031
+
1032
+ def __repr__(self) -> str:
1033
+ return "DeviceCertAgeAuditCheckConfigurationProperty(%s)" % ", ".join(
1034
+ k + "=" + repr(v) for k, v in self._values.items()
1035
+ )
1036
+
873
1037
 
874
1038
  @jsii.data_type(
875
1039
  jsii_type="aws-cdk-lib.aws_iot.CfnAccountAuditConfigurationProps",
@@ -921,6 +1085,12 @@ class CfnAccountAuditConfigurationProps:
921
1085
  conflicting_client_ids_check=iot.CfnAccountAuditConfiguration.AuditCheckConfigurationProperty(
922
1086
  enabled=False
923
1087
  ),
1088
+ device_certificate_age_check=iot.CfnAccountAuditConfiguration.DeviceCertAgeAuditCheckConfigurationProperty(
1089
+ configuration=iot.CfnAccountAuditConfiguration.CertAgeCheckCustomConfigurationProperty(
1090
+ cert_age_threshold_in_days="certAgeThresholdInDays"
1091
+ ),
1092
+ enabled=False
1093
+ ),
924
1094
  device_certificate_expiring_check=iot.CfnAccountAuditConfiguration.AuditCheckConfigurationProperty(
925
1095
  enabled=False
926
1096
  ),
@@ -11986,9 +12156,9 @@ class CfnSoftwarePackage(
11986
12156
  '''
11987
12157
  :param scope: Scope in which this resource is defined.
11988
12158
  :param id: Construct identifier for this resource (unique in its scope).
11989
- :param description:
11990
- :param package_name:
11991
- :param tags: An array of key-value pairs to apply to this resource.
12159
+ :param description: A summary of the package being created. This can be used to outline the package's contents or purpose.
12160
+ :param package_name: The name of the new software package.
12161
+ :param tags: Metadata that can be used to manage the package.
11992
12162
  '''
11993
12163
  if __debug__:
11994
12164
  type_hints = typing.get_type_hints(_typecheckingstub__94c7c8e186e68cde7a8264af8ace7c73f6ac201c314e1535a6ab915b3eb8e233)
@@ -12053,6 +12223,7 @@ class CfnSoftwarePackage(
12053
12223
  @builtins.property
12054
12224
  @jsii.member(jsii_name="description")
12055
12225
  def description(self) -> typing.Optional[builtins.str]:
12226
+ '''A summary of the package being created.'''
12056
12227
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "description"))
12057
12228
 
12058
12229
  @description.setter
@@ -12065,6 +12236,7 @@ class CfnSoftwarePackage(
12065
12236
  @builtins.property
12066
12237
  @jsii.member(jsii_name="packageName")
12067
12238
  def package_name(self) -> typing.Optional[builtins.str]:
12239
+ '''The name of the new software package.'''
12068
12240
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "packageName"))
12069
12241
 
12070
12242
  @package_name.setter
@@ -12077,7 +12249,7 @@ class CfnSoftwarePackage(
12077
12249
  @builtins.property
12078
12250
  @jsii.member(jsii_name="tags")
12079
12251
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
12080
- '''An array of key-value pairs to apply to this resource.'''
12252
+ '''Metadata that can be used to manage the package.'''
12081
12253
  return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
12082
12254
 
12083
12255
  @tags.setter
@@ -12107,9 +12279,9 @@ class CfnSoftwarePackageProps:
12107
12279
  ) -> None:
12108
12280
  '''Properties for defining a ``CfnSoftwarePackage``.
12109
12281
 
12110
- :param description:
12111
- :param package_name:
12112
- :param tags: An array of key-value pairs to apply to this resource.
12282
+ :param description: A summary of the package being created. This can be used to outline the package's contents or purpose.
12283
+ :param package_name: The name of the new software package.
12284
+ :param tags: Metadata that can be used to manage the package.
12113
12285
 
12114
12286
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-softwarepackage.html
12115
12287
  :exampleMetadata: fixture=_generated
@@ -12144,7 +12316,10 @@ class CfnSoftwarePackageProps:
12144
12316
 
12145
12317
  @builtins.property
12146
12318
  def description(self) -> typing.Optional[builtins.str]:
12147
- '''
12319
+ '''A summary of the package being created.
12320
+
12321
+ This can be used to outline the package's contents or purpose.
12322
+
12148
12323
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-softwarepackage.html#cfn-iot-softwarepackage-description
12149
12324
  '''
12150
12325
  result = self._values.get("description")
@@ -12152,7 +12327,8 @@ class CfnSoftwarePackageProps:
12152
12327
 
12153
12328
  @builtins.property
12154
12329
  def package_name(self) -> typing.Optional[builtins.str]:
12155
- '''
12330
+ '''The name of the new software package.
12331
+
12156
12332
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-softwarepackage.html#cfn-iot-softwarepackage-packagename
12157
12333
  '''
12158
12334
  result = self._values.get("package_name")
@@ -12160,7 +12336,7 @@ class CfnSoftwarePackageProps:
12160
12336
 
12161
12337
  @builtins.property
12162
12338
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
12163
- '''An array of key-value pairs to apply to this resource.
12339
+ '''Metadata that can be used to manage the package.
12164
12340
 
12165
12341
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-softwarepackage.html#cfn-iot-softwarepackage-tags
12166
12342
  '''
@@ -12208,10 +12384,25 @@ class CfnSoftwarePackageVersion(
12208
12384
  package_name="packageName",
12209
12385
 
12210
12386
  # the properties below are optional
12387
+ artifact=iot.CfnSoftwarePackageVersion.PackageVersionArtifactProperty(
12388
+ s3_location=iot.CfnSoftwarePackageVersion.S3LocationProperty(
12389
+ bucket="bucket",
12390
+ key="key",
12391
+ version="version"
12392
+ )
12393
+ ),
12211
12394
  attributes={
12212
12395
  "attributes_key": "attributes"
12213
12396
  },
12214
12397
  description="description",
12398
+ recipe="recipe",
12399
+ sbom=iot.CfnSoftwarePackageVersion.SbomProperty(
12400
+ s3_location=iot.CfnSoftwarePackageVersion.S3LocationProperty(
12401
+ bucket="bucket",
12402
+ key="key",
12403
+ version="version"
12404
+ )
12405
+ ),
12215
12406
  tags=[CfnTag(
12216
12407
  key="key",
12217
12408
  value="value"
@@ -12226,8 +12417,11 @@ class CfnSoftwarePackageVersion(
12226
12417
  id: builtins.str,
12227
12418
  *,
12228
12419
  package_name: builtins.str,
12420
+ artifact: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnSoftwarePackageVersion.PackageVersionArtifactProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
12229
12421
  attributes: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
12230
12422
  description: typing.Optional[builtins.str] = None,
12423
+ recipe: typing.Optional[builtins.str] = None,
12424
+ sbom: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnSoftwarePackageVersion.SbomProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
12231
12425
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
12232
12426
  version_name: typing.Optional[builtins.str] = None,
12233
12427
  ) -> None:
@@ -12235,8 +12429,11 @@ class CfnSoftwarePackageVersion(
12235
12429
  :param scope: Scope in which this resource is defined.
12236
12430
  :param id: Construct identifier for this resource (unique in its scope).
12237
12431
  :param package_name: The name of the associated software package.
12432
+ :param artifact: The artifact location of the package version.
12238
12433
  :param attributes: Metadata that can be used to define a package version’s configuration. For example, the S3 file location, configuration options that are being sent to the device or fleet. The combined size of all the attributes on a package version is limited to 3KB.
12239
12434
  :param description: A summary of the package version being created. This can be used to outline the package's contents or purpose.
12435
+ :param recipe: The inline json job document associated with a software package version.
12436
+ :param sbom: The sbom zip archive location of the package version.
12240
12437
  :param tags: Metadata that can be used to manage the package version.
12241
12438
  :param version_name: The name of the new package version.
12242
12439
  '''
@@ -12246,8 +12443,11 @@ class CfnSoftwarePackageVersion(
12246
12443
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
12247
12444
  props = CfnSoftwarePackageVersionProps(
12248
12445
  package_name=package_name,
12446
+ artifact=artifact,
12249
12447
  attributes=attributes,
12250
12448
  description=description,
12449
+ recipe=recipe,
12450
+ sbom=sbom,
12251
12451
  tags=tags,
12252
12452
  version_name=version_name,
12253
12453
  )
@@ -12302,6 +12502,15 @@ class CfnSoftwarePackageVersion(
12302
12502
  '''
12303
12503
  return typing.cast(builtins.str, jsii.get(self, "attrPackageVersionArn"))
12304
12504
 
12505
+ @builtins.property
12506
+ @jsii.member(jsii_name="attrSbomValidationStatus")
12507
+ def attr_sbom_validation_status(self) -> builtins.str:
12508
+ '''The validation status of the Sbom file.
12509
+
12510
+ :cloudformationAttribute: SbomValidationStatus
12511
+ '''
12512
+ return typing.cast(builtins.str, jsii.get(self, "attrSbomValidationStatus"))
12513
+
12305
12514
  @builtins.property
12306
12515
  @jsii.member(jsii_name="attrStatus")
12307
12516
  def attr_status(self) -> builtins.str:
@@ -12337,6 +12546,24 @@ class CfnSoftwarePackageVersion(
12337
12546
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
12338
12547
  jsii.set(self, "packageName", value) # pyright: ignore[reportArgumentType]
12339
12548
 
12549
+ @builtins.property
12550
+ @jsii.member(jsii_name="artifact")
12551
+ def artifact(
12552
+ self,
12553
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnSoftwarePackageVersion.PackageVersionArtifactProperty"]]:
12554
+ '''The artifact location of the package version.'''
12555
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnSoftwarePackageVersion.PackageVersionArtifactProperty"]], jsii.get(self, "artifact"))
12556
+
12557
+ @artifact.setter
12558
+ def artifact(
12559
+ self,
12560
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnSoftwarePackageVersion.PackageVersionArtifactProperty"]],
12561
+ ) -> None:
12562
+ if __debug__:
12563
+ type_hints = typing.get_type_hints(_typecheckingstub__ef719379e4bacafe5187ab2d184d7a60bf91a7f1896d5e16d2e75da4e01bd477)
12564
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
12565
+ jsii.set(self, "artifact", value) # pyright: ignore[reportArgumentType]
12566
+
12340
12567
  @builtins.property
12341
12568
  @jsii.member(jsii_name="attributes")
12342
12569
  def attributes(
@@ -12368,6 +12595,37 @@ class CfnSoftwarePackageVersion(
12368
12595
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
12369
12596
  jsii.set(self, "description", value) # pyright: ignore[reportArgumentType]
12370
12597
 
12598
+ @builtins.property
12599
+ @jsii.member(jsii_name="recipe")
12600
+ def recipe(self) -> typing.Optional[builtins.str]:
12601
+ '''The inline json job document associated with a software package version.'''
12602
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "recipe"))
12603
+
12604
+ @recipe.setter
12605
+ def recipe(self, value: typing.Optional[builtins.str]) -> None:
12606
+ if __debug__:
12607
+ type_hints = typing.get_type_hints(_typecheckingstub__00b8752bfc3282147bcc39c0f8eb32d1f3932ed00856ada27dbdd11664d0a01e)
12608
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
12609
+ jsii.set(self, "recipe", value) # pyright: ignore[reportArgumentType]
12610
+
12611
+ @builtins.property
12612
+ @jsii.member(jsii_name="sbom")
12613
+ def sbom(
12614
+ self,
12615
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnSoftwarePackageVersion.SbomProperty"]]:
12616
+ '''The sbom zip archive location of the package version.'''
12617
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnSoftwarePackageVersion.SbomProperty"]], jsii.get(self, "sbom"))
12618
+
12619
+ @sbom.setter
12620
+ def sbom(
12621
+ self,
12622
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnSoftwarePackageVersion.SbomProperty"]],
12623
+ ) -> None:
12624
+ if __debug__:
12625
+ type_hints = typing.get_type_hints(_typecheckingstub__44a7d0587cdb74a05b35cdc5cf77914f5b62933c4554463c42d18928dc82b5db)
12626
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
12627
+ jsii.set(self, "sbom", value) # pyright: ignore[reportArgumentType]
12628
+
12371
12629
  @builtins.property
12372
12630
  @jsii.member(jsii_name="tags")
12373
12631
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
@@ -12394,14 +12652,227 @@ class CfnSoftwarePackageVersion(
12394
12652
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
12395
12653
  jsii.set(self, "versionName", value) # pyright: ignore[reportArgumentType]
12396
12654
 
12655
+ @jsii.data_type(
12656
+ jsii_type="aws-cdk-lib.aws_iot.CfnSoftwarePackageVersion.PackageVersionArtifactProperty",
12657
+ jsii_struct_bases=[],
12658
+ name_mapping={"s3_location": "s3Location"},
12659
+ )
12660
+ class PackageVersionArtifactProperty:
12661
+ def __init__(
12662
+ self,
12663
+ *,
12664
+ s3_location: typing.Union[_IResolvable_da3f097b, typing.Union["CfnSoftwarePackageVersion.S3LocationProperty", typing.Dict[builtins.str, typing.Any]]],
12665
+ ) -> None:
12666
+ '''The artifact location of the package version.
12667
+
12668
+ :param s3_location: The Amazon S3 location.
12669
+
12670
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-softwarepackageversion-packageversionartifact.html
12671
+ :exampleMetadata: fixture=_generated
12672
+
12673
+ Example::
12674
+
12675
+ # The code below shows an example of how to instantiate this type.
12676
+ # The values are placeholders you should change.
12677
+ from aws_cdk import aws_iot as iot
12678
+
12679
+ package_version_artifact_property = iot.CfnSoftwarePackageVersion.PackageVersionArtifactProperty(
12680
+ s3_location=iot.CfnSoftwarePackageVersion.S3LocationProperty(
12681
+ bucket="bucket",
12682
+ key="key",
12683
+ version="version"
12684
+ )
12685
+ )
12686
+ '''
12687
+ if __debug__:
12688
+ type_hints = typing.get_type_hints(_typecheckingstub__52d7a3803ce2f56ae1977b7ee885a262b6ed661f681408202ea83ce1d4126264)
12689
+ check_type(argname="argument s3_location", value=s3_location, expected_type=type_hints["s3_location"])
12690
+ self._values: typing.Dict[builtins.str, typing.Any] = {
12691
+ "s3_location": s3_location,
12692
+ }
12693
+
12694
+ @builtins.property
12695
+ def s3_location(
12696
+ self,
12697
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnSoftwarePackageVersion.S3LocationProperty"]:
12698
+ '''The Amazon S3 location.
12699
+
12700
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-softwarepackageversion-packageversionartifact.html#cfn-iot-softwarepackageversion-packageversionartifact-s3location
12701
+ '''
12702
+ result = self._values.get("s3_location")
12703
+ assert result is not None, "Required property 's3_location' is missing"
12704
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnSoftwarePackageVersion.S3LocationProperty"], result)
12705
+
12706
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
12707
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
12708
+
12709
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
12710
+ return not (rhs == self)
12711
+
12712
+ def __repr__(self) -> str:
12713
+ return "PackageVersionArtifactProperty(%s)" % ", ".join(
12714
+ k + "=" + repr(v) for k, v in self._values.items()
12715
+ )
12716
+
12717
+ @jsii.data_type(
12718
+ jsii_type="aws-cdk-lib.aws_iot.CfnSoftwarePackageVersion.S3LocationProperty",
12719
+ jsii_struct_bases=[],
12720
+ name_mapping={"bucket": "bucket", "key": "key", "version": "version"},
12721
+ )
12722
+ class S3LocationProperty:
12723
+ def __init__(
12724
+ self,
12725
+ *,
12726
+ bucket: builtins.str,
12727
+ key: builtins.str,
12728
+ version: builtins.str,
12729
+ ) -> None:
12730
+ '''The Amazon S3 location.
12731
+
12732
+ :param bucket: The S3 bucket.
12733
+ :param key: The S3 key.
12734
+ :param version: The S3 version.
12735
+
12736
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-softwarepackageversion-s3location.html
12737
+ :exampleMetadata: fixture=_generated
12738
+
12739
+ Example::
12740
+
12741
+ # The code below shows an example of how to instantiate this type.
12742
+ # The values are placeholders you should change.
12743
+ from aws_cdk import aws_iot as iot
12744
+
12745
+ s3_location_property = iot.CfnSoftwarePackageVersion.S3LocationProperty(
12746
+ bucket="bucket",
12747
+ key="key",
12748
+ version="version"
12749
+ )
12750
+ '''
12751
+ if __debug__:
12752
+ type_hints = typing.get_type_hints(_typecheckingstub__c526545becdc09015b2550f550ff021354d46170016741ed6b2dba0acbc8ac9a)
12753
+ check_type(argname="argument bucket", value=bucket, expected_type=type_hints["bucket"])
12754
+ check_type(argname="argument key", value=key, expected_type=type_hints["key"])
12755
+ check_type(argname="argument version", value=version, expected_type=type_hints["version"])
12756
+ self._values: typing.Dict[builtins.str, typing.Any] = {
12757
+ "bucket": bucket,
12758
+ "key": key,
12759
+ "version": version,
12760
+ }
12761
+
12762
+ @builtins.property
12763
+ def bucket(self) -> builtins.str:
12764
+ '''The S3 bucket.
12765
+
12766
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-softwarepackageversion-s3location.html#cfn-iot-softwarepackageversion-s3location-bucket
12767
+ '''
12768
+ result = self._values.get("bucket")
12769
+ assert result is not None, "Required property 'bucket' is missing"
12770
+ return typing.cast(builtins.str, result)
12771
+
12772
+ @builtins.property
12773
+ def key(self) -> builtins.str:
12774
+ '''The S3 key.
12775
+
12776
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-softwarepackageversion-s3location.html#cfn-iot-softwarepackageversion-s3location-key
12777
+ '''
12778
+ result = self._values.get("key")
12779
+ assert result is not None, "Required property 'key' is missing"
12780
+ return typing.cast(builtins.str, result)
12781
+
12782
+ @builtins.property
12783
+ def version(self) -> builtins.str:
12784
+ '''The S3 version.
12785
+
12786
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-softwarepackageversion-s3location.html#cfn-iot-softwarepackageversion-s3location-version
12787
+ '''
12788
+ result = self._values.get("version")
12789
+ assert result is not None, "Required property 'version' is missing"
12790
+ return typing.cast(builtins.str, result)
12791
+
12792
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
12793
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
12794
+
12795
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
12796
+ return not (rhs == self)
12797
+
12798
+ def __repr__(self) -> str:
12799
+ return "S3LocationProperty(%s)" % ", ".join(
12800
+ k + "=" + repr(v) for k, v in self._values.items()
12801
+ )
12802
+
12803
+ @jsii.data_type(
12804
+ jsii_type="aws-cdk-lib.aws_iot.CfnSoftwarePackageVersion.SbomProperty",
12805
+ jsii_struct_bases=[],
12806
+ name_mapping={"s3_location": "s3Location"},
12807
+ )
12808
+ class SbomProperty:
12809
+ def __init__(
12810
+ self,
12811
+ *,
12812
+ s3_location: typing.Union[_IResolvable_da3f097b, typing.Union["CfnSoftwarePackageVersion.S3LocationProperty", typing.Dict[builtins.str, typing.Any]]],
12813
+ ) -> None:
12814
+ '''The sbom zip archive location of the package version.
12815
+
12816
+ :param s3_location: The Amazon S3 location.
12817
+
12818
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-softwarepackageversion-sbom.html
12819
+ :exampleMetadata: fixture=_generated
12820
+
12821
+ Example::
12822
+
12823
+ # The code below shows an example of how to instantiate this type.
12824
+ # The values are placeholders you should change.
12825
+ from aws_cdk import aws_iot as iot
12826
+
12827
+ sbom_property = iot.CfnSoftwarePackageVersion.SbomProperty(
12828
+ s3_location=iot.CfnSoftwarePackageVersion.S3LocationProperty(
12829
+ bucket="bucket",
12830
+ key="key",
12831
+ version="version"
12832
+ )
12833
+ )
12834
+ '''
12835
+ if __debug__:
12836
+ type_hints = typing.get_type_hints(_typecheckingstub__4805184390da2efb550b69bb1cd02ffc973608d20c4f6bf6be43c42215ca74f7)
12837
+ check_type(argname="argument s3_location", value=s3_location, expected_type=type_hints["s3_location"])
12838
+ self._values: typing.Dict[builtins.str, typing.Any] = {
12839
+ "s3_location": s3_location,
12840
+ }
12841
+
12842
+ @builtins.property
12843
+ def s3_location(
12844
+ self,
12845
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnSoftwarePackageVersion.S3LocationProperty"]:
12846
+ '''The Amazon S3 location.
12847
+
12848
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-softwarepackageversion-sbom.html#cfn-iot-softwarepackageversion-sbom-s3location
12849
+ '''
12850
+ result = self._values.get("s3_location")
12851
+ assert result is not None, "Required property 's3_location' is missing"
12852
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnSoftwarePackageVersion.S3LocationProperty"], result)
12853
+
12854
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
12855
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
12856
+
12857
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
12858
+ return not (rhs == self)
12859
+
12860
+ def __repr__(self) -> str:
12861
+ return "SbomProperty(%s)" % ", ".join(
12862
+ k + "=" + repr(v) for k, v in self._values.items()
12863
+ )
12864
+
12397
12865
 
12398
12866
  @jsii.data_type(
12399
12867
  jsii_type="aws-cdk-lib.aws_iot.CfnSoftwarePackageVersionProps",
12400
12868
  jsii_struct_bases=[],
12401
12869
  name_mapping={
12402
12870
  "package_name": "packageName",
12871
+ "artifact": "artifact",
12403
12872
  "attributes": "attributes",
12404
12873
  "description": "description",
12874
+ "recipe": "recipe",
12875
+ "sbom": "sbom",
12405
12876
  "tags": "tags",
12406
12877
  "version_name": "versionName",
12407
12878
  },
@@ -12411,16 +12882,22 @@ class CfnSoftwarePackageVersionProps:
12411
12882
  self,
12412
12883
  *,
12413
12884
  package_name: builtins.str,
12885
+ artifact: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnSoftwarePackageVersion.PackageVersionArtifactProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
12414
12886
  attributes: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
12415
12887
  description: typing.Optional[builtins.str] = None,
12888
+ recipe: typing.Optional[builtins.str] = None,
12889
+ sbom: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnSoftwarePackageVersion.SbomProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
12416
12890
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
12417
12891
  version_name: typing.Optional[builtins.str] = None,
12418
12892
  ) -> None:
12419
12893
  '''Properties for defining a ``CfnSoftwarePackageVersion``.
12420
12894
 
12421
12895
  :param package_name: The name of the associated software package.
12896
+ :param artifact: The artifact location of the package version.
12422
12897
  :param attributes: Metadata that can be used to define a package version’s configuration. For example, the S3 file location, configuration options that are being sent to the device or fleet. The combined size of all the attributes on a package version is limited to 3KB.
12423
12898
  :param description: A summary of the package version being created. This can be used to outline the package's contents or purpose.
12899
+ :param recipe: The inline json job document associated with a software package version.
12900
+ :param sbom: The sbom zip archive location of the package version.
12424
12901
  :param tags: Metadata that can be used to manage the package version.
12425
12902
  :param version_name: The name of the new package version.
12426
12903
 
@@ -12437,10 +12914,25 @@ class CfnSoftwarePackageVersionProps:
12437
12914
  package_name="packageName",
12438
12915
 
12439
12916
  # the properties below are optional
12917
+ artifact=iot.CfnSoftwarePackageVersion.PackageVersionArtifactProperty(
12918
+ s3_location=iot.CfnSoftwarePackageVersion.S3LocationProperty(
12919
+ bucket="bucket",
12920
+ key="key",
12921
+ version="version"
12922
+ )
12923
+ ),
12440
12924
  attributes={
12441
12925
  "attributes_key": "attributes"
12442
12926
  },
12443
12927
  description="description",
12928
+ recipe="recipe",
12929
+ sbom=iot.CfnSoftwarePackageVersion.SbomProperty(
12930
+ s3_location=iot.CfnSoftwarePackageVersion.S3LocationProperty(
12931
+ bucket="bucket",
12932
+ key="key",
12933
+ version="version"
12934
+ )
12935
+ ),
12444
12936
  tags=[CfnTag(
12445
12937
  key="key",
12446
12938
  value="value"
@@ -12451,17 +12943,26 @@ class CfnSoftwarePackageVersionProps:
12451
12943
  if __debug__:
12452
12944
  type_hints = typing.get_type_hints(_typecheckingstub__1ee35d011adab7a2d8df83c92656187b403d2781df8df06d9575d380e2f8307c)
12453
12945
  check_type(argname="argument package_name", value=package_name, expected_type=type_hints["package_name"])
12946
+ check_type(argname="argument artifact", value=artifact, expected_type=type_hints["artifact"])
12454
12947
  check_type(argname="argument attributes", value=attributes, expected_type=type_hints["attributes"])
12455
12948
  check_type(argname="argument description", value=description, expected_type=type_hints["description"])
12949
+ check_type(argname="argument recipe", value=recipe, expected_type=type_hints["recipe"])
12950
+ check_type(argname="argument sbom", value=sbom, expected_type=type_hints["sbom"])
12456
12951
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
12457
12952
  check_type(argname="argument version_name", value=version_name, expected_type=type_hints["version_name"])
12458
12953
  self._values: typing.Dict[builtins.str, typing.Any] = {
12459
12954
  "package_name": package_name,
12460
12955
  }
12956
+ if artifact is not None:
12957
+ self._values["artifact"] = artifact
12461
12958
  if attributes is not None:
12462
12959
  self._values["attributes"] = attributes
12463
12960
  if description is not None:
12464
12961
  self._values["description"] = description
12962
+ if recipe is not None:
12963
+ self._values["recipe"] = recipe
12964
+ if sbom is not None:
12965
+ self._values["sbom"] = sbom
12465
12966
  if tags is not None:
12466
12967
  self._values["tags"] = tags
12467
12968
  if version_name is not None:
@@ -12477,6 +12978,17 @@ class CfnSoftwarePackageVersionProps:
12477
12978
  assert result is not None, "Required property 'package_name' is missing"
12478
12979
  return typing.cast(builtins.str, result)
12479
12980
 
12981
+ @builtins.property
12982
+ def artifact(
12983
+ self,
12984
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnSoftwarePackageVersion.PackageVersionArtifactProperty]]:
12985
+ '''The artifact location of the package version.
12986
+
12987
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-softwarepackageversion.html#cfn-iot-softwarepackageversion-artifact
12988
+ '''
12989
+ result = self._values.get("artifact")
12990
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnSoftwarePackageVersion.PackageVersionArtifactProperty]], result)
12991
+
12480
12992
  @builtins.property
12481
12993
  def attributes(
12482
12994
  self,
@@ -12503,6 +13015,26 @@ class CfnSoftwarePackageVersionProps:
12503
13015
  result = self._values.get("description")
12504
13016
  return typing.cast(typing.Optional[builtins.str], result)
12505
13017
 
13018
+ @builtins.property
13019
+ def recipe(self) -> typing.Optional[builtins.str]:
13020
+ '''The inline json job document associated with a software package version.
13021
+
13022
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-softwarepackageversion.html#cfn-iot-softwarepackageversion-recipe
13023
+ '''
13024
+ result = self._values.get("recipe")
13025
+ return typing.cast(typing.Optional[builtins.str], result)
13026
+
13027
+ @builtins.property
13028
+ def sbom(
13029
+ self,
13030
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnSoftwarePackageVersion.SbomProperty]]:
13031
+ '''The sbom zip archive location of the package version.
13032
+
13033
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-softwarepackageversion.html#cfn-iot-softwarepackageversion-sbom
13034
+ '''
13035
+ result = self._values.get("sbom")
13036
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnSoftwarePackageVersion.SbomProperty]], result)
13037
+
12506
13038
  @builtins.property
12507
13039
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
12508
13040
  '''Metadata that can be used to manage the package version.
@@ -13543,7 +14075,7 @@ class CfnThingType(
13543
14075
  '''
13544
14076
  :param scope: Scope in which this resource is defined.
13545
14077
  :param id: Construct identifier for this resource (unique in its scope).
13546
- :param deprecate_thing_type: Deprecates a thing type. You can not associate new things with deprecated thing type. You cannot update ``ThingTypeProperties`` if the thing type is deprecated. Requires permission to access the `DeprecateThingType <https://docs.aws.amazon.com//service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions>`_ action.
14078
+ :param deprecate_thing_type: Deprecates a thing type. You can not associate new things with deprecated thing type. Requires permission to access the `DeprecateThingType <https://docs.aws.amazon.com//service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions>`_ action.
13547
14079
  :param tags: Metadata which can be used to manage the thing type.
13548
14080
  :param thing_type_name: The name of the thing type.
13549
14081
  :param thing_type_properties: The thing type properties for the thing type to create. It contains information about the new thing type including a description, a list of searchable thing attribute names, and a list of propagating attributes. After a thing type is created, you can only update ``Mqtt5Configuration`` .
@@ -13625,7 +14157,10 @@ class CfnThingType(
13625
14157
  def deprecate_thing_type(
13626
14158
  self,
13627
14159
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
13628
- '''Deprecates a thing type.'''
14160
+ '''Deprecates a thing type.
14161
+
14162
+ You can not associate new things with deprecated thing type.
14163
+ '''
13629
14164
  return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "deprecateThingType"))
13630
14165
 
13631
14166
  @deprecate_thing_type.setter
@@ -13958,7 +14493,7 @@ class CfnThingTypeProps:
13958
14493
  ) -> None:
13959
14494
  '''Properties for defining a ``CfnThingType``.
13960
14495
 
13961
- :param deprecate_thing_type: Deprecates a thing type. You can not associate new things with deprecated thing type. You cannot update ``ThingTypeProperties`` if the thing type is deprecated. Requires permission to access the `DeprecateThingType <https://docs.aws.amazon.com//service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions>`_ action.
14496
+ :param deprecate_thing_type: Deprecates a thing type. You can not associate new things with deprecated thing type. Requires permission to access the `DeprecateThingType <https://docs.aws.amazon.com//service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions>`_ action.
13962
14497
  :param tags: Metadata which can be used to manage the thing type.
13963
14498
  :param thing_type_name: The name of the thing type.
13964
14499
  :param thing_type_properties: The thing type properties for the thing type to create. It contains information about the new thing type including a description, a list of searchable thing attribute names, and a list of propagating attributes. After a thing type is created, you can only update ``Mqtt5Configuration`` .
@@ -14014,9 +14549,7 @@ class CfnThingTypeProps:
14014
14549
  def deprecate_thing_type(
14015
14550
  self,
14016
14551
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
14017
- '''Deprecates a thing type.
14018
-
14019
- You can not associate new things with deprecated thing type. You cannot update ``ThingTypeProperties`` if the thing type is deprecated.
14552
+ '''Deprecates a thing type. You can not associate new things with deprecated thing type.
14020
14553
 
14021
14554
  Requires permission to access the `DeprecateThingType <https://docs.aws.amazon.com//service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions>`_ action.
14022
14555
 
@@ -14576,7 +15109,7 @@ class CfnTopicRule(
14576
15109
  :param scope: Scope in which this resource is defined.
14577
15110
  :param id: Construct identifier for this resource (unique in its scope).
14578
15111
  :param topic_rule_payload: The rule payload.
14579
- :param rule_name: The name of the rule. *Pattern* : ``^[a-zA-Z0-9_]+$``
15112
+ :param rule_name: The name of the rule.
14580
15113
  :param tags: Metadata which can be used to manage the topic rule. .. epigraph:: For URI Request parameters use format: ...key1=value1&key2=value2... For the CLI command-line parameter use format: --tags "key1=value1&key2=value2..." For the cli-input-json file use format: "tags": "key1=value1&key2=value2..."
14581
15114
  '''
14582
15115
  if __debug__:
@@ -20153,7 +20686,7 @@ class CfnTopicRuleProps:
20153
20686
  '''Properties for defining a ``CfnTopicRule``.
20154
20687
 
20155
20688
  :param topic_rule_payload: The rule payload.
20156
- :param rule_name: The name of the rule. *Pattern* : ``^[a-zA-Z0-9_]+$``
20689
+ :param rule_name: The name of the rule.
20157
20690
  :param tags: Metadata which can be used to manage the topic rule. .. epigraph:: For URI Request parameters use format: ...key1=value1&key2=value2... For the CLI command-line parameter use format: --tags "key1=value1&key2=value2..." For the cli-input-json file use format: "tags": "key1=value1&key2=value2..."
20158
20691
 
20159
20692
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicrule.html
@@ -20668,8 +21201,6 @@ class CfnTopicRuleProps:
20668
21201
  def rule_name(self) -> typing.Optional[builtins.str]:
20669
21202
  '''The name of the rule.
20670
21203
 
20671
- *Pattern* : ``^[a-zA-Z0-9_]+$``
20672
-
20673
21204
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicrule.html#cfn-iot-topicrule-rulename
20674
21205
  '''
20675
21206
  result = self._values.get("rule_name")
@@ -20828,6 +21359,7 @@ def _typecheckingstub__ca75cce509adb698264ec350d7e85ee6dabe86fb4e51c60faa3d4982e
20828
21359
  ca_certificate_expiring_check: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAccountAuditConfiguration.AuditCheckConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
20829
21360
  ca_certificate_key_quality_check: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAccountAuditConfiguration.AuditCheckConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
20830
21361
  conflicting_client_ids_check: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAccountAuditConfiguration.AuditCheckConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
21362
+ device_certificate_age_check: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAccountAuditConfiguration.DeviceCertAgeAuditCheckConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
20831
21363
  device_certificate_expiring_check: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAccountAuditConfiguration.AuditCheckConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
20832
21364
  device_certificate_key_quality_check: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAccountAuditConfiguration.AuditCheckConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
20833
21365
  device_certificate_shared_check: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAccountAuditConfiguration.AuditCheckConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -20860,6 +21392,21 @@ def _typecheckingstub__235ca6701cdb6625ada42b9999c3ebcfeceda12241b4ace563fdf0b77
20860
21392
  """Type checking stubs"""
20861
21393
  pass
20862
21394
 
21395
+ def _typecheckingstub__cabc3d6f5cd1ee7c83f1afa8523cc42d1dc32a65f167fe42997c609e3e30b801(
21396
+ *,
21397
+ cert_age_threshold_in_days: typing.Optional[builtins.str] = None,
21398
+ ) -> None:
21399
+ """Type checking stubs"""
21400
+ pass
21401
+
21402
+ def _typecheckingstub__18ab03de098b1b7a6716b4a376b5187d413526dd875bd88adeab4f6f35de828b(
21403
+ *,
21404
+ configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAccountAuditConfiguration.CertAgeCheckCustomConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
21405
+ enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
21406
+ ) -> None:
21407
+ """Type checking stubs"""
21408
+ pass
21409
+
20863
21410
  def _typecheckingstub__2fcb08f60d93c7bac3923eba987b721e65ab18e4504eac94738037301467ef30(
20864
21411
  *,
20865
21412
  account_id: builtins.str,
@@ -22768,8 +23315,11 @@ def _typecheckingstub__ae40d4286b1921a68172d1449478b0327292b57cc2637b8b975f200e0
22768
23315
  id: builtins.str,
22769
23316
  *,
22770
23317
  package_name: builtins.str,
23318
+ artifact: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnSoftwarePackageVersion.PackageVersionArtifactProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
22771
23319
  attributes: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
22772
23320
  description: typing.Optional[builtins.str] = None,
23321
+ recipe: typing.Optional[builtins.str] = None,
23322
+ sbom: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnSoftwarePackageVersion.SbomProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
22773
23323
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
22774
23324
  version_name: typing.Optional[builtins.str] = None,
22775
23325
  ) -> None:
@@ -22794,6 +23344,12 @@ def _typecheckingstub__0265c1733c26c6c2433ec35b9730fbf47f9d3b72075fdd702cdf5c3c8
22794
23344
  """Type checking stubs"""
22795
23345
  pass
22796
23346
 
23347
+ def _typecheckingstub__ef719379e4bacafe5187ab2d184d7a60bf91a7f1896d5e16d2e75da4e01bd477(
23348
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnSoftwarePackageVersion.PackageVersionArtifactProperty]],
23349
+ ) -> None:
23350
+ """Type checking stubs"""
23351
+ pass
23352
+
22797
23353
  def _typecheckingstub__c101d3151063e2d9f4c7195d752acf7d3941838f08c5a5cf6532f60a6ebb2dce(
22798
23354
  value: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]],
22799
23355
  ) -> None:
@@ -22806,6 +23362,18 @@ def _typecheckingstub__a729b3ee5e45b855219fae5fca4701d4019058a4a96a7dcf45ed83d5c
22806
23362
  """Type checking stubs"""
22807
23363
  pass
22808
23364
 
23365
+ def _typecheckingstub__00b8752bfc3282147bcc39c0f8eb32d1f3932ed00856ada27dbdd11664d0a01e(
23366
+ value: typing.Optional[builtins.str],
23367
+ ) -> None:
23368
+ """Type checking stubs"""
23369
+ pass
23370
+
23371
+ def _typecheckingstub__44a7d0587cdb74a05b35cdc5cf77914f5b62933c4554463c42d18928dc82b5db(
23372
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnSoftwarePackageVersion.SbomProperty]],
23373
+ ) -> None:
23374
+ """Type checking stubs"""
23375
+ pass
23376
+
22809
23377
  def _typecheckingstub__7c6a2c2e1accb87813c9cd034a270a43e73b47118eefc286bea739d462e600ef(
22810
23378
  value: typing.Optional[typing.List[_CfnTag_f6864754]],
22811
23379
  ) -> None:
@@ -22818,11 +23386,37 @@ def _typecheckingstub__6d491b99338b411c29481450c6aab93af595bd4663bca838c4cf107d3
22818
23386
  """Type checking stubs"""
22819
23387
  pass
22820
23388
 
23389
+ def _typecheckingstub__52d7a3803ce2f56ae1977b7ee885a262b6ed661f681408202ea83ce1d4126264(
23390
+ *,
23391
+ s3_location: typing.Union[_IResolvable_da3f097b, typing.Union[CfnSoftwarePackageVersion.S3LocationProperty, typing.Dict[builtins.str, typing.Any]]],
23392
+ ) -> None:
23393
+ """Type checking stubs"""
23394
+ pass
23395
+
23396
+ def _typecheckingstub__c526545becdc09015b2550f550ff021354d46170016741ed6b2dba0acbc8ac9a(
23397
+ *,
23398
+ bucket: builtins.str,
23399
+ key: builtins.str,
23400
+ version: builtins.str,
23401
+ ) -> None:
23402
+ """Type checking stubs"""
23403
+ pass
23404
+
23405
+ def _typecheckingstub__4805184390da2efb550b69bb1cd02ffc973608d20c4f6bf6be43c42215ca74f7(
23406
+ *,
23407
+ s3_location: typing.Union[_IResolvable_da3f097b, typing.Union[CfnSoftwarePackageVersion.S3LocationProperty, typing.Dict[builtins.str, typing.Any]]],
23408
+ ) -> None:
23409
+ """Type checking stubs"""
23410
+ pass
23411
+
22821
23412
  def _typecheckingstub__1ee35d011adab7a2d8df83c92656187b403d2781df8df06d9575d380e2f8307c(
22822
23413
  *,
22823
23414
  package_name: builtins.str,
23415
+ artifact: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnSoftwarePackageVersion.PackageVersionArtifactProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
22824
23416
  attributes: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
22825
23417
  description: typing.Optional[builtins.str] = None,
23418
+ recipe: typing.Optional[builtins.str] = None,
23419
+ sbom: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnSoftwarePackageVersion.SbomProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
22826
23420
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
22827
23421
  version_name: typing.Optional[builtins.str] = None,
22828
23422
  ) -> None: