aws-sdk-cleanrooms 1.7.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.
@@ -216,6 +216,10 @@ module Aws::CleanRooms
216
216
  # @option options [Boolean] :endpoint_discovery (false)
217
217
  # When set to `true`, endpoint discovery will be enabled for operations when available.
218
218
  #
219
+ # @option options [Boolean] :ignore_configured_endpoint_urls
220
+ # Setting to true disables use of endpoint URLs provided via environment
221
+ # variables and the shared configuration file.
222
+ #
219
223
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
220
224
  # The log formatter.
221
225
  #
@@ -384,6 +388,63 @@ module Aws::CleanRooms
384
388
 
385
389
  # @!group API Operations
386
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
+
387
448
  # Retrieves multiple schemas by their identifiers.
388
449
  #
389
450
  # @option params [required, String] :collaboration_identifier
@@ -415,7 +476,7 @@ module Aws::CleanRooms
415
476
  # resp.schemas[0].partition_keys[0].name #=> String
416
477
  # resp.schemas[0].partition_keys[0].type #=> String
417
478
  # resp.schemas[0].analysis_rule_types #=> Array
418
- # 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"
419
480
  # resp.schemas[0].analysis_method #=> String, one of "DIRECT_QUERY"
420
481
  # resp.schemas[0].creator_account_id #=> String
421
482
  # resp.schemas[0].name #=> String
@@ -439,6 +500,89 @@ module Aws::CleanRooms
439
500
  req.send_request(options)
440
501
  end
441
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
+
442
586
  # Creates a new collaboration.
443
587
  #
444
588
  # @option params [required, Array<Types::MemberSpecification>] :members
@@ -588,7 +732,7 @@ module Aws::CleanRooms
588
732
  # resp.configured_table.create_time #=> Time
589
733
  # resp.configured_table.update_time #=> Time
590
734
  # resp.configured_table.analysis_rule_types #=> Array
591
- # 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"
592
736
  # resp.configured_table.analysis_method #=> String, one of "DIRECT_QUERY"
593
737
  # resp.configured_table.allowed_columns #=> Array
594
738
  # resp.configured_table.allowed_columns[0] #=> String
@@ -610,7 +754,7 @@ module Aws::CleanRooms
610
754
  # for. Currently accepts the configured table ID.
611
755
  #
612
756
  # @option params [required, String] :analysis_rule_type
613
- # The type of analysis rule. Valid values are AGGREGATION and LIST.
757
+ # The type of analysis rule.
614
758
  #
615
759
  # @option params [required, Types::ConfiguredTableAnalysisRulePolicy] :analysis_rule_policy
616
760
  # The entire created configured table analysis rule object.
@@ -623,7 +767,7 @@ module Aws::CleanRooms
623
767
  #
624
768
  # resp = client.create_configured_table_analysis_rule({
625
769
  # configured_table_identifier: "ConfiguredTableIdentifier", # required
626
- # analysis_rule_type: "AGGREGATION", # required, accepts AGGREGATION, LIST
770
+ # analysis_rule_type: "AGGREGATION", # required, accepts AGGREGATION, LIST, CUSTOM
627
771
  # analysis_rule_policy: { # required
628
772
  # v1: {
629
773
  # list: {
@@ -651,6 +795,10 @@ module Aws::CleanRooms
651
795
  # },
652
796
  # ],
653
797
  # },
798
+ # custom: {
799
+ # allowed_analyses: ["AnalysisTemplateArnOrQueryWildcard"], # required
800
+ # allowed_analysis_providers: ["AccountId"],
801
+ # },
654
802
  # },
655
803
  # },
656
804
  # })
@@ -682,7 +830,11 @@ module Aws::CleanRooms
682
830
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].column_name #=> String
683
831
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].minimum #=> Integer
684
832
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].type #=> String, one of "COUNT_DISTINCT"
685
- # 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"
686
838
  # resp.analysis_rule.create_time #=> Time
687
839
  # resp.analysis_rule.update_time #=> Time
688
840
  #
@@ -819,6 +971,32 @@ module Aws::CleanRooms
819
971
  req.send_request(options)
820
972
  end
821
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
+
822
1000
  # Deletes a collaboration. It can only be called by the collaboration
823
1001
  # owner.
824
1002
  #
@@ -881,7 +1059,7 @@ module Aws::CleanRooms
881
1059
  #
882
1060
  # resp = client.delete_configured_table_analysis_rule({
883
1061
  # configured_table_identifier: "ConfiguredTableIdentifier", # required
884
- # analysis_rule_type: "AGGREGATION", # required, accepts AGGREGATION, LIST
1062
+ # analysis_rule_type: "AGGREGATION", # required, accepts AGGREGATION, LIST, CUSTOM
885
1063
  # })
886
1064
  #
887
1065
  # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/DeleteConfiguredTableAnalysisRule AWS API Documentation
@@ -973,6 +1151,55 @@ module Aws::CleanRooms
973
1151
  req.send_request(options)
974
1152
  end
975
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
+
976
1203
  # Returns metadata about a collaboration.
977
1204
  #
978
1205
  # @option params [required, String] :collaboration_identifier
@@ -1016,6 +1243,56 @@ module Aws::CleanRooms
1016
1243
  req.send_request(options)
1017
1244
  end
1018
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
+
1019
1296
  # Retrieves a configured table.
1020
1297
  #
1021
1298
  # @option params [required, String] :configured_table_identifier
@@ -1042,7 +1319,7 @@ module Aws::CleanRooms
1042
1319
  # resp.configured_table.create_time #=> Time
1043
1320
  # resp.configured_table.update_time #=> Time
1044
1321
  # resp.configured_table.analysis_rule_types #=> Array
1045
- # 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"
1046
1323
  # resp.configured_table.analysis_method #=> String, one of "DIRECT_QUERY"
1047
1324
  # resp.configured_table.allowed_columns #=> Array
1048
1325
  # resp.configured_table.allowed_columns[0] #=> String
@@ -1075,7 +1352,7 @@ module Aws::CleanRooms
1075
1352
  #
1076
1353
  # resp = client.get_configured_table_analysis_rule({
1077
1354
  # configured_table_identifier: "ConfiguredTableIdentifier", # required
1078
- # analysis_rule_type: "AGGREGATION", # required, accepts AGGREGATION, LIST
1355
+ # analysis_rule_type: "AGGREGATION", # required, accepts AGGREGATION, LIST, CUSTOM
1079
1356
  # })
1080
1357
  #
1081
1358
  # @example Response structure
@@ -1105,7 +1382,11 @@ module Aws::CleanRooms
1105
1382
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].column_name #=> String
1106
1383
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].minimum #=> Integer
1107
1384
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].type #=> String, one of "COUNT_DISTINCT"
1108
- # 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"
1109
1390
  # resp.analysis_rule.create_time #=> Time
1110
1391
  # resp.analysis_rule.update_time #=> Time
1111
1392
  #
@@ -1228,6 +1509,9 @@ module Aws::CleanRooms
1228
1509
  # resp.protected_query.membership_arn #=> String
1229
1510
  # resp.protected_query.create_time #=> Time
1230
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
1231
1515
  # resp.protected_query.status #=> String, one of "SUBMITTED", "STARTED", "CANCELLED", "CANCELLING", "FAILED", "SUCCESS", "TIMED_OUT"
1232
1516
  # resp.protected_query.result_configuration.output_configuration.s3.result_format #=> String, one of "CSV", "PARQUET"
1233
1517
  # resp.protected_query.result_configuration.output_configuration.s3.bucket #=> String
@@ -1275,7 +1559,7 @@ module Aws::CleanRooms
1275
1559
  # resp.schema.partition_keys[0].name #=> String
1276
1560
  # resp.schema.partition_keys[0].type #=> String
1277
1561
  # resp.schema.analysis_rule_types #=> Array
1278
- # resp.schema.analysis_rule_types[0] #=> String, one of "AGGREGATION", "LIST"
1562
+ # resp.schema.analysis_rule_types[0] #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
1279
1563
  # resp.schema.analysis_method #=> String, one of "DIRECT_QUERY"
1280
1564
  # resp.schema.creator_account_id #=> String
1281
1565
  # resp.schema.name #=> String
@@ -1318,13 +1602,13 @@ module Aws::CleanRooms
1318
1602
  # resp = client.get_schema_analysis_rule({
1319
1603
  # collaboration_identifier: "CollaborationIdentifier", # required
1320
1604
  # name: "TableAlias", # required
1321
- # type: "AGGREGATION", # required, accepts AGGREGATION, LIST
1605
+ # type: "AGGREGATION", # required, accepts AGGREGATION, LIST, CUSTOM
1322
1606
  # })
1323
1607
  #
1324
1608
  # @example Response structure
1325
1609
  #
1326
1610
  # resp.analysis_rule.collaboration_id #=> String
1327
- # resp.analysis_rule.type #=> String, one of "AGGREGATION", "LIST"
1611
+ # resp.analysis_rule.type #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
1328
1612
  # resp.analysis_rule.name #=> String
1329
1613
  # resp.analysis_rule.create_time #=> Time
1330
1614
  # resp.analysis_rule.update_time #=> Time
@@ -1351,6 +1635,10 @@ module Aws::CleanRooms
1351
1635
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].column_name #=> String
1352
1636
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].minimum #=> Integer
1353
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
1354
1642
  #
1355
1643
  # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetSchemaAnalysisRule AWS API Documentation
1356
1644
  #
@@ -1361,6 +1649,108 @@ module Aws::CleanRooms
1361
1649
  req.send_request(options)
1362
1650
  end
1363
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
+
1364
1754
  # Lists collaborations the caller owns, is active in, or has been
1365
1755
  # invited to.
1366
1756
  #
@@ -1497,7 +1887,7 @@ module Aws::CleanRooms
1497
1887
  # resp.configured_table_summaries[0].create_time #=> Time
1498
1888
  # resp.configured_table_summaries[0].update_time #=> Time
1499
1889
  # resp.configured_table_summaries[0].analysis_rule_types #=> Array
1500
- # 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"
1501
1891
  # resp.configured_table_summaries[0].analysis_method #=> String, one of "DIRECT_QUERY"
1502
1892
  # resp.next_token #=> String
1503
1893
  #
@@ -1709,7 +2099,7 @@ module Aws::CleanRooms
1709
2099
  # resp.schema_summaries[0].collaboration_id #=> String
1710
2100
  # resp.schema_summaries[0].collaboration_arn #=> String
1711
2101
  # resp.schema_summaries[0].analysis_rule_types #=> Array
1712
- # 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"
1713
2103
  # resp.schema_summaries[0].analysis_method #=> String, one of "DIRECT_QUERY"
1714
2104
  # resp.next_token #=> String
1715
2105
  #
@@ -1778,6 +2168,10 @@ module Aws::CleanRooms
1778
2168
  # membership_identifier: "MembershipIdentifier", # required
1779
2169
  # sql_parameters: { # required
1780
2170
  # query_string: "ProtectedQuerySQLParametersQueryStringString",
2171
+ # analysis_template_arn: "AnalysisTemplateArn",
2172
+ # parameters: {
2173
+ # "ParameterName" => "ParameterValue",
2174
+ # },
1781
2175
  # },
1782
2176
  # result_configuration: { # required
1783
2177
  # output_configuration: { # required
@@ -1797,6 +2191,9 @@ module Aws::CleanRooms
1797
2191
  # resp.protected_query.membership_arn #=> String
1798
2192
  # resp.protected_query.create_time #=> Time
1799
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
1800
2197
  # resp.protected_query.status #=> String, one of "SUBMITTED", "STARTED", "CANCELLED", "CANCELLING", "FAILED", "SUCCESS", "TIMED_OUT"
1801
2198
  # resp.protected_query.result_configuration.output_configuration.s3.result_format #=> String, one of "CSV", "PARQUET"
1802
2199
  # resp.protected_query.result_configuration.output_configuration.s3.bucket #=> String
@@ -1871,6 +2268,59 @@ module Aws::CleanRooms
1871
2268
  req.send_request(options)
1872
2269
  end
1873
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
+
1874
2324
  # Updates collaboration metadata and can only be called by the
1875
2325
  # collaboration owner.
1876
2326
  #
@@ -1959,7 +2409,7 @@ module Aws::CleanRooms
1959
2409
  # resp.configured_table.create_time #=> Time
1960
2410
  # resp.configured_table.update_time #=> Time
1961
2411
  # resp.configured_table.analysis_rule_types #=> Array
1962
- # 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"
1963
2413
  # resp.configured_table.analysis_method #=> String, one of "DIRECT_QUERY"
1964
2414
  # resp.configured_table.allowed_columns #=> Array
1965
2415
  # resp.configured_table.allowed_columns[0] #=> String
@@ -1995,7 +2445,7 @@ module Aws::CleanRooms
1995
2445
  #
1996
2446
  # resp = client.update_configured_table_analysis_rule({
1997
2447
  # configured_table_identifier: "ConfiguredTableIdentifier", # required
1998
- # analysis_rule_type: "AGGREGATION", # required, accepts AGGREGATION, LIST
2448
+ # analysis_rule_type: "AGGREGATION", # required, accepts AGGREGATION, LIST, CUSTOM
1999
2449
  # analysis_rule_policy: { # required
2000
2450
  # v1: {
2001
2451
  # list: {
@@ -2023,6 +2473,10 @@ module Aws::CleanRooms
2023
2473
  # },
2024
2474
  # ],
2025
2475
  # },
2476
+ # custom: {
2477
+ # allowed_analyses: ["AnalysisTemplateArnOrQueryWildcard"], # required
2478
+ # allowed_analysis_providers: ["AccountId"],
2479
+ # },
2026
2480
  # },
2027
2481
  # },
2028
2482
  # })
@@ -2054,7 +2508,11 @@ module Aws::CleanRooms
2054
2508
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].column_name #=> String
2055
2509
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].minimum #=> Integer
2056
2510
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].type #=> String, one of "COUNT_DISTINCT"
2057
- # 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"
2058
2516
  # resp.analysis_rule.create_time #=> Time
2059
2517
  # resp.analysis_rule.update_time #=> Time
2060
2518
  #
@@ -2196,6 +2654,9 @@ module Aws::CleanRooms
2196
2654
  # resp.protected_query.membership_arn #=> String
2197
2655
  # resp.protected_query.create_time #=> Time
2198
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
2199
2660
  # resp.protected_query.status #=> String, one of "SUBMITTED", "STARTED", "CANCELLED", "CANCELLING", "FAILED", "SUCCESS", "TIMED_OUT"
2200
2661
  # resp.protected_query.result_configuration.output_configuration.s3.result_format #=> String, one of "CSV", "PARQUET"
2201
2662
  # resp.protected_query.result_configuration.output_configuration.s3.bucket #=> String
@@ -2227,7 +2688,7 @@ module Aws::CleanRooms
2227
2688
  params: params,
2228
2689
  config: config)
2229
2690
  context[:gem_name] = 'aws-sdk-cleanrooms'
2230
- context[:gem_version] = '1.7.0'
2691
+ context[:gem_version] = '1.9.0'
2231
2692
  Seahorse::Client::Request.new(handlers, context)
2232
2693
  end
2233
2694