aws-cdk-lib 2.115.0__py3-none-any.whl → 2.116.1__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 (66) hide show
  1. aws_cdk/__init__.py +801 -356
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.115.0.jsii.tgz → aws-cdk-lib@2.116.1.jsii.tgz} +0 -0
  4. aws_cdk/aws_apigateway/__init__.py +3 -1
  5. aws_cdk/aws_apigatewayv2/__init__.py +595 -222
  6. aws_cdk/aws_apigatewayv2_integrations/__init__.py +4 -5
  7. aws_cdk/aws_applicationautoscaling/__init__.py +51 -15
  8. aws_cdk/aws_appsync/__init__.py +14 -3
  9. aws_cdk/aws_autoscaling/__init__.py +6 -0
  10. aws_cdk/aws_b2bi/__init__.py +2445 -0
  11. aws_cdk/aws_cloud9/__init__.py +63 -63
  12. aws_cdk/aws_cloudfront/__init__.py +394 -0
  13. aws_cdk/aws_cloudfront/experimental/__init__.py +5 -2
  14. aws_cdk/aws_cloudtrail/__init__.py +90 -11
  15. aws_cdk/aws_cloudwatch/__init__.py +6 -6
  16. aws_cdk/aws_codedeploy/__init__.py +88 -15
  17. aws_cdk/aws_codepipeline/__init__.py +645 -0
  18. aws_cdk/aws_cognito/__init__.py +13 -26
  19. aws_cdk/aws_config/__init__.py +315 -1
  20. aws_cdk/aws_connect/__init__.py +532 -37
  21. aws_cdk/aws_controltower/__init__.py +4 -4
  22. aws_cdk/aws_datasync/__init__.py +6 -4
  23. aws_cdk/aws_dms/__init__.py +241 -131
  24. aws_cdk/aws_dynamodb/__init__.py +8 -0
  25. aws_cdk/aws_ec2/__init__.py +1030 -45
  26. aws_cdk/aws_ecr/__init__.py +78 -10
  27. aws_cdk/aws_ecs/__init__.py +210 -2
  28. aws_cdk/aws_ecs_patterns/__init__.py +77 -62
  29. aws_cdk/aws_eks/__init__.py +8 -1
  30. aws_cdk/aws_elasticache/__init__.py +136 -10
  31. aws_cdk/aws_elasticloadbalancingv2/__init__.py +10 -13
  32. aws_cdk/aws_emr/__init__.py +234 -17
  33. aws_cdk/aws_eventschemas/__init__.py +15 -13
  34. aws_cdk/aws_fis/__init__.py +33 -13
  35. aws_cdk/aws_gamelift/__init__.py +47 -0
  36. aws_cdk/aws_imagebuilder/__init__.py +922 -84
  37. aws_cdk/aws_internetmonitor/__init__.py +12 -10
  38. aws_cdk/aws_iot/__init__.py +26 -46
  39. aws_cdk/aws_iottwinmaker/__init__.py +36 -34
  40. aws_cdk/aws_lambda/__init__.py +19 -15
  41. aws_cdk/aws_lambda_nodejs/__init__.py +5 -2
  42. aws_cdk/aws_logs/__init__.py +6 -6
  43. aws_cdk/aws_opensearchservice/__init__.py +5 -3
  44. aws_cdk/aws_organizations/__init__.py +3 -3
  45. aws_cdk/aws_osis/__init__.py +17 -13
  46. aws_cdk/aws_rds/__init__.py +6 -0
  47. aws_cdk/aws_s3/__init__.py +4 -2
  48. aws_cdk/aws_s3outposts/__init__.py +8 -8
  49. aws_cdk/aws_sagemaker/__init__.py +17 -94
  50. aws_cdk/aws_secretsmanager/__init__.py +9 -7
  51. aws_cdk/aws_securityhub/__init__.py +18 -0
  52. aws_cdk/aws_servicecatalogappregistry/__init__.py +31 -0
  53. aws_cdk/aws_ses/__init__.py +58 -11
  54. aws_cdk/aws_sns/__init__.py +309 -10
  55. aws_cdk/aws_ssm/__init__.py +3 -5
  56. aws_cdk/aws_stepfunctions/__init__.py +335 -19
  57. aws_cdk/aws_stepfunctions_tasks/__init__.py +388 -38
  58. aws_cdk/aws_transfer/__init__.py +37 -10
  59. aws_cdk/custom_resources/__init__.py +443 -1
  60. aws_cdk/triggers/__init__.py +5 -2
  61. {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/METADATA +1 -1
  62. {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/RECORD +66 -65
  63. {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/LICENSE +0 -0
  64. {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/NOTICE +0 -0
  65. {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/WHEEL +0 -0
  66. {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/top_level.txt +0 -0
@@ -211,6 +211,49 @@ topic_policy = sns.TopicPolicy(self, "Policy",
211
211
  policy_document=policy_document
212
212
  )
213
213
  ```
214
+
215
+ ## Delivery status logging
216
+
217
+ Amazon SNS provides support to log the delivery status of notification messages sent to topics with the following Amazon SNS endpoints:
218
+
219
+ * HTTP
220
+ * Amazon Kinesis Data Firehose
221
+ * AWS Lambda
222
+ * Platform application endpoint
223
+ * Amazon Simple Queue Service
224
+
225
+ Example with a delivery status logging configuration for SQS:
226
+
227
+ ```python
228
+ # role: iam.Role
229
+
230
+ topic = sns.Topic(self, "MyTopic",
231
+ logging_configs=[sns.LoggingConfig(
232
+ protocol=sns.LoggingProtocol.SQS,
233
+ failure_feedback_role=role,
234
+ success_feedback_role=role,
235
+ success_feedback_sample_rate=50
236
+ )
237
+ ]
238
+ )
239
+ ```
240
+
241
+ A delivery status logging configuration can also be added to your topic by `addLoggingConfig` method:
242
+
243
+ ```python
244
+ # role: iam.Role
245
+
246
+ topic = sns.Topic(self, "MyTopic")
247
+
248
+ topic.add_logging_config(
249
+ protocol=sns.LoggingProtocol.SQS,
250
+ failure_feedback_role=role,
251
+ success_feedback_role=role,
252
+ success_feedback_sample_rate=50
253
+ )
254
+ ```
255
+
256
+ Note that valid values for `successFeedbackSampleRate` are integer between 0-100.
214
257
  '''
215
258
  import abc
216
259
  import builtins
@@ -253,6 +296,7 @@ from ..aws_iam import (
253
296
  AddToResourcePolicyResult as _AddToResourcePolicyResult_1d0a53ad,
254
297
  Grant as _Grant_a7ae64f8,
255
298
  IGrantable as _IGrantable_71c4f5de,
299
+ IRole as _IRole_235f5d8e,
256
300
  PolicyDocument as _PolicyDocument_3ac34393,
257
301
  PolicyStatement as _PolicyStatement_0fe33853,
258
302
  )
@@ -362,6 +406,7 @@ class CfnSubscription(
362
406
  # delivery_policy: Any
363
407
  # filter_policy: Any
364
408
  # redrive_policy: Any
409
+ # replay_policy: Any
365
410
 
366
411
  cfn_subscription = sns.CfnSubscription(self, "MyCfnSubscription",
367
412
  protocol="protocol",
@@ -375,6 +420,7 @@ class CfnSubscription(
375
420
  raw_message_delivery=False,
376
421
  redrive_policy=redrive_policy,
377
422
  region="region",
423
+ replay_policy=replay_policy,
378
424
  subscription_role_arn="subscriptionRoleArn"
379
425
  )
380
426
  '''
@@ -393,6 +439,7 @@ class CfnSubscription(
393
439
  raw_message_delivery: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
394
440
  redrive_policy: typing.Any = None,
395
441
  region: typing.Optional[builtins.str] = None,
442
+ replay_policy: typing.Any = None,
396
443
  subscription_role_arn: typing.Optional[builtins.str] = None,
397
444
  ) -> None:
398
445
  '''
@@ -407,6 +454,7 @@ class CfnSubscription(
407
454
  :param raw_message_delivery: When set to ``true`` , enables raw message delivery. Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints. For more information, see ``[GetSubscriptionAttributes](https://docs.aws.amazon.com/sns/latest/api/API_GetSubscriptionAttributes.html)`` in the *Amazon SNS API Reference* .
408
455
  :param redrive_policy: When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors (for example, when the subscribed endpoint is unreachable) or server errors (for example, when the service that powers the subscribed endpoint becomes unavailable) are held in the dead-letter queue for further analysis or reprocessing. For more information about the redrive policy and dead-letter queues, see `Amazon SQS dead-letter queues <https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html>`_ in the *Amazon SQS Developer Guide* .
409
456
  :param region: For cross-region subscriptions, the region in which the topic resides. If no region is specified, AWS CloudFormation uses the region of the caller as the default. If you perform an update operation that only updates the ``Region`` property of a ``AWS::SNS::Subscription`` resource, that operation will fail unless you are either: - Updating the ``Region`` from ``NULL`` to the caller region. - Updating the ``Region`` from the caller region to ``NULL`` .
457
+ :param replay_policy:
410
458
  :param subscription_role_arn: This property applies only to Amazon Kinesis Data Firehose delivery stream subscriptions. Specify the ARN of the IAM role that has the following: - Permission to write to the Amazon Kinesis Data Firehose delivery stream - Amazon SNS listed as a trusted entity Specifying a valid ARN for this attribute is required for Kinesis Data Firehose delivery stream subscriptions. For more information, see `Fanout to Amazon Kinesis Data Firehose delivery streams <https://docs.aws.amazon.com/sns/latest/dg/sns-firehose-as-subscriber.html>`_ in the *Amazon SNS Developer Guide.*
411
459
  '''
412
460
  if __debug__:
@@ -423,6 +471,7 @@ class CfnSubscription(
423
471
  raw_message_delivery=raw_message_delivery,
424
472
  redrive_policy=redrive_policy,
425
473
  region=region,
474
+ replay_policy=replay_policy,
426
475
  subscription_role_arn=subscription_role_arn,
427
476
  )
428
477
 
@@ -593,6 +642,18 @@ class CfnSubscription(
593
642
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
594
643
  jsii.set(self, "region", value)
595
644
 
645
+ @builtins.property
646
+ @jsii.member(jsii_name="replayPolicy")
647
+ def replay_policy(self) -> typing.Any:
648
+ return typing.cast(typing.Any, jsii.get(self, "replayPolicy"))
649
+
650
+ @replay_policy.setter
651
+ def replay_policy(self, value: typing.Any) -> None:
652
+ if __debug__:
653
+ type_hints = typing.get_type_hints(_typecheckingstub__a75cc1735865b82732f90f42a2ba55634431d8bdec48d0a7752a79354f0c850d)
654
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
655
+ jsii.set(self, "replayPolicy", value)
656
+
596
657
  @builtins.property
597
658
  @jsii.member(jsii_name="subscriptionRoleArn")
598
659
  def subscription_role_arn(self) -> typing.Optional[builtins.str]:
@@ -620,6 +681,7 @@ class CfnSubscription(
620
681
  "raw_message_delivery": "rawMessageDelivery",
621
682
  "redrive_policy": "redrivePolicy",
622
683
  "region": "region",
684
+ "replay_policy": "replayPolicy",
623
685
  "subscription_role_arn": "subscriptionRoleArn",
624
686
  },
625
687
  )
@@ -636,6 +698,7 @@ class CfnSubscriptionProps:
636
698
  raw_message_delivery: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
637
699
  redrive_policy: typing.Any = None,
638
700
  region: typing.Optional[builtins.str] = None,
701
+ replay_policy: typing.Any = None,
639
702
  subscription_role_arn: typing.Optional[builtins.str] = None,
640
703
  ) -> None:
641
704
  '''Properties for defining a ``CfnSubscription``.
@@ -649,6 +712,7 @@ class CfnSubscriptionProps:
649
712
  :param raw_message_delivery: When set to ``true`` , enables raw message delivery. Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints. For more information, see ``[GetSubscriptionAttributes](https://docs.aws.amazon.com/sns/latest/api/API_GetSubscriptionAttributes.html)`` in the *Amazon SNS API Reference* .
650
713
  :param redrive_policy: When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors (for example, when the subscribed endpoint is unreachable) or server errors (for example, when the service that powers the subscribed endpoint becomes unavailable) are held in the dead-letter queue for further analysis or reprocessing. For more information about the redrive policy and dead-letter queues, see `Amazon SQS dead-letter queues <https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html>`_ in the *Amazon SQS Developer Guide* .
651
714
  :param region: For cross-region subscriptions, the region in which the topic resides. If no region is specified, AWS CloudFormation uses the region of the caller as the default. If you perform an update operation that only updates the ``Region`` property of a ``AWS::SNS::Subscription`` resource, that operation will fail unless you are either: - Updating the ``Region`` from ``NULL`` to the caller region. - Updating the ``Region`` from the caller region to ``NULL`` .
715
+ :param replay_policy:
652
716
  :param subscription_role_arn: This property applies only to Amazon Kinesis Data Firehose delivery stream subscriptions. Specify the ARN of the IAM role that has the following: - Permission to write to the Amazon Kinesis Data Firehose delivery stream - Amazon SNS listed as a trusted entity Specifying a valid ARN for this attribute is required for Kinesis Data Firehose delivery stream subscriptions. For more information, see `Fanout to Amazon Kinesis Data Firehose delivery streams <https://docs.aws.amazon.com/sns/latest/dg/sns-firehose-as-subscriber.html>`_ in the *Amazon SNS Developer Guide.*
653
717
 
654
718
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html
@@ -663,6 +727,7 @@ class CfnSubscriptionProps:
663
727
  # delivery_policy: Any
664
728
  # filter_policy: Any
665
729
  # redrive_policy: Any
730
+ # replay_policy: Any
666
731
 
667
732
  cfn_subscription_props = sns.CfnSubscriptionProps(
668
733
  protocol="protocol",
@@ -676,6 +741,7 @@ class CfnSubscriptionProps:
676
741
  raw_message_delivery=False,
677
742
  redrive_policy=redrive_policy,
678
743
  region="region",
744
+ replay_policy=replay_policy,
679
745
  subscription_role_arn="subscriptionRoleArn"
680
746
  )
681
747
  '''
@@ -690,6 +756,7 @@ class CfnSubscriptionProps:
690
756
  check_type(argname="argument raw_message_delivery", value=raw_message_delivery, expected_type=type_hints["raw_message_delivery"])
691
757
  check_type(argname="argument redrive_policy", value=redrive_policy, expected_type=type_hints["redrive_policy"])
692
758
  check_type(argname="argument region", value=region, expected_type=type_hints["region"])
759
+ check_type(argname="argument replay_policy", value=replay_policy, expected_type=type_hints["replay_policy"])
693
760
  check_type(argname="argument subscription_role_arn", value=subscription_role_arn, expected_type=type_hints["subscription_role_arn"])
694
761
  self._values: typing.Dict[builtins.str, typing.Any] = {
695
762
  "protocol": protocol,
@@ -709,6 +776,8 @@ class CfnSubscriptionProps:
709
776
  self._values["redrive_policy"] = redrive_policy
710
777
  if region is not None:
711
778
  self._values["region"] = region
779
+ if replay_policy is not None:
780
+ self._values["replay_policy"] = replay_policy
712
781
  if subscription_role_arn is not None:
713
782
  self._values["subscription_role_arn"] = subscription_role_arn
714
783
 
@@ -821,6 +890,14 @@ class CfnSubscriptionProps:
821
890
  result = self._values.get("region")
822
891
  return typing.cast(typing.Optional[builtins.str], result)
823
892
 
893
+ @builtins.property
894
+ def replay_policy(self) -> typing.Any:
895
+ '''
896
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-replaypolicy
897
+ '''
898
+ result = self._values.get("replay_policy")
899
+ return typing.cast(typing.Any, result)
900
+
824
901
  @builtins.property
825
902
  def subscription_role_arn(self) -> typing.Optional[builtins.str]:
826
903
  '''This property applies only to Amazon Kinesis Data Firehose delivery stream subscriptions.
@@ -927,7 +1004,7 @@ class CfnTopic(
927
1004
  :param archive_policy: The archive policy determines the number of days Amazon SNS retains messages. You can set a retention period from 1 to 365 days.
928
1005
  :param content_based_deduplication: Enables content-based deduplication for FIFO topics. - By default, ``ContentBasedDeduplication`` is set to ``false`` . If you create a FIFO topic and this attribute is ``false`` , you must specify a value for the ``MessageDeduplicationId`` parameter for the `Publish <https://docs.aws.amazon.com/sns/latest/api/API_Publish.html>`_ action. - When you set ``ContentBasedDeduplication`` to ``true`` , Amazon SNS uses a SHA-256 hash to generate the ``MessageDeduplicationId`` using the body of the message (but not the attributes of the message). (Optional) To override the generated value, you can specify a value for the the ``MessageDeduplicationId`` parameter for the ``Publish`` action.
929
1006
  :param data_protection_policy: The body of the policy document you want to use for this topic. You can only add one policy per topic. The policy must be in JSON string format. Length Constraints: Maximum length of 30,720.
930
- :param delivery_status_logging: Delivery status logging configuration for supported protocols for an Amazon SNS topic.
1007
+ :param delivery_status_logging: The ``DeliveryStatusLogging`` configuration enables you to log the delivery status of messages sent from your Amazon SNS topic to subscribed endpoints with the following supported delivery protocols:. - HTTP - Amazon Kinesis Data Firehose - AWS Lambda - Platform application endpoint - Amazon Simple Queue Service Once configured, log entries are sent to Amazon CloudWatch Logs.
931
1008
  :param display_name: The display name to use for an Amazon SNS topic with SMS subscriptions. The display name must be maximum 100 characters long, including hyphens (-), underscores (_), spaces, and tabs.
932
1009
  :param fifo_topic: Set to true to create a FIFO topic.
933
1010
  :param kms_master_key_id: The ID of an AWS managed customer master key (CMK) for Amazon SNS or a custom CMK. For more information, see `Key terms <https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms>`_ . For more examples, see ``[KeyId](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters)`` in the *AWS Key Management Service API Reference* . This property applies only to `server-side-encryption <https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html>`_ .
@@ -1066,7 +1143,7 @@ class CfnTopic(
1066
1143
  def delivery_status_logging(
1067
1144
  self,
1068
1145
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnTopic.LoggingConfigProperty"]]]]:
1069
- '''Delivery status logging configuration for supported protocols for an Amazon SNS topic.'''
1146
+ '''The ``DeliveryStatusLogging`` configuration enables you to log the delivery status of messages sent from your Amazon SNS topic to subscribed endpoints with the following supported delivery protocols:.'''
1070
1147
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnTopic.LoggingConfigProperty"]]]], jsii.get(self, "deliveryStatusLogging"))
1071
1148
 
1072
1149
  @delivery_status_logging.setter
@@ -1212,11 +1289,12 @@ class CfnTopic(
1212
1289
  success_feedback_role_arn: typing.Optional[builtins.str] = None,
1213
1290
  success_feedback_sample_rate: typing.Optional[builtins.str] = None,
1214
1291
  ) -> None:
1215
- '''
1216
- :param protocol: Indicates one of the supported protocols for the SNS topic.
1292
+ '''The ``LoggingConfig`` property type specifies the ``Delivery`` status logging configuration for an ```AWS::SNS::Topic`` <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html>`_ .
1293
+
1294
+ :param protocol: Indicates one of the supported protocols for the Amazon SNS topic. .. epigraph:: At least one of the other three ``LoggingConfig`` properties is recommend along with ``Protocol`` .
1217
1295
  :param failure_feedback_role_arn: The IAM role ARN to be used when logging failed message deliveries in Amazon CloudWatch.
1218
1296
  :param success_feedback_role_arn: The IAM role ARN to be used when logging successful message deliveries in Amazon CloudWatch.
1219
- :param success_feedback_sample_rate: The percentage of successful message deliveries to be logged in Amazon CloudWatch. Valid percentage values range from 0 to 100
1297
+ :param success_feedback_sample_rate: The percentage of successful message deliveries to be logged in Amazon CloudWatch. Valid percentage values range from 0 to 100.
1220
1298
 
1221
1299
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic-loggingconfig.html
1222
1300
  :exampleMetadata: fixture=_generated
@@ -1254,7 +1332,11 @@ class CfnTopic(
1254
1332
 
1255
1333
  @builtins.property
1256
1334
  def protocol(self) -> builtins.str:
1257
- '''Indicates one of the supported protocols for the SNS topic.
1335
+ '''Indicates one of the supported protocols for the Amazon SNS topic.
1336
+
1337
+ .. epigraph::
1338
+
1339
+ At least one of the other three ``LoggingConfig`` properties is recommend along with ``Protocol`` .
1258
1340
 
1259
1341
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic-loggingconfig.html#cfn-sns-topic-loggingconfig-protocol
1260
1342
  '''
@@ -1284,7 +1366,7 @@ class CfnTopic(
1284
1366
  def success_feedback_sample_rate(self) -> typing.Optional[builtins.str]:
1285
1367
  '''The percentage of successful message deliveries to be logged in Amazon CloudWatch.
1286
1368
 
1287
- Valid percentage values range from 0 to 100
1369
+ Valid percentage values range from 0 to 100.
1288
1370
 
1289
1371
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic-loggingconfig.html#cfn-sns-topic-loggingconfig-successfeedbacksamplerate
1290
1372
  '''
@@ -1795,7 +1877,7 @@ class CfnTopicProps:
1795
1877
  :param archive_policy: The archive policy determines the number of days Amazon SNS retains messages. You can set a retention period from 1 to 365 days.
1796
1878
  :param content_based_deduplication: Enables content-based deduplication for FIFO topics. - By default, ``ContentBasedDeduplication`` is set to ``false`` . If you create a FIFO topic and this attribute is ``false`` , you must specify a value for the ``MessageDeduplicationId`` parameter for the `Publish <https://docs.aws.amazon.com/sns/latest/api/API_Publish.html>`_ action. - When you set ``ContentBasedDeduplication`` to ``true`` , Amazon SNS uses a SHA-256 hash to generate the ``MessageDeduplicationId`` using the body of the message (but not the attributes of the message). (Optional) To override the generated value, you can specify a value for the the ``MessageDeduplicationId`` parameter for the ``Publish`` action.
1797
1879
  :param data_protection_policy: The body of the policy document you want to use for this topic. You can only add one policy per topic. The policy must be in JSON string format. Length Constraints: Maximum length of 30,720.
1798
- :param delivery_status_logging: Delivery status logging configuration for supported protocols for an Amazon SNS topic.
1880
+ :param delivery_status_logging: The ``DeliveryStatusLogging`` configuration enables you to log the delivery status of messages sent from your Amazon SNS topic to subscribed endpoints with the following supported delivery protocols:. - HTTP - Amazon Kinesis Data Firehose - AWS Lambda - Platform application endpoint - Amazon Simple Queue Service Once configured, log entries are sent to Amazon CloudWatch Logs.
1799
1881
  :param display_name: The display name to use for an Amazon SNS topic with SMS subscriptions. The display name must be maximum 100 characters long, including hyphens (-), underscores (_), spaces, and tabs.
1800
1882
  :param fifo_topic: Set to true to create a FIFO topic.
1801
1883
  :param kms_master_key_id: The ID of an AWS managed customer master key (CMK) for Amazon SNS or a custom CMK. For more information, see `Key terms <https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms>`_ . For more examples, see ``[KeyId](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters)`` in the *AWS Key Management Service API Reference* . This property applies only to `server-side-encryption <https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html>`_ .
@@ -1931,7 +2013,15 @@ class CfnTopicProps:
1931
2013
  def delivery_status_logging(
1932
2014
  self,
1933
2015
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnTopic.LoggingConfigProperty]]]]:
1934
- '''Delivery status logging configuration for supported protocols for an Amazon SNS topic.
2016
+ '''The ``DeliveryStatusLogging`` configuration enables you to log the delivery status of messages sent from your Amazon SNS topic to subscribed endpoints with the following supported delivery protocols:.
2017
+
2018
+ - HTTP
2019
+ - Amazon Kinesis Data Firehose
2020
+ - AWS Lambda
2021
+ - Platform application endpoint
2022
+ - Amazon Simple Queue Service
2023
+
2024
+ Once configured, log entries are sent to Amazon CloudWatch Logs.
1935
2025
 
1936
2026
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html#cfn-sns-topic-deliverystatuslogging
1937
2027
  '''
@@ -3020,6 +3110,146 @@ class _ITopicSubscriptionProxy:
3020
3110
  typing.cast(typing.Any, ITopicSubscription).__jsii_proxy_class__ = lambda : _ITopicSubscriptionProxy
3021
3111
 
3022
3112
 
3113
+ @jsii.data_type(
3114
+ jsii_type="aws-cdk-lib.aws_sns.LoggingConfig",
3115
+ jsii_struct_bases=[],
3116
+ name_mapping={
3117
+ "protocol": "protocol",
3118
+ "failure_feedback_role": "failureFeedbackRole",
3119
+ "success_feedback_role": "successFeedbackRole",
3120
+ "success_feedback_sample_rate": "successFeedbackSampleRate",
3121
+ },
3122
+ )
3123
+ class LoggingConfig:
3124
+ def __init__(
3125
+ self,
3126
+ *,
3127
+ protocol: "LoggingProtocol",
3128
+ failure_feedback_role: typing.Optional[_IRole_235f5d8e] = None,
3129
+ success_feedback_role: typing.Optional[_IRole_235f5d8e] = None,
3130
+ success_feedback_sample_rate: typing.Optional[jsii.Number] = None,
3131
+ ) -> None:
3132
+ '''A logging configuration for delivery status of messages sent from SNS topic to subscribed endpoints.
3133
+
3134
+ For more information, see https://docs.aws.amazon.com/sns/latest/dg/sns-topic-attributes.html.
3135
+
3136
+ :param protocol: Indicates one of the supported protocols for the SNS topic.
3137
+ :param failure_feedback_role: The IAM role to be used when logging failed message deliveries in Amazon CloudWatch. Default: None
3138
+ :param success_feedback_role: The IAM role to be used when logging successful message deliveries in Amazon CloudWatch. Default: None
3139
+ :param success_feedback_sample_rate: The percentage of successful message deliveries to be logged in Amazon CloudWatch. Valid values are integer between 0-100 Default: None
3140
+
3141
+ :exampleMetadata: infused
3142
+
3143
+ Example::
3144
+
3145
+ # role: iam.Role
3146
+
3147
+ topic = sns.Topic(self, "MyTopic")
3148
+
3149
+ topic.add_logging_config(
3150
+ protocol=sns.LoggingProtocol.SQS,
3151
+ failure_feedback_role=role,
3152
+ success_feedback_role=role,
3153
+ success_feedback_sample_rate=50
3154
+ )
3155
+ '''
3156
+ if __debug__:
3157
+ type_hints = typing.get_type_hints(_typecheckingstub__f9eb41e45f77d56f958dda8c78b2c068faf3edbd60bc3b2a62a19317f5490622)
3158
+ check_type(argname="argument protocol", value=protocol, expected_type=type_hints["protocol"])
3159
+ check_type(argname="argument failure_feedback_role", value=failure_feedback_role, expected_type=type_hints["failure_feedback_role"])
3160
+ check_type(argname="argument success_feedback_role", value=success_feedback_role, expected_type=type_hints["success_feedback_role"])
3161
+ check_type(argname="argument success_feedback_sample_rate", value=success_feedback_sample_rate, expected_type=type_hints["success_feedback_sample_rate"])
3162
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3163
+ "protocol": protocol,
3164
+ }
3165
+ if failure_feedback_role is not None:
3166
+ self._values["failure_feedback_role"] = failure_feedback_role
3167
+ if success_feedback_role is not None:
3168
+ self._values["success_feedback_role"] = success_feedback_role
3169
+ if success_feedback_sample_rate is not None:
3170
+ self._values["success_feedback_sample_rate"] = success_feedback_sample_rate
3171
+
3172
+ @builtins.property
3173
+ def protocol(self) -> "LoggingProtocol":
3174
+ '''Indicates one of the supported protocols for the SNS topic.'''
3175
+ result = self._values.get("protocol")
3176
+ assert result is not None, "Required property 'protocol' is missing"
3177
+ return typing.cast("LoggingProtocol", result)
3178
+
3179
+ @builtins.property
3180
+ def failure_feedback_role(self) -> typing.Optional[_IRole_235f5d8e]:
3181
+ '''The IAM role to be used when logging failed message deliveries in Amazon CloudWatch.
3182
+
3183
+ :default: None
3184
+ '''
3185
+ result = self._values.get("failure_feedback_role")
3186
+ return typing.cast(typing.Optional[_IRole_235f5d8e], result)
3187
+
3188
+ @builtins.property
3189
+ def success_feedback_role(self) -> typing.Optional[_IRole_235f5d8e]:
3190
+ '''The IAM role to be used when logging successful message deliveries in Amazon CloudWatch.
3191
+
3192
+ :default: None
3193
+ '''
3194
+ result = self._values.get("success_feedback_role")
3195
+ return typing.cast(typing.Optional[_IRole_235f5d8e], result)
3196
+
3197
+ @builtins.property
3198
+ def success_feedback_sample_rate(self) -> typing.Optional[jsii.Number]:
3199
+ '''The percentage of successful message deliveries to be logged in Amazon CloudWatch.
3200
+
3201
+ Valid values are integer between 0-100
3202
+
3203
+ :default: None
3204
+ '''
3205
+ result = self._values.get("success_feedback_sample_rate")
3206
+ return typing.cast(typing.Optional[jsii.Number], result)
3207
+
3208
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3209
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3210
+
3211
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3212
+ return not (rhs == self)
3213
+
3214
+ def __repr__(self) -> str:
3215
+ return "LoggingConfig(%s)" % ", ".join(
3216
+ k + "=" + repr(v) for k, v in self._values.items()
3217
+ )
3218
+
3219
+
3220
+ @jsii.enum(jsii_type="aws-cdk-lib.aws_sns.LoggingProtocol")
3221
+ class LoggingProtocol(enum.Enum):
3222
+ '''The type of supported protocol for delivery status logging.
3223
+
3224
+ :exampleMetadata: infused
3225
+
3226
+ Example::
3227
+
3228
+ # role: iam.Role
3229
+
3230
+ topic = sns.Topic(self, "MyTopic",
3231
+ logging_configs=[sns.LoggingConfig(
3232
+ protocol=sns.LoggingProtocol.SQS,
3233
+ failure_feedback_role=role,
3234
+ success_feedback_role=role,
3235
+ success_feedback_sample_rate=50
3236
+ )
3237
+ ]
3238
+ )
3239
+ '''
3240
+
3241
+ HTTP = "HTTP"
3242
+ '''HTTP.'''
3243
+ SQS = "SQS"
3244
+ '''Amazon Simple Queue Service.'''
3245
+ LAMBDA = "LAMBDA"
3246
+ '''AWS Lambda.'''
3247
+ FIREHOSE = "FIREHOSE"
3248
+ '''Amazon Kinesis Data Firehose.'''
3249
+ APPLICATION = "APPLICATION"
3250
+ '''Platform application endpoint.'''
3251
+
3252
+
3023
3253
  @jsii.data_type(
3024
3254
  jsii_type="aws-cdk-lib.aws_sns.NumericConditions",
3025
3255
  jsii_struct_bases=[],
@@ -4688,6 +4918,7 @@ class TopicPolicyProps:
4688
4918
  "content_based_deduplication": "contentBasedDeduplication",
4689
4919
  "display_name": "displayName",
4690
4920
  "fifo": "fifo",
4921
+ "logging_configs": "loggingConfigs",
4691
4922
  "master_key": "masterKey",
4692
4923
  "topic_name": "topicName",
4693
4924
  },
@@ -4699,6 +4930,7 @@ class TopicProps:
4699
4930
  content_based_deduplication: typing.Optional[builtins.bool] = None,
4700
4931
  display_name: typing.Optional[builtins.str] = None,
4701
4932
  fifo: typing.Optional[builtins.bool] = None,
4933
+ logging_configs: typing.Optional[typing.Sequence[typing.Union[LoggingConfig, typing.Dict[builtins.str, typing.Any]]]] = None,
4702
4934
  master_key: typing.Optional[_IKey_5f11635f] = None,
4703
4935
  topic_name: typing.Optional[builtins.str] = None,
4704
4936
  ) -> None:
@@ -4707,6 +4939,7 @@ class TopicProps:
4707
4939
  :param content_based_deduplication: Enables content-based deduplication for FIFO topics. Default: None
4708
4940
  :param display_name: A developer-defined string that can be used to identify this SNS topic. Default: None
4709
4941
  :param fifo: Set to true to create a FIFO topic. Default: None
4942
+ :param logging_configs: The list of delivery status logging configurations for the topic. For more information, see https://docs.aws.amazon.com/sns/latest/dg/sns-topic-attributes.html. Default: None
4710
4943
  :param master_key: A KMS Key, either managed by this CDK app, or imported. Default: None
4711
4944
  :param topic_name: A name for the topic. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the topic name. For more information, see Name Type. Default: Generated name
4712
4945
 
@@ -4715,7 +4948,9 @@ class TopicProps:
4715
4948
  Example::
4716
4949
 
4717
4950
  topic = sns.Topic(self, "Topic",
4718
- display_name="Customer subscription topic"
4951
+ content_based_deduplication=True,
4952
+ display_name="Customer subscription topic",
4953
+ fifo=True
4719
4954
  )
4720
4955
  '''
4721
4956
  if __debug__:
@@ -4723,6 +4958,7 @@ class TopicProps:
4723
4958
  check_type(argname="argument content_based_deduplication", value=content_based_deduplication, expected_type=type_hints["content_based_deduplication"])
4724
4959
  check_type(argname="argument display_name", value=display_name, expected_type=type_hints["display_name"])
4725
4960
  check_type(argname="argument fifo", value=fifo, expected_type=type_hints["fifo"])
4961
+ check_type(argname="argument logging_configs", value=logging_configs, expected_type=type_hints["logging_configs"])
4726
4962
  check_type(argname="argument master_key", value=master_key, expected_type=type_hints["master_key"])
4727
4963
  check_type(argname="argument topic_name", value=topic_name, expected_type=type_hints["topic_name"])
4728
4964
  self._values: typing.Dict[builtins.str, typing.Any] = {}
@@ -4732,6 +4968,8 @@ class TopicProps:
4732
4968
  self._values["display_name"] = display_name
4733
4969
  if fifo is not None:
4734
4970
  self._values["fifo"] = fifo
4971
+ if logging_configs is not None:
4972
+ self._values["logging_configs"] = logging_configs
4735
4973
  if master_key is not None:
4736
4974
  self._values["master_key"] = master_key
4737
4975
  if topic_name is not None:
@@ -4764,6 +5002,17 @@ class TopicProps:
4764
5002
  result = self._values.get("fifo")
4765
5003
  return typing.cast(typing.Optional[builtins.bool], result)
4766
5004
 
5005
+ @builtins.property
5006
+ def logging_configs(self) -> typing.Optional[typing.List[LoggingConfig]]:
5007
+ '''The list of delivery status logging configurations for the topic.
5008
+
5009
+ For more information, see https://docs.aws.amazon.com/sns/latest/dg/sns-topic-attributes.html.
5010
+
5011
+ :default: None
5012
+ '''
5013
+ result = self._values.get("logging_configs")
5014
+ return typing.cast(typing.Optional[typing.List[LoggingConfig]], result)
5015
+
4767
5016
  @builtins.property
4768
5017
  def master_key(self) -> typing.Optional[_IKey_5f11635f]:
4769
5018
  '''A KMS Key, either managed by this CDK app, or imported.
@@ -5130,6 +5379,7 @@ class Topic(TopicBase, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_sns.T
5130
5379
  content_based_deduplication: typing.Optional[builtins.bool] = None,
5131
5380
  display_name: typing.Optional[builtins.str] = None,
5132
5381
  fifo: typing.Optional[builtins.bool] = None,
5382
+ logging_configs: typing.Optional[typing.Sequence[typing.Union[LoggingConfig, typing.Dict[builtins.str, typing.Any]]]] = None,
5133
5383
  master_key: typing.Optional[_IKey_5f11635f] = None,
5134
5384
  topic_name: typing.Optional[builtins.str] = None,
5135
5385
  ) -> None:
@@ -5139,6 +5389,7 @@ class Topic(TopicBase, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_sns.T
5139
5389
  :param content_based_deduplication: Enables content-based deduplication for FIFO topics. Default: None
5140
5390
  :param display_name: A developer-defined string that can be used to identify this SNS topic. Default: None
5141
5391
  :param fifo: Set to true to create a FIFO topic. Default: None
5392
+ :param logging_configs: The list of delivery status logging configurations for the topic. For more information, see https://docs.aws.amazon.com/sns/latest/dg/sns-topic-attributes.html. Default: None
5142
5393
  :param master_key: A KMS Key, either managed by this CDK app, or imported. Default: None
5143
5394
  :param topic_name: A name for the topic. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the topic name. For more information, see Name Type. Default: Generated name
5144
5395
  '''
@@ -5150,6 +5401,7 @@ class Topic(TopicBase, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_sns.T
5150
5401
  content_based_deduplication=content_based_deduplication,
5151
5402
  display_name=display_name,
5152
5403
  fifo=fifo,
5404
+ logging_configs=logging_configs,
5153
5405
  master_key=master_key,
5154
5406
  topic_name=topic_name,
5155
5407
  )
@@ -5177,6 +5429,31 @@ class Topic(TopicBase, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_sns.T
5177
5429
  check_type(argname="argument topic_arn", value=topic_arn, expected_type=type_hints["topic_arn"])
5178
5430
  return typing.cast(ITopic, jsii.sinvoke(cls, "fromTopicArn", [scope, id, topic_arn]))
5179
5431
 
5432
+ @jsii.member(jsii_name="addLoggingConfig")
5433
+ def add_logging_config(
5434
+ self,
5435
+ *,
5436
+ protocol: LoggingProtocol,
5437
+ failure_feedback_role: typing.Optional[_IRole_235f5d8e] = None,
5438
+ success_feedback_role: typing.Optional[_IRole_235f5d8e] = None,
5439
+ success_feedback_sample_rate: typing.Optional[jsii.Number] = None,
5440
+ ) -> None:
5441
+ '''Adds a delivery status logging configuration to the topic.
5442
+
5443
+ :param protocol: Indicates one of the supported protocols for the SNS topic.
5444
+ :param failure_feedback_role: The IAM role to be used when logging failed message deliveries in Amazon CloudWatch. Default: None
5445
+ :param success_feedback_role: The IAM role to be used when logging successful message deliveries in Amazon CloudWatch. Default: None
5446
+ :param success_feedback_sample_rate: The percentage of successful message deliveries to be logged in Amazon CloudWatch. Valid values are integer between 0-100 Default: None
5447
+ '''
5448
+ config = LoggingConfig(
5449
+ protocol=protocol,
5450
+ failure_feedback_role=failure_feedback_role,
5451
+ success_feedback_role=success_feedback_role,
5452
+ success_feedback_sample_rate=success_feedback_sample_rate,
5453
+ )
5454
+
5455
+ return typing.cast(None, jsii.invoke(self, "addLoggingConfig", [config]))
5456
+
5180
5457
  @builtins.property
5181
5458
  @jsii.member(jsii_name="autoCreatePolicy")
5182
5459
  def _auto_create_policy(self) -> builtins.bool:
@@ -5229,6 +5506,8 @@ __all__ = [
5229
5506
  "FilterOrPolicyType",
5230
5507
  "ITopic",
5231
5508
  "ITopicSubscription",
5509
+ "LoggingConfig",
5510
+ "LoggingProtocol",
5232
5511
  "NumericConditions",
5233
5512
  "Policy",
5234
5513
  "StringConditions",
@@ -5268,6 +5547,7 @@ def _typecheckingstub__3f3839647e73879ccdb1519ec2afccf78b6168046279d32c5390b3e25
5268
5547
  raw_message_delivery: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
5269
5548
  redrive_policy: typing.Any = None,
5270
5549
  region: typing.Optional[builtins.str] = None,
5550
+ replay_policy: typing.Any = None,
5271
5551
  subscription_role_arn: typing.Optional[builtins.str] = None,
5272
5552
  ) -> None:
5273
5553
  """Type checking stubs"""
@@ -5339,6 +5619,12 @@ def _typecheckingstub__22cba62b05c6e7ecdf0102d83ee908ae549d02df6eb8dd5643c2c4207
5339
5619
  """Type checking stubs"""
5340
5620
  pass
5341
5621
 
5622
+ def _typecheckingstub__a75cc1735865b82732f90f42a2ba55634431d8bdec48d0a7752a79354f0c850d(
5623
+ value: typing.Any,
5624
+ ) -> None:
5625
+ """Type checking stubs"""
5626
+ pass
5627
+
5342
5628
  def _typecheckingstub__a71b3667b255126f8bc5b4059f4687fa922e718121515d78883ff30eb130ad2a(
5343
5629
  value: typing.Optional[builtins.str],
5344
5630
  ) -> None:
@@ -5356,6 +5642,7 @@ def _typecheckingstub__0227b0c451693656571029cae1cbec74d209cf9e946210145d282e8f0
5356
5642
  raw_message_delivery: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
5357
5643
  redrive_policy: typing.Any = None,
5358
5644
  region: typing.Optional[builtins.str] = None,
5645
+ replay_policy: typing.Any = None,
5359
5646
  subscription_role_arn: typing.Optional[builtins.str] = None,
5360
5647
  ) -> None:
5361
5648
  """Type checking stubs"""
@@ -5636,6 +5923,16 @@ def _typecheckingstub__daf70c7f74db8d44ef157cdd3df3a90e91ac1b55f6be3c7ec557b2c6d
5636
5923
  """Type checking stubs"""
5637
5924
  pass
5638
5925
 
5926
+ def _typecheckingstub__f9eb41e45f77d56f958dda8c78b2c068faf3edbd60bc3b2a62a19317f5490622(
5927
+ *,
5928
+ protocol: LoggingProtocol,
5929
+ failure_feedback_role: typing.Optional[_IRole_235f5d8e] = None,
5930
+ success_feedback_role: typing.Optional[_IRole_235f5d8e] = None,
5931
+ success_feedback_sample_rate: typing.Optional[jsii.Number] = None,
5932
+ ) -> None:
5933
+ """Type checking stubs"""
5934
+ pass
5935
+
5639
5936
  def _typecheckingstub__275a537da31cf603117422e452eeec6e2885ee8265e341324d589072c1703641(
5640
5937
  *,
5641
5938
  allowlist: typing.Optional[typing.Sequence[jsii.Number]] = None,
@@ -5790,6 +6087,7 @@ def _typecheckingstub__093960c1ab5457cc6797eb4a06c9e8fc74e41d4eaa9d0a17f00fa896d
5790
6087
  content_based_deduplication: typing.Optional[builtins.bool] = None,
5791
6088
  display_name: typing.Optional[builtins.str] = None,
5792
6089
  fifo: typing.Optional[builtins.bool] = None,
6090
+ logging_configs: typing.Optional[typing.Sequence[typing.Union[LoggingConfig, typing.Dict[builtins.str, typing.Any]]]] = None,
5793
6091
  master_key: typing.Optional[_IKey_5f11635f] = None,
5794
6092
  topic_name: typing.Optional[builtins.str] = None,
5795
6093
  ) -> None:
@@ -5826,6 +6124,7 @@ def _typecheckingstub__5bf7b7a1001dc600e81a7f1c5015e367dc471dcd727360f62a7eaf6eb
5826
6124
  content_based_deduplication: typing.Optional[builtins.bool] = None,
5827
6125
  display_name: typing.Optional[builtins.str] = None,
5828
6126
  fifo: typing.Optional[builtins.bool] = None,
6127
+ logging_configs: typing.Optional[typing.Sequence[typing.Union[LoggingConfig, typing.Dict[builtins.str, typing.Any]]]] = None,
5829
6128
  master_key: typing.Optional[_IKey_5f11635f] = None,
5830
6129
  topic_name: typing.Optional[builtins.str] = None,
5831
6130
  ) -> None:
@@ -4646,7 +4646,7 @@ class CfnParameter(
4646
4646
  '''
4647
4647
  :param scope: Scope in which this resource is defined.
4648
4648
  :param id: Construct identifier for this resource (unique in its scope).
4649
- :param type: The type of parameter. .. epigraph:: AWS CloudFormation doesn't support creating a ``SecureString`` parameter type. *Allowed Values* : String | StringList
4649
+ :param type: The type of parameter. .. epigraph:: Although ``SecureString`` is included in the list of valid values, AWS CloudFormation does *not* current support creating a ``SecureString`` parameter type.
4650
4650
  :param value: The parameter value. .. epigraph:: If type is ``StringList`` , the system returns a comma-separated string with no spaces between commas in the ``Value`` field.
4651
4651
  :param allowed_pattern: A regular expression used to validate the parameter value. For example, for String types with values restricted to numbers, you can specify the following: ``AllowedPattern=^\\d+$``
4652
4652
  :param data_type: The data type of the parameter, such as ``text`` or ``aws:ec2:image`` . The default is ``text`` .
@@ -4887,7 +4887,7 @@ class CfnParameterProps:
4887
4887
  ) -> None:
4888
4888
  '''Properties for defining a ``CfnParameter``.
4889
4889
 
4890
- :param type: The type of parameter. .. epigraph:: AWS CloudFormation doesn't support creating a ``SecureString`` parameter type. *Allowed Values* : String | StringList
4890
+ :param type: The type of parameter. .. epigraph:: Although ``SecureString`` is included in the list of valid values, AWS CloudFormation does *not* current support creating a ``SecureString`` parameter type.
4891
4891
  :param value: The parameter value. .. epigraph:: If type is ``StringList`` , the system returns a comma-separated string with no spaces between commas in the ``Value`` field.
4892
4892
  :param allowed_pattern: A regular expression used to validate the parameter value. For example, for String types with values restricted to numbers, you can specify the following: ``AllowedPattern=^\\d+$``
4893
4893
  :param data_type: The data type of the parameter, such as ``text`` or ``aws:ec2:image`` . The default is ``text`` .
@@ -4958,9 +4958,7 @@ class CfnParameterProps:
4958
4958
 
4959
4959
  .. epigraph::
4960
4960
 
4961
- AWS CloudFormation doesn't support creating a ``SecureString`` parameter type.
4962
-
4963
- *Allowed Values* : String | StringList
4961
+ Although ``SecureString`` is included in the list of valid values, AWS CloudFormation does *not* current support creating a ``SecureString`` parameter type.
4964
4962
 
4965
4963
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html#cfn-ssm-parameter-type
4966
4964
  '''