|
2210 | 2210 | "member":{"shape":"AggregationConstraint"}, |
2211 | 2211 | "min":1 |
2212 | 2212 | }, |
| 2213 | + "AggregationThreshold":{ |
| 2214 | + "type":"structure", |
| 2215 | + "required":[ |
| 2216 | + "identityColumns", |
| 2217 | + "minimumIdentityCount", |
| 2218 | + "type", |
| 2219 | + "allowedAggregateExpressionType" |
| 2220 | + ], |
| 2221 | + "members":{ |
| 2222 | + "identityColumns":{ |
| 2223 | + "shape":"AggregationThresholdIdentityColumnsList", |
| 2224 | + "documentation":"<p>The identity column, such as <code>user_id</code>, whose distinct values Clean Rooms counts to enforce minimum aggregation thresholds. Currently, you can specify only one column, and its data type must be string, varchar, or char.</p>" |
| 2225 | + }, |
| 2226 | + "minimumIdentityCount":{ |
| 2227 | + "shape":"AggregationThresholdMinimumIdentityCountInteger", |
| 2228 | + "documentation":"<p>The minimum number of distinct identities that each query output group must represent. This threshold applies to all output columns in the table. To override this threshold for a specific column, use <code>outputColumnThresholds</code>.</p>" |
| 2229 | + }, |
| 2230 | + "type":{ |
| 2231 | + "shape":"AggregationThresholdType", |
| 2232 | + "documentation":"<p>The type of aggregation that the threshold enforces. Currently, the only supported value is <code>COUNT_DISTINCT</code>, which counts the distinct values in the identity column.</p>" |
| 2233 | + }, |
| 2234 | + "outputColumnThresholds":{ |
| 2235 | + "shape":"OutputColumnThresholdList", |
| 2236 | + "documentation":"<p>The per-column overrides of <code>minimumIdentityCount</code>. An output column without an override uses <code>minimumIdentityCount</code>.</p>" |
| 2237 | + }, |
| 2238 | + "allowedAggregateExpressionType":{ |
| 2239 | + "shape":"AllowedAggregateExpressionType", |
| 2240 | + "documentation":"<p>Specifies whether a query can aggregate a transformed column. This applies to the arguments of both aggregate and window functions. Valid values are:</p> <p> <code>COLUMNS_ONLY</code> – A query can aggregate only a direct column reference, such as <code>SUM(amount)</code>, or a constant. Clean Rooms rejects a query that transforms a column and then aggregates it, such as <code>SUM(amount * 2)</code> or <code>SUM(ROUND(amount))</code>.</p> <p> <code>ANY_EXPRESSION</code> – A query can aggregate any expression. This includes arithmetic, such as <code>SUM(price * quantity)</code>; a cast, such as <code>SUM(CAST(amount AS DECIMAL))</code>; a nested function call, such as <code>SUM(COALESCE(amount, 0))</code>; and a conditional, such as <code>SUM(CASE WHEN region = 'EU' THEN amount ELSE 0 END)</code>.</p>" |
| 2241 | + } |
| 2242 | + }, |
| 2243 | + "documentation":"<p>Specifies the minimum number of distinct identities that each query output group must represent.</p>" |
| 2244 | + }, |
| 2245 | + "AggregationThresholdIdentityColumnsList":{ |
| 2246 | + "type":"list", |
| 2247 | + "member":{"shape":"AnalysisRuleColumnName"}, |
| 2248 | + "max":1, |
| 2249 | + "min":1 |
| 2250 | + }, |
| 2251 | + "AggregationThresholdList":{ |
| 2252 | + "type":"list", |
| 2253 | + "member":{"shape":"AggregationThreshold"}, |
| 2254 | + "max":1, |
| 2255 | + "min":1 |
| 2256 | + }, |
| 2257 | + "AggregationThresholdMinimumIdentityCountInteger":{ |
| 2258 | + "type":"integer", |
| 2259 | + "box":true, |
| 2260 | + "max":100000, |
| 2261 | + "min":2 |
| 2262 | + }, |
| 2263 | + "AggregationThresholdType":{ |
| 2264 | + "type":"string", |
| 2265 | + "enum":["COUNT_DISTINCT"] |
| 2266 | + }, |
2213 | 2267 | "AggregationType":{ |
2214 | 2268 | "type":"string", |
2215 | 2269 | "enum":["COUNT_DISTINCT"] |
|
2220 | 2274 | "max":25, |
2221 | 2275 | "min":0 |
2222 | 2276 | }, |
| 2277 | + "AllowedAggregateExpressionType":{ |
| 2278 | + "type":"string", |
| 2279 | + "enum":[ |
| 2280 | + "COLUMNS_ONLY", |
| 2281 | + "ANY_EXPRESSION" |
| 2282 | + ] |
| 2283 | + }, |
2223 | 2284 | "AllowedAnalysesList":{ |
2224 | 2285 | "type":"list", |
2225 | 2286 | "member":{"shape":"AnalysisTemplateArnOrQueryWildcard"} |
|
2586 | 2647 | "shape":"DifferentialPrivacyConfiguration", |
2587 | 2648 | "documentation":"<p>The differential privacy configuration.</p>" |
2588 | 2649 | }, |
| 2650 | + "aggregationThresholds":{ |
| 2651 | + "shape":"AggregationThresholdList", |
| 2652 | + "documentation":"<p>The aggregation thresholds that each query output group must satisfy. Clean Rooms filters out any group that represents fewer than the specified number of distinct identities. You can specify at most one threshold. You can't use aggregation thresholds with differential privacy, or when <code>allowedAnalyses</code> allows only jobs.</p>" |
| 2653 | + }, |
| 2654 | + "comparisonControls":{ |
| 2655 | + "shape":"ComparisonControls", |
| 2656 | + "documentation":"<p>The controls that restrict how a query can compare the columns in the configured table. You can't use comparison controls with differential privacy, or when <code>allowedAnalyses</code> allows only jobs.</p>" |
| 2657 | + }, |
2589 | 2658 | "allowedResultReceivers":{ |
2590 | 2659 | "shape":"AllowedResultReceivers", |
2591 | 2660 | "documentation":"<p>The list of Amazon Web Services account IDs that are allowed to receive results from queries run on the configured table.</p>" |
|
2595 | 2664 | "documentation":"<p>The list of allowed additional analyses for the custom analysis rule.</p>" |
2596 | 2665 | } |
2597 | 2666 | }, |
2598 | | - "documentation":"<p>A type of analysis rule that enables the table owner to approve custom SQL queries on their configured tables. It supports differential privacy.</p>" |
| 2667 | + "documentation":"<p>A type of analysis rule that enables the table owner to approve custom SQL queries on their configured tables. It supports differential privacy, minimum aggregation thresholds, and comparison controls.</p>" |
2599 | 2668 | }, |
2600 | 2669 | "AnalysisRuleCustomAllowedAnalysesList":{ |
2601 | 2670 | "type":"list", |
|
4613 | 4682 | "ap-east-2" |
4614 | 4683 | ] |
4615 | 4684 | }, |
| 4685 | + "ComparisonControls":{ |
| 4686 | + "type":"structure", |
| 4687 | + "required":[ |
| 4688 | + "allowedLiteralComparisonColumns", |
| 4689 | + "allowedColumnComparisonColumns" |
| 4690 | + ], |
| 4691 | + "members":{ |
| 4692 | + "allowedLiteralComparisonColumns":{ |
| 4693 | + "shape":"AnalysisRuleColumnList", |
| 4694 | + "documentation":"<p>The columns that a query can compare to literal values, for example, in a WHERE clause. Clean Rooms rejects a query that compares any other column to a literal value. Specify an empty list to block literal comparison on every column. You can't specify a column that you also use as an identity column in an aggregation threshold.</p>" |
| 4695 | + }, |
| 4696 | + "allowedColumnComparisonColumns":{ |
| 4697 | + "shape":"AnalysisRuleColumnList", |
| 4698 | + "documentation":"<p>The columns that a query can compare to another column, for example, in a join, a WHERE clause, a GROUP BY clause, or a window function. Clean Rooms rejects a query that uses any other column in a column-to-column comparison. Specify an empty list to block column-to-column comparison on every column.</p>" |
| 4699 | + } |
| 4700 | + }, |
| 4701 | + "documentation":"<p>Specifies how a query can compare the columns in a table, including literal comparisons and column-to-column comparisons.</p>" |
| 4702 | + }, |
4616 | 4703 | "ComputeConfiguration":{ |
4617 | 4704 | "type":"structure", |
4618 | 4705 | "members":{ |
|
5394 | 5481 | "documentation":"<p> Disallowed output columns</p>" |
5395 | 5482 | }, |
5396 | 5483 | "differentialPrivacy":{"shape":"DifferentialPrivacyConfiguration"}, |
| 5484 | + "aggregationThresholds":{ |
| 5485 | + "shape":"AggregationThresholdList", |
| 5486 | + "documentation":"<p> The aggregation thresholds for the consolidated policy.</p>" |
| 5487 | + }, |
| 5488 | + "comparisonControls":{ |
| 5489 | + "shape":"ComparisonControls", |
| 5490 | + "documentation":"<p> The comparison controls for the consolidated policy.</p>" |
| 5491 | + }, |
5397 | 5492 | "allowedResultReceivers":{ |
5398 | 5493 | "shape":"AllowedResultReceivers", |
5399 | 5494 | "documentation":"<p> The allowed result receivers.</p>" |
|
8463 | 8558 | "disallowedOutputColumns":{ |
8464 | 8559 | "shape":"AnalysisRuleColumnList", |
8465 | 8560 | "documentation":"<p>The list of columns that are not allowed in the query output.</p>" |
| 8561 | + }, |
| 8562 | + "aggregationThresholds":{ |
| 8563 | + "shape":"AggregationThresholdList", |
| 8564 | + "documentation":"<p>The aggregation thresholds that each query output group must satisfy. Clean Rooms filters out any group that represents fewer than the specified number of distinct identities. You can specify at most one threshold. You can't use aggregation thresholds with differential privacy, or when <code>allowedAnalyses</code> allows only jobs.</p>" |
| 8565 | + }, |
| 8566 | + "comparisonControls":{ |
| 8567 | + "shape":"ComparisonControls", |
| 8568 | + "documentation":"<p>The controls that restrict how a query can compare the columns in the intermediate table. You can't use comparison controls with differential privacy, or when <code>allowedAnalyses</code> allows only jobs.</p>" |
8466 | 8569 | } |
8467 | 8570 | }, |
8468 | 8571 | "documentation":"<p>Contains the custom analysis rule configuration for an intermediate table.</p>" |
|
10415 | 10518 | }, |
10416 | 10519 | "documentation":"<p>An object representing the collaboration member's model training payment responsibilities set by the collaboration creator.</p>" |
10417 | 10520 | }, |
| 10521 | + "OutputColumnThreshold":{ |
| 10522 | + "type":"structure", |
| 10523 | + "required":[ |
| 10524 | + "outputColumnName", |
| 10525 | + "minimumIdentityCount" |
| 10526 | + ], |
| 10527 | + "members":{ |
| 10528 | + "outputColumnName":{ |
| 10529 | + "shape":"AnalysisRuleColumnName", |
| 10530 | + "documentation":"<p>The name of the output column that the override applies to. You can specify each column only once.</p>" |
| 10531 | + }, |
| 10532 | + "minimumIdentityCount":{ |
| 10533 | + "shape":"OutputColumnThresholdMinimumIdentityCountInteger", |
| 10534 | + "documentation":"<p>The minimum number of distinct identities that each query output group must represent for this column. Specify 0 to exempt the column from the threshold, or a value of 2 or greater to enforce a threshold.</p>" |
| 10535 | + } |
| 10536 | + }, |
| 10537 | + "documentation":"<p>Specifies the minimum number of distinct identities for an individual output column. This value overrides the table-wide <code>minimumIdentityCount</code> that you set in <code>AggregationThreshold</code>.</p>" |
| 10538 | + }, |
| 10539 | + "OutputColumnThresholdList":{ |
| 10540 | + "type":"list", |
| 10541 | + "member":{"shape":"OutputColumnThreshold"} |
| 10542 | + }, |
| 10543 | + "OutputColumnThresholdMinimumIdentityCountInteger":{ |
| 10544 | + "type":"integer", |
| 10545 | + "box":true, |
| 10546 | + "max":100000, |
| 10547 | + "min":0 |
| 10548 | + }, |
10418 | 10549 | "PaginationToken":{ |
10419 | 10550 | "type":"string", |
10420 | 10551 | "max":10240, |
|
0 commit comments