[ aws . cleanrooms ]

update-intermediate-table-analysis-rule

Description

Updates the analysis rule policy for an intermediate table. Only the intermediate table owner can call this operation.

See also: AWS API Documentation

Synopsis

  update-intermediate-table-analysis-rule
--membership-identifier <value>
--intermediate-table-identifier <value>
--analysis-rule-type <value>
--analysis-rule-policy <value>
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--cli-binary-format <value>]
[--no-cli-pager]
[--cli-auto-prompt]
[--no-cli-auto-prompt]
[--cli-error-format <value>]

Options

--membership-identifier (string) [required]

The unique identifier of the membership that contains the intermediate table.

Constraints:

  • min: 36
  • max: 36
  • pattern: [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}

--intermediate-table-identifier (string) [required]

The unique identifier of the intermediate table for which to update the analysis rule.

Constraints:

  • min: 36
  • max: 36
  • pattern: [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}

--analysis-rule-type (string) [required]

The type of analysis rule to update. Currently, only CUSTOM is supported.

Possible values:

  • CUSTOM

--analysis-rule-policy (tagged union structure) [required]

The updated analysis rule policy for the intermediate table.

Note

This is a Tagged Union structure. Only one of the following top level keys can be set: v1.

v1 -> (tagged union structure)

The version 1 policy for the analysis rule.

Note

This is a Tagged Union structure. Only one of the following top level keys can be set: custom.

custom -> (structure)

The custom analysis rule policy.

allowedAnalyses -> (list)

The list of allowed analyses that can be performed on the intermediate table.

(string)

Constraints:

  • min: 0
  • max: 200
  • pattern: (ANY_QUERY|ANY_JOB|arn:aws:cleanrooms:[\w]{2}-[\w]{4,9}-[\d]:[\d]{12}:membership/[\d\w-]+/analysistemplate/[\d\w-]+)

additionalAnalyses -> (string)

The setting that controls whether additional analyses are allowed on the intermediate table.

Possible values:

  • ALLOWED
  • REQUIRED
  • NOT_ALLOWED

allowedAdditionalAnalyses -> (list)

The list of allowed additional analyses for the intermediate table.

Constraints:

  • min: 0
  • max: 25

(string)

Constraints:

  • min: 0
  • max: 256
  • pattern: arn:aws:cleanrooms:[\w]{2}-[\w]{4,9}-[\d]:([\d]{12}|\*):membership\/[\*\d\w-]+\/configuredaudiencemodelassociation\/[\*\d\w-]+$|^arn:aws[-a-z]*:cleanrooms-ml:[-a-z0-9]+:([0-9]{12}|\*):membership\/[\*\d\w-]+\/configured-model-algorithm-association\/([-a-zA-Z0-9_\/.]+|\*)

allowedAnalysisProviders -> (list)

The list of Amazon Web Services account IDs for the allowed analysis providers.

(string)

Constraints:

  • min: 12
  • max: 12
  • pattern: \d+

allowedResultReceivers -> (list)

The list of Amazon Web Services account IDs that are allowed to receive results from queries run on the intermediate table.

(string)

Constraints:

  • min: 12
  • max: 12
  • pattern: \d+

differentialPrivacy -> (structure)

Specifies the unique identifier for your users.

columns -> (list) [required]

The name of the column (such as user_id) that contains the unique identifier of your users whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules.

Constraints:

  • min: 1
  • max: 1

(structure)

Specifies the name of the column that contains the unique identifier of your users, whose privacy you want to protect.

name -> (string) [required]

The name of the column, such as user_id, that contains the unique identifier of your users, whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules.

Constraints:

  • min: 0
  • max: 128
  • pattern: [a-z0-9_](([a-z0-9_ ]+-)*([a-z0-9_ ]+))?

disallowedOutputColumns -> (list)

The list of columns that are not allowed in the query output.

(string)

Constraints:

  • min: 1
  • max: 127
  • pattern: [a-z0-9_](([a-z0-9_ ]+-)*([a-z0-9_ ]+))?

aggregationThresholds -> (list)

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 allowedAnalyses allows only jobs.

Constraints:

  • min: 1
  • max: 1

(structure)

Specifies the minimum number of distinct identities that each query output group must represent.

identityColumns -> (list) [required]

The identity column, such as user_id , 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.

Constraints:

  • min: 1
  • max: 1

(string)

Constraints:

  • min: 1
  • max: 127
  • pattern: [a-z0-9_](([a-z0-9_ ]+-)*([a-z0-9_ ]+))?

minimumIdentityCount -> (integer) [required]

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 outputColumnThresholds .

Constraints:

  • min: 2
  • max: 100000

type -> (string) [required]

The type of aggregation that the threshold enforces. Currently, the only supported value is COUNT_DISTINCT , which counts the distinct values in the identity column.

Possible values:

  • COUNT_DISTINCT

outputColumnThresholds -> (list)

The per-column overrides of minimumIdentityCount . An output column without an override uses minimumIdentityCount .

(structure)

Specifies the minimum number of distinct identities for an individual output column. This value overrides the table-wide minimumIdentityCount that you set in AggregationThreshold .

outputColumnName -> (string) [required]

The name of the output column that the override applies to. You can specify each column only once.

Constraints:

  • min: 1
  • max: 127
  • pattern: [a-z0-9_](([a-z0-9_ ]+-)*([a-z0-9_ ]+))?

minimumIdentityCount -> (integer) [required]

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.

Constraints:

  • min: 0
  • max: 100000

allowedAggregateExpressionType -> (string) [required]

Specifies whether a query can aggregate a transformed column. This applies to the arguments of both aggregate and window functions. Valid values are:

COLUMNS_ONLY – A query can aggregate only a direct column reference, such as SUM(amount) , or a constant. Clean Rooms rejects a query that transforms a column and then aggregates it, such as SUM(amount * 2) or SUM(ROUND(amount)) .

ANY_EXPRESSION – A query can aggregate any expression. This includes arithmetic, such as SUM(price * quantity) ; a cast, such as SUM(CAST(amount AS DECIMAL)) ; a nested function call, such as SUM(COALESCE(amount, 0)) ; and a conditional, such as SUM(CASE WHEN region = 'EU' THEN amount ELSE 0 END) .

Possible values:

  • COLUMNS_ONLY
  • ANY_EXPRESSION

comparisonControls -> (structure)

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 allowedAnalyses allows only jobs.

allowedLiteralComparisonColumns -> (list) [required]

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.

(string)

Constraints:

  • min: 1
  • max: 127
  • pattern: [a-z0-9_](([a-z0-9_ ]+-)*([a-z0-9_ ]+))?

allowedColumnComparisonColumns -> (list) [required]

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.

(string)

Constraints:

  • min: 1
  • max: 127
  • pattern: [a-z0-9_](([a-z0-9_ ]+-)*([a-z0-9_ ]+))?

JSON Syntax:

{
  "v1": {
    "custom": {
      "allowedAnalyses": ["string", ...],
      "additionalAnalyses": "ALLOWED"|"REQUIRED"|"NOT_ALLOWED",
      "allowedAdditionalAnalyses": ["string", ...],
      "allowedAnalysisProviders": ["string", ...],
      "allowedResultReceivers": ["string", ...],
      "differentialPrivacy": {
        "columns": [
          {
            "name": "string"
          }
          ...
        ]
      },
      "disallowedOutputColumns": ["string", ...],
      "aggregationThresholds": [
        {
          "identityColumns": ["string", ...],
          "minimumIdentityCount": integer,
          "type": "COUNT_DISTINCT",
          "outputColumnThresholds": [
            {
              "outputColumnName": "string",
              "minimumIdentityCount": integer
            }
            ...
          ],
          "allowedAggregateExpressionType": "COLUMNS_ONLY"|"ANY_EXPRESSION"
        }
        ...
      ],
      "comparisonControls": {
        "allowedLiteralComparisonColumns": ["string", ...],
        "allowedColumnComparisonColumns": ["string", ...]
      }
    }
  }
}

--cli-input-json | --cli-input-yaml (string) Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml.

--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command. The generated JSON skeleton is not stable between versions of the AWS CLI and there are no backwards compatibility guarantees in the JSON skeleton generated.

Global Options

--debug (boolean)

Turn on debug logging.

--endpoint-url (string)

Override command’s default URL with the given URL.

--no-verify-ssl (boolean)

By default, the AWS CLI uses SSL when communicating with AWS services. For each SSL connection, the AWS CLI will verify SSL certificates. This option overrides the default behavior of verifying SSL certificates.

--no-paginate (boolean)

Disable automatic pagination. If automatic pagination is disabled, the AWS CLI will only make one call, for the first page of results.

--output (string)

The formatting style for command output.

  • json
  • text
  • table
  • yaml
  • yaml-stream
  • off

--query (string)

A JMESPath query to use in filtering the response data.

--profile (string)

Use a specific profile from your credential file.

--region (string)

The region to use. Overrides config/env settings.

--version (string)

Display the version of this tool.

--color (string)

Turn on/off color output.

  • on
  • off
  • auto

--no-sign-request (boolean)

Do not sign requests. Credentials will not be loaded if this argument is provided.

--ca-bundle (string)

The CA certificate bundle to use when verifying SSL certificates. Overrides config/env settings.

--cli-read-timeout (int)

The maximum socket read time in seconds. If the value is set to 0, the socket read will be blocking and not timeout. The default value is 60 seconds.

--cli-connect-timeout (int)

The maximum socket connect time in seconds. If the value is set to 0, the socket connect will be blocking and not timeout. The default value is 60 seconds.

--cli-binary-format (string)

The formatting style to be used for binary blobs. The default format is base64. The base64 format expects binary blobs to be provided as a base64 encoded string. The raw-in-base64-out format preserves compatibility with AWS CLI V1 behavior and binary values must be passed literally. When providing contents from a file that map to a binary blob fileb:// will always be treated as binary and use the file contents directly regardless of the cli-binary-format setting. When using file:// the file contents will need to properly formatted for the configured cli-binary-format.

  • base64
  • raw-in-base64-out

--no-cli-pager (boolean)

Disable cli pager for output.

--cli-auto-prompt (boolean)

Automatically prompt for CLI input parameters.

--no-cli-auto-prompt (boolean)

Disable automatically prompt for CLI input parameters.

--cli-error-format (string)

The formatting style for error output. By default, errors are displayed in enhanced format.

  • legacy
  • json
  • yaml
  • text
  • table
  • enhanced

Output

analysisRule -> (structure)

The updated analysis rule for the intermediate table.

intermediateTableIdentifier -> (string) [required]

The unique identifier of the intermediate table associated with this analysis rule.

Constraints:

  • min: 36
  • max: 36
  • pattern: [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}

intermediateTableArn -> (string) [required]

The Amazon Resource Name (ARN) of the intermediate table associated with this analysis rule.

Constraints:

  • min: 0
  • max: 256
  • pattern: arn:aws:cleanrooms:[\w]{2}-[\w]{4,9}-[\d]:[\d]{12}:membership\/[\d\w-]+\/intermediatetable\/[\d\w-]+

analysisRulePolicy -> (tagged union structure) [required]

The policy of the analysis rule.

Note

This is a Tagged Union structure. Only one of the following top level keys can be set: v1.

v1 -> (tagged union structure)

The version 1 policy for the analysis rule.

Note

This is a Tagged Union structure. Only one of the following top level keys can be set: custom.

custom -> (structure)

The custom analysis rule policy.

allowedAnalyses -> (list)

The list of allowed analyses that can be performed on the intermediate table.

(string)

Constraints:

  • min: 0
  • max: 200
  • pattern: (ANY_QUERY|ANY_JOB|arn:aws:cleanrooms:[\w]{2}-[\w]{4,9}-[\d]:[\d]{12}:membership/[\d\w-]+/analysistemplate/[\d\w-]+)

additionalAnalyses -> (string)

The setting that controls whether additional analyses are allowed on the intermediate table.

Possible values:

  • ALLOWED
  • REQUIRED
  • NOT_ALLOWED

allowedAdditionalAnalyses -> (list)

The list of allowed additional analyses for the intermediate table.

Constraints:

  • min: 0
  • max: 25

(string)

Constraints:

  • min: 0
  • max: 256
  • pattern: arn:aws:cleanrooms:[\w]{2}-[\w]{4,9}-[\d]:([\d]{12}|\*):membership\/[\*\d\w-]+\/configuredaudiencemodelassociation\/[\*\d\w-]+$|^arn:aws[-a-z]*:cleanrooms-ml:[-a-z0-9]+:([0-9]{12}|\*):membership\/[\*\d\w-]+\/configured-model-algorithm-association\/([-a-zA-Z0-9_\/.]+|\*)

allowedAnalysisProviders -> (list)

The list of Amazon Web Services account IDs for the allowed analysis providers.

(string)

Constraints:

  • min: 12
  • max: 12
  • pattern: \d+

allowedResultReceivers -> (list)

The list of Amazon Web Services account IDs that are allowed to receive results from queries run on the intermediate table.

(string)

Constraints:

  • min: 12
  • max: 12
  • pattern: \d+

differentialPrivacy -> (structure)

Specifies the unique identifier for your users.

columns -> (list) [required]

The name of the column (such as user_id) that contains the unique identifier of your users whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules.

Constraints:

  • min: 1
  • max: 1

(structure)

Specifies the name of the column that contains the unique identifier of your users, whose privacy you want to protect.

name -> (string) [required]

The name of the column, such as user_id, that contains the unique identifier of your users, whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules.

Constraints:

  • min: 0
  • max: 128
  • pattern: [a-z0-9_](([a-z0-9_ ]+-)*([a-z0-9_ ]+))?

disallowedOutputColumns -> (list)

The list of columns that are not allowed in the query output.

(string)

Constraints:

  • min: 1
  • max: 127
  • pattern: [a-z0-9_](([a-z0-9_ ]+-)*([a-z0-9_ ]+))?

aggregationThresholds -> (list)

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 allowedAnalyses allows only jobs.

Constraints:

  • min: 1
  • max: 1

(structure)

Specifies the minimum number of distinct identities that each query output group must represent.

identityColumns -> (list) [required]

The identity column, such as user_id , 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.

Constraints:

  • min: 1
  • max: 1

(string)

Constraints:

  • min: 1
  • max: 127
  • pattern: [a-z0-9_](([a-z0-9_ ]+-)*([a-z0-9_ ]+))?

minimumIdentityCount -> (integer) [required]

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 outputColumnThresholds .

Constraints:

  • min: 2
  • max: 100000

type -> (string) [required]

The type of aggregation that the threshold enforces. Currently, the only supported value is COUNT_DISTINCT , which counts the distinct values in the identity column.

Possible values:

  • COUNT_DISTINCT

outputColumnThresholds -> (list)

The per-column overrides of minimumIdentityCount . An output column without an override uses minimumIdentityCount .

(structure)

Specifies the minimum number of distinct identities for an individual output column. This value overrides the table-wide minimumIdentityCount that you set in AggregationThreshold .

outputColumnName -> (string) [required]

The name of the output column that the override applies to. You can specify each column only once.

Constraints:

  • min: 1
  • max: 127
  • pattern: [a-z0-9_](([a-z0-9_ ]+-)*([a-z0-9_ ]+))?

minimumIdentityCount -> (integer) [required]

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.

Constraints:

  • min: 0
  • max: 100000

allowedAggregateExpressionType -> (string) [required]

Specifies whether a query can aggregate a transformed column. This applies to the arguments of both aggregate and window functions. Valid values are:

COLUMNS_ONLY – A query can aggregate only a direct column reference, such as SUM(amount) , or a constant. Clean Rooms rejects a query that transforms a column and then aggregates it, such as SUM(amount * 2) or SUM(ROUND(amount)) .

ANY_EXPRESSION – A query can aggregate any expression. This includes arithmetic, such as SUM(price * quantity) ; a cast, such as SUM(CAST(amount AS DECIMAL)) ; a nested function call, such as SUM(COALESCE(amount, 0)) ; and a conditional, such as SUM(CASE WHEN region = 'EU' THEN amount ELSE 0 END) .

Possible values:

  • COLUMNS_ONLY
  • ANY_EXPRESSION

comparisonControls -> (structure)

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 allowedAnalyses allows only jobs.

allowedLiteralComparisonColumns -> (list) [required]

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.

(string)

Constraints:

  • min: 1
  • max: 127
  • pattern: [a-z0-9_](([a-z0-9_ ]+-)*([a-z0-9_ ]+))?

allowedColumnComparisonColumns -> (list) [required]

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.

(string)

Constraints:

  • min: 1
  • max: 127
  • pattern: [a-z0-9_](([a-z0-9_ ]+-)*([a-z0-9_ ]+))?

analysisRuleType -> (string) [required]

The type of the analysis rule.

Possible values:

  • CUSTOM

createTime -> (timestamp) [required]

The time the analysis rule was created.

updateTime -> (timestamp) [required]

The time the analysis rule was last updated.