aws-sdk-cleanrooms 1.16.0 → 1.18.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5c9f37892fd9811dfa5f8ac67ad71c4ff3738a36fb1d57d7787a40464c79c31c
4
- data.tar.gz: ab94368b58ac99f243f421818716d77c97c6009bbcce7fa4801e60361c1ed82f
3
+ metadata.gz: 42045ee3bfb787b283e3465955b29355e34c2bcc05f4765898b9a55c81cfd9c6
4
+ data.tar.gz: 27520193b36b1dcd96608db0d310e682fedb82de04e5e71e30bbdd0e1fe85a68
5
5
  SHA512:
6
- metadata.gz: a7ba180dfc255fb36c0ae93b28106f20411b654ca61197cd336843b7ea7c025c90f25f7a27b0d8e298e0ce32bc9db897ffbd9a8949206fe4cc3b7ada2af60299
7
- data.tar.gz: d0b1aea6b66abd2a7e4516e63a4ae0f6918c00591fac71911a1eab6c75864216874d6f5f4dadc2949dc2a52d0f002e8fc2737f4c1b314590463f98656d294a15
6
+ metadata.gz: 0b6ce74a472bc4794c9c569bceb1fa108776e111d9a59e5a68983573fdca4544a18c96950d3449f647c9df4b6cb79690b69643b6b4b34193462abd9955b2694a
7
+ data.tar.gz: 792f332682b5ccc44b0b845d6b132a8ec5731c18d5f265ff007886e389568c2df386c3613b45e47728692157d706480f217207cf8fbc7b5665d811004b5b999a
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.18.0 (2024-04-10)
5
+ ------------------
6
+
7
+ * Feature - AWS Clean Rooms Differential Privacy is now fully available. Differential privacy protects against user-identification attempts.
8
+
9
+ 1.17.0 (2024-04-04)
10
+ ------------------
11
+
12
+ * Feature - Feature: New schemaStatusDetails field to the existing Schema object that displays a status on Schema API responses to show whether a schema is queryable or not. New BatchGetSchemaAnalysisRule API to retrieve multiple schemaAnalysisRules using a single API call.
13
+
4
14
  1.16.0 (2024-01-26)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.16.0
1
+ 1.18.0
@@ -431,6 +431,11 @@ module Aws::CleanRooms
431
431
  # resp.collaboration_analysis_templates[0].analysis_parameters[0].name #=> String
432
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
433
  # resp.collaboration_analysis_templates[0].analysis_parameters[0].default_value #=> String
434
+ # resp.collaboration_analysis_templates[0].validations #=> Array
435
+ # resp.collaboration_analysis_templates[0].validations[0].type #=> String, one of "DIFFERENTIAL_PRIVACY"
436
+ # resp.collaboration_analysis_templates[0].validations[0].status #=> String, one of "VALID", "INVALID", "UNABLE_TO_VALIDATE"
437
+ # resp.collaboration_analysis_templates[0].validations[0].reasons #=> Array
438
+ # resp.collaboration_analysis_templates[0].validations[0].reasons[0].message #=> String
434
439
  # resp.errors #=> Array
435
440
  # resp.errors[0].arn #=> String
436
441
  # resp.errors[0].code #=> String
@@ -452,7 +457,7 @@ module Aws::CleanRooms
452
457
  # Currently accepts collaboration ID.
453
458
  #
454
459
  # @option params [required, Array<String>] :names
455
- # The names for the schema objects to retrieve.&gt;
460
+ # The names for the schema objects to retrieve.
456
461
  #
457
462
  # @return [Types::BatchGetSchemaOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
458
463
  #
@@ -486,6 +491,14 @@ module Aws::CleanRooms
486
491
  # resp.schemas[0].create_time #=> Time
487
492
  # resp.schemas[0].update_time #=> Time
488
493
  # resp.schemas[0].type #=> String, one of "TABLE"
494
+ # resp.schemas[0].schema_status_details #=> Array
495
+ # resp.schemas[0].schema_status_details[0].status #=> String, one of "READY", "NOT_READY"
496
+ # resp.schemas[0].schema_status_details[0].reasons #=> Array
497
+ # 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"
498
+ # resp.schemas[0].schema_status_details[0].reasons[0].message #=> String
499
+ # resp.schemas[0].schema_status_details[0].analysis_rule_type #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
500
+ # resp.schemas[0].schema_status_details[0].configurations #=> Array
501
+ # resp.schemas[0].schema_status_details[0].configurations[0] #=> String, one of "DIFFERENTIAL_PRIVACY"
489
502
  # resp.errors #=> Array
490
503
  # resp.errors[0].name #=> String
491
504
  # resp.errors[0].code #=> String
@@ -500,6 +513,84 @@ module Aws::CleanRooms
500
513
  req.send_request(options)
501
514
  end
502
515
 
516
+ # Retrieves multiple analysis rule schemas.
517
+ #
518
+ # @option params [required, String] :collaboration_identifier
519
+ # The unique identifier of the collaboration that contains the schema
520
+ # analysis rule.
521
+ #
522
+ # @option params [required, Array<Types::SchemaAnalysisRuleRequest>] :schema_analysis_rule_requests
523
+ # The information that's necessary to retrieve a schema analysis rule.
524
+ #
525
+ # @return [Types::BatchGetSchemaAnalysisRuleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
526
+ #
527
+ # * {Types::BatchGetSchemaAnalysisRuleOutput#analysis_rules #analysis_rules} => Array&lt;Types::AnalysisRule&gt;
528
+ # * {Types::BatchGetSchemaAnalysisRuleOutput#errors #errors} => Array&lt;Types::BatchGetSchemaAnalysisRuleError&gt;
529
+ #
530
+ # @example Request syntax with placeholder values
531
+ #
532
+ # resp = client.batch_get_schema_analysis_rule({
533
+ # collaboration_identifier: "CollaborationIdentifier", # required
534
+ # schema_analysis_rule_requests: [ # required
535
+ # {
536
+ # name: "TableAlias", # required
537
+ # type: "AGGREGATION", # required, accepts AGGREGATION, LIST, CUSTOM
538
+ # },
539
+ # ],
540
+ # })
541
+ #
542
+ # @example Response structure
543
+ #
544
+ # resp.analysis_rules #=> Array
545
+ # resp.analysis_rules[0].collaboration_id #=> String
546
+ # resp.analysis_rules[0].type #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
547
+ # resp.analysis_rules[0].name #=> String
548
+ # resp.analysis_rules[0].create_time #=> Time
549
+ # resp.analysis_rules[0].update_time #=> Time
550
+ # resp.analysis_rules[0].policy.v1.list.join_columns #=> Array
551
+ # resp.analysis_rules[0].policy.v1.list.join_columns[0] #=> String
552
+ # resp.analysis_rules[0].policy.v1.list.allowed_join_operators #=> Array
553
+ # resp.analysis_rules[0].policy.v1.list.allowed_join_operators[0] #=> String, one of "OR", "AND"
554
+ # resp.analysis_rules[0].policy.v1.list.list_columns #=> Array
555
+ # resp.analysis_rules[0].policy.v1.list.list_columns[0] #=> String
556
+ # resp.analysis_rules[0].policy.v1.aggregation.aggregate_columns #=> Array
557
+ # resp.analysis_rules[0].policy.v1.aggregation.aggregate_columns[0].column_names #=> Array
558
+ # resp.analysis_rules[0].policy.v1.aggregation.aggregate_columns[0].column_names[0] #=> String
559
+ # resp.analysis_rules[0].policy.v1.aggregation.aggregate_columns[0].function #=> String, one of "SUM", "SUM_DISTINCT", "COUNT", "COUNT_DISTINCT", "AVG"
560
+ # resp.analysis_rules[0].policy.v1.aggregation.join_columns #=> Array
561
+ # resp.analysis_rules[0].policy.v1.aggregation.join_columns[0] #=> String
562
+ # resp.analysis_rules[0].policy.v1.aggregation.join_required #=> String, one of "QUERY_RUNNER"
563
+ # resp.analysis_rules[0].policy.v1.aggregation.allowed_join_operators #=> Array
564
+ # resp.analysis_rules[0].policy.v1.aggregation.allowed_join_operators[0] #=> String, one of "OR", "AND"
565
+ # resp.analysis_rules[0].policy.v1.aggregation.dimension_columns #=> Array
566
+ # resp.analysis_rules[0].policy.v1.aggregation.dimension_columns[0] #=> String
567
+ # resp.analysis_rules[0].policy.v1.aggregation.scalar_functions #=> Array
568
+ # resp.analysis_rules[0].policy.v1.aggregation.scalar_functions[0] #=> String, one of "ABS", "CAST", "CEILING", "COALESCE", "CONVERT", "CURRENT_DATE", "DATEADD", "EXTRACT", "FLOOR", "GETDATE", "LN", "LOG", "LOWER", "ROUND", "RTRIM", "SQRT", "SUBSTRING", "TO_CHAR", "TO_DATE", "TO_NUMBER", "TO_TIMESTAMP", "TRIM", "TRUNC", "UPPER"
569
+ # resp.analysis_rules[0].policy.v1.aggregation.output_constraints #=> Array
570
+ # resp.analysis_rules[0].policy.v1.aggregation.output_constraints[0].column_name #=> String
571
+ # resp.analysis_rules[0].policy.v1.aggregation.output_constraints[0].minimum #=> Integer
572
+ # resp.analysis_rules[0].policy.v1.aggregation.output_constraints[0].type #=> String, one of "COUNT_DISTINCT"
573
+ # resp.analysis_rules[0].policy.v1.custom.allowed_analyses #=> Array
574
+ # resp.analysis_rules[0].policy.v1.custom.allowed_analyses[0] #=> String
575
+ # resp.analysis_rules[0].policy.v1.custom.allowed_analysis_providers #=> Array
576
+ # resp.analysis_rules[0].policy.v1.custom.allowed_analysis_providers[0] #=> String
577
+ # resp.analysis_rules[0].policy.v1.custom.differential_privacy.columns #=> Array
578
+ # resp.analysis_rules[0].policy.v1.custom.differential_privacy.columns[0].name #=> String
579
+ # resp.errors #=> Array
580
+ # resp.errors[0].name #=> String
581
+ # resp.errors[0].type #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
582
+ # resp.errors[0].code #=> String
583
+ # resp.errors[0].message #=> String
584
+ #
585
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/BatchGetSchemaAnalysisRule AWS API Documentation
586
+ #
587
+ # @overload batch_get_schema_analysis_rule(params = {})
588
+ # @param [Hash] params ({})
589
+ def batch_get_schema_analysis_rule(params = {}, options = {})
590
+ req = build_request(:batch_get_schema_analysis_rule, params)
591
+ req.send_request(options)
592
+ end
593
+
503
594
  # Creates a new analysis template.
504
595
  #
505
596
  # @option params [String] :description
@@ -573,6 +664,11 @@ module Aws::CleanRooms
573
664
  # resp.analysis_template.analysis_parameters[0].name #=> String
574
665
  # 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
666
  # resp.analysis_template.analysis_parameters[0].default_value #=> String
667
+ # resp.analysis_template.validations #=> Array
668
+ # resp.analysis_template.validations[0].type #=> String, one of "DIFFERENTIAL_PRIVACY"
669
+ # resp.analysis_template.validations[0].status #=> String, one of "VALID", "INVALID", "UNABLE_TO_VALIDATE"
670
+ # resp.analysis_template.validations[0].reasons #=> Array
671
+ # resp.analysis_template.validations[0].reasons[0].message #=> String
576
672
  #
577
673
  # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/CreateAnalysisTemplate AWS API Documentation
578
674
  #
@@ -883,7 +979,7 @@ module Aws::CleanRooms
883
979
  # join_required: "QUERY_RUNNER", # accepts QUERY_RUNNER
884
980
  # allowed_join_operators: ["OR"], # accepts OR, AND
885
981
  # dimension_columns: ["AnalysisRuleColumnName"], # required
886
- # scalar_functions: ["TRUNC"], # required, accepts TRUNC, ABS, CEILING, FLOOR, LN, LOG, ROUND, SQRT, CAST, LOWER, RTRIM, UPPER, COALESCE
982
+ # scalar_functions: ["ABS"], # required, accepts ABS, CAST, CEILING, COALESCE, CONVERT, CURRENT_DATE, DATEADD, EXTRACT, FLOOR, GETDATE, LN, LOG, LOWER, ROUND, RTRIM, SQRT, SUBSTRING, TO_CHAR, TO_DATE, TO_NUMBER, TO_TIMESTAMP, TRIM, TRUNC, UPPER
887
983
  # output_constraints: [ # required
888
984
  # {
889
985
  # column_name: "AnalysisRuleColumnName", # required
@@ -929,7 +1025,7 @@ module Aws::CleanRooms
929
1025
  # resp.analysis_rule.policy.v1.aggregation.dimension_columns #=> Array
930
1026
  # resp.analysis_rule.policy.v1.aggregation.dimension_columns[0] #=> String
931
1027
  # resp.analysis_rule.policy.v1.aggregation.scalar_functions #=> Array
932
- # resp.analysis_rule.policy.v1.aggregation.scalar_functions[0] #=> String, one of "TRUNC", "ABS", "CEILING", "FLOOR", "LN", "LOG", "ROUND", "SQRT", "CAST", "LOWER", "RTRIM", "UPPER", "COALESCE"
1028
+ # resp.analysis_rule.policy.v1.aggregation.scalar_functions[0] #=> String, one of "ABS", "CAST", "CEILING", "COALESCE", "CONVERT", "CURRENT_DATE", "DATEADD", "EXTRACT", "FLOOR", "GETDATE", "LN", "LOG", "LOWER", "ROUND", "RTRIM", "SQRT", "SUBSTRING", "TO_CHAR", "TO_DATE", "TO_NUMBER", "TO_TIMESTAMP", "TRIM", "TRUNC", "UPPER"
933
1029
  # resp.analysis_rule.policy.v1.aggregation.output_constraints #=> Array
934
1030
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].column_name #=> String
935
1031
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].minimum #=> Integer
@@ -1465,6 +1561,11 @@ module Aws::CleanRooms
1465
1561
  # resp.analysis_template.analysis_parameters[0].name #=> String
1466
1562
  # 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"
1467
1563
  # resp.analysis_template.analysis_parameters[0].default_value #=> String
1564
+ # resp.analysis_template.validations #=> Array
1565
+ # resp.analysis_template.validations[0].type #=> String, one of "DIFFERENTIAL_PRIVACY"
1566
+ # resp.analysis_template.validations[0].status #=> String, one of "VALID", "INVALID", "UNABLE_TO_VALIDATE"
1567
+ # resp.analysis_template.validations[0].reasons #=> Array
1568
+ # resp.analysis_template.validations[0].reasons[0].message #=> String
1468
1569
  #
1469
1570
  # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetAnalysisTemplate AWS API Documentation
1470
1571
  #
@@ -1558,6 +1659,11 @@ module Aws::CleanRooms
1558
1659
  # resp.collaboration_analysis_template.analysis_parameters[0].name #=> String
1559
1660
  # 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"
1560
1661
  # resp.collaboration_analysis_template.analysis_parameters[0].default_value #=> String
1662
+ # resp.collaboration_analysis_template.validations #=> Array
1663
+ # resp.collaboration_analysis_template.validations[0].type #=> String, one of "DIFFERENTIAL_PRIVACY"
1664
+ # resp.collaboration_analysis_template.validations[0].status #=> String, one of "VALID", "INVALID", "UNABLE_TO_VALIDATE"
1665
+ # resp.collaboration_analysis_template.validations[0].reasons #=> Array
1666
+ # resp.collaboration_analysis_template.validations[0].reasons[0].message #=> String
1561
1667
  #
1562
1668
  # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetCollaborationAnalysisTemplate AWS API Documentation
1563
1669
  #
@@ -1783,7 +1889,7 @@ module Aws::CleanRooms
1783
1889
  # resp.analysis_rule.policy.v1.aggregation.dimension_columns #=> Array
1784
1890
  # resp.analysis_rule.policy.v1.aggregation.dimension_columns[0] #=> String
1785
1891
  # resp.analysis_rule.policy.v1.aggregation.scalar_functions #=> Array
1786
- # resp.analysis_rule.policy.v1.aggregation.scalar_functions[0] #=> String, one of "TRUNC", "ABS", "CEILING", "FLOOR", "LN", "LOG", "ROUND", "SQRT", "CAST", "LOWER", "RTRIM", "UPPER", "COALESCE"
1892
+ # resp.analysis_rule.policy.v1.aggregation.scalar_functions[0] #=> String, one of "ABS", "CAST", "CEILING", "COALESCE", "CONVERT", "CURRENT_DATE", "DATEADD", "EXTRACT", "FLOOR", "GETDATE", "LN", "LOG", "LOWER", "ROUND", "RTRIM", "SQRT", "SUBSTRING", "TO_CHAR", "TO_DATE", "TO_NUMBER", "TO_TIMESTAMP", "TRIM", "TRUNC", "UPPER"
1787
1893
  # resp.analysis_rule.policy.v1.aggregation.output_constraints #=> Array
1788
1894
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].column_name #=> String
1789
1895
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].minimum #=> Integer
@@ -2035,6 +2141,14 @@ module Aws::CleanRooms
2035
2141
  # resp.schema.create_time #=> Time
2036
2142
  # resp.schema.update_time #=> Time
2037
2143
  # resp.schema.type #=> String, one of "TABLE"
2144
+ # resp.schema.schema_status_details #=> Array
2145
+ # resp.schema.schema_status_details[0].status #=> String, one of "READY", "NOT_READY"
2146
+ # resp.schema.schema_status_details[0].reasons #=> Array
2147
+ # 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"
2148
+ # resp.schema.schema_status_details[0].reasons[0].message #=> String
2149
+ # resp.schema.schema_status_details[0].analysis_rule_type #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
2150
+ # resp.schema.schema_status_details[0].configurations #=> Array
2151
+ # resp.schema.schema_status_details[0].configurations[0] #=> String, one of "DIFFERENTIAL_PRIVACY"
2038
2152
  #
2039
2153
  # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetSchema AWS API Documentation
2040
2154
  #
@@ -2096,7 +2210,7 @@ module Aws::CleanRooms
2096
2210
  # resp.analysis_rule.policy.v1.aggregation.dimension_columns #=> Array
2097
2211
  # resp.analysis_rule.policy.v1.aggregation.dimension_columns[0] #=> String
2098
2212
  # resp.analysis_rule.policy.v1.aggregation.scalar_functions #=> Array
2099
- # resp.analysis_rule.policy.v1.aggregation.scalar_functions[0] #=> String, one of "TRUNC", "ABS", "CEILING", "FLOOR", "LN", "LOG", "ROUND", "SQRT", "CAST", "LOWER", "RTRIM", "UPPER", "COALESCE"
2213
+ # resp.analysis_rule.policy.v1.aggregation.scalar_functions[0] #=> String, one of "ABS", "CAST", "CEILING", "COALESCE", "CONVERT", "CURRENT_DATE", "DATEADD", "EXTRACT", "FLOOR", "GETDATE", "LN", "LOG", "LOWER", "ROUND", "RTRIM", "SQRT", "SUBSTRING", "TO_CHAR", "TO_DATE", "TO_NUMBER", "TO_TIMESTAMP", "TRIM", "TRUNC", "UPPER"
2100
2214
  # resp.analysis_rule.policy.v1.aggregation.output_constraints #=> Array
2101
2215
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].column_name #=> String
2102
2216
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].minimum #=> Integer
@@ -3172,6 +3286,11 @@ module Aws::CleanRooms
3172
3286
  # resp.analysis_template.analysis_parameters[0].name #=> String
3173
3287
  # 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"
3174
3288
  # resp.analysis_template.analysis_parameters[0].default_value #=> String
3289
+ # resp.analysis_template.validations #=> Array
3290
+ # resp.analysis_template.validations[0].type #=> String, one of "DIFFERENTIAL_PRIVACY"
3291
+ # resp.analysis_template.validations[0].status #=> String, one of "VALID", "INVALID", "UNABLE_TO_VALIDATE"
3292
+ # resp.analysis_template.validations[0].reasons #=> Array
3293
+ # resp.analysis_template.validations[0].reasons[0].message #=> String
3175
3294
  #
3176
3295
  # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateAnalysisTemplate AWS API Documentation
3177
3296
  #
@@ -3379,7 +3498,7 @@ module Aws::CleanRooms
3379
3498
  # join_required: "QUERY_RUNNER", # accepts QUERY_RUNNER
3380
3499
  # allowed_join_operators: ["OR"], # accepts OR, AND
3381
3500
  # dimension_columns: ["AnalysisRuleColumnName"], # required
3382
- # scalar_functions: ["TRUNC"], # required, accepts TRUNC, ABS, CEILING, FLOOR, LN, LOG, ROUND, SQRT, CAST, LOWER, RTRIM, UPPER, COALESCE
3501
+ # scalar_functions: ["ABS"], # required, accepts ABS, CAST, CEILING, COALESCE, CONVERT, CURRENT_DATE, DATEADD, EXTRACT, FLOOR, GETDATE, LN, LOG, LOWER, ROUND, RTRIM, SQRT, SUBSTRING, TO_CHAR, TO_DATE, TO_NUMBER, TO_TIMESTAMP, TRIM, TRUNC, UPPER
3383
3502
  # output_constraints: [ # required
3384
3503
  # {
3385
3504
  # column_name: "AnalysisRuleColumnName", # required
@@ -3425,7 +3544,7 @@ module Aws::CleanRooms
3425
3544
  # resp.analysis_rule.policy.v1.aggregation.dimension_columns #=> Array
3426
3545
  # resp.analysis_rule.policy.v1.aggregation.dimension_columns[0] #=> String
3427
3546
  # resp.analysis_rule.policy.v1.aggregation.scalar_functions #=> Array
3428
- # resp.analysis_rule.policy.v1.aggregation.scalar_functions[0] #=> String, one of "TRUNC", "ABS", "CEILING", "FLOOR", "LN", "LOG", "ROUND", "SQRT", "CAST", "LOWER", "RTRIM", "UPPER", "COALESCE"
3547
+ # resp.analysis_rule.policy.v1.aggregation.scalar_functions[0] #=> String, one of "ABS", "CAST", "CEILING", "COALESCE", "CONVERT", "CURRENT_DATE", "DATEADD", "EXTRACT", "FLOOR", "GETDATE", "LN", "LOG", "LOWER", "ROUND", "RTRIM", "SQRT", "SUBSTRING", "TO_CHAR", "TO_DATE", "TO_NUMBER", "TO_TIMESTAMP", "TRIM", "TRUNC", "UPPER"
3429
3548
  # resp.analysis_rule.policy.v1.aggregation.output_constraints #=> Array
3430
3549
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].column_name #=> String
3431
3550
  # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].minimum #=> Integer
@@ -3699,7 +3818,7 @@ module Aws::CleanRooms
3699
3818
  params: params,
3700
3819
  config: config)
3701
3820
  context[:gem_name] = 'aws-sdk-cleanrooms'
3702
- context[:gem_version] = '1.16.0'
3821
+ context[:gem_version] = '1.18.0'
3703
3822
  Seahorse::Client::Request.new(handlers, context)
3704
3823
  end
3705
3824
 
@@ -52,10 +52,20 @@ module Aws::CleanRooms
52
52
  AnalysisTemplateSummary = Shapes::StructureShape.new(name: 'AnalysisTemplateSummary')
53
53
  AnalysisTemplateSummaryList = Shapes::ListShape.new(name: 'AnalysisTemplateSummaryList')
54
54
  AnalysisTemplateText = Shapes::StringShape.new(name: 'AnalysisTemplateText')
55
+ AnalysisTemplateValidationStatus = Shapes::StringShape.new(name: 'AnalysisTemplateValidationStatus')
56
+ AnalysisTemplateValidationStatusDetail = Shapes::StructureShape.new(name: 'AnalysisTemplateValidationStatusDetail')
57
+ AnalysisTemplateValidationStatusDetailList = Shapes::ListShape.new(name: 'AnalysisTemplateValidationStatusDetailList')
58
+ AnalysisTemplateValidationStatusReason = Shapes::StructureShape.new(name: 'AnalysisTemplateValidationStatusReason')
59
+ AnalysisTemplateValidationStatusReasonList = Shapes::ListShape.new(name: 'AnalysisTemplateValidationStatusReasonList')
60
+ AnalysisTemplateValidationType = Shapes::StringShape.new(name: 'AnalysisTemplateValidationType')
55
61
  BatchGetCollaborationAnalysisTemplateError = Shapes::StructureShape.new(name: 'BatchGetCollaborationAnalysisTemplateError')
56
62
  BatchGetCollaborationAnalysisTemplateErrorList = Shapes::ListShape.new(name: 'BatchGetCollaborationAnalysisTemplateErrorList')
57
63
  BatchGetCollaborationAnalysisTemplateInput = Shapes::StructureShape.new(name: 'BatchGetCollaborationAnalysisTemplateInput')
58
64
  BatchGetCollaborationAnalysisTemplateOutput = Shapes::StructureShape.new(name: 'BatchGetCollaborationAnalysisTemplateOutput')
65
+ BatchGetSchemaAnalysisRuleError = Shapes::StructureShape.new(name: 'BatchGetSchemaAnalysisRuleError')
66
+ BatchGetSchemaAnalysisRuleErrorList = Shapes::ListShape.new(name: 'BatchGetSchemaAnalysisRuleErrorList')
67
+ BatchGetSchemaAnalysisRuleInput = Shapes::StructureShape.new(name: 'BatchGetSchemaAnalysisRuleInput')
68
+ BatchGetSchemaAnalysisRuleOutput = Shapes::StructureShape.new(name: 'BatchGetSchemaAnalysisRuleOutput')
59
69
  BatchGetSchemaError = Shapes::StructureShape.new(name: 'BatchGetSchemaError')
60
70
  BatchGetSchemaErrorList = Shapes::ListShape.new(name: 'BatchGetSchemaErrorList')
61
71
  BatchGetSchemaInput = Shapes::StructureShape.new(name: 'BatchGetSchemaInput')
@@ -313,7 +323,18 @@ module Aws::CleanRooms
313
323
  ScalarFunctions = Shapes::StringShape.new(name: 'ScalarFunctions')
314
324
  ScalarFunctionsList = Shapes::ListShape.new(name: 'ScalarFunctionsList')
315
325
  Schema = Shapes::StructureShape.new(name: 'Schema')
326
+ SchemaAnalysisRuleList = Shapes::ListShape.new(name: 'SchemaAnalysisRuleList')
327
+ SchemaAnalysisRuleRequest = Shapes::StructureShape.new(name: 'SchemaAnalysisRuleRequest')
328
+ SchemaAnalysisRuleRequestList = Shapes::ListShape.new(name: 'SchemaAnalysisRuleRequestList')
329
+ SchemaConfiguration = Shapes::StringShape.new(name: 'SchemaConfiguration')
330
+ SchemaConfigurationList = Shapes::ListShape.new(name: 'SchemaConfigurationList')
316
331
  SchemaList = Shapes::ListShape.new(name: 'SchemaList')
332
+ SchemaStatus = Shapes::StringShape.new(name: 'SchemaStatus')
333
+ SchemaStatusDetail = Shapes::StructureShape.new(name: 'SchemaStatusDetail')
334
+ SchemaStatusDetailList = Shapes::ListShape.new(name: 'SchemaStatusDetailList')
335
+ SchemaStatusReason = Shapes::StructureShape.new(name: 'SchemaStatusReason')
336
+ SchemaStatusReasonCode = Shapes::StringShape.new(name: 'SchemaStatusReasonCode')
337
+ SchemaStatusReasonList = Shapes::ListShape.new(name: 'SchemaStatusReasonList')
317
338
  SchemaSummary = Shapes::StructureShape.new(name: 'SchemaSummary')
318
339
  SchemaSummaryList = Shapes::ListShape.new(name: 'SchemaSummaryList')
319
340
  SchemaType = Shapes::StringShape.new(name: 'SchemaType')
@@ -465,6 +486,7 @@ module Aws::CleanRooms
465
486
  AnalysisTemplate.add_member(:format, Shapes::ShapeRef.new(shape: AnalysisFormat, required: true, location_name: "format"))
466
487
  AnalysisTemplate.add_member(:source, Shapes::ShapeRef.new(shape: AnalysisSource, required: true, location_name: "source"))
467
488
  AnalysisTemplate.add_member(:analysis_parameters, Shapes::ShapeRef.new(shape: AnalysisParameterList, location_name: "analysisParameters"))
489
+ AnalysisTemplate.add_member(:validations, Shapes::ShapeRef.new(shape: AnalysisTemplateValidationStatusDetailList, location_name: "validations"))
468
490
  AnalysisTemplate.struct_class = Types::AnalysisTemplate
469
491
 
470
492
  AnalysisTemplateArnList.member = Shapes::ShapeRef.new(shape: AnalysisTemplateArn)
@@ -483,6 +505,18 @@ module Aws::CleanRooms
483
505
 
484
506
  AnalysisTemplateSummaryList.member = Shapes::ShapeRef.new(shape: AnalysisTemplateSummary)
485
507
 
508
+ AnalysisTemplateValidationStatusDetail.add_member(:type, Shapes::ShapeRef.new(shape: AnalysisTemplateValidationType, required: true, location_name: "type"))
509
+ AnalysisTemplateValidationStatusDetail.add_member(:status, Shapes::ShapeRef.new(shape: AnalysisTemplateValidationStatus, required: true, location_name: "status"))
510
+ AnalysisTemplateValidationStatusDetail.add_member(:reasons, Shapes::ShapeRef.new(shape: AnalysisTemplateValidationStatusReasonList, location_name: "reasons"))
511
+ AnalysisTemplateValidationStatusDetail.struct_class = Types::AnalysisTemplateValidationStatusDetail
512
+
513
+ AnalysisTemplateValidationStatusDetailList.member = Shapes::ShapeRef.new(shape: AnalysisTemplateValidationStatusDetail)
514
+
515
+ AnalysisTemplateValidationStatusReason.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
516
+ AnalysisTemplateValidationStatusReason.struct_class = Types::AnalysisTemplateValidationStatusReason
517
+
518
+ AnalysisTemplateValidationStatusReasonList.member = Shapes::ShapeRef.new(shape: AnalysisTemplateValidationStatusReason)
519
+
486
520
  BatchGetCollaborationAnalysisTemplateError.add_member(:arn, Shapes::ShapeRef.new(shape: AnalysisTemplateArn, required: true, location_name: "arn"))
487
521
  BatchGetCollaborationAnalysisTemplateError.add_member(:code, Shapes::ShapeRef.new(shape: String, required: true, location_name: "code"))
488
522
  BatchGetCollaborationAnalysisTemplateError.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
@@ -498,6 +532,22 @@ module Aws::CleanRooms
498
532
  BatchGetCollaborationAnalysisTemplateOutput.add_member(:errors, Shapes::ShapeRef.new(shape: BatchGetCollaborationAnalysisTemplateErrorList, required: true, location_name: "errors"))
499
533
  BatchGetCollaborationAnalysisTemplateOutput.struct_class = Types::BatchGetCollaborationAnalysisTemplateOutput
500
534
 
535
+ BatchGetSchemaAnalysisRuleError.add_member(:name, Shapes::ShapeRef.new(shape: TableAlias, required: true, location_name: "name"))
536
+ BatchGetSchemaAnalysisRuleError.add_member(:type, Shapes::ShapeRef.new(shape: AnalysisRuleType, required: true, location_name: "type"))
537
+ BatchGetSchemaAnalysisRuleError.add_member(:code, Shapes::ShapeRef.new(shape: String, required: true, location_name: "code"))
538
+ BatchGetSchemaAnalysisRuleError.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
539
+ BatchGetSchemaAnalysisRuleError.struct_class = Types::BatchGetSchemaAnalysisRuleError
540
+
541
+ BatchGetSchemaAnalysisRuleErrorList.member = Shapes::ShapeRef.new(shape: BatchGetSchemaAnalysisRuleError)
542
+
543
+ BatchGetSchemaAnalysisRuleInput.add_member(:collaboration_identifier, Shapes::ShapeRef.new(shape: CollaborationIdentifier, required: true, location: "uri", location_name: "collaborationIdentifier"))
544
+ BatchGetSchemaAnalysisRuleInput.add_member(:schema_analysis_rule_requests, Shapes::ShapeRef.new(shape: SchemaAnalysisRuleRequestList, required: true, location_name: "schemaAnalysisRuleRequests"))
545
+ BatchGetSchemaAnalysisRuleInput.struct_class = Types::BatchGetSchemaAnalysisRuleInput
546
+
547
+ BatchGetSchemaAnalysisRuleOutput.add_member(:analysis_rules, Shapes::ShapeRef.new(shape: SchemaAnalysisRuleList, required: true, location_name: "analysisRules"))
548
+ BatchGetSchemaAnalysisRuleOutput.add_member(:errors, Shapes::ShapeRef.new(shape: BatchGetSchemaAnalysisRuleErrorList, required: true, location_name: "errors"))
549
+ BatchGetSchemaAnalysisRuleOutput.struct_class = Types::BatchGetSchemaAnalysisRuleOutput
550
+
501
551
  BatchGetSchemaError.add_member(:name, Shapes::ShapeRef.new(shape: TableAlias, required: true, location_name: "name"))
502
552
  BatchGetSchemaError.add_member(:code, Shapes::ShapeRef.new(shape: String, required: true, location_name: "code"))
503
553
  BatchGetSchemaError.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
@@ -541,6 +591,7 @@ module Aws::CleanRooms
541
591
  CollaborationAnalysisTemplate.add_member(:format, Shapes::ShapeRef.new(shape: AnalysisFormat, required: true, location_name: "format"))
542
592
  CollaborationAnalysisTemplate.add_member(:source, Shapes::ShapeRef.new(shape: AnalysisSource, required: true, location_name: "source"))
543
593
  CollaborationAnalysisTemplate.add_member(:analysis_parameters, Shapes::ShapeRef.new(shape: AnalysisParameterList, location_name: "analysisParameters"))
594
+ CollaborationAnalysisTemplate.add_member(:validations, Shapes::ShapeRef.new(shape: AnalysisTemplateValidationStatusDetailList, location_name: "validations"))
544
595
  CollaborationAnalysisTemplate.struct_class = Types::CollaborationAnalysisTemplate
545
596
 
546
597
  CollaborationAnalysisTemplateList.member = Shapes::ShapeRef.new(shape: CollaborationAnalysisTemplate)
@@ -1451,10 +1502,35 @@ module Aws::CleanRooms
1451
1502
  Schema.add_member(:create_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "createTime"))
1452
1503
  Schema.add_member(:update_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "updateTime"))
1453
1504
  Schema.add_member(:type, Shapes::ShapeRef.new(shape: SchemaType, required: true, location_name: "type"))
1505
+ Schema.add_member(:schema_status_details, Shapes::ShapeRef.new(shape: SchemaStatusDetailList, required: true, location_name: "schemaStatusDetails"))
1454
1506
  Schema.struct_class = Types::Schema
1455
1507
 
1508
+ SchemaAnalysisRuleList.member = Shapes::ShapeRef.new(shape: AnalysisRule)
1509
+
1510
+ SchemaAnalysisRuleRequest.add_member(:name, Shapes::ShapeRef.new(shape: TableAlias, required: true, location_name: "name"))
1511
+ SchemaAnalysisRuleRequest.add_member(:type, Shapes::ShapeRef.new(shape: AnalysisRuleType, required: true, location_name: "type"))
1512
+ SchemaAnalysisRuleRequest.struct_class = Types::SchemaAnalysisRuleRequest
1513
+
1514
+ SchemaAnalysisRuleRequestList.member = Shapes::ShapeRef.new(shape: SchemaAnalysisRuleRequest)
1515
+
1516
+ SchemaConfigurationList.member = Shapes::ShapeRef.new(shape: SchemaConfiguration)
1517
+
1456
1518
  SchemaList.member = Shapes::ShapeRef.new(shape: Schema)
1457
1519
 
1520
+ SchemaStatusDetail.add_member(:status, Shapes::ShapeRef.new(shape: SchemaStatus, required: true, location_name: "status"))
1521
+ SchemaStatusDetail.add_member(:reasons, Shapes::ShapeRef.new(shape: SchemaStatusReasonList, location_name: "reasons"))
1522
+ SchemaStatusDetail.add_member(:analysis_rule_type, Shapes::ShapeRef.new(shape: AnalysisRuleType, location_name: "analysisRuleType"))
1523
+ SchemaStatusDetail.add_member(:configurations, Shapes::ShapeRef.new(shape: SchemaConfigurationList, location_name: "configurations"))
1524
+ SchemaStatusDetail.struct_class = Types::SchemaStatusDetail
1525
+
1526
+ SchemaStatusDetailList.member = Shapes::ShapeRef.new(shape: SchemaStatusDetail)
1527
+
1528
+ SchemaStatusReason.add_member(:code, Shapes::ShapeRef.new(shape: SchemaStatusReasonCode, required: true, location_name: "code"))
1529
+ SchemaStatusReason.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
1530
+ SchemaStatusReason.struct_class = Types::SchemaStatusReason
1531
+
1532
+ SchemaStatusReasonList.member = Shapes::ShapeRef.new(shape: SchemaStatusReason)
1533
+
1458
1534
  SchemaSummary.add_member(:name, Shapes::ShapeRef.new(shape: TableAlias, required: true, location_name: "name"))
1459
1535
  SchemaSummary.add_member(:type, Shapes::ShapeRef.new(shape: SchemaType, required: true, location_name: "type"))
1460
1536
  SchemaSummary.add_member(:creator_account_id, Shapes::ShapeRef.new(shape: AccountId, required: true, location_name: "creatorAccountId"))
@@ -1640,6 +1716,19 @@ module Aws::CleanRooms
1640
1716
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1641
1717
  end)
1642
1718
 
1719
+ api.add_operation(:batch_get_schema_analysis_rule, Seahorse::Model::Operation.new.tap do |o|
1720
+ o.name = "BatchGetSchemaAnalysisRule"
1721
+ o.http_method = "POST"
1722
+ o.http_request_uri = "/collaborations/{collaborationIdentifier}/batch-schema-analysis-rule"
1723
+ o.input = Shapes::ShapeRef.new(shape: BatchGetSchemaAnalysisRuleInput)
1724
+ o.output = Shapes::ShapeRef.new(shape: BatchGetSchemaAnalysisRuleOutput)
1725
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1726
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1727
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1728
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1729
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1730
+ end)
1731
+
1643
1732
  api.add_operation(:create_analysis_template, Seahorse::Model::Operation.new.tap do |o|
1644
1733
  o.name = "CreateAnalysisTemplate"
1645
1734
  o.http_method = "POST"
@@ -40,6 +40,20 @@ module Aws::CleanRooms
40
40
  end
41
41
  end
42
42
 
43
+ class BatchGetSchemaAnalysisRule
44
+ def self.build(context)
45
+ unless context.config.regional_endpoint
46
+ endpoint = context.config.endpoint.to_s
47
+ end
48
+ Aws::CleanRooms::EndpointParameters.new(
49
+ region: context.config.region,
50
+ use_dual_stack: context.config.use_dualstack_endpoint,
51
+ use_fips: context.config.use_fips_endpoint,
52
+ endpoint: endpoint,
53
+ )
54
+ end
55
+ end
56
+
43
57
  class CreateAnalysisTemplate
44
58
  def self.build(context)
45
59
  unless context.config.regional_endpoint
@@ -62,6 +62,8 @@ module Aws::CleanRooms
62
62
  Aws::CleanRooms::Endpoints::BatchGetCollaborationAnalysisTemplate.build(context)
63
63
  when :batch_get_schema
64
64
  Aws::CleanRooms::Endpoints::BatchGetSchema.build(context)
65
+ when :batch_get_schema_analysis_rule
66
+ Aws::CleanRooms::Endpoints::BatchGetSchemaAnalysisRule.build(context)
65
67
  when :create_analysis_template
66
68
  Aws::CleanRooms::Endpoints::CreateAnalysisTemplate.build(context)
67
69
  when :create_collaboration
@@ -207,13 +207,14 @@ module Aws::CleanRooms
207
207
  # privacy.
208
208
  #
209
209
  # @!attribute [rw] allowed_analyses
210
- # The analysis templates that are allowed by the custom analysis rule.
210
+ # The ARN of the analysis templates that are allowed by the custom
211
+ # analysis rule.
211
212
  # @return [Array<String>]
212
213
  #
213
214
  # @!attribute [rw] allowed_analysis_providers
214
- # The Amazon Web Services accounts that are allowed to query by the
215
- # custom analysis rule. Required when `allowedAnalyses` is
216
- # `ANY_QUERY`.
215
+ # The IDs of the Amazon Web Services accounts that are allowed to
216
+ # query by the custom analysis rule. Required when `allowedAnalyses`
217
+ # is `ANY_QUERY`.
217
218
  # @return [Array<String>]
218
219
  #
219
220
  # @!attribute [rw] differential_privacy
@@ -413,6 +414,11 @@ module Aws::CleanRooms
413
414
  # The parameters of the analysis template.
414
415
  # @return [Array<Types::AnalysisParameter>]
415
416
  #
417
+ # @!attribute [rw] validations
418
+ # Information about the validations performed on the analysis
419
+ # template.
420
+ # @return [Array<Types::AnalysisTemplateValidationStatusDetail>]
421
+ #
416
422
  # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/AnalysisTemplate AWS API Documentation
417
423
  #
418
424
  class AnalysisTemplate < Struct.new(
@@ -429,7 +435,8 @@ module Aws::CleanRooms
429
435
  :schema,
430
436
  :format,
431
437
  :source,
432
- :analysis_parameters)
438
+ :analysis_parameters,
439
+ :validations)
433
440
  SENSITIVE = [:source]
434
441
  include Aws::Structure
435
442
  end
@@ -496,6 +503,58 @@ module Aws::CleanRooms
496
503
  include Aws::Structure
497
504
  end
498
505
 
506
+ # The status details of the analysis template validation. Clean Rooms
507
+ # Differential Privacy uses a general-purpose query structure to support
508
+ # complex SQL queries and validates whether an analysis template fits
509
+ # that general-purpose query structure. Validation is performed when
510
+ # analysis templates are created and fetched. Because analysis templates
511
+ # are immutable by design, we recommend that you create analysis
512
+ # templates after you associate the configured tables with their
513
+ # analysis rule to your collaboration.
514
+ #
515
+ # For more information, see
516
+ # [https://docs.aws.amazon.com/clean-rooms/latest/userguide/analysis-rules-custom.html#custom-diff-privacy][1].
517
+ #
518
+ #
519
+ #
520
+ # [1]: https://docs.aws.amazon.com/clean-rooms/latest/userguide/analysis-rules-custom.html#custom-diff-privacy
521
+ #
522
+ # @!attribute [rw] type
523
+ # The type of validation that was performed.
524
+ # @return [String]
525
+ #
526
+ # @!attribute [rw] status
527
+ # The status of the validation.
528
+ # @return [String]
529
+ #
530
+ # @!attribute [rw] reasons
531
+ # The reasons for the validation results.
532
+ # @return [Array<Types::AnalysisTemplateValidationStatusReason>]
533
+ #
534
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/AnalysisTemplateValidationStatusDetail AWS API Documentation
535
+ #
536
+ class AnalysisTemplateValidationStatusDetail < Struct.new(
537
+ :type,
538
+ :status,
539
+ :reasons)
540
+ SENSITIVE = []
541
+ include Aws::Structure
542
+ end
543
+
544
+ # The reasons for the validation results.
545
+ #
546
+ # @!attribute [rw] message
547
+ # The validation message.
548
+ # @return [String]
549
+ #
550
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/AnalysisTemplateValidationStatusReason AWS API Documentation
551
+ #
552
+ class AnalysisTemplateValidationStatusReason < Struct.new(
553
+ :message)
554
+ SENSITIVE = []
555
+ include Aws::Structure
556
+ end
557
+
499
558
  # Details of errors thrown by the call to retrieve multiple analysis
500
559
  # templates within a collaboration by their identifiers.
501
560
  #
@@ -559,6 +618,72 @@ module Aws::CleanRooms
559
618
  include Aws::Structure
560
619
  end
561
620
 
621
+ # An error that describes why a schema could not be fetched.
622
+ #
623
+ # @!attribute [rw] name
624
+ # An error name for the error.
625
+ # @return [String]
626
+ #
627
+ # @!attribute [rw] type
628
+ # The analysis rule type.
629
+ # @return [String]
630
+ #
631
+ # @!attribute [rw] code
632
+ # An error code for the error.
633
+ # @return [String]
634
+ #
635
+ # @!attribute [rw] message
636
+ # A description of why the call failed.
637
+ # @return [String]
638
+ #
639
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/BatchGetSchemaAnalysisRuleError AWS API Documentation
640
+ #
641
+ class BatchGetSchemaAnalysisRuleError < Struct.new(
642
+ :name,
643
+ :type,
644
+ :code,
645
+ :message)
646
+ SENSITIVE = []
647
+ include Aws::Structure
648
+ end
649
+
650
+ # @!attribute [rw] collaboration_identifier
651
+ # The unique identifier of the collaboration that contains the schema
652
+ # analysis rule.
653
+ # @return [String]
654
+ #
655
+ # @!attribute [rw] schema_analysis_rule_requests
656
+ # The information that's necessary to retrieve a schema analysis
657
+ # rule.
658
+ # @return [Array<Types::SchemaAnalysisRuleRequest>]
659
+ #
660
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/BatchGetSchemaAnalysisRuleInput AWS API Documentation
661
+ #
662
+ class BatchGetSchemaAnalysisRuleInput < Struct.new(
663
+ :collaboration_identifier,
664
+ :schema_analysis_rule_requests)
665
+ SENSITIVE = []
666
+ include Aws::Structure
667
+ end
668
+
669
+ # @!attribute [rw] analysis_rules
670
+ # The retrieved list of analysis rules.
671
+ # @return [Array<Types::AnalysisRule>]
672
+ #
673
+ # @!attribute [rw] errors
674
+ # Error reasons for schemas that could not be retrieved. One error is
675
+ # returned for every schema that could not be retrieved.
676
+ # @return [Array<Types::BatchGetSchemaAnalysisRuleError>]
677
+ #
678
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/BatchGetSchemaAnalysisRuleOutput AWS API Documentation
679
+ #
680
+ class BatchGetSchemaAnalysisRuleOutput < Struct.new(
681
+ :analysis_rules,
682
+ :errors)
683
+ SENSITIVE = []
684
+ include Aws::Structure
685
+ end
686
+
562
687
  # An error describing why a schema could not be fetched.
563
688
  #
564
689
  # @!attribute [rw] name
@@ -589,7 +714,7 @@ module Aws::CleanRooms
589
714
  # @return [String]
590
715
  #
591
716
  # @!attribute [rw] names
592
- # The names for the schema objects to retrieve.&gt;
717
+ # The names for the schema objects to retrieve.
593
718
  # @return [Array<String>]
594
719
  #
595
720
  # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/BatchGetSchemaInput AWS API Documentation
@@ -757,6 +882,10 @@ module Aws::CleanRooms
757
882
  # template.
758
883
  # @return [Array<Types::AnalysisParameter>]
759
884
  #
885
+ # @!attribute [rw] validations
886
+ # The validations that were performed.
887
+ # @return [Array<Types::AnalysisTemplateValidationStatusDetail>]
888
+ #
760
889
  # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/CollaborationAnalysisTemplate AWS API Documentation
761
890
  #
762
891
  class CollaborationAnalysisTemplate < Struct.new(
@@ -772,7 +901,8 @@ module Aws::CleanRooms
772
901
  :schema,
773
902
  :format,
774
903
  :source,
775
- :analysis_parameters)
904
+ :analysis_parameters,
905
+ :validations)
776
906
  SENSITIVE = [:source]
777
907
  include Aws::Structure
778
908
  end
@@ -4953,6 +5083,11 @@ module Aws::CleanRooms
4953
5083
  # The type of schema. The only valid value is currently `TABLE`.
4954
5084
  # @return [String]
4955
5085
  #
5086
+ # @!attribute [rw] schema_status_details
5087
+ # Details about the status of the schema. Currently, only one entry is
5088
+ # present.
5089
+ # @return [Array<Types::SchemaStatusDetail>]
5090
+ #
4956
5091
  # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/Schema AWS API Documentation
4957
5092
  #
4958
5093
  class Schema < Struct.new(
@@ -4967,11 +5102,88 @@ module Aws::CleanRooms
4967
5102
  :description,
4968
5103
  :create_time,
4969
5104
  :update_time,
5105
+ :type,
5106
+ :schema_status_details)
5107
+ SENSITIVE = []
5108
+ include Aws::Structure
5109
+ end
5110
+
5111
+ # Defines the information that's necessary to retrieve an analysis rule
5112
+ # schema. Schema analysis rules are uniquely identified by a combination
5113
+ # of the schema name and the analysis rule type for a given
5114
+ # collaboration.
5115
+ #
5116
+ # @!attribute [rw] name
5117
+ # The name of the analysis rule schema that you are requesting.
5118
+ # @return [String]
5119
+ #
5120
+ # @!attribute [rw] type
5121
+ # The type of analysis rule schema that you are requesting.
5122
+ # @return [String]
5123
+ #
5124
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/SchemaAnalysisRuleRequest AWS API Documentation
5125
+ #
5126
+ class SchemaAnalysisRuleRequest < Struct.new(
5127
+ :name,
4970
5128
  :type)
4971
5129
  SENSITIVE = []
4972
5130
  include Aws::Structure
4973
5131
  end
4974
5132
 
5133
+ # Information about the schema status.
5134
+ #
5135
+ # A status of `READY` means that based on the schema analysis rule,
5136
+ # queries of the given analysis rule type are properly configured to run
5137
+ # queries on this schema.
5138
+ #
5139
+ # @!attribute [rw] status
5140
+ # The status of the schema.
5141
+ # @return [String]
5142
+ #
5143
+ # @!attribute [rw] reasons
5144
+ # The reasons why the schema status is set to its current state.
5145
+ # @return [Array<Types::SchemaStatusReason>]
5146
+ #
5147
+ # @!attribute [rw] analysis_rule_type
5148
+ # The analysis rule type for which the schema status has been
5149
+ # evaluated.
5150
+ # @return [String]
5151
+ #
5152
+ # @!attribute [rw] configurations
5153
+ # The configuration details of the schema analysis rule for the given
5154
+ # type.
5155
+ # @return [Array<String>]
5156
+ #
5157
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/SchemaStatusDetail AWS API Documentation
5158
+ #
5159
+ class SchemaStatusDetail < Struct.new(
5160
+ :status,
5161
+ :reasons,
5162
+ :analysis_rule_type,
5163
+ :configurations)
5164
+ SENSITIVE = []
5165
+ include Aws::Structure
5166
+ end
5167
+
5168
+ # A reason why the schema status is set to its current value.
5169
+ #
5170
+ # @!attribute [rw] code
5171
+ # The schema status reason code.
5172
+ # @return [String]
5173
+ #
5174
+ # @!attribute [rw] message
5175
+ # An explanation of the schema status reason code.
5176
+ # @return [String]
5177
+ #
5178
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/SchemaStatusReason AWS API Documentation
5179
+ #
5180
+ class SchemaStatusReason < Struct.new(
5181
+ :code,
5182
+ :message)
5183
+ SENSITIVE = []
5184
+ include Aws::Structure
5185
+ end
5186
+
4975
5187
  # The schema summary for the objects listed by the request.
4976
5188
  #
4977
5189
  # @!attribute [rw] name
@@ -53,6 +53,6 @@ require_relative 'aws-sdk-cleanrooms/customizations'
53
53
  # @!group service
54
54
  module Aws::CleanRooms
55
55
 
56
- GEM_VERSION = '1.16.0'
56
+ GEM_VERSION = '1.18.0'
57
57
 
58
58
  end
data/sig/client.rbs CHANGED
@@ -96,6 +96,23 @@ module Aws
96
96
  ) -> _BatchGetSchemaResponseSuccess
97
97
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _BatchGetSchemaResponseSuccess
98
98
 
99
+ interface _BatchGetSchemaAnalysisRuleResponseSuccess
100
+ include ::Seahorse::Client::_ResponseSuccess[Types::BatchGetSchemaAnalysisRuleOutput]
101
+ def analysis_rules: () -> ::Array[Types::AnalysisRule]
102
+ def errors: () -> ::Array[Types::BatchGetSchemaAnalysisRuleError]
103
+ end
104
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CleanRooms/Client.html#batch_get_schema_analysis_rule-instance_method
105
+ def batch_get_schema_analysis_rule: (
106
+ collaboration_identifier: ::String,
107
+ schema_analysis_rule_requests: Array[
108
+ {
109
+ name: ::String,
110
+ type: ("AGGREGATION" | "LIST" | "CUSTOM")
111
+ },
112
+ ]
113
+ ) -> _BatchGetSchemaAnalysisRuleResponseSuccess
114
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _BatchGetSchemaAnalysisRuleResponseSuccess
115
+
99
116
  interface _CreateAnalysisTemplateResponseSuccess
100
117
  include ::Seahorse::Client::_ResponseSuccess[Types::CreateAnalysisTemplateOutput]
101
118
  def analysis_template: () -> Types::AnalysisTemplate
@@ -219,7 +236,7 @@ module Aws
219
236
  join_required: ("QUERY_RUNNER")?,
220
237
  allowed_join_operators: Array[("OR" | "AND")]?,
221
238
  dimension_columns: Array[::String],
222
- scalar_functions: Array[("TRUNC" | "ABS" | "CEILING" | "FLOOR" | "LN" | "LOG" | "ROUND" | "SQRT" | "CAST" | "LOWER" | "RTRIM" | "UPPER" | "COALESCE")],
239
+ scalar_functions: Array[("ABS" | "CAST" | "CEILING" | "COALESCE" | "CONVERT" | "CURRENT_DATE" | "DATEADD" | "EXTRACT" | "FLOOR" | "GETDATE" | "LN" | "LOG" | "LOWER" | "ROUND" | "RTRIM" | "SQRT" | "SUBSTRING" | "TO_CHAR" | "TO_DATE" | "TO_NUMBER" | "TO_TIMESTAMP" | "TRIM" | "TRUNC" | "UPPER")],
223
240
  output_constraints: Array[
224
241
  {
225
242
  column_name: ::String,
@@ -888,7 +905,7 @@ module Aws
888
905
  join_required: ("QUERY_RUNNER")?,
889
906
  allowed_join_operators: Array[("OR" | "AND")]?,
890
907
  dimension_columns: Array[::String],
891
- scalar_functions: Array[("TRUNC" | "ABS" | "CEILING" | "FLOOR" | "LN" | "LOG" | "ROUND" | "SQRT" | "CAST" | "LOWER" | "RTRIM" | "UPPER" | "COALESCE")],
908
+ scalar_functions: Array[("ABS" | "CAST" | "CEILING" | "COALESCE" | "CONVERT" | "CURRENT_DATE" | "DATEADD" | "EXTRACT" | "FLOOR" | "GETDATE" | "LN" | "LOG" | "LOWER" | "ROUND" | "RTRIM" | "SQRT" | "SUBSTRING" | "TO_CHAR" | "TO_DATE" | "TO_NUMBER" | "TO_TIMESTAMP" | "TRIM" | "TRUNC" | "UPPER")],
892
909
  output_constraints: Array[
893
910
  {
894
911
  column_name: ::String,
data/sig/types.rbs CHANGED
@@ -50,7 +50,7 @@ module Aws::CleanRooms
50
50
  attr_accessor join_required: ("QUERY_RUNNER")
51
51
  attr_accessor allowed_join_operators: ::Array[("OR" | "AND")]
52
52
  attr_accessor dimension_columns: ::Array[::String]
53
- attr_accessor scalar_functions: ::Array[("TRUNC" | "ABS" | "CEILING" | "FLOOR" | "LN" | "LOG" | "ROUND" | "SQRT" | "CAST" | "LOWER" | "RTRIM" | "UPPER" | "COALESCE")]
53
+ attr_accessor scalar_functions: ::Array[("ABS" | "CAST" | "CEILING" | "COALESCE" | "CONVERT" | "CURRENT_DATE" | "DATEADD" | "EXTRACT" | "FLOOR" | "GETDATE" | "LN" | "LOG" | "LOWER" | "ROUND" | "RTRIM" | "SQRT" | "SUBSTRING" | "TO_CHAR" | "TO_DATE" | "TO_NUMBER" | "TO_TIMESTAMP" | "TRIM" | "TRUNC" | "UPPER")]
54
54
  attr_accessor output_constraints: ::Array[Types::AggregationConstraint]
55
55
  SENSITIVE: []
56
56
  end
@@ -128,6 +128,7 @@ module Aws::CleanRooms
128
128
  attr_accessor format: ("SQL")
129
129
  attr_accessor source: Types::AnalysisSource
130
130
  attr_accessor analysis_parameters: ::Array[Types::AnalysisParameter]
131
+ attr_accessor validations: ::Array[Types::AnalysisTemplateValidationStatusDetail]
131
132
  SENSITIVE: [:source]
132
133
  end
133
134
 
@@ -145,6 +146,18 @@ module Aws::CleanRooms
145
146
  SENSITIVE: []
146
147
  end
147
148
 
149
+ class AnalysisTemplateValidationStatusDetail
150
+ attr_accessor type: ("DIFFERENTIAL_PRIVACY")
151
+ attr_accessor status: ("VALID" | "INVALID" | "UNABLE_TO_VALIDATE")
152
+ attr_accessor reasons: ::Array[Types::AnalysisTemplateValidationStatusReason]
153
+ SENSITIVE: []
154
+ end
155
+
156
+ class AnalysisTemplateValidationStatusReason
157
+ attr_accessor message: ::String
158
+ SENSITIVE: []
159
+ end
160
+
148
161
  class BatchGetCollaborationAnalysisTemplateError
149
162
  attr_accessor arn: ::String
150
163
  attr_accessor code: ::String
@@ -164,6 +177,26 @@ module Aws::CleanRooms
164
177
  SENSITIVE: []
165
178
  end
166
179
 
180
+ class BatchGetSchemaAnalysisRuleError
181
+ attr_accessor name: ::String
182
+ attr_accessor type: ("AGGREGATION" | "LIST" | "CUSTOM")
183
+ attr_accessor code: ::String
184
+ attr_accessor message: ::String
185
+ SENSITIVE: []
186
+ end
187
+
188
+ class BatchGetSchemaAnalysisRuleInput
189
+ attr_accessor collaboration_identifier: ::String
190
+ attr_accessor schema_analysis_rule_requests: ::Array[Types::SchemaAnalysisRuleRequest]
191
+ SENSITIVE: []
192
+ end
193
+
194
+ class BatchGetSchemaAnalysisRuleOutput
195
+ attr_accessor analysis_rules: ::Array[Types::AnalysisRule]
196
+ attr_accessor errors: ::Array[Types::BatchGetSchemaAnalysisRuleError]
197
+ SENSITIVE: []
198
+ end
199
+
167
200
  class BatchGetSchemaError
168
201
  attr_accessor name: ::String
169
202
  attr_accessor code: ::String
@@ -214,6 +247,7 @@ module Aws::CleanRooms
214
247
  attr_accessor format: ("SQL")
215
248
  attr_accessor source: Types::AnalysisSource
216
249
  attr_accessor analysis_parameters: ::Array[Types::AnalysisParameter]
250
+ attr_accessor validations: ::Array[Types::AnalysisTemplateValidationStatusDetail]
217
251
  SENSITIVE: [:source]
218
252
  end
219
253
 
@@ -1420,6 +1454,27 @@ module Aws::CleanRooms
1420
1454
  attr_accessor create_time: ::Time
1421
1455
  attr_accessor update_time: ::Time
1422
1456
  attr_accessor type: ("TABLE")
1457
+ attr_accessor schema_status_details: ::Array[Types::SchemaStatusDetail]
1458
+ SENSITIVE: []
1459
+ end
1460
+
1461
+ class SchemaAnalysisRuleRequest
1462
+ attr_accessor name: ::String
1463
+ attr_accessor type: ("AGGREGATION" | "LIST" | "CUSTOM")
1464
+ SENSITIVE: []
1465
+ end
1466
+
1467
+ class SchemaStatusDetail
1468
+ attr_accessor status: ("READY" | "NOT_READY")
1469
+ attr_accessor reasons: ::Array[Types::SchemaStatusReason]
1470
+ attr_accessor analysis_rule_type: ("AGGREGATION" | "LIST" | "CUSTOM")
1471
+ attr_accessor configurations: ::Array[("DIFFERENTIAL_PRIVACY")]
1472
+ SENSITIVE: []
1473
+ end
1474
+
1475
+ class SchemaStatusReason
1476
+ attr_accessor code: ("ANALYSIS_RULE_MISSING" | "ANALYSIS_TEMPLATES_NOT_CONFIGURED" | "ANALYSIS_PROVIDERS_NOT_CONFIGURED" | "DIFFERENTIAL_PRIVACY_POLICY_NOT_CONFIGURED")
1477
+ attr_accessor message: ::String
1423
1478
  SENSITIVE: []
1424
1479
  end
1425
1480
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-cleanrooms
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.16.0
4
+ version: 1.18.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-01-26 00:00:00.000000000 Z
11
+ date: 2024-04-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core