aws-cdk-lib 2.96.2__py3-none-any.whl → 2.97.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of aws-cdk-lib might be problematic. Click here for more details.

Files changed (53) hide show
  1. aws_cdk/__init__.py +246 -62
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.96.2.jsii.tgz → aws-cdk-lib@2.97.1.jsii.tgz} +0 -0
  4. aws_cdk/aws_apigatewayv2/__init__.py +1 -1
  5. aws_cdk/aws_appflow/__init__.py +205 -7
  6. aws_cdk/aws_appstream/__init__.py +33 -28
  7. aws_cdk/aws_appsync/__init__.py +555 -71
  8. aws_cdk/aws_autoscaling/__init__.py +5 -11
  9. aws_cdk/aws_billingconductor/__init__.py +145 -1
  10. aws_cdk/aws_cleanrooms/__init__.py +1198 -86
  11. aws_cdk/aws_cloudformation/__init__.py +221 -55
  12. aws_cdk/aws_cloudwatch/__init__.py +325 -2
  13. aws_cdk/aws_cognito/__init__.py +9 -13
  14. aws_cdk/aws_config/__init__.py +68 -73
  15. aws_cdk/aws_connect/__init__.py +909 -164
  16. aws_cdk/aws_customerprofiles/__init__.py +44 -0
  17. aws_cdk/aws_dms/__init__.py +198 -0
  18. aws_cdk/aws_ec2/__init__.py +593 -73
  19. aws_cdk/aws_ecr/__init__.py +7 -2
  20. aws_cdk/aws_ecs/__init__.py +2 -2
  21. aws_cdk/aws_efs/__init__.py +237 -0
  22. aws_cdk/aws_emr/__init__.py +232 -0
  23. aws_cdk/aws_entityresolution/__init__.py +1702 -0
  24. aws_cdk/aws_events/__init__.py +13 -18
  25. aws_cdk/aws_fms/__init__.py +3 -3
  26. aws_cdk/aws_gamelift/__init__.py +10 -15
  27. aws_cdk/aws_grafana/__init__.py +9 -5
  28. aws_cdk/aws_guardduty/__init__.py +272 -205
  29. aws_cdk/aws_iam/__init__.py +20 -18
  30. aws_cdk/aws_iotwireless/__init__.py +38 -54
  31. aws_cdk/aws_lakeformation/__init__.py +18 -6
  32. aws_cdk/aws_lambda/__init__.py +1 -1
  33. aws_cdk/aws_lightsail/__init__.py +225 -0
  34. aws_cdk/aws_lookoutequipment/__init__.py +4 -4
  35. aws_cdk/aws_macie/__init__.py +5 -3
  36. aws_cdk/aws_mediapackagev2/__init__.py +3227 -0
  37. aws_cdk/aws_pcaconnectorad/__init__.py +6785 -0
  38. aws_cdk/aws_quicksight/__init__.py +189 -116
  39. aws_cdk/aws_rds/__init__.py +316 -9
  40. aws_cdk/aws_resiliencehub/__init__.py +38 -21
  41. aws_cdk/aws_route53resolver/__init__.py +429 -0
  42. aws_cdk/aws_sagemaker/__init__.py +34 -34
  43. aws_cdk/aws_stepfunctions/__init__.py +111 -14
  44. aws_cdk/aws_transfer/__init__.py +2 -2
  45. aws_cdk/aws_vpclattice/__init__.py +128 -120
  46. aws_cdk/aws_workspacesweb/__init__.py +3790 -0
  47. aws_cdk/region_info/__init__.py +49 -0
  48. {aws_cdk_lib-2.96.2.dist-info → aws_cdk_lib-2.97.1.dist-info}/METADATA +2 -2
  49. {aws_cdk_lib-2.96.2.dist-info → aws_cdk_lib-2.97.1.dist-info}/RECORD +53 -49
  50. {aws_cdk_lib-2.96.2.dist-info → aws_cdk_lib-2.97.1.dist-info}/LICENSE +0 -0
  51. {aws_cdk_lib-2.96.2.dist-info → aws_cdk_lib-2.97.1.dist-info}/NOTICE +0 -0
  52. {aws_cdk_lib-2.96.2.dist-info → aws_cdk_lib-2.97.1.dist-info}/WHEEL +0 -0
  53. {aws_cdk_lib-2.96.2.dist-info → aws_cdk_lib-2.97.1.dist-info}/top_level.txt +0 -0
@@ -59,6 +59,671 @@ from .. import (
59
59
  )
60
60
 
61
61
 
62
+ @jsii.implements(_IInspectable_c2943556)
63
+ class CfnAnalysisTemplate(
64
+ _CfnResource_9df397a6,
65
+ metaclass=jsii.JSIIMeta,
66
+ jsii_type="aws-cdk-lib.aws_cleanrooms.CfnAnalysisTemplate",
67
+ ):
68
+ '''Creates a new analysis template.
69
+
70
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-analysistemplate.html
71
+ :exampleMetadata: fixture=_generated
72
+
73
+ Example::
74
+
75
+ # The code below shows an example of how to instantiate this type.
76
+ # The values are placeholders you should change.
77
+ from aws_cdk import aws_cleanrooms as cleanrooms
78
+
79
+ cfn_analysis_template = cleanrooms.CfnAnalysisTemplate(self, "MyCfnAnalysisTemplate",
80
+ format="format",
81
+ membership_identifier="membershipIdentifier",
82
+ name="name",
83
+ source=cleanrooms.CfnAnalysisTemplate.AnalysisSourceProperty(
84
+ text="text"
85
+ ),
86
+
87
+ # the properties below are optional
88
+ analysis_parameters=[cleanrooms.CfnAnalysisTemplate.AnalysisParameterProperty(
89
+ name="name",
90
+ type="type",
91
+
92
+ # the properties below are optional
93
+ default_value="defaultValue"
94
+ )],
95
+ description="description",
96
+ tags=[CfnTag(
97
+ key="key",
98
+ value="value"
99
+ )]
100
+ )
101
+ '''
102
+
103
+ def __init__(
104
+ self,
105
+ scope: _constructs_77d1e7e8.Construct,
106
+ id: builtins.str,
107
+ *,
108
+ format: builtins.str,
109
+ membership_identifier: builtins.str,
110
+ name: builtins.str,
111
+ source: typing.Union[_IResolvable_da3f097b, typing.Union["CfnAnalysisTemplate.AnalysisSourceProperty", typing.Dict[builtins.str, typing.Any]]],
112
+ analysis_parameters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAnalysisTemplate.AnalysisParameterProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
113
+ description: typing.Optional[builtins.str] = None,
114
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
115
+ ) -> None:
116
+ '''
117
+ :param scope: Scope in which this resource is defined.
118
+ :param id: Construct identifier for this resource (unique in its scope).
119
+ :param format: The format of the analysis template.
120
+ :param membership_identifier: The identifier for a membership resource.
121
+ :param name: The name of the analysis template.
122
+ :param source: The source of the analysis template.
123
+ :param analysis_parameters: The parameters of the analysis template.
124
+ :param description: The description of the analysis template.
125
+ :param tags: An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.
126
+ '''
127
+ if __debug__:
128
+ type_hints = typing.get_type_hints(_typecheckingstub__0e650aead4f74afeaf90193249293bee92f9a4eb687f4f9678e1a1368a887bfa)
129
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
130
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
131
+ props = CfnAnalysisTemplateProps(
132
+ format=format,
133
+ membership_identifier=membership_identifier,
134
+ name=name,
135
+ source=source,
136
+ analysis_parameters=analysis_parameters,
137
+ description=description,
138
+ tags=tags,
139
+ )
140
+
141
+ jsii.create(self.__class__, self, [scope, id, props])
142
+
143
+ @jsii.member(jsii_name="inspect")
144
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
145
+ '''Examines the CloudFormation resource and discloses attributes.
146
+
147
+ :param inspector: tree inspector to collect and process attributes.
148
+ '''
149
+ if __debug__:
150
+ type_hints = typing.get_type_hints(_typecheckingstub__def32f8279895eaf5ae2fed796049f11e8ecc1f14c53c7a40e54f77f97722f40)
151
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
152
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
153
+
154
+ @jsii.member(jsii_name="renderProperties")
155
+ def _render_properties(
156
+ self,
157
+ props: typing.Mapping[builtins.str, typing.Any],
158
+ ) -> typing.Mapping[builtins.str, typing.Any]:
159
+ '''
160
+ :param props: -
161
+ '''
162
+ if __debug__:
163
+ type_hints = typing.get_type_hints(_typecheckingstub__4d2f63941e3ccfc02c5fd40f68748b90631da131360cf742a7aa15eb0547f5b5)
164
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
165
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
166
+
167
+ @jsii.python.classproperty
168
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
169
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
170
+ '''The CloudFormation resource type name for this resource class.'''
171
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
172
+
173
+ @builtins.property
174
+ @jsii.member(jsii_name="attrAnalysisTemplateIdentifier")
175
+ def attr_analysis_template_identifier(self) -> builtins.str:
176
+ '''Returns the identifier for the analysis template.
177
+
178
+ Example: ``a1b2c3d4-5678-90ab-cdef-EXAMPLE2222``
179
+
180
+ :cloudformationAttribute: AnalysisTemplateIdentifier
181
+ '''
182
+ return typing.cast(builtins.str, jsii.get(self, "attrAnalysisTemplateIdentifier"))
183
+
184
+ @builtins.property
185
+ @jsii.member(jsii_name="attrArn")
186
+ def attr_arn(self) -> builtins.str:
187
+ '''Returns the Amazon Resource Name (ARN) of the analysis template.
188
+
189
+ Example: ``arn:aws:cleanrooms:us-east-1:111122223333:membership/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111/analysistemplates/a1b2c3d4-5678-90ab-cdef-EXAMPLE2222``
190
+
191
+ :cloudformationAttribute: Arn
192
+ '''
193
+ return typing.cast(builtins.str, jsii.get(self, "attrArn"))
194
+
195
+ @builtins.property
196
+ @jsii.member(jsii_name="attrCollaborationArn")
197
+ def attr_collaboration_arn(self) -> builtins.str:
198
+ '''Returns the unique ARN for the analysis template’s associated collaboration.
199
+
200
+ Example: ``arn:aws:cleanrooms:us-east-1:111122223333:collaboration/a1b2c3d4-5678-90ab-cdef-EXAMPLE33333``
201
+
202
+ :cloudformationAttribute: CollaborationArn
203
+ '''
204
+ return typing.cast(builtins.str, jsii.get(self, "attrCollaborationArn"))
205
+
206
+ @builtins.property
207
+ @jsii.member(jsii_name="attrCollaborationIdentifier")
208
+ def attr_collaboration_identifier(self) -> builtins.str:
209
+ '''Returns the unique ID for the associated collaboration of the analysis template.
210
+
211
+ Example: ``a1b2c3d4-5678-90ab-cdef-EXAMPLE33333``
212
+
213
+ :cloudformationAttribute: CollaborationIdentifier
214
+ '''
215
+ return typing.cast(builtins.str, jsii.get(self, "attrCollaborationIdentifier"))
216
+
217
+ @builtins.property
218
+ @jsii.member(jsii_name="attrMembershipArn")
219
+ def attr_membership_arn(self) -> builtins.str:
220
+ '''Returns the Amazon Resource Name (ARN) of the member who created the analysis template.
221
+
222
+ Example: ``arn:aws:cleanrooms:us-east-1:111122223333:membership/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111``
223
+
224
+ :cloudformationAttribute: MembershipArn
225
+ '''
226
+ return typing.cast(builtins.str, jsii.get(self, "attrMembershipArn"))
227
+
228
+ @builtins.property
229
+ @jsii.member(jsii_name="attrSchema")
230
+ def attr_schema(self) -> _IResolvable_da3f097b:
231
+ '''Returns the entire `schema object <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-analysistemplate-analysisschema.html>`_ .
232
+
233
+ :cloudformationAttribute: Schema
234
+ '''
235
+ return typing.cast(_IResolvable_da3f097b, jsii.get(self, "attrSchema"))
236
+
237
+ @builtins.property
238
+ @jsii.member(jsii_name="attrSchemaReferencedTables")
239
+ def attr_schema_referenced_tables(self) -> typing.List[builtins.str]:
240
+ '''Returns the tables referenced in the analysis schema.
241
+
242
+ Example: ``[ table1, table2 ]``
243
+
244
+ :cloudformationAttribute: Schema.ReferencedTables
245
+ '''
246
+ return typing.cast(typing.List[builtins.str], jsii.get(self, "attrSchemaReferencedTables"))
247
+
248
+ @builtins.property
249
+ @jsii.member(jsii_name="cfnProperties")
250
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
251
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
252
+
253
+ @builtins.property
254
+ @jsii.member(jsii_name="format")
255
+ def format(self) -> builtins.str:
256
+ '''The format of the analysis template.'''
257
+ return typing.cast(builtins.str, jsii.get(self, "format"))
258
+
259
+ @format.setter
260
+ def format(self, value: builtins.str) -> None:
261
+ if __debug__:
262
+ type_hints = typing.get_type_hints(_typecheckingstub__a99bf5a96bec195d52c514c174a5c532136760569f0863c25b3672fb0b2a9f3c)
263
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
264
+ jsii.set(self, "format", value)
265
+
266
+ @builtins.property
267
+ @jsii.member(jsii_name="membershipIdentifier")
268
+ def membership_identifier(self) -> builtins.str:
269
+ '''The identifier for a membership resource.'''
270
+ return typing.cast(builtins.str, jsii.get(self, "membershipIdentifier"))
271
+
272
+ @membership_identifier.setter
273
+ def membership_identifier(self, value: builtins.str) -> None:
274
+ if __debug__:
275
+ type_hints = typing.get_type_hints(_typecheckingstub__297b2b982e7135bfb11610ac18dcacab85dc955728c10a993db86affc23a6c85)
276
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
277
+ jsii.set(self, "membershipIdentifier", value)
278
+
279
+ @builtins.property
280
+ @jsii.member(jsii_name="name")
281
+ def name(self) -> builtins.str:
282
+ '''The name of the analysis template.'''
283
+ return typing.cast(builtins.str, jsii.get(self, "name"))
284
+
285
+ @name.setter
286
+ def name(self, value: builtins.str) -> None:
287
+ if __debug__:
288
+ type_hints = typing.get_type_hints(_typecheckingstub__a0ca9c50ab5c0e5399ff8164eb04d12b160d7880a66ad5c75586fef748051a2a)
289
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
290
+ jsii.set(self, "name", value)
291
+
292
+ @builtins.property
293
+ @jsii.member(jsii_name="source")
294
+ def source(
295
+ self,
296
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnAnalysisTemplate.AnalysisSourceProperty"]:
297
+ '''The source of the analysis template.'''
298
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnAnalysisTemplate.AnalysisSourceProperty"], jsii.get(self, "source"))
299
+
300
+ @source.setter
301
+ def source(
302
+ self,
303
+ value: typing.Union[_IResolvable_da3f097b, "CfnAnalysisTemplate.AnalysisSourceProperty"],
304
+ ) -> None:
305
+ if __debug__:
306
+ type_hints = typing.get_type_hints(_typecheckingstub__53060281bd9759f7bd4026827422f1a24050a030c7c5574430af50f44bcdc81f)
307
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
308
+ jsii.set(self, "source", value)
309
+
310
+ @builtins.property
311
+ @jsii.member(jsii_name="analysisParameters")
312
+ def analysis_parameters(
313
+ self,
314
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAnalysisTemplate.AnalysisParameterProperty"]]]]:
315
+ '''The parameters of the analysis template.'''
316
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAnalysisTemplate.AnalysisParameterProperty"]]]], jsii.get(self, "analysisParameters"))
317
+
318
+ @analysis_parameters.setter
319
+ def analysis_parameters(
320
+ self,
321
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAnalysisTemplate.AnalysisParameterProperty"]]]],
322
+ ) -> None:
323
+ if __debug__:
324
+ type_hints = typing.get_type_hints(_typecheckingstub__e1b12f58b0c5fa25bf8c085bcbec4d711cdcbcd2bcea3e5137ba027e35f34c9f)
325
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
326
+ jsii.set(self, "analysisParameters", value)
327
+
328
+ @builtins.property
329
+ @jsii.member(jsii_name="description")
330
+ def description(self) -> typing.Optional[builtins.str]:
331
+ '''The description of the analysis template.'''
332
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "description"))
333
+
334
+ @description.setter
335
+ def description(self, value: typing.Optional[builtins.str]) -> None:
336
+ if __debug__:
337
+ type_hints = typing.get_type_hints(_typecheckingstub__a8ea0f1530d49d0cf3ea112be450d6887b42e42d18ffdc9233aac36569611c55)
338
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
339
+ jsii.set(self, "description", value)
340
+
341
+ @builtins.property
342
+ @jsii.member(jsii_name="tags")
343
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
344
+ '''An optional label that you can assign to a resource when you create it.'''
345
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
346
+
347
+ @tags.setter
348
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
349
+ if __debug__:
350
+ type_hints = typing.get_type_hints(_typecheckingstub__b6d8c0e267965c3e8d9449c75e721dc4e1bccb98212af3c5be762ebb7322d8e8)
351
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
352
+ jsii.set(self, "tags", value)
353
+
354
+ @jsii.data_type(
355
+ jsii_type="aws-cdk-lib.aws_cleanrooms.CfnAnalysisTemplate.AnalysisParameterProperty",
356
+ jsii_struct_bases=[],
357
+ name_mapping={"name": "name", "type": "type", "default_value": "defaultValue"},
358
+ )
359
+ class AnalysisParameterProperty:
360
+ def __init__(
361
+ self,
362
+ *,
363
+ name: builtins.str,
364
+ type: builtins.str,
365
+ default_value: typing.Optional[builtins.str] = None,
366
+ ) -> None:
367
+ '''Optional.
368
+
369
+ The member who can query can provide this placeholder for a literal data value in an analysis template.
370
+
371
+ :param name: The name of the parameter. The name must use only alphanumeric, underscore (_), or hyphen (-) characters but cannot start or end with a hyphen.
372
+ :param type: The type of parameter.
373
+ :param default_value: Optional. The default value that is applied in the analysis template. The member who can query can override this value in the query editor.
374
+
375
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-analysistemplate-analysisparameter.html
376
+ :exampleMetadata: fixture=_generated
377
+
378
+ Example::
379
+
380
+ # The code below shows an example of how to instantiate this type.
381
+ # The values are placeholders you should change.
382
+ from aws_cdk import aws_cleanrooms as cleanrooms
383
+
384
+ analysis_parameter_property = cleanrooms.CfnAnalysisTemplate.AnalysisParameterProperty(
385
+ name="name",
386
+ type="type",
387
+
388
+ # the properties below are optional
389
+ default_value="defaultValue"
390
+ )
391
+ '''
392
+ if __debug__:
393
+ type_hints = typing.get_type_hints(_typecheckingstub__1f8aaf9054ec461e195e032043672bc5f9f627fd62d4544efda7b3ea2740b2d1)
394
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
395
+ check_type(argname="argument type", value=type, expected_type=type_hints["type"])
396
+ check_type(argname="argument default_value", value=default_value, expected_type=type_hints["default_value"])
397
+ self._values: typing.Dict[builtins.str, typing.Any] = {
398
+ "name": name,
399
+ "type": type,
400
+ }
401
+ if default_value is not None:
402
+ self._values["default_value"] = default_value
403
+
404
+ @builtins.property
405
+ def name(self) -> builtins.str:
406
+ '''The name of the parameter.
407
+
408
+ The name must use only alphanumeric, underscore (_), or hyphen (-) characters but cannot start or end with a hyphen.
409
+
410
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-analysistemplate-analysisparameter.html#cfn-cleanrooms-analysistemplate-analysisparameter-name
411
+ '''
412
+ result = self._values.get("name")
413
+ assert result is not None, "Required property 'name' is missing"
414
+ return typing.cast(builtins.str, result)
415
+
416
+ @builtins.property
417
+ def type(self) -> builtins.str:
418
+ '''The type of parameter.
419
+
420
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-analysistemplate-analysisparameter.html#cfn-cleanrooms-analysistemplate-analysisparameter-type
421
+ '''
422
+ result = self._values.get("type")
423
+ assert result is not None, "Required property 'type' is missing"
424
+ return typing.cast(builtins.str, result)
425
+
426
+ @builtins.property
427
+ def default_value(self) -> typing.Optional[builtins.str]:
428
+ '''Optional.
429
+
430
+ The default value that is applied in the analysis template. The member who can query can override this value in the query editor.
431
+
432
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-analysistemplate-analysisparameter.html#cfn-cleanrooms-analysistemplate-analysisparameter-defaultvalue
433
+ '''
434
+ result = self._values.get("default_value")
435
+ return typing.cast(typing.Optional[builtins.str], result)
436
+
437
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
438
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
439
+
440
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
441
+ return not (rhs == self)
442
+
443
+ def __repr__(self) -> str:
444
+ return "AnalysisParameterProperty(%s)" % ", ".join(
445
+ k + "=" + repr(v) for k, v in self._values.items()
446
+ )
447
+
448
+ @jsii.data_type(
449
+ jsii_type="aws-cdk-lib.aws_cleanrooms.CfnAnalysisTemplate.AnalysisSchemaProperty",
450
+ jsii_struct_bases=[],
451
+ name_mapping={"referenced_tables": "referencedTables"},
452
+ )
453
+ class AnalysisSchemaProperty:
454
+ def __init__(self, *, referenced_tables: typing.Sequence[builtins.str]) -> None:
455
+ '''A relation within an analysis.
456
+
457
+ :param referenced_tables: The tables referenced in the analysis schema.
458
+
459
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-analysistemplate-analysisschema.html
460
+ :exampleMetadata: fixture=_generated
461
+
462
+ Example::
463
+
464
+ # The code below shows an example of how to instantiate this type.
465
+ # The values are placeholders you should change.
466
+ from aws_cdk import aws_cleanrooms as cleanrooms
467
+
468
+ analysis_schema_property = cleanrooms.CfnAnalysisTemplate.AnalysisSchemaProperty(
469
+ referenced_tables=["referencedTables"]
470
+ )
471
+ '''
472
+ if __debug__:
473
+ type_hints = typing.get_type_hints(_typecheckingstub__8f1f3d4aa401aad65536409e9f991c86250c627594c1b918fe7c42b5ac37c097)
474
+ check_type(argname="argument referenced_tables", value=referenced_tables, expected_type=type_hints["referenced_tables"])
475
+ self._values: typing.Dict[builtins.str, typing.Any] = {
476
+ "referenced_tables": referenced_tables,
477
+ }
478
+
479
+ @builtins.property
480
+ def referenced_tables(self) -> typing.List[builtins.str]:
481
+ '''The tables referenced in the analysis schema.
482
+
483
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-analysistemplate-analysisschema.html#cfn-cleanrooms-analysistemplate-analysisschema-referencedtables
484
+ '''
485
+ result = self._values.get("referenced_tables")
486
+ assert result is not None, "Required property 'referenced_tables' is missing"
487
+ return typing.cast(typing.List[builtins.str], result)
488
+
489
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
490
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
491
+
492
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
493
+ return not (rhs == self)
494
+
495
+ def __repr__(self) -> str:
496
+ return "AnalysisSchemaProperty(%s)" % ", ".join(
497
+ k + "=" + repr(v) for k, v in self._values.items()
498
+ )
499
+
500
+ @jsii.data_type(
501
+ jsii_type="aws-cdk-lib.aws_cleanrooms.CfnAnalysisTemplate.AnalysisSourceProperty",
502
+ jsii_struct_bases=[],
503
+ name_mapping={"text": "text"},
504
+ )
505
+ class AnalysisSourceProperty:
506
+ def __init__(self, *, text: builtins.str) -> None:
507
+ '''The structure that defines the body of the analysis template.
508
+
509
+ :param text: The query text.
510
+
511
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-analysistemplate-analysissource.html
512
+ :exampleMetadata: fixture=_generated
513
+
514
+ Example::
515
+
516
+ # The code below shows an example of how to instantiate this type.
517
+ # The values are placeholders you should change.
518
+ from aws_cdk import aws_cleanrooms as cleanrooms
519
+
520
+ analysis_source_property = cleanrooms.CfnAnalysisTemplate.AnalysisSourceProperty(
521
+ text="text"
522
+ )
523
+ '''
524
+ if __debug__:
525
+ type_hints = typing.get_type_hints(_typecheckingstub__bbdd92f3241147ec8ad458564c84f6695d3a3e85f93b5190554663d6327c512f)
526
+ check_type(argname="argument text", value=text, expected_type=type_hints["text"])
527
+ self._values: typing.Dict[builtins.str, typing.Any] = {
528
+ "text": text,
529
+ }
530
+
531
+ @builtins.property
532
+ def text(self) -> builtins.str:
533
+ '''The query text.
534
+
535
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-analysistemplate-analysissource.html#cfn-cleanrooms-analysistemplate-analysissource-text
536
+ '''
537
+ result = self._values.get("text")
538
+ assert result is not None, "Required property 'text' is missing"
539
+ return typing.cast(builtins.str, result)
540
+
541
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
542
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
543
+
544
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
545
+ return not (rhs == self)
546
+
547
+ def __repr__(self) -> str:
548
+ return "AnalysisSourceProperty(%s)" % ", ".join(
549
+ k + "=" + repr(v) for k, v in self._values.items()
550
+ )
551
+
552
+
553
+ @jsii.data_type(
554
+ jsii_type="aws-cdk-lib.aws_cleanrooms.CfnAnalysisTemplateProps",
555
+ jsii_struct_bases=[],
556
+ name_mapping={
557
+ "format": "format",
558
+ "membership_identifier": "membershipIdentifier",
559
+ "name": "name",
560
+ "source": "source",
561
+ "analysis_parameters": "analysisParameters",
562
+ "description": "description",
563
+ "tags": "tags",
564
+ },
565
+ )
566
+ class CfnAnalysisTemplateProps:
567
+ def __init__(
568
+ self,
569
+ *,
570
+ format: builtins.str,
571
+ membership_identifier: builtins.str,
572
+ name: builtins.str,
573
+ source: typing.Union[_IResolvable_da3f097b, typing.Union[CfnAnalysisTemplate.AnalysisSourceProperty, typing.Dict[builtins.str, typing.Any]]],
574
+ analysis_parameters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAnalysisTemplate.AnalysisParameterProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
575
+ description: typing.Optional[builtins.str] = None,
576
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
577
+ ) -> None:
578
+ '''Properties for defining a ``CfnAnalysisTemplate``.
579
+
580
+ :param format: The format of the analysis template.
581
+ :param membership_identifier: The identifier for a membership resource.
582
+ :param name: The name of the analysis template.
583
+ :param source: The source of the analysis template.
584
+ :param analysis_parameters: The parameters of the analysis template.
585
+ :param description: The description of the analysis template.
586
+ :param tags: An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.
587
+
588
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-analysistemplate.html
589
+ :exampleMetadata: fixture=_generated
590
+
591
+ Example::
592
+
593
+ # The code below shows an example of how to instantiate this type.
594
+ # The values are placeholders you should change.
595
+ from aws_cdk import aws_cleanrooms as cleanrooms
596
+
597
+ cfn_analysis_template_props = cleanrooms.CfnAnalysisTemplateProps(
598
+ format="format",
599
+ membership_identifier="membershipIdentifier",
600
+ name="name",
601
+ source=cleanrooms.CfnAnalysisTemplate.AnalysisSourceProperty(
602
+ text="text"
603
+ ),
604
+
605
+ # the properties below are optional
606
+ analysis_parameters=[cleanrooms.CfnAnalysisTemplate.AnalysisParameterProperty(
607
+ name="name",
608
+ type="type",
609
+
610
+ # the properties below are optional
611
+ default_value="defaultValue"
612
+ )],
613
+ description="description",
614
+ tags=[CfnTag(
615
+ key="key",
616
+ value="value"
617
+ )]
618
+ )
619
+ '''
620
+ if __debug__:
621
+ type_hints = typing.get_type_hints(_typecheckingstub__e1c797e3fa5f8683aa0eb66424f00b6b29c5014d5c45e7771fe0c5b1e9a973e8)
622
+ check_type(argname="argument format", value=format, expected_type=type_hints["format"])
623
+ check_type(argname="argument membership_identifier", value=membership_identifier, expected_type=type_hints["membership_identifier"])
624
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
625
+ check_type(argname="argument source", value=source, expected_type=type_hints["source"])
626
+ check_type(argname="argument analysis_parameters", value=analysis_parameters, expected_type=type_hints["analysis_parameters"])
627
+ check_type(argname="argument description", value=description, expected_type=type_hints["description"])
628
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
629
+ self._values: typing.Dict[builtins.str, typing.Any] = {
630
+ "format": format,
631
+ "membership_identifier": membership_identifier,
632
+ "name": name,
633
+ "source": source,
634
+ }
635
+ if analysis_parameters is not None:
636
+ self._values["analysis_parameters"] = analysis_parameters
637
+ if description is not None:
638
+ self._values["description"] = description
639
+ if tags is not None:
640
+ self._values["tags"] = tags
641
+
642
+ @builtins.property
643
+ def format(self) -> builtins.str:
644
+ '''The format of the analysis template.
645
+
646
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-analysistemplate.html#cfn-cleanrooms-analysistemplate-format
647
+ '''
648
+ result = self._values.get("format")
649
+ assert result is not None, "Required property 'format' is missing"
650
+ return typing.cast(builtins.str, result)
651
+
652
+ @builtins.property
653
+ def membership_identifier(self) -> builtins.str:
654
+ '''The identifier for a membership resource.
655
+
656
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-analysistemplate.html#cfn-cleanrooms-analysistemplate-membershipidentifier
657
+ '''
658
+ result = self._values.get("membership_identifier")
659
+ assert result is not None, "Required property 'membership_identifier' is missing"
660
+ return typing.cast(builtins.str, result)
661
+
662
+ @builtins.property
663
+ def name(self) -> builtins.str:
664
+ '''The name of the analysis template.
665
+
666
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-analysistemplate.html#cfn-cleanrooms-analysistemplate-name
667
+ '''
668
+ result = self._values.get("name")
669
+ assert result is not None, "Required property 'name' is missing"
670
+ return typing.cast(builtins.str, result)
671
+
672
+ @builtins.property
673
+ def source(
674
+ self,
675
+ ) -> typing.Union[_IResolvable_da3f097b, CfnAnalysisTemplate.AnalysisSourceProperty]:
676
+ '''The source of the analysis template.
677
+
678
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-analysistemplate.html#cfn-cleanrooms-analysistemplate-source
679
+ '''
680
+ result = self._values.get("source")
681
+ assert result is not None, "Required property 'source' is missing"
682
+ return typing.cast(typing.Union[_IResolvable_da3f097b, CfnAnalysisTemplate.AnalysisSourceProperty], result)
683
+
684
+ @builtins.property
685
+ def analysis_parameters(
686
+ self,
687
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnAnalysisTemplate.AnalysisParameterProperty]]]]:
688
+ '''The parameters of the analysis template.
689
+
690
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-analysistemplate.html#cfn-cleanrooms-analysistemplate-analysisparameters
691
+ '''
692
+ result = self._values.get("analysis_parameters")
693
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnAnalysisTemplate.AnalysisParameterProperty]]]], result)
694
+
695
+ @builtins.property
696
+ def description(self) -> typing.Optional[builtins.str]:
697
+ '''The description of the analysis template.
698
+
699
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-analysistemplate.html#cfn-cleanrooms-analysistemplate-description
700
+ '''
701
+ result = self._values.get("description")
702
+ return typing.cast(typing.Optional[builtins.str], result)
703
+
704
+ @builtins.property
705
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
706
+ '''An optional label that you can assign to a resource when you create it.
707
+
708
+ Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.
709
+
710
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-analysistemplate.html#cfn-cleanrooms-analysistemplate-tags
711
+ '''
712
+ result = self._values.get("tags")
713
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
714
+
715
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
716
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
717
+
718
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
719
+ return not (rhs == self)
720
+
721
+ def __repr__(self) -> str:
722
+ return "CfnAnalysisTemplateProps(%s)" % ", ".join(
723
+ k + "=" + repr(v) for k, v in self._values.items()
724
+ )
725
+
726
+
62
727
  @jsii.implements(_IInspectable_c2943556)
63
728
  class CfnCollaboration(
64
729
  _CfnResource_9df397a6,
@@ -2545,6 +3210,20 @@ class CfnMembership(
2545
3210
  query_log_status="queryLogStatus",
2546
3211
 
2547
3212
  # the properties below are optional
3213
+ default_result_configuration=cleanrooms.CfnMembership.MembershipProtectedQueryResultConfigurationProperty(
3214
+ output_configuration=cleanrooms.CfnMembership.MembershipProtectedQueryOutputConfigurationProperty(
3215
+ s3=cleanrooms.CfnMembership.ProtectedQueryS3OutputConfigurationProperty(
3216
+ bucket="bucket",
3217
+ result_format="resultFormat",
3218
+
3219
+ # the properties below are optional
3220
+ key_prefix="keyPrefix"
3221
+ )
3222
+ ),
3223
+
3224
+ # the properties below are optional
3225
+ role_arn="roleArn"
3226
+ ),
2548
3227
  tags=[CfnTag(
2549
3228
  key="key",
2550
3229
  value="value"
@@ -2559,6 +3238,7 @@ class CfnMembership(
2559
3238
  *,
2560
3239
  collaboration_identifier: builtins.str,
2561
3240
  query_log_status: builtins.str,
3241
+ default_result_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnMembership.MembershipProtectedQueryResultConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2562
3242
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2563
3243
  ) -> None:
2564
3244
  '''
@@ -2566,6 +3246,7 @@ class CfnMembership(
2566
3246
  :param id: Construct identifier for this resource (unique in its scope).
2567
3247
  :param collaboration_identifier: The unique ID for the associated collaboration.
2568
3248
  :param query_log_status: An indicator as to whether query logging has been enabled or disabled for the collaboration.
3249
+ :param default_result_configuration: The default protected query result configuration as specified by the member who can receive results.
2569
3250
  :param tags: An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.
2570
3251
  '''
2571
3252
  if __debug__:
@@ -2575,6 +3256,7 @@ class CfnMembership(
2575
3256
  props = CfnMembershipProps(
2576
3257
  collaboration_identifier=collaboration_identifier,
2577
3258
  query_log_status=query_log_status,
3259
+ default_result_configuration=default_result_configuration,
2578
3260
  tags=tags,
2579
3261
  )
2580
3262
 
@@ -2591,112 +3273,372 @@ class CfnMembership(
2591
3273
  check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
2592
3274
  return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
2593
3275
 
2594
- @jsii.member(jsii_name="renderProperties")
2595
- def _render_properties(
2596
- self,
2597
- props: typing.Mapping[builtins.str, typing.Any],
2598
- ) -> typing.Mapping[builtins.str, typing.Any]:
2599
- '''
2600
- :param props: -
2601
- '''
2602
- if __debug__:
2603
- type_hints = typing.get_type_hints(_typecheckingstub__78e173bbe42542972b47c21576e57269fe216eab7a86b44fadf695b6653d493d)
2604
- check_type(argname="argument props", value=props, expected_type=type_hints["props"])
2605
- return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
3276
+ @jsii.member(jsii_name="renderProperties")
3277
+ def _render_properties(
3278
+ self,
3279
+ props: typing.Mapping[builtins.str, typing.Any],
3280
+ ) -> typing.Mapping[builtins.str, typing.Any]:
3281
+ '''
3282
+ :param props: -
3283
+ '''
3284
+ if __debug__:
3285
+ type_hints = typing.get_type_hints(_typecheckingstub__78e173bbe42542972b47c21576e57269fe216eab7a86b44fadf695b6653d493d)
3286
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
3287
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
3288
+
3289
+ @jsii.python.classproperty
3290
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
3291
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
3292
+ '''The CloudFormation resource type name for this resource class.'''
3293
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
3294
+
3295
+ @builtins.property
3296
+ @jsii.member(jsii_name="attrArn")
3297
+ def attr_arn(self) -> builtins.str:
3298
+ '''Returns the Amazon Resource Name (ARN) of the specified membership.
3299
+
3300
+ Example: ``arn:aws:cleanrooms:us-east-1:111122223333:membership/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111``
3301
+
3302
+ :cloudformationAttribute: Arn
3303
+ '''
3304
+ return typing.cast(builtins.str, jsii.get(self, "attrArn"))
3305
+
3306
+ @builtins.property
3307
+ @jsii.member(jsii_name="attrCollaborationArn")
3308
+ def attr_collaboration_arn(self) -> builtins.str:
3309
+ '''Returns the Amazon Resource Name (ARN) of the specified collaboration.
3310
+
3311
+ Example: ``arn:aws:cleanrooms:us-east-1:111122223333:collaboration/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111``
3312
+
3313
+ :cloudformationAttribute: CollaborationArn
3314
+ '''
3315
+ return typing.cast(builtins.str, jsii.get(self, "attrCollaborationArn"))
3316
+
3317
+ @builtins.property
3318
+ @jsii.member(jsii_name="attrCollaborationCreatorAccountId")
3319
+ def attr_collaboration_creator_account_id(self) -> builtins.str:
3320
+ '''Returns the unique identifier of the specified collaboration creator account.
3321
+
3322
+ Example: ``a1b2c3d4-5678-90ab-cdef-EXAMPLE11111``
3323
+
3324
+ :cloudformationAttribute: CollaborationCreatorAccountId
3325
+ '''
3326
+ return typing.cast(builtins.str, jsii.get(self, "attrCollaborationCreatorAccountId"))
3327
+
3328
+ @builtins.property
3329
+ @jsii.member(jsii_name="attrMembershipIdentifier")
3330
+ def attr_membership_identifier(self) -> builtins.str:
3331
+ '''Returns the unique identifier of the specified membership.
3332
+
3333
+ Example: ``a1b2c3d4-5678-90ab-cdef-EXAMPLE22222``
3334
+
3335
+ :cloudformationAttribute: MembershipIdentifier
3336
+ '''
3337
+ return typing.cast(builtins.str, jsii.get(self, "attrMembershipIdentifier"))
3338
+
3339
+ @builtins.property
3340
+ @jsii.member(jsii_name="cfnProperties")
3341
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
3342
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
3343
+
3344
+ @builtins.property
3345
+ @jsii.member(jsii_name="collaborationIdentifier")
3346
+ def collaboration_identifier(self) -> builtins.str:
3347
+ '''The unique ID for the associated collaboration.'''
3348
+ return typing.cast(builtins.str, jsii.get(self, "collaborationIdentifier"))
3349
+
3350
+ @collaboration_identifier.setter
3351
+ def collaboration_identifier(self, value: builtins.str) -> None:
3352
+ if __debug__:
3353
+ type_hints = typing.get_type_hints(_typecheckingstub__ba2cc6691bad0d4fdbfa43d453737e19bbcc1b63648ed884849a27170f877099)
3354
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3355
+ jsii.set(self, "collaborationIdentifier", value)
3356
+
3357
+ @builtins.property
3358
+ @jsii.member(jsii_name="queryLogStatus")
3359
+ def query_log_status(self) -> builtins.str:
3360
+ '''An indicator as to whether query logging has been enabled or disabled for the collaboration.'''
3361
+ return typing.cast(builtins.str, jsii.get(self, "queryLogStatus"))
3362
+
3363
+ @query_log_status.setter
3364
+ def query_log_status(self, value: builtins.str) -> None:
3365
+ if __debug__:
3366
+ type_hints = typing.get_type_hints(_typecheckingstub__bee80a156c452c78946d81f28dfee88d47d5702e2d1eeb7a5c7aeb167b25400e)
3367
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3368
+ jsii.set(self, "queryLogStatus", value)
3369
+
3370
+ @builtins.property
3371
+ @jsii.member(jsii_name="defaultResultConfiguration")
3372
+ def default_result_configuration(
3373
+ self,
3374
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnMembership.MembershipProtectedQueryResultConfigurationProperty"]]:
3375
+ '''The default protected query result configuration as specified by the member who can receive results.'''
3376
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnMembership.MembershipProtectedQueryResultConfigurationProperty"]], jsii.get(self, "defaultResultConfiguration"))
3377
+
3378
+ @default_result_configuration.setter
3379
+ def default_result_configuration(
3380
+ self,
3381
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnMembership.MembershipProtectedQueryResultConfigurationProperty"]],
3382
+ ) -> None:
3383
+ if __debug__:
3384
+ type_hints = typing.get_type_hints(_typecheckingstub__ad055649202ffbf3de067877d88fa96b564e1efb0b59d9afaceb04f351ce0c65)
3385
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3386
+ jsii.set(self, "defaultResultConfiguration", value)
3387
+
3388
+ @builtins.property
3389
+ @jsii.member(jsii_name="tags")
3390
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
3391
+ '''An optional label that you can assign to a resource when you create it.'''
3392
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
3393
+
3394
+ @tags.setter
3395
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
3396
+ if __debug__:
3397
+ type_hints = typing.get_type_hints(_typecheckingstub__efad84033de32d67e94b9ac23a8d3176e7fc904203e000dac066b28793fec68b)
3398
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3399
+ jsii.set(self, "tags", value)
3400
+
3401
+ @jsii.data_type(
3402
+ jsii_type="aws-cdk-lib.aws_cleanrooms.CfnMembership.MembershipProtectedQueryOutputConfigurationProperty",
3403
+ jsii_struct_bases=[],
3404
+ name_mapping={"s3": "s3"},
3405
+ )
3406
+ class MembershipProtectedQueryOutputConfigurationProperty:
3407
+ def __init__(
3408
+ self,
3409
+ *,
3410
+ s3: typing.Union[_IResolvable_da3f097b, typing.Union["CfnMembership.ProtectedQueryS3OutputConfigurationProperty", typing.Dict[builtins.str, typing.Any]]],
3411
+ ) -> None:
3412
+ '''Contains configurations for protected query results.
3413
+
3414
+ :param s3: Required configuration for a protected query with an ``S3`` output type.
3415
+
3416
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-membership-membershipprotectedqueryoutputconfiguration.html
3417
+ :exampleMetadata: fixture=_generated
3418
+
3419
+ Example::
3420
+
3421
+ # The code below shows an example of how to instantiate this type.
3422
+ # The values are placeholders you should change.
3423
+ from aws_cdk import aws_cleanrooms as cleanrooms
3424
+
3425
+ membership_protected_query_output_configuration_property = cleanrooms.CfnMembership.MembershipProtectedQueryOutputConfigurationProperty(
3426
+ s3=cleanrooms.CfnMembership.ProtectedQueryS3OutputConfigurationProperty(
3427
+ bucket="bucket",
3428
+ result_format="resultFormat",
3429
+
3430
+ # the properties below are optional
3431
+ key_prefix="keyPrefix"
3432
+ )
3433
+ )
3434
+ '''
3435
+ if __debug__:
3436
+ type_hints = typing.get_type_hints(_typecheckingstub__95a2754aa7d946646d057afbcf1d05c839a09b522b0215f8c6ff427a564f624b)
3437
+ check_type(argname="argument s3", value=s3, expected_type=type_hints["s3"])
3438
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3439
+ "s3": s3,
3440
+ }
3441
+
3442
+ @builtins.property
3443
+ def s3(
3444
+ self,
3445
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnMembership.ProtectedQueryS3OutputConfigurationProperty"]:
3446
+ '''Required configuration for a protected query with an ``S3`` output type.
3447
+
3448
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-membership-membershipprotectedqueryoutputconfiguration.html#cfn-cleanrooms-membership-membershipprotectedqueryoutputconfiguration-s3
3449
+ '''
3450
+ result = self._values.get("s3")
3451
+ assert result is not None, "Required property 's3' is missing"
3452
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnMembership.ProtectedQueryS3OutputConfigurationProperty"], result)
3453
+
3454
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3455
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3456
+
3457
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3458
+ return not (rhs == self)
3459
+
3460
+ def __repr__(self) -> str:
3461
+ return "MembershipProtectedQueryOutputConfigurationProperty(%s)" % ", ".join(
3462
+ k + "=" + repr(v) for k, v in self._values.items()
3463
+ )
3464
+
3465
+ @jsii.data_type(
3466
+ jsii_type="aws-cdk-lib.aws_cleanrooms.CfnMembership.MembershipProtectedQueryResultConfigurationProperty",
3467
+ jsii_struct_bases=[],
3468
+ name_mapping={
3469
+ "output_configuration": "outputConfiguration",
3470
+ "role_arn": "roleArn",
3471
+ },
3472
+ )
3473
+ class MembershipProtectedQueryResultConfigurationProperty:
3474
+ def __init__(
3475
+ self,
3476
+ *,
3477
+ output_configuration: typing.Union[_IResolvable_da3f097b, typing.Union["CfnMembership.MembershipProtectedQueryOutputConfigurationProperty", typing.Dict[builtins.str, typing.Any]]],
3478
+ role_arn: typing.Optional[builtins.str] = None,
3479
+ ) -> None:
3480
+ '''Contains configurations for protected query results.
3481
+
3482
+ :param output_configuration: Configuration for protected query results.
3483
+ :param role_arn: The unique ARN for an IAM role that is used by AWS Clean Rooms to write protected query results to the result location, given by the member who can receive results.
3484
+
3485
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-membership-membershipprotectedqueryresultconfiguration.html
3486
+ :exampleMetadata: fixture=_generated
3487
+
3488
+ Example::
3489
+
3490
+ # The code below shows an example of how to instantiate this type.
3491
+ # The values are placeholders you should change.
3492
+ from aws_cdk import aws_cleanrooms as cleanrooms
3493
+
3494
+ membership_protected_query_result_configuration_property = cleanrooms.CfnMembership.MembershipProtectedQueryResultConfigurationProperty(
3495
+ output_configuration=cleanrooms.CfnMembership.MembershipProtectedQueryOutputConfigurationProperty(
3496
+ s3=cleanrooms.CfnMembership.ProtectedQueryS3OutputConfigurationProperty(
3497
+ bucket="bucket",
3498
+ result_format="resultFormat",
3499
+
3500
+ # the properties below are optional
3501
+ key_prefix="keyPrefix"
3502
+ )
3503
+ ),
3504
+
3505
+ # the properties below are optional
3506
+ role_arn="roleArn"
3507
+ )
3508
+ '''
3509
+ if __debug__:
3510
+ type_hints = typing.get_type_hints(_typecheckingstub__5ac8c4043e48c89672053a73e33884a2912eeea08d43d7abf8e69c928dcadc65)
3511
+ check_type(argname="argument output_configuration", value=output_configuration, expected_type=type_hints["output_configuration"])
3512
+ check_type(argname="argument role_arn", value=role_arn, expected_type=type_hints["role_arn"])
3513
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3514
+ "output_configuration": output_configuration,
3515
+ }
3516
+ if role_arn is not None:
3517
+ self._values["role_arn"] = role_arn
3518
+
3519
+ @builtins.property
3520
+ def output_configuration(
3521
+ self,
3522
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnMembership.MembershipProtectedQueryOutputConfigurationProperty"]:
3523
+ '''Configuration for protected query results.
2606
3524
 
2607
- @jsii.python.classproperty
2608
- @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
2609
- def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
2610
- '''The CloudFormation resource type name for this resource class.'''
2611
- return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
3525
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-membership-membershipprotectedqueryresultconfiguration.html#cfn-cleanrooms-membership-membershipprotectedqueryresultconfiguration-outputconfiguration
3526
+ '''
3527
+ result = self._values.get("output_configuration")
3528
+ assert result is not None, "Required property 'output_configuration' is missing"
3529
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnMembership.MembershipProtectedQueryOutputConfigurationProperty"], result)
2612
3530
 
2613
- @builtins.property
2614
- @jsii.member(jsii_name="attrArn")
2615
- def attr_arn(self) -> builtins.str:
2616
- '''Returns the Amazon Resource Name (ARN) of the specified membership.
3531
+ @builtins.property
3532
+ def role_arn(self) -> typing.Optional[builtins.str]:
3533
+ '''The unique ARN for an IAM role that is used by AWS Clean Rooms to write protected query results to the result location, given by the member who can receive results.
2617
3534
 
2618
- Example: ``arn:aws:cleanrooms:us-east-1:111122223333:membership/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111``
3535
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-membership-membershipprotectedqueryresultconfiguration.html#cfn-cleanrooms-membership-membershipprotectedqueryresultconfiguration-rolearn
3536
+ '''
3537
+ result = self._values.get("role_arn")
3538
+ return typing.cast(typing.Optional[builtins.str], result)
2619
3539
 
2620
- :cloudformationAttribute: Arn
2621
- '''
2622
- return typing.cast(builtins.str, jsii.get(self, "attrArn"))
3540
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3541
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2623
3542
 
2624
- @builtins.property
2625
- @jsii.member(jsii_name="attrCollaborationArn")
2626
- def attr_collaboration_arn(self) -> builtins.str:
2627
- '''Returns the Amazon Resource Name (ARN) of the specified collaboration.
3543
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3544
+ return not (rhs == self)
2628
3545
 
2629
- Example: ``arn:aws:cleanrooms:us-east-1:111122223333:collaboration/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111``
3546
+ def __repr__(self) -> str:
3547
+ return "MembershipProtectedQueryResultConfigurationProperty(%s)" % ", ".join(
3548
+ k + "=" + repr(v) for k, v in self._values.items()
3549
+ )
2630
3550
 
2631
- :cloudformationAttribute: CollaborationArn
2632
- '''
2633
- return typing.cast(builtins.str, jsii.get(self, "attrCollaborationArn"))
3551
+ @jsii.data_type(
3552
+ jsii_type="aws-cdk-lib.aws_cleanrooms.CfnMembership.ProtectedQueryS3OutputConfigurationProperty",
3553
+ jsii_struct_bases=[],
3554
+ name_mapping={
3555
+ "bucket": "bucket",
3556
+ "result_format": "resultFormat",
3557
+ "key_prefix": "keyPrefix",
3558
+ },
3559
+ )
3560
+ class ProtectedQueryS3OutputConfigurationProperty:
3561
+ def __init__(
3562
+ self,
3563
+ *,
3564
+ bucket: builtins.str,
3565
+ result_format: builtins.str,
3566
+ key_prefix: typing.Optional[builtins.str] = None,
3567
+ ) -> None:
3568
+ '''Contains the configuration to write the query results to S3.
2634
3569
 
2635
- @builtins.property
2636
- @jsii.member(jsii_name="attrCollaborationCreatorAccountId")
2637
- def attr_collaboration_creator_account_id(self) -> builtins.str:
2638
- '''Returns the unique identifier of the specified collaboration creator account.
3570
+ :param bucket: The S3 bucket to unload the protected query results.
3571
+ :param result_format: Intended file format of the result.
3572
+ :param key_prefix: The S3 prefix to unload the protected query results.
2639
3573
 
2640
- Example: ``a1b2c3d4-5678-90ab-cdef-EXAMPLE11111``
3574
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-membership-protectedquerys3outputconfiguration.html
3575
+ :exampleMetadata: fixture=_generated
2641
3576
 
2642
- :cloudformationAttribute: CollaborationCreatorAccountId
2643
- '''
2644
- return typing.cast(builtins.str, jsii.get(self, "attrCollaborationCreatorAccountId"))
3577
+ Example::
2645
3578
 
2646
- @builtins.property
2647
- @jsii.member(jsii_name="attrMembershipIdentifier")
2648
- def attr_membership_identifier(self) -> builtins.str:
2649
- '''Returns the unique identifier of the specified membership.
3579
+ # The code below shows an example of how to instantiate this type.
3580
+ # The values are placeholders you should change.
3581
+ from aws_cdk import aws_cleanrooms as cleanrooms
3582
+
3583
+ protected_query_s3_output_configuration_property = cleanrooms.CfnMembership.ProtectedQueryS3OutputConfigurationProperty(
3584
+ bucket="bucket",
3585
+ result_format="resultFormat",
3586
+
3587
+ # the properties below are optional
3588
+ key_prefix="keyPrefix"
3589
+ )
3590
+ '''
3591
+ if __debug__:
3592
+ type_hints = typing.get_type_hints(_typecheckingstub__a9188eb901d25d30e10ffe45a67a0477e30fc05a712c633d687872210f716c3a)
3593
+ check_type(argname="argument bucket", value=bucket, expected_type=type_hints["bucket"])
3594
+ check_type(argname="argument result_format", value=result_format, expected_type=type_hints["result_format"])
3595
+ check_type(argname="argument key_prefix", value=key_prefix, expected_type=type_hints["key_prefix"])
3596
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3597
+ "bucket": bucket,
3598
+ "result_format": result_format,
3599
+ }
3600
+ if key_prefix is not None:
3601
+ self._values["key_prefix"] = key_prefix
2650
3602
 
2651
- Example: ``a1b2c3d4-5678-90ab-cdef-EXAMPLE22222``
3603
+ @builtins.property
3604
+ def bucket(self) -> builtins.str:
3605
+ '''The S3 bucket to unload the protected query results.
2652
3606
 
2653
- :cloudformationAttribute: MembershipIdentifier
2654
- '''
2655
- return typing.cast(builtins.str, jsii.get(self, "attrMembershipIdentifier"))
3607
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-membership-protectedquerys3outputconfiguration.html#cfn-cleanrooms-membership-protectedquerys3outputconfiguration-bucket
3608
+ '''
3609
+ result = self._values.get("bucket")
3610
+ assert result is not None, "Required property 'bucket' is missing"
3611
+ return typing.cast(builtins.str, result)
2656
3612
 
2657
- @builtins.property
2658
- @jsii.member(jsii_name="cfnProperties")
2659
- def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
2660
- return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
3613
+ @builtins.property
3614
+ def result_format(self) -> builtins.str:
3615
+ '''Intended file format of the result.
2661
3616
 
2662
- @builtins.property
2663
- @jsii.member(jsii_name="collaborationIdentifier")
2664
- def collaboration_identifier(self) -> builtins.str:
2665
- '''The unique ID for the associated collaboration.'''
2666
- return typing.cast(builtins.str, jsii.get(self, "collaborationIdentifier"))
3617
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-membership-protectedquerys3outputconfiguration.html#cfn-cleanrooms-membership-protectedquerys3outputconfiguration-resultformat
3618
+ '''
3619
+ result = self._values.get("result_format")
3620
+ assert result is not None, "Required property 'result_format' is missing"
3621
+ return typing.cast(builtins.str, result)
2667
3622
 
2668
- @collaboration_identifier.setter
2669
- def collaboration_identifier(self, value: builtins.str) -> None:
2670
- if __debug__:
2671
- type_hints = typing.get_type_hints(_typecheckingstub__ba2cc6691bad0d4fdbfa43d453737e19bbcc1b63648ed884849a27170f877099)
2672
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2673
- jsii.set(self, "collaborationIdentifier", value)
3623
+ @builtins.property
3624
+ def key_prefix(self) -> typing.Optional[builtins.str]:
3625
+ '''The S3 prefix to unload the protected query results.
2674
3626
 
2675
- @builtins.property
2676
- @jsii.member(jsii_name="queryLogStatus")
2677
- def query_log_status(self) -> builtins.str:
2678
- '''An indicator as to whether query logging has been enabled or disabled for the collaboration.'''
2679
- return typing.cast(builtins.str, jsii.get(self, "queryLogStatus"))
3627
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-membership-protectedquerys3outputconfiguration.html#cfn-cleanrooms-membership-protectedquerys3outputconfiguration-keyprefix
3628
+ '''
3629
+ result = self._values.get("key_prefix")
3630
+ return typing.cast(typing.Optional[builtins.str], result)
2680
3631
 
2681
- @query_log_status.setter
2682
- def query_log_status(self, value: builtins.str) -> None:
2683
- if __debug__:
2684
- type_hints = typing.get_type_hints(_typecheckingstub__bee80a156c452c78946d81f28dfee88d47d5702e2d1eeb7a5c7aeb167b25400e)
2685
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2686
- jsii.set(self, "queryLogStatus", value)
3632
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3633
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2687
3634
 
2688
- @builtins.property
2689
- @jsii.member(jsii_name="tags")
2690
- def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
2691
- '''An optional label that you can assign to a resource when you create it.'''
2692
- return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
3635
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3636
+ return not (rhs == self)
2693
3637
 
2694
- @tags.setter
2695
- def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
2696
- if __debug__:
2697
- type_hints = typing.get_type_hints(_typecheckingstub__efad84033de32d67e94b9ac23a8d3176e7fc904203e000dac066b28793fec68b)
2698
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2699
- jsii.set(self, "tags", value)
3638
+ def __repr__(self) -> str:
3639
+ return "ProtectedQueryS3OutputConfigurationProperty(%s)" % ", ".join(
3640
+ k + "=" + repr(v) for k, v in self._values.items()
3641
+ )
2700
3642
 
2701
3643
 
2702
3644
  @jsii.data_type(
@@ -2705,6 +3647,7 @@ class CfnMembership(
2705
3647
  name_mapping={
2706
3648
  "collaboration_identifier": "collaborationIdentifier",
2707
3649
  "query_log_status": "queryLogStatus",
3650
+ "default_result_configuration": "defaultResultConfiguration",
2708
3651
  "tags": "tags",
2709
3652
  },
2710
3653
  )
@@ -2714,12 +3657,14 @@ class CfnMembershipProps:
2714
3657
  *,
2715
3658
  collaboration_identifier: builtins.str,
2716
3659
  query_log_status: builtins.str,
3660
+ default_result_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnMembership.MembershipProtectedQueryResultConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2717
3661
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2718
3662
  ) -> None:
2719
3663
  '''Properties for defining a ``CfnMembership``.
2720
3664
 
2721
3665
  :param collaboration_identifier: The unique ID for the associated collaboration.
2722
3666
  :param query_log_status: An indicator as to whether query logging has been enabled or disabled for the collaboration.
3667
+ :param default_result_configuration: The default protected query result configuration as specified by the member who can receive results.
2723
3668
  :param tags: An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.
2724
3669
 
2725
3670
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-membership.html
@@ -2736,6 +3681,20 @@ class CfnMembershipProps:
2736
3681
  query_log_status="queryLogStatus",
2737
3682
 
2738
3683
  # the properties below are optional
3684
+ default_result_configuration=cleanrooms.CfnMembership.MembershipProtectedQueryResultConfigurationProperty(
3685
+ output_configuration=cleanrooms.CfnMembership.MembershipProtectedQueryOutputConfigurationProperty(
3686
+ s3=cleanrooms.CfnMembership.ProtectedQueryS3OutputConfigurationProperty(
3687
+ bucket="bucket",
3688
+ result_format="resultFormat",
3689
+
3690
+ # the properties below are optional
3691
+ key_prefix="keyPrefix"
3692
+ )
3693
+ ),
3694
+
3695
+ # the properties below are optional
3696
+ role_arn="roleArn"
3697
+ ),
2739
3698
  tags=[CfnTag(
2740
3699
  key="key",
2741
3700
  value="value"
@@ -2746,11 +3705,14 @@ class CfnMembershipProps:
2746
3705
  type_hints = typing.get_type_hints(_typecheckingstub__2a7030966bdb99200cf7aff97662a2ef1e02754d2c014bc030475065ea06e0da)
2747
3706
  check_type(argname="argument collaboration_identifier", value=collaboration_identifier, expected_type=type_hints["collaboration_identifier"])
2748
3707
  check_type(argname="argument query_log_status", value=query_log_status, expected_type=type_hints["query_log_status"])
3708
+ check_type(argname="argument default_result_configuration", value=default_result_configuration, expected_type=type_hints["default_result_configuration"])
2749
3709
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
2750
3710
  self._values: typing.Dict[builtins.str, typing.Any] = {
2751
3711
  "collaboration_identifier": collaboration_identifier,
2752
3712
  "query_log_status": query_log_status,
2753
3713
  }
3714
+ if default_result_configuration is not None:
3715
+ self._values["default_result_configuration"] = default_result_configuration
2754
3716
  if tags is not None:
2755
3717
  self._values["tags"] = tags
2756
3718
 
@@ -2774,6 +3736,17 @@ class CfnMembershipProps:
2774
3736
  assert result is not None, "Required property 'query_log_status' is missing"
2775
3737
  return typing.cast(builtins.str, result)
2776
3738
 
3739
+ @builtins.property
3740
+ def default_result_configuration(
3741
+ self,
3742
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnMembership.MembershipProtectedQueryResultConfigurationProperty]]:
3743
+ '''The default protected query result configuration as specified by the member who can receive results.
3744
+
3745
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-membership.html#cfn-cleanrooms-membership-defaultresultconfiguration
3746
+ '''
3747
+ result = self._values.get("default_result_configuration")
3748
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnMembership.MembershipProtectedQueryResultConfigurationProperty]], result)
3749
+
2777
3750
  @builtins.property
2778
3751
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
2779
3752
  '''An optional label that you can assign to a resource when you create it.
@@ -2798,6 +3771,8 @@ class CfnMembershipProps:
2798
3771
 
2799
3772
 
2800
3773
  __all__ = [
3774
+ "CfnAnalysisTemplate",
3775
+ "CfnAnalysisTemplateProps",
2801
3776
  "CfnCollaboration",
2802
3777
  "CfnCollaborationProps",
2803
3778
  "CfnConfiguredTable",
@@ -2810,6 +3785,111 @@ __all__ = [
2810
3785
 
2811
3786
  publication.publish()
2812
3787
 
3788
+ def _typecheckingstub__0e650aead4f74afeaf90193249293bee92f9a4eb687f4f9678e1a1368a887bfa(
3789
+ scope: _constructs_77d1e7e8.Construct,
3790
+ id: builtins.str,
3791
+ *,
3792
+ format: builtins.str,
3793
+ membership_identifier: builtins.str,
3794
+ name: builtins.str,
3795
+ source: typing.Union[_IResolvable_da3f097b, typing.Union[CfnAnalysisTemplate.AnalysisSourceProperty, typing.Dict[builtins.str, typing.Any]]],
3796
+ analysis_parameters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAnalysisTemplate.AnalysisParameterProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
3797
+ description: typing.Optional[builtins.str] = None,
3798
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3799
+ ) -> None:
3800
+ """Type checking stubs"""
3801
+ pass
3802
+
3803
+ def _typecheckingstub__def32f8279895eaf5ae2fed796049f11e8ecc1f14c53c7a40e54f77f97722f40(
3804
+ inspector: _TreeInspector_488e0dd5,
3805
+ ) -> None:
3806
+ """Type checking stubs"""
3807
+ pass
3808
+
3809
+ def _typecheckingstub__4d2f63941e3ccfc02c5fd40f68748b90631da131360cf742a7aa15eb0547f5b5(
3810
+ props: typing.Mapping[builtins.str, typing.Any],
3811
+ ) -> None:
3812
+ """Type checking stubs"""
3813
+ pass
3814
+
3815
+ def _typecheckingstub__a99bf5a96bec195d52c514c174a5c532136760569f0863c25b3672fb0b2a9f3c(
3816
+ value: builtins.str,
3817
+ ) -> None:
3818
+ """Type checking stubs"""
3819
+ pass
3820
+
3821
+ def _typecheckingstub__297b2b982e7135bfb11610ac18dcacab85dc955728c10a993db86affc23a6c85(
3822
+ value: builtins.str,
3823
+ ) -> None:
3824
+ """Type checking stubs"""
3825
+ pass
3826
+
3827
+ def _typecheckingstub__a0ca9c50ab5c0e5399ff8164eb04d12b160d7880a66ad5c75586fef748051a2a(
3828
+ value: builtins.str,
3829
+ ) -> None:
3830
+ """Type checking stubs"""
3831
+ pass
3832
+
3833
+ def _typecheckingstub__53060281bd9759f7bd4026827422f1a24050a030c7c5574430af50f44bcdc81f(
3834
+ value: typing.Union[_IResolvable_da3f097b, CfnAnalysisTemplate.AnalysisSourceProperty],
3835
+ ) -> None:
3836
+ """Type checking stubs"""
3837
+ pass
3838
+
3839
+ def _typecheckingstub__e1b12f58b0c5fa25bf8c085bcbec4d711cdcbcd2bcea3e5137ba027e35f34c9f(
3840
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnAnalysisTemplate.AnalysisParameterProperty]]]],
3841
+ ) -> None:
3842
+ """Type checking stubs"""
3843
+ pass
3844
+
3845
+ def _typecheckingstub__a8ea0f1530d49d0cf3ea112be450d6887b42e42d18ffdc9233aac36569611c55(
3846
+ value: typing.Optional[builtins.str],
3847
+ ) -> None:
3848
+ """Type checking stubs"""
3849
+ pass
3850
+
3851
+ def _typecheckingstub__b6d8c0e267965c3e8d9449c75e721dc4e1bccb98212af3c5be762ebb7322d8e8(
3852
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
3853
+ ) -> None:
3854
+ """Type checking stubs"""
3855
+ pass
3856
+
3857
+ def _typecheckingstub__1f8aaf9054ec461e195e032043672bc5f9f627fd62d4544efda7b3ea2740b2d1(
3858
+ *,
3859
+ name: builtins.str,
3860
+ type: builtins.str,
3861
+ default_value: typing.Optional[builtins.str] = None,
3862
+ ) -> None:
3863
+ """Type checking stubs"""
3864
+ pass
3865
+
3866
+ def _typecheckingstub__8f1f3d4aa401aad65536409e9f991c86250c627594c1b918fe7c42b5ac37c097(
3867
+ *,
3868
+ referenced_tables: typing.Sequence[builtins.str],
3869
+ ) -> None:
3870
+ """Type checking stubs"""
3871
+ pass
3872
+
3873
+ def _typecheckingstub__bbdd92f3241147ec8ad458564c84f6695d3a3e85f93b5190554663d6327c512f(
3874
+ *,
3875
+ text: builtins.str,
3876
+ ) -> None:
3877
+ """Type checking stubs"""
3878
+ pass
3879
+
3880
+ def _typecheckingstub__e1c797e3fa5f8683aa0eb66424f00b6b29c5014d5c45e7771fe0c5b1e9a973e8(
3881
+ *,
3882
+ format: builtins.str,
3883
+ membership_identifier: builtins.str,
3884
+ name: builtins.str,
3885
+ source: typing.Union[_IResolvable_da3f097b, typing.Union[CfnAnalysisTemplate.AnalysisSourceProperty, typing.Dict[builtins.str, typing.Any]]],
3886
+ analysis_parameters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAnalysisTemplate.AnalysisParameterProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
3887
+ description: typing.Optional[builtins.str] = None,
3888
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3889
+ ) -> None:
3890
+ """Type checking stubs"""
3891
+ pass
3892
+
2813
3893
  def _typecheckingstub__a8995527da9ce4212caf3c1fdf601e4947c02ff1e364e92811ac8635be534111(
2814
3894
  scope: _constructs_77d1e7e8.Construct,
2815
3895
  id: builtins.str,
@@ -3167,6 +4247,7 @@ def _typecheckingstub__74d43efdc8d8359f9de6878ad0f2d25ff79e584d96e5ca863178e6f14
3167
4247
  *,
3168
4248
  collaboration_identifier: builtins.str,
3169
4249
  query_log_status: builtins.str,
4250
+ default_result_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnMembership.MembershipProtectedQueryResultConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3170
4251
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3171
4252
  ) -> None:
3172
4253
  """Type checking stubs"""
@@ -3196,16 +4277,47 @@ def _typecheckingstub__bee80a156c452c78946d81f28dfee88d47d5702e2d1eeb7a5c7aeb167
3196
4277
  """Type checking stubs"""
3197
4278
  pass
3198
4279
 
4280
+ def _typecheckingstub__ad055649202ffbf3de067877d88fa96b564e1efb0b59d9afaceb04f351ce0c65(
4281
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnMembership.MembershipProtectedQueryResultConfigurationProperty]],
4282
+ ) -> None:
4283
+ """Type checking stubs"""
4284
+ pass
4285
+
3199
4286
  def _typecheckingstub__efad84033de32d67e94b9ac23a8d3176e7fc904203e000dac066b28793fec68b(
3200
4287
  value: typing.Optional[typing.List[_CfnTag_f6864754]],
3201
4288
  ) -> None:
3202
4289
  """Type checking stubs"""
3203
4290
  pass
3204
4291
 
4292
+ def _typecheckingstub__95a2754aa7d946646d057afbcf1d05c839a09b522b0215f8c6ff427a564f624b(
4293
+ *,
4294
+ s3: typing.Union[_IResolvable_da3f097b, typing.Union[CfnMembership.ProtectedQueryS3OutputConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
4295
+ ) -> None:
4296
+ """Type checking stubs"""
4297
+ pass
4298
+
4299
+ def _typecheckingstub__5ac8c4043e48c89672053a73e33884a2912eeea08d43d7abf8e69c928dcadc65(
4300
+ *,
4301
+ output_configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnMembership.MembershipProtectedQueryOutputConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
4302
+ role_arn: typing.Optional[builtins.str] = None,
4303
+ ) -> None:
4304
+ """Type checking stubs"""
4305
+ pass
4306
+
4307
+ def _typecheckingstub__a9188eb901d25d30e10ffe45a67a0477e30fc05a712c633d687872210f716c3a(
4308
+ *,
4309
+ bucket: builtins.str,
4310
+ result_format: builtins.str,
4311
+ key_prefix: typing.Optional[builtins.str] = None,
4312
+ ) -> None:
4313
+ """Type checking stubs"""
4314
+ pass
4315
+
3205
4316
  def _typecheckingstub__2a7030966bdb99200cf7aff97662a2ef1e02754d2c014bc030475065ea06e0da(
3206
4317
  *,
3207
4318
  collaboration_identifier: builtins.str,
3208
4319
  query_log_status: builtins.str,
4320
+ default_result_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnMembership.MembershipProtectedQueryResultConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3209
4321
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3210
4322
  ) -> None:
3211
4323
  """Type checking stubs"""