aws-sdk-cleanrooms 1.14.0 → 1.15.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.
@@ -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