aws-sdk-cleanrooms 1.8.0 → 1.9.0

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.
@@ -388,6 +388,63 @@ module Aws::CleanRooms
388
388
 
389
389
  # @!group API Operations
390
390
 
391
+ # Retrieves multiple analysis templates within a collaboration by their
392
+ # Amazon Resource Names (ARNs).
393
+ #
394
+ # @option params [required, String] :collaboration_identifier
395
+ # A unique identifier for the collaboration that the analysis templates
396
+ # belong to. Currently accepts collaboration ID.
397
+ #
398
+ # @option params [required, Array<String>] :analysis_template_arns
399
+ # The Amazon Resource Name (ARN) associated with the analysis template
400
+ # within a collaboration.
401
+ #
402
+ # @return [Types::BatchGetCollaborationAnalysisTemplateOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
403
+ #
404
+ # * {Types::BatchGetCollaborationAnalysisTemplateOutput#collaboration_analysis_templates #collaboration_analysis_templates} => Array&lt;Types::CollaborationAnalysisTemplate&gt;
405
+ # * {Types::BatchGetCollaborationAnalysisTemplateOutput#errors #errors} => Array&lt;Types::BatchGetCollaborationAnalysisTemplateError&gt;
406
+ #
407
+ # @example Request syntax with placeholder values
408
+ #
409
+ # resp = client.batch_get_collaboration_analysis_template({
410
+ # collaboration_identifier: "CollaborationIdentifier", # required
411
+ # analysis_template_arns: ["AnalysisTemplateArn"], # required
412
+ # })
413
+ #
414
+ # @example Response structure
415
+ #
416
+ # resp.collaboration_analysis_templates #=> Array
417
+ # resp.collaboration_analysis_templates[0].id #=> String
418
+ # resp.collaboration_analysis_templates[0].arn #=> String
419
+ # resp.collaboration_analysis_templates[0].collaboration_id #=> String
420
+ # resp.collaboration_analysis_templates[0].collaboration_arn #=> String
421
+ # resp.collaboration_analysis_templates[0].description #=> String
422
+ # resp.collaboration_analysis_templates[0].creator_account_id #=> String
423
+ # resp.collaboration_analysis_templates[0].name #=> String
424
+ # resp.collaboration_analysis_templates[0].create_time #=> Time
425
+ # resp.collaboration_analysis_templates[0].update_time #=> Time
426
+ # resp.collaboration_analysis_templates[0].schema.referenced_tables #=> Array
427
+ # resp.collaboration_analysis_templates[0].schema.referenced_tables[0] #=> String
428
+ # resp.collaboration_analysis_templates[0].format #=> String, one of "SQL"
429
+ # resp.collaboration_analysis_templates[0].source.text #=> String
430
+ # resp.collaboration_analysis_templates[0].analysis_parameters #=> Array
431
+ # resp.collaboration_analysis_templates[0].analysis_parameters[0].name #=> String
432
+ # resp.collaboration_analysis_templates[0].analysis_parameters[0].type #=> String, one of "SMALLINT", "INTEGER", "BIGINT", "DECIMAL", "REAL", "DOUBLE_PRECISION", "BOOLEAN", "CHAR", "VARCHAR", "DATE", "TIMESTAMP", "TIMESTAMPTZ", "TIME", "TIMETZ", "VARBYTE"
433
+ # resp.collaboration_analysis_templates[0].analysis_parameters[0].default_value #=> String
434
+ # resp.errors #=> Array
435
+ # resp.errors[0].arn #=> String
436
+ # resp.errors[0].code #=> String
437
+ # resp.errors[0].message #=> String
438
+ #
439
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/BatchGetCollaborationAnalysisTemplate AWS API Documentation
440
+ #
441
+ # @overload batch_get_collaboration_analysis_template(params = {})
442
+ # @param [Hash] params ({})
443
+ def batch_get_collaboration_analysis_template(params = {}, options = {})
444
+ req = build_request(:batch_get_collaboration_analysis_template, params)
445
+ req.send_request(options)
446
+ end
447
+
391
448
  # Retrieves multiple schemas by their identifiers.
392
449
  #
393
450
  # @option params [required, String] :collaboration_identifier
@@ -419,7 +476,7 @@ module Aws::CleanRooms
419
476
  # resp.schemas[0].partition_keys[0].name #=> String
420
477
  # resp.schemas[0].partition_keys[0].type #=> String
421
478
  # resp.schemas[0].analysis_rule_types #=> Array
422
- # resp.schemas[0].analysis_rule_types[0] #=> String, one of "AGGREGATION", "LIST"
479
+ # resp.schemas[0].analysis_rule_types[0] #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
423
480
  # resp.schemas[0].analysis_method #=> String, one of "DIRECT_QUERY"
424
481
  # resp.schemas[0].creator_account_id #=> String
425
482
  # resp.schemas[0].name #=> String
@@ -443,6 +500,89 @@ module Aws::CleanRooms
443
500
  req.send_request(options)
444
501
  end
445
502
 
503
+ # Creates a new analysis template.
504
+ #
505
+ # @option params [String] :description
506
+ # The description of the analysis template.
507
+ #
508
+ # @option params [required, String] :membership_identifier
509
+ # The identifier for a membership resource.
510
+ #
511
+ # @option params [required, String] :name
512
+ # The name of the analysis template.
513
+ #
514
+ # @option params [required, String] :format
515
+ # The format of the analysis template.
516
+ #
517
+ # @option params [required, Types::AnalysisSource] :source
518
+ # The information in the analysis template. Currently supports `text`,
519
+ # the query text for the analysis template.
520
+ #
521
+ # @option params [Hash<String,String>] :tags
522
+ # An optional label that you can assign to a resource when you create
523
+ # it. Each tag consists of a key and an optional value, both of which
524
+ # you define. When you use tagging, you can also use tag-based access
525
+ # control in IAM policies to control access to this resource.
526
+ #
527
+ # @option params [Array<Types::AnalysisParameter>] :analysis_parameters
528
+ # The parameters of the analysis template.
529
+ #
530
+ # @return [Types::CreateAnalysisTemplateOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
531
+ #
532
+ # * {Types::CreateAnalysisTemplateOutput#analysis_template #analysis_template} => Types::AnalysisTemplate
533
+ #
534
+ # @example Request syntax with placeholder values
535
+ #
536
+ # resp = client.create_analysis_template({
537
+ # description: "ResourceDescription",
538
+ # membership_identifier: "MembershipIdentifier", # required
539
+ # name: "TableAlias", # required
540
+ # format: "SQL", # required, accepts SQL
541
+ # source: { # required
542
+ # text: "AnalysisTemplateText",
543
+ # },
544
+ # tags: {
545
+ # "TagKey" => "TagValue",
546
+ # },
547
+ # analysis_parameters: [
548
+ # {
549
+ # name: "ParameterName", # required
550
+ # type: "SMALLINT", # required, accepts SMALLINT, INTEGER, BIGINT, DECIMAL, REAL, DOUBLE_PRECISION, BOOLEAN, CHAR, VARCHAR, DATE, TIMESTAMP, TIMESTAMPTZ, TIME, TIMETZ, VARBYTE
551
+ # default_value: "ParameterValue",
552
+ # },
553
+ # ],
554
+ # })
555
+ #
556
+ # @example Response structure
557
+ #
558
+ # resp.analysis_template.id #=> String
559
+ # resp.analysis_template.arn #=> String
560
+ # resp.analysis_template.collaboration_id #=> String
561
+ # resp.analysis_template.collaboration_arn #=> String
562
+ # resp.analysis_template.membership_id #=> String
563
+ # resp.analysis_template.membership_arn #=> String
564
+ # resp.analysis_template.description #=> String
565
+ # resp.analysis_template.name #=> String
566
+ # resp.analysis_template.create_time #=> Time
567
+ # resp.analysis_template.update_time #=> Time
568
+ # resp.analysis_template.schema.referenced_tables #=> Array
569
+ # resp.analysis_template.schema.referenced_tables[0] #=> String
570
+ # resp.analysis_template.format #=> String, one of "SQL"
571
+ # resp.analysis_template.source.text #=> String
572
+ # resp.analysis_template.analysis_parameters #=> Array
573
+ # resp.analysis_template.analysis_parameters[0].name #=> String
574
+ # resp.analysis_template.analysis_parameters[0].type #=> String, one of "SMALLINT", "INTEGER", "BIGINT", "DECIMAL", "REAL", "DOUBLE_PRECISION", "BOOLEAN", "CHAR", "VARCHAR", "DATE", "TIMESTAMP", "TIMESTAMPTZ", "TIME", "TIMETZ", "VARBYTE"
575
+ # resp.analysis_template.analysis_parameters[0].default_value #=> String
576
+ #
577
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/CreateAnalysisTemplate AWS API Documentation
578
+ #
579
+ # @overload create_analysis_template(params = {})
580
+ # @param [Hash] params ({})
581
+ def create_analysis_template(params = {}, options = {})
582
+ req = build_request(:create_analysis_template, params)
583
+ req.send_request(options)
584
+ end
585
+
446
586
  # Creates a new collaboration.
447
587
  #
448
588
  # @option params [required, Array<Types::MemberSpecification>] :members
@@ -592,7 +732,7 @@ module Aws::CleanRooms
592
732
  # resp.configured_table.create_time #=> Time
593
733
  # resp.configured_table.update_time #=> Time
594
734
  # resp.configured_table.analysis_rule_types #=> Array
595
- # resp.configured_table.analysis_rule_types[0] #=> String, one of "AGGREGATION", "LIST"
735
+ # resp.configured_table.analysis_rule_types[0] #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
596
736
  # resp.configured_table.analysis_method #=> String, one of "DIRECT_QUERY"
597
737
  # resp.configured_table.allowed_columns #=> Array
598
738
  # resp.configured_table.allowed_columns[0] #=> String
@@ -614,7 +754,7 @@ module Aws::CleanRooms
614
754
  # for. Currently accepts the configured table ID.
615
755
  #
616
756
  # @option params [required, String] :analysis_rule_type
617
- # The type of analysis rule. Valid values are AGGREGATION and LIST.
757
+ # The type of analysis rule.
618
758
  #
619
759
  # @option params [required, Types::ConfiguredTableAnalysisRulePolicy] :analysis_rule_policy
620
760
  # The entire created configured table analysis rule object.
@@ -627,7 +767,7 @@ module Aws::CleanRooms
627
767
  #
628
768
  # resp = client.create_configured_table_analysis_rule({
629
769
  # configured_table_identifier: "ConfiguredTableIdentifier", # required
630
- # analysis_rule_type: "AGGREGATION", # required, accepts AGGREGATION, LIST
770
+ # analysis_rule_type: "AGGREGATION", # required, accepts AGGREGATION, LIST, CUSTOM
631
771
  # analysis_rule_policy: { # required
632
772
  # v1: {
633
773
  # list: {
@@ -655,6 +795,10 @@ module Aws::CleanRooms
655
795
  # },
656
796
  # ],
657
797
  # },
798
+ # custom: {
799
+ # allowed_analyses: ["AnalysisTemplateArnOrQueryWildcard"], # required
800
+ # allowed_analysis_providers: ["AccountId"],
801
+ # },
658
802
  # },
659
803
  # },
660
804
  # })
@@ -686,7 +830,11 @@ module Aws::CleanRooms
686
830
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].column_name #=> String
687
831
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].minimum #=> Integer
688
832
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].type #=> String, one of "COUNT_DISTINCT"
689
- # resp.analysis_rule.type #=> String, one of "AGGREGATION", "LIST"
833
+ # resp.analysis_rule.policy.v1.custom.allowed_analyses #=> Array
834
+ # resp.analysis_rule.policy.v1.custom.allowed_analyses[0] #=> String
835
+ # resp.analysis_rule.policy.v1.custom.allowed_analysis_providers #=> Array
836
+ # resp.analysis_rule.policy.v1.custom.allowed_analysis_providers[0] #=> String
837
+ # resp.analysis_rule.type #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
690
838
  # resp.analysis_rule.create_time #=> Time
691
839
  # resp.analysis_rule.update_time #=> Time
692
840
  #
@@ -823,6 +971,32 @@ module Aws::CleanRooms
823
971
  req.send_request(options)
824
972
  end
825
973
 
974
+ # Deletes an analysis template.
975
+ #
976
+ # @option params [required, String] :membership_identifier
977
+ # The identifier for a membership resource.
978
+ #
979
+ # @option params [required, String] :analysis_template_identifier
980
+ # The identifier for the analysis template resource.
981
+ #
982
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
983
+ #
984
+ # @example Request syntax with placeholder values
985
+ #
986
+ # resp = client.delete_analysis_template({
987
+ # membership_identifier: "MembershipIdentifier", # required
988
+ # analysis_template_identifier: "AnalysisTemplateIdentifier", # required
989
+ # })
990
+ #
991
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/DeleteAnalysisTemplate AWS API Documentation
992
+ #
993
+ # @overload delete_analysis_template(params = {})
994
+ # @param [Hash] params ({})
995
+ def delete_analysis_template(params = {}, options = {})
996
+ req = build_request(:delete_analysis_template, params)
997
+ req.send_request(options)
998
+ end
999
+
826
1000
  # Deletes a collaboration. It can only be called by the collaboration
827
1001
  # owner.
828
1002
  #
@@ -885,7 +1059,7 @@ module Aws::CleanRooms
885
1059
  #
886
1060
  # resp = client.delete_configured_table_analysis_rule({
887
1061
  # configured_table_identifier: "ConfiguredTableIdentifier", # required
888
- # analysis_rule_type: "AGGREGATION", # required, accepts AGGREGATION, LIST
1062
+ # analysis_rule_type: "AGGREGATION", # required, accepts AGGREGATION, LIST, CUSTOM
889
1063
  # })
890
1064
  #
891
1065
  # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/DeleteConfiguredTableAnalysisRule AWS API Documentation
@@ -977,6 +1151,55 @@ module Aws::CleanRooms
977
1151
  req.send_request(options)
978
1152
  end
979
1153
 
1154
+ # Retrieves an analysis template.
1155
+ #
1156
+ # @option params [required, String] :membership_identifier
1157
+ # The identifier for a membership resource.
1158
+ #
1159
+ # @option params [required, String] :analysis_template_identifier
1160
+ # The identifier for the analysis template resource.
1161
+ #
1162
+ # @return [Types::GetAnalysisTemplateOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1163
+ #
1164
+ # * {Types::GetAnalysisTemplateOutput#analysis_template #analysis_template} => Types::AnalysisTemplate
1165
+ #
1166
+ # @example Request syntax with placeholder values
1167
+ #
1168
+ # resp = client.get_analysis_template({
1169
+ # membership_identifier: "MembershipIdentifier", # required
1170
+ # analysis_template_identifier: "AnalysisTemplateIdentifier", # required
1171
+ # })
1172
+ #
1173
+ # @example Response structure
1174
+ #
1175
+ # resp.analysis_template.id #=> String
1176
+ # resp.analysis_template.arn #=> String
1177
+ # resp.analysis_template.collaboration_id #=> String
1178
+ # resp.analysis_template.collaboration_arn #=> String
1179
+ # resp.analysis_template.membership_id #=> String
1180
+ # resp.analysis_template.membership_arn #=> String
1181
+ # resp.analysis_template.description #=> String
1182
+ # resp.analysis_template.name #=> String
1183
+ # resp.analysis_template.create_time #=> Time
1184
+ # resp.analysis_template.update_time #=> Time
1185
+ # resp.analysis_template.schema.referenced_tables #=> Array
1186
+ # resp.analysis_template.schema.referenced_tables[0] #=> String
1187
+ # resp.analysis_template.format #=> String, one of "SQL"
1188
+ # resp.analysis_template.source.text #=> String
1189
+ # resp.analysis_template.analysis_parameters #=> Array
1190
+ # resp.analysis_template.analysis_parameters[0].name #=> String
1191
+ # resp.analysis_template.analysis_parameters[0].type #=> String, one of "SMALLINT", "INTEGER", "BIGINT", "DECIMAL", "REAL", "DOUBLE_PRECISION", "BOOLEAN", "CHAR", "VARCHAR", "DATE", "TIMESTAMP", "TIMESTAMPTZ", "TIME", "TIMETZ", "VARBYTE"
1192
+ # resp.analysis_template.analysis_parameters[0].default_value #=> String
1193
+ #
1194
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetAnalysisTemplate AWS API Documentation
1195
+ #
1196
+ # @overload get_analysis_template(params = {})
1197
+ # @param [Hash] params ({})
1198
+ def get_analysis_template(params = {}, options = {})
1199
+ req = build_request(:get_analysis_template, params)
1200
+ req.send_request(options)
1201
+ end
1202
+
980
1203
  # Returns metadata about a collaboration.
981
1204
  #
982
1205
  # @option params [required, String] :collaboration_identifier
@@ -1020,6 +1243,56 @@ module Aws::CleanRooms
1020
1243
  req.send_request(options)
1021
1244
  end
1022
1245
 
1246
+ # Retrieves an analysis template within a collaboration.
1247
+ #
1248
+ # @option params [required, String] :collaboration_identifier
1249
+ # A unique identifier for the collaboration that the analysis templates
1250
+ # belong to. Currently accepts collaboration ID.
1251
+ #
1252
+ # @option params [required, String] :analysis_template_arn
1253
+ # The Amazon Resource Name (ARN) associated with the analysis template
1254
+ # within a collaboration.
1255
+ #
1256
+ # @return [Types::GetCollaborationAnalysisTemplateOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1257
+ #
1258
+ # * {Types::GetCollaborationAnalysisTemplateOutput#collaboration_analysis_template #collaboration_analysis_template} => Types::CollaborationAnalysisTemplate
1259
+ #
1260
+ # @example Request syntax with placeholder values
1261
+ #
1262
+ # resp = client.get_collaboration_analysis_template({
1263
+ # collaboration_identifier: "CollaborationIdentifier", # required
1264
+ # analysis_template_arn: "AnalysisTemplateArn", # required
1265
+ # })
1266
+ #
1267
+ # @example Response structure
1268
+ #
1269
+ # resp.collaboration_analysis_template.id #=> String
1270
+ # resp.collaboration_analysis_template.arn #=> String
1271
+ # resp.collaboration_analysis_template.collaboration_id #=> String
1272
+ # resp.collaboration_analysis_template.collaboration_arn #=> String
1273
+ # resp.collaboration_analysis_template.description #=> String
1274
+ # resp.collaboration_analysis_template.creator_account_id #=> String
1275
+ # resp.collaboration_analysis_template.name #=> String
1276
+ # resp.collaboration_analysis_template.create_time #=> Time
1277
+ # resp.collaboration_analysis_template.update_time #=> Time
1278
+ # resp.collaboration_analysis_template.schema.referenced_tables #=> Array
1279
+ # resp.collaboration_analysis_template.schema.referenced_tables[0] #=> String
1280
+ # resp.collaboration_analysis_template.format #=> String, one of "SQL"
1281
+ # resp.collaboration_analysis_template.source.text #=> String
1282
+ # resp.collaboration_analysis_template.analysis_parameters #=> Array
1283
+ # resp.collaboration_analysis_template.analysis_parameters[0].name #=> String
1284
+ # resp.collaboration_analysis_template.analysis_parameters[0].type #=> String, one of "SMALLINT", "INTEGER", "BIGINT", "DECIMAL", "REAL", "DOUBLE_PRECISION", "BOOLEAN", "CHAR", "VARCHAR", "DATE", "TIMESTAMP", "TIMESTAMPTZ", "TIME", "TIMETZ", "VARBYTE"
1285
+ # resp.collaboration_analysis_template.analysis_parameters[0].default_value #=> String
1286
+ #
1287
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetCollaborationAnalysisTemplate AWS API Documentation
1288
+ #
1289
+ # @overload get_collaboration_analysis_template(params = {})
1290
+ # @param [Hash] params ({})
1291
+ def get_collaboration_analysis_template(params = {}, options = {})
1292
+ req = build_request(:get_collaboration_analysis_template, params)
1293
+ req.send_request(options)
1294
+ end
1295
+
1023
1296
  # Retrieves a configured table.
1024
1297
  #
1025
1298
  # @option params [required, String] :configured_table_identifier
@@ -1046,7 +1319,7 @@ module Aws::CleanRooms
1046
1319
  # resp.configured_table.create_time #=> Time
1047
1320
  # resp.configured_table.update_time #=> Time
1048
1321
  # resp.configured_table.analysis_rule_types #=> Array
1049
- # resp.configured_table.analysis_rule_types[0] #=> String, one of "AGGREGATION", "LIST"
1322
+ # resp.configured_table.analysis_rule_types[0] #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
1050
1323
  # resp.configured_table.analysis_method #=> String, one of "DIRECT_QUERY"
1051
1324
  # resp.configured_table.allowed_columns #=> Array
1052
1325
  # resp.configured_table.allowed_columns[0] #=> String
@@ -1079,7 +1352,7 @@ module Aws::CleanRooms
1079
1352
  #
1080
1353
  # resp = client.get_configured_table_analysis_rule({
1081
1354
  # configured_table_identifier: "ConfiguredTableIdentifier", # required
1082
- # analysis_rule_type: "AGGREGATION", # required, accepts AGGREGATION, LIST
1355
+ # analysis_rule_type: "AGGREGATION", # required, accepts AGGREGATION, LIST, CUSTOM
1083
1356
  # })
1084
1357
  #
1085
1358
  # @example Response structure
@@ -1109,7 +1382,11 @@ module Aws::CleanRooms
1109
1382
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].column_name #=> String
1110
1383
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].minimum #=> Integer
1111
1384
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].type #=> String, one of "COUNT_DISTINCT"
1112
- # resp.analysis_rule.type #=> String, one of "AGGREGATION", "LIST"
1385
+ # resp.analysis_rule.policy.v1.custom.allowed_analyses #=> Array
1386
+ # resp.analysis_rule.policy.v1.custom.allowed_analyses[0] #=> String
1387
+ # resp.analysis_rule.policy.v1.custom.allowed_analysis_providers #=> Array
1388
+ # resp.analysis_rule.policy.v1.custom.allowed_analysis_providers[0] #=> String
1389
+ # resp.analysis_rule.type #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
1113
1390
  # resp.analysis_rule.create_time #=> Time
1114
1391
  # resp.analysis_rule.update_time #=> Time
1115
1392
  #
@@ -1232,6 +1509,9 @@ module Aws::CleanRooms
1232
1509
  # resp.protected_query.membership_arn #=> String
1233
1510
  # resp.protected_query.create_time #=> Time
1234
1511
  # resp.protected_query.sql_parameters.query_string #=> String
1512
+ # resp.protected_query.sql_parameters.analysis_template_arn #=> String
1513
+ # resp.protected_query.sql_parameters.parameters #=> Hash
1514
+ # resp.protected_query.sql_parameters.parameters["ParameterName"] #=> String
1235
1515
  # resp.protected_query.status #=> String, one of "SUBMITTED", "STARTED", "CANCELLED", "CANCELLING", "FAILED", "SUCCESS", "TIMED_OUT"
1236
1516
  # resp.protected_query.result_configuration.output_configuration.s3.result_format #=> String, one of "CSV", "PARQUET"
1237
1517
  # resp.protected_query.result_configuration.output_configuration.s3.bucket #=> String
@@ -1279,7 +1559,7 @@ module Aws::CleanRooms
1279
1559
  # resp.schema.partition_keys[0].name #=> String
1280
1560
  # resp.schema.partition_keys[0].type #=> String
1281
1561
  # resp.schema.analysis_rule_types #=> Array
1282
- # resp.schema.analysis_rule_types[0] #=> String, one of "AGGREGATION", "LIST"
1562
+ # resp.schema.analysis_rule_types[0] #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
1283
1563
  # resp.schema.analysis_method #=> String, one of "DIRECT_QUERY"
1284
1564
  # resp.schema.creator_account_id #=> String
1285
1565
  # resp.schema.name #=> String
@@ -1322,13 +1602,13 @@ module Aws::CleanRooms
1322
1602
  # resp = client.get_schema_analysis_rule({
1323
1603
  # collaboration_identifier: "CollaborationIdentifier", # required
1324
1604
  # name: "TableAlias", # required
1325
- # type: "AGGREGATION", # required, accepts AGGREGATION, LIST
1605
+ # type: "AGGREGATION", # required, accepts AGGREGATION, LIST, CUSTOM
1326
1606
  # })
1327
1607
  #
1328
1608
  # @example Response structure
1329
1609
  #
1330
1610
  # resp.analysis_rule.collaboration_id #=> String
1331
- # resp.analysis_rule.type #=> String, one of "AGGREGATION", "LIST"
1611
+ # resp.analysis_rule.type #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
1332
1612
  # resp.analysis_rule.name #=> String
1333
1613
  # resp.analysis_rule.create_time #=> Time
1334
1614
  # resp.analysis_rule.update_time #=> Time
@@ -1355,6 +1635,10 @@ module Aws::CleanRooms
1355
1635
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].column_name #=> String
1356
1636
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].minimum #=> Integer
1357
1637
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].type #=> String, one of "COUNT_DISTINCT"
1638
+ # resp.analysis_rule.policy.v1.custom.allowed_analyses #=> Array
1639
+ # resp.analysis_rule.policy.v1.custom.allowed_analyses[0] #=> String
1640
+ # resp.analysis_rule.policy.v1.custom.allowed_analysis_providers #=> Array
1641
+ # resp.analysis_rule.policy.v1.custom.allowed_analysis_providers[0] #=> String
1358
1642
  #
1359
1643
  # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetSchemaAnalysisRule AWS API Documentation
1360
1644
  #
@@ -1365,6 +1649,108 @@ module Aws::CleanRooms
1365
1649
  req.send_request(options)
1366
1650
  end
1367
1651
 
1652
+ # Lists analysis templates that the caller owns.
1653
+ #
1654
+ # @option params [required, String] :membership_identifier
1655
+ # The identifier for a membership resource.
1656
+ #
1657
+ # @option params [String] :next_token
1658
+ # The token value retrieved from a previous call to access the next page
1659
+ # of results.
1660
+ #
1661
+ # @option params [Integer] :max_results
1662
+ # The maximum size of the results that is returned per call.
1663
+ #
1664
+ # @return [Types::ListAnalysisTemplatesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1665
+ #
1666
+ # * {Types::ListAnalysisTemplatesOutput#next_token #next_token} => String
1667
+ # * {Types::ListAnalysisTemplatesOutput#analysis_template_summaries #analysis_template_summaries} => Array&lt;Types::AnalysisTemplateSummary&gt;
1668
+ #
1669
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1670
+ #
1671
+ # @example Request syntax with placeholder values
1672
+ #
1673
+ # resp = client.list_analysis_templates({
1674
+ # membership_identifier: "MembershipIdentifier", # required
1675
+ # next_token: "PaginationToken",
1676
+ # max_results: 1,
1677
+ # })
1678
+ #
1679
+ # @example Response structure
1680
+ #
1681
+ # resp.next_token #=> String
1682
+ # resp.analysis_template_summaries #=> Array
1683
+ # resp.analysis_template_summaries[0].arn #=> String
1684
+ # resp.analysis_template_summaries[0].create_time #=> Time
1685
+ # resp.analysis_template_summaries[0].id #=> String
1686
+ # resp.analysis_template_summaries[0].name #=> String
1687
+ # resp.analysis_template_summaries[0].update_time #=> Time
1688
+ # resp.analysis_template_summaries[0].membership_arn #=> String
1689
+ # resp.analysis_template_summaries[0].membership_id #=> String
1690
+ # resp.analysis_template_summaries[0].collaboration_arn #=> String
1691
+ # resp.analysis_template_summaries[0].collaboration_id #=> String
1692
+ # resp.analysis_template_summaries[0].description #=> String
1693
+ #
1694
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListAnalysisTemplates AWS API Documentation
1695
+ #
1696
+ # @overload list_analysis_templates(params = {})
1697
+ # @param [Hash] params ({})
1698
+ def list_analysis_templates(params = {}, options = {})
1699
+ req = build_request(:list_analysis_templates, params)
1700
+ req.send_request(options)
1701
+ end
1702
+
1703
+ # Lists analysis templates within a collaboration.
1704
+ #
1705
+ # @option params [required, String] :collaboration_identifier
1706
+ # A unique identifier for the collaboration that the analysis templates
1707
+ # belong to. Currently accepts collaboration ID.
1708
+ #
1709
+ # @option params [String] :next_token
1710
+ # The token value retrieved from a previous call to access the next page
1711
+ # of results.
1712
+ #
1713
+ # @option params [Integer] :max_results
1714
+ # The maximum size of the results that is returned per call.
1715
+ #
1716
+ # @return [Types::ListCollaborationAnalysisTemplatesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1717
+ #
1718
+ # * {Types::ListCollaborationAnalysisTemplatesOutput#next_token #next_token} => String
1719
+ # * {Types::ListCollaborationAnalysisTemplatesOutput#collaboration_analysis_template_summaries #collaboration_analysis_template_summaries} => Array&lt;Types::CollaborationAnalysisTemplateSummary&gt;
1720
+ #
1721
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1722
+ #
1723
+ # @example Request syntax with placeholder values
1724
+ #
1725
+ # resp = client.list_collaboration_analysis_templates({
1726
+ # collaboration_identifier: "CollaborationIdentifier", # required
1727
+ # next_token: "PaginationToken",
1728
+ # max_results: 1,
1729
+ # })
1730
+ #
1731
+ # @example Response structure
1732
+ #
1733
+ # resp.next_token #=> String
1734
+ # resp.collaboration_analysis_template_summaries #=> Array
1735
+ # resp.collaboration_analysis_template_summaries[0].arn #=> String
1736
+ # resp.collaboration_analysis_template_summaries[0].create_time #=> Time
1737
+ # resp.collaboration_analysis_template_summaries[0].id #=> String
1738
+ # resp.collaboration_analysis_template_summaries[0].name #=> String
1739
+ # resp.collaboration_analysis_template_summaries[0].update_time #=> Time
1740
+ # resp.collaboration_analysis_template_summaries[0].collaboration_arn #=> String
1741
+ # resp.collaboration_analysis_template_summaries[0].collaboration_id #=> String
1742
+ # resp.collaboration_analysis_template_summaries[0].creator_account_id #=> String
1743
+ # resp.collaboration_analysis_template_summaries[0].description #=> String
1744
+ #
1745
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListCollaborationAnalysisTemplates AWS API Documentation
1746
+ #
1747
+ # @overload list_collaboration_analysis_templates(params = {})
1748
+ # @param [Hash] params ({})
1749
+ def list_collaboration_analysis_templates(params = {}, options = {})
1750
+ req = build_request(:list_collaboration_analysis_templates, params)
1751
+ req.send_request(options)
1752
+ end
1753
+
1368
1754
  # Lists collaborations the caller owns, is active in, or has been
1369
1755
  # invited to.
1370
1756
  #
@@ -1501,7 +1887,7 @@ module Aws::CleanRooms
1501
1887
  # resp.configured_table_summaries[0].create_time #=> Time
1502
1888
  # resp.configured_table_summaries[0].update_time #=> Time
1503
1889
  # resp.configured_table_summaries[0].analysis_rule_types #=> Array
1504
- # resp.configured_table_summaries[0].analysis_rule_types[0] #=> String, one of "AGGREGATION", "LIST"
1890
+ # resp.configured_table_summaries[0].analysis_rule_types[0] #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
1505
1891
  # resp.configured_table_summaries[0].analysis_method #=> String, one of "DIRECT_QUERY"
1506
1892
  # resp.next_token #=> String
1507
1893
  #
@@ -1713,7 +2099,7 @@ module Aws::CleanRooms
1713
2099
  # resp.schema_summaries[0].collaboration_id #=> String
1714
2100
  # resp.schema_summaries[0].collaboration_arn #=> String
1715
2101
  # resp.schema_summaries[0].analysis_rule_types #=> Array
1716
- # resp.schema_summaries[0].analysis_rule_types[0] #=> String, one of "AGGREGATION", "LIST"
2102
+ # resp.schema_summaries[0].analysis_rule_types[0] #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
1717
2103
  # resp.schema_summaries[0].analysis_method #=> String, one of "DIRECT_QUERY"
1718
2104
  # resp.next_token #=> String
1719
2105
  #
@@ -1782,6 +2168,10 @@ module Aws::CleanRooms
1782
2168
  # membership_identifier: "MembershipIdentifier", # required
1783
2169
  # sql_parameters: { # required
1784
2170
  # query_string: "ProtectedQuerySQLParametersQueryStringString",
2171
+ # analysis_template_arn: "AnalysisTemplateArn",
2172
+ # parameters: {
2173
+ # "ParameterName" => "ParameterValue",
2174
+ # },
1785
2175
  # },
1786
2176
  # result_configuration: { # required
1787
2177
  # output_configuration: { # required
@@ -1801,6 +2191,9 @@ module Aws::CleanRooms
1801
2191
  # resp.protected_query.membership_arn #=> String
1802
2192
  # resp.protected_query.create_time #=> Time
1803
2193
  # resp.protected_query.sql_parameters.query_string #=> String
2194
+ # resp.protected_query.sql_parameters.analysis_template_arn #=> String
2195
+ # resp.protected_query.sql_parameters.parameters #=> Hash
2196
+ # resp.protected_query.sql_parameters.parameters["ParameterName"] #=> String
1804
2197
  # resp.protected_query.status #=> String, one of "SUBMITTED", "STARTED", "CANCELLED", "CANCELLING", "FAILED", "SUCCESS", "TIMED_OUT"
1805
2198
  # resp.protected_query.result_configuration.output_configuration.s3.result_format #=> String, one of "CSV", "PARQUET"
1806
2199
  # resp.protected_query.result_configuration.output_configuration.s3.bucket #=> String
@@ -1875,6 +2268,59 @@ module Aws::CleanRooms
1875
2268
  req.send_request(options)
1876
2269
  end
1877
2270
 
2271
+ # Updates the analysis template metadata.
2272
+ #
2273
+ # @option params [required, String] :membership_identifier
2274
+ # The identifier for a membership resource.
2275
+ #
2276
+ # @option params [required, String] :analysis_template_identifier
2277
+ # The identifier for the analysis template resource.
2278
+ #
2279
+ # @option params [String] :description
2280
+ # A new description for the analysis template.
2281
+ #
2282
+ # @return [Types::UpdateAnalysisTemplateOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2283
+ #
2284
+ # * {Types::UpdateAnalysisTemplateOutput#analysis_template #analysis_template} => Types::AnalysisTemplate
2285
+ #
2286
+ # @example Request syntax with placeholder values
2287
+ #
2288
+ # resp = client.update_analysis_template({
2289
+ # membership_identifier: "MembershipIdentifier", # required
2290
+ # analysis_template_identifier: "AnalysisTemplateIdentifier", # required
2291
+ # description: "ResourceDescription",
2292
+ # })
2293
+ #
2294
+ # @example Response structure
2295
+ #
2296
+ # resp.analysis_template.id #=> String
2297
+ # resp.analysis_template.arn #=> String
2298
+ # resp.analysis_template.collaboration_id #=> String
2299
+ # resp.analysis_template.collaboration_arn #=> String
2300
+ # resp.analysis_template.membership_id #=> String
2301
+ # resp.analysis_template.membership_arn #=> String
2302
+ # resp.analysis_template.description #=> String
2303
+ # resp.analysis_template.name #=> String
2304
+ # resp.analysis_template.create_time #=> Time
2305
+ # resp.analysis_template.update_time #=> Time
2306
+ # resp.analysis_template.schema.referenced_tables #=> Array
2307
+ # resp.analysis_template.schema.referenced_tables[0] #=> String
2308
+ # resp.analysis_template.format #=> String, one of "SQL"
2309
+ # resp.analysis_template.source.text #=> String
2310
+ # resp.analysis_template.analysis_parameters #=> Array
2311
+ # resp.analysis_template.analysis_parameters[0].name #=> String
2312
+ # resp.analysis_template.analysis_parameters[0].type #=> String, one of "SMALLINT", "INTEGER", "BIGINT", "DECIMAL", "REAL", "DOUBLE_PRECISION", "BOOLEAN", "CHAR", "VARCHAR", "DATE", "TIMESTAMP", "TIMESTAMPTZ", "TIME", "TIMETZ", "VARBYTE"
2313
+ # resp.analysis_template.analysis_parameters[0].default_value #=> String
2314
+ #
2315
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateAnalysisTemplate AWS API Documentation
2316
+ #
2317
+ # @overload update_analysis_template(params = {})
2318
+ # @param [Hash] params ({})
2319
+ def update_analysis_template(params = {}, options = {})
2320
+ req = build_request(:update_analysis_template, params)
2321
+ req.send_request(options)
2322
+ end
2323
+
1878
2324
  # Updates collaboration metadata and can only be called by the
1879
2325
  # collaboration owner.
1880
2326
  #
@@ -1963,7 +2409,7 @@ module Aws::CleanRooms
1963
2409
  # resp.configured_table.create_time #=> Time
1964
2410
  # resp.configured_table.update_time #=> Time
1965
2411
  # resp.configured_table.analysis_rule_types #=> Array
1966
- # resp.configured_table.analysis_rule_types[0] #=> String, one of "AGGREGATION", "LIST"
2412
+ # resp.configured_table.analysis_rule_types[0] #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
1967
2413
  # resp.configured_table.analysis_method #=> String, one of "DIRECT_QUERY"
1968
2414
  # resp.configured_table.allowed_columns #=> Array
1969
2415
  # resp.configured_table.allowed_columns[0] #=> String
@@ -1999,7 +2445,7 @@ module Aws::CleanRooms
1999
2445
  #
2000
2446
  # resp = client.update_configured_table_analysis_rule({
2001
2447
  # configured_table_identifier: "ConfiguredTableIdentifier", # required
2002
- # analysis_rule_type: "AGGREGATION", # required, accepts AGGREGATION, LIST
2448
+ # analysis_rule_type: "AGGREGATION", # required, accepts AGGREGATION, LIST, CUSTOM
2003
2449
  # analysis_rule_policy: { # required
2004
2450
  # v1: {
2005
2451
  # list: {
@@ -2027,6 +2473,10 @@ module Aws::CleanRooms
2027
2473
  # },
2028
2474
  # ],
2029
2475
  # },
2476
+ # custom: {
2477
+ # allowed_analyses: ["AnalysisTemplateArnOrQueryWildcard"], # required
2478
+ # allowed_analysis_providers: ["AccountId"],
2479
+ # },
2030
2480
  # },
2031
2481
  # },
2032
2482
  # })
@@ -2058,7 +2508,11 @@ module Aws::CleanRooms
2058
2508
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].column_name #=> String
2059
2509
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].minimum #=> Integer
2060
2510
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].type #=> String, one of "COUNT_DISTINCT"
2061
- # resp.analysis_rule.type #=> String, one of "AGGREGATION", "LIST"
2511
+ # resp.analysis_rule.policy.v1.custom.allowed_analyses #=> Array
2512
+ # resp.analysis_rule.policy.v1.custom.allowed_analyses[0] #=> String
2513
+ # resp.analysis_rule.policy.v1.custom.allowed_analysis_providers #=> Array
2514
+ # resp.analysis_rule.policy.v1.custom.allowed_analysis_providers[0] #=> String
2515
+ # resp.analysis_rule.type #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
2062
2516
  # resp.analysis_rule.create_time #=> Time
2063
2517
  # resp.analysis_rule.update_time #=> Time
2064
2518
  #
@@ -2200,6 +2654,9 @@ module Aws::CleanRooms
2200
2654
  # resp.protected_query.membership_arn #=> String
2201
2655
  # resp.protected_query.create_time #=> Time
2202
2656
  # resp.protected_query.sql_parameters.query_string #=> String
2657
+ # resp.protected_query.sql_parameters.analysis_template_arn #=> String
2658
+ # resp.protected_query.sql_parameters.parameters #=> Hash
2659
+ # resp.protected_query.sql_parameters.parameters["ParameterName"] #=> String
2203
2660
  # resp.protected_query.status #=> String, one of "SUBMITTED", "STARTED", "CANCELLED", "CANCELLING", "FAILED", "SUCCESS", "TIMED_OUT"
2204
2661
  # resp.protected_query.result_configuration.output_configuration.s3.result_format #=> String, one of "CSV", "PARQUET"
2205
2662
  # resp.protected_query.result_configuration.output_configuration.s3.bucket #=> String
@@ -2231,7 +2688,7 @@ module Aws::CleanRooms
2231
2688
  params: params,
2232
2689
  config: config)
2233
2690
  context[:gem_name] = 'aws-sdk-cleanrooms'
2234
- context[:gem_version] = '1.8.0'
2691
+ context[:gem_version] = '1.9.0'
2235
2692
  Seahorse::Client::Request.new(handlers, context)
2236
2693
  end
2237
2694