aws-cdk-lib 2.137.0__py3-none-any.whl → 2.139.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 (73) hide show
  1. aws_cdk/__init__.py +8 -0
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.137.0.jsii.tgz → aws-cdk-lib@2.139.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amplify/__init__.py +29 -113
  5. aws_cdk/aws_apigateway/__init__.py +29 -16
  6. aws_cdk/aws_appconfig/__init__.py +315 -77
  7. aws_cdk/aws_appintegrations/__init__.py +55 -6
  8. aws_cdk/aws_apprunner/__init__.py +5 -2
  9. aws_cdk/aws_appsync/__init__.py +400 -13
  10. aws_cdk/aws_aps/__init__.py +64 -47
  11. aws_cdk/aws_autoscaling/__init__.py +62 -60
  12. aws_cdk/aws_b2bi/__init__.py +2 -6
  13. aws_cdk/aws_backup/__init__.py +53 -57
  14. aws_cdk/aws_batch/__init__.py +109 -0
  15. aws_cdk/aws_bcmdataexports/__init__.py +1114 -0
  16. aws_cdk/aws_bedrock/__init__.py +4144 -0
  17. aws_cdk/aws_chatbot/__init__.py +6 -4
  18. aws_cdk/aws_cleanrooms/__init__.py +526 -3
  19. aws_cdk/aws_cleanroomsml/__init__.py +960 -0
  20. aws_cdk/aws_cloudtrail/__init__.py +10 -10
  21. aws_cdk/aws_cloudwatch/__init__.py +244 -8
  22. aws_cdk/aws_codebuild/__init__.py +27 -22
  23. aws_cdk/aws_codeconnections/__init__.py +435 -0
  24. aws_cdk/aws_cognito/__init__.py +175 -79
  25. aws_cdk/aws_datazone/__init__.py +22 -0
  26. aws_cdk/aws_deadline/__init__.py +5394 -0
  27. aws_cdk/aws_dms/__init__.py +2 -4
  28. aws_cdk/aws_ec2/__init__.py +402 -247
  29. aws_cdk/aws_ecr/__init__.py +630 -0
  30. aws_cdk/aws_ecs/__init__.py +361 -20
  31. aws_cdk/aws_efs/__init__.py +594 -2
  32. aws_cdk/aws_elasticache/__init__.py +86 -32
  33. aws_cdk/aws_elasticloadbalancingv2/__init__.py +75 -10
  34. aws_cdk/aws_emr/__init__.py +2 -2
  35. aws_cdk/aws_entityresolution/__init__.py +1982 -773
  36. aws_cdk/aws_events_targets/__init__.py +17 -4
  37. aws_cdk/aws_globalaccelerator/__init__.py +443 -0
  38. aws_cdk/aws_iam/__init__.py +1 -2
  39. aws_cdk/aws_internetmonitor/__init__.py +14 -6
  40. aws_cdk/aws_ivs/__init__.py +1273 -71
  41. aws_cdk/aws_kms/__init__.py +44 -0
  42. aws_cdk/aws_lambda/__init__.py +9 -0
  43. aws_cdk/aws_mediatailor/__init__.py +41 -0
  44. aws_cdk/aws_oam/__init__.py +204 -0
  45. aws_cdk/aws_personalize/__init__.py +8 -6
  46. aws_cdk/aws_pinpoint/__init__.py +5 -3
  47. aws_cdk/aws_pipes/__init__.py +5 -1
  48. aws_cdk/aws_quicksight/__init__.py +12 -6
  49. aws_cdk/aws_rds/__init__.py +370 -96
  50. aws_cdk/aws_redshiftserverless/__init__.py +157 -0
  51. aws_cdk/aws_route53/__init__.py +587 -14
  52. aws_cdk/aws_sagemaker/__init__.py +233 -2
  53. aws_cdk/aws_securityhub/__init__.py +4940 -102
  54. aws_cdk/aws_securitylake/__init__.py +1326 -89
  55. aws_cdk/aws_ses_actions/__init__.py +155 -0
  56. aws_cdk/aws_sns/__init__.py +61 -4
  57. aws_cdk/aws_ssm/__init__.py +5 -2
  58. aws_cdk/aws_ssmcontacts/__init__.py +11 -4
  59. aws_cdk/aws_stepfunctions/__init__.py +8 -16
  60. aws_cdk/aws_stepfunctions_tasks/__init__.py +676 -1
  61. aws_cdk/aws_timestream/__init__.py +1045 -0
  62. aws_cdk/aws_transfer/__init__.py +19 -10
  63. aws_cdk/aws_verifiedpermissions/__init__.py +114 -37
  64. aws_cdk/aws_wisdom/__init__.py +2 -2
  65. aws_cdk/aws_workspacesthinclient/__init__.py +8 -8
  66. aws_cdk/custom_resources/__init__.py +688 -26
  67. aws_cdk/cx_api/__init__.py +17 -0
  68. {aws_cdk_lib-2.137.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/METADATA +3 -3
  69. {aws_cdk_lib-2.137.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/RECORD +73 -69
  70. {aws_cdk_lib-2.137.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/LICENSE +0 -0
  71. {aws_cdk_lib-2.137.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/NOTICE +0 -0
  72. {aws_cdk_lib-2.137.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/WHEEL +0 -0
  73. {aws_cdk_lib-2.137.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/top_level.txt +0 -0
@@ -154,7 +154,7 @@ class CfnMicrosoftTeamsChannelConfiguration(
154
154
  :param configuration_name: The name of the configuration.
155
155
  :param iam_role_arn: The ARN of the IAM role that defines the permissions for AWS Chatbot . This is a user-defined role that AWS Chatbot will assume. This is not the service-linked role. For more information, see `IAM Policies for AWS Chatbot <https://docs.aws.amazon.com/chatbot/latest/adminguide/chatbot-iam-policies.html>`_ .
156
156
  :param team_id: The ID of the Microsoft Team authorized with AWS Chatbot . To get the team ID, you must perform the initial authorization flow with Microsoft Teams in the AWS Chatbot console. Then you can copy and paste the team ID from the console. For more details, see steps 1-4 in `Get started with Microsoft Teams <https://docs.aws.amazon.com/chatbot/latest/adminguide/teams-setup.html#teams-client-setup>`_ in the *AWS Chatbot Administrator Guide* .
157
- :param teams_channel_id: The id of the Microsoft Teams channel.
157
+ :param teams_channel_id: The ID of the Microsoft Teams channel. To get the channel ID, open Microsoft Teams, right click on the channel name in the left pane, then choose Copy. An example of the channel ID syntax is: ``19%3ab6ef35dc342d56ba5654e6fc6d25a071%40thread.tacv2`` .
158
158
  :param teams_tenant_id: The ID of the Microsoft Teams tenant. To get the tenant ID, you must perform the initial authorization flow with Microsoft Teams in the AWS Chatbot console. Then you can copy and paste the tenant ID from the console. For more details, see steps 1-4 in `Get started with Microsoft Teams <https://docs.aws.amazon.com/chatbot/latest/adminguide/teams-setup.html#teams-client-setup>`_ in the *AWS Chatbot Administrator Guide* .
159
159
  :param guardrail_policies: The list of IAM policy ARNs that are applied as channel guardrails. The AWS managed 'AdministratorAccess' policy is applied as a default if this is not set.
160
160
  :param logging_level: Specifies the logging level for this configuration. This property affects the log entries pushed to Amazon CloudWatch Logs. Logging levels include ``ERROR`` , ``INFO`` , or ``NONE`` . Default: - "NONE"
@@ -265,7 +265,7 @@ class CfnMicrosoftTeamsChannelConfiguration(
265
265
  @builtins.property
266
266
  @jsii.member(jsii_name="teamsChannelId")
267
267
  def teams_channel_id(self) -> builtins.str:
268
- '''The id of the Microsoft Teams channel.'''
268
+ '''The ID of the Microsoft Teams channel.'''
269
269
  return typing.cast(builtins.str, jsii.get(self, "teamsChannelId"))
270
270
 
271
271
  @teams_channel_id.setter
@@ -386,7 +386,7 @@ class CfnMicrosoftTeamsChannelConfigurationProps:
386
386
  :param configuration_name: The name of the configuration.
387
387
  :param iam_role_arn: The ARN of the IAM role that defines the permissions for AWS Chatbot . This is a user-defined role that AWS Chatbot will assume. This is not the service-linked role. For more information, see `IAM Policies for AWS Chatbot <https://docs.aws.amazon.com/chatbot/latest/adminguide/chatbot-iam-policies.html>`_ .
388
388
  :param team_id: The ID of the Microsoft Team authorized with AWS Chatbot . To get the team ID, you must perform the initial authorization flow with Microsoft Teams in the AWS Chatbot console. Then you can copy and paste the team ID from the console. For more details, see steps 1-4 in `Get started with Microsoft Teams <https://docs.aws.amazon.com/chatbot/latest/adminguide/teams-setup.html#teams-client-setup>`_ in the *AWS Chatbot Administrator Guide* .
389
- :param teams_channel_id: The id of the Microsoft Teams channel.
389
+ :param teams_channel_id: The ID of the Microsoft Teams channel. To get the channel ID, open Microsoft Teams, right click on the channel name in the left pane, then choose Copy. An example of the channel ID syntax is: ``19%3ab6ef35dc342d56ba5654e6fc6d25a071%40thread.tacv2`` .
390
390
  :param teams_tenant_id: The ID of the Microsoft Teams tenant. To get the tenant ID, you must perform the initial authorization flow with Microsoft Teams in the AWS Chatbot console. Then you can copy and paste the tenant ID from the console. For more details, see steps 1-4 in `Get started with Microsoft Teams <https://docs.aws.amazon.com/chatbot/latest/adminguide/teams-setup.html#teams-client-setup>`_ in the *AWS Chatbot Administrator Guide* .
391
391
  :param guardrail_policies: The list of IAM policy ARNs that are applied as channel guardrails. The AWS managed 'AdministratorAccess' policy is applied as a default if this is not set.
392
392
  :param logging_level: Specifies the logging level for this configuration. This property affects the log entries pushed to Amazon CloudWatch Logs. Logging levels include ``ERROR`` , ``INFO`` , or ``NONE`` . Default: - "NONE"
@@ -479,7 +479,9 @@ class CfnMicrosoftTeamsChannelConfigurationProps:
479
479
 
480
480
  @builtins.property
481
481
  def teams_channel_id(self) -> builtins.str:
482
- '''The id of the Microsoft Teams channel.
482
+ '''The ID of the Microsoft Teams channel.
483
+
484
+ To get the channel ID, open Microsoft Teams, right click on the channel name in the left pane, then choose Copy. An example of the channel ID syntax is: ``19%3ab6ef35dc342d56ba5654e6fc6d25a071%40thread.tacv2`` .
483
485
 
484
486
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-microsoftteamschannelconfiguration.html#cfn-chatbot-microsoftteamschannelconfiguration-teamschannelid
485
487
  '''
@@ -2825,8 +2825,11 @@ class CfnConfiguredTable(
2825
2825
  *,
2826
2826
  columns: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnConfiguredTable.DifferentialPrivacyColumnProperty", typing.Dict[builtins.str, typing.Any]]]]],
2827
2827
  ) -> None:
2828
- '''
2829
- :param columns:
2828
+ '''The analysis method for the configured tables.
2829
+
2830
+ The only valid value is currently ``DIRECT_QUERY``.
2831
+
2832
+ :param columns: The name of the column, such as user_id, that contains the unique identifier of your users, whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules.
2830
2833
 
2831
2834
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtable-differentialprivacy.html
2832
2835
  :exampleMetadata: fixture=_generated
@@ -2854,7 +2857,10 @@ class CfnConfiguredTable(
2854
2857
  def columns(
2855
2858
  self,
2856
2859
  ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnConfiguredTable.DifferentialPrivacyColumnProperty"]]]:
2857
- '''
2860
+ '''The name of the column, such as user_id, that contains the unique identifier of your users, whose privacy you want to protect.
2861
+
2862
+ If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules.
2863
+
2858
2864
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtable-differentialprivacy.html#cfn-cleanrooms-configuredtable-differentialprivacy-columns
2859
2865
  '''
2860
2866
  result = self._values.get("columns")
@@ -4346,6 +4352,447 @@ class CfnMembershipProps:
4346
4352
  )
4347
4353
 
4348
4354
 
4355
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
4356
+ class CfnPrivacyBudgetTemplate(
4357
+ _CfnResource_9df397a6,
4358
+ metaclass=jsii.JSIIMeta,
4359
+ jsii_type="aws-cdk-lib.aws_cleanrooms.CfnPrivacyBudgetTemplate",
4360
+ ):
4361
+ '''An object that defines the privacy budget template.
4362
+
4363
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-privacybudgettemplate.html
4364
+ :cloudformationResource: AWS::CleanRooms::PrivacyBudgetTemplate
4365
+ :exampleMetadata: fixture=_generated
4366
+
4367
+ Example::
4368
+
4369
+ # The code below shows an example of how to instantiate this type.
4370
+ # The values are placeholders you should change.
4371
+ from aws_cdk import aws_cleanrooms as cleanrooms
4372
+
4373
+ cfn_privacy_budget_template = cleanrooms.CfnPrivacyBudgetTemplate(self, "MyCfnPrivacyBudgetTemplate",
4374
+ auto_refresh="autoRefresh",
4375
+ membership_identifier="membershipIdentifier",
4376
+ parameters=cleanrooms.CfnPrivacyBudgetTemplate.ParametersProperty(
4377
+ epsilon=123,
4378
+ users_noise_per_query=123
4379
+ ),
4380
+ privacy_budget_type="privacyBudgetType",
4381
+
4382
+ # the properties below are optional
4383
+ tags=[CfnTag(
4384
+ key="key",
4385
+ value="value"
4386
+ )]
4387
+ )
4388
+ '''
4389
+
4390
+ def __init__(
4391
+ self,
4392
+ scope: _constructs_77d1e7e8.Construct,
4393
+ id: builtins.str,
4394
+ *,
4395
+ auto_refresh: builtins.str,
4396
+ membership_identifier: builtins.str,
4397
+ parameters: typing.Union[_IResolvable_da3f097b, typing.Union["CfnPrivacyBudgetTemplate.ParametersProperty", typing.Dict[builtins.str, typing.Any]]],
4398
+ privacy_budget_type: builtins.str,
4399
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
4400
+ ) -> None:
4401
+ '''
4402
+ :param scope: Scope in which this resource is defined.
4403
+ :param id: Construct identifier for this resource (unique in its scope).
4404
+ :param auto_refresh: How often the privacy budget refreshes. .. epigraph:: If you plan to regularly bring new data into the collaboration, use ``CALENDAR_MONTH`` to automatically get a new privacy budget for the collaboration every calendar month. Choosing this option allows arbitrary amounts of information to be revealed about rows of the data when repeatedly queried across refreshes. Avoid choosing this if the same rows will be repeatedly queried between privacy budget refreshes.
4405
+ :param membership_identifier: The identifier for a membership resource.
4406
+ :param parameters: Specifies the epislon and noise parameters for the privacy budget template.
4407
+ :param privacy_budget_type: Specifies the type of the privacy budget template.
4408
+ :param tags: An arbitrary set of tags (key-value pairs) for this cleanrooms privacy budget template.
4409
+ '''
4410
+ if __debug__:
4411
+ type_hints = typing.get_type_hints(_typecheckingstub__f4ef80e47afb9dceb9f249b561d13bd079011c08e3eadfd7c85afef7b15b6395)
4412
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
4413
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
4414
+ props = CfnPrivacyBudgetTemplateProps(
4415
+ auto_refresh=auto_refresh,
4416
+ membership_identifier=membership_identifier,
4417
+ parameters=parameters,
4418
+ privacy_budget_type=privacy_budget_type,
4419
+ tags=tags,
4420
+ )
4421
+
4422
+ jsii.create(self.__class__, self, [scope, id, props])
4423
+
4424
+ @jsii.member(jsii_name="inspect")
4425
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
4426
+ '''Examines the CloudFormation resource and discloses attributes.
4427
+
4428
+ :param inspector: tree inspector to collect and process attributes.
4429
+ '''
4430
+ if __debug__:
4431
+ type_hints = typing.get_type_hints(_typecheckingstub__4105213a7d3d459c08d1525f399592909787ead616f1a795ab1b4391f1c50f74)
4432
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
4433
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
4434
+
4435
+ @jsii.member(jsii_name="renderProperties")
4436
+ def _render_properties(
4437
+ self,
4438
+ props: typing.Mapping[builtins.str, typing.Any],
4439
+ ) -> typing.Mapping[builtins.str, typing.Any]:
4440
+ '''
4441
+ :param props: -
4442
+ '''
4443
+ if __debug__:
4444
+ type_hints = typing.get_type_hints(_typecheckingstub__0bf81ecc233447257243d10c0d69e227d4821702f88ae519ba06a04eef3a6730)
4445
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
4446
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
4447
+
4448
+ @jsii.python.classproperty
4449
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
4450
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
4451
+ '''The CloudFormation resource type name for this resource class.'''
4452
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
4453
+
4454
+ @builtins.property
4455
+ @jsii.member(jsii_name="attrArn")
4456
+ def attr_arn(self) -> builtins.str:
4457
+ '''The ARN of the privacy budget template.
4458
+
4459
+ :cloudformationAttribute: Arn
4460
+ '''
4461
+ return typing.cast(builtins.str, jsii.get(self, "attrArn"))
4462
+
4463
+ @builtins.property
4464
+ @jsii.member(jsii_name="attrCollaborationArn")
4465
+ def attr_collaboration_arn(self) -> builtins.str:
4466
+ '''The ARN of the collaboration that contains this privacy budget template.
4467
+
4468
+ :cloudformationAttribute: CollaborationArn
4469
+ '''
4470
+ return typing.cast(builtins.str, jsii.get(self, "attrCollaborationArn"))
4471
+
4472
+ @builtins.property
4473
+ @jsii.member(jsii_name="attrCollaborationIdentifier")
4474
+ def attr_collaboration_identifier(self) -> builtins.str:
4475
+ '''The unique ID of the collaboration that contains this privacy budget template.
4476
+
4477
+ :cloudformationAttribute: CollaborationIdentifier
4478
+ '''
4479
+ return typing.cast(builtins.str, jsii.get(self, "attrCollaborationIdentifier"))
4480
+
4481
+ @builtins.property
4482
+ @jsii.member(jsii_name="attrMembershipArn")
4483
+ def attr_membership_arn(self) -> builtins.str:
4484
+ '''The Amazon Resource Name (ARN) of the member who created the privacy budget template.
4485
+
4486
+ :cloudformationAttribute: MembershipArn
4487
+ '''
4488
+ return typing.cast(builtins.str, jsii.get(self, "attrMembershipArn"))
4489
+
4490
+ @builtins.property
4491
+ @jsii.member(jsii_name="attrPrivacyBudgetTemplateIdentifier")
4492
+ def attr_privacy_budget_template_identifier(self) -> builtins.str:
4493
+ '''A unique identifier for one of your memberships for a collaboration.
4494
+
4495
+ The privacy budget template is created in the collaboration that this membership belongs to. Accepts a membership ID.
4496
+
4497
+ :cloudformationAttribute: PrivacyBudgetTemplateIdentifier
4498
+ '''
4499
+ return typing.cast(builtins.str, jsii.get(self, "attrPrivacyBudgetTemplateIdentifier"))
4500
+
4501
+ @builtins.property
4502
+ @jsii.member(jsii_name="cdkTagManager")
4503
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
4504
+ '''Tag Manager which manages the tags for this resource.'''
4505
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
4506
+
4507
+ @builtins.property
4508
+ @jsii.member(jsii_name="cfnProperties")
4509
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
4510
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
4511
+
4512
+ @builtins.property
4513
+ @jsii.member(jsii_name="autoRefresh")
4514
+ def auto_refresh(self) -> builtins.str:
4515
+ '''How often the privacy budget refreshes.'''
4516
+ return typing.cast(builtins.str, jsii.get(self, "autoRefresh"))
4517
+
4518
+ @auto_refresh.setter
4519
+ def auto_refresh(self, value: builtins.str) -> None:
4520
+ if __debug__:
4521
+ type_hints = typing.get_type_hints(_typecheckingstub__7aac4d267c9bad45a4e435ea568f943c0e3bf8200eb41fb580c04ae8a221cfdb)
4522
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4523
+ jsii.set(self, "autoRefresh", value)
4524
+
4525
+ @builtins.property
4526
+ @jsii.member(jsii_name="membershipIdentifier")
4527
+ def membership_identifier(self) -> builtins.str:
4528
+ '''The identifier for a membership resource.'''
4529
+ return typing.cast(builtins.str, jsii.get(self, "membershipIdentifier"))
4530
+
4531
+ @membership_identifier.setter
4532
+ def membership_identifier(self, value: builtins.str) -> None:
4533
+ if __debug__:
4534
+ type_hints = typing.get_type_hints(_typecheckingstub__451d7c98300c47ca24e57e08313a6f1c3e359f595cc6d9bd21ca7564f781be19)
4535
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4536
+ jsii.set(self, "membershipIdentifier", value)
4537
+
4538
+ @builtins.property
4539
+ @jsii.member(jsii_name="parameters")
4540
+ def parameters(
4541
+ self,
4542
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnPrivacyBudgetTemplate.ParametersProperty"]:
4543
+ '''Specifies the epislon and noise parameters for the privacy budget template.'''
4544
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnPrivacyBudgetTemplate.ParametersProperty"], jsii.get(self, "parameters"))
4545
+
4546
+ @parameters.setter
4547
+ def parameters(
4548
+ self,
4549
+ value: typing.Union[_IResolvable_da3f097b, "CfnPrivacyBudgetTemplate.ParametersProperty"],
4550
+ ) -> None:
4551
+ if __debug__:
4552
+ type_hints = typing.get_type_hints(_typecheckingstub__2f392867d1a4c1fee75cc8b48d97f801894a657d907a13d4d2a21ce8f8e5aeb9)
4553
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4554
+ jsii.set(self, "parameters", value)
4555
+
4556
+ @builtins.property
4557
+ @jsii.member(jsii_name="privacyBudgetType")
4558
+ def privacy_budget_type(self) -> builtins.str:
4559
+ '''Specifies the type of the privacy budget template.'''
4560
+ return typing.cast(builtins.str, jsii.get(self, "privacyBudgetType"))
4561
+
4562
+ @privacy_budget_type.setter
4563
+ def privacy_budget_type(self, value: builtins.str) -> None:
4564
+ if __debug__:
4565
+ type_hints = typing.get_type_hints(_typecheckingstub__af09670bc39ec5464305b000607d6c8a229830c5ad3234b2a82e4e6004d271df)
4566
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4567
+ jsii.set(self, "privacyBudgetType", value)
4568
+
4569
+ @builtins.property
4570
+ @jsii.member(jsii_name="tags")
4571
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
4572
+ '''An arbitrary set of tags (key-value pairs) for this cleanrooms privacy budget template.'''
4573
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
4574
+
4575
+ @tags.setter
4576
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
4577
+ if __debug__:
4578
+ type_hints = typing.get_type_hints(_typecheckingstub__b6baec6343b79fd0bf9b81122904ed3d87c0dfb35be66cc64d471a7a08ddc00f)
4579
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4580
+ jsii.set(self, "tags", value)
4581
+
4582
+ @jsii.data_type(
4583
+ jsii_type="aws-cdk-lib.aws_cleanrooms.CfnPrivacyBudgetTemplate.ParametersProperty",
4584
+ jsii_struct_bases=[],
4585
+ name_mapping={
4586
+ "epsilon": "epsilon",
4587
+ "users_noise_per_query": "usersNoisePerQuery",
4588
+ },
4589
+ )
4590
+ class ParametersProperty:
4591
+ def __init__(
4592
+ self,
4593
+ *,
4594
+ epsilon: jsii.Number,
4595
+ users_noise_per_query: jsii.Number,
4596
+ ) -> None:
4597
+ '''Specifies the epislon and noise parameters for the privacy budget template.
4598
+
4599
+ :param epsilon: The epsilon value that you want to use.
4600
+ :param users_noise_per_query: Noise added per query is measured in terms of the number of users whose contributions you want to obscure. This value governs the rate at which the privacy budget is depleted.
4601
+
4602
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-privacybudgettemplate-parameters.html
4603
+ :exampleMetadata: fixture=_generated
4604
+
4605
+ Example::
4606
+
4607
+ # The code below shows an example of how to instantiate this type.
4608
+ # The values are placeholders you should change.
4609
+ from aws_cdk import aws_cleanrooms as cleanrooms
4610
+
4611
+ parameters_property = cleanrooms.CfnPrivacyBudgetTemplate.ParametersProperty(
4612
+ epsilon=123,
4613
+ users_noise_per_query=123
4614
+ )
4615
+ '''
4616
+ if __debug__:
4617
+ type_hints = typing.get_type_hints(_typecheckingstub__1938eceb4a5ecd53da864bdcbc38554516e8fa365c0dec957d0fe1a8bcdbe3d3)
4618
+ check_type(argname="argument epsilon", value=epsilon, expected_type=type_hints["epsilon"])
4619
+ check_type(argname="argument users_noise_per_query", value=users_noise_per_query, expected_type=type_hints["users_noise_per_query"])
4620
+ self._values: typing.Dict[builtins.str, typing.Any] = {
4621
+ "epsilon": epsilon,
4622
+ "users_noise_per_query": users_noise_per_query,
4623
+ }
4624
+
4625
+ @builtins.property
4626
+ def epsilon(self) -> jsii.Number:
4627
+ '''The epsilon value that you want to use.
4628
+
4629
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-privacybudgettemplate-parameters.html#cfn-cleanrooms-privacybudgettemplate-parameters-epsilon
4630
+ '''
4631
+ result = self._values.get("epsilon")
4632
+ assert result is not None, "Required property 'epsilon' is missing"
4633
+ return typing.cast(jsii.Number, result)
4634
+
4635
+ @builtins.property
4636
+ def users_noise_per_query(self) -> jsii.Number:
4637
+ '''Noise added per query is measured in terms of the number of users whose contributions you want to obscure.
4638
+
4639
+ This value governs the rate at which the privacy budget is depleted.
4640
+
4641
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-privacybudgettemplate-parameters.html#cfn-cleanrooms-privacybudgettemplate-parameters-usersnoiseperquery
4642
+ '''
4643
+ result = self._values.get("users_noise_per_query")
4644
+ assert result is not None, "Required property 'users_noise_per_query' is missing"
4645
+ return typing.cast(jsii.Number, result)
4646
+
4647
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4648
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4649
+
4650
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4651
+ return not (rhs == self)
4652
+
4653
+ def __repr__(self) -> str:
4654
+ return "ParametersProperty(%s)" % ", ".join(
4655
+ k + "=" + repr(v) for k, v in self._values.items()
4656
+ )
4657
+
4658
+
4659
+ @jsii.data_type(
4660
+ jsii_type="aws-cdk-lib.aws_cleanrooms.CfnPrivacyBudgetTemplateProps",
4661
+ jsii_struct_bases=[],
4662
+ name_mapping={
4663
+ "auto_refresh": "autoRefresh",
4664
+ "membership_identifier": "membershipIdentifier",
4665
+ "parameters": "parameters",
4666
+ "privacy_budget_type": "privacyBudgetType",
4667
+ "tags": "tags",
4668
+ },
4669
+ )
4670
+ class CfnPrivacyBudgetTemplateProps:
4671
+ def __init__(
4672
+ self,
4673
+ *,
4674
+ auto_refresh: builtins.str,
4675
+ membership_identifier: builtins.str,
4676
+ parameters: typing.Union[_IResolvable_da3f097b, typing.Union[CfnPrivacyBudgetTemplate.ParametersProperty, typing.Dict[builtins.str, typing.Any]]],
4677
+ privacy_budget_type: builtins.str,
4678
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
4679
+ ) -> None:
4680
+ '''Properties for defining a ``CfnPrivacyBudgetTemplate``.
4681
+
4682
+ :param auto_refresh: How often the privacy budget refreshes. .. epigraph:: If you plan to regularly bring new data into the collaboration, use ``CALENDAR_MONTH`` to automatically get a new privacy budget for the collaboration every calendar month. Choosing this option allows arbitrary amounts of information to be revealed about rows of the data when repeatedly queried across refreshes. Avoid choosing this if the same rows will be repeatedly queried between privacy budget refreshes.
4683
+ :param membership_identifier: The identifier for a membership resource.
4684
+ :param parameters: Specifies the epislon and noise parameters for the privacy budget template.
4685
+ :param privacy_budget_type: Specifies the type of the privacy budget template.
4686
+ :param tags: An arbitrary set of tags (key-value pairs) for this cleanrooms privacy budget template.
4687
+
4688
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-privacybudgettemplate.html
4689
+ :exampleMetadata: fixture=_generated
4690
+
4691
+ Example::
4692
+
4693
+ # The code below shows an example of how to instantiate this type.
4694
+ # The values are placeholders you should change.
4695
+ from aws_cdk import aws_cleanrooms as cleanrooms
4696
+
4697
+ cfn_privacy_budget_template_props = cleanrooms.CfnPrivacyBudgetTemplateProps(
4698
+ auto_refresh="autoRefresh",
4699
+ membership_identifier="membershipIdentifier",
4700
+ parameters=cleanrooms.CfnPrivacyBudgetTemplate.ParametersProperty(
4701
+ epsilon=123,
4702
+ users_noise_per_query=123
4703
+ ),
4704
+ privacy_budget_type="privacyBudgetType",
4705
+
4706
+ # the properties below are optional
4707
+ tags=[CfnTag(
4708
+ key="key",
4709
+ value="value"
4710
+ )]
4711
+ )
4712
+ '''
4713
+ if __debug__:
4714
+ type_hints = typing.get_type_hints(_typecheckingstub__7be5c898600ca696463b88a231c1311a56890ce38a77ba2a33d7a9284885c4e0)
4715
+ check_type(argname="argument auto_refresh", value=auto_refresh, expected_type=type_hints["auto_refresh"])
4716
+ check_type(argname="argument membership_identifier", value=membership_identifier, expected_type=type_hints["membership_identifier"])
4717
+ check_type(argname="argument parameters", value=parameters, expected_type=type_hints["parameters"])
4718
+ check_type(argname="argument privacy_budget_type", value=privacy_budget_type, expected_type=type_hints["privacy_budget_type"])
4719
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
4720
+ self._values: typing.Dict[builtins.str, typing.Any] = {
4721
+ "auto_refresh": auto_refresh,
4722
+ "membership_identifier": membership_identifier,
4723
+ "parameters": parameters,
4724
+ "privacy_budget_type": privacy_budget_type,
4725
+ }
4726
+ if tags is not None:
4727
+ self._values["tags"] = tags
4728
+
4729
+ @builtins.property
4730
+ def auto_refresh(self) -> builtins.str:
4731
+ '''How often the privacy budget refreshes.
4732
+
4733
+ .. epigraph::
4734
+
4735
+ If you plan to regularly bring new data into the collaboration, use ``CALENDAR_MONTH`` to automatically get a new privacy budget for the collaboration every calendar month. Choosing this option allows arbitrary amounts of information to be revealed about rows of the data when repeatedly queried across refreshes. Avoid choosing this if the same rows will be repeatedly queried between privacy budget refreshes.
4736
+
4737
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-privacybudgettemplate.html#cfn-cleanrooms-privacybudgettemplate-autorefresh
4738
+ '''
4739
+ result = self._values.get("auto_refresh")
4740
+ assert result is not None, "Required property 'auto_refresh' is missing"
4741
+ return typing.cast(builtins.str, result)
4742
+
4743
+ @builtins.property
4744
+ def membership_identifier(self) -> builtins.str:
4745
+ '''The identifier for a membership resource.
4746
+
4747
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-privacybudgettemplate.html#cfn-cleanrooms-privacybudgettemplate-membershipidentifier
4748
+ '''
4749
+ result = self._values.get("membership_identifier")
4750
+ assert result is not None, "Required property 'membership_identifier' is missing"
4751
+ return typing.cast(builtins.str, result)
4752
+
4753
+ @builtins.property
4754
+ def parameters(
4755
+ self,
4756
+ ) -> typing.Union[_IResolvable_da3f097b, CfnPrivacyBudgetTemplate.ParametersProperty]:
4757
+ '''Specifies the epislon and noise parameters for the privacy budget template.
4758
+
4759
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-privacybudgettemplate.html#cfn-cleanrooms-privacybudgettemplate-parameters
4760
+ '''
4761
+ result = self._values.get("parameters")
4762
+ assert result is not None, "Required property 'parameters' is missing"
4763
+ return typing.cast(typing.Union[_IResolvable_da3f097b, CfnPrivacyBudgetTemplate.ParametersProperty], result)
4764
+
4765
+ @builtins.property
4766
+ def privacy_budget_type(self) -> builtins.str:
4767
+ '''Specifies the type of the privacy budget template.
4768
+
4769
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-privacybudgettemplate.html#cfn-cleanrooms-privacybudgettemplate-privacybudgettype
4770
+ '''
4771
+ result = self._values.get("privacy_budget_type")
4772
+ assert result is not None, "Required property 'privacy_budget_type' is missing"
4773
+ return typing.cast(builtins.str, result)
4774
+
4775
+ @builtins.property
4776
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
4777
+ '''An arbitrary set of tags (key-value pairs) for this cleanrooms privacy budget template.
4778
+
4779
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-privacybudgettemplate.html#cfn-cleanrooms-privacybudgettemplate-tags
4780
+ '''
4781
+ result = self._values.get("tags")
4782
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
4783
+
4784
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4785
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4786
+
4787
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4788
+ return not (rhs == self)
4789
+
4790
+ def __repr__(self) -> str:
4791
+ return "CfnPrivacyBudgetTemplateProps(%s)" % ", ".join(
4792
+ k + "=" + repr(v) for k, v in self._values.items()
4793
+ )
4794
+
4795
+
4349
4796
  __all__ = [
4350
4797
  "CfnAnalysisTemplate",
4351
4798
  "CfnAnalysisTemplateProps",
@@ -4357,6 +4804,8 @@ __all__ = [
4357
4804
  "CfnConfiguredTableProps",
4358
4805
  "CfnMembership",
4359
4806
  "CfnMembershipProps",
4807
+ "CfnPrivacyBudgetTemplate",
4808
+ "CfnPrivacyBudgetTemplateProps",
4360
4809
  ]
4361
4810
 
4362
4811
  publication.publish()
@@ -4958,3 +5407,77 @@ def _typecheckingstub__2a7030966bdb99200cf7aff97662a2ef1e02754d2c014bc030475065e
4958
5407
  ) -> None:
4959
5408
  """Type checking stubs"""
4960
5409
  pass
5410
+
5411
+ def _typecheckingstub__f4ef80e47afb9dceb9f249b561d13bd079011c08e3eadfd7c85afef7b15b6395(
5412
+ scope: _constructs_77d1e7e8.Construct,
5413
+ id: builtins.str,
5414
+ *,
5415
+ auto_refresh: builtins.str,
5416
+ membership_identifier: builtins.str,
5417
+ parameters: typing.Union[_IResolvable_da3f097b, typing.Union[CfnPrivacyBudgetTemplate.ParametersProperty, typing.Dict[builtins.str, typing.Any]]],
5418
+ privacy_budget_type: builtins.str,
5419
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
5420
+ ) -> None:
5421
+ """Type checking stubs"""
5422
+ pass
5423
+
5424
+ def _typecheckingstub__4105213a7d3d459c08d1525f399592909787ead616f1a795ab1b4391f1c50f74(
5425
+ inspector: _TreeInspector_488e0dd5,
5426
+ ) -> None:
5427
+ """Type checking stubs"""
5428
+ pass
5429
+
5430
+ def _typecheckingstub__0bf81ecc233447257243d10c0d69e227d4821702f88ae519ba06a04eef3a6730(
5431
+ props: typing.Mapping[builtins.str, typing.Any],
5432
+ ) -> None:
5433
+ """Type checking stubs"""
5434
+ pass
5435
+
5436
+ def _typecheckingstub__7aac4d267c9bad45a4e435ea568f943c0e3bf8200eb41fb580c04ae8a221cfdb(
5437
+ value: builtins.str,
5438
+ ) -> None:
5439
+ """Type checking stubs"""
5440
+ pass
5441
+
5442
+ def _typecheckingstub__451d7c98300c47ca24e57e08313a6f1c3e359f595cc6d9bd21ca7564f781be19(
5443
+ value: builtins.str,
5444
+ ) -> None:
5445
+ """Type checking stubs"""
5446
+ pass
5447
+
5448
+ def _typecheckingstub__2f392867d1a4c1fee75cc8b48d97f801894a657d907a13d4d2a21ce8f8e5aeb9(
5449
+ value: typing.Union[_IResolvable_da3f097b, CfnPrivacyBudgetTemplate.ParametersProperty],
5450
+ ) -> None:
5451
+ """Type checking stubs"""
5452
+ pass
5453
+
5454
+ def _typecheckingstub__af09670bc39ec5464305b000607d6c8a229830c5ad3234b2a82e4e6004d271df(
5455
+ value: builtins.str,
5456
+ ) -> None:
5457
+ """Type checking stubs"""
5458
+ pass
5459
+
5460
+ def _typecheckingstub__b6baec6343b79fd0bf9b81122904ed3d87c0dfb35be66cc64d471a7a08ddc00f(
5461
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
5462
+ ) -> None:
5463
+ """Type checking stubs"""
5464
+ pass
5465
+
5466
+ def _typecheckingstub__1938eceb4a5ecd53da864bdcbc38554516e8fa365c0dec957d0fe1a8bcdbe3d3(
5467
+ *,
5468
+ epsilon: jsii.Number,
5469
+ users_noise_per_query: jsii.Number,
5470
+ ) -> None:
5471
+ """Type checking stubs"""
5472
+ pass
5473
+
5474
+ def _typecheckingstub__7be5c898600ca696463b88a231c1311a56890ce38a77ba2a33d7a9284885c4e0(
5475
+ *,
5476
+ auto_refresh: builtins.str,
5477
+ membership_identifier: builtins.str,
5478
+ parameters: typing.Union[_IResolvable_da3f097b, typing.Union[CfnPrivacyBudgetTemplate.ParametersProperty, typing.Dict[builtins.str, typing.Any]]],
5479
+ privacy_budget_type: builtins.str,
5480
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
5481
+ ) -> None:
5482
+ """Type checking stubs"""
5483
+ pass