aws-cdk-lib 2.175.1__py3-none-any.whl → 2.176.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 (40) hide show
  1. aws_cdk/__init__.py +15 -6
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.175.1.jsii.tgz → aws-cdk-lib@2.176.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_apigatewayv2_integrations/__init__.py +159 -7
  5. aws_cdk/aws_appconfig/__init__.py +106 -24
  6. aws_cdk/aws_appsync/__init__.py +3 -3
  7. aws_cdk/aws_backup/__init__.py +18 -84
  8. aws_cdk/aws_cleanrooms/__init__.py +77 -34
  9. aws_cdk/aws_cloudformation/__init__.py +4 -2
  10. aws_cdk/aws_cloudfront/experimental/__init__.py +1 -1
  11. aws_cdk/aws_cloudwatch/__init__.py +53 -49
  12. aws_cdk/aws_codebuild/__init__.py +36 -0
  13. aws_cdk/aws_cognito/__init__.py +228 -219
  14. aws_cdk/aws_customerprofiles/__init__.py +1060 -0
  15. aws_cdk/aws_docdb/__init__.py +29 -9
  16. aws_cdk/aws_dynamodb/__init__.py +77 -58
  17. aws_cdk/aws_ec2/__init__.py +11 -8
  18. aws_cdk/aws_ecs/__init__.py +100 -35
  19. aws_cdk/aws_elasticloadbalancingv2/__init__.py +41 -5
  20. aws_cdk/aws_healthlake/__init__.py +36 -40
  21. aws_cdk/aws_lambda/__init__.py +8 -8
  22. aws_cdk/aws_lambda_event_sources/__init__.py +9 -9
  23. aws_cdk/aws_lex/__init__.py +105 -0
  24. aws_cdk/aws_mediaconvert/__init__.py +7 -3
  25. aws_cdk/aws_organizations/__init__.py +5 -9
  26. aws_cdk/aws_rds/__init__.py +83 -8
  27. aws_cdk/aws_resiliencehub/__init__.py +41 -0
  28. aws_cdk/aws_s3/__init__.py +5 -5
  29. aws_cdk/aws_ses/__init__.py +25 -4
  30. aws_cdk/aws_ssm/__init__.py +9 -2
  31. aws_cdk/aws_ssmquicksetup/__init__.py +84 -84
  32. aws_cdk/aws_sso/__init__.py +9 -5
  33. aws_cdk/cx_api/__init__.py +25 -4
  34. {aws_cdk_lib-2.175.1.dist-info → aws_cdk_lib-2.176.0.dist-info}/METADATA +1 -1
  35. {aws_cdk_lib-2.175.1.dist-info → aws_cdk_lib-2.176.0.dist-info}/RECORD +39 -40
  36. aws_cdk/aws_iot1click/__init__.py +0 -1193
  37. {aws_cdk_lib-2.175.1.dist-info → aws_cdk_lib-2.176.0.dist-info}/LICENSE +0 -0
  38. {aws_cdk_lib-2.175.1.dist-info → aws_cdk_lib-2.176.0.dist-info}/NOTICE +0 -0
  39. {aws_cdk_lib-2.175.1.dist-info → aws_cdk_lib-2.176.0.dist-info}/WHEEL +0 -0
  40. {aws_cdk_lib-2.175.1.dist-info → aws_cdk_lib-2.176.0.dist-info}/top_level.txt +0 -0
@@ -2922,6 +2922,931 @@ class CfnEventStreamProps:
2922
2922
  )
2923
2923
 
2924
2924
 
2925
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
2926
+ class CfnEventTrigger(
2927
+ _CfnResource_9df397a6,
2928
+ metaclass=jsii.JSIIMeta,
2929
+ jsii_type="aws-cdk-lib.aws_customerprofiles.CfnEventTrigger",
2930
+ ):
2931
+ '''An event trigger resource of Amazon Connect Customer Profiles.
2932
+
2933
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-eventtrigger.html
2934
+ :cloudformationResource: AWS::CustomerProfiles::EventTrigger
2935
+ :exampleMetadata: fixture=_generated
2936
+
2937
+ Example::
2938
+
2939
+ # The code below shows an example of how to instantiate this type.
2940
+ # The values are placeholders you should change.
2941
+ from aws_cdk import aws_customerprofiles as customerprofiles
2942
+
2943
+ cfn_event_trigger = customerprofiles.CfnEventTrigger(self, "MyCfnEventTrigger",
2944
+ domain_name="domainName",
2945
+ event_trigger_conditions=[customerprofiles.CfnEventTrigger.EventTriggerConditionProperty(
2946
+ event_trigger_dimensions=[customerprofiles.CfnEventTrigger.EventTriggerDimensionProperty(
2947
+ object_attributes=[customerprofiles.CfnEventTrigger.ObjectAttributeProperty(
2948
+ comparison_operator="comparisonOperator",
2949
+ values=["values"],
2950
+
2951
+ # the properties below are optional
2952
+ field_name="fieldName",
2953
+ source="source"
2954
+ )]
2955
+ )],
2956
+ logical_operator="logicalOperator"
2957
+ )],
2958
+ event_trigger_name="eventTriggerName",
2959
+ object_type_name="objectTypeName",
2960
+
2961
+ # the properties below are optional
2962
+ description="description",
2963
+ event_trigger_limits=customerprofiles.CfnEventTrigger.EventTriggerLimitsProperty(
2964
+ event_expiration=123,
2965
+ periods=[customerprofiles.CfnEventTrigger.PeriodProperty(
2966
+ unit="unit",
2967
+ value=123,
2968
+
2969
+ # the properties below are optional
2970
+ max_invocations_per_profile=123,
2971
+ unlimited=False
2972
+ )]
2973
+ ),
2974
+ segment_filter="segmentFilter",
2975
+ tags=[CfnTag(
2976
+ key="key",
2977
+ value="value"
2978
+ )]
2979
+ )
2980
+ '''
2981
+
2982
+ def __init__(
2983
+ self,
2984
+ scope: _constructs_77d1e7e8.Construct,
2985
+ id: builtins.str,
2986
+ *,
2987
+ domain_name: builtins.str,
2988
+ event_trigger_conditions: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnEventTrigger.EventTriggerConditionProperty", typing.Dict[builtins.str, typing.Any]]]]],
2989
+ event_trigger_name: builtins.str,
2990
+ object_type_name: builtins.str,
2991
+ description: typing.Optional[builtins.str] = None,
2992
+ event_trigger_limits: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnEventTrigger.EventTriggerLimitsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2993
+ segment_filter: typing.Optional[builtins.str] = None,
2994
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2995
+ ) -> None:
2996
+ '''
2997
+ :param scope: Scope in which this resource is defined.
2998
+ :param id: Construct identifier for this resource (unique in its scope).
2999
+ :param domain_name: The unique name of the domain.
3000
+ :param event_trigger_conditions: A list of conditions that determine when an event should trigger the destination.
3001
+ :param event_trigger_name: The unique name of the event trigger.
3002
+ :param object_type_name: The unique name of the object type.
3003
+ :param description: The description of the event trigger.
3004
+ :param event_trigger_limits: Defines limits controlling whether an event triggers the destination, based on ingestion latency and the number of invocations per profile over specific time periods.
3005
+ :param segment_filter: The destination is triggered only for profiles that meet the criteria of a segment definition.
3006
+ :param tags: An array of key-value pairs to apply to this resource.
3007
+ '''
3008
+ if __debug__:
3009
+ type_hints = typing.get_type_hints(_typecheckingstub__3238d15e8be30353d06e9f7813fb0d93d105339df1e3008dc6d5d889128103a4)
3010
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
3011
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
3012
+ props = CfnEventTriggerProps(
3013
+ domain_name=domain_name,
3014
+ event_trigger_conditions=event_trigger_conditions,
3015
+ event_trigger_name=event_trigger_name,
3016
+ object_type_name=object_type_name,
3017
+ description=description,
3018
+ event_trigger_limits=event_trigger_limits,
3019
+ segment_filter=segment_filter,
3020
+ tags=tags,
3021
+ )
3022
+
3023
+ jsii.create(self.__class__, self, [scope, id, props])
3024
+
3025
+ @jsii.member(jsii_name="inspect")
3026
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
3027
+ '''Examines the CloudFormation resource and discloses attributes.
3028
+
3029
+ :param inspector: tree inspector to collect and process attributes.
3030
+ '''
3031
+ if __debug__:
3032
+ type_hints = typing.get_type_hints(_typecheckingstub__6e272d39f5f3a739ab199e698c49cb32366cbc41b54a8e3cc306be93e625b409)
3033
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
3034
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
3035
+
3036
+ @jsii.member(jsii_name="renderProperties")
3037
+ def _render_properties(
3038
+ self,
3039
+ props: typing.Mapping[builtins.str, typing.Any],
3040
+ ) -> typing.Mapping[builtins.str, typing.Any]:
3041
+ '''
3042
+ :param props: -
3043
+ '''
3044
+ if __debug__:
3045
+ type_hints = typing.get_type_hints(_typecheckingstub__9d0fbc1a083288ddd09e30a938f56be084f6444e4f3ee741d96ffda16a72c037)
3046
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
3047
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
3048
+
3049
+ @jsii.python.classproperty
3050
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
3051
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
3052
+ '''The CloudFormation resource type name for this resource class.'''
3053
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
3054
+
3055
+ @builtins.property
3056
+ @jsii.member(jsii_name="attrCreatedAt")
3057
+ def attr_created_at(self) -> builtins.str:
3058
+ '''The timestamp of when the event trigger was created.
3059
+
3060
+ :cloudformationAttribute: CreatedAt
3061
+ '''
3062
+ return typing.cast(builtins.str, jsii.get(self, "attrCreatedAt"))
3063
+
3064
+ @builtins.property
3065
+ @jsii.member(jsii_name="attrLastUpdatedAt")
3066
+ def attr_last_updated_at(self) -> builtins.str:
3067
+ '''The timestamp of when the event trigger was most recently updated.
3068
+
3069
+ :cloudformationAttribute: LastUpdatedAt
3070
+ '''
3071
+ return typing.cast(builtins.str, jsii.get(self, "attrLastUpdatedAt"))
3072
+
3073
+ @builtins.property
3074
+ @jsii.member(jsii_name="cdkTagManager")
3075
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
3076
+ '''Tag Manager which manages the tags for this resource.'''
3077
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
3078
+
3079
+ @builtins.property
3080
+ @jsii.member(jsii_name="cfnProperties")
3081
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
3082
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
3083
+
3084
+ @builtins.property
3085
+ @jsii.member(jsii_name="domainName")
3086
+ def domain_name(self) -> builtins.str:
3087
+ '''The unique name of the domain.'''
3088
+ return typing.cast(builtins.str, jsii.get(self, "domainName"))
3089
+
3090
+ @domain_name.setter
3091
+ def domain_name(self, value: builtins.str) -> None:
3092
+ if __debug__:
3093
+ type_hints = typing.get_type_hints(_typecheckingstub__46f0ca81a5f8cee1e0a4c4f9b3d38652326a6ebce5ed8f5ee45cd3300bc09d21)
3094
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3095
+ jsii.set(self, "domainName", value) # pyright: ignore[reportArgumentType]
3096
+
3097
+ @builtins.property
3098
+ @jsii.member(jsii_name="eventTriggerConditions")
3099
+ def event_trigger_conditions(
3100
+ self,
3101
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnEventTrigger.EventTriggerConditionProperty"]]]:
3102
+ '''A list of conditions that determine when an event should trigger the destination.'''
3103
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnEventTrigger.EventTriggerConditionProperty"]]], jsii.get(self, "eventTriggerConditions"))
3104
+
3105
+ @event_trigger_conditions.setter
3106
+ def event_trigger_conditions(
3107
+ self,
3108
+ value: typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnEventTrigger.EventTriggerConditionProperty"]]],
3109
+ ) -> None:
3110
+ if __debug__:
3111
+ type_hints = typing.get_type_hints(_typecheckingstub__6c4c9a1ce30ec03f18e86da98746e17633bdcc9de1f9657feb330288a5703464)
3112
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3113
+ jsii.set(self, "eventTriggerConditions", value) # pyright: ignore[reportArgumentType]
3114
+
3115
+ @builtins.property
3116
+ @jsii.member(jsii_name="eventTriggerName")
3117
+ def event_trigger_name(self) -> builtins.str:
3118
+ '''The unique name of the event trigger.'''
3119
+ return typing.cast(builtins.str, jsii.get(self, "eventTriggerName"))
3120
+
3121
+ @event_trigger_name.setter
3122
+ def event_trigger_name(self, value: builtins.str) -> None:
3123
+ if __debug__:
3124
+ type_hints = typing.get_type_hints(_typecheckingstub__b9a32cfee1a68445fea2fa917fb431b02536069883dc6c492094b36c48158d6f)
3125
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3126
+ jsii.set(self, "eventTriggerName", value) # pyright: ignore[reportArgumentType]
3127
+
3128
+ @builtins.property
3129
+ @jsii.member(jsii_name="objectTypeName")
3130
+ def object_type_name(self) -> builtins.str:
3131
+ '''The unique name of the object type.'''
3132
+ return typing.cast(builtins.str, jsii.get(self, "objectTypeName"))
3133
+
3134
+ @object_type_name.setter
3135
+ def object_type_name(self, value: builtins.str) -> None:
3136
+ if __debug__:
3137
+ type_hints = typing.get_type_hints(_typecheckingstub__26f048d7d34ef17a451ca6afc9c754cf23e5448d0fa70d08e95941b41a53e15b)
3138
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3139
+ jsii.set(self, "objectTypeName", value) # pyright: ignore[reportArgumentType]
3140
+
3141
+ @builtins.property
3142
+ @jsii.member(jsii_name="description")
3143
+ def description(self) -> typing.Optional[builtins.str]:
3144
+ '''The description of the event trigger.'''
3145
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "description"))
3146
+
3147
+ @description.setter
3148
+ def description(self, value: typing.Optional[builtins.str]) -> None:
3149
+ if __debug__:
3150
+ type_hints = typing.get_type_hints(_typecheckingstub__14f8e2b14eb300ec5bb3dbffd9fda2b1b3fa26a8ccb24220faf205a2c9252b16)
3151
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3152
+ jsii.set(self, "description", value) # pyright: ignore[reportArgumentType]
3153
+
3154
+ @builtins.property
3155
+ @jsii.member(jsii_name="eventTriggerLimits")
3156
+ def event_trigger_limits(
3157
+ self,
3158
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventTrigger.EventTriggerLimitsProperty"]]:
3159
+ '''Defines limits controlling whether an event triggers the destination, based on ingestion latency and the number of invocations per profile over specific time periods.'''
3160
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventTrigger.EventTriggerLimitsProperty"]], jsii.get(self, "eventTriggerLimits"))
3161
+
3162
+ @event_trigger_limits.setter
3163
+ def event_trigger_limits(
3164
+ self,
3165
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventTrigger.EventTriggerLimitsProperty"]],
3166
+ ) -> None:
3167
+ if __debug__:
3168
+ type_hints = typing.get_type_hints(_typecheckingstub__8577e6b11fafc0b473494e772f42df4b3a275f14decae7f35bf35c8ceca6efbb)
3169
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3170
+ jsii.set(self, "eventTriggerLimits", value) # pyright: ignore[reportArgumentType]
3171
+
3172
+ @builtins.property
3173
+ @jsii.member(jsii_name="segmentFilter")
3174
+ def segment_filter(self) -> typing.Optional[builtins.str]:
3175
+ '''The destination is triggered only for profiles that meet the criteria of a segment definition.'''
3176
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "segmentFilter"))
3177
+
3178
+ @segment_filter.setter
3179
+ def segment_filter(self, value: typing.Optional[builtins.str]) -> None:
3180
+ if __debug__:
3181
+ type_hints = typing.get_type_hints(_typecheckingstub__6ed3d132124c95676f8283662330dfc6f234432d197bcdb1846aeb9b55d6b31d)
3182
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3183
+ jsii.set(self, "segmentFilter", value) # pyright: ignore[reportArgumentType]
3184
+
3185
+ @builtins.property
3186
+ @jsii.member(jsii_name="tags")
3187
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
3188
+ '''An array of key-value pairs to apply to this resource.'''
3189
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
3190
+
3191
+ @tags.setter
3192
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
3193
+ if __debug__:
3194
+ type_hints = typing.get_type_hints(_typecheckingstub__0431604b79fa9f08ecdffc28b119f0c684057eb139cb8d0fcc9e51cc364ff34a)
3195
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3196
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
3197
+
3198
+ @jsii.data_type(
3199
+ jsii_type="aws-cdk-lib.aws_customerprofiles.CfnEventTrigger.EventTriggerConditionProperty",
3200
+ jsii_struct_bases=[],
3201
+ name_mapping={
3202
+ "event_trigger_dimensions": "eventTriggerDimensions",
3203
+ "logical_operator": "logicalOperator",
3204
+ },
3205
+ )
3206
+ class EventTriggerConditionProperty:
3207
+ def __init__(
3208
+ self,
3209
+ *,
3210
+ event_trigger_dimensions: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnEventTrigger.EventTriggerDimensionProperty", typing.Dict[builtins.str, typing.Any]]]]],
3211
+ logical_operator: builtins.str,
3212
+ ) -> None:
3213
+ '''Specifies the circumstances under which the event should trigger the destination.
3214
+
3215
+ :param event_trigger_dimensions: A list of dimensions to be evaluated for the event.
3216
+ :param logical_operator: The operator used to combine multiple dimensions.
3217
+
3218
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-eventtrigger-eventtriggercondition.html
3219
+ :exampleMetadata: fixture=_generated
3220
+
3221
+ Example::
3222
+
3223
+ # The code below shows an example of how to instantiate this type.
3224
+ # The values are placeholders you should change.
3225
+ from aws_cdk import aws_customerprofiles as customerprofiles
3226
+
3227
+ event_trigger_condition_property = customerprofiles.CfnEventTrigger.EventTriggerConditionProperty(
3228
+ event_trigger_dimensions=[customerprofiles.CfnEventTrigger.EventTriggerDimensionProperty(
3229
+ object_attributes=[customerprofiles.CfnEventTrigger.ObjectAttributeProperty(
3230
+ comparison_operator="comparisonOperator",
3231
+ values=["values"],
3232
+
3233
+ # the properties below are optional
3234
+ field_name="fieldName",
3235
+ source="source"
3236
+ )]
3237
+ )],
3238
+ logical_operator="logicalOperator"
3239
+ )
3240
+ '''
3241
+ if __debug__:
3242
+ type_hints = typing.get_type_hints(_typecheckingstub__01622abde91c4f131120bde889e115bd6740e17b0e7e060628263c9607cf01d4)
3243
+ check_type(argname="argument event_trigger_dimensions", value=event_trigger_dimensions, expected_type=type_hints["event_trigger_dimensions"])
3244
+ check_type(argname="argument logical_operator", value=logical_operator, expected_type=type_hints["logical_operator"])
3245
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3246
+ "event_trigger_dimensions": event_trigger_dimensions,
3247
+ "logical_operator": logical_operator,
3248
+ }
3249
+
3250
+ @builtins.property
3251
+ def event_trigger_dimensions(
3252
+ self,
3253
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnEventTrigger.EventTriggerDimensionProperty"]]]:
3254
+ '''A list of dimensions to be evaluated for the event.
3255
+
3256
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-eventtrigger-eventtriggercondition.html#cfn-customerprofiles-eventtrigger-eventtriggercondition-eventtriggerdimensions
3257
+ '''
3258
+ result = self._values.get("event_trigger_dimensions")
3259
+ assert result is not None, "Required property 'event_trigger_dimensions' is missing"
3260
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnEventTrigger.EventTriggerDimensionProperty"]]], result)
3261
+
3262
+ @builtins.property
3263
+ def logical_operator(self) -> builtins.str:
3264
+ '''The operator used to combine multiple dimensions.
3265
+
3266
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-eventtrigger-eventtriggercondition.html#cfn-customerprofiles-eventtrigger-eventtriggercondition-logicaloperator
3267
+ '''
3268
+ result = self._values.get("logical_operator")
3269
+ assert result is not None, "Required property 'logical_operator' is missing"
3270
+ return typing.cast(builtins.str, result)
3271
+
3272
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3273
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3274
+
3275
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3276
+ return not (rhs == self)
3277
+
3278
+ def __repr__(self) -> str:
3279
+ return "EventTriggerConditionProperty(%s)" % ", ".join(
3280
+ k + "=" + repr(v) for k, v in self._values.items()
3281
+ )
3282
+
3283
+ @jsii.data_type(
3284
+ jsii_type="aws-cdk-lib.aws_customerprofiles.CfnEventTrigger.EventTriggerDimensionProperty",
3285
+ jsii_struct_bases=[],
3286
+ name_mapping={"object_attributes": "objectAttributes"},
3287
+ )
3288
+ class EventTriggerDimensionProperty:
3289
+ def __init__(
3290
+ self,
3291
+ *,
3292
+ object_attributes: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnEventTrigger.ObjectAttributeProperty", typing.Dict[builtins.str, typing.Any]]]]],
3293
+ ) -> None:
3294
+ '''A specific event dimension to be assessed.
3295
+
3296
+ :param object_attributes: A list of object attributes to be evaluated.
3297
+
3298
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-eventtrigger-eventtriggerdimension.html
3299
+ :exampleMetadata: fixture=_generated
3300
+
3301
+ Example::
3302
+
3303
+ # The code below shows an example of how to instantiate this type.
3304
+ # The values are placeholders you should change.
3305
+ from aws_cdk import aws_customerprofiles as customerprofiles
3306
+
3307
+ event_trigger_dimension_property = customerprofiles.CfnEventTrigger.EventTriggerDimensionProperty(
3308
+ object_attributes=[customerprofiles.CfnEventTrigger.ObjectAttributeProperty(
3309
+ comparison_operator="comparisonOperator",
3310
+ values=["values"],
3311
+
3312
+ # the properties below are optional
3313
+ field_name="fieldName",
3314
+ source="source"
3315
+ )]
3316
+ )
3317
+ '''
3318
+ if __debug__:
3319
+ type_hints = typing.get_type_hints(_typecheckingstub__936befd5e0ecb3c45c2c47843a0cfa5dfc87acecf21c037978def245f15c99ff)
3320
+ check_type(argname="argument object_attributes", value=object_attributes, expected_type=type_hints["object_attributes"])
3321
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3322
+ "object_attributes": object_attributes,
3323
+ }
3324
+
3325
+ @builtins.property
3326
+ def object_attributes(
3327
+ self,
3328
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnEventTrigger.ObjectAttributeProperty"]]]:
3329
+ '''A list of object attributes to be evaluated.
3330
+
3331
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-eventtrigger-eventtriggerdimension.html#cfn-customerprofiles-eventtrigger-eventtriggerdimension-objectattributes
3332
+ '''
3333
+ result = self._values.get("object_attributes")
3334
+ assert result is not None, "Required property 'object_attributes' is missing"
3335
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnEventTrigger.ObjectAttributeProperty"]]], result)
3336
+
3337
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3338
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3339
+
3340
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3341
+ return not (rhs == self)
3342
+
3343
+ def __repr__(self) -> str:
3344
+ return "EventTriggerDimensionProperty(%s)" % ", ".join(
3345
+ k + "=" + repr(v) for k, v in self._values.items()
3346
+ )
3347
+
3348
+ @jsii.data_type(
3349
+ jsii_type="aws-cdk-lib.aws_customerprofiles.CfnEventTrigger.EventTriggerLimitsProperty",
3350
+ jsii_struct_bases=[],
3351
+ name_mapping={"event_expiration": "eventExpiration", "periods": "periods"},
3352
+ )
3353
+ class EventTriggerLimitsProperty:
3354
+ def __init__(
3355
+ self,
3356
+ *,
3357
+ event_expiration: typing.Optional[jsii.Number] = None,
3358
+ periods: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnEventTrigger.PeriodProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
3359
+ ) -> None:
3360
+ '''Defines limits controlling whether an event triggers the destination, based on ingestion latency and the number of invocations per profile over specific time periods.
3361
+
3362
+ :param event_expiration: Specifies that an event will only trigger the destination if it is processed within a certain latency period.
3363
+ :param periods: A list of time periods during which the limits apply.
3364
+
3365
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-eventtrigger-eventtriggerlimits.html
3366
+ :exampleMetadata: fixture=_generated
3367
+
3368
+ Example::
3369
+
3370
+ # The code below shows an example of how to instantiate this type.
3371
+ # The values are placeholders you should change.
3372
+ from aws_cdk import aws_customerprofiles as customerprofiles
3373
+
3374
+ event_trigger_limits_property = customerprofiles.CfnEventTrigger.EventTriggerLimitsProperty(
3375
+ event_expiration=123,
3376
+ periods=[customerprofiles.CfnEventTrigger.PeriodProperty(
3377
+ unit="unit",
3378
+ value=123,
3379
+
3380
+ # the properties below are optional
3381
+ max_invocations_per_profile=123,
3382
+ unlimited=False
3383
+ )]
3384
+ )
3385
+ '''
3386
+ if __debug__:
3387
+ type_hints = typing.get_type_hints(_typecheckingstub__c21f9960dce43c4cfe6a915ec34c75b13089631bea9d3de70a87e7098384cb1d)
3388
+ check_type(argname="argument event_expiration", value=event_expiration, expected_type=type_hints["event_expiration"])
3389
+ check_type(argname="argument periods", value=periods, expected_type=type_hints["periods"])
3390
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
3391
+ if event_expiration is not None:
3392
+ self._values["event_expiration"] = event_expiration
3393
+ if periods is not None:
3394
+ self._values["periods"] = periods
3395
+
3396
+ @builtins.property
3397
+ def event_expiration(self) -> typing.Optional[jsii.Number]:
3398
+ '''Specifies that an event will only trigger the destination if it is processed within a certain latency period.
3399
+
3400
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-eventtrigger-eventtriggerlimits.html#cfn-customerprofiles-eventtrigger-eventtriggerlimits-eventexpiration
3401
+ '''
3402
+ result = self._values.get("event_expiration")
3403
+ return typing.cast(typing.Optional[jsii.Number], result)
3404
+
3405
+ @builtins.property
3406
+ def periods(
3407
+ self,
3408
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnEventTrigger.PeriodProperty"]]]]:
3409
+ '''A list of time periods during which the limits apply.
3410
+
3411
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-eventtrigger-eventtriggerlimits.html#cfn-customerprofiles-eventtrigger-eventtriggerlimits-periods
3412
+ '''
3413
+ result = self._values.get("periods")
3414
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnEventTrigger.PeriodProperty"]]]], result)
3415
+
3416
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3417
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3418
+
3419
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3420
+ return not (rhs == self)
3421
+
3422
+ def __repr__(self) -> str:
3423
+ return "EventTriggerLimitsProperty(%s)" % ", ".join(
3424
+ k + "=" + repr(v) for k, v in self._values.items()
3425
+ )
3426
+
3427
+ @jsii.data_type(
3428
+ jsii_type="aws-cdk-lib.aws_customerprofiles.CfnEventTrigger.ObjectAttributeProperty",
3429
+ jsii_struct_bases=[],
3430
+ name_mapping={
3431
+ "comparison_operator": "comparisonOperator",
3432
+ "values": "values",
3433
+ "field_name": "fieldName",
3434
+ "source": "source",
3435
+ },
3436
+ )
3437
+ class ObjectAttributeProperty:
3438
+ def __init__(
3439
+ self,
3440
+ *,
3441
+ comparison_operator: builtins.str,
3442
+ values: typing.Sequence[builtins.str],
3443
+ field_name: typing.Optional[builtins.str] = None,
3444
+ source: typing.Optional[builtins.str] = None,
3445
+ ) -> None:
3446
+ '''The criteria that a specific object attribute must meet to trigger the destination.
3447
+
3448
+ :param comparison_operator: The operator used to compare an attribute against a list of values.
3449
+ :param values: A list of attribute values used for comparison.
3450
+ :param field_name: A field defined within an object type.
3451
+ :param source: An attribute contained within a source object.
3452
+
3453
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-eventtrigger-objectattribute.html
3454
+ :exampleMetadata: fixture=_generated
3455
+
3456
+ Example::
3457
+
3458
+ # The code below shows an example of how to instantiate this type.
3459
+ # The values are placeholders you should change.
3460
+ from aws_cdk import aws_customerprofiles as customerprofiles
3461
+
3462
+ object_attribute_property = customerprofiles.CfnEventTrigger.ObjectAttributeProperty(
3463
+ comparison_operator="comparisonOperator",
3464
+ values=["values"],
3465
+
3466
+ # the properties below are optional
3467
+ field_name="fieldName",
3468
+ source="source"
3469
+ )
3470
+ '''
3471
+ if __debug__:
3472
+ type_hints = typing.get_type_hints(_typecheckingstub__f0a90a9f34cbabcbef830e52f532688120b085cb48e257f24a4658b7c9bbbcec)
3473
+ check_type(argname="argument comparison_operator", value=comparison_operator, expected_type=type_hints["comparison_operator"])
3474
+ check_type(argname="argument values", value=values, expected_type=type_hints["values"])
3475
+ check_type(argname="argument field_name", value=field_name, expected_type=type_hints["field_name"])
3476
+ check_type(argname="argument source", value=source, expected_type=type_hints["source"])
3477
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3478
+ "comparison_operator": comparison_operator,
3479
+ "values": values,
3480
+ }
3481
+ if field_name is not None:
3482
+ self._values["field_name"] = field_name
3483
+ if source is not None:
3484
+ self._values["source"] = source
3485
+
3486
+ @builtins.property
3487
+ def comparison_operator(self) -> builtins.str:
3488
+ '''The operator used to compare an attribute against a list of values.
3489
+
3490
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-eventtrigger-objectattribute.html#cfn-customerprofiles-eventtrigger-objectattribute-comparisonoperator
3491
+ '''
3492
+ result = self._values.get("comparison_operator")
3493
+ assert result is not None, "Required property 'comparison_operator' is missing"
3494
+ return typing.cast(builtins.str, result)
3495
+
3496
+ @builtins.property
3497
+ def values(self) -> typing.List[builtins.str]:
3498
+ '''A list of attribute values used for comparison.
3499
+
3500
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-eventtrigger-objectattribute.html#cfn-customerprofiles-eventtrigger-objectattribute-values
3501
+ '''
3502
+ result = self._values.get("values")
3503
+ assert result is not None, "Required property 'values' is missing"
3504
+ return typing.cast(typing.List[builtins.str], result)
3505
+
3506
+ @builtins.property
3507
+ def field_name(self) -> typing.Optional[builtins.str]:
3508
+ '''A field defined within an object type.
3509
+
3510
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-eventtrigger-objectattribute.html#cfn-customerprofiles-eventtrigger-objectattribute-fieldname
3511
+ '''
3512
+ result = self._values.get("field_name")
3513
+ return typing.cast(typing.Optional[builtins.str], result)
3514
+
3515
+ @builtins.property
3516
+ def source(self) -> typing.Optional[builtins.str]:
3517
+ '''An attribute contained within a source object.
3518
+
3519
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-eventtrigger-objectattribute.html#cfn-customerprofiles-eventtrigger-objectattribute-source
3520
+ '''
3521
+ result = self._values.get("source")
3522
+ return typing.cast(typing.Optional[builtins.str], result)
3523
+
3524
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3525
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3526
+
3527
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3528
+ return not (rhs == self)
3529
+
3530
+ def __repr__(self) -> str:
3531
+ return "ObjectAttributeProperty(%s)" % ", ".join(
3532
+ k + "=" + repr(v) for k, v in self._values.items()
3533
+ )
3534
+
3535
+ @jsii.data_type(
3536
+ jsii_type="aws-cdk-lib.aws_customerprofiles.CfnEventTrigger.PeriodProperty",
3537
+ jsii_struct_bases=[],
3538
+ name_mapping={
3539
+ "unit": "unit",
3540
+ "value": "value",
3541
+ "max_invocations_per_profile": "maxInvocationsPerProfile",
3542
+ "unlimited": "unlimited",
3543
+ },
3544
+ )
3545
+ class PeriodProperty:
3546
+ def __init__(
3547
+ self,
3548
+ *,
3549
+ unit: builtins.str,
3550
+ value: jsii.Number,
3551
+ max_invocations_per_profile: typing.Optional[jsii.Number] = None,
3552
+ unlimited: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3553
+ ) -> None:
3554
+ '''Defines a limit and the time period during which it is enforced.
3555
+
3556
+ :param unit: The unit of time.
3557
+ :param value: The amount of time of the specified unit.
3558
+ :param max_invocations_per_profile: The maximum allowed number of destination invocations per profile.
3559
+ :param unlimited: If set to true, there is no limit on the number of destination invocations per profile. The default is false.
3560
+
3561
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-eventtrigger-period.html
3562
+ :exampleMetadata: fixture=_generated
3563
+
3564
+ Example::
3565
+
3566
+ # The code below shows an example of how to instantiate this type.
3567
+ # The values are placeholders you should change.
3568
+ from aws_cdk import aws_customerprofiles as customerprofiles
3569
+
3570
+ period_property = customerprofiles.CfnEventTrigger.PeriodProperty(
3571
+ unit="unit",
3572
+ value=123,
3573
+
3574
+ # the properties below are optional
3575
+ max_invocations_per_profile=123,
3576
+ unlimited=False
3577
+ )
3578
+ '''
3579
+ if __debug__:
3580
+ type_hints = typing.get_type_hints(_typecheckingstub__779555dd66a387de3220544cdb9e3846de45bce3e7a1615f8f0ecb0e783adbe9)
3581
+ check_type(argname="argument unit", value=unit, expected_type=type_hints["unit"])
3582
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3583
+ check_type(argname="argument max_invocations_per_profile", value=max_invocations_per_profile, expected_type=type_hints["max_invocations_per_profile"])
3584
+ check_type(argname="argument unlimited", value=unlimited, expected_type=type_hints["unlimited"])
3585
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3586
+ "unit": unit,
3587
+ "value": value,
3588
+ }
3589
+ if max_invocations_per_profile is not None:
3590
+ self._values["max_invocations_per_profile"] = max_invocations_per_profile
3591
+ if unlimited is not None:
3592
+ self._values["unlimited"] = unlimited
3593
+
3594
+ @builtins.property
3595
+ def unit(self) -> builtins.str:
3596
+ '''The unit of time.
3597
+
3598
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-eventtrigger-period.html#cfn-customerprofiles-eventtrigger-period-unit
3599
+ '''
3600
+ result = self._values.get("unit")
3601
+ assert result is not None, "Required property 'unit' is missing"
3602
+ return typing.cast(builtins.str, result)
3603
+
3604
+ @builtins.property
3605
+ def value(self) -> jsii.Number:
3606
+ '''The amount of time of the specified unit.
3607
+
3608
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-eventtrigger-period.html#cfn-customerprofiles-eventtrigger-period-value
3609
+ '''
3610
+ result = self._values.get("value")
3611
+ assert result is not None, "Required property 'value' is missing"
3612
+ return typing.cast(jsii.Number, result)
3613
+
3614
+ @builtins.property
3615
+ def max_invocations_per_profile(self) -> typing.Optional[jsii.Number]:
3616
+ '''The maximum allowed number of destination invocations per profile.
3617
+
3618
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-eventtrigger-period.html#cfn-customerprofiles-eventtrigger-period-maxinvocationsperprofile
3619
+ '''
3620
+ result = self._values.get("max_invocations_per_profile")
3621
+ return typing.cast(typing.Optional[jsii.Number], result)
3622
+
3623
+ @builtins.property
3624
+ def unlimited(
3625
+ self,
3626
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
3627
+ '''If set to true, there is no limit on the number of destination invocations per profile.
3628
+
3629
+ The default is false.
3630
+
3631
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-eventtrigger-period.html#cfn-customerprofiles-eventtrigger-period-unlimited
3632
+ '''
3633
+ result = self._values.get("unlimited")
3634
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
3635
+
3636
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3637
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3638
+
3639
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3640
+ return not (rhs == self)
3641
+
3642
+ def __repr__(self) -> str:
3643
+ return "PeriodProperty(%s)" % ", ".join(
3644
+ k + "=" + repr(v) for k, v in self._values.items()
3645
+ )
3646
+
3647
+
3648
+ @jsii.data_type(
3649
+ jsii_type="aws-cdk-lib.aws_customerprofiles.CfnEventTriggerProps",
3650
+ jsii_struct_bases=[],
3651
+ name_mapping={
3652
+ "domain_name": "domainName",
3653
+ "event_trigger_conditions": "eventTriggerConditions",
3654
+ "event_trigger_name": "eventTriggerName",
3655
+ "object_type_name": "objectTypeName",
3656
+ "description": "description",
3657
+ "event_trigger_limits": "eventTriggerLimits",
3658
+ "segment_filter": "segmentFilter",
3659
+ "tags": "tags",
3660
+ },
3661
+ )
3662
+ class CfnEventTriggerProps:
3663
+ def __init__(
3664
+ self,
3665
+ *,
3666
+ domain_name: builtins.str,
3667
+ event_trigger_conditions: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEventTrigger.EventTriggerConditionProperty, typing.Dict[builtins.str, typing.Any]]]]],
3668
+ event_trigger_name: builtins.str,
3669
+ object_type_name: builtins.str,
3670
+ description: typing.Optional[builtins.str] = None,
3671
+ event_trigger_limits: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEventTrigger.EventTriggerLimitsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3672
+ segment_filter: typing.Optional[builtins.str] = None,
3673
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3674
+ ) -> None:
3675
+ '''Properties for defining a ``CfnEventTrigger``.
3676
+
3677
+ :param domain_name: The unique name of the domain.
3678
+ :param event_trigger_conditions: A list of conditions that determine when an event should trigger the destination.
3679
+ :param event_trigger_name: The unique name of the event trigger.
3680
+ :param object_type_name: The unique name of the object type.
3681
+ :param description: The description of the event trigger.
3682
+ :param event_trigger_limits: Defines limits controlling whether an event triggers the destination, based on ingestion latency and the number of invocations per profile over specific time periods.
3683
+ :param segment_filter: The destination is triggered only for profiles that meet the criteria of a segment definition.
3684
+ :param tags: An array of key-value pairs to apply to this resource.
3685
+
3686
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-eventtrigger.html
3687
+ :exampleMetadata: fixture=_generated
3688
+
3689
+ Example::
3690
+
3691
+ # The code below shows an example of how to instantiate this type.
3692
+ # The values are placeholders you should change.
3693
+ from aws_cdk import aws_customerprofiles as customerprofiles
3694
+
3695
+ cfn_event_trigger_props = customerprofiles.CfnEventTriggerProps(
3696
+ domain_name="domainName",
3697
+ event_trigger_conditions=[customerprofiles.CfnEventTrigger.EventTriggerConditionProperty(
3698
+ event_trigger_dimensions=[customerprofiles.CfnEventTrigger.EventTriggerDimensionProperty(
3699
+ object_attributes=[customerprofiles.CfnEventTrigger.ObjectAttributeProperty(
3700
+ comparison_operator="comparisonOperator",
3701
+ values=["values"],
3702
+
3703
+ # the properties below are optional
3704
+ field_name="fieldName",
3705
+ source="source"
3706
+ )]
3707
+ )],
3708
+ logical_operator="logicalOperator"
3709
+ )],
3710
+ event_trigger_name="eventTriggerName",
3711
+ object_type_name="objectTypeName",
3712
+
3713
+ # the properties below are optional
3714
+ description="description",
3715
+ event_trigger_limits=customerprofiles.CfnEventTrigger.EventTriggerLimitsProperty(
3716
+ event_expiration=123,
3717
+ periods=[customerprofiles.CfnEventTrigger.PeriodProperty(
3718
+ unit="unit",
3719
+ value=123,
3720
+
3721
+ # the properties below are optional
3722
+ max_invocations_per_profile=123,
3723
+ unlimited=False
3724
+ )]
3725
+ ),
3726
+ segment_filter="segmentFilter",
3727
+ tags=[CfnTag(
3728
+ key="key",
3729
+ value="value"
3730
+ )]
3731
+ )
3732
+ '''
3733
+ if __debug__:
3734
+ type_hints = typing.get_type_hints(_typecheckingstub__a9d2b6147273c603d09e90db3d8372049e484840bcff7a8dc8031fd2f0e0e756)
3735
+ check_type(argname="argument domain_name", value=domain_name, expected_type=type_hints["domain_name"])
3736
+ check_type(argname="argument event_trigger_conditions", value=event_trigger_conditions, expected_type=type_hints["event_trigger_conditions"])
3737
+ check_type(argname="argument event_trigger_name", value=event_trigger_name, expected_type=type_hints["event_trigger_name"])
3738
+ check_type(argname="argument object_type_name", value=object_type_name, expected_type=type_hints["object_type_name"])
3739
+ check_type(argname="argument description", value=description, expected_type=type_hints["description"])
3740
+ check_type(argname="argument event_trigger_limits", value=event_trigger_limits, expected_type=type_hints["event_trigger_limits"])
3741
+ check_type(argname="argument segment_filter", value=segment_filter, expected_type=type_hints["segment_filter"])
3742
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
3743
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3744
+ "domain_name": domain_name,
3745
+ "event_trigger_conditions": event_trigger_conditions,
3746
+ "event_trigger_name": event_trigger_name,
3747
+ "object_type_name": object_type_name,
3748
+ }
3749
+ if description is not None:
3750
+ self._values["description"] = description
3751
+ if event_trigger_limits is not None:
3752
+ self._values["event_trigger_limits"] = event_trigger_limits
3753
+ if segment_filter is not None:
3754
+ self._values["segment_filter"] = segment_filter
3755
+ if tags is not None:
3756
+ self._values["tags"] = tags
3757
+
3758
+ @builtins.property
3759
+ def domain_name(self) -> builtins.str:
3760
+ '''The unique name of the domain.
3761
+
3762
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-eventtrigger.html#cfn-customerprofiles-eventtrigger-domainname
3763
+ '''
3764
+ result = self._values.get("domain_name")
3765
+ assert result is not None, "Required property 'domain_name' is missing"
3766
+ return typing.cast(builtins.str, result)
3767
+
3768
+ @builtins.property
3769
+ def event_trigger_conditions(
3770
+ self,
3771
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnEventTrigger.EventTriggerConditionProperty]]]:
3772
+ '''A list of conditions that determine when an event should trigger the destination.
3773
+
3774
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-eventtrigger.html#cfn-customerprofiles-eventtrigger-eventtriggerconditions
3775
+ '''
3776
+ result = self._values.get("event_trigger_conditions")
3777
+ assert result is not None, "Required property 'event_trigger_conditions' is missing"
3778
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnEventTrigger.EventTriggerConditionProperty]]], result)
3779
+
3780
+ @builtins.property
3781
+ def event_trigger_name(self) -> builtins.str:
3782
+ '''The unique name of the event trigger.
3783
+
3784
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-eventtrigger.html#cfn-customerprofiles-eventtrigger-eventtriggername
3785
+ '''
3786
+ result = self._values.get("event_trigger_name")
3787
+ assert result is not None, "Required property 'event_trigger_name' is missing"
3788
+ return typing.cast(builtins.str, result)
3789
+
3790
+ @builtins.property
3791
+ def object_type_name(self) -> builtins.str:
3792
+ '''The unique name of the object type.
3793
+
3794
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-eventtrigger.html#cfn-customerprofiles-eventtrigger-objecttypename
3795
+ '''
3796
+ result = self._values.get("object_type_name")
3797
+ assert result is not None, "Required property 'object_type_name' is missing"
3798
+ return typing.cast(builtins.str, result)
3799
+
3800
+ @builtins.property
3801
+ def description(self) -> typing.Optional[builtins.str]:
3802
+ '''The description of the event trigger.
3803
+
3804
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-eventtrigger.html#cfn-customerprofiles-eventtrigger-description
3805
+ '''
3806
+ result = self._values.get("description")
3807
+ return typing.cast(typing.Optional[builtins.str], result)
3808
+
3809
+ @builtins.property
3810
+ def event_trigger_limits(
3811
+ self,
3812
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnEventTrigger.EventTriggerLimitsProperty]]:
3813
+ '''Defines limits controlling whether an event triggers the destination, based on ingestion latency and the number of invocations per profile over specific time periods.
3814
+
3815
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-eventtrigger.html#cfn-customerprofiles-eventtrigger-eventtriggerlimits
3816
+ '''
3817
+ result = self._values.get("event_trigger_limits")
3818
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnEventTrigger.EventTriggerLimitsProperty]], result)
3819
+
3820
+ @builtins.property
3821
+ def segment_filter(self) -> typing.Optional[builtins.str]:
3822
+ '''The destination is triggered only for profiles that meet the criteria of a segment definition.
3823
+
3824
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-eventtrigger.html#cfn-customerprofiles-eventtrigger-segmentfilter
3825
+ '''
3826
+ result = self._values.get("segment_filter")
3827
+ return typing.cast(typing.Optional[builtins.str], result)
3828
+
3829
+ @builtins.property
3830
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
3831
+ '''An array of key-value pairs to apply to this resource.
3832
+
3833
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-eventtrigger.html#cfn-customerprofiles-eventtrigger-tags
3834
+ '''
3835
+ result = self._values.get("tags")
3836
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
3837
+
3838
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3839
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3840
+
3841
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3842
+ return not (rhs == self)
3843
+
3844
+ def __repr__(self) -> str:
3845
+ return "CfnEventTriggerProps(%s)" % ", ".join(
3846
+ k + "=" + repr(v) for k, v in self._values.items()
3847
+ )
3848
+
3849
+
2925
3850
  @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
2926
3851
  class CfnIntegration(
2927
3852
  _CfnResource_9df397a6,
@@ -8938,6 +9863,8 @@ __all__ = [
8938
9863
  "CfnDomainProps",
8939
9864
  "CfnEventStream",
8940
9865
  "CfnEventStreamProps",
9866
+ "CfnEventTrigger",
9867
+ "CfnEventTriggerProps",
8941
9868
  "CfnIntegration",
8942
9869
  "CfnIntegrationProps",
8943
9870
  "CfnObjectType",
@@ -9325,6 +10252,139 @@ def _typecheckingstub__813f95ba6287d3dc18d43b5b2ff35fbde17184e556360b280e3386143
9325
10252
  """Type checking stubs"""
9326
10253
  pass
9327
10254
 
10255
+ def _typecheckingstub__3238d15e8be30353d06e9f7813fb0d93d105339df1e3008dc6d5d889128103a4(
10256
+ scope: _constructs_77d1e7e8.Construct,
10257
+ id: builtins.str,
10258
+ *,
10259
+ domain_name: builtins.str,
10260
+ event_trigger_conditions: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEventTrigger.EventTriggerConditionProperty, typing.Dict[builtins.str, typing.Any]]]]],
10261
+ event_trigger_name: builtins.str,
10262
+ object_type_name: builtins.str,
10263
+ description: typing.Optional[builtins.str] = None,
10264
+ event_trigger_limits: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEventTrigger.EventTriggerLimitsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
10265
+ segment_filter: typing.Optional[builtins.str] = None,
10266
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
10267
+ ) -> None:
10268
+ """Type checking stubs"""
10269
+ pass
10270
+
10271
+ def _typecheckingstub__6e272d39f5f3a739ab199e698c49cb32366cbc41b54a8e3cc306be93e625b409(
10272
+ inspector: _TreeInspector_488e0dd5,
10273
+ ) -> None:
10274
+ """Type checking stubs"""
10275
+ pass
10276
+
10277
+ def _typecheckingstub__9d0fbc1a083288ddd09e30a938f56be084f6444e4f3ee741d96ffda16a72c037(
10278
+ props: typing.Mapping[builtins.str, typing.Any],
10279
+ ) -> None:
10280
+ """Type checking stubs"""
10281
+ pass
10282
+
10283
+ def _typecheckingstub__46f0ca81a5f8cee1e0a4c4f9b3d38652326a6ebce5ed8f5ee45cd3300bc09d21(
10284
+ value: builtins.str,
10285
+ ) -> None:
10286
+ """Type checking stubs"""
10287
+ pass
10288
+
10289
+ def _typecheckingstub__6c4c9a1ce30ec03f18e86da98746e17633bdcc9de1f9657feb330288a5703464(
10290
+ value: typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnEventTrigger.EventTriggerConditionProperty]]],
10291
+ ) -> None:
10292
+ """Type checking stubs"""
10293
+ pass
10294
+
10295
+ def _typecheckingstub__b9a32cfee1a68445fea2fa917fb431b02536069883dc6c492094b36c48158d6f(
10296
+ value: builtins.str,
10297
+ ) -> None:
10298
+ """Type checking stubs"""
10299
+ pass
10300
+
10301
+ def _typecheckingstub__26f048d7d34ef17a451ca6afc9c754cf23e5448d0fa70d08e95941b41a53e15b(
10302
+ value: builtins.str,
10303
+ ) -> None:
10304
+ """Type checking stubs"""
10305
+ pass
10306
+
10307
+ def _typecheckingstub__14f8e2b14eb300ec5bb3dbffd9fda2b1b3fa26a8ccb24220faf205a2c9252b16(
10308
+ value: typing.Optional[builtins.str],
10309
+ ) -> None:
10310
+ """Type checking stubs"""
10311
+ pass
10312
+
10313
+ def _typecheckingstub__8577e6b11fafc0b473494e772f42df4b3a275f14decae7f35bf35c8ceca6efbb(
10314
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnEventTrigger.EventTriggerLimitsProperty]],
10315
+ ) -> None:
10316
+ """Type checking stubs"""
10317
+ pass
10318
+
10319
+ def _typecheckingstub__6ed3d132124c95676f8283662330dfc6f234432d197bcdb1846aeb9b55d6b31d(
10320
+ value: typing.Optional[builtins.str],
10321
+ ) -> None:
10322
+ """Type checking stubs"""
10323
+ pass
10324
+
10325
+ def _typecheckingstub__0431604b79fa9f08ecdffc28b119f0c684057eb139cb8d0fcc9e51cc364ff34a(
10326
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
10327
+ ) -> None:
10328
+ """Type checking stubs"""
10329
+ pass
10330
+
10331
+ def _typecheckingstub__01622abde91c4f131120bde889e115bd6740e17b0e7e060628263c9607cf01d4(
10332
+ *,
10333
+ event_trigger_dimensions: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEventTrigger.EventTriggerDimensionProperty, typing.Dict[builtins.str, typing.Any]]]]],
10334
+ logical_operator: builtins.str,
10335
+ ) -> None:
10336
+ """Type checking stubs"""
10337
+ pass
10338
+
10339
+ def _typecheckingstub__936befd5e0ecb3c45c2c47843a0cfa5dfc87acecf21c037978def245f15c99ff(
10340
+ *,
10341
+ object_attributes: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEventTrigger.ObjectAttributeProperty, typing.Dict[builtins.str, typing.Any]]]]],
10342
+ ) -> None:
10343
+ """Type checking stubs"""
10344
+ pass
10345
+
10346
+ def _typecheckingstub__c21f9960dce43c4cfe6a915ec34c75b13089631bea9d3de70a87e7098384cb1d(
10347
+ *,
10348
+ event_expiration: typing.Optional[jsii.Number] = None,
10349
+ periods: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEventTrigger.PeriodProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
10350
+ ) -> None:
10351
+ """Type checking stubs"""
10352
+ pass
10353
+
10354
+ def _typecheckingstub__f0a90a9f34cbabcbef830e52f532688120b085cb48e257f24a4658b7c9bbbcec(
10355
+ *,
10356
+ comparison_operator: builtins.str,
10357
+ values: typing.Sequence[builtins.str],
10358
+ field_name: typing.Optional[builtins.str] = None,
10359
+ source: typing.Optional[builtins.str] = None,
10360
+ ) -> None:
10361
+ """Type checking stubs"""
10362
+ pass
10363
+
10364
+ def _typecheckingstub__779555dd66a387de3220544cdb9e3846de45bce3e7a1615f8f0ecb0e783adbe9(
10365
+ *,
10366
+ unit: builtins.str,
10367
+ value: jsii.Number,
10368
+ max_invocations_per_profile: typing.Optional[jsii.Number] = None,
10369
+ unlimited: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
10370
+ ) -> None:
10371
+ """Type checking stubs"""
10372
+ pass
10373
+
10374
+ def _typecheckingstub__a9d2b6147273c603d09e90db3d8372049e484840bcff7a8dc8031fd2f0e0e756(
10375
+ *,
10376
+ domain_name: builtins.str,
10377
+ event_trigger_conditions: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEventTrigger.EventTriggerConditionProperty, typing.Dict[builtins.str, typing.Any]]]]],
10378
+ event_trigger_name: builtins.str,
10379
+ object_type_name: builtins.str,
10380
+ description: typing.Optional[builtins.str] = None,
10381
+ event_trigger_limits: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEventTrigger.EventTriggerLimitsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
10382
+ segment_filter: typing.Optional[builtins.str] = None,
10383
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
10384
+ ) -> None:
10385
+ """Type checking stubs"""
10386
+ pass
10387
+
9328
10388
  def _typecheckingstub__b8211c08b95eabfe008b27ab5b3b74bab34f671b7bd9761e15cdb090da9d3d95(
9329
10389
  scope: _constructs_77d1e7e8.Construct,
9330
10390
  id: builtins.str,