aws-sdk-cleanrooms 1.74.0 → 1.76.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.
@@ -594,11 +594,11 @@ module Aws::CleanRooms
594
594
  # resp.schemas[0].description #=> String
595
595
  # resp.schemas[0].create_time #=> Time
596
596
  # resp.schemas[0].update_time #=> Time
597
- # resp.schemas[0].type #=> String, one of "TABLE", "ID_MAPPING_TABLE"
597
+ # resp.schemas[0].type #=> String, one of "TABLE", "ID_MAPPING_TABLE", "INTERMEDIATE_TABLE"
598
598
  # resp.schemas[0].schema_status_details #=> Array
599
599
  # resp.schemas[0].schema_status_details[0].status #=> String, one of "READY", "NOT_READY"
600
600
  # resp.schemas[0].schema_status_details[0].reasons #=> Array
601
- # 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", "ID_MAPPING_TABLE_NOT_POPULATED", "COLLABORATION_ANALYSIS_RULE_NOT_CONFIGURED", "ADDITIONAL_ANALYSES_NOT_CONFIGURED", "RESULT_RECEIVERS_NOT_CONFIGURED", "ADDITIONAL_ANALYSES_NOT_ALLOWED", "RESULT_RECEIVERS_NOT_ALLOWED", "ANALYSIS_RULE_TYPES_NOT_COMPATIBLE"
601
+ # 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", "ID_MAPPING_TABLE_NOT_POPULATED", "COLLABORATION_ANALYSIS_RULE_NOT_CONFIGURED", "ADDITIONAL_ANALYSES_NOT_CONFIGURED", "RESULT_RECEIVERS_NOT_CONFIGURED", "ADDITIONAL_ANALYSES_NOT_ALLOWED", "RESULT_RECEIVERS_NOT_ALLOWED", "ANALYSIS_RULE_TYPES_NOT_COMPATIBLE", "INTERMEDIATE_TABLE_NOT_POPULATED", "INTERMEDIATE_TABLE_ANALYSIS_RULE_MISSING", "INTERMEDIATE_TABLE_BASE_TABLE_REMOVED", "INTERMEDIATE_TABLE_INHERITED_CONSTRAINTS_VIOLATED", "INTERMEDIATE_TABLE_DISALLOWED_BY_DATA_PROVIDER", "INTERMEDIATE_TABLE_RETENTION_PERIOD_EXPIRED"
602
602
  # resp.schemas[0].schema_status_details[0].reasons[0].message #=> String
603
603
  # resp.schemas[0].schema_status_details[0].analysis_rule_type #=> String, one of "AGGREGATION", "LIST", "CUSTOM", "ID_MAPPING_TABLE"
604
604
  # resp.schemas[0].schema_status_details[0].configurations #=> Array
@@ -608,6 +608,9 @@ module Aws::CleanRooms
608
608
  # resp.schemas[0].schema_type_properties.id_mapping_table.id_mapping_table_input_source #=> Array
609
609
  # resp.schemas[0].schema_type_properties.id_mapping_table.id_mapping_table_input_source[0].id_namespace_association_id #=> String
610
610
  # resp.schemas[0].schema_type_properties.id_mapping_table.id_mapping_table_input_source[0].type #=> String, one of "SOURCE", "TARGET"
611
+ # resp.schemas[0].schema_type_properties.id_mapping_table.id_mapping_table_id #=> String
612
+ # resp.schemas[0].schema_type_properties.intermediate_table.intermediate_table_id #=> String
613
+ # resp.schemas[0].schema_type_properties.configured_table_association.configured_table_association_id #=> String
611
614
  # resp.errors #=> Array
612
615
  # resp.errors[0].name #=> String
613
616
  # resp.errors[0].code #=> String
@@ -690,6 +693,10 @@ module Aws::CleanRooms
690
693
  # resp.analysis_rules[0].policy.v1.custom.disallowed_output_columns[0] #=> String
691
694
  # resp.analysis_rules[0].policy.v1.custom.differential_privacy.columns #=> Array
692
695
  # resp.analysis_rules[0].policy.v1.custom.differential_privacy.columns[0].name #=> String
696
+ # resp.analysis_rules[0].policy.v1.custom.allowed_result_receivers #=> Array
697
+ # resp.analysis_rules[0].policy.v1.custom.allowed_result_receivers[0] #=> String
698
+ # resp.analysis_rules[0].policy.v1.custom.allowed_additional_analyses #=> Array
699
+ # resp.analysis_rules[0].policy.v1.custom.allowed_additional_analyses[0] #=> String
693
700
  # resp.analysis_rules[0].policy.v1.id_mapping_table.join_columns #=> Array
694
701
  # resp.analysis_rules[0].policy.v1.id_mapping_table.join_columns[0] #=> String
695
702
  # resp.analysis_rules[0].policy.v1.id_mapping_table.query_constraints #=> Array
@@ -935,7 +942,7 @@ module Aws::CleanRooms
935
942
  # @option params [required, String] :name
936
943
  # The display name for a collaboration.
937
944
  #
938
- # @option params [required, String] :description
945
+ # @option params [String] :description
939
946
  # A description of the collaboration provided by the collaboration
940
947
  # owner.
941
948
  #
@@ -1044,7 +1051,7 @@ module Aws::CleanRooms
1044
1051
  # },
1045
1052
  # ],
1046
1053
  # name: "CollaborationName", # required
1047
- # description: "CollaborationDescription", # required
1054
+ # description: "CollaborationDescription",
1048
1055
  # creator_member_abilities: ["CAN_QUERY"], # required, accepts CAN_QUERY, CAN_RECEIVE_RESULTS, CAN_RUN_JOB
1049
1056
  # creator_ml_member_abilities: {
1050
1057
  # custom_ml_member_abilities: ["CAN_RECEIVE_MODEL_OUTPUT"], # required, accepts CAN_RECEIVE_MODEL_OUTPUT, CAN_RECEIVE_INFERENCE_OUTPUT
@@ -1484,6 +1491,8 @@ module Aws::CleanRooms
1484
1491
  # },
1485
1492
  # ],
1486
1493
  # },
1494
+ # allowed_result_receivers: ["AccountId"],
1495
+ # allowed_additional_analyses: ["AdditionalAnalysesResourceArn"],
1487
1496
  # },
1488
1497
  # },
1489
1498
  # },
@@ -1527,6 +1536,10 @@ module Aws::CleanRooms
1527
1536
  # resp.analysis_rule.policy.v1.custom.disallowed_output_columns[0] #=> String
1528
1537
  # resp.analysis_rule.policy.v1.custom.differential_privacy.columns #=> Array
1529
1538
  # resp.analysis_rule.policy.v1.custom.differential_privacy.columns[0].name #=> String
1539
+ # resp.analysis_rule.policy.v1.custom.allowed_result_receivers #=> Array
1540
+ # resp.analysis_rule.policy.v1.custom.allowed_result_receivers[0] #=> String
1541
+ # resp.analysis_rule.policy.v1.custom.allowed_additional_analyses #=> Array
1542
+ # resp.analysis_rule.policy.v1.custom.allowed_additional_analyses[0] #=> String
1530
1543
  # resp.analysis_rule.type #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
1531
1544
  # resp.analysis_rule.create_time #=> Time
1532
1545
  # resp.analysis_rule.update_time #=> Time
@@ -1601,6 +1614,12 @@ module Aws::CleanRooms
1601
1614
  # resp.configured_table_association.analysis_rule_types[0] #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
1602
1615
  # resp.configured_table_association.create_time #=> Time
1603
1616
  # resp.configured_table_association.update_time #=> Time
1617
+ # resp.configured_table_association.child_resources #=> Array
1618
+ # resp.configured_table_association.child_resources[0].resource_id #=> String
1619
+ # resp.configured_table_association.child_resources[0].resource_type #=> String, one of "INTERMEDIATE_TABLE"
1620
+ # resp.configured_table_association.child_resources[0].resource_name #=> String
1621
+ # resp.configured_table_association.child_resources[0].owner_account_id #=> String
1622
+ # resp.configured_table_association.child_resources[0].resource_status #=> String, one of "CREATED", "POPULATE_STARTED", "POPULATE_SUCCESS", "POPULATE_FAILED", "DISALLOWED_BY_DATA_PROVIDER", "BASE_TABLE_REMOVED", "RETENTION_PERIOD_EXPIRED"
1604
1623
  #
1605
1624
  # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/CreateConfiguredTableAssociation AWS API Documentation
1606
1625
  #
@@ -1751,6 +1770,12 @@ module Aws::CleanRooms
1751
1770
  # resp.id_mapping_table.input_reference_properties.id_mapping_table_input_source[0].id_namespace_association_id #=> String
1752
1771
  # resp.id_mapping_table.input_reference_properties.id_mapping_table_input_source[0].type #=> String, one of "SOURCE", "TARGET"
1753
1772
  # resp.id_mapping_table.kms_key_arn #=> String
1773
+ # resp.id_mapping_table.child_resources #=> Array
1774
+ # resp.id_mapping_table.child_resources[0].resource_id #=> String
1775
+ # resp.id_mapping_table.child_resources[0].resource_type #=> String, one of "INTERMEDIATE_TABLE"
1776
+ # resp.id_mapping_table.child_resources[0].resource_name #=> String
1777
+ # resp.id_mapping_table.child_resources[0].owner_account_id #=> String
1778
+ # resp.id_mapping_table.child_resources[0].resource_status #=> String, one of "CREATED", "POPULATE_STARTED", "POPULATE_SUCCESS", "POPULATE_FAILED", "DISALLOWED_BY_DATA_PROVIDER", "BASE_TABLE_REMOVED", "RETENTION_PERIOD_EXPIRED"
1754
1779
  #
1755
1780
  # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/CreateIdMappingTable AWS API Documentation
1756
1781
  #
@@ -1835,6 +1860,232 @@ module Aws::CleanRooms
1835
1860
  req.send_request(options)
1836
1861
  end
1837
1862
 
1863
+ # Creates an intermediate table in a membership. An intermediate table
1864
+ # stores a query definition that you can execute later using
1865
+ # `PopulateIntermediateTable` to materialize cached results. The
1866
+ # intermediate table is owned by the member with the CAN\_QUERY ability.
1867
+ # This operation does not execute the stored query.
1868
+ #
1869
+ # @option params [required, String] :membership_identifier
1870
+ # The unique identifier of the membership where the intermediate table
1871
+ # is created.
1872
+ #
1873
+ # @option params [required, String] :name
1874
+ # The display name for the intermediate table.
1875
+ #
1876
+ # @option params [String] :description
1877
+ # A description of the intermediate table.
1878
+ #
1879
+ # @option params [required, Types::PopulationAnalysisConfiguration] :population_analysis_configuration
1880
+ # The configuration that defines the analysis used to populate the
1881
+ # intermediate table. This configuration contains the SQL query or
1882
+ # analysis template reference.
1883
+ #
1884
+ # @option params [String] :kms_key_arn
1885
+ # The Amazon Resource Name (ARN) of the customer-managed KMS key used to
1886
+ # encrypt the intermediate table data.
1887
+ #
1888
+ # @option params [Integer] :retention_in_days
1889
+ # The number of days to retain populated data versions. Minimum value of
1890
+ # 1, maximum value of 365.
1891
+ #
1892
+ # @option params [Hash<String,String>] :tags
1893
+ # An optional label that you can assign to a resource when you create
1894
+ # it. Each tag consists of a key and an optional value, both of which
1895
+ # you define. When you use tagging, you can also use tag-based access
1896
+ # control in IAM policies to control access to this resource.
1897
+ #
1898
+ # @return [Types::CreateIntermediateTableOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1899
+ #
1900
+ # * {Types::CreateIntermediateTableOutput#intermediate_table #intermediate_table} => Types::IntermediateTable
1901
+ #
1902
+ # @example Request syntax with placeholder values
1903
+ #
1904
+ # resp = client.create_intermediate_table({
1905
+ # membership_identifier: "MembershipIdentifier", # required
1906
+ # name: "DisplayName", # required
1907
+ # description: "ResourceDescription",
1908
+ # population_analysis_configuration: { # required
1909
+ # sql_parameters: {
1910
+ # query_string: "PopulationAnalysisSqlParametersQueryStringString",
1911
+ # analysis_template_arn: "AnalysisTemplateArn",
1912
+ # },
1913
+ # },
1914
+ # kms_key_arn: "KMSKeyArn",
1915
+ # retention_in_days: 1,
1916
+ # tags: {
1917
+ # "TagKey" => "TagValue",
1918
+ # },
1919
+ # })
1920
+ #
1921
+ # @example Response structure
1922
+ #
1923
+ # resp.intermediate_table.id #=> String
1924
+ # resp.intermediate_table.arn #=> String
1925
+ # resp.intermediate_table.name #=> String
1926
+ # resp.intermediate_table.description #=> String
1927
+ # resp.intermediate_table.membership_arn #=> String
1928
+ # resp.intermediate_table.membership_id #=> String
1929
+ # resp.intermediate_table.collaboration_arn #=> String
1930
+ # resp.intermediate_table.collaboration_id #=> String
1931
+ # resp.intermediate_table.child_resources #=> Array
1932
+ # resp.intermediate_table.child_resources[0].resource_id #=> String
1933
+ # resp.intermediate_table.child_resources[0].resource_type #=> String, one of "INTERMEDIATE_TABLE"
1934
+ # resp.intermediate_table.child_resources[0].resource_name #=> String
1935
+ # resp.intermediate_table.child_resources[0].owner_account_id #=> String
1936
+ # resp.intermediate_table.child_resources[0].resource_status #=> String, one of "CREATED", "POPULATE_STARTED", "POPULATE_SUCCESS", "POPULATE_FAILED", "DISALLOWED_BY_DATA_PROVIDER", "BASE_TABLE_REMOVED", "RETENTION_PERIOD_EXPIRED"
1937
+ # resp.intermediate_table.create_time #=> Time
1938
+ # resp.intermediate_table.update_time #=> Time
1939
+ # resp.intermediate_table.status #=> String, one of "CREATED", "POPULATE_STARTED", "POPULATE_SUCCESS", "POPULATE_FAILED", "DISALLOWED_BY_DATA_PROVIDER", "BASE_TABLE_REMOVED", "RETENTION_PERIOD_EXPIRED"
1940
+ # resp.intermediate_table.status_reason #=> String
1941
+ # resp.intermediate_table.kms_key_arn #=> String
1942
+ # resp.intermediate_table.population_analysis_configuration.sql_parameters.query_string #=> String
1943
+ # resp.intermediate_table.population_analysis_configuration.sql_parameters.analysis_template_arn #=> String
1944
+ # resp.intermediate_table.retention_in_days #=> Integer
1945
+ # resp.intermediate_table.table_dependencies #=> Array
1946
+ # resp.intermediate_table.table_dependencies[0].id #=> String
1947
+ # resp.intermediate_table.table_dependencies[0].name #=> String
1948
+ # resp.intermediate_table.table_dependencies[0].type #=> String, one of "TABLE", "INTERMEDIATE_TABLE", "ID_MAPPING_TABLE"
1949
+ # resp.intermediate_table.table_dependencies[0].parent_type #=> String, one of "DIRECT", "INDIRECT"
1950
+ # resp.intermediate_table.table_dependencies[0].creator_account_id #=> String
1951
+ # resp.intermediate_table.intermediate_table_version.version_id #=> String
1952
+ # resp.intermediate_table.intermediate_table_version.analysis_id #=> String
1953
+ # resp.intermediate_table.intermediate_table_version.analysis_type #=> String, one of "QUERY"
1954
+ # resp.intermediate_table.intermediate_table_version.kms_key_arn #=> String
1955
+ # resp.intermediate_table.intermediate_table_version.parameters #=> Hash
1956
+ # resp.intermediate_table.intermediate_table_version.parameters["ParameterName"] #=> String
1957
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.additional_analyses.value #=> String, one of "ALLOWED", "REQUIRED", "NOT_ALLOWED"
1958
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.additional_analyses.sources #=> Array
1959
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.additional_analyses.sources[0].name #=> String
1960
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.additional_analyses.sources[0].id #=> String
1961
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.additional_analyses.sources[0].type #=> String, one of "TABLE", "INTERMEDIATE_TABLE", "ID_MAPPING_TABLE"
1962
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.additional_analyses.sources[0].value #=> String, one of "ALLOWED", "REQUIRED", "NOT_ALLOWED"
1963
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.additional_analyses.sources[0].source_account_id #=> String
1964
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_additional_analyses.value #=> Array
1965
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_additional_analyses.value[0] #=> String
1966
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_additional_analyses.sources #=> Array
1967
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_additional_analyses.sources[0].name #=> String
1968
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_additional_analyses.sources[0].id #=> String
1969
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_additional_analyses.sources[0].type #=> String, one of "TABLE", "INTERMEDIATE_TABLE", "ID_MAPPING_TABLE"
1970
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_additional_analyses.sources[0].value #=> Array
1971
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_additional_analyses.sources[0].value[0] #=> String
1972
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_additional_analyses.sources[0].source_account_id #=> String
1973
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_result_receivers.value #=> Array
1974
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_result_receivers.value[0] #=> String
1975
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_result_receivers.sources #=> Array
1976
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_result_receivers.sources[0].name #=> String
1977
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_result_receivers.sources[0].id #=> String
1978
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_result_receivers.sources[0].type #=> String, one of "TABLE", "INTERMEDIATE_TABLE", "ID_MAPPING_TABLE"
1979
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_result_receivers.sources[0].value #=> Array
1980
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_result_receivers.sources[0].value[0] #=> String
1981
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_result_receivers.sources[0].source_account_id #=> String
1982
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.disallowed_output_columns.value #=> Array
1983
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.disallowed_output_columns.value[0] #=> String
1984
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.disallowed_output_columns.column_lineage #=> Array
1985
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.disallowed_output_columns.column_lineage[0].column #=> String
1986
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.disallowed_output_columns.column_lineage[0].source_column #=> String
1987
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.disallowed_output_columns.column_lineage[0].source_name #=> String
1988
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.disallowed_output_columns.column_lineage[0].source_id #=> String
1989
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.disallowed_output_columns.column_lineage[0].source_type #=> String, one of "TABLE", "INTERMEDIATE_TABLE", "ID_MAPPING_TABLE"
1990
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.disallowed_output_columns.column_lineage[0].source_account_id #=> String
1991
+ # resp.intermediate_table.intermediate_table_version.expiration_time #=> Time
1992
+ # resp.intermediate_table.analysis_rule_types #=> Array
1993
+ # resp.intermediate_table.analysis_rule_types[0] #=> String, one of "CUSTOM"
1994
+ # resp.intermediate_table.schema.columns #=> Array
1995
+ # resp.intermediate_table.schema.columns[0].name #=> String
1996
+ # resp.intermediate_table.schema.columns[0].type #=> String
1997
+ #
1998
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/CreateIntermediateTable AWS API Documentation
1999
+ #
2000
+ # @overload create_intermediate_table(params = {})
2001
+ # @param [Hash] params ({})
2002
+ def create_intermediate_table(params = {}, options = {})
2003
+ req = build_request(:create_intermediate_table, params)
2004
+ req.send_request(options)
2005
+ end
2006
+
2007
+ # Creates an analysis rule for an intermediate table. Only the CUSTOM
2008
+ # analysis rule type is supported. The service automatically determines
2009
+ # whether the rule is first-party or multi-party restricted based on the
2010
+ # intermediate table's inherited constraints. Only the intermediate
2011
+ # table owner can call this operation.
2012
+ #
2013
+ # @option params [required, String] :membership_identifier
2014
+ # The unique identifier of the membership that contains the intermediate
2015
+ # table.
2016
+ #
2017
+ # @option params [required, String] :intermediate_table_identifier
2018
+ # The unique identifier of the intermediate table for which to create
2019
+ # the analysis rule.
2020
+ #
2021
+ # @option params [required, String] :analysis_rule_type
2022
+ # The type of analysis rule to create. Currently, only `CUSTOM` is
2023
+ # supported.
2024
+ #
2025
+ # @option params [required, Types::IntermediateTableAnalysisRulePolicy] :analysis_rule_policy
2026
+ # The analysis rule policy to apply to the intermediate table.
2027
+ #
2028
+ # @return [Types::CreateIntermediateTableAnalysisRuleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2029
+ #
2030
+ # * {Types::CreateIntermediateTableAnalysisRuleOutput#analysis_rule #analysis_rule} => Types::IntermediateTableAnalysisRule
2031
+ #
2032
+ # @example Request syntax with placeholder values
2033
+ #
2034
+ # resp = client.create_intermediate_table_analysis_rule({
2035
+ # membership_identifier: "MembershipIdentifier", # required
2036
+ # intermediate_table_identifier: "IntermediateTableIdentifier", # required
2037
+ # analysis_rule_type: "CUSTOM", # required, accepts CUSTOM
2038
+ # analysis_rule_policy: { # required
2039
+ # v1: {
2040
+ # custom: {
2041
+ # allowed_analyses: ["AnalysisTemplateArnOrQueryWildcard"],
2042
+ # additional_analyses: "ALLOWED", # accepts ALLOWED, REQUIRED, NOT_ALLOWED
2043
+ # allowed_additional_analyses: ["AdditionalAnalysesResourceArn"],
2044
+ # allowed_analysis_providers: ["AccountId"],
2045
+ # allowed_result_receivers: ["AccountId"],
2046
+ # differential_privacy: {
2047
+ # columns: [ # required
2048
+ # {
2049
+ # name: "ColumnName", # required
2050
+ # },
2051
+ # ],
2052
+ # },
2053
+ # disallowed_output_columns: ["AnalysisRuleColumnName"],
2054
+ # },
2055
+ # },
2056
+ # },
2057
+ # })
2058
+ #
2059
+ # @example Response structure
2060
+ #
2061
+ # resp.analysis_rule.intermediate_table_identifier #=> String
2062
+ # resp.analysis_rule.intermediate_table_arn #=> String
2063
+ # resp.analysis_rule.analysis_rule_policy.v1.custom.allowed_analyses #=> Array
2064
+ # resp.analysis_rule.analysis_rule_policy.v1.custom.allowed_analyses[0] #=> String
2065
+ # resp.analysis_rule.analysis_rule_policy.v1.custom.additional_analyses #=> String, one of "ALLOWED", "REQUIRED", "NOT_ALLOWED"
2066
+ # resp.analysis_rule.analysis_rule_policy.v1.custom.allowed_additional_analyses #=> Array
2067
+ # resp.analysis_rule.analysis_rule_policy.v1.custom.allowed_additional_analyses[0] #=> String
2068
+ # resp.analysis_rule.analysis_rule_policy.v1.custom.allowed_analysis_providers #=> Array
2069
+ # resp.analysis_rule.analysis_rule_policy.v1.custom.allowed_analysis_providers[0] #=> String
2070
+ # resp.analysis_rule.analysis_rule_policy.v1.custom.allowed_result_receivers #=> Array
2071
+ # resp.analysis_rule.analysis_rule_policy.v1.custom.allowed_result_receivers[0] #=> String
2072
+ # resp.analysis_rule.analysis_rule_policy.v1.custom.differential_privacy.columns #=> Array
2073
+ # resp.analysis_rule.analysis_rule_policy.v1.custom.differential_privacy.columns[0].name #=> String
2074
+ # resp.analysis_rule.analysis_rule_policy.v1.custom.disallowed_output_columns #=> Array
2075
+ # resp.analysis_rule.analysis_rule_policy.v1.custom.disallowed_output_columns[0] #=> String
2076
+ # resp.analysis_rule.analysis_rule_type #=> String, one of "CUSTOM"
2077
+ # resp.analysis_rule.create_time #=> Time
2078
+ # resp.analysis_rule.update_time #=> Time
2079
+ #
2080
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/CreateIntermediateTableAnalysisRule AWS API Documentation
2081
+ #
2082
+ # @overload create_intermediate_table_analysis_rule(params = {})
2083
+ # @param [Hash] params ({})
2084
+ def create_intermediate_table_analysis_rule(params = {}, options = {})
2085
+ req = build_request(:create_intermediate_table_analysis_rule, params)
2086
+ req.send_request(options)
2087
+ end
2088
+
1838
2089
  # Creates a membership for a specific collaboration identifier and joins
1839
2090
  # the collaboration.
1840
2091
  #
@@ -2327,6 +2578,72 @@ module Aws::CleanRooms
2327
2578
  req.send_request(options)
2328
2579
  end
2329
2580
 
2581
+ # Deletes an intermediate table. When you delete the table, the service
2582
+ # marks it as DELETED, removes its analysis rule and schema, and
2583
+ # triggers storage cleanup. This operation is idempotent. Only the
2584
+ # intermediate table owner can call this operation.
2585
+ #
2586
+ # @option params [required, String] :membership_identifier
2587
+ # The unique identifier of the membership that contains the intermediate
2588
+ # table.
2589
+ #
2590
+ # @option params [required, String] :intermediate_table_identifier
2591
+ # The unique identifier of the intermediate table to delete.
2592
+ #
2593
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2594
+ #
2595
+ # @example Request syntax with placeholder values
2596
+ #
2597
+ # resp = client.delete_intermediate_table({
2598
+ # membership_identifier: "MembershipIdentifier", # required
2599
+ # intermediate_table_identifier: "IntermediateTableIdentifier", # required
2600
+ # })
2601
+ #
2602
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/DeleteIntermediateTable AWS API Documentation
2603
+ #
2604
+ # @overload delete_intermediate_table(params = {})
2605
+ # @param [Hash] params ({})
2606
+ def delete_intermediate_table(params = {}, options = {})
2607
+ req = build_request(:delete_intermediate_table, params)
2608
+ req.send_request(options)
2609
+ end
2610
+
2611
+ # Deletes an analysis rule from an intermediate table. After the
2612
+ # analysis rule is deleted, the intermediate table becomes unqueryable
2613
+ # until a new analysis rule is attached. Only the intermediate table
2614
+ # owner can call this operation.
2615
+ #
2616
+ # @option params [required, String] :membership_identifier
2617
+ # The unique identifier of the membership that contains the intermediate
2618
+ # table.
2619
+ #
2620
+ # @option params [required, String] :intermediate_table_identifier
2621
+ # The unique identifier of the intermediate table from which to delete
2622
+ # the analysis rule.
2623
+ #
2624
+ # @option params [required, String] :analysis_rule_type
2625
+ # The type of analysis rule to delete. Currently, only `CUSTOM` is
2626
+ # supported.
2627
+ #
2628
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2629
+ #
2630
+ # @example Request syntax with placeholder values
2631
+ #
2632
+ # resp = client.delete_intermediate_table_analysis_rule({
2633
+ # membership_identifier: "MembershipIdentifier", # required
2634
+ # intermediate_table_identifier: "IntermediateTableIdentifier", # required
2635
+ # analysis_rule_type: "CUSTOM", # required, accepts CUSTOM
2636
+ # })
2637
+ #
2638
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/DeleteIntermediateTableAnalysisRule AWS API Documentation
2639
+ #
2640
+ # @overload delete_intermediate_table_analysis_rule(params = {})
2641
+ # @param [Hash] params ({})
2642
+ def delete_intermediate_table_analysis_rule(params = {}, options = {})
2643
+ req = build_request(:delete_intermediate_table_analysis_rule, params)
2644
+ req.send_request(options)
2645
+ end
2646
+
2330
2647
  # Removes the specified member from a collaboration. The removed member
2331
2648
  # is placed in the Removed status and can't interact with the
2332
2649
  # collaboration. The removed member's data is inaccessible to active
@@ -2407,6 +2724,41 @@ module Aws::CleanRooms
2407
2724
  req.send_request(options)
2408
2725
  end
2409
2726
 
2727
+ # Invalidates a specific intermediate table that references the
2728
+ # caller's base table. The data provider (base table owner) calls this
2729
+ # operation, not the intermediate table owner. By default, invalidation
2730
+ # cascades to descendant intermediate tables.
2731
+ #
2732
+ # @option params [required, String] :membership_identifier
2733
+ # The unique identifier of the membership that contains the intermediate
2734
+ # table to disallow.
2735
+ #
2736
+ # @option params [required, String] :intermediate_table_name
2737
+ # The name of the intermediate table to disallow.
2738
+ #
2739
+ # @option params [Boolean] :include_descendants
2740
+ # Specifies whether to cascade the disallow action to descendant
2741
+ # intermediate tables. Default is `true`.
2742
+ #
2743
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2744
+ #
2745
+ # @example Request syntax with placeholder values
2746
+ #
2747
+ # resp = client.disallow_intermediate_table({
2748
+ # membership_identifier: "MembershipIdentifier", # required
2749
+ # intermediate_table_name: "DisplayName", # required
2750
+ # include_descendants: false,
2751
+ # })
2752
+ #
2753
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/DisallowIntermediateTable AWS API Documentation
2754
+ #
2755
+ # @overload disallow_intermediate_table(params = {})
2756
+ # @param [Hash] params ({})
2757
+ def disallow_intermediate_table(params = {}, options = {})
2758
+ req = build_request(:disallow_intermediate_table, params)
2759
+ req.send_request(options)
2760
+ end
2761
+
2410
2762
  # Retrieves an analysis template.
2411
2763
  #
2412
2764
  # @option params [required, String] :membership_identifier
@@ -2956,6 +3308,10 @@ module Aws::CleanRooms
2956
3308
  # resp.analysis_rule.policy.v1.custom.disallowed_output_columns[0] #=> String
2957
3309
  # resp.analysis_rule.policy.v1.custom.differential_privacy.columns #=> Array
2958
3310
  # resp.analysis_rule.policy.v1.custom.differential_privacy.columns[0].name #=> String
3311
+ # resp.analysis_rule.policy.v1.custom.allowed_result_receivers #=> Array
3312
+ # resp.analysis_rule.policy.v1.custom.allowed_result_receivers[0] #=> String
3313
+ # resp.analysis_rule.policy.v1.custom.allowed_additional_analyses #=> Array
3314
+ # resp.analysis_rule.policy.v1.custom.allowed_additional_analyses[0] #=> String
2959
3315
  # resp.analysis_rule.type #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
2960
3316
  # resp.analysis_rule.create_time #=> Time
2961
3317
  # resp.analysis_rule.update_time #=> Time
@@ -3005,6 +3361,12 @@ module Aws::CleanRooms
3005
3361
  # resp.configured_table_association.analysis_rule_types[0] #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
3006
3362
  # resp.configured_table_association.create_time #=> Time
3007
3363
  # resp.configured_table_association.update_time #=> Time
3364
+ # resp.configured_table_association.child_resources #=> Array
3365
+ # resp.configured_table_association.child_resources[0].resource_id #=> String
3366
+ # resp.configured_table_association.child_resources[0].resource_type #=> String, one of "INTERMEDIATE_TABLE"
3367
+ # resp.configured_table_association.child_resources[0].resource_name #=> String
3368
+ # resp.configured_table_association.child_resources[0].owner_account_id #=> String
3369
+ # resp.configured_table_association.child_resources[0].resource_status #=> String, one of "CREATED", "POPULATE_STARTED", "POPULATE_SUCCESS", "POPULATE_FAILED", "DISALLOWED_BY_DATA_PROVIDER", "BASE_TABLE_REMOVED", "RETENTION_PERIOD_EXPIRED"
3008
3370
  #
3009
3371
  # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetConfiguredTableAssociation AWS API Documentation
3010
3372
  #
@@ -3109,6 +3471,12 @@ module Aws::CleanRooms
3109
3471
  # resp.id_mapping_table.input_reference_properties.id_mapping_table_input_source[0].id_namespace_association_id #=> String
3110
3472
  # resp.id_mapping_table.input_reference_properties.id_mapping_table_input_source[0].type #=> String, one of "SOURCE", "TARGET"
3111
3473
  # resp.id_mapping_table.kms_key_arn #=> String
3474
+ # resp.id_mapping_table.child_resources #=> Array
3475
+ # resp.id_mapping_table.child_resources[0].resource_id #=> String
3476
+ # resp.id_mapping_table.child_resources[0].resource_type #=> String, one of "INTERMEDIATE_TABLE"
3477
+ # resp.id_mapping_table.child_resources[0].resource_name #=> String
3478
+ # resp.id_mapping_table.child_resources[0].owner_account_id #=> String
3479
+ # resp.id_mapping_table.child_resources[0].resource_status #=> String, one of "CREATED", "POPULATE_STARTED", "POPULATE_SUCCESS", "POPULATE_FAILED", "DISALLOWED_BY_DATA_PROVIDER", "BASE_TABLE_REMOVED", "RETENTION_PERIOD_EXPIRED"
3112
3480
  #
3113
3481
  # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetIdMappingTable AWS API Documentation
3114
3482
  #
@@ -3167,6 +3535,171 @@ module Aws::CleanRooms
3167
3535
  req.send_request(options)
3168
3536
  end
3169
3537
 
3538
+ # Retrieves an intermediate table. Returns the full details of the
3539
+ # intermediate table, including schema, table dependencies, inherited
3540
+ # constraints, child resources, and status. Only the intermediate table
3541
+ # owner can call this operation.
3542
+ #
3543
+ # @option params [required, String] :intermediate_table_identifier
3544
+ # The unique identifier of the intermediate table to retrieve.
3545
+ #
3546
+ # @option params [required, String] :membership_identifier
3547
+ # The unique identifier of the membership that contains the intermediate
3548
+ # table.
3549
+ #
3550
+ # @return [Types::GetIntermediateTableOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3551
+ #
3552
+ # * {Types::GetIntermediateTableOutput#intermediate_table #intermediate_table} => Types::IntermediateTable
3553
+ #
3554
+ # @example Request syntax with placeholder values
3555
+ #
3556
+ # resp = client.get_intermediate_table({
3557
+ # intermediate_table_identifier: "IntermediateTableIdentifier", # required
3558
+ # membership_identifier: "MembershipIdentifier", # required
3559
+ # })
3560
+ #
3561
+ # @example Response structure
3562
+ #
3563
+ # resp.intermediate_table.id #=> String
3564
+ # resp.intermediate_table.arn #=> String
3565
+ # resp.intermediate_table.name #=> String
3566
+ # resp.intermediate_table.description #=> String
3567
+ # resp.intermediate_table.membership_arn #=> String
3568
+ # resp.intermediate_table.membership_id #=> String
3569
+ # resp.intermediate_table.collaboration_arn #=> String
3570
+ # resp.intermediate_table.collaboration_id #=> String
3571
+ # resp.intermediate_table.child_resources #=> Array
3572
+ # resp.intermediate_table.child_resources[0].resource_id #=> String
3573
+ # resp.intermediate_table.child_resources[0].resource_type #=> String, one of "INTERMEDIATE_TABLE"
3574
+ # resp.intermediate_table.child_resources[0].resource_name #=> String
3575
+ # resp.intermediate_table.child_resources[0].owner_account_id #=> String
3576
+ # resp.intermediate_table.child_resources[0].resource_status #=> String, one of "CREATED", "POPULATE_STARTED", "POPULATE_SUCCESS", "POPULATE_FAILED", "DISALLOWED_BY_DATA_PROVIDER", "BASE_TABLE_REMOVED", "RETENTION_PERIOD_EXPIRED"
3577
+ # resp.intermediate_table.create_time #=> Time
3578
+ # resp.intermediate_table.update_time #=> Time
3579
+ # resp.intermediate_table.status #=> String, one of "CREATED", "POPULATE_STARTED", "POPULATE_SUCCESS", "POPULATE_FAILED", "DISALLOWED_BY_DATA_PROVIDER", "BASE_TABLE_REMOVED", "RETENTION_PERIOD_EXPIRED"
3580
+ # resp.intermediate_table.status_reason #=> String
3581
+ # resp.intermediate_table.kms_key_arn #=> String
3582
+ # resp.intermediate_table.population_analysis_configuration.sql_parameters.query_string #=> String
3583
+ # resp.intermediate_table.population_analysis_configuration.sql_parameters.analysis_template_arn #=> String
3584
+ # resp.intermediate_table.retention_in_days #=> Integer
3585
+ # resp.intermediate_table.table_dependencies #=> Array
3586
+ # resp.intermediate_table.table_dependencies[0].id #=> String
3587
+ # resp.intermediate_table.table_dependencies[0].name #=> String
3588
+ # resp.intermediate_table.table_dependencies[0].type #=> String, one of "TABLE", "INTERMEDIATE_TABLE", "ID_MAPPING_TABLE"
3589
+ # resp.intermediate_table.table_dependencies[0].parent_type #=> String, one of "DIRECT", "INDIRECT"
3590
+ # resp.intermediate_table.table_dependencies[0].creator_account_id #=> String
3591
+ # resp.intermediate_table.intermediate_table_version.version_id #=> String
3592
+ # resp.intermediate_table.intermediate_table_version.analysis_id #=> String
3593
+ # resp.intermediate_table.intermediate_table_version.analysis_type #=> String, one of "QUERY"
3594
+ # resp.intermediate_table.intermediate_table_version.kms_key_arn #=> String
3595
+ # resp.intermediate_table.intermediate_table_version.parameters #=> Hash
3596
+ # resp.intermediate_table.intermediate_table_version.parameters["ParameterName"] #=> String
3597
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.additional_analyses.value #=> String, one of "ALLOWED", "REQUIRED", "NOT_ALLOWED"
3598
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.additional_analyses.sources #=> Array
3599
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.additional_analyses.sources[0].name #=> String
3600
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.additional_analyses.sources[0].id #=> String
3601
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.additional_analyses.sources[0].type #=> String, one of "TABLE", "INTERMEDIATE_TABLE", "ID_MAPPING_TABLE"
3602
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.additional_analyses.sources[0].value #=> String, one of "ALLOWED", "REQUIRED", "NOT_ALLOWED"
3603
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.additional_analyses.sources[0].source_account_id #=> String
3604
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_additional_analyses.value #=> Array
3605
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_additional_analyses.value[0] #=> String
3606
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_additional_analyses.sources #=> Array
3607
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_additional_analyses.sources[0].name #=> String
3608
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_additional_analyses.sources[0].id #=> String
3609
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_additional_analyses.sources[0].type #=> String, one of "TABLE", "INTERMEDIATE_TABLE", "ID_MAPPING_TABLE"
3610
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_additional_analyses.sources[0].value #=> Array
3611
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_additional_analyses.sources[0].value[0] #=> String
3612
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_additional_analyses.sources[0].source_account_id #=> String
3613
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_result_receivers.value #=> Array
3614
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_result_receivers.value[0] #=> String
3615
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_result_receivers.sources #=> Array
3616
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_result_receivers.sources[0].name #=> String
3617
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_result_receivers.sources[0].id #=> String
3618
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_result_receivers.sources[0].type #=> String, one of "TABLE", "INTERMEDIATE_TABLE", "ID_MAPPING_TABLE"
3619
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_result_receivers.sources[0].value #=> Array
3620
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_result_receivers.sources[0].value[0] #=> String
3621
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_result_receivers.sources[0].source_account_id #=> String
3622
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.disallowed_output_columns.value #=> Array
3623
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.disallowed_output_columns.value[0] #=> String
3624
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.disallowed_output_columns.column_lineage #=> Array
3625
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.disallowed_output_columns.column_lineage[0].column #=> String
3626
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.disallowed_output_columns.column_lineage[0].source_column #=> String
3627
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.disallowed_output_columns.column_lineage[0].source_name #=> String
3628
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.disallowed_output_columns.column_lineage[0].source_id #=> String
3629
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.disallowed_output_columns.column_lineage[0].source_type #=> String, one of "TABLE", "INTERMEDIATE_TABLE", "ID_MAPPING_TABLE"
3630
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.disallowed_output_columns.column_lineage[0].source_account_id #=> String
3631
+ # resp.intermediate_table.intermediate_table_version.expiration_time #=> Time
3632
+ # resp.intermediate_table.analysis_rule_types #=> Array
3633
+ # resp.intermediate_table.analysis_rule_types[0] #=> String, one of "CUSTOM"
3634
+ # resp.intermediate_table.schema.columns #=> Array
3635
+ # resp.intermediate_table.schema.columns[0].name #=> String
3636
+ # resp.intermediate_table.schema.columns[0].type #=> String
3637
+ #
3638
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetIntermediateTable AWS API Documentation
3639
+ #
3640
+ # @overload get_intermediate_table(params = {})
3641
+ # @param [Hash] params ({})
3642
+ def get_intermediate_table(params = {}, options = {})
3643
+ req = build_request(:get_intermediate_table, params)
3644
+ req.send_request(options)
3645
+ end
3646
+
3647
+ # Retrieves the analysis rule for an intermediate table.
3648
+ #
3649
+ # @option params [required, String] :membership_identifier
3650
+ # The unique identifier of the membership that contains the intermediate
3651
+ # table.
3652
+ #
3653
+ # @option params [required, String] :intermediate_table_identifier
3654
+ # The unique identifier of the intermediate table for which to retrieve
3655
+ # the analysis rule.
3656
+ #
3657
+ # @option params [required, String] :analysis_rule_type
3658
+ # The type of analysis rule to retrieve. Currently, only `CUSTOM` is
3659
+ # supported.
3660
+ #
3661
+ # @return [Types::GetIntermediateTableAnalysisRuleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3662
+ #
3663
+ # * {Types::GetIntermediateTableAnalysisRuleOutput#analysis_rule #analysis_rule} => Types::IntermediateTableAnalysisRule
3664
+ #
3665
+ # @example Request syntax with placeholder values
3666
+ #
3667
+ # resp = client.get_intermediate_table_analysis_rule({
3668
+ # membership_identifier: "MembershipIdentifier", # required
3669
+ # intermediate_table_identifier: "IntermediateTableIdentifier", # required
3670
+ # analysis_rule_type: "CUSTOM", # required, accepts CUSTOM
3671
+ # })
3672
+ #
3673
+ # @example Response structure
3674
+ #
3675
+ # resp.analysis_rule.intermediate_table_identifier #=> String
3676
+ # resp.analysis_rule.intermediate_table_arn #=> String
3677
+ # resp.analysis_rule.analysis_rule_policy.v1.custom.allowed_analyses #=> Array
3678
+ # resp.analysis_rule.analysis_rule_policy.v1.custom.allowed_analyses[0] #=> String
3679
+ # resp.analysis_rule.analysis_rule_policy.v1.custom.additional_analyses #=> String, one of "ALLOWED", "REQUIRED", "NOT_ALLOWED"
3680
+ # resp.analysis_rule.analysis_rule_policy.v1.custom.allowed_additional_analyses #=> Array
3681
+ # resp.analysis_rule.analysis_rule_policy.v1.custom.allowed_additional_analyses[0] #=> String
3682
+ # resp.analysis_rule.analysis_rule_policy.v1.custom.allowed_analysis_providers #=> Array
3683
+ # resp.analysis_rule.analysis_rule_policy.v1.custom.allowed_analysis_providers[0] #=> String
3684
+ # resp.analysis_rule.analysis_rule_policy.v1.custom.allowed_result_receivers #=> Array
3685
+ # resp.analysis_rule.analysis_rule_policy.v1.custom.allowed_result_receivers[0] #=> String
3686
+ # resp.analysis_rule.analysis_rule_policy.v1.custom.differential_privacy.columns #=> Array
3687
+ # resp.analysis_rule.analysis_rule_policy.v1.custom.differential_privacy.columns[0].name #=> String
3688
+ # resp.analysis_rule.analysis_rule_policy.v1.custom.disallowed_output_columns #=> Array
3689
+ # resp.analysis_rule.analysis_rule_policy.v1.custom.disallowed_output_columns[0] #=> String
3690
+ # resp.analysis_rule.analysis_rule_type #=> String, one of "CUSTOM"
3691
+ # resp.analysis_rule.create_time #=> Time
3692
+ # resp.analysis_rule.update_time #=> Time
3693
+ #
3694
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetIntermediateTableAnalysisRule AWS API Documentation
3695
+ #
3696
+ # @overload get_intermediate_table_analysis_rule(params = {})
3697
+ # @param [Hash] params ({})
3698
+ def get_intermediate_table_analysis_rule(params = {}, options = {})
3699
+ req = build_request(:get_intermediate_table_analysis_rule, params)
3700
+ req.send_request(options)
3701
+ end
3702
+
3170
3703
  # Retrieves a specified membership for an identifier.
3171
3704
  #
3172
3705
  # @option params [required, String] :membership_identifier
@@ -3369,6 +3902,9 @@ module Aws::CleanRooms
3369
3902
  # resp.protected_query.result_configuration.output_configuration.distribute.locations[0].s3.key_prefix #=> String
3370
3903
  # resp.protected_query.result_configuration.output_configuration.distribute.locations[0].s3.single_file_output #=> Boolean
3371
3904
  # resp.protected_query.result_configuration.output_configuration.distribute.locations[0].member.account_id #=> String
3905
+ # resp.protected_query.result_configuration.output_configuration.intermediate_table.id #=> String
3906
+ # resp.protected_query.result_configuration.output_configuration.intermediate_table.arn #=> String
3907
+ # resp.protected_query.result_configuration.output_configuration.intermediate_table.name #=> String
3372
3908
  # resp.protected_query.statistics.total_duration_in_millis #=> Integer
3373
3909
  # resp.protected_query.statistics.billed_resource_utilization.units #=> Float
3374
3910
  # resp.protected_query.result.output.s3.location #=> String
@@ -3440,11 +3976,11 @@ module Aws::CleanRooms
3440
3976
  # resp.schema.description #=> String
3441
3977
  # resp.schema.create_time #=> Time
3442
3978
  # resp.schema.update_time #=> Time
3443
- # resp.schema.type #=> String, one of "TABLE", "ID_MAPPING_TABLE"
3979
+ # resp.schema.type #=> String, one of "TABLE", "ID_MAPPING_TABLE", "INTERMEDIATE_TABLE"
3444
3980
  # resp.schema.schema_status_details #=> Array
3445
3981
  # resp.schema.schema_status_details[0].status #=> String, one of "READY", "NOT_READY"
3446
3982
  # resp.schema.schema_status_details[0].reasons #=> Array
3447
- # 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", "ID_MAPPING_TABLE_NOT_POPULATED", "COLLABORATION_ANALYSIS_RULE_NOT_CONFIGURED", "ADDITIONAL_ANALYSES_NOT_CONFIGURED", "RESULT_RECEIVERS_NOT_CONFIGURED", "ADDITIONAL_ANALYSES_NOT_ALLOWED", "RESULT_RECEIVERS_NOT_ALLOWED", "ANALYSIS_RULE_TYPES_NOT_COMPATIBLE"
3983
+ # 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", "ID_MAPPING_TABLE_NOT_POPULATED", "COLLABORATION_ANALYSIS_RULE_NOT_CONFIGURED", "ADDITIONAL_ANALYSES_NOT_CONFIGURED", "RESULT_RECEIVERS_NOT_CONFIGURED", "ADDITIONAL_ANALYSES_NOT_ALLOWED", "RESULT_RECEIVERS_NOT_ALLOWED", "ANALYSIS_RULE_TYPES_NOT_COMPATIBLE", "INTERMEDIATE_TABLE_NOT_POPULATED", "INTERMEDIATE_TABLE_ANALYSIS_RULE_MISSING", "INTERMEDIATE_TABLE_BASE_TABLE_REMOVED", "INTERMEDIATE_TABLE_INHERITED_CONSTRAINTS_VIOLATED", "INTERMEDIATE_TABLE_DISALLOWED_BY_DATA_PROVIDER", "INTERMEDIATE_TABLE_RETENTION_PERIOD_EXPIRED"
3448
3984
  # resp.schema.schema_status_details[0].reasons[0].message #=> String
3449
3985
  # resp.schema.schema_status_details[0].analysis_rule_type #=> String, one of "AGGREGATION", "LIST", "CUSTOM", "ID_MAPPING_TABLE"
3450
3986
  # resp.schema.schema_status_details[0].configurations #=> Array
@@ -3454,6 +3990,9 @@ module Aws::CleanRooms
3454
3990
  # resp.schema.schema_type_properties.id_mapping_table.id_mapping_table_input_source #=> Array
3455
3991
  # resp.schema.schema_type_properties.id_mapping_table.id_mapping_table_input_source[0].id_namespace_association_id #=> String
3456
3992
  # resp.schema.schema_type_properties.id_mapping_table.id_mapping_table_input_source[0].type #=> String, one of "SOURCE", "TARGET"
3993
+ # resp.schema.schema_type_properties.id_mapping_table.id_mapping_table_id #=> String
3994
+ # resp.schema.schema_type_properties.intermediate_table.intermediate_table_id #=> String
3995
+ # resp.schema.schema_type_properties.configured_table_association.configured_table_association_id #=> String
3457
3996
  #
3458
3997
  # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetSchema AWS API Documentation
3459
3998
  #
@@ -3531,6 +4070,10 @@ module Aws::CleanRooms
3531
4070
  # resp.analysis_rule.policy.v1.custom.disallowed_output_columns[0] #=> String
3532
4071
  # resp.analysis_rule.policy.v1.custom.differential_privacy.columns #=> Array
3533
4072
  # resp.analysis_rule.policy.v1.custom.differential_privacy.columns[0].name #=> String
4073
+ # resp.analysis_rule.policy.v1.custom.allowed_result_receivers #=> Array
4074
+ # resp.analysis_rule.policy.v1.custom.allowed_result_receivers[0] #=> String
4075
+ # resp.analysis_rule.policy.v1.custom.allowed_additional_analyses #=> Array
4076
+ # resp.analysis_rule.policy.v1.custom.allowed_additional_analyses[0] #=> String
3534
4077
  # resp.analysis_rule.policy.v1.id_mapping_table.join_columns #=> Array
3535
4078
  # resp.analysis_rule.policy.v1.id_mapping_table.join_columns[0] #=> String
3536
4079
  # resp.analysis_rule.policy.v1.id_mapping_table.query_constraints #=> Array
@@ -4348,6 +4891,126 @@ module Aws::CleanRooms
4348
4891
  req.send_request(options)
4349
4892
  end
4350
4893
 
4894
+ # Lists the version history of an intermediate table. Each call to
4895
+ # `PopulateIntermediateTable` creates a new version. We recommend using
4896
+ # pagination to ensure that the operation returns quickly and
4897
+ # successfully.
4898
+ #
4899
+ # @option params [required, String] :membership_identifier
4900
+ # The unique identifier of the membership that contains the intermediate
4901
+ # table.
4902
+ #
4903
+ # @option params [required, String] :intermediate_table_identifier
4904
+ # The unique identifier of the intermediate table for which to list
4905
+ # versions.
4906
+ #
4907
+ # @option params [String] :next_token
4908
+ # The pagination token that's used to fetch the next set of results.
4909
+ #
4910
+ # @option params [Integer] :max_results
4911
+ # The maximum number of results that are returned for an API request
4912
+ # call. The service chooses a default number if you don't set one. The
4913
+ # service might return a `nextToken` even if the `maxResults` value has
4914
+ # not been met.
4915
+ #
4916
+ # @return [Types::ListIntermediateTableVersionsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4917
+ #
4918
+ # * {Types::ListIntermediateTableVersionsOutput#intermediate_table_version_summaries #intermediate_table_version_summaries} => Array&lt;Types::IntermediateTableVersionSummary&gt;
4919
+ # * {Types::ListIntermediateTableVersionsOutput#next_token #next_token} => String
4920
+ #
4921
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
4922
+ #
4923
+ # @example Request syntax with placeholder values
4924
+ #
4925
+ # resp = client.list_intermediate_table_versions({
4926
+ # membership_identifier: "MembershipIdentifier", # required
4927
+ # intermediate_table_identifier: "IntermediateTableIdentifier", # required
4928
+ # next_token: "PaginationToken",
4929
+ # max_results: 1,
4930
+ # })
4931
+ #
4932
+ # @example Response structure
4933
+ #
4934
+ # resp.intermediate_table_version_summaries #=> Array
4935
+ # resp.intermediate_table_version_summaries[0].version_id #=> String
4936
+ # resp.intermediate_table_version_summaries[0].table_id #=> String
4937
+ # resp.intermediate_table_version_summaries[0].create_time #=> Time
4938
+ # resp.intermediate_table_version_summaries[0].analysis_id #=> String
4939
+ # resp.intermediate_table_version_summaries[0].status #=> String, one of "POPULATE_STARTED", "POPULATE_SUCCESS", "POPULATE_FAILED", "RETENTION_PERIOD_EXPIRED"
4940
+ # resp.intermediate_table_version_summaries[0].analysis_type #=> String, one of "QUERY"
4941
+ # resp.intermediate_table_version_summaries[0].kms_key_arn #=> String
4942
+ # resp.intermediate_table_version_summaries[0].expiration_time #=> Time
4943
+ # resp.next_token #=> String
4944
+ #
4945
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListIntermediateTableVersions AWS API Documentation
4946
+ #
4947
+ # @overload list_intermediate_table_versions(params = {})
4948
+ # @param [Hash] params ({})
4949
+ def list_intermediate_table_versions(params = {}, options = {})
4950
+ req = build_request(:list_intermediate_table_versions, params)
4951
+ req.send_request(options)
4952
+ end
4953
+
4954
+ # Lists intermediate tables owned by the caller in a membership. We
4955
+ # recommend using pagination to ensure that the operation returns
4956
+ # quickly and successfully.
4957
+ #
4958
+ # @option params [required, String] :membership_identifier
4959
+ # The unique identifier of the membership for which to list intermediate
4960
+ # tables.
4961
+ #
4962
+ # @option params [String] :next_token
4963
+ # The pagination token that's used to fetch the next set of results.
4964
+ #
4965
+ # @option params [Integer] :max_results
4966
+ # The maximum number of results that are returned for an API request
4967
+ # call. The service chooses a default number if you don't set one. The
4968
+ # service might return a `nextToken` even if the `maxResults` value has
4969
+ # not been met.
4970
+ #
4971
+ # @return [Types::ListIntermediateTablesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4972
+ #
4973
+ # * {Types::ListIntermediateTablesOutput#intermediate_table_summaries #intermediate_table_summaries} => Array&lt;Types::IntermediateTableSummary&gt;
4974
+ # * {Types::ListIntermediateTablesOutput#next_token #next_token} => String
4975
+ #
4976
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
4977
+ #
4978
+ # @example Request syntax with placeholder values
4979
+ #
4980
+ # resp = client.list_intermediate_tables({
4981
+ # membership_identifier: "MembershipIdentifier", # required
4982
+ # next_token: "PaginationToken",
4983
+ # max_results: 1,
4984
+ # })
4985
+ #
4986
+ # @example Response structure
4987
+ #
4988
+ # resp.intermediate_table_summaries #=> Array
4989
+ # resp.intermediate_table_summaries[0].id #=> String
4990
+ # resp.intermediate_table_summaries[0].arn #=> String
4991
+ # resp.intermediate_table_summaries[0].name #=> String
4992
+ # resp.intermediate_table_summaries[0].description #=> String
4993
+ # resp.intermediate_table_summaries[0].membership_arn #=> String
4994
+ # resp.intermediate_table_summaries[0].membership_id #=> String
4995
+ # resp.intermediate_table_summaries[0].collaboration_arn #=> String
4996
+ # resp.intermediate_table_summaries[0].collaboration_id #=> String
4997
+ # resp.intermediate_table_summaries[0].create_time #=> Time
4998
+ # resp.intermediate_table_summaries[0].update_time #=> Time
4999
+ # resp.intermediate_table_summaries[0].status #=> String, one of "CREATED", "POPULATE_STARTED", "POPULATE_SUCCESS", "POPULATE_FAILED", "DISALLOWED_BY_DATA_PROVIDER", "BASE_TABLE_REMOVED", "RETENTION_PERIOD_EXPIRED"
5000
+ # resp.intermediate_table_summaries[0].retention_in_days #=> Integer
5001
+ # resp.intermediate_table_summaries[0].analysis_rule_types #=> Array
5002
+ # resp.intermediate_table_summaries[0].analysis_rule_types[0] #=> String, one of "CUSTOM"
5003
+ # resp.next_token #=> String
5004
+ #
5005
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListIntermediateTables AWS API Documentation
5006
+ #
5007
+ # @overload list_intermediate_tables(params = {})
5008
+ # @param [Hash] params ({})
5009
+ def list_intermediate_tables(params = {}, options = {})
5010
+ req = build_request(:list_intermediate_tables, params)
5011
+ req.send_request(options)
5012
+ end
5013
+
4351
5014
  # Lists all members within a collaboration.
4352
5015
  #
4353
5016
  # @option params [required, String] :collaboration_identifier
@@ -4707,6 +5370,9 @@ module Aws::CleanRooms
4707
5370
  # resp.protected_queries[0].receiver_configurations[0].configuration_details.direct_analysis_configuration_details.receiver_account_ids #=> Array
4708
5371
  # resp.protected_queries[0].receiver_configurations[0].configuration_details.direct_analysis_configuration_details.receiver_account_ids[0] #=> String
4709
5372
  # resp.protected_queries[0].query_compute_payer_account_id #=> String
5373
+ # resp.protected_queries[0].intermediate_table_configuration.id #=> String
5374
+ # resp.protected_queries[0].intermediate_table_configuration.arn #=> String
5375
+ # resp.protected_queries[0].intermediate_table_configuration.name #=> String
4710
5376
  #
4711
5377
  # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListProtectedQueries AWS API Documentation
4712
5378
  #
@@ -4746,7 +5412,7 @@ module Aws::CleanRooms
4746
5412
  #
4747
5413
  # resp = client.list_schemas({
4748
5414
  # collaboration_identifier: "CollaborationIdentifier", # required
4749
- # schema_type: "TABLE", # accepts TABLE, ID_MAPPING_TABLE
5415
+ # schema_type: "TABLE", # accepts TABLE, ID_MAPPING_TABLE, INTERMEDIATE_TABLE
4750
5416
  # next_token: "PaginationToken",
4751
5417
  # max_results: 1,
4752
5418
  # })
@@ -4755,7 +5421,7 @@ module Aws::CleanRooms
4755
5421
  #
4756
5422
  # resp.schema_summaries #=> Array
4757
5423
  # resp.schema_summaries[0].name #=> String
4758
- # resp.schema_summaries[0].type #=> String, one of "TABLE", "ID_MAPPING_TABLE"
5424
+ # resp.schema_summaries[0].type #=> String, one of "TABLE", "ID_MAPPING_TABLE", "INTERMEDIATE_TABLE"
4759
5425
  # resp.schema_summaries[0].creator_account_id #=> String
4760
5426
  # resp.schema_summaries[0].create_time #=> Time
4761
5427
  # resp.schema_summaries[0].update_time #=> Time
@@ -4866,6 +5532,72 @@ module Aws::CleanRooms
4866
5532
  req.send_request(options)
4867
5533
  end
4868
5534
 
5535
+ # Executes the stored query of an intermediate table to materialize data
5536
+ # into managed storage. With this operation, you can perform initial
5537
+ # population and subsequent refreshes. Each call creates a new version.
5538
+ # The returned analysis ID can be tracked using `GetProtectedQuery`.
5539
+ # Only the intermediate table owner can call this operation.
5540
+ #
5541
+ # @option params [required, String] :intermediate_table_identifier
5542
+ # The unique identifier of the intermediate table to populate.
5543
+ #
5544
+ # @option params [required, String] :membership_identifier
5545
+ # The unique identifier of the membership that contains the intermediate
5546
+ # table.
5547
+ #
5548
+ # @option params [Hash<String,String>] :parameters
5549
+ # The runtime parameter values that override the defaults in the stored
5550
+ # query.
5551
+ #
5552
+ # @option params [Types::IntermediateTableComputeConfiguration] :compute_configuration
5553
+ # The compute configuration for the population query execution.
5554
+ #
5555
+ # @option params [String] :analysis_payer_account_id
5556
+ # The account ID of the member that pays for the analysis compute costs.
5557
+ #
5558
+ # @return [Types::PopulateIntermediateTableOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5559
+ #
5560
+ # * {Types::PopulateIntermediateTableOutput#analysis_id #analysis_id} => String
5561
+ # * {Types::PopulateIntermediateTableOutput#analysis_type #analysis_type} => String
5562
+ # * {Types::PopulateIntermediateTableOutput#version_id #version_id} => String
5563
+ #
5564
+ # @example Request syntax with placeholder values
5565
+ #
5566
+ # resp = client.populate_intermediate_table({
5567
+ # intermediate_table_identifier: "IntermediateTableIdentifier", # required
5568
+ # membership_identifier: "MembershipIdentifier", # required
5569
+ # parameters: {
5570
+ # "ParameterName" => "ParameterValue",
5571
+ # },
5572
+ # compute_configuration: {
5573
+ # query_compute_configuration: {
5574
+ # type: "CR.1X", # accepts CR.1X, CR.4X
5575
+ # number: 1,
5576
+ # properties: {
5577
+ # spark: {
5578
+ # "SparkPropertyKey" => "SparkPropertyValue",
5579
+ # },
5580
+ # },
5581
+ # },
5582
+ # },
5583
+ # analysis_payer_account_id: "AccountId",
5584
+ # })
5585
+ #
5586
+ # @example Response structure
5587
+ #
5588
+ # resp.analysis_id #=> String
5589
+ # resp.analysis_type #=> String, one of "QUERY"
5590
+ # resp.version_id #=> String
5591
+ #
5592
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/PopulateIntermediateTable AWS API Documentation
5593
+ #
5594
+ # @overload populate_intermediate_table(params = {})
5595
+ # @param [Hash] params ({})
5596
+ def populate_intermediate_table(params = {}, options = {})
5597
+ req = build_request(:populate_intermediate_table, params)
5598
+ req.send_request(options)
5599
+ end
5600
+
4869
5601
  # An estimate of the number of aggregation functions that the member who
4870
5602
  # can query can run given epsilon and noise parameters.
4871
5603
  #
@@ -5062,6 +5794,11 @@ module Aws::CleanRooms
5062
5794
  # },
5063
5795
  # ],
5064
5796
  # },
5797
+ # intermediate_table: {
5798
+ # id: "UUID", # required
5799
+ # arn: "IntermediateTableArn", # required
5800
+ # name: "DisplayName", # required
5801
+ # },
5065
5802
  # },
5066
5803
  # },
5067
5804
  # compute_configuration: {
@@ -5100,6 +5837,9 @@ module Aws::CleanRooms
5100
5837
  # resp.protected_query.result_configuration.output_configuration.distribute.locations[0].s3.key_prefix #=> String
5101
5838
  # resp.protected_query.result_configuration.output_configuration.distribute.locations[0].s3.single_file_output #=> Boolean
5102
5839
  # resp.protected_query.result_configuration.output_configuration.distribute.locations[0].member.account_id #=> String
5840
+ # resp.protected_query.result_configuration.output_configuration.intermediate_table.id #=> String
5841
+ # resp.protected_query.result_configuration.output_configuration.intermediate_table.arn #=> String
5842
+ # resp.protected_query.result_configuration.output_configuration.intermediate_table.name #=> String
5103
5843
  # resp.protected_query.statistics.total_duration_in_millis #=> Integer
5104
5844
  # resp.protected_query.statistics.billed_resource_utilization.units #=> Float
5105
5845
  # resp.protected_query.result.output.s3.location #=> String
@@ -5641,6 +6381,8 @@ module Aws::CleanRooms
5641
6381
  # },
5642
6382
  # ],
5643
6383
  # },
6384
+ # allowed_result_receivers: ["AccountId"],
6385
+ # allowed_additional_analyses: ["AdditionalAnalysesResourceArn"],
5644
6386
  # },
5645
6387
  # },
5646
6388
  # },
@@ -5684,6 +6426,10 @@ module Aws::CleanRooms
5684
6426
  # resp.analysis_rule.policy.v1.custom.disallowed_output_columns[0] #=> String
5685
6427
  # resp.analysis_rule.policy.v1.custom.differential_privacy.columns #=> Array
5686
6428
  # resp.analysis_rule.policy.v1.custom.differential_privacy.columns[0].name #=> String
6429
+ # resp.analysis_rule.policy.v1.custom.allowed_result_receivers #=> Array
6430
+ # resp.analysis_rule.policy.v1.custom.allowed_result_receivers[0] #=> String
6431
+ # resp.analysis_rule.policy.v1.custom.allowed_additional_analyses #=> Array
6432
+ # resp.analysis_rule.policy.v1.custom.allowed_additional_analyses[0] #=> String
5687
6433
  # resp.analysis_rule.type #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
5688
6434
  # resp.analysis_rule.create_time #=> Time
5689
6435
  # resp.analysis_rule.update_time #=> Time
@@ -5742,6 +6488,12 @@ module Aws::CleanRooms
5742
6488
  # resp.configured_table_association.analysis_rule_types[0] #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
5743
6489
  # resp.configured_table_association.create_time #=> Time
5744
6490
  # resp.configured_table_association.update_time #=> Time
6491
+ # resp.configured_table_association.child_resources #=> Array
6492
+ # resp.configured_table_association.child_resources[0].resource_id #=> String
6493
+ # resp.configured_table_association.child_resources[0].resource_type #=> String, one of "INTERMEDIATE_TABLE"
6494
+ # resp.configured_table_association.child_resources[0].resource_name #=> String
6495
+ # resp.configured_table_association.child_resources[0].owner_account_id #=> String
6496
+ # resp.configured_table_association.child_resources[0].resource_status #=> String, one of "CREATED", "POPULATE_STARTED", "POPULATE_SUCCESS", "POPULATE_FAILED", "DISALLOWED_BY_DATA_PROVIDER", "BASE_TABLE_REMOVED", "RETENTION_PERIOD_EXPIRED"
5745
6497
  #
5746
6498
  # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateConfiguredTableAssociation AWS API Documentation
5747
6499
  #
@@ -5871,6 +6623,12 @@ module Aws::CleanRooms
5871
6623
  # resp.id_mapping_table.input_reference_properties.id_mapping_table_input_source[0].id_namespace_association_id #=> String
5872
6624
  # resp.id_mapping_table.input_reference_properties.id_mapping_table_input_source[0].type #=> String, one of "SOURCE", "TARGET"
5873
6625
  # resp.id_mapping_table.kms_key_arn #=> String
6626
+ # resp.id_mapping_table.child_resources #=> Array
6627
+ # resp.id_mapping_table.child_resources[0].resource_id #=> String
6628
+ # resp.id_mapping_table.child_resources[0].resource_type #=> String, one of "INTERMEDIATE_TABLE"
6629
+ # resp.id_mapping_table.child_resources[0].resource_name #=> String
6630
+ # resp.id_mapping_table.child_resources[0].owner_account_id #=> String
6631
+ # resp.id_mapping_table.child_resources[0].resource_status #=> String, one of "CREATED", "POPULATE_STARTED", "POPULATE_SUCCESS", "POPULATE_FAILED", "DISALLOWED_BY_DATA_PROVIDER", "BASE_TABLE_REMOVED", "RETENTION_PERIOD_EXPIRED"
5874
6632
  #
5875
6633
  # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateIdMappingTable AWS API Documentation
5876
6634
  #
@@ -5944,6 +6702,212 @@ module Aws::CleanRooms
5944
6702
  req.send_request(options)
5945
6703
  end
5946
6704
 
6705
+ # Updates an intermediate table. You can update the description, KMS key
6706
+ # ARN, and column types of existing columns. Only the intermediate table
6707
+ # owner can call this operation.
6708
+ #
6709
+ # @option params [required, String] :intermediate_table_identifier
6710
+ # The unique identifier of the intermediate table to update.
6711
+ #
6712
+ # @option params [required, String] :membership_identifier
6713
+ # The unique identifier of the membership that contains the intermediate
6714
+ # table.
6715
+ #
6716
+ # @option params [String] :description
6717
+ # A new description for the intermediate table.
6718
+ #
6719
+ # @option params [String] :kms_key_arn
6720
+ # The Amazon Resource Name (ARN) of the customer-managed KMS key to use
6721
+ # for encrypting future population data.
6722
+ #
6723
+ # @option params [Array<Types::IntermediateTableColumn>] :columns
6724
+ # The list of columns with updated type definitions. Only the type of
6725
+ # existing columns can be updated.
6726
+ #
6727
+ # @return [Types::UpdateIntermediateTableOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6728
+ #
6729
+ # * {Types::UpdateIntermediateTableOutput#intermediate_table #intermediate_table} => Types::IntermediateTable
6730
+ #
6731
+ # @example Request syntax with placeholder values
6732
+ #
6733
+ # resp = client.update_intermediate_table({
6734
+ # intermediate_table_identifier: "IntermediateTableIdentifier", # required
6735
+ # membership_identifier: "MembershipIdentifier", # required
6736
+ # description: "ResourceDescription",
6737
+ # kms_key_arn: "KMSKeyArn",
6738
+ # columns: [
6739
+ # {
6740
+ # name: "ColumnName", # required
6741
+ # type: "IntermediateTableColumnTypeString", # required
6742
+ # },
6743
+ # ],
6744
+ # })
6745
+ #
6746
+ # @example Response structure
6747
+ #
6748
+ # resp.intermediate_table.id #=> String
6749
+ # resp.intermediate_table.arn #=> String
6750
+ # resp.intermediate_table.name #=> String
6751
+ # resp.intermediate_table.description #=> String
6752
+ # resp.intermediate_table.membership_arn #=> String
6753
+ # resp.intermediate_table.membership_id #=> String
6754
+ # resp.intermediate_table.collaboration_arn #=> String
6755
+ # resp.intermediate_table.collaboration_id #=> String
6756
+ # resp.intermediate_table.child_resources #=> Array
6757
+ # resp.intermediate_table.child_resources[0].resource_id #=> String
6758
+ # resp.intermediate_table.child_resources[0].resource_type #=> String, one of "INTERMEDIATE_TABLE"
6759
+ # resp.intermediate_table.child_resources[0].resource_name #=> String
6760
+ # resp.intermediate_table.child_resources[0].owner_account_id #=> String
6761
+ # resp.intermediate_table.child_resources[0].resource_status #=> String, one of "CREATED", "POPULATE_STARTED", "POPULATE_SUCCESS", "POPULATE_FAILED", "DISALLOWED_BY_DATA_PROVIDER", "BASE_TABLE_REMOVED", "RETENTION_PERIOD_EXPIRED"
6762
+ # resp.intermediate_table.create_time #=> Time
6763
+ # resp.intermediate_table.update_time #=> Time
6764
+ # resp.intermediate_table.status #=> String, one of "CREATED", "POPULATE_STARTED", "POPULATE_SUCCESS", "POPULATE_FAILED", "DISALLOWED_BY_DATA_PROVIDER", "BASE_TABLE_REMOVED", "RETENTION_PERIOD_EXPIRED"
6765
+ # resp.intermediate_table.status_reason #=> String
6766
+ # resp.intermediate_table.kms_key_arn #=> String
6767
+ # resp.intermediate_table.population_analysis_configuration.sql_parameters.query_string #=> String
6768
+ # resp.intermediate_table.population_analysis_configuration.sql_parameters.analysis_template_arn #=> String
6769
+ # resp.intermediate_table.retention_in_days #=> Integer
6770
+ # resp.intermediate_table.table_dependencies #=> Array
6771
+ # resp.intermediate_table.table_dependencies[0].id #=> String
6772
+ # resp.intermediate_table.table_dependencies[0].name #=> String
6773
+ # resp.intermediate_table.table_dependencies[0].type #=> String, one of "TABLE", "INTERMEDIATE_TABLE", "ID_MAPPING_TABLE"
6774
+ # resp.intermediate_table.table_dependencies[0].parent_type #=> String, one of "DIRECT", "INDIRECT"
6775
+ # resp.intermediate_table.table_dependencies[0].creator_account_id #=> String
6776
+ # resp.intermediate_table.intermediate_table_version.version_id #=> String
6777
+ # resp.intermediate_table.intermediate_table_version.analysis_id #=> String
6778
+ # resp.intermediate_table.intermediate_table_version.analysis_type #=> String, one of "QUERY"
6779
+ # resp.intermediate_table.intermediate_table_version.kms_key_arn #=> String
6780
+ # resp.intermediate_table.intermediate_table_version.parameters #=> Hash
6781
+ # resp.intermediate_table.intermediate_table_version.parameters["ParameterName"] #=> String
6782
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.additional_analyses.value #=> String, one of "ALLOWED", "REQUIRED", "NOT_ALLOWED"
6783
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.additional_analyses.sources #=> Array
6784
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.additional_analyses.sources[0].name #=> String
6785
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.additional_analyses.sources[0].id #=> String
6786
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.additional_analyses.sources[0].type #=> String, one of "TABLE", "INTERMEDIATE_TABLE", "ID_MAPPING_TABLE"
6787
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.additional_analyses.sources[0].value #=> String, one of "ALLOWED", "REQUIRED", "NOT_ALLOWED"
6788
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.additional_analyses.sources[0].source_account_id #=> String
6789
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_additional_analyses.value #=> Array
6790
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_additional_analyses.value[0] #=> String
6791
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_additional_analyses.sources #=> Array
6792
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_additional_analyses.sources[0].name #=> String
6793
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_additional_analyses.sources[0].id #=> String
6794
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_additional_analyses.sources[0].type #=> String, one of "TABLE", "INTERMEDIATE_TABLE", "ID_MAPPING_TABLE"
6795
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_additional_analyses.sources[0].value #=> Array
6796
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_additional_analyses.sources[0].value[0] #=> String
6797
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_additional_analyses.sources[0].source_account_id #=> String
6798
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_result_receivers.value #=> Array
6799
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_result_receivers.value[0] #=> String
6800
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_result_receivers.sources #=> Array
6801
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_result_receivers.sources[0].name #=> String
6802
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_result_receivers.sources[0].id #=> String
6803
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_result_receivers.sources[0].type #=> String, one of "TABLE", "INTERMEDIATE_TABLE", "ID_MAPPING_TABLE"
6804
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_result_receivers.sources[0].value #=> Array
6805
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_result_receivers.sources[0].value[0] #=> String
6806
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.allowed_result_receivers.sources[0].source_account_id #=> String
6807
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.disallowed_output_columns.value #=> Array
6808
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.disallowed_output_columns.value[0] #=> String
6809
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.disallowed_output_columns.column_lineage #=> Array
6810
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.disallowed_output_columns.column_lineage[0].column #=> String
6811
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.disallowed_output_columns.column_lineage[0].source_column #=> String
6812
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.disallowed_output_columns.column_lineage[0].source_name #=> String
6813
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.disallowed_output_columns.column_lineage[0].source_id #=> String
6814
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.disallowed_output_columns.column_lineage[0].source_type #=> String, one of "TABLE", "INTERMEDIATE_TABLE", "ID_MAPPING_TABLE"
6815
+ # resp.intermediate_table.intermediate_table_version.inherited_constraints.disallowed_output_columns.column_lineage[0].source_account_id #=> String
6816
+ # resp.intermediate_table.intermediate_table_version.expiration_time #=> Time
6817
+ # resp.intermediate_table.analysis_rule_types #=> Array
6818
+ # resp.intermediate_table.analysis_rule_types[0] #=> String, one of "CUSTOM"
6819
+ # resp.intermediate_table.schema.columns #=> Array
6820
+ # resp.intermediate_table.schema.columns[0].name #=> String
6821
+ # resp.intermediate_table.schema.columns[0].type #=> String
6822
+ #
6823
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateIntermediateTable AWS API Documentation
6824
+ #
6825
+ # @overload update_intermediate_table(params = {})
6826
+ # @param [Hash] params ({})
6827
+ def update_intermediate_table(params = {}, options = {})
6828
+ req = build_request(:update_intermediate_table, params)
6829
+ req.send_request(options)
6830
+ end
6831
+
6832
+ # Updates the analysis rule policy for an intermediate table. Only the
6833
+ # intermediate table owner can call this operation.
6834
+ #
6835
+ # @option params [required, String] :membership_identifier
6836
+ # The unique identifier of the membership that contains the intermediate
6837
+ # table.
6838
+ #
6839
+ # @option params [required, String] :intermediate_table_identifier
6840
+ # The unique identifier of the intermediate table for which to update
6841
+ # the analysis rule.
6842
+ #
6843
+ # @option params [required, String] :analysis_rule_type
6844
+ # The type of analysis rule to update. Currently, only `CUSTOM` is
6845
+ # supported.
6846
+ #
6847
+ # @option params [required, Types::IntermediateTableAnalysisRulePolicy] :analysis_rule_policy
6848
+ # The updated analysis rule policy for the intermediate table.
6849
+ #
6850
+ # @return [Types::UpdateIntermediateTableAnalysisRuleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6851
+ #
6852
+ # * {Types::UpdateIntermediateTableAnalysisRuleOutput#analysis_rule #analysis_rule} => Types::IntermediateTableAnalysisRule
6853
+ #
6854
+ # @example Request syntax with placeholder values
6855
+ #
6856
+ # resp = client.update_intermediate_table_analysis_rule({
6857
+ # membership_identifier: "MembershipIdentifier", # required
6858
+ # intermediate_table_identifier: "IntermediateTableIdentifier", # required
6859
+ # analysis_rule_type: "CUSTOM", # required, accepts CUSTOM
6860
+ # analysis_rule_policy: { # required
6861
+ # v1: {
6862
+ # custom: {
6863
+ # allowed_analyses: ["AnalysisTemplateArnOrQueryWildcard"],
6864
+ # additional_analyses: "ALLOWED", # accepts ALLOWED, REQUIRED, NOT_ALLOWED
6865
+ # allowed_additional_analyses: ["AdditionalAnalysesResourceArn"],
6866
+ # allowed_analysis_providers: ["AccountId"],
6867
+ # allowed_result_receivers: ["AccountId"],
6868
+ # differential_privacy: {
6869
+ # columns: [ # required
6870
+ # {
6871
+ # name: "ColumnName", # required
6872
+ # },
6873
+ # ],
6874
+ # },
6875
+ # disallowed_output_columns: ["AnalysisRuleColumnName"],
6876
+ # },
6877
+ # },
6878
+ # },
6879
+ # })
6880
+ #
6881
+ # @example Response structure
6882
+ #
6883
+ # resp.analysis_rule.intermediate_table_identifier #=> String
6884
+ # resp.analysis_rule.intermediate_table_arn #=> String
6885
+ # resp.analysis_rule.analysis_rule_policy.v1.custom.allowed_analyses #=> Array
6886
+ # resp.analysis_rule.analysis_rule_policy.v1.custom.allowed_analyses[0] #=> String
6887
+ # resp.analysis_rule.analysis_rule_policy.v1.custom.additional_analyses #=> String, one of "ALLOWED", "REQUIRED", "NOT_ALLOWED"
6888
+ # resp.analysis_rule.analysis_rule_policy.v1.custom.allowed_additional_analyses #=> Array
6889
+ # resp.analysis_rule.analysis_rule_policy.v1.custom.allowed_additional_analyses[0] #=> String
6890
+ # resp.analysis_rule.analysis_rule_policy.v1.custom.allowed_analysis_providers #=> Array
6891
+ # resp.analysis_rule.analysis_rule_policy.v1.custom.allowed_analysis_providers[0] #=> String
6892
+ # resp.analysis_rule.analysis_rule_policy.v1.custom.allowed_result_receivers #=> Array
6893
+ # resp.analysis_rule.analysis_rule_policy.v1.custom.allowed_result_receivers[0] #=> String
6894
+ # resp.analysis_rule.analysis_rule_policy.v1.custom.differential_privacy.columns #=> Array
6895
+ # resp.analysis_rule.analysis_rule_policy.v1.custom.differential_privacy.columns[0].name #=> String
6896
+ # resp.analysis_rule.analysis_rule_policy.v1.custom.disallowed_output_columns #=> Array
6897
+ # resp.analysis_rule.analysis_rule_policy.v1.custom.disallowed_output_columns[0] #=> String
6898
+ # resp.analysis_rule.analysis_rule_type #=> String, one of "CUSTOM"
6899
+ # resp.analysis_rule.create_time #=> Time
6900
+ # resp.analysis_rule.update_time #=> Time
6901
+ #
6902
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateIntermediateTableAnalysisRule AWS API Documentation
6903
+ #
6904
+ # @overload update_intermediate_table_analysis_rule(params = {})
6905
+ # @param [Hash] params ({})
6906
+ def update_intermediate_table_analysis_rule(params = {}, options = {})
6907
+ req = build_request(:update_intermediate_table_analysis_rule, params)
6908
+ req.send_request(options)
6909
+ end
6910
+
5947
6911
  # Updates a membership.
5948
6912
  #
5949
6913
  # @option params [required, String] :membership_identifier
@@ -6247,6 +7211,9 @@ module Aws::CleanRooms
6247
7211
  # resp.protected_query.result_configuration.output_configuration.distribute.locations[0].s3.key_prefix #=> String
6248
7212
  # resp.protected_query.result_configuration.output_configuration.distribute.locations[0].s3.single_file_output #=> Boolean
6249
7213
  # resp.protected_query.result_configuration.output_configuration.distribute.locations[0].member.account_id #=> String
7214
+ # resp.protected_query.result_configuration.output_configuration.intermediate_table.id #=> String
7215
+ # resp.protected_query.result_configuration.output_configuration.intermediate_table.arn #=> String
7216
+ # resp.protected_query.result_configuration.output_configuration.intermediate_table.name #=> String
6250
7217
  # resp.protected_query.statistics.total_duration_in_millis #=> Integer
6251
7218
  # resp.protected_query.statistics.billed_resource_utilization.units #=> Float
6252
7219
  # resp.protected_query.result.output.s3.location #=> String
@@ -6296,7 +7263,7 @@ module Aws::CleanRooms
6296
7263
  tracer: tracer
6297
7264
  )
6298
7265
  context[:gem_name] = 'aws-sdk-cleanrooms'
6299
- context[:gem_version] = '1.74.0'
7266
+ context[:gem_version] = '1.76.0'
6300
7267
  Seahorse::Client::Request.new(handlers, context)
6301
7268
  end
6302
7269