aws-sdk-cleanrooms 1.25.0 → 1.27.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -518,7 +518,7 @@ module Aws::CleanRooms
518
518
  # resp.schemas[0].partition_keys[0].name #=> String
519
519
  # resp.schemas[0].partition_keys[0].type #=> String
520
520
  # resp.schemas[0].analysis_rule_types #=> Array
521
- # resp.schemas[0].analysis_rule_types[0] #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
521
+ # resp.schemas[0].analysis_rule_types[0] #=> String, one of "AGGREGATION", "LIST", "CUSTOM", "ID_MAPPING_TABLE"
522
522
  # resp.schemas[0].analysis_method #=> String, one of "DIRECT_QUERY"
523
523
  # resp.schemas[0].creator_account_id #=> String
524
524
  # resp.schemas[0].name #=> String
@@ -527,15 +527,19 @@ module Aws::CleanRooms
527
527
  # resp.schemas[0].description #=> String
528
528
  # resp.schemas[0].create_time #=> Time
529
529
  # resp.schemas[0].update_time #=> Time
530
- # resp.schemas[0].type #=> String, one of "TABLE"
530
+ # resp.schemas[0].type #=> String, one of "TABLE", "ID_MAPPING_TABLE"
531
531
  # resp.schemas[0].schema_status_details #=> Array
532
532
  # resp.schemas[0].schema_status_details[0].status #=> String, one of "READY", "NOT_READY"
533
533
  # resp.schemas[0].schema_status_details[0].reasons #=> Array
534
- # resp.schemas[0].schema_status_details[0].reasons[0].code #=> String, one of "ANALYSIS_RULE_MISSING", "ANALYSIS_TEMPLATES_NOT_CONFIGURED", "ANALYSIS_PROVIDERS_NOT_CONFIGURED", "DIFFERENTIAL_PRIVACY_POLICY_NOT_CONFIGURED"
534
+ # resp.schemas[0].schema_status_details[0].reasons[0].code #=> String, one of "ANALYSIS_RULE_MISSING", "ANALYSIS_TEMPLATES_NOT_CONFIGURED", "ANALYSIS_PROVIDERS_NOT_CONFIGURED", "DIFFERENTIAL_PRIVACY_POLICY_NOT_CONFIGURED", "ID_MAPPING_TABLE_NOT_POPULATED", "COLLABORATION_ANALYSIS_RULE_NOT_CONFIGURED", "ADDITIONAL_ANALYSES_NOT_CONFIGURED", "RESULT_RECEIVERS_NOT_CONFIGURED", "ADDITIONAL_ANALYSES_NOT_ALLOWED", "RESULT_RECEIVERS_NOT_ALLOWED", "ANALYSIS_RULE_TYPES_NOT_COMPATIBLE"
535
535
  # resp.schemas[0].schema_status_details[0].reasons[0].message #=> String
536
- # resp.schemas[0].schema_status_details[0].analysis_rule_type #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
536
+ # resp.schemas[0].schema_status_details[0].analysis_rule_type #=> String, one of "AGGREGATION", "LIST", "CUSTOM", "ID_MAPPING_TABLE"
537
537
  # resp.schemas[0].schema_status_details[0].configurations #=> Array
538
538
  # resp.schemas[0].schema_status_details[0].configurations[0] #=> String, one of "DIFFERENTIAL_PRIVACY"
539
+ # resp.schemas[0].schema_status_details[0].analysis_type #=> String, one of "DIRECT_ANALYSIS", "ADDITIONAL_ANALYSIS"
540
+ # resp.schemas[0].schema_type_properties.id_mapping_table.id_mapping_table_input_source #=> Array
541
+ # resp.schemas[0].schema_type_properties.id_mapping_table.id_mapping_table_input_source[0].id_namespace_association_id #=> String
542
+ # resp.schemas[0].schema_type_properties.id_mapping_table.id_mapping_table_input_source[0].type #=> String, one of "SOURCE", "TARGET"
539
543
  # resp.errors #=> Array
540
544
  # resp.errors[0].name #=> String
541
545
  # resp.errors[0].code #=> String
@@ -571,7 +575,7 @@ module Aws::CleanRooms
571
575
  # schema_analysis_rule_requests: [ # required
572
576
  # {
573
577
  # name: "TableAlias", # required
574
- # type: "AGGREGATION", # required, accepts AGGREGATION, LIST, CUSTOM
578
+ # type: "AGGREGATION", # required, accepts AGGREGATION, LIST, CUSTOM, ID_MAPPING_TABLE
575
579
  # },
576
580
  # ],
577
581
  # })
@@ -580,7 +584,7 @@ module Aws::CleanRooms
580
584
  #
581
585
  # resp.analysis_rules #=> Array
582
586
  # resp.analysis_rules[0].collaboration_id #=> String
583
- # resp.analysis_rules[0].type #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
587
+ # resp.analysis_rules[0].type #=> String, one of "AGGREGATION", "LIST", "CUSTOM", "ID_MAPPING_TABLE"
584
588
  # resp.analysis_rules[0].name #=> String
585
589
  # resp.analysis_rules[0].create_time #=> Time
586
590
  # resp.analysis_rules[0].update_time #=> Time
@@ -590,6 +594,7 @@ module Aws::CleanRooms
590
594
  # resp.analysis_rules[0].policy.v1.list.allowed_join_operators[0] #=> String, one of "OR", "AND"
591
595
  # resp.analysis_rules[0].policy.v1.list.list_columns #=> Array
592
596
  # resp.analysis_rules[0].policy.v1.list.list_columns[0] #=> String
597
+ # resp.analysis_rules[0].policy.v1.list.additional_analyses #=> String, one of "ALLOWED", "REQUIRED", "NOT_ALLOWED"
593
598
  # resp.analysis_rules[0].policy.v1.aggregation.aggregate_columns #=> Array
594
599
  # resp.analysis_rules[0].policy.v1.aggregation.aggregate_columns[0].column_names #=> Array
595
600
  # resp.analysis_rules[0].policy.v1.aggregation.aggregate_columns[0].column_names[0] #=> String
@@ -607,15 +612,26 @@ module Aws::CleanRooms
607
612
  # resp.analysis_rules[0].policy.v1.aggregation.output_constraints[0].column_name #=> String
608
613
  # resp.analysis_rules[0].policy.v1.aggregation.output_constraints[0].minimum #=> Integer
609
614
  # resp.analysis_rules[0].policy.v1.aggregation.output_constraints[0].type #=> String, one of "COUNT_DISTINCT"
615
+ # resp.analysis_rules[0].policy.v1.aggregation.additional_analyses #=> String, one of "ALLOWED", "REQUIRED", "NOT_ALLOWED"
610
616
  # resp.analysis_rules[0].policy.v1.custom.allowed_analyses #=> Array
611
617
  # resp.analysis_rules[0].policy.v1.custom.allowed_analyses[0] #=> String
612
618
  # resp.analysis_rules[0].policy.v1.custom.allowed_analysis_providers #=> Array
613
619
  # resp.analysis_rules[0].policy.v1.custom.allowed_analysis_providers[0] #=> String
620
+ # resp.analysis_rules[0].policy.v1.custom.additional_analyses #=> String, one of "ALLOWED", "REQUIRED", "NOT_ALLOWED"
621
+ # resp.analysis_rules[0].policy.v1.custom.disallowed_output_columns #=> Array
622
+ # resp.analysis_rules[0].policy.v1.custom.disallowed_output_columns[0] #=> String
614
623
  # resp.analysis_rules[0].policy.v1.custom.differential_privacy.columns #=> Array
615
624
  # resp.analysis_rules[0].policy.v1.custom.differential_privacy.columns[0].name #=> String
625
+ # resp.analysis_rules[0].policy.v1.id_mapping_table.join_columns #=> Array
626
+ # resp.analysis_rules[0].policy.v1.id_mapping_table.join_columns[0] #=> String
627
+ # resp.analysis_rules[0].policy.v1.id_mapping_table.query_constraints #=> Array
628
+ # resp.analysis_rules[0].policy.v1.id_mapping_table.query_constraints[0].require_overlap.columns #=> Array
629
+ # resp.analysis_rules[0].policy.v1.id_mapping_table.query_constraints[0].require_overlap.columns[0] #=> String
630
+ # resp.analysis_rules[0].policy.v1.id_mapping_table.dimension_columns #=> Array
631
+ # resp.analysis_rules[0].policy.v1.id_mapping_table.dimension_columns[0] #=> String
616
632
  # resp.errors #=> Array
617
633
  # resp.errors[0].name #=> String
618
- # resp.errors[0].type #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
634
+ # resp.errors[0].type #=> String, one of "AGGREGATION", "LIST", "CUSTOM", "ID_MAPPING_TABLE"
619
635
  # resp.errors[0].code #=> String
620
636
  # resp.errors[0].message #=> String
621
637
  #
@@ -987,7 +1003,7 @@ module Aws::CleanRooms
987
1003
  # The type of analysis rule.
988
1004
  #
989
1005
  # @option params [required, Types::ConfiguredTableAnalysisRulePolicy] :analysis_rule_policy
990
- # The entire created configured table analysis rule object.
1006
+ # The analysis rule policy that was created for the configured table.
991
1007
  #
992
1008
  # @return [Types::CreateConfiguredTableAnalysisRuleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
993
1009
  #
@@ -1004,6 +1020,7 @@ module Aws::CleanRooms
1004
1020
  # join_columns: ["AnalysisRuleColumnName"], # required
1005
1021
  # allowed_join_operators: ["OR"], # accepts OR, AND
1006
1022
  # list_columns: ["AnalysisRuleColumnName"], # required
1023
+ # additional_analyses: "ALLOWED", # accepts ALLOWED, REQUIRED, NOT_ALLOWED
1007
1024
  # },
1008
1025
  # aggregation: {
1009
1026
  # aggregate_columns: [ # required
@@ -1024,10 +1041,13 @@ module Aws::CleanRooms
1024
1041
  # type: "COUNT_DISTINCT", # required, accepts COUNT_DISTINCT
1025
1042
  # },
1026
1043
  # ],
1044
+ # additional_analyses: "ALLOWED", # accepts ALLOWED, REQUIRED, NOT_ALLOWED
1027
1045
  # },
1028
1046
  # custom: {
1029
1047
  # allowed_analyses: ["AnalysisTemplateArnOrQueryWildcard"], # required
1030
1048
  # allowed_analysis_providers: ["AccountId"],
1049
+ # additional_analyses: "ALLOWED", # accepts ALLOWED, REQUIRED, NOT_ALLOWED
1050
+ # disallowed_output_columns: ["AnalysisRuleColumnName"],
1031
1051
  # differential_privacy: {
1032
1052
  # columns: [ # required
1033
1053
  # {
@@ -1050,6 +1070,7 @@ module Aws::CleanRooms
1050
1070
  # resp.analysis_rule.policy.v1.list.allowed_join_operators[0] #=> String, one of "OR", "AND"
1051
1071
  # resp.analysis_rule.policy.v1.list.list_columns #=> Array
1052
1072
  # resp.analysis_rule.policy.v1.list.list_columns[0] #=> String
1073
+ # resp.analysis_rule.policy.v1.list.additional_analyses #=> String, one of "ALLOWED", "REQUIRED", "NOT_ALLOWED"
1053
1074
  # resp.analysis_rule.policy.v1.aggregation.aggregate_columns #=> Array
1054
1075
  # resp.analysis_rule.policy.v1.aggregation.aggregate_columns[0].column_names #=> Array
1055
1076
  # resp.analysis_rule.policy.v1.aggregation.aggregate_columns[0].column_names[0] #=> String
@@ -1067,10 +1088,14 @@ module Aws::CleanRooms
1067
1088
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].column_name #=> String
1068
1089
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].minimum #=> Integer
1069
1090
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].type #=> String, one of "COUNT_DISTINCT"
1091
+ # resp.analysis_rule.policy.v1.aggregation.additional_analyses #=> String, one of "ALLOWED", "REQUIRED", "NOT_ALLOWED"
1070
1092
  # resp.analysis_rule.policy.v1.custom.allowed_analyses #=> Array
1071
1093
  # resp.analysis_rule.policy.v1.custom.allowed_analyses[0] #=> String
1072
1094
  # resp.analysis_rule.policy.v1.custom.allowed_analysis_providers #=> Array
1073
1095
  # resp.analysis_rule.policy.v1.custom.allowed_analysis_providers[0] #=> String
1096
+ # resp.analysis_rule.policy.v1.custom.additional_analyses #=> String, one of "ALLOWED", "REQUIRED", "NOT_ALLOWED"
1097
+ # resp.analysis_rule.policy.v1.custom.disallowed_output_columns #=> Array
1098
+ # resp.analysis_rule.policy.v1.custom.disallowed_output_columns[0] #=> String
1074
1099
  # resp.analysis_rule.policy.v1.custom.differential_privacy.columns #=> Array
1075
1100
  # resp.analysis_rule.policy.v1.custom.differential_privacy.columns[0].name #=> String
1076
1101
  # resp.analysis_rule.type #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
@@ -1143,6 +1168,8 @@ module Aws::CleanRooms
1143
1168
  # resp.configured_table_association.role_arn #=> String
1144
1169
  # resp.configured_table_association.name #=> String
1145
1170
  # resp.configured_table_association.description #=> String
1171
+ # resp.configured_table_association.analysis_rule_types #=> Array
1172
+ # resp.configured_table_association.analysis_rule_types[0] #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
1146
1173
  # resp.configured_table_association.create_time #=> Time
1147
1174
  # resp.configured_table_association.update_time #=> Time
1148
1175
  #
@@ -1155,6 +1182,230 @@ module Aws::CleanRooms
1155
1182
  req.send_request(options)
1156
1183
  end
1157
1184
 
1185
+ # Creates a new analysis rule for an associated configured table.
1186
+ #
1187
+ # @option params [required, String] :membership_identifier
1188
+ # A unique identifier for the membership that the configured table
1189
+ # association belongs to. Currently accepts the membership ID.
1190
+ #
1191
+ # @option params [required, String] :configured_table_association_identifier
1192
+ # The unique ID for the configured table association. Currently accepts
1193
+ # the configured table association ID.
1194
+ #
1195
+ # @option params [required, String] :analysis_rule_type
1196
+ # The type of analysis rule.
1197
+ #
1198
+ # @option params [required, Types::ConfiguredTableAssociationAnalysisRulePolicy] :analysis_rule_policy
1199
+ # The analysis rule policy that was created for the configured table
1200
+ # association.
1201
+ #
1202
+ # @return [Types::CreateConfiguredTableAssociationAnalysisRuleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1203
+ #
1204
+ # * {Types::CreateConfiguredTableAssociationAnalysisRuleOutput#analysis_rule #analysis_rule} => Types::ConfiguredTableAssociationAnalysisRule
1205
+ #
1206
+ # @example Request syntax with placeholder values
1207
+ #
1208
+ # resp = client.create_configured_table_association_analysis_rule({
1209
+ # membership_identifier: "MembershipIdentifier", # required
1210
+ # configured_table_association_identifier: "ConfiguredTableAssociationIdentifier", # required
1211
+ # analysis_rule_type: "AGGREGATION", # required, accepts AGGREGATION, LIST, CUSTOM
1212
+ # analysis_rule_policy: { # required
1213
+ # v1: {
1214
+ # list: {
1215
+ # allowed_result_receivers: ["AccountId"],
1216
+ # allowed_additional_analyses: ["AdditionalAnalysesResourceArn"],
1217
+ # },
1218
+ # aggregation: {
1219
+ # allowed_result_receivers: ["AccountId"],
1220
+ # allowed_additional_analyses: ["AdditionalAnalysesResourceArn"],
1221
+ # },
1222
+ # custom: {
1223
+ # allowed_result_receivers: ["AccountId"],
1224
+ # allowed_additional_analyses: ["AdditionalAnalysesResourceArn"],
1225
+ # },
1226
+ # },
1227
+ # },
1228
+ # })
1229
+ #
1230
+ # @example Response structure
1231
+ #
1232
+ # resp.analysis_rule.membership_identifier #=> String
1233
+ # resp.analysis_rule.configured_table_association_id #=> String
1234
+ # resp.analysis_rule.configured_table_association_arn #=> String
1235
+ # resp.analysis_rule.policy.v1.list.allowed_result_receivers #=> Array
1236
+ # resp.analysis_rule.policy.v1.list.allowed_result_receivers[0] #=> String
1237
+ # resp.analysis_rule.policy.v1.list.allowed_additional_analyses #=> Array
1238
+ # resp.analysis_rule.policy.v1.list.allowed_additional_analyses[0] #=> String
1239
+ # resp.analysis_rule.policy.v1.aggregation.allowed_result_receivers #=> Array
1240
+ # resp.analysis_rule.policy.v1.aggregation.allowed_result_receivers[0] #=> String
1241
+ # resp.analysis_rule.policy.v1.aggregation.allowed_additional_analyses #=> Array
1242
+ # resp.analysis_rule.policy.v1.aggregation.allowed_additional_analyses[0] #=> String
1243
+ # resp.analysis_rule.policy.v1.custom.allowed_result_receivers #=> Array
1244
+ # resp.analysis_rule.policy.v1.custom.allowed_result_receivers[0] #=> String
1245
+ # resp.analysis_rule.policy.v1.custom.allowed_additional_analyses #=> Array
1246
+ # resp.analysis_rule.policy.v1.custom.allowed_additional_analyses[0] #=> String
1247
+ # resp.analysis_rule.type #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
1248
+ # resp.analysis_rule.create_time #=> Time
1249
+ # resp.analysis_rule.update_time #=> Time
1250
+ #
1251
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/CreateConfiguredTableAssociationAnalysisRule AWS API Documentation
1252
+ #
1253
+ # @overload create_configured_table_association_analysis_rule(params = {})
1254
+ # @param [Hash] params ({})
1255
+ def create_configured_table_association_analysis_rule(params = {}, options = {})
1256
+ req = build_request(:create_configured_table_association_analysis_rule, params)
1257
+ req.send_request(options)
1258
+ end
1259
+
1260
+ # Creates an ID mapping table.
1261
+ #
1262
+ # @option params [required, String] :membership_identifier
1263
+ # The unique identifier of the membership that contains the ID mapping
1264
+ # table.
1265
+ #
1266
+ # @option params [required, String] :name
1267
+ # A name for the ID mapping table.
1268
+ #
1269
+ # @option params [String] :description
1270
+ # A description of the ID mapping table.
1271
+ #
1272
+ # @option params [required, Types::IdMappingTableInputReferenceConfig] :input_reference_config
1273
+ # The input reference configuration needed to create the ID mapping
1274
+ # table.
1275
+ #
1276
+ # @option params [Hash<String,String>] :tags
1277
+ # An optional label that you can assign to a resource when you create
1278
+ # it. Each tag consists of a key and an optional value, both of which
1279
+ # you define. When you use tagging, you can also use tag-based access
1280
+ # control in IAM policies to control access to this resource.
1281
+ #
1282
+ # @option params [String] :kms_key_arn
1283
+ # The Amazon Resource Name (ARN) of the Amazon Web Services KMS key.
1284
+ # This value is used to encrypt the mapping table data that is stored by
1285
+ # Clean Rooms.
1286
+ #
1287
+ # @return [Types::CreateIdMappingTableOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1288
+ #
1289
+ # * {Types::CreateIdMappingTableOutput#id_mapping_table #id_mapping_table} => Types::IdMappingTable
1290
+ #
1291
+ # @example Request syntax with placeholder values
1292
+ #
1293
+ # resp = client.create_id_mapping_table({
1294
+ # membership_identifier: "MembershipIdentifier", # required
1295
+ # name: "ResourceAlias", # required
1296
+ # description: "ResourceDescription",
1297
+ # input_reference_config: { # required
1298
+ # input_reference_arn: "IdMappingTableInputReferenceArn", # required
1299
+ # manage_resource_policies: false, # required
1300
+ # },
1301
+ # tags: {
1302
+ # "TagKey" => "TagValue",
1303
+ # },
1304
+ # kms_key_arn: "KMSKeyArn",
1305
+ # })
1306
+ #
1307
+ # @example Response structure
1308
+ #
1309
+ # resp.id_mapping_table.id #=> String
1310
+ # resp.id_mapping_table.arn #=> String
1311
+ # resp.id_mapping_table.input_reference_config.input_reference_arn #=> String
1312
+ # resp.id_mapping_table.input_reference_config.manage_resource_policies #=> Boolean
1313
+ # resp.id_mapping_table.membership_id #=> String
1314
+ # resp.id_mapping_table.membership_arn #=> String
1315
+ # resp.id_mapping_table.collaboration_id #=> String
1316
+ # resp.id_mapping_table.collaboration_arn #=> String
1317
+ # resp.id_mapping_table.description #=> String
1318
+ # resp.id_mapping_table.name #=> String
1319
+ # resp.id_mapping_table.create_time #=> Time
1320
+ # resp.id_mapping_table.update_time #=> Time
1321
+ # resp.id_mapping_table.input_reference_properties.id_mapping_table_input_source #=> Array
1322
+ # resp.id_mapping_table.input_reference_properties.id_mapping_table_input_source[0].id_namespace_association_id #=> String
1323
+ # resp.id_mapping_table.input_reference_properties.id_mapping_table_input_source[0].type #=> String, one of "SOURCE", "TARGET"
1324
+ # resp.id_mapping_table.kms_key_arn #=> String
1325
+ #
1326
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/CreateIdMappingTable AWS API Documentation
1327
+ #
1328
+ # @overload create_id_mapping_table(params = {})
1329
+ # @param [Hash] params ({})
1330
+ def create_id_mapping_table(params = {}, options = {})
1331
+ req = build_request(:create_id_mapping_table, params)
1332
+ req.send_request(options)
1333
+ end
1334
+
1335
+ # Creates an ID namespace association.
1336
+ #
1337
+ # @option params [required, String] :membership_identifier
1338
+ # The unique identifier of the membership that contains the ID namespace
1339
+ # association.
1340
+ #
1341
+ # @option params [required, Types::IdNamespaceAssociationInputReferenceConfig] :input_reference_config
1342
+ # The input reference configuration needed to create the ID namespace
1343
+ # association.
1344
+ #
1345
+ # @option params [Hash<String,String>] :tags
1346
+ # An optional label that you can assign to a resource when you create
1347
+ # it. Each tag consists of a key and an optional value, both of which
1348
+ # you define. When you use tagging, you can also use tag-based access
1349
+ # control in IAM policies to control access to this resource.
1350
+ #
1351
+ # @option params [required, String] :name
1352
+ # The name for the ID namespace association.
1353
+ #
1354
+ # @option params [String] :description
1355
+ # The description of the ID namespace association.
1356
+ #
1357
+ # @option params [Types::IdMappingConfig] :id_mapping_config
1358
+ # The configuration settings for the ID mapping table.
1359
+ #
1360
+ # @return [Types::CreateIdNamespaceAssociationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1361
+ #
1362
+ # * {Types::CreateIdNamespaceAssociationOutput#id_namespace_association #id_namespace_association} => Types::IdNamespaceAssociation
1363
+ #
1364
+ # @example Request syntax with placeholder values
1365
+ #
1366
+ # resp = client.create_id_namespace_association({
1367
+ # membership_identifier: "MembershipIdentifier", # required
1368
+ # input_reference_config: { # required
1369
+ # input_reference_arn: "IdNamespaceAssociationInputReferenceArn", # required
1370
+ # manage_resource_policies: false, # required
1371
+ # },
1372
+ # tags: {
1373
+ # "TagKey" => "TagValue",
1374
+ # },
1375
+ # name: "GenericResourceName", # required
1376
+ # description: "ResourceDescription",
1377
+ # id_mapping_config: {
1378
+ # allow_use_as_dimension_column: false, # required
1379
+ # },
1380
+ # })
1381
+ #
1382
+ # @example Response structure
1383
+ #
1384
+ # resp.id_namespace_association.id #=> String
1385
+ # resp.id_namespace_association.arn #=> String
1386
+ # resp.id_namespace_association.membership_id #=> String
1387
+ # resp.id_namespace_association.membership_arn #=> String
1388
+ # resp.id_namespace_association.collaboration_id #=> String
1389
+ # resp.id_namespace_association.collaboration_arn #=> String
1390
+ # resp.id_namespace_association.name #=> String
1391
+ # resp.id_namespace_association.description #=> String
1392
+ # resp.id_namespace_association.create_time #=> Time
1393
+ # resp.id_namespace_association.update_time #=> Time
1394
+ # resp.id_namespace_association.input_reference_config.input_reference_arn #=> String
1395
+ # resp.id_namespace_association.input_reference_config.manage_resource_policies #=> Boolean
1396
+ # resp.id_namespace_association.input_reference_properties.id_namespace_type #=> String, one of "SOURCE", "TARGET"
1397
+ # resp.id_namespace_association.input_reference_properties.id_mapping_workflows_supported #=> Array
1398
+ # resp.id_namespace_association.id_mapping_config.allow_use_as_dimension_column #=> Boolean
1399
+ #
1400
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/CreateIdNamespaceAssociation AWS API Documentation
1401
+ #
1402
+ # @overload create_id_namespace_association(params = {})
1403
+ # @param [Hash] params ({})
1404
+ def create_id_namespace_association(params = {}, options = {})
1405
+ req = build_request(:create_id_namespace_association, params)
1406
+ req.send_request(options)
1407
+ end
1408
+
1158
1409
  # Creates a membership for a specific collaboration identifier and joins
1159
1410
  # the collaboration.
1160
1411
  #
@@ -1479,6 +1730,93 @@ module Aws::CleanRooms
1479
1730
  req.send_request(options)
1480
1731
  end
1481
1732
 
1733
+ # Deletes an analysis rule for a configured table association.
1734
+ #
1735
+ # @option params [required, String] :membership_identifier
1736
+ # A unique identifier for the membership that the configured table
1737
+ # association belongs to. Currently accepts the membership ID.
1738
+ #
1739
+ # @option params [required, String] :configured_table_association_identifier
1740
+ # The identifier for the configured table association that's related to
1741
+ # the analysis rule that you want to delete.
1742
+ #
1743
+ # @option params [required, String] :analysis_rule_type
1744
+ # The type of the analysis rule that you want to delete.
1745
+ #
1746
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1747
+ #
1748
+ # @example Request syntax with placeholder values
1749
+ #
1750
+ # resp = client.delete_configured_table_association_analysis_rule({
1751
+ # membership_identifier: "MembershipIdentifier", # required
1752
+ # configured_table_association_identifier: "ConfiguredTableAssociationIdentifier", # required
1753
+ # analysis_rule_type: "AGGREGATION", # required, accepts AGGREGATION, LIST, CUSTOM
1754
+ # })
1755
+ #
1756
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/DeleteConfiguredTableAssociationAnalysisRule AWS API Documentation
1757
+ #
1758
+ # @overload delete_configured_table_association_analysis_rule(params = {})
1759
+ # @param [Hash] params ({})
1760
+ def delete_configured_table_association_analysis_rule(params = {}, options = {})
1761
+ req = build_request(:delete_configured_table_association_analysis_rule, params)
1762
+ req.send_request(options)
1763
+ end
1764
+
1765
+ # Deletes an ID mapping table.
1766
+ #
1767
+ # @option params [required, String] :id_mapping_table_identifier
1768
+ # The unique identifier of the ID mapping table that you want to delete.
1769
+ #
1770
+ # @option params [required, String] :membership_identifier
1771
+ # The unique identifier of the membership that contains the ID mapping
1772
+ # table that you want to delete.
1773
+ #
1774
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1775
+ #
1776
+ # @example Request syntax with placeholder values
1777
+ #
1778
+ # resp = client.delete_id_mapping_table({
1779
+ # id_mapping_table_identifier: "UUID", # required
1780
+ # membership_identifier: "MembershipIdentifier", # required
1781
+ # })
1782
+ #
1783
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/DeleteIdMappingTable AWS API Documentation
1784
+ #
1785
+ # @overload delete_id_mapping_table(params = {})
1786
+ # @param [Hash] params ({})
1787
+ def delete_id_mapping_table(params = {}, options = {})
1788
+ req = build_request(:delete_id_mapping_table, params)
1789
+ req.send_request(options)
1790
+ end
1791
+
1792
+ # Deletes an ID namespace association.
1793
+ #
1794
+ # @option params [required, String] :id_namespace_association_identifier
1795
+ # The unique identifier of the ID namespace association that you want to
1796
+ # delete.
1797
+ #
1798
+ # @option params [required, String] :membership_identifier
1799
+ # The unique identifier of the membership that contains the ID namespace
1800
+ # association that you want to delete.
1801
+ #
1802
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1803
+ #
1804
+ # @example Request syntax with placeholder values
1805
+ #
1806
+ # resp = client.delete_id_namespace_association({
1807
+ # id_namespace_association_identifier: "IdNamespaceAssociationIdentifier", # required
1808
+ # membership_identifier: "MembershipIdentifier", # required
1809
+ # })
1810
+ #
1811
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/DeleteIdNamespaceAssociation AWS API Documentation
1812
+ #
1813
+ # @overload delete_id_namespace_association(params = {})
1814
+ # @param [Hash] params ({})
1815
+ def delete_id_namespace_association(params = {}, options = {})
1816
+ req = build_request(:delete_id_namespace_association, params)
1817
+ req.send_request(options)
1818
+ end
1819
+
1482
1820
  # Removes the specified member from a collaboration. The removed member
1483
1821
  # is placed in the Removed status and can't interact with the
1484
1822
  # collaboration. The removed member's data is inaccessible to active
@@ -1755,6 +2093,53 @@ module Aws::CleanRooms
1755
2093
  req.send_request(options)
1756
2094
  end
1757
2095
 
2096
+ # Retrieves an ID namespace association from a specific collaboration.
2097
+ #
2098
+ # @option params [required, String] :collaboration_identifier
2099
+ # The unique identifier of the collaboration that contains the ID
2100
+ # namespace association that you want to retrieve.
2101
+ #
2102
+ # @option params [required, String] :id_namespace_association_identifier
2103
+ # The unique identifier of the ID namespace association that you want to
2104
+ # retrieve.
2105
+ #
2106
+ # @return [Types::GetCollaborationIdNamespaceAssociationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2107
+ #
2108
+ # * {Types::GetCollaborationIdNamespaceAssociationOutput#collaboration_id_namespace_association #collaboration_id_namespace_association} => Types::CollaborationIdNamespaceAssociation
2109
+ #
2110
+ # @example Request syntax with placeholder values
2111
+ #
2112
+ # resp = client.get_collaboration_id_namespace_association({
2113
+ # collaboration_identifier: "CollaborationIdentifier", # required
2114
+ # id_namespace_association_identifier: "IdNamespaceAssociationIdentifier", # required
2115
+ # })
2116
+ #
2117
+ # @example Response structure
2118
+ #
2119
+ # resp.collaboration_id_namespace_association.id #=> String
2120
+ # resp.collaboration_id_namespace_association.arn #=> String
2121
+ # resp.collaboration_id_namespace_association.collaboration_id #=> String
2122
+ # resp.collaboration_id_namespace_association.collaboration_arn #=> String
2123
+ # resp.collaboration_id_namespace_association.name #=> String
2124
+ # resp.collaboration_id_namespace_association.description #=> String
2125
+ # resp.collaboration_id_namespace_association.creator_account_id #=> String
2126
+ # resp.collaboration_id_namespace_association.create_time #=> Time
2127
+ # resp.collaboration_id_namespace_association.update_time #=> Time
2128
+ # resp.collaboration_id_namespace_association.input_reference_config.input_reference_arn #=> String
2129
+ # resp.collaboration_id_namespace_association.input_reference_config.manage_resource_policies #=> Boolean
2130
+ # resp.collaboration_id_namespace_association.input_reference_properties.id_namespace_type #=> String, one of "SOURCE", "TARGET"
2131
+ # resp.collaboration_id_namespace_association.input_reference_properties.id_mapping_workflows_supported #=> Array
2132
+ # resp.collaboration_id_namespace_association.id_mapping_config.allow_use_as_dimension_column #=> Boolean
2133
+ #
2134
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetCollaborationIdNamespaceAssociation AWS API Documentation
2135
+ #
2136
+ # @overload get_collaboration_id_namespace_association(params = {})
2137
+ # @param [Hash] params ({})
2138
+ def get_collaboration_id_namespace_association(params = {}, options = {})
2139
+ req = build_request(:get_collaboration_id_namespace_association, params)
2140
+ req.send_request(options)
2141
+ end
2142
+
1758
2143
  # Returns details about a specified privacy budget template.
1759
2144
  #
1760
2145
  # @option params [required, String] :collaboration_identifier
@@ -1914,6 +2299,7 @@ module Aws::CleanRooms
1914
2299
  # resp.analysis_rule.policy.v1.list.allowed_join_operators[0] #=> String, one of "OR", "AND"
1915
2300
  # resp.analysis_rule.policy.v1.list.list_columns #=> Array
1916
2301
  # resp.analysis_rule.policy.v1.list.list_columns[0] #=> String
2302
+ # resp.analysis_rule.policy.v1.list.additional_analyses #=> String, one of "ALLOWED", "REQUIRED", "NOT_ALLOWED"
1917
2303
  # resp.analysis_rule.policy.v1.aggregation.aggregate_columns #=> Array
1918
2304
  # resp.analysis_rule.policy.v1.aggregation.aggregate_columns[0].column_names #=> Array
1919
2305
  # resp.analysis_rule.policy.v1.aggregation.aggregate_columns[0].column_names[0] #=> String
@@ -1931,10 +2317,14 @@ module Aws::CleanRooms
1931
2317
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].column_name #=> String
1932
2318
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].minimum #=> Integer
1933
2319
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].type #=> String, one of "COUNT_DISTINCT"
2320
+ # resp.analysis_rule.policy.v1.aggregation.additional_analyses #=> String, one of "ALLOWED", "REQUIRED", "NOT_ALLOWED"
1934
2321
  # resp.analysis_rule.policy.v1.custom.allowed_analyses #=> Array
1935
2322
  # resp.analysis_rule.policy.v1.custom.allowed_analyses[0] #=> String
1936
2323
  # resp.analysis_rule.policy.v1.custom.allowed_analysis_providers #=> Array
1937
2324
  # resp.analysis_rule.policy.v1.custom.allowed_analysis_providers[0] #=> String
2325
+ # resp.analysis_rule.policy.v1.custom.additional_analyses #=> String, one of "ALLOWED", "REQUIRED", "NOT_ALLOWED"
2326
+ # resp.analysis_rule.policy.v1.custom.disallowed_output_columns #=> Array
2327
+ # resp.analysis_rule.policy.v1.custom.disallowed_output_columns[0] #=> String
1938
2328
  # resp.analysis_rule.policy.v1.custom.differential_privacy.columns #=> Array
1939
2329
  # resp.analysis_rule.policy.v1.custom.differential_privacy.columns[0].name #=> String
1940
2330
  # resp.analysis_rule.type #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
@@ -1982,6 +2372,8 @@ module Aws::CleanRooms
1982
2372
  # resp.configured_table_association.role_arn #=> String
1983
2373
  # resp.configured_table_association.name #=> String
1984
2374
  # resp.configured_table_association.description #=> String
2375
+ # resp.configured_table_association.analysis_rule_types #=> Array
2376
+ # resp.configured_table_association.analysis_rule_types[0] #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
1985
2377
  # resp.configured_table_association.create_time #=> Time
1986
2378
  # resp.configured_table_association.update_time #=> Time
1987
2379
  #
@@ -1994,6 +2386,158 @@ module Aws::CleanRooms
1994
2386
  req.send_request(options)
1995
2387
  end
1996
2388
 
2389
+ # Retrieves the analysis rule for a configured table association.
2390
+ #
2391
+ # @option params [required, String] :membership_identifier
2392
+ # A unique identifier for the membership that the configured table
2393
+ # association belongs to. Currently accepts the membership ID.
2394
+ #
2395
+ # @option params [required, String] :configured_table_association_identifier
2396
+ # The identifier for the configured table association that's related to
2397
+ # the analysis rule.
2398
+ #
2399
+ # @option params [required, String] :analysis_rule_type
2400
+ # The type of analysis rule that you want to retrieve.
2401
+ #
2402
+ # @return [Types::GetConfiguredTableAssociationAnalysisRuleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2403
+ #
2404
+ # * {Types::GetConfiguredTableAssociationAnalysisRuleOutput#analysis_rule #analysis_rule} => Types::ConfiguredTableAssociationAnalysisRule
2405
+ #
2406
+ # @example Request syntax with placeholder values
2407
+ #
2408
+ # resp = client.get_configured_table_association_analysis_rule({
2409
+ # membership_identifier: "MembershipIdentifier", # required
2410
+ # configured_table_association_identifier: "ConfiguredTableAssociationIdentifier", # required
2411
+ # analysis_rule_type: "AGGREGATION", # required, accepts AGGREGATION, LIST, CUSTOM
2412
+ # })
2413
+ #
2414
+ # @example Response structure
2415
+ #
2416
+ # resp.analysis_rule.membership_identifier #=> String
2417
+ # resp.analysis_rule.configured_table_association_id #=> String
2418
+ # resp.analysis_rule.configured_table_association_arn #=> String
2419
+ # resp.analysis_rule.policy.v1.list.allowed_result_receivers #=> Array
2420
+ # resp.analysis_rule.policy.v1.list.allowed_result_receivers[0] #=> String
2421
+ # resp.analysis_rule.policy.v1.list.allowed_additional_analyses #=> Array
2422
+ # resp.analysis_rule.policy.v1.list.allowed_additional_analyses[0] #=> String
2423
+ # resp.analysis_rule.policy.v1.aggregation.allowed_result_receivers #=> Array
2424
+ # resp.analysis_rule.policy.v1.aggregation.allowed_result_receivers[0] #=> String
2425
+ # resp.analysis_rule.policy.v1.aggregation.allowed_additional_analyses #=> Array
2426
+ # resp.analysis_rule.policy.v1.aggregation.allowed_additional_analyses[0] #=> String
2427
+ # resp.analysis_rule.policy.v1.custom.allowed_result_receivers #=> Array
2428
+ # resp.analysis_rule.policy.v1.custom.allowed_result_receivers[0] #=> String
2429
+ # resp.analysis_rule.policy.v1.custom.allowed_additional_analyses #=> Array
2430
+ # resp.analysis_rule.policy.v1.custom.allowed_additional_analyses[0] #=> String
2431
+ # resp.analysis_rule.type #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
2432
+ # resp.analysis_rule.create_time #=> Time
2433
+ # resp.analysis_rule.update_time #=> Time
2434
+ #
2435
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetConfiguredTableAssociationAnalysisRule AWS API Documentation
2436
+ #
2437
+ # @overload get_configured_table_association_analysis_rule(params = {})
2438
+ # @param [Hash] params ({})
2439
+ def get_configured_table_association_analysis_rule(params = {}, options = {})
2440
+ req = build_request(:get_configured_table_association_analysis_rule, params)
2441
+ req.send_request(options)
2442
+ end
2443
+
2444
+ # Retrieves an ID mapping table.
2445
+ #
2446
+ # @option params [required, String] :id_mapping_table_identifier
2447
+ # The unique identifier of the ID mapping table identifier that you want
2448
+ # to retrieve.
2449
+ #
2450
+ # @option params [required, String] :membership_identifier
2451
+ # The unique identifier of the membership that contains the ID mapping
2452
+ # table that you want to retrieve.
2453
+ #
2454
+ # @return [Types::GetIdMappingTableOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2455
+ #
2456
+ # * {Types::GetIdMappingTableOutput#id_mapping_table #id_mapping_table} => Types::IdMappingTable
2457
+ #
2458
+ # @example Request syntax with placeholder values
2459
+ #
2460
+ # resp = client.get_id_mapping_table({
2461
+ # id_mapping_table_identifier: "UUID", # required
2462
+ # membership_identifier: "MembershipIdentifier", # required
2463
+ # })
2464
+ #
2465
+ # @example Response structure
2466
+ #
2467
+ # resp.id_mapping_table.id #=> String
2468
+ # resp.id_mapping_table.arn #=> String
2469
+ # resp.id_mapping_table.input_reference_config.input_reference_arn #=> String
2470
+ # resp.id_mapping_table.input_reference_config.manage_resource_policies #=> Boolean
2471
+ # resp.id_mapping_table.membership_id #=> String
2472
+ # resp.id_mapping_table.membership_arn #=> String
2473
+ # resp.id_mapping_table.collaboration_id #=> String
2474
+ # resp.id_mapping_table.collaboration_arn #=> String
2475
+ # resp.id_mapping_table.description #=> String
2476
+ # resp.id_mapping_table.name #=> String
2477
+ # resp.id_mapping_table.create_time #=> Time
2478
+ # resp.id_mapping_table.update_time #=> Time
2479
+ # resp.id_mapping_table.input_reference_properties.id_mapping_table_input_source #=> Array
2480
+ # resp.id_mapping_table.input_reference_properties.id_mapping_table_input_source[0].id_namespace_association_id #=> String
2481
+ # resp.id_mapping_table.input_reference_properties.id_mapping_table_input_source[0].type #=> String, one of "SOURCE", "TARGET"
2482
+ # resp.id_mapping_table.kms_key_arn #=> String
2483
+ #
2484
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetIdMappingTable AWS API Documentation
2485
+ #
2486
+ # @overload get_id_mapping_table(params = {})
2487
+ # @param [Hash] params ({})
2488
+ def get_id_mapping_table(params = {}, options = {})
2489
+ req = build_request(:get_id_mapping_table, params)
2490
+ req.send_request(options)
2491
+ end
2492
+
2493
+ # Retrieves an ID namespace association.
2494
+ #
2495
+ # @option params [required, String] :id_namespace_association_identifier
2496
+ # The unique identifier of the ID namespace association that you want to
2497
+ # retrieve.
2498
+ #
2499
+ # @option params [required, String] :membership_identifier
2500
+ # The unique identifier of the membership that contains the ID namespace
2501
+ # association that you want to retrieve.
2502
+ #
2503
+ # @return [Types::GetIdNamespaceAssociationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2504
+ #
2505
+ # * {Types::GetIdNamespaceAssociationOutput#id_namespace_association #id_namespace_association} => Types::IdNamespaceAssociation
2506
+ #
2507
+ # @example Request syntax with placeholder values
2508
+ #
2509
+ # resp = client.get_id_namespace_association({
2510
+ # id_namespace_association_identifier: "IdNamespaceAssociationIdentifier", # required
2511
+ # membership_identifier: "MembershipIdentifier", # required
2512
+ # })
2513
+ #
2514
+ # @example Response structure
2515
+ #
2516
+ # resp.id_namespace_association.id #=> String
2517
+ # resp.id_namespace_association.arn #=> String
2518
+ # resp.id_namespace_association.membership_id #=> String
2519
+ # resp.id_namespace_association.membership_arn #=> String
2520
+ # resp.id_namespace_association.collaboration_id #=> String
2521
+ # resp.id_namespace_association.collaboration_arn #=> String
2522
+ # resp.id_namespace_association.name #=> String
2523
+ # resp.id_namespace_association.description #=> String
2524
+ # resp.id_namespace_association.create_time #=> Time
2525
+ # resp.id_namespace_association.update_time #=> Time
2526
+ # resp.id_namespace_association.input_reference_config.input_reference_arn #=> String
2527
+ # resp.id_namespace_association.input_reference_config.manage_resource_policies #=> Boolean
2528
+ # resp.id_namespace_association.input_reference_properties.id_namespace_type #=> String, one of "SOURCE", "TARGET"
2529
+ # resp.id_namespace_association.input_reference_properties.id_mapping_workflows_supported #=> Array
2530
+ # resp.id_namespace_association.id_mapping_config.allow_use_as_dimension_column #=> Boolean
2531
+ #
2532
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetIdNamespaceAssociation AWS API Documentation
2533
+ #
2534
+ # @overload get_id_namespace_association(params = {})
2535
+ # @param [Hash] params ({})
2536
+ def get_id_namespace_association(params = {}, options = {})
2537
+ req = build_request(:get_id_namespace_association, params)
2538
+ req.send_request(options)
2539
+ end
2540
+
1997
2541
  # Retrieves a specified membership for an identifier.
1998
2542
  #
1999
2543
  # @option params [required, String] :membership_identifier
@@ -2117,6 +2661,7 @@ module Aws::CleanRooms
2117
2661
  # resp.protected_query.result_configuration.output_configuration.s3.result_format #=> String, one of "CSV", "PARQUET"
2118
2662
  # resp.protected_query.result_configuration.output_configuration.s3.bucket #=> String
2119
2663
  # resp.protected_query.result_configuration.output_configuration.s3.key_prefix #=> String
2664
+ # resp.protected_query.result_configuration.output_configuration.member.account_id #=> String
2120
2665
  # resp.protected_query.statistics.total_duration_in_millis #=> Integer
2121
2666
  # resp.protected_query.result.output.s3.location #=> String
2122
2667
  # resp.protected_query.result.output.member_list #=> Array
@@ -2168,7 +2713,7 @@ module Aws::CleanRooms
2168
2713
  # resp.schema.partition_keys[0].name #=> String
2169
2714
  # resp.schema.partition_keys[0].type #=> String
2170
2715
  # resp.schema.analysis_rule_types #=> Array
2171
- # resp.schema.analysis_rule_types[0] #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
2716
+ # resp.schema.analysis_rule_types[0] #=> String, one of "AGGREGATION", "LIST", "CUSTOM", "ID_MAPPING_TABLE"
2172
2717
  # resp.schema.analysis_method #=> String, one of "DIRECT_QUERY"
2173
2718
  # resp.schema.creator_account_id #=> String
2174
2719
  # resp.schema.name #=> String
@@ -2177,15 +2722,19 @@ module Aws::CleanRooms
2177
2722
  # resp.schema.description #=> String
2178
2723
  # resp.schema.create_time #=> Time
2179
2724
  # resp.schema.update_time #=> Time
2180
- # resp.schema.type #=> String, one of "TABLE"
2725
+ # resp.schema.type #=> String, one of "TABLE", "ID_MAPPING_TABLE"
2181
2726
  # resp.schema.schema_status_details #=> Array
2182
2727
  # resp.schema.schema_status_details[0].status #=> String, one of "READY", "NOT_READY"
2183
2728
  # resp.schema.schema_status_details[0].reasons #=> Array
2184
- # resp.schema.schema_status_details[0].reasons[0].code #=> String, one of "ANALYSIS_RULE_MISSING", "ANALYSIS_TEMPLATES_NOT_CONFIGURED", "ANALYSIS_PROVIDERS_NOT_CONFIGURED", "DIFFERENTIAL_PRIVACY_POLICY_NOT_CONFIGURED"
2729
+ # resp.schema.schema_status_details[0].reasons[0].code #=> String, one of "ANALYSIS_RULE_MISSING", "ANALYSIS_TEMPLATES_NOT_CONFIGURED", "ANALYSIS_PROVIDERS_NOT_CONFIGURED", "DIFFERENTIAL_PRIVACY_POLICY_NOT_CONFIGURED", "ID_MAPPING_TABLE_NOT_POPULATED", "COLLABORATION_ANALYSIS_RULE_NOT_CONFIGURED", "ADDITIONAL_ANALYSES_NOT_CONFIGURED", "RESULT_RECEIVERS_NOT_CONFIGURED", "ADDITIONAL_ANALYSES_NOT_ALLOWED", "RESULT_RECEIVERS_NOT_ALLOWED", "ANALYSIS_RULE_TYPES_NOT_COMPATIBLE"
2185
2730
  # resp.schema.schema_status_details[0].reasons[0].message #=> String
2186
- # resp.schema.schema_status_details[0].analysis_rule_type #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
2731
+ # resp.schema.schema_status_details[0].analysis_rule_type #=> String, one of "AGGREGATION", "LIST", "CUSTOM", "ID_MAPPING_TABLE"
2187
2732
  # resp.schema.schema_status_details[0].configurations #=> Array
2188
2733
  # resp.schema.schema_status_details[0].configurations[0] #=> String, one of "DIFFERENTIAL_PRIVACY"
2734
+ # resp.schema.schema_status_details[0].analysis_type #=> String, one of "DIRECT_ANALYSIS", "ADDITIONAL_ANALYSIS"
2735
+ # resp.schema.schema_type_properties.id_mapping_table.id_mapping_table_input_source #=> Array
2736
+ # resp.schema.schema_type_properties.id_mapping_table.id_mapping_table_input_source[0].id_namespace_association_id #=> String
2737
+ # resp.schema.schema_type_properties.id_mapping_table.id_mapping_table_input_source[0].type #=> String, one of "SOURCE", "TARGET"
2189
2738
  #
2190
2739
  # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetSchema AWS API Documentation
2191
2740
  #
@@ -2219,13 +2768,13 @@ module Aws::CleanRooms
2219
2768
  # resp = client.get_schema_analysis_rule({
2220
2769
  # collaboration_identifier: "CollaborationIdentifier", # required
2221
2770
  # name: "TableAlias", # required
2222
- # type: "AGGREGATION", # required, accepts AGGREGATION, LIST, CUSTOM
2771
+ # type: "AGGREGATION", # required, accepts AGGREGATION, LIST, CUSTOM, ID_MAPPING_TABLE
2223
2772
  # })
2224
2773
  #
2225
2774
  # @example Response structure
2226
2775
  #
2227
2776
  # resp.analysis_rule.collaboration_id #=> String
2228
- # resp.analysis_rule.type #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
2777
+ # resp.analysis_rule.type #=> String, one of "AGGREGATION", "LIST", "CUSTOM", "ID_MAPPING_TABLE"
2229
2778
  # resp.analysis_rule.name #=> String
2230
2779
  # resp.analysis_rule.create_time #=> Time
2231
2780
  # resp.analysis_rule.update_time #=> Time
@@ -2235,6 +2784,7 @@ module Aws::CleanRooms
2235
2784
  # resp.analysis_rule.policy.v1.list.allowed_join_operators[0] #=> String, one of "OR", "AND"
2236
2785
  # resp.analysis_rule.policy.v1.list.list_columns #=> Array
2237
2786
  # resp.analysis_rule.policy.v1.list.list_columns[0] #=> String
2787
+ # resp.analysis_rule.policy.v1.list.additional_analyses #=> String, one of "ALLOWED", "REQUIRED", "NOT_ALLOWED"
2238
2788
  # resp.analysis_rule.policy.v1.aggregation.aggregate_columns #=> Array
2239
2789
  # resp.analysis_rule.policy.v1.aggregation.aggregate_columns[0].column_names #=> Array
2240
2790
  # resp.analysis_rule.policy.v1.aggregation.aggregate_columns[0].column_names[0] #=> String
@@ -2252,12 +2802,23 @@ module Aws::CleanRooms
2252
2802
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].column_name #=> String
2253
2803
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].minimum #=> Integer
2254
2804
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].type #=> String, one of "COUNT_DISTINCT"
2805
+ # resp.analysis_rule.policy.v1.aggregation.additional_analyses #=> String, one of "ALLOWED", "REQUIRED", "NOT_ALLOWED"
2255
2806
  # resp.analysis_rule.policy.v1.custom.allowed_analyses #=> Array
2256
2807
  # resp.analysis_rule.policy.v1.custom.allowed_analyses[0] #=> String
2257
2808
  # resp.analysis_rule.policy.v1.custom.allowed_analysis_providers #=> Array
2258
2809
  # resp.analysis_rule.policy.v1.custom.allowed_analysis_providers[0] #=> String
2810
+ # resp.analysis_rule.policy.v1.custom.additional_analyses #=> String, one of "ALLOWED", "REQUIRED", "NOT_ALLOWED"
2811
+ # resp.analysis_rule.policy.v1.custom.disallowed_output_columns #=> Array
2812
+ # resp.analysis_rule.policy.v1.custom.disallowed_output_columns[0] #=> String
2259
2813
  # resp.analysis_rule.policy.v1.custom.differential_privacy.columns #=> Array
2260
2814
  # resp.analysis_rule.policy.v1.custom.differential_privacy.columns[0].name #=> String
2815
+ # resp.analysis_rule.policy.v1.id_mapping_table.join_columns #=> Array
2816
+ # resp.analysis_rule.policy.v1.id_mapping_table.join_columns[0] #=> String
2817
+ # resp.analysis_rule.policy.v1.id_mapping_table.query_constraints #=> Array
2818
+ # resp.analysis_rule.policy.v1.id_mapping_table.query_constraints[0].require_overlap.columns #=> Array
2819
+ # resp.analysis_rule.policy.v1.id_mapping_table.query_constraints[0].require_overlap.columns[0] #=> String
2820
+ # resp.analysis_rule.policy.v1.id_mapping_table.dimension_columns #=> Array
2821
+ # resp.analysis_rule.policy.v1.id_mapping_table.dimension_columns[0] #=> String
2261
2822
  #
2262
2823
  # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetSchemaAnalysisRule AWS API Documentation
2263
2824
  #
@@ -2421,6 +2982,61 @@ module Aws::CleanRooms
2421
2982
  req.send_request(options)
2422
2983
  end
2423
2984
 
2985
+ # Returns a list of the ID namespace associations in a collaboration.
2986
+ #
2987
+ # @option params [required, String] :collaboration_identifier
2988
+ # The unique identifier of the collaboration that contains the ID
2989
+ # namespace associations that you want to retrieve.
2990
+ #
2991
+ # @option params [String] :next_token
2992
+ # The pagination token that's used to fetch the next set of results.
2993
+ #
2994
+ # @option params [Integer] :max_results
2995
+ # The maximum size of the results that is returned per call. Service
2996
+ # chooses a default if it has not been set. Service may return a
2997
+ # nextToken even if the maximum results has not been met.&gt;
2998
+ #
2999
+ # @return [Types::ListCollaborationIdNamespaceAssociationsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3000
+ #
3001
+ # * {Types::ListCollaborationIdNamespaceAssociationsOutput#next_token #next_token} => String
3002
+ # * {Types::ListCollaborationIdNamespaceAssociationsOutput#collaboration_id_namespace_association_summaries #collaboration_id_namespace_association_summaries} => Array&lt;Types::CollaborationIdNamespaceAssociationSummary&gt;
3003
+ #
3004
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3005
+ #
3006
+ # @example Request syntax with placeholder values
3007
+ #
3008
+ # resp = client.list_collaboration_id_namespace_associations({
3009
+ # collaboration_identifier: "CollaborationIdentifier", # required
3010
+ # next_token: "PaginationToken",
3011
+ # max_results: 1,
3012
+ # })
3013
+ #
3014
+ # @example Response structure
3015
+ #
3016
+ # resp.next_token #=> String
3017
+ # resp.collaboration_id_namespace_association_summaries #=> Array
3018
+ # resp.collaboration_id_namespace_association_summaries[0].arn #=> String
3019
+ # resp.collaboration_id_namespace_association_summaries[0].create_time #=> Time
3020
+ # resp.collaboration_id_namespace_association_summaries[0].id #=> String
3021
+ # resp.collaboration_id_namespace_association_summaries[0].update_time #=> Time
3022
+ # resp.collaboration_id_namespace_association_summaries[0].collaboration_arn #=> String
3023
+ # resp.collaboration_id_namespace_association_summaries[0].collaboration_id #=> String
3024
+ # resp.collaboration_id_namespace_association_summaries[0].creator_account_id #=> String
3025
+ # resp.collaboration_id_namespace_association_summaries[0].input_reference_config.input_reference_arn #=> String
3026
+ # resp.collaboration_id_namespace_association_summaries[0].input_reference_config.manage_resource_policies #=> Boolean
3027
+ # resp.collaboration_id_namespace_association_summaries[0].name #=> String
3028
+ # resp.collaboration_id_namespace_association_summaries[0].description #=> String
3029
+ # resp.collaboration_id_namespace_association_summaries[0].input_reference_properties.id_namespace_type #=> String, one of "SOURCE", "TARGET"
3030
+ #
3031
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListCollaborationIdNamespaceAssociations AWS API Documentation
3032
+ #
3033
+ # @overload list_collaboration_id_namespace_associations(params = {})
3034
+ # @param [Hash] params ({})
3035
+ def list_collaboration_id_namespace_associations(params = {}, options = {})
3036
+ req = build_request(:list_collaboration_id_namespace_associations, params)
3037
+ req.send_request(options)
3038
+ end
3039
+
2424
3040
  # Returns an array that summarizes each privacy budget template in a
2425
3041
  # specified collaboration.
2426
3042
  #
@@ -2741,6 +3357,117 @@ module Aws::CleanRooms
2741
3357
  req.send_request(options)
2742
3358
  end
2743
3359
 
3360
+ # Returns a list of ID mapping tables.
3361
+ #
3362
+ # @option params [required, String] :membership_identifier
3363
+ # The unique identifier of the membership that contains the ID mapping
3364
+ # tables that you want to view.
3365
+ #
3366
+ # @option params [String] :next_token
3367
+ # The pagination token that's used to fetch the next set of results.
3368
+ #
3369
+ # @option params [Integer] :max_results
3370
+ # The maximum size of the results that is returned per call. Service
3371
+ # chooses a default if it has not been set. Service may return a
3372
+ # nextToken even if the maximum results has not been met.
3373
+ #
3374
+ # @return [Types::ListIdMappingTablesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3375
+ #
3376
+ # * {Types::ListIdMappingTablesOutput#id_mapping_table_summaries #id_mapping_table_summaries} => Array&lt;Types::IdMappingTableSummary&gt;
3377
+ # * {Types::ListIdMappingTablesOutput#next_token #next_token} => String
3378
+ #
3379
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3380
+ #
3381
+ # @example Request syntax with placeholder values
3382
+ #
3383
+ # resp = client.list_id_mapping_tables({
3384
+ # membership_identifier: "MembershipIdentifier", # required
3385
+ # next_token: "PaginationToken",
3386
+ # max_results: 1,
3387
+ # })
3388
+ #
3389
+ # @example Response structure
3390
+ #
3391
+ # resp.id_mapping_table_summaries #=> Array
3392
+ # resp.id_mapping_table_summaries[0].collaboration_arn #=> String
3393
+ # resp.id_mapping_table_summaries[0].collaboration_id #=> String
3394
+ # resp.id_mapping_table_summaries[0].membership_id #=> String
3395
+ # resp.id_mapping_table_summaries[0].membership_arn #=> String
3396
+ # resp.id_mapping_table_summaries[0].create_time #=> Time
3397
+ # resp.id_mapping_table_summaries[0].update_time #=> Time
3398
+ # resp.id_mapping_table_summaries[0].id #=> String
3399
+ # resp.id_mapping_table_summaries[0].arn #=> String
3400
+ # resp.id_mapping_table_summaries[0].description #=> String
3401
+ # resp.id_mapping_table_summaries[0].input_reference_config.input_reference_arn #=> String
3402
+ # resp.id_mapping_table_summaries[0].input_reference_config.manage_resource_policies #=> Boolean
3403
+ # resp.id_mapping_table_summaries[0].name #=> String
3404
+ # resp.next_token #=> String
3405
+ #
3406
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListIdMappingTables AWS API Documentation
3407
+ #
3408
+ # @overload list_id_mapping_tables(params = {})
3409
+ # @param [Hash] params ({})
3410
+ def list_id_mapping_tables(params = {}, options = {})
3411
+ req = build_request(:list_id_mapping_tables, params)
3412
+ req.send_request(options)
3413
+ end
3414
+
3415
+ # Returns a list of ID namespace associations.
3416
+ #
3417
+ # @option params [required, String] :membership_identifier
3418
+ # The unique identifier of the membership that contains the ID namespace
3419
+ # association that you want to view.
3420
+ #
3421
+ # @option params [String] :next_token
3422
+ # The pagination token that's used to fetch the next set of results.
3423
+ #
3424
+ # @option params [Integer] :max_results
3425
+ # The maximum size of the results that is returned per call. Service
3426
+ # chooses a default if it has not been set. Service may return a
3427
+ # nextToken even if the maximum results has not been met.
3428
+ #
3429
+ # @return [Types::ListIdNamespaceAssociationsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3430
+ #
3431
+ # * {Types::ListIdNamespaceAssociationsOutput#next_token #next_token} => String
3432
+ # * {Types::ListIdNamespaceAssociationsOutput#id_namespace_association_summaries #id_namespace_association_summaries} => Array&lt;Types::IdNamespaceAssociationSummary&gt;
3433
+ #
3434
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3435
+ #
3436
+ # @example Request syntax with placeholder values
3437
+ #
3438
+ # resp = client.list_id_namespace_associations({
3439
+ # membership_identifier: "MembershipIdentifier", # required
3440
+ # next_token: "PaginationToken",
3441
+ # max_results: 1,
3442
+ # })
3443
+ #
3444
+ # @example Response structure
3445
+ #
3446
+ # resp.next_token #=> String
3447
+ # resp.id_namespace_association_summaries #=> Array
3448
+ # resp.id_namespace_association_summaries[0].membership_id #=> String
3449
+ # resp.id_namespace_association_summaries[0].membership_arn #=> String
3450
+ # resp.id_namespace_association_summaries[0].collaboration_arn #=> String
3451
+ # resp.id_namespace_association_summaries[0].collaboration_id #=> String
3452
+ # resp.id_namespace_association_summaries[0].create_time #=> Time
3453
+ # resp.id_namespace_association_summaries[0].update_time #=> Time
3454
+ # resp.id_namespace_association_summaries[0].id #=> String
3455
+ # resp.id_namespace_association_summaries[0].arn #=> String
3456
+ # resp.id_namespace_association_summaries[0].input_reference_config.input_reference_arn #=> String
3457
+ # resp.id_namespace_association_summaries[0].input_reference_config.manage_resource_policies #=> Boolean
3458
+ # resp.id_namespace_association_summaries[0].name #=> String
3459
+ # resp.id_namespace_association_summaries[0].description #=> String
3460
+ # resp.id_namespace_association_summaries[0].input_reference_properties.id_namespace_type #=> String, one of "SOURCE", "TARGET"
3461
+ #
3462
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListIdNamespaceAssociations AWS API Documentation
3463
+ #
3464
+ # @overload list_id_namespace_associations(params = {})
3465
+ # @param [Hash] params ({})
3466
+ def list_id_namespace_associations(params = {}, options = {})
3467
+ req = build_request(:list_id_namespace_associations, params)
3468
+ req.send_request(options)
3469
+ end
3470
+
2744
3471
  # Lists all members within a collaboration.
2745
3472
  #
2746
3473
  # @option params [required, String] :collaboration_identifier
@@ -3008,6 +3735,10 @@ module Aws::CleanRooms
3008
3735
  # resp.protected_queries[0].membership_arn #=> String
3009
3736
  # resp.protected_queries[0].create_time #=> Time
3010
3737
  # resp.protected_queries[0].status #=> String, one of "SUBMITTED", "STARTED", "CANCELLED", "CANCELLING", "FAILED", "SUCCESS", "TIMED_OUT"
3738
+ # resp.protected_queries[0].receiver_configurations #=> Array
3739
+ # resp.protected_queries[0].receiver_configurations[0].analysis_type #=> String, one of "DIRECT_ANALYSIS", "ADDITIONAL_ANALYSIS"
3740
+ # resp.protected_queries[0].receiver_configurations[0].configuration_details.direct_analysis_configuration_details.receiver_account_ids #=> Array
3741
+ # resp.protected_queries[0].receiver_configurations[0].configuration_details.direct_analysis_configuration_details.receiver_account_ids[0] #=> String
3011
3742
  #
3012
3743
  # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListProtectedQueries AWS API Documentation
3013
3744
  #
@@ -3046,7 +3777,7 @@ module Aws::CleanRooms
3046
3777
  #
3047
3778
  # resp = client.list_schemas({
3048
3779
  # collaboration_identifier: "CollaborationIdentifier", # required
3049
- # schema_type: "TABLE", # accepts TABLE
3780
+ # schema_type: "TABLE", # accepts TABLE, ID_MAPPING_TABLE
3050
3781
  # next_token: "PaginationToken",
3051
3782
  # max_results: 1,
3052
3783
  # })
@@ -3055,14 +3786,14 @@ module Aws::CleanRooms
3055
3786
  #
3056
3787
  # resp.schema_summaries #=> Array
3057
3788
  # resp.schema_summaries[0].name #=> String
3058
- # resp.schema_summaries[0].type #=> String, one of "TABLE"
3789
+ # resp.schema_summaries[0].type #=> String, one of "TABLE", "ID_MAPPING_TABLE"
3059
3790
  # resp.schema_summaries[0].creator_account_id #=> String
3060
3791
  # resp.schema_summaries[0].create_time #=> Time
3061
3792
  # resp.schema_summaries[0].update_time #=> Time
3062
3793
  # resp.schema_summaries[0].collaboration_id #=> String
3063
3794
  # resp.schema_summaries[0].collaboration_arn #=> String
3064
3795
  # resp.schema_summaries[0].analysis_rule_types #=> Array
3065
- # resp.schema_summaries[0].analysis_rule_types[0] #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
3796
+ # resp.schema_summaries[0].analysis_rule_types[0] #=> String, one of "AGGREGATION", "LIST", "CUSTOM", "ID_MAPPING_TABLE"
3066
3797
  # resp.schema_summaries[0].analysis_method #=> String, one of "DIRECT_QUERY"
3067
3798
  # resp.next_token #=> String
3068
3799
  #
@@ -3105,6 +3836,41 @@ module Aws::CleanRooms
3105
3836
  req.send_request(options)
3106
3837
  end
3107
3838
 
3839
+ # Defines the information that's necessary to populate an ID mapping
3840
+ # table.
3841
+ #
3842
+ # @option params [required, String] :id_mapping_table_identifier
3843
+ # The unique identifier of the ID mapping table that you want to
3844
+ # populate.
3845
+ #
3846
+ # @option params [required, String] :membership_identifier
3847
+ # The unique identifier of the membership that contains the ID mapping
3848
+ # table that you want to populate.
3849
+ #
3850
+ # @return [Types::PopulateIdMappingTableOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3851
+ #
3852
+ # * {Types::PopulateIdMappingTableOutput#id_mapping_job_id #id_mapping_job_id} => String
3853
+ #
3854
+ # @example Request syntax with placeholder values
3855
+ #
3856
+ # resp = client.populate_id_mapping_table({
3857
+ # id_mapping_table_identifier: "UUID", # required
3858
+ # membership_identifier: "MembershipIdentifier", # required
3859
+ # })
3860
+ #
3861
+ # @example Response structure
3862
+ #
3863
+ # resp.id_mapping_job_id #=> String
3864
+ #
3865
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/PopulateIdMappingTable AWS API Documentation
3866
+ #
3867
+ # @overload populate_id_mapping_table(params = {})
3868
+ # @param [Hash] params ({})
3869
+ def populate_id_mapping_table(params = {}, options = {})
3870
+ req = build_request(:populate_id_mapping_table, params)
3871
+ req.send_request(options)
3872
+ end
3873
+
3108
3874
  # An estimate of the number of aggregation functions that the member who
3109
3875
  # can query can run given epsilon and noise parameters.
3110
3876
  #
@@ -3184,6 +3950,9 @@ module Aws::CleanRooms
3184
3950
  # bucket: "ProtectedQueryS3OutputConfigurationBucketString", # required
3185
3951
  # key_prefix: "KeyPrefix",
3186
3952
  # },
3953
+ # member: {
3954
+ # account_id: "AccountId", # required
3955
+ # },
3187
3956
  # },
3188
3957
  # },
3189
3958
  # })
@@ -3202,6 +3971,7 @@ module Aws::CleanRooms
3202
3971
  # resp.protected_query.result_configuration.output_configuration.s3.result_format #=> String, one of "CSV", "PARQUET"
3203
3972
  # resp.protected_query.result_configuration.output_configuration.s3.bucket #=> String
3204
3973
  # resp.protected_query.result_configuration.output_configuration.s3.key_prefix #=> String
3974
+ # resp.protected_query.result_configuration.output_configuration.member.account_id #=> String
3205
3975
  # resp.protected_query.statistics.total_duration_in_millis #=> Integer
3206
3976
  # resp.protected_query.result.output.s3.location #=> String
3207
3977
  # resp.protected_query.result.output.member_list #=> Array
@@ -3523,6 +4293,7 @@ module Aws::CleanRooms
3523
4293
  # join_columns: ["AnalysisRuleColumnName"], # required
3524
4294
  # allowed_join_operators: ["OR"], # accepts OR, AND
3525
4295
  # list_columns: ["AnalysisRuleColumnName"], # required
4296
+ # additional_analyses: "ALLOWED", # accepts ALLOWED, REQUIRED, NOT_ALLOWED
3526
4297
  # },
3527
4298
  # aggregation: {
3528
4299
  # aggregate_columns: [ # required
@@ -3543,10 +4314,13 @@ module Aws::CleanRooms
3543
4314
  # type: "COUNT_DISTINCT", # required, accepts COUNT_DISTINCT
3544
4315
  # },
3545
4316
  # ],
4317
+ # additional_analyses: "ALLOWED", # accepts ALLOWED, REQUIRED, NOT_ALLOWED
3546
4318
  # },
3547
4319
  # custom: {
3548
4320
  # allowed_analyses: ["AnalysisTemplateArnOrQueryWildcard"], # required
3549
4321
  # allowed_analysis_providers: ["AccountId"],
4322
+ # additional_analyses: "ALLOWED", # accepts ALLOWED, REQUIRED, NOT_ALLOWED
4323
+ # disallowed_output_columns: ["AnalysisRuleColumnName"],
3550
4324
  # differential_privacy: {
3551
4325
  # columns: [ # required
3552
4326
  # {
@@ -3569,6 +4343,7 @@ module Aws::CleanRooms
3569
4343
  # resp.analysis_rule.policy.v1.list.allowed_join_operators[0] #=> String, one of "OR", "AND"
3570
4344
  # resp.analysis_rule.policy.v1.list.list_columns #=> Array
3571
4345
  # resp.analysis_rule.policy.v1.list.list_columns[0] #=> String
4346
+ # resp.analysis_rule.policy.v1.list.additional_analyses #=> String, one of "ALLOWED", "REQUIRED", "NOT_ALLOWED"
3572
4347
  # resp.analysis_rule.policy.v1.aggregation.aggregate_columns #=> Array
3573
4348
  # resp.analysis_rule.policy.v1.aggregation.aggregate_columns[0].column_names #=> Array
3574
4349
  # resp.analysis_rule.policy.v1.aggregation.aggregate_columns[0].column_names[0] #=> String
@@ -3586,10 +4361,14 @@ module Aws::CleanRooms
3586
4361
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].column_name #=> String
3587
4362
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].minimum #=> Integer
3588
4363
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].type #=> String, one of "COUNT_DISTINCT"
4364
+ # resp.analysis_rule.policy.v1.aggregation.additional_analyses #=> String, one of "ALLOWED", "REQUIRED", "NOT_ALLOWED"
3589
4365
  # resp.analysis_rule.policy.v1.custom.allowed_analyses #=> Array
3590
4366
  # resp.analysis_rule.policy.v1.custom.allowed_analyses[0] #=> String
3591
4367
  # resp.analysis_rule.policy.v1.custom.allowed_analysis_providers #=> Array
3592
4368
  # resp.analysis_rule.policy.v1.custom.allowed_analysis_providers[0] #=> String
4369
+ # resp.analysis_rule.policy.v1.custom.additional_analyses #=> String, one of "ALLOWED", "REQUIRED", "NOT_ALLOWED"
4370
+ # resp.analysis_rule.policy.v1.custom.disallowed_output_columns #=> Array
4371
+ # resp.analysis_rule.policy.v1.custom.disallowed_output_columns[0] #=> String
3593
4372
  # resp.analysis_rule.policy.v1.custom.differential_privacy.columns #=> Array
3594
4373
  # resp.analysis_rule.policy.v1.custom.differential_privacy.columns[0].name #=> String
3595
4374
  # resp.analysis_rule.type #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
@@ -3646,6 +4425,8 @@ module Aws::CleanRooms
3646
4425
  # resp.configured_table_association.role_arn #=> String
3647
4426
  # resp.configured_table_association.name #=> String
3648
4427
  # resp.configured_table_association.description #=> String
4428
+ # resp.configured_table_association.analysis_rule_types #=> Array
4429
+ # resp.configured_table_association.analysis_rule_types[0] #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
3649
4430
  # resp.configured_table_association.create_time #=> Time
3650
4431
  # resp.configured_table_association.update_time #=> Time
3651
4432
  #
@@ -3658,6 +4439,198 @@ module Aws::CleanRooms
3658
4439
  req.send_request(options)
3659
4440
  end
3660
4441
 
4442
+ # Updates the analysis rule for a configured table association.
4443
+ #
4444
+ # @option params [required, String] :membership_identifier
4445
+ # A unique identifier for the membership that the configured table
4446
+ # association belongs to. Currently accepts the membership ID.
4447
+ #
4448
+ # @option params [required, String] :configured_table_association_identifier
4449
+ # The identifier for the configured table association to update.
4450
+ #
4451
+ # @option params [required, String] :analysis_rule_type
4452
+ # The analysis rule type that you want to update.
4453
+ #
4454
+ # @option params [required, Types::ConfiguredTableAssociationAnalysisRulePolicy] :analysis_rule_policy
4455
+ # The updated analysis rule policy for the configured table association.
4456
+ #
4457
+ # @return [Types::UpdateConfiguredTableAssociationAnalysisRuleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4458
+ #
4459
+ # * {Types::UpdateConfiguredTableAssociationAnalysisRuleOutput#analysis_rule #analysis_rule} => Types::ConfiguredTableAssociationAnalysisRule
4460
+ #
4461
+ # @example Request syntax with placeholder values
4462
+ #
4463
+ # resp = client.update_configured_table_association_analysis_rule({
4464
+ # membership_identifier: "MembershipIdentifier", # required
4465
+ # configured_table_association_identifier: "ConfiguredTableAssociationIdentifier", # required
4466
+ # analysis_rule_type: "AGGREGATION", # required, accepts AGGREGATION, LIST, CUSTOM
4467
+ # analysis_rule_policy: { # required
4468
+ # v1: {
4469
+ # list: {
4470
+ # allowed_result_receivers: ["AccountId"],
4471
+ # allowed_additional_analyses: ["AdditionalAnalysesResourceArn"],
4472
+ # },
4473
+ # aggregation: {
4474
+ # allowed_result_receivers: ["AccountId"],
4475
+ # allowed_additional_analyses: ["AdditionalAnalysesResourceArn"],
4476
+ # },
4477
+ # custom: {
4478
+ # allowed_result_receivers: ["AccountId"],
4479
+ # allowed_additional_analyses: ["AdditionalAnalysesResourceArn"],
4480
+ # },
4481
+ # },
4482
+ # },
4483
+ # })
4484
+ #
4485
+ # @example Response structure
4486
+ #
4487
+ # resp.analysis_rule.membership_identifier #=> String
4488
+ # resp.analysis_rule.configured_table_association_id #=> String
4489
+ # resp.analysis_rule.configured_table_association_arn #=> String
4490
+ # resp.analysis_rule.policy.v1.list.allowed_result_receivers #=> Array
4491
+ # resp.analysis_rule.policy.v1.list.allowed_result_receivers[0] #=> String
4492
+ # resp.analysis_rule.policy.v1.list.allowed_additional_analyses #=> Array
4493
+ # resp.analysis_rule.policy.v1.list.allowed_additional_analyses[0] #=> String
4494
+ # resp.analysis_rule.policy.v1.aggregation.allowed_result_receivers #=> Array
4495
+ # resp.analysis_rule.policy.v1.aggregation.allowed_result_receivers[0] #=> String
4496
+ # resp.analysis_rule.policy.v1.aggregation.allowed_additional_analyses #=> Array
4497
+ # resp.analysis_rule.policy.v1.aggregation.allowed_additional_analyses[0] #=> String
4498
+ # resp.analysis_rule.policy.v1.custom.allowed_result_receivers #=> Array
4499
+ # resp.analysis_rule.policy.v1.custom.allowed_result_receivers[0] #=> String
4500
+ # resp.analysis_rule.policy.v1.custom.allowed_additional_analyses #=> Array
4501
+ # resp.analysis_rule.policy.v1.custom.allowed_additional_analyses[0] #=> String
4502
+ # resp.analysis_rule.type #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
4503
+ # resp.analysis_rule.create_time #=> Time
4504
+ # resp.analysis_rule.update_time #=> Time
4505
+ #
4506
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateConfiguredTableAssociationAnalysisRule AWS API Documentation
4507
+ #
4508
+ # @overload update_configured_table_association_analysis_rule(params = {})
4509
+ # @param [Hash] params ({})
4510
+ def update_configured_table_association_analysis_rule(params = {}, options = {})
4511
+ req = build_request(:update_configured_table_association_analysis_rule, params)
4512
+ req.send_request(options)
4513
+ end
4514
+
4515
+ # Provides the details that are necessary to update an ID mapping table.
4516
+ #
4517
+ # @option params [required, String] :id_mapping_table_identifier
4518
+ # The unique identifier of the ID mapping table that you want to update.
4519
+ #
4520
+ # @option params [required, String] :membership_identifier
4521
+ # The unique identifier of the membership that contains the ID mapping
4522
+ # table that you want to update.
4523
+ #
4524
+ # @option params [String] :description
4525
+ # A new description for the ID mapping table.
4526
+ #
4527
+ # @option params [String] :kms_key_arn
4528
+ # The Amazon Resource Name (ARN) of the Amazon Web Services KMS key.
4529
+ #
4530
+ # @return [Types::UpdateIdMappingTableOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4531
+ #
4532
+ # * {Types::UpdateIdMappingTableOutput#id_mapping_table #id_mapping_table} => Types::IdMappingTable
4533
+ #
4534
+ # @example Request syntax with placeholder values
4535
+ #
4536
+ # resp = client.update_id_mapping_table({
4537
+ # id_mapping_table_identifier: "UUID", # required
4538
+ # membership_identifier: "MembershipIdentifier", # required
4539
+ # description: "ResourceDescription",
4540
+ # kms_key_arn: "KMSKeyArn",
4541
+ # })
4542
+ #
4543
+ # @example Response structure
4544
+ #
4545
+ # resp.id_mapping_table.id #=> String
4546
+ # resp.id_mapping_table.arn #=> String
4547
+ # resp.id_mapping_table.input_reference_config.input_reference_arn #=> String
4548
+ # resp.id_mapping_table.input_reference_config.manage_resource_policies #=> Boolean
4549
+ # resp.id_mapping_table.membership_id #=> String
4550
+ # resp.id_mapping_table.membership_arn #=> String
4551
+ # resp.id_mapping_table.collaboration_id #=> String
4552
+ # resp.id_mapping_table.collaboration_arn #=> String
4553
+ # resp.id_mapping_table.description #=> String
4554
+ # resp.id_mapping_table.name #=> String
4555
+ # resp.id_mapping_table.create_time #=> Time
4556
+ # resp.id_mapping_table.update_time #=> Time
4557
+ # resp.id_mapping_table.input_reference_properties.id_mapping_table_input_source #=> Array
4558
+ # resp.id_mapping_table.input_reference_properties.id_mapping_table_input_source[0].id_namespace_association_id #=> String
4559
+ # resp.id_mapping_table.input_reference_properties.id_mapping_table_input_source[0].type #=> String, one of "SOURCE", "TARGET"
4560
+ # resp.id_mapping_table.kms_key_arn #=> String
4561
+ #
4562
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateIdMappingTable AWS API Documentation
4563
+ #
4564
+ # @overload update_id_mapping_table(params = {})
4565
+ # @param [Hash] params ({})
4566
+ def update_id_mapping_table(params = {}, options = {})
4567
+ req = build_request(:update_id_mapping_table, params)
4568
+ req.send_request(options)
4569
+ end
4570
+
4571
+ # Provides the details that are necessary to update an ID namespace
4572
+ # association.
4573
+ #
4574
+ # @option params [required, String] :id_namespace_association_identifier
4575
+ # The unique identifier of the ID namespace association that you want to
4576
+ # update.
4577
+ #
4578
+ # @option params [required, String] :membership_identifier
4579
+ # The unique identifier of the membership that contains the ID namespace
4580
+ # association that you want to update.
4581
+ #
4582
+ # @option params [String] :name
4583
+ # A new name for the ID namespace association.
4584
+ #
4585
+ # @option params [String] :description
4586
+ # A new description for the ID namespace association.
4587
+ #
4588
+ # @option params [Types::IdMappingConfig] :id_mapping_config
4589
+ # The configuration settings for the ID mapping table.
4590
+ #
4591
+ # @return [Types::UpdateIdNamespaceAssociationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4592
+ #
4593
+ # * {Types::UpdateIdNamespaceAssociationOutput#id_namespace_association #id_namespace_association} => Types::IdNamespaceAssociation
4594
+ #
4595
+ # @example Request syntax with placeholder values
4596
+ #
4597
+ # resp = client.update_id_namespace_association({
4598
+ # id_namespace_association_identifier: "IdNamespaceAssociationIdentifier", # required
4599
+ # membership_identifier: "MembershipIdentifier", # required
4600
+ # name: "GenericResourceName",
4601
+ # description: "ResourceDescription",
4602
+ # id_mapping_config: {
4603
+ # allow_use_as_dimension_column: false, # required
4604
+ # },
4605
+ # })
4606
+ #
4607
+ # @example Response structure
4608
+ #
4609
+ # resp.id_namespace_association.id #=> String
4610
+ # resp.id_namespace_association.arn #=> String
4611
+ # resp.id_namespace_association.membership_id #=> String
4612
+ # resp.id_namespace_association.membership_arn #=> String
4613
+ # resp.id_namespace_association.collaboration_id #=> String
4614
+ # resp.id_namespace_association.collaboration_arn #=> String
4615
+ # resp.id_namespace_association.name #=> String
4616
+ # resp.id_namespace_association.description #=> String
4617
+ # resp.id_namespace_association.create_time #=> Time
4618
+ # resp.id_namespace_association.update_time #=> Time
4619
+ # resp.id_namespace_association.input_reference_config.input_reference_arn #=> String
4620
+ # resp.id_namespace_association.input_reference_config.manage_resource_policies #=> Boolean
4621
+ # resp.id_namespace_association.input_reference_properties.id_namespace_type #=> String, one of "SOURCE", "TARGET"
4622
+ # resp.id_namespace_association.input_reference_properties.id_mapping_workflows_supported #=> Array
4623
+ # resp.id_namespace_association.id_mapping_config.allow_use_as_dimension_column #=> Boolean
4624
+ #
4625
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateIdNamespaceAssociation AWS API Documentation
4626
+ #
4627
+ # @overload update_id_namespace_association(params = {})
4628
+ # @param [Hash] params ({})
4629
+ def update_id_namespace_association(params = {}, options = {})
4630
+ req = build_request(:update_id_namespace_association, params)
4631
+ req.send_request(options)
4632
+ end
4633
+
3661
4634
  # Updates a membership.
3662
4635
  #
3663
4636
  # @option params [required, String] :membership_identifier
@@ -3820,6 +4793,7 @@ module Aws::CleanRooms
3820
4793
  # resp.protected_query.result_configuration.output_configuration.s3.result_format #=> String, one of "CSV", "PARQUET"
3821
4794
  # resp.protected_query.result_configuration.output_configuration.s3.bucket #=> String
3822
4795
  # resp.protected_query.result_configuration.output_configuration.s3.key_prefix #=> String
4796
+ # resp.protected_query.result_configuration.output_configuration.member.account_id #=> String
3823
4797
  # resp.protected_query.statistics.total_duration_in_millis #=> Integer
3824
4798
  # resp.protected_query.result.output.s3.location #=> String
3825
4799
  # resp.protected_query.result.output.member_list #=> Array
@@ -3855,7 +4829,7 @@ module Aws::CleanRooms
3855
4829
  params: params,
3856
4830
  config: config)
3857
4831
  context[:gem_name] = 'aws-sdk-cleanrooms'
3858
- context[:gem_version] = '1.25.0'
4832
+ context[:gem_version] = '1.27.0'
3859
4833
  Seahorse::Client::Request.new(handlers, context)
3860
4834
  end
3861
4835