aws-sdk-cleanrooms 1.14.0 → 1.15.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -692,6 +692,85 @@ module Aws::CleanRooms
692
692
  req.send_request(options)
693
693
  end
694
694
 
695
+ # Provides the details necessary to create a configured audience model
696
+ # association.
697
+ #
698
+ # @option params [required, String] :membership_identifier
699
+ # A unique identifier for one of your memberships for a collaboration.
700
+ # The configured audience model is associated to the collaboration that
701
+ # this membership belongs to. Accepts a membership ID.
702
+ #
703
+ # @option params [required, String] :configured_audience_model_arn
704
+ # A unique identifier for the configured audience model that you want to
705
+ # associate.
706
+ #
707
+ # @option params [required, String] :configured_audience_model_association_name
708
+ # The name of the configured audience model association.
709
+ #
710
+ # @option params [required, Boolean] :manage_resource_policies
711
+ # When `TRUE`, indicates that the resource policy for the configured
712
+ # audience model resource being associated is configured for Clean Rooms
713
+ # to manage permissions related to the given collaboration. When
714
+ # `FALSE`, indicates that the configured audience model resource owner
715
+ # will manage permissions related to the given collaboration.
716
+ #
717
+ # Setting this to `TRUE` requires you to have permissions to create,
718
+ # update, and delete the resource policy for the `cleanrooms-ml`
719
+ # resource when you call the DeleteConfiguredAudienceModelAssociation
720
+ # resource. In addition, if you are the collaboration creator and
721
+ # specify `TRUE`, you must have the same permissions when you call the
722
+ # DeleteMember and DeleteCollaboration APIs.
723
+ #
724
+ # @option params [Hash<String,String>] :tags
725
+ # An optional label that you can assign to a resource when you create
726
+ # it. Each tag consists of a key and an optional value, both of which
727
+ # you define. When you use tagging, you can also use tag-based access
728
+ # control in IAM policies to control access to this resource.
729
+ #
730
+ # @option params [String] :description
731
+ # A description of the configured audience model association.
732
+ #
733
+ # @return [Types::CreateConfiguredAudienceModelAssociationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
734
+ #
735
+ # * {Types::CreateConfiguredAudienceModelAssociationOutput#configured_audience_model_association #configured_audience_model_association} => Types::ConfiguredAudienceModelAssociation
736
+ #
737
+ # @example Request syntax with placeholder values
738
+ #
739
+ # resp = client.create_configured_audience_model_association({
740
+ # membership_identifier: "MembershipIdentifier", # required
741
+ # configured_audience_model_arn: "ConfiguredAudienceModelArn", # required
742
+ # configured_audience_model_association_name: "ConfiguredAudienceModelAssociationName", # required
743
+ # manage_resource_policies: false, # required
744
+ # tags: {
745
+ # "TagKey" => "TagValue",
746
+ # },
747
+ # description: "ResourceDescription",
748
+ # })
749
+ #
750
+ # @example Response structure
751
+ #
752
+ # resp.configured_audience_model_association.id #=> String
753
+ # resp.configured_audience_model_association.arn #=> String
754
+ # resp.configured_audience_model_association.configured_audience_model_arn #=> String
755
+ # resp.configured_audience_model_association.membership_id #=> String
756
+ # resp.configured_audience_model_association.membership_arn #=> String
757
+ # resp.configured_audience_model_association.collaboration_id #=> String
758
+ # resp.configured_audience_model_association.collaboration_arn #=> String
759
+ # resp.configured_audience_model_association.name #=> String
760
+ # resp.configured_audience_model_association.manage_resource_policies #=> Boolean
761
+ # resp.configured_audience_model_association.description #=> String
762
+ # resp.configured_audience_model_association.create_time #=> Time
763
+ # resp.configured_audience_model_association.update_time #=> Time
764
+ #
765
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/CreateConfiguredAudienceModelAssociation AWS API Documentation
766
+ #
767
+ # @overload create_configured_audience_model_association(params = {})
768
+ # @param [Hash] params ({})
769
+ def create_configured_audience_model_association(params = {}, options = {})
770
+ req = build_request(:create_configured_audience_model_association, params)
771
+ req.send_request(options)
772
+ end
773
+
695
774
  # Creates a new configured table resource.
696
775
  #
697
776
  # @option params [required, String] :name
@@ -816,6 +895,13 @@ module Aws::CleanRooms
816
895
  # custom: {
817
896
  # allowed_analyses: ["AnalysisTemplateArnOrQueryWildcard"], # required
818
897
  # allowed_analysis_providers: ["AccountId"],
898
+ # differential_privacy: {
899
+ # columns: [ # required
900
+ # {
901
+ # name: "String", # required
902
+ # },
903
+ # ],
904
+ # },
819
905
  # },
820
906
  # },
821
907
  # },
@@ -852,6 +938,8 @@ module Aws::CleanRooms
852
938
  # resp.analysis_rule.policy.v1.custom.allowed_analyses[0] #=> String
853
939
  # resp.analysis_rule.policy.v1.custom.allowed_analysis_providers #=> Array
854
940
  # resp.analysis_rule.policy.v1.custom.allowed_analysis_providers[0] #=> String
941
+ # resp.analysis_rule.policy.v1.custom.differential_privacy.columns #=> Array
942
+ # resp.analysis_rule.policy.v1.custom.differential_privacy.columns[0].name #=> String
855
943
  # resp.analysis_rule.type #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
856
944
  # resp.analysis_rule.create_time #=> Time
857
945
  # resp.analysis_rule.update_time #=> Time
@@ -1023,6 +1111,84 @@ module Aws::CleanRooms
1023
1111
  req.send_request(options)
1024
1112
  end
1025
1113
 
1114
+ # Creates a privacy budget template for a specified membership. Each
1115
+ # membership can have only one privacy budget template, but it can be
1116
+ # deleted and recreated. If you need to change the privacy budget
1117
+ # template for a membership, use the UpdatePrivacyBudgetTemplate
1118
+ # operation.
1119
+ #
1120
+ # @option params [required, String] :membership_identifier
1121
+ # A unique identifier for one of your memberships for a collaboration.
1122
+ # The privacy budget template is created in the collaboration that this
1123
+ # membership belongs to. Accepts a membership ID.
1124
+ #
1125
+ # @option params [required, String] :auto_refresh
1126
+ # How often the privacy budget refreshes.
1127
+ #
1128
+ # If you plan to regularly bring new data into the collaboration, you
1129
+ # can use `CALENDAR_MONTH` to automatically get a new privacy budget for
1130
+ # the collaboration every calendar month. Choosing this option allows
1131
+ # arbitrary amounts of information to be revealed about rows of the data
1132
+ # when repeatedly queries across refreshes. Avoid choosing this if the
1133
+ # same rows will be repeatedly queried between privacy budget refreshes.
1134
+ #
1135
+ # @option params [required, String] :privacy_budget_type
1136
+ # Specifies the type of the privacy budget template.
1137
+ #
1138
+ # @option params [required, Types::PrivacyBudgetTemplateParametersInput] :parameters
1139
+ # Specifies your parameters for the privacy budget template.
1140
+ #
1141
+ # @option params [Hash<String,String>] :tags
1142
+ # An optional label that you can assign to a resource when you create
1143
+ # it. Each tag consists of a key and an optional value, both of which
1144
+ # you define. When you use tagging, you can also use tag-based access
1145
+ # control in IAM policies to control access to this resource.
1146
+ #
1147
+ # @return [Types::CreatePrivacyBudgetTemplateOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1148
+ #
1149
+ # * {Types::CreatePrivacyBudgetTemplateOutput#privacy_budget_template #privacy_budget_template} => Types::PrivacyBudgetTemplate
1150
+ #
1151
+ # @example Request syntax with placeholder values
1152
+ #
1153
+ # resp = client.create_privacy_budget_template({
1154
+ # membership_identifier: "MembershipIdentifier", # required
1155
+ # auto_refresh: "CALENDAR_MONTH", # required, accepts CALENDAR_MONTH, NONE
1156
+ # privacy_budget_type: "DIFFERENTIAL_PRIVACY", # required, accepts DIFFERENTIAL_PRIVACY
1157
+ # parameters: { # required
1158
+ # differential_privacy: {
1159
+ # epsilon: 1, # required
1160
+ # users_noise_per_query: 1, # required
1161
+ # },
1162
+ # },
1163
+ # tags: {
1164
+ # "TagKey" => "TagValue",
1165
+ # },
1166
+ # })
1167
+ #
1168
+ # @example Response structure
1169
+ #
1170
+ # resp.privacy_budget_template.id #=> String
1171
+ # resp.privacy_budget_template.arn #=> String
1172
+ # resp.privacy_budget_template.membership_id #=> String
1173
+ # resp.privacy_budget_template.membership_arn #=> String
1174
+ # resp.privacy_budget_template.collaboration_id #=> String
1175
+ # resp.privacy_budget_template.collaboration_arn #=> String
1176
+ # resp.privacy_budget_template.create_time #=> Time
1177
+ # resp.privacy_budget_template.update_time #=> Time
1178
+ # resp.privacy_budget_template.privacy_budget_type #=> String, one of "DIFFERENTIAL_PRIVACY"
1179
+ # resp.privacy_budget_template.auto_refresh #=> String, one of "CALENDAR_MONTH", "NONE"
1180
+ # resp.privacy_budget_template.parameters.differential_privacy.epsilon #=> Integer
1181
+ # resp.privacy_budget_template.parameters.differential_privacy.users_noise_per_query #=> Integer
1182
+ #
1183
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/CreatePrivacyBudgetTemplate AWS API Documentation
1184
+ #
1185
+ # @overload create_privacy_budget_template(params = {})
1186
+ # @param [Hash] params ({})
1187
+ def create_privacy_budget_template(params = {}, options = {})
1188
+ req = build_request(:create_privacy_budget_template, params)
1189
+ req.send_request(options)
1190
+ end
1191
+
1026
1192
  # Deletes an analysis template.
1027
1193
  #
1028
1194
  # @option params [required, String] :membership_identifier
@@ -1072,6 +1238,35 @@ module Aws::CleanRooms
1072
1238
  req.send_request(options)
1073
1239
  end
1074
1240
 
1241
+ # Provides the information necessary to delete a configured audience
1242
+ # model association.
1243
+ #
1244
+ # @option params [required, String] :configured_audience_model_association_identifier
1245
+ # A unique identifier of the configured audience model association that
1246
+ # you want to delete.
1247
+ #
1248
+ # @option params [required, String] :membership_identifier
1249
+ # A unique identifier of the membership that contains the audience model
1250
+ # association that you want to delete.
1251
+ #
1252
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1253
+ #
1254
+ # @example Request syntax with placeholder values
1255
+ #
1256
+ # resp = client.delete_configured_audience_model_association({
1257
+ # configured_audience_model_association_identifier: "ConfiguredAudienceModelAssociationIdentifier", # required
1258
+ # membership_identifier: "MembershipIdentifier", # required
1259
+ # })
1260
+ #
1261
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/DeleteConfiguredAudienceModelAssociation AWS API Documentation
1262
+ #
1263
+ # @overload delete_configured_audience_model_association(params = {})
1264
+ # @param [Hash] params ({})
1265
+ def delete_configured_audience_model_association(params = {}, options = {})
1266
+ req = build_request(:delete_configured_audience_model_association, params)
1267
+ req.send_request(options)
1268
+ end
1269
+
1075
1270
  # Deletes a configured table.
1076
1271
  #
1077
1272
  # @option params [required, String] :configured_table_identifier
@@ -1203,6 +1398,34 @@ module Aws::CleanRooms
1203
1398
  req.send_request(options)
1204
1399
  end
1205
1400
 
1401
+ # Deletes a privacy budget template for a specified membership.
1402
+ #
1403
+ # @option params [required, String] :membership_identifier
1404
+ # A unique identifier for one of your memberships for a collaboration.
1405
+ # The privacy budget template is deleted from the collaboration that
1406
+ # this membership belongs to. Accepts a membership ID.
1407
+ #
1408
+ # @option params [required, String] :privacy_budget_template_identifier
1409
+ # A unique identifier for your privacy budget template.
1410
+ #
1411
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1412
+ #
1413
+ # @example Request syntax with placeholder values
1414
+ #
1415
+ # resp = client.delete_privacy_budget_template({
1416
+ # membership_identifier: "MembershipIdentifier", # required
1417
+ # privacy_budget_template_identifier: "PrivacyBudgetTemplateIdentifier", # required
1418
+ # })
1419
+ #
1420
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/DeletePrivacyBudgetTemplate AWS API Documentation
1421
+ #
1422
+ # @overload delete_privacy_budget_template(params = {})
1423
+ # @param [Hash] params ({})
1424
+ def delete_privacy_budget_template(params = {}, options = {})
1425
+ req = build_request(:delete_privacy_budget_template, params)
1426
+ req.send_request(options)
1427
+ end
1428
+
1206
1429
  # Retrieves an analysis template.
1207
1430
  #
1208
1431
  # @option params [required, String] :membership_identifier
@@ -1345,6 +1568,137 @@ module Aws::CleanRooms
1345
1568
  req.send_request(options)
1346
1569
  end
1347
1570
 
1571
+ # Retrieves a configured audience model association within a
1572
+ # collaboration.
1573
+ #
1574
+ # @option params [required, String] :collaboration_identifier
1575
+ # A unique identifier for the collaboration that the configured audience
1576
+ # model association belongs to. Accepts a collaboration ID.
1577
+ #
1578
+ # @option params [required, String] :configured_audience_model_association_identifier
1579
+ # A unique identifier for the configured audience model association that
1580
+ # you want to retrieve.
1581
+ #
1582
+ # @return [Types::GetCollaborationConfiguredAudienceModelAssociationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1583
+ #
1584
+ # * {Types::GetCollaborationConfiguredAudienceModelAssociationOutput#collaboration_configured_audience_model_association #collaboration_configured_audience_model_association} => Types::CollaborationConfiguredAudienceModelAssociation
1585
+ #
1586
+ # @example Request syntax with placeholder values
1587
+ #
1588
+ # resp = client.get_collaboration_configured_audience_model_association({
1589
+ # collaboration_identifier: "CollaborationIdentifier", # required
1590
+ # configured_audience_model_association_identifier: "ConfiguredAudienceModelAssociationIdentifier", # required
1591
+ # })
1592
+ #
1593
+ # @example Response structure
1594
+ #
1595
+ # resp.collaboration_configured_audience_model_association.id #=> String
1596
+ # resp.collaboration_configured_audience_model_association.arn #=> String
1597
+ # resp.collaboration_configured_audience_model_association.collaboration_id #=> String
1598
+ # resp.collaboration_configured_audience_model_association.collaboration_arn #=> String
1599
+ # resp.collaboration_configured_audience_model_association.configured_audience_model_arn #=> String
1600
+ # resp.collaboration_configured_audience_model_association.name #=> String
1601
+ # resp.collaboration_configured_audience_model_association.description #=> String
1602
+ # resp.collaboration_configured_audience_model_association.creator_account_id #=> String
1603
+ # resp.collaboration_configured_audience_model_association.create_time #=> Time
1604
+ # resp.collaboration_configured_audience_model_association.update_time #=> Time
1605
+ #
1606
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetCollaborationConfiguredAudienceModelAssociation AWS API Documentation
1607
+ #
1608
+ # @overload get_collaboration_configured_audience_model_association(params = {})
1609
+ # @param [Hash] params ({})
1610
+ def get_collaboration_configured_audience_model_association(params = {}, options = {})
1611
+ req = build_request(:get_collaboration_configured_audience_model_association, params)
1612
+ req.send_request(options)
1613
+ end
1614
+
1615
+ # Returns details about a specified privacy budget template.
1616
+ #
1617
+ # @option params [required, String] :collaboration_identifier
1618
+ # A unique identifier for one of your collaborations.
1619
+ #
1620
+ # @option params [required, String] :privacy_budget_template_identifier
1621
+ # A unique identifier for one of your privacy budget templates.
1622
+ #
1623
+ # @return [Types::GetCollaborationPrivacyBudgetTemplateOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1624
+ #
1625
+ # * {Types::GetCollaborationPrivacyBudgetTemplateOutput#collaboration_privacy_budget_template #collaboration_privacy_budget_template} => Types::CollaborationPrivacyBudgetTemplate
1626
+ #
1627
+ # @example Request syntax with placeholder values
1628
+ #
1629
+ # resp = client.get_collaboration_privacy_budget_template({
1630
+ # collaboration_identifier: "CollaborationIdentifier", # required
1631
+ # privacy_budget_template_identifier: "PrivacyBudgetTemplateIdentifier", # required
1632
+ # })
1633
+ #
1634
+ # @example Response structure
1635
+ #
1636
+ # resp.collaboration_privacy_budget_template.id #=> String
1637
+ # resp.collaboration_privacy_budget_template.arn #=> String
1638
+ # resp.collaboration_privacy_budget_template.collaboration_id #=> String
1639
+ # resp.collaboration_privacy_budget_template.collaboration_arn #=> String
1640
+ # resp.collaboration_privacy_budget_template.creator_account_id #=> String
1641
+ # resp.collaboration_privacy_budget_template.create_time #=> Time
1642
+ # resp.collaboration_privacy_budget_template.update_time #=> Time
1643
+ # resp.collaboration_privacy_budget_template.privacy_budget_type #=> String, one of "DIFFERENTIAL_PRIVACY"
1644
+ # resp.collaboration_privacy_budget_template.auto_refresh #=> String, one of "CALENDAR_MONTH", "NONE"
1645
+ # resp.collaboration_privacy_budget_template.parameters.differential_privacy.epsilon #=> Integer
1646
+ # resp.collaboration_privacy_budget_template.parameters.differential_privacy.users_noise_per_query #=> Integer
1647
+ #
1648
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetCollaborationPrivacyBudgetTemplate AWS API Documentation
1649
+ #
1650
+ # @overload get_collaboration_privacy_budget_template(params = {})
1651
+ # @param [Hash] params ({})
1652
+ def get_collaboration_privacy_budget_template(params = {}, options = {})
1653
+ req = build_request(:get_collaboration_privacy_budget_template, params)
1654
+ req.send_request(options)
1655
+ end
1656
+
1657
+ # Returns information about a configured audience model association.
1658
+ #
1659
+ # @option params [required, String] :configured_audience_model_association_identifier
1660
+ # A unique identifier for the configured audience model association that
1661
+ # you want to retrieve.
1662
+ #
1663
+ # @option params [required, String] :membership_identifier
1664
+ # A unique identifier for the membership that contains the configured
1665
+ # audience model association that you want to retrieve.
1666
+ #
1667
+ # @return [Types::GetConfiguredAudienceModelAssociationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1668
+ #
1669
+ # * {Types::GetConfiguredAudienceModelAssociationOutput#configured_audience_model_association #configured_audience_model_association} => Types::ConfiguredAudienceModelAssociation
1670
+ #
1671
+ # @example Request syntax with placeholder values
1672
+ #
1673
+ # resp = client.get_configured_audience_model_association({
1674
+ # configured_audience_model_association_identifier: "ConfiguredAudienceModelAssociationIdentifier", # required
1675
+ # membership_identifier: "MembershipIdentifier", # required
1676
+ # })
1677
+ #
1678
+ # @example Response structure
1679
+ #
1680
+ # resp.configured_audience_model_association.id #=> String
1681
+ # resp.configured_audience_model_association.arn #=> String
1682
+ # resp.configured_audience_model_association.configured_audience_model_arn #=> String
1683
+ # resp.configured_audience_model_association.membership_id #=> String
1684
+ # resp.configured_audience_model_association.membership_arn #=> String
1685
+ # resp.configured_audience_model_association.collaboration_id #=> String
1686
+ # resp.configured_audience_model_association.collaboration_arn #=> String
1687
+ # resp.configured_audience_model_association.name #=> String
1688
+ # resp.configured_audience_model_association.manage_resource_policies #=> Boolean
1689
+ # resp.configured_audience_model_association.description #=> String
1690
+ # resp.configured_audience_model_association.create_time #=> Time
1691
+ # resp.configured_audience_model_association.update_time #=> Time
1692
+ #
1693
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetConfiguredAudienceModelAssociation AWS API Documentation
1694
+ #
1695
+ # @overload get_configured_audience_model_association(params = {})
1696
+ # @param [Hash] params ({})
1697
+ def get_configured_audience_model_association(params = {}, options = {})
1698
+ req = build_request(:get_configured_audience_model_association, params)
1699
+ req.send_request(options)
1700
+ end
1701
+
1348
1702
  # Retrieves a configured table.
1349
1703
  #
1350
1704
  # @option params [required, String] :configured_table_identifier
@@ -1438,6 +1792,8 @@ module Aws::CleanRooms
1438
1792
  # resp.analysis_rule.policy.v1.custom.allowed_analyses[0] #=> String
1439
1793
  # resp.analysis_rule.policy.v1.custom.allowed_analysis_providers #=> Array
1440
1794
  # resp.analysis_rule.policy.v1.custom.allowed_analysis_providers[0] #=> String
1795
+ # resp.analysis_rule.policy.v1.custom.differential_privacy.columns #=> Array
1796
+ # resp.analysis_rule.policy.v1.custom.differential_privacy.columns[0].name #=> String
1441
1797
  # resp.analysis_rule.type #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
1442
1798
  # resp.analysis_rule.create_time #=> Time
1443
1799
  # resp.analysis_rule.update_time #=> Time
@@ -1540,6 +1896,51 @@ module Aws::CleanRooms
1540
1896
  req.send_request(options)
1541
1897
  end
1542
1898
 
1899
+ # Returns details for a specified privacy budget template.
1900
+ #
1901
+ # @option params [required, String] :membership_identifier
1902
+ # A unique identifier for one of your memberships for a collaboration.
1903
+ # The privacy budget template is retrieved from the collaboration that
1904
+ # this membership belongs to. Accepts a membership ID.
1905
+ #
1906
+ # @option params [required, String] :privacy_budget_template_identifier
1907
+ # A unique identifier for your privacy budget template.
1908
+ #
1909
+ # @return [Types::GetPrivacyBudgetTemplateOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1910
+ #
1911
+ # * {Types::GetPrivacyBudgetTemplateOutput#privacy_budget_template #privacy_budget_template} => Types::PrivacyBudgetTemplate
1912
+ #
1913
+ # @example Request syntax with placeholder values
1914
+ #
1915
+ # resp = client.get_privacy_budget_template({
1916
+ # membership_identifier: "MembershipIdentifier", # required
1917
+ # privacy_budget_template_identifier: "PrivacyBudgetTemplateIdentifier", # required
1918
+ # })
1919
+ #
1920
+ # @example Response structure
1921
+ #
1922
+ # resp.privacy_budget_template.id #=> String
1923
+ # resp.privacy_budget_template.arn #=> String
1924
+ # resp.privacy_budget_template.membership_id #=> String
1925
+ # resp.privacy_budget_template.membership_arn #=> String
1926
+ # resp.privacy_budget_template.collaboration_id #=> String
1927
+ # resp.privacy_budget_template.collaboration_arn #=> String
1928
+ # resp.privacy_budget_template.create_time #=> Time
1929
+ # resp.privacy_budget_template.update_time #=> Time
1930
+ # resp.privacy_budget_template.privacy_budget_type #=> String, one of "DIFFERENTIAL_PRIVACY"
1931
+ # resp.privacy_budget_template.auto_refresh #=> String, one of "CALENDAR_MONTH", "NONE"
1932
+ # resp.privacy_budget_template.parameters.differential_privacy.epsilon #=> Integer
1933
+ # resp.privacy_budget_template.parameters.differential_privacy.users_noise_per_query #=> Integer
1934
+ #
1935
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetPrivacyBudgetTemplate AWS API Documentation
1936
+ #
1937
+ # @overload get_privacy_budget_template(params = {})
1938
+ # @param [Hash] params ({})
1939
+ def get_privacy_budget_template(params = {}, options = {})
1940
+ req = build_request(:get_privacy_budget_template, params)
1941
+ req.send_request(options)
1942
+ end
1943
+
1543
1944
  # Returns query processing metadata.
1544
1945
  #
1545
1946
  # @option params [required, String] :membership_identifier
@@ -1579,6 +1980,12 @@ module Aws::CleanRooms
1579
1980
  # resp.protected_query.result.output.member_list[0].account_id #=> String
1580
1981
  # resp.protected_query.error.message #=> String
1581
1982
  # resp.protected_query.error.code #=> String
1983
+ # resp.protected_query.differential_privacy.sensitivity_parameters #=> Array
1984
+ # resp.protected_query.differential_privacy.sensitivity_parameters[0].aggregation_type #=> String, one of "AVG", "COUNT", "COUNT_DISTINCT", "SUM", "STDDEV"
1985
+ # resp.protected_query.differential_privacy.sensitivity_parameters[0].aggregation_expression #=> String
1986
+ # resp.protected_query.differential_privacy.sensitivity_parameters[0].user_contribution_limit #=> Integer
1987
+ # resp.protected_query.differential_privacy.sensitivity_parameters[0].min_column_value #=> Float
1988
+ # resp.protected_query.differential_privacy.sensitivity_parameters[0].max_column_value #=> Float
1582
1989
  #
1583
1990
  # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetProtectedQuery AWS API Documentation
1584
1991
  #
@@ -1698,6 +2105,8 @@ module Aws::CleanRooms
1698
2105
  # resp.analysis_rule.policy.v1.custom.allowed_analyses[0] #=> String
1699
2106
  # resp.analysis_rule.policy.v1.custom.allowed_analysis_providers #=> Array
1700
2107
  # resp.analysis_rule.policy.v1.custom.allowed_analysis_providers[0] #=> String
2108
+ # resp.analysis_rule.policy.v1.custom.differential_privacy.columns #=> Array
2109
+ # resp.analysis_rule.policy.v1.custom.differential_privacy.columns[0].name #=> String
1701
2110
  #
1702
2111
  # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetSchemaAnalysisRule AWS API Documentation
1703
2112
  #
@@ -1810,6 +2219,172 @@ module Aws::CleanRooms
1810
2219
  req.send_request(options)
1811
2220
  end
1812
2221
 
2222
+ # Lists configured audience model associations within a collaboration.
2223
+ #
2224
+ # @option params [required, String] :collaboration_identifier
2225
+ # A unique identifier for the collaboration that the configured audience
2226
+ # model association belongs to. Accepts a collaboration ID.
2227
+ #
2228
+ # @option params [String] :next_token
2229
+ # The token value retrieved from a previous call to access the next page
2230
+ # of results.
2231
+ #
2232
+ # @option params [Integer] :max_results
2233
+ # The maximum size of the results that is returned per call.
2234
+ #
2235
+ # @return [Types::ListCollaborationConfiguredAudienceModelAssociationsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2236
+ #
2237
+ # * {Types::ListCollaborationConfiguredAudienceModelAssociationsOutput#collaboration_configured_audience_model_association_summaries #collaboration_configured_audience_model_association_summaries} => Array&lt;Types::CollaborationConfiguredAudienceModelAssociationSummary&gt;
2238
+ # * {Types::ListCollaborationConfiguredAudienceModelAssociationsOutput#next_token #next_token} => String
2239
+ #
2240
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2241
+ #
2242
+ # @example Request syntax with placeholder values
2243
+ #
2244
+ # resp = client.list_collaboration_configured_audience_model_associations({
2245
+ # collaboration_identifier: "CollaborationIdentifier", # required
2246
+ # next_token: "PaginationToken",
2247
+ # max_results: 1,
2248
+ # })
2249
+ #
2250
+ # @example Response structure
2251
+ #
2252
+ # resp.collaboration_configured_audience_model_association_summaries #=> Array
2253
+ # resp.collaboration_configured_audience_model_association_summaries[0].arn #=> String
2254
+ # resp.collaboration_configured_audience_model_association_summaries[0].create_time #=> Time
2255
+ # resp.collaboration_configured_audience_model_association_summaries[0].id #=> String
2256
+ # resp.collaboration_configured_audience_model_association_summaries[0].name #=> String
2257
+ # resp.collaboration_configured_audience_model_association_summaries[0].update_time #=> Time
2258
+ # resp.collaboration_configured_audience_model_association_summaries[0].collaboration_arn #=> String
2259
+ # resp.collaboration_configured_audience_model_association_summaries[0].collaboration_id #=> String
2260
+ # resp.collaboration_configured_audience_model_association_summaries[0].creator_account_id #=> String
2261
+ # resp.collaboration_configured_audience_model_association_summaries[0].description #=> String
2262
+ # resp.next_token #=> String
2263
+ #
2264
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListCollaborationConfiguredAudienceModelAssociations AWS API Documentation
2265
+ #
2266
+ # @overload list_collaboration_configured_audience_model_associations(params = {})
2267
+ # @param [Hash] params ({})
2268
+ def list_collaboration_configured_audience_model_associations(params = {}, options = {})
2269
+ req = build_request(:list_collaboration_configured_audience_model_associations, params)
2270
+ req.send_request(options)
2271
+ end
2272
+
2273
+ # Returns an array that summarizes each privacy budget template in a
2274
+ # specified collaboration.
2275
+ #
2276
+ # @option params [required, String] :collaboration_identifier
2277
+ # A unique identifier for one of your collaborations.
2278
+ #
2279
+ # @option params [String] :next_token
2280
+ # The token value retrieved from a previous call to access the next page
2281
+ # of results.
2282
+ #
2283
+ # @option params [Integer] :max_results
2284
+ # The maximum size of the results that is returned per call. Service
2285
+ # chooses a default if it has not been set. Service may return a
2286
+ # nextToken even if the maximum results has not been met.
2287
+ #
2288
+ # @return [Types::ListCollaborationPrivacyBudgetTemplatesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2289
+ #
2290
+ # * {Types::ListCollaborationPrivacyBudgetTemplatesOutput#next_token #next_token} => String
2291
+ # * {Types::ListCollaborationPrivacyBudgetTemplatesOutput#collaboration_privacy_budget_template_summaries #collaboration_privacy_budget_template_summaries} => Array&lt;Types::CollaborationPrivacyBudgetTemplateSummary&gt;
2292
+ #
2293
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2294
+ #
2295
+ # @example Request syntax with placeholder values
2296
+ #
2297
+ # resp = client.list_collaboration_privacy_budget_templates({
2298
+ # collaboration_identifier: "CollaborationIdentifier", # required
2299
+ # next_token: "PaginationToken",
2300
+ # max_results: 1,
2301
+ # })
2302
+ #
2303
+ # @example Response structure
2304
+ #
2305
+ # resp.next_token #=> String
2306
+ # resp.collaboration_privacy_budget_template_summaries #=> Array
2307
+ # resp.collaboration_privacy_budget_template_summaries[0].id #=> String
2308
+ # resp.collaboration_privacy_budget_template_summaries[0].arn #=> String
2309
+ # resp.collaboration_privacy_budget_template_summaries[0].collaboration_id #=> String
2310
+ # resp.collaboration_privacy_budget_template_summaries[0].collaboration_arn #=> String
2311
+ # resp.collaboration_privacy_budget_template_summaries[0].creator_account_id #=> String
2312
+ # resp.collaboration_privacy_budget_template_summaries[0].privacy_budget_type #=> String, one of "DIFFERENTIAL_PRIVACY"
2313
+ # resp.collaboration_privacy_budget_template_summaries[0].create_time #=> Time
2314
+ # resp.collaboration_privacy_budget_template_summaries[0].update_time #=> Time
2315
+ #
2316
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListCollaborationPrivacyBudgetTemplates AWS API Documentation
2317
+ #
2318
+ # @overload list_collaboration_privacy_budget_templates(params = {})
2319
+ # @param [Hash] params ({})
2320
+ def list_collaboration_privacy_budget_templates(params = {}, options = {})
2321
+ req = build_request(:list_collaboration_privacy_budget_templates, params)
2322
+ req.send_request(options)
2323
+ end
2324
+
2325
+ # Returns an array that summarizes each privacy budget in a specified
2326
+ # collaboration. The summary includes the collaboration ARN, creation
2327
+ # time, creating account, and privacy budget details.
2328
+ #
2329
+ # @option params [required, String] :collaboration_identifier
2330
+ # A unique identifier for one of your collaborations.
2331
+ #
2332
+ # @option params [required, String] :privacy_budget_type
2333
+ # Specifies the type of the privacy budget.
2334
+ #
2335
+ # @option params [Integer] :max_results
2336
+ # The maximum size of the results that is returned per call. Service
2337
+ # chooses a default if it has not been set. Service may return a
2338
+ # nextToken even if the maximum results has not been met.
2339
+ #
2340
+ # @option params [String] :next_token
2341
+ # The token value retrieved from a previous call to access the next page
2342
+ # of results.
2343
+ #
2344
+ # @return [Types::ListCollaborationPrivacyBudgetsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2345
+ #
2346
+ # * {Types::ListCollaborationPrivacyBudgetsOutput#collaboration_privacy_budget_summaries #collaboration_privacy_budget_summaries} => Array&lt;Types::CollaborationPrivacyBudgetSummary&gt;
2347
+ # * {Types::ListCollaborationPrivacyBudgetsOutput#next_token #next_token} => String
2348
+ #
2349
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2350
+ #
2351
+ # @example Request syntax with placeholder values
2352
+ #
2353
+ # resp = client.list_collaboration_privacy_budgets({
2354
+ # collaboration_identifier: "CollaborationIdentifier", # required
2355
+ # privacy_budget_type: "DIFFERENTIAL_PRIVACY", # required, accepts DIFFERENTIAL_PRIVACY
2356
+ # max_results: 1,
2357
+ # next_token: "PaginationToken",
2358
+ # })
2359
+ #
2360
+ # @example Response structure
2361
+ #
2362
+ # resp.collaboration_privacy_budget_summaries #=> Array
2363
+ # resp.collaboration_privacy_budget_summaries[0].id #=> String
2364
+ # resp.collaboration_privacy_budget_summaries[0].privacy_budget_template_id #=> String
2365
+ # resp.collaboration_privacy_budget_summaries[0].privacy_budget_template_arn #=> String
2366
+ # resp.collaboration_privacy_budget_summaries[0].collaboration_id #=> String
2367
+ # resp.collaboration_privacy_budget_summaries[0].collaboration_arn #=> String
2368
+ # resp.collaboration_privacy_budget_summaries[0].creator_account_id #=> String
2369
+ # resp.collaboration_privacy_budget_summaries[0].type #=> String, one of "DIFFERENTIAL_PRIVACY"
2370
+ # resp.collaboration_privacy_budget_summaries[0].create_time #=> Time
2371
+ # resp.collaboration_privacy_budget_summaries[0].update_time #=> Time
2372
+ # resp.collaboration_privacy_budget_summaries[0].budget.differential_privacy.aggregations #=> Array
2373
+ # resp.collaboration_privacy_budget_summaries[0].budget.differential_privacy.aggregations[0].type #=> String, one of "AVG", "COUNT", "COUNT_DISTINCT", "SUM", "STDDEV"
2374
+ # resp.collaboration_privacy_budget_summaries[0].budget.differential_privacy.aggregations[0].max_count #=> Integer
2375
+ # resp.collaboration_privacy_budget_summaries[0].budget.differential_privacy.aggregations[0].remaining_count #=> Integer
2376
+ # resp.collaboration_privacy_budget_summaries[0].budget.differential_privacy.epsilon #=> Integer
2377
+ # resp.next_token #=> String
2378
+ #
2379
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListCollaborationPrivacyBudgets AWS API Documentation
2380
+ #
2381
+ # @overload list_collaboration_privacy_budgets(params = {})
2382
+ # @param [Hash] params ({})
2383
+ def list_collaboration_privacy_budgets(params = {}, options = {})
2384
+ req = build_request(:list_collaboration_privacy_budgets, params)
2385
+ req.send_request(options)
2386
+ end
2387
+
1813
2388
  # Lists collaborations the caller owns, is active in, or has been
1814
2389
  # invited to.
1815
2390
  #
@@ -1864,6 +2439,62 @@ module Aws::CleanRooms
1864
2439
  req.send_request(options)
1865
2440
  end
1866
2441
 
2442
+ # Lists information about requested configured audience model
2443
+ # associations.
2444
+ #
2445
+ # @option params [required, String] :membership_identifier
2446
+ # A unique identifier for a membership that contains the configured
2447
+ # audience model associations that you want to retrieve.
2448
+ #
2449
+ # @option params [String] :next_token
2450
+ # The token value retrieved from a previous call to access the next page
2451
+ # of results.
2452
+ #
2453
+ # @option params [Integer] :max_results
2454
+ # The maximum size of the results that is returned per call. Service
2455
+ # chooses a default if it has not been set. Service may return a
2456
+ # nextToken even if the maximum results has not been met.
2457
+ #
2458
+ # @return [Types::ListConfiguredAudienceModelAssociationsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2459
+ #
2460
+ # * {Types::ListConfiguredAudienceModelAssociationsOutput#configured_audience_model_association_summaries #configured_audience_model_association_summaries} => Array&lt;Types::ConfiguredAudienceModelAssociationSummary&gt;
2461
+ # * {Types::ListConfiguredAudienceModelAssociationsOutput#next_token #next_token} => String
2462
+ #
2463
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2464
+ #
2465
+ # @example Request syntax with placeholder values
2466
+ #
2467
+ # resp = client.list_configured_audience_model_associations({
2468
+ # membership_identifier: "MembershipIdentifier", # required
2469
+ # next_token: "PaginationToken",
2470
+ # max_results: 1,
2471
+ # })
2472
+ #
2473
+ # @example Response structure
2474
+ #
2475
+ # resp.configured_audience_model_association_summaries #=> Array
2476
+ # resp.configured_audience_model_association_summaries[0].membership_id #=> String
2477
+ # resp.configured_audience_model_association_summaries[0].membership_arn #=> String
2478
+ # resp.configured_audience_model_association_summaries[0].collaboration_arn #=> String
2479
+ # resp.configured_audience_model_association_summaries[0].collaboration_id #=> String
2480
+ # resp.configured_audience_model_association_summaries[0].create_time #=> Time
2481
+ # resp.configured_audience_model_association_summaries[0].update_time #=> Time
2482
+ # resp.configured_audience_model_association_summaries[0].id #=> String
2483
+ # resp.configured_audience_model_association_summaries[0].arn #=> String
2484
+ # resp.configured_audience_model_association_summaries[0].name #=> String
2485
+ # resp.configured_audience_model_association_summaries[0].configured_audience_model_arn #=> String
2486
+ # resp.configured_audience_model_association_summaries[0].description #=> String
2487
+ # resp.next_token #=> String
2488
+ #
2489
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListConfiguredAudienceModelAssociations AWS API Documentation
2490
+ #
2491
+ # @overload list_configured_audience_model_associations(params = {})
2492
+ # @param [Hash] params ({})
2493
+ def list_configured_audience_model_associations(params = {}, options = {})
2494
+ req = build_request(:list_configured_audience_model_associations, params)
2495
+ req.send_request(options)
2496
+ end
2497
+
1867
2498
  # Lists configured table associations for a membership.
1868
2499
  #
1869
2500
  # @option params [required, String] :membership_identifier
@@ -2064,6 +2695,126 @@ module Aws::CleanRooms
2064
2695
  req.send_request(options)
2065
2696
  end
2066
2697
 
2698
+ # Returns detailed information about the privacy budget templates in a
2699
+ # specified membership.
2700
+ #
2701
+ # @option params [required, String] :membership_identifier
2702
+ # A unique identifier for one of your memberships for a collaboration.
2703
+ # The privacy budget templates are retrieved from the collaboration that
2704
+ # this membership belongs to. Accepts a membership ID.
2705
+ #
2706
+ # @option params [String] :next_token
2707
+ # The token value retrieved from a previous call to access the next page
2708
+ # of results.
2709
+ #
2710
+ # @option params [Integer] :max_results
2711
+ # The maximum size of the results that is returned per call. Service
2712
+ # chooses a default if it has not been set. Service may return a
2713
+ # nextToken even if the maximum results has not been met.
2714
+ #
2715
+ # @return [Types::ListPrivacyBudgetTemplatesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2716
+ #
2717
+ # * {Types::ListPrivacyBudgetTemplatesOutput#next_token #next_token} => String
2718
+ # * {Types::ListPrivacyBudgetTemplatesOutput#privacy_budget_template_summaries #privacy_budget_template_summaries} => Array&lt;Types::PrivacyBudgetTemplateSummary&gt;
2719
+ #
2720
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2721
+ #
2722
+ # @example Request syntax with placeholder values
2723
+ #
2724
+ # resp = client.list_privacy_budget_templates({
2725
+ # membership_identifier: "MembershipIdentifier", # required
2726
+ # next_token: "PaginationToken",
2727
+ # max_results: 1,
2728
+ # })
2729
+ #
2730
+ # @example Response structure
2731
+ #
2732
+ # resp.next_token #=> String
2733
+ # resp.privacy_budget_template_summaries #=> Array
2734
+ # resp.privacy_budget_template_summaries[0].id #=> String
2735
+ # resp.privacy_budget_template_summaries[0].arn #=> String
2736
+ # resp.privacy_budget_template_summaries[0].membership_id #=> String
2737
+ # resp.privacy_budget_template_summaries[0].membership_arn #=> String
2738
+ # resp.privacy_budget_template_summaries[0].collaboration_id #=> String
2739
+ # resp.privacy_budget_template_summaries[0].collaboration_arn #=> String
2740
+ # resp.privacy_budget_template_summaries[0].privacy_budget_type #=> String, one of "DIFFERENTIAL_PRIVACY"
2741
+ # resp.privacy_budget_template_summaries[0].create_time #=> Time
2742
+ # resp.privacy_budget_template_summaries[0].update_time #=> Time
2743
+ #
2744
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListPrivacyBudgetTemplates AWS API Documentation
2745
+ #
2746
+ # @overload list_privacy_budget_templates(params = {})
2747
+ # @param [Hash] params ({})
2748
+ def list_privacy_budget_templates(params = {}, options = {})
2749
+ req = build_request(:list_privacy_budget_templates, params)
2750
+ req.send_request(options)
2751
+ end
2752
+
2753
+ # Returns detailed information about the privacy budgets in a specified
2754
+ # membership.
2755
+ #
2756
+ # @option params [required, String] :membership_identifier
2757
+ # A unique identifier for one of your memberships for a collaboration.
2758
+ # The privacy budget is retrieved from the collaboration that this
2759
+ # membership belongs to. Accepts a membership ID.
2760
+ #
2761
+ # @option params [required, String] :privacy_budget_type
2762
+ # The privacy budget type.
2763
+ #
2764
+ # @option params [String] :next_token
2765
+ # The token value retrieved from a previous call to access the next page
2766
+ # of results.
2767
+ #
2768
+ # @option params [Integer] :max_results
2769
+ # The maximum size of the results that is returned per call. Service
2770
+ # chooses a default if it has not been set. Service may return a
2771
+ # nextToken even if the maximum results has not been met.
2772
+ #
2773
+ # @return [Types::ListPrivacyBudgetsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2774
+ #
2775
+ # * {Types::ListPrivacyBudgetsOutput#privacy_budget_summaries #privacy_budget_summaries} => Array&lt;Types::PrivacyBudgetSummary&gt;
2776
+ # * {Types::ListPrivacyBudgetsOutput#next_token #next_token} => String
2777
+ #
2778
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2779
+ #
2780
+ # @example Request syntax with placeholder values
2781
+ #
2782
+ # resp = client.list_privacy_budgets({
2783
+ # membership_identifier: "MembershipIdentifier", # required
2784
+ # privacy_budget_type: "DIFFERENTIAL_PRIVACY", # required, accepts DIFFERENTIAL_PRIVACY
2785
+ # next_token: "PaginationToken",
2786
+ # max_results: 1,
2787
+ # })
2788
+ #
2789
+ # @example Response structure
2790
+ #
2791
+ # resp.privacy_budget_summaries #=> Array
2792
+ # resp.privacy_budget_summaries[0].id #=> String
2793
+ # resp.privacy_budget_summaries[0].privacy_budget_template_id #=> String
2794
+ # resp.privacy_budget_summaries[0].privacy_budget_template_arn #=> String
2795
+ # resp.privacy_budget_summaries[0].membership_id #=> String
2796
+ # resp.privacy_budget_summaries[0].membership_arn #=> String
2797
+ # resp.privacy_budget_summaries[0].collaboration_id #=> String
2798
+ # resp.privacy_budget_summaries[0].collaboration_arn #=> String
2799
+ # resp.privacy_budget_summaries[0].type #=> String, one of "DIFFERENTIAL_PRIVACY"
2800
+ # resp.privacy_budget_summaries[0].create_time #=> Time
2801
+ # resp.privacy_budget_summaries[0].update_time #=> Time
2802
+ # resp.privacy_budget_summaries[0].budget.differential_privacy.aggregations #=> Array
2803
+ # resp.privacy_budget_summaries[0].budget.differential_privacy.aggregations[0].type #=> String, one of "AVG", "COUNT", "COUNT_DISTINCT", "SUM", "STDDEV"
2804
+ # resp.privacy_budget_summaries[0].budget.differential_privacy.aggregations[0].max_count #=> Integer
2805
+ # resp.privacy_budget_summaries[0].budget.differential_privacy.aggregations[0].remaining_count #=> Integer
2806
+ # resp.privacy_budget_summaries[0].budget.differential_privacy.epsilon #=> Integer
2807
+ # resp.next_token #=> String
2808
+ #
2809
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListPrivacyBudgets AWS API Documentation
2810
+ #
2811
+ # @overload list_privacy_budgets(params = {})
2812
+ # @param [Hash] params ({})
2813
+ def list_privacy_budgets(params = {}, options = {})
2814
+ req = build_request(:list_privacy_budgets, params)
2815
+ req.send_request(options)
2816
+ end
2817
+
2067
2818
  # Lists protected queries, sorted by the most recent query.
2068
2819
  #
2069
2820
  # @option params [required, String] :membership_identifier
@@ -2203,6 +2954,47 @@ module Aws::CleanRooms
2203
2954
  req.send_request(options)
2204
2955
  end
2205
2956
 
2957
+ # An estimate of the number of aggregation functions that the member who
2958
+ # can query can run given epsilon and noise parameters.
2959
+ #
2960
+ # @option params [required, String] :membership_identifier
2961
+ # A unique identifier for one of your memberships for a collaboration.
2962
+ # Accepts a membership ID.
2963
+ #
2964
+ # @option params [required, Types::PreviewPrivacyImpactParametersInput] :parameters
2965
+ # Specifies the desired epsilon and noise parameters to preview.
2966
+ #
2967
+ # @return [Types::PreviewPrivacyImpactOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2968
+ #
2969
+ # * {Types::PreviewPrivacyImpactOutput#privacy_impact #privacy_impact} => Types::PrivacyImpact
2970
+ #
2971
+ # @example Request syntax with placeholder values
2972
+ #
2973
+ # resp = client.preview_privacy_impact({
2974
+ # membership_identifier: "MembershipIdentifier", # required
2975
+ # parameters: { # required
2976
+ # differential_privacy: {
2977
+ # epsilon: 1, # required
2978
+ # users_noise_per_query: 1, # required
2979
+ # },
2980
+ # },
2981
+ # })
2982
+ #
2983
+ # @example Response structure
2984
+ #
2985
+ # resp.privacy_impact.differential_privacy.aggregations #=> Array
2986
+ # resp.privacy_impact.differential_privacy.aggregations[0].type #=> String, one of "AVG", "COUNT", "COUNT_DISTINCT", "SUM", "STDDEV"
2987
+ # resp.privacy_impact.differential_privacy.aggregations[0].max_count #=> Integer
2988
+ #
2989
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/PreviewPrivacyImpact AWS API Documentation
2990
+ #
2991
+ # @overload preview_privacy_impact(params = {})
2992
+ # @param [Hash] params ({})
2993
+ def preview_privacy_impact(params = {}, options = {})
2994
+ req = build_request(:preview_privacy_impact, params)
2995
+ req.send_request(options)
2996
+ end
2997
+
2206
2998
  # Creates a protected query that is started by Clean Rooms.
2207
2999
  #
2208
3000
  # @option params [required, String] :type
@@ -2265,6 +3057,12 @@ module Aws::CleanRooms
2265
3057
  # resp.protected_query.result.output.member_list[0].account_id #=> String
2266
3058
  # resp.protected_query.error.message #=> String
2267
3059
  # resp.protected_query.error.code #=> String
3060
+ # resp.protected_query.differential_privacy.sensitivity_parameters #=> Array
3061
+ # resp.protected_query.differential_privacy.sensitivity_parameters[0].aggregation_type #=> String, one of "AVG", "COUNT", "COUNT_DISTINCT", "SUM", "STDDEV"
3062
+ # resp.protected_query.differential_privacy.sensitivity_parameters[0].aggregation_expression #=> String
3063
+ # resp.protected_query.differential_privacy.sensitivity_parameters[0].user_contribution_limit #=> Integer
3064
+ # resp.protected_query.differential_privacy.sensitivity_parameters[0].min_column_value #=> Float
3065
+ # resp.protected_query.differential_privacy.sensitivity_parameters[0].max_column_value #=> Float
2268
3066
  #
2269
3067
  # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/StartProtectedQuery AWS API Documentation
2270
3068
  #
@@ -2437,6 +3235,60 @@ module Aws::CleanRooms
2437
3235
  req.send_request(options)
2438
3236
  end
2439
3237
 
3238
+ # Provides the details necessary to update a configured audience model
3239
+ # association.
3240
+ #
3241
+ # @option params [required, String] :configured_audience_model_association_identifier
3242
+ # A unique identifier for the configured audience model association that
3243
+ # you want to update.
3244
+ #
3245
+ # @option params [required, String] :membership_identifier
3246
+ # A unique identifier of the membership that contains the configured
3247
+ # audience model association that you want to update.
3248
+ #
3249
+ # @option params [String] :description
3250
+ # A new description for the configured audience model association.
3251
+ #
3252
+ # @option params [String] :name
3253
+ # A new name for the configured audience model association.
3254
+ #
3255
+ # @return [Types::UpdateConfiguredAudienceModelAssociationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3256
+ #
3257
+ # * {Types::UpdateConfiguredAudienceModelAssociationOutput#configured_audience_model_association #configured_audience_model_association} => Types::ConfiguredAudienceModelAssociation
3258
+ #
3259
+ # @example Request syntax with placeholder values
3260
+ #
3261
+ # resp = client.update_configured_audience_model_association({
3262
+ # configured_audience_model_association_identifier: "ConfiguredAudienceModelAssociationIdentifier", # required
3263
+ # membership_identifier: "MembershipIdentifier", # required
3264
+ # description: "ResourceDescription",
3265
+ # name: "ConfiguredAudienceModelAssociationName",
3266
+ # })
3267
+ #
3268
+ # @example Response structure
3269
+ #
3270
+ # resp.configured_audience_model_association.id #=> String
3271
+ # resp.configured_audience_model_association.arn #=> String
3272
+ # resp.configured_audience_model_association.configured_audience_model_arn #=> String
3273
+ # resp.configured_audience_model_association.membership_id #=> String
3274
+ # resp.configured_audience_model_association.membership_arn #=> String
3275
+ # resp.configured_audience_model_association.collaboration_id #=> String
3276
+ # resp.configured_audience_model_association.collaboration_arn #=> String
3277
+ # resp.configured_audience_model_association.name #=> String
3278
+ # resp.configured_audience_model_association.manage_resource_policies #=> Boolean
3279
+ # resp.configured_audience_model_association.description #=> String
3280
+ # resp.configured_audience_model_association.create_time #=> Time
3281
+ # resp.configured_audience_model_association.update_time #=> Time
3282
+ #
3283
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateConfiguredAudienceModelAssociation AWS API Documentation
3284
+ #
3285
+ # @overload update_configured_audience_model_association(params = {})
3286
+ # @param [Hash] params ({})
3287
+ def update_configured_audience_model_association(params = {}, options = {})
3288
+ req = build_request(:update_configured_audience_model_association, params)
3289
+ req.send_request(options)
3290
+ end
3291
+
2440
3292
  # Updates a configured table.
2441
3293
  #
2442
3294
  # @option params [required, String] :configured_table_identifier
@@ -2539,6 +3391,13 @@ module Aws::CleanRooms
2539
3391
  # custom: {
2540
3392
  # allowed_analyses: ["AnalysisTemplateArnOrQueryWildcard"], # required
2541
3393
  # allowed_analysis_providers: ["AccountId"],
3394
+ # differential_privacy: {
3395
+ # columns: [ # required
3396
+ # {
3397
+ # name: "String", # required
3398
+ # },
3399
+ # ],
3400
+ # },
2542
3401
  # },
2543
3402
  # },
2544
3403
  # },
@@ -2575,6 +3434,8 @@ module Aws::CleanRooms
2575
3434
  # resp.analysis_rule.policy.v1.custom.allowed_analyses[0] #=> String
2576
3435
  # resp.analysis_rule.policy.v1.custom.allowed_analysis_providers #=> Array
2577
3436
  # resp.analysis_rule.policy.v1.custom.allowed_analysis_providers[0] #=> String
3437
+ # resp.analysis_rule.policy.v1.custom.differential_privacy.columns #=> Array
3438
+ # resp.analysis_rule.policy.v1.custom.differential_privacy.columns[0].name #=> String
2578
3439
  # resp.analysis_rule.type #=> String, one of "AGGREGATION", "LIST", "CUSTOM"
2579
3440
  # resp.analysis_rule.create_time #=> Time
2580
3441
  # resp.analysis_rule.update_time #=> Time
@@ -2705,6 +3566,66 @@ module Aws::CleanRooms
2705
3566
  req.send_request(options)
2706
3567
  end
2707
3568
 
3569
+ # Updates the privacy budget template for the specified membership.
3570
+ #
3571
+ # @option params [required, String] :membership_identifier
3572
+ # A unique identifier for one of your memberships for a collaboration.
3573
+ # The privacy budget template is updated in the collaboration that this
3574
+ # membership belongs to. Accepts a membership ID.
3575
+ #
3576
+ # @option params [required, String] :privacy_budget_template_identifier
3577
+ # A unique identifier for your privacy budget template that you want to
3578
+ # update.
3579
+ #
3580
+ # @option params [required, String] :privacy_budget_type
3581
+ # Specifies the type of the privacy budget template.
3582
+ #
3583
+ # @option params [Types::PrivacyBudgetTemplateUpdateParameters] :parameters
3584
+ # Specifies the epsilon and noise parameters for the privacy budget
3585
+ # template.
3586
+ #
3587
+ # @return [Types::UpdatePrivacyBudgetTemplateOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3588
+ #
3589
+ # * {Types::UpdatePrivacyBudgetTemplateOutput#privacy_budget_template #privacy_budget_template} => Types::PrivacyBudgetTemplate
3590
+ #
3591
+ # @example Request syntax with placeholder values
3592
+ #
3593
+ # resp = client.update_privacy_budget_template({
3594
+ # membership_identifier: "MembershipIdentifier", # required
3595
+ # privacy_budget_template_identifier: "PrivacyBudgetTemplateIdentifier", # required
3596
+ # privacy_budget_type: "DIFFERENTIAL_PRIVACY", # required, accepts DIFFERENTIAL_PRIVACY
3597
+ # parameters: {
3598
+ # differential_privacy: {
3599
+ # epsilon: 1,
3600
+ # users_noise_per_query: 1,
3601
+ # },
3602
+ # },
3603
+ # })
3604
+ #
3605
+ # @example Response structure
3606
+ #
3607
+ # resp.privacy_budget_template.id #=> String
3608
+ # resp.privacy_budget_template.arn #=> String
3609
+ # resp.privacy_budget_template.membership_id #=> String
3610
+ # resp.privacy_budget_template.membership_arn #=> String
3611
+ # resp.privacy_budget_template.collaboration_id #=> String
3612
+ # resp.privacy_budget_template.collaboration_arn #=> String
3613
+ # resp.privacy_budget_template.create_time #=> Time
3614
+ # resp.privacy_budget_template.update_time #=> Time
3615
+ # resp.privacy_budget_template.privacy_budget_type #=> String, one of "DIFFERENTIAL_PRIVACY"
3616
+ # resp.privacy_budget_template.auto_refresh #=> String, one of "CALENDAR_MONTH", "NONE"
3617
+ # resp.privacy_budget_template.parameters.differential_privacy.epsilon #=> Integer
3618
+ # resp.privacy_budget_template.parameters.differential_privacy.users_noise_per_query #=> Integer
3619
+ #
3620
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdatePrivacyBudgetTemplate AWS API Documentation
3621
+ #
3622
+ # @overload update_privacy_budget_template(params = {})
3623
+ # @param [Hash] params ({})
3624
+ def update_privacy_budget_template(params = {}, options = {})
3625
+ req = build_request(:update_privacy_budget_template, params)
3626
+ req.send_request(options)
3627
+ end
3628
+
2708
3629
  # Updates the processing of a currently running query.
2709
3630
  #
2710
3631
  # @option params [required, String] :membership_identifier
@@ -2749,6 +3670,12 @@ module Aws::CleanRooms
2749
3670
  # resp.protected_query.result.output.member_list[0].account_id #=> String
2750
3671
  # resp.protected_query.error.message #=> String
2751
3672
  # resp.protected_query.error.code #=> String
3673
+ # resp.protected_query.differential_privacy.sensitivity_parameters #=> Array
3674
+ # resp.protected_query.differential_privacy.sensitivity_parameters[0].aggregation_type #=> String, one of "AVG", "COUNT", "COUNT_DISTINCT", "SUM", "STDDEV"
3675
+ # resp.protected_query.differential_privacy.sensitivity_parameters[0].aggregation_expression #=> String
3676
+ # resp.protected_query.differential_privacy.sensitivity_parameters[0].user_contribution_limit #=> Integer
3677
+ # resp.protected_query.differential_privacy.sensitivity_parameters[0].min_column_value #=> Float
3678
+ # resp.protected_query.differential_privacy.sensitivity_parameters[0].max_column_value #=> Float
2752
3679
  #
2753
3680
  # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateProtectedQuery AWS API Documentation
2754
3681
  #
@@ -2772,7 +3699,7 @@ module Aws::CleanRooms
2772
3699
  params: params,
2773
3700
  config: config)
2774
3701
  context[:gem_name] = 'aws-sdk-cleanrooms'
2775
- context[:gem_version] = '1.14.0'
3702
+ context[:gem_version] = '1.15.0'
2776
3703
  Seahorse::Client::Request.new(handlers, context)
2777
3704
  end
2778
3705