CleanRoomsService ***************** Client ====== class CleanRoomsService.Client A low-level client representing AWS Clean Rooms Service Welcome to the *Clean Rooms API Reference*. Clean Rooms is an Amazon Web Services service that helps multiple parties to join their data together in a secure collaboration workspace. In the collaboration, members who can run queries and jobs and receive results can get insights into the collective datasets without either party getting access to the other party's raw data. To learn more about Clean Rooms concepts, procedures, and best practices, see the Clean Rooms User Guide. To learn more about SQL commands, functions, and conditions supported in Clean Rooms, see the Clean Rooms SQL Reference. import boto3 client = boto3.client('cleanrooms') These are the available methods: * batch_get_collaboration_analysis_template * batch_get_schema * batch_get_schema_analysis_rule * can_paginate * close * create_analysis_template * create_collaboration * create_configured_audience_model_association * create_configured_table * create_configured_table_analysis_rule * create_configured_table_association * create_configured_table_association_analysis_rule * create_id_mapping_table * create_id_namespace_association * create_membership * create_privacy_budget_template * delete_analysis_template * delete_collaboration * delete_configured_audience_model_association * delete_configured_table * delete_configured_table_analysis_rule * delete_configured_table_association * delete_configured_table_association_analysis_rule * delete_id_mapping_table * delete_id_namespace_association * delete_member * delete_membership * delete_privacy_budget_template * get_analysis_template * get_collaboration * get_collaboration_analysis_template * get_collaboration_configured_audience_model_association * get_collaboration_id_namespace_association * get_collaboration_privacy_budget_template * get_configured_audience_model_association * get_configured_table * get_configured_table_analysis_rule * get_configured_table_association * get_configured_table_association_analysis_rule * get_id_mapping_table * get_id_namespace_association * get_membership * get_paginator * get_privacy_budget_template * get_protected_job * get_protected_query * get_schema * get_schema_analysis_rule * get_waiter * list_analysis_templates * list_collaboration_analysis_templates * list_collaboration_configured_audience_model_associations * list_collaboration_id_namespace_associations * list_collaboration_privacy_budget_templates * list_collaboration_privacy_budgets * list_collaborations * list_configured_audience_model_associations * list_configured_table_associations * list_configured_tables * list_id_mapping_tables * list_id_namespace_associations * list_members * list_memberships * list_privacy_budget_templates * list_privacy_budgets * list_protected_jobs * list_protected_queries * list_schemas * list_tags_for_resource * populate_id_mapping_table * preview_privacy_impact * start_protected_job * start_protected_query * tag_resource * untag_resource * update_analysis_template * update_collaboration * update_configured_audience_model_association * update_configured_table * update_configured_table_analysis_rule * update_configured_table_association * update_configured_table_association_analysis_rule * update_id_mapping_table * update_id_namespace_association * update_membership * update_privacy_budget_template * update_protected_job * update_protected_query Paginators ========== Paginators are available on a client instance via the "get_paginator" method. For more detailed instructions and examples on the usage of paginators, see the paginators user guide. The available paginators are: * ListAnalysisTemplates * ListCollaborationAnalysisTemplates * ListCollaborationConfiguredAudienceModelAssociations * ListCollaborationIdNamespaceAssociations * ListCollaborationPrivacyBudgetTemplates * ListCollaborationPrivacyBudgets * ListCollaborations * ListConfiguredAudienceModelAssociations * ListConfiguredTableAssociations * ListConfiguredTables * ListIdMappingTables * ListIdNamespaceAssociations * ListMembers * ListMemberships * ListPrivacyBudgetTemplates * ListPrivacyBudgets * ListProtectedJobs * ListProtectedQueries * ListSchemas CleanRoomsService / Paginator / ListPrivacyBudgets ListPrivacyBudgets ****************** class CleanRoomsService.Paginator.ListPrivacyBudgets paginator = client.get_paginator('list_privacy_budgets') paginate(**kwargs) Creates an iterator that will paginate through responses from "CleanRoomsService.Client.list_privacy_budgets()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( membershipIdentifier='string', privacyBudgetType='DIFFERENTIAL_PRIVACY', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **membershipIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for one of your memberships for a collaboration. The privacy budget is retrieved from the collaboration that this membership belongs to. Accepts a membership ID. * **privacyBudgetType** (*string*) -- **[REQUIRED]** The privacy budget type. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'privacyBudgetSummaries': [ { 'id': 'string', 'privacyBudgetTemplateId': 'string', 'privacyBudgetTemplateArn': 'string', 'membershipId': 'string', 'membershipArn': 'string', 'collaborationId': 'string', 'collaborationArn': 'string', 'type': 'DIFFERENTIAL_PRIVACY', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'budget': { 'differentialPrivacy': { 'aggregations': [ { 'type': 'AVG'|'COUNT'|'COUNT_DISTINCT'|'SUM'|'STDDEV', 'maxCount': 123, 'remainingCount': 123 }, ], 'epsilon': 123 } } }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **privacyBudgetSummaries** *(list) --* An array that summarizes the privacy budgets. The summary includes collaboration information, membership information, privacy budget template information, and privacy budget details. * *(dict) --* An array that summaries the specified privacy budget. This summary includes collaboration information, creation information, membership information, and privacy budget information. * **id** *(string) --* The unique identifier of the privacy budget. * **privacyBudgetTemplateId** *(string) --* The unique identifier of the privacy budget template. * **privacyBudgetTemplateArn** *(string) --* The ARN of the privacy budget template. * **membershipId** *(string) --* The identifier for a membership resource. * **membershipArn** *(string) --* The Amazon Resource Name (ARN) of the member who created the privacy budget summary. * **collaborationId** *(string) --* The unique identifier of the collaboration that contains this privacy budget. * **collaborationArn** *(string) --* The ARN of the collaboration that contains this privacy budget. * **type** *(string) --* Specifies the type of the privacy budget. * **createTime** *(datetime) --* The time at which the privacy budget was created. * **updateTime** *(datetime) --* The most recent time at which the privacy budget was updated. * **budget** *(dict) --* The provided privacy budget. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "differentialPrivacy". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **differentialPrivacy** *(dict) --* An object that specifies the epsilon parameter and the utility in terms of total aggregations, as well as the remaining aggregations available. * **aggregations** *(list) --* This information includes the configured epsilon value and the utility in terms of total aggregations, as well as the remaining aggregations. * *(dict) --* Information about the total number of aggregations, as well as the remaining aggregations. * **type** *(string) --* The different types of aggregation functions that you can perform. * **maxCount** *(integer) --* The maximum number of aggregation functions that you can perform with the given privacy budget. * **remainingCount** *(integer) --* The remaining number of aggregation functions that can be run with the available privacy budget. * **epsilon** *(integer) --* The epsilon value that you configured. * **NextToken** *(string) --* A token to resume pagination. CleanRoomsService / Paginator / ListIdMappingTables ListIdMappingTables ******************* class CleanRoomsService.Paginator.ListIdMappingTables paginator = client.get_paginator('list_id_mapping_tables') paginate(**kwargs) Creates an iterator that will paginate through responses from "CleanRoomsService.Client.list_id_mapping_tables()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( membershipIdentifier='string', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **membershipIdentifier** (*string*) -- **[REQUIRED]** The unique identifier of the membership that contains the ID mapping tables that you want to view. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'idMappingTableSummaries': [ { 'collaborationArn': 'string', 'collaborationId': 'string', 'membershipId': 'string', 'membershipArn': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'id': 'string', 'arn': 'string', 'description': 'string', 'inputReferenceConfig': { 'inputReferenceArn': 'string', 'manageResourcePolicies': True|False }, 'name': 'string' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **idMappingTableSummaries** *(list) --* The summary information of the ID mapping tables that you requested. * *(dict) --* Detailed information about the ID mapping table. * **collaborationArn** *(string) --* The Amazon Resource Name (ARN) of the collaboration that contains this ID mapping table. * **collaborationId** *(string) --* The unique identifier of the collaboration that contains this ID mapping table. * **membershipId** *(string) --* The unique identifier of the membership resource for this ID mapping table. * **membershipArn** *(string) --* The Amazon Resource Name (ARN) of the membership resource for this ID mapping table. * **createTime** *(datetime) --* The time at which this ID mapping table was created. * **updateTime** *(datetime) --* The most recent time at which this ID mapping table was updated. * **id** *(string) --* The unique identifier of this ID mapping table. * **arn** *(string) --* The Amazon Resource Name (ARN) of this ID mapping table. * **description** *(string) --* The description of this ID mapping table. * **inputReferenceConfig** *(dict) --* The input reference configuration for the ID mapping table. * **inputReferenceArn** *(string) --* The Amazon Resource Name (ARN) of the referenced resource in Entity Resolution. Valid values are ID mapping workflow ARNs. * **manageResourcePolicies** *(boolean) --* When "TRUE", Clean Rooms manages permissions for the ID mapping table resource. When "FALSE", the resource owner manages permissions for the ID mapping table resource. * **name** *(string) --* The name of this ID mapping table. * **NextToken** *(string) --* A token to resume pagination. CleanRoomsService / Paginator / ListMembers ListMembers *********** class CleanRoomsService.Paginator.ListMembers paginator = client.get_paginator('list_members') paginate(**kwargs) Creates an iterator that will paginate through responses from "CleanRoomsService.Client.list_members()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( collaborationIdentifier='string', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **collaborationIdentifier** (*string*) -- **[REQUIRED]** The identifier of the collaboration in which the members are listed. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'memberSummaries': [ { 'accountId': 'string', 'status': 'INVITED'|'ACTIVE'|'LEFT'|'REMOVED', 'displayName': 'string', 'abilities': [ 'CAN_QUERY'|'CAN_RECEIVE_RESULTS'|'CAN_RUN_JOB', ], 'mlAbilities': { 'customMLMemberAbilities': [ 'CAN_RECEIVE_MODEL_OUTPUT'|'CAN_RECEIVE_INFERENCE_OUTPUT', ] }, 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'membershipId': 'string', 'membershipArn': 'string', 'paymentConfiguration': { 'queryCompute': { 'isResponsible': True|False }, 'machineLearning': { 'modelTraining': { 'isResponsible': True|False }, 'modelInference': { 'isResponsible': True|False } }, 'jobCompute': { 'isResponsible': True|False } } }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **memberSummaries** *(list) --* The list of members returned by the ListMembers operation. * *(dict) --* The member object listed by the request. * **accountId** *(string) --* The identifier used to reference members of the collaboration. Currently only supports Amazon Web Services account ID. * **status** *(string) --* The status of the member. * **displayName** *(string) --* The member's display name. * **abilities** *(list) --* The abilities granted to the collaboration member. * *(string) --* * **mlAbilities** *(dict) --* Provides a summary of the ML abilities for the collaboration member. * **customMLMemberAbilities** *(list) --* The custom ML member abilities for a collaboration member. * *(string) --* * **createTime** *(datetime) --* The time when the member was created. * **updateTime** *(datetime) --* The time the member metadata was last updated. * **membershipId** *(string) --* The unique ID for the member's associated membership, if present. * **membershipArn** *(string) --* The unique ARN for the member's associated membership, if present. * **paymentConfiguration** *(dict) --* The collaboration member's payment responsibilities set by the collaboration creator. * **queryCompute** *(dict) --* The collaboration member's payment responsibilities set by the collaboration creator for query compute costs. * **isResponsible** *(boolean) --* Indicates whether the collaboration creator has configured the collaboration member to pay for query compute costs ( "TRUE") or has not configured the collaboration member to pay for query compute costs ( "FALSE"). Exactly one member can be configured to pay for query compute costs. An error is returned if the collaboration creator sets a "TRUE" value for more than one member in the collaboration. If the collaboration creator hasn't specified anyone as the member paying for query compute costs, then the member who can query is the default payer. An error is returned if the collaboration creator sets a "FALSE" value for the member who can query. * **machineLearning** *(dict) --* An object representing the collaboration member's machine learning payment responsibilities set by the collaboration creator. * **modelTraining** *(dict) --* The payment responsibilities accepted by the member for model training. * **isResponsible** *(boolean) --* Indicates whether the collaboration creator has configured the collaboration member to pay for model training costs ( "TRUE") or has not configured the collaboration member to pay for model training costs ( "FALSE"). Exactly one member can be configured to pay for model training costs. An error is returned if the collaboration creator sets a "TRUE" value for more than one member in the collaboration. If the collaboration creator hasn't specified anyone as the member paying for model training costs, then the member who can query is the default payer. An error is returned if the collaboration creator sets a "FALSE" value for the member who can query. * **modelInference** *(dict) --* The payment responsibilities accepted by the member for model inference. * **isResponsible** *(boolean) --* Indicates whether the collaboration creator has configured the collaboration member to pay for model inference costs ( "TRUE") or has not configured the collaboration member to pay for model inference costs ( "FALSE"). Exactly one member can be configured to pay for model inference costs. An error is returned if the collaboration creator sets a "TRUE" value for more than one member in the collaboration. If the collaboration creator hasn't specified anyone as the member paying for model inference costs, then the member who can query is the default payer. An error is returned if the collaboration creator sets a "FALSE" value for the member who can query. * **jobCompute** *(dict) --* The compute configuration for the job. * **isResponsible** *(boolean) --* Indicates whether the collaboration creator has configured the collaboration member to pay for query and job compute costs ( "TRUE") or has not configured the collaboration member to pay for query and job compute costs ( "FALSE"). Exactly one member can be configured to pay for query and job compute costs. An error is returned if the collaboration creator sets a "TRUE" value for more than one member in the collaboration. An error is returned if the collaboration creator sets a "FALSE" value for the member who can run queries and jobs. * **NextToken** *(string) --* A token to resume pagination. CleanRoomsService / Paginator / ListCollaborationPrivacyBudgets ListCollaborationPrivacyBudgets ******************************* class CleanRoomsService.Paginator.ListCollaborationPrivacyBudgets paginator = client.get_paginator('list_collaboration_privacy_budgets') paginate(**kwargs) Creates an iterator that will paginate through responses from "CleanRoomsService.Client.list_collaboration_privacy_budgets()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( collaborationIdentifier='string', privacyBudgetType='DIFFERENTIAL_PRIVACY', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **collaborationIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for one of your collaborations. * **privacyBudgetType** (*string*) -- **[REQUIRED]** Specifies the type of the privacy budget. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'collaborationPrivacyBudgetSummaries': [ { 'id': 'string', 'privacyBudgetTemplateId': 'string', 'privacyBudgetTemplateArn': 'string', 'collaborationId': 'string', 'collaborationArn': 'string', 'creatorAccountId': 'string', 'type': 'DIFFERENTIAL_PRIVACY', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'budget': { 'differentialPrivacy': { 'aggregations': [ { 'type': 'AVG'|'COUNT'|'COUNT_DISTINCT'|'SUM'|'STDDEV', 'maxCount': 123, 'remainingCount': 123 }, ], 'epsilon': 123 } } }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **collaborationPrivacyBudgetSummaries** *(list) --* Summaries of the collaboration privacy budgets. * *(dict) --* A summary of the collaboration privacy budgets. This summary includes the collaboration information, creation information, epsilon provided, and utility in terms of aggregations. * **id** *(string) --* The unique identifier of the collaboration privacy budget. * **privacyBudgetTemplateId** *(string) --* The unique identifier of the collaboration privacy budget template. * **privacyBudgetTemplateArn** *(string) --* The ARN of the collaboration privacy budget template. * **collaborationId** *(string) --* The unique identifier of the collaboration that includes this privacy budget. * **collaborationArn** *(string) --* The ARN of the collaboration that includes this privacy budget. * **creatorAccountId** *(string) --* The unique identifier of the account that created this privacy budget. * **type** *(string) --* The type of privacy budget template. * **createTime** *(datetime) --* The time at which the privacy budget was created. * **updateTime** *(datetime) --* The most recent time at which the privacy budget was updated. * **budget** *(dict) --* The includes epsilon provided and utility in terms of aggregations. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "differentialPrivacy". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **differentialPrivacy** *(dict) --* An object that specifies the epsilon parameter and the utility in terms of total aggregations, as well as the remaining aggregations available. * **aggregations** *(list) --* This information includes the configured epsilon value and the utility in terms of total aggregations, as well as the remaining aggregations. * *(dict) --* Information about the total number of aggregations, as well as the remaining aggregations. * **type** *(string) --* The different types of aggregation functions that you can perform. * **maxCount** *(integer) --* The maximum number of aggregation functions that you can perform with the given privacy budget. * **remainingCount** *(integer) --* The remaining number of aggregation functions that can be run with the available privacy budget. * **epsilon** *(integer) --* The epsilon value that you configured. * **NextToken** *(string) --* A token to resume pagination. CleanRoomsService / Paginator / ListConfiguredTables ListConfiguredTables ******************** class CleanRoomsService.Paginator.ListConfiguredTables paginator = client.get_paginator('list_configured_tables') paginate(**kwargs) Creates an iterator that will paginate through responses from "CleanRoomsService.Client.list_configured_tables()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max- items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'configuredTableSummaries': [ { 'id': 'string', 'arn': 'string', 'name': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'analysisRuleTypes': [ 'AGGREGATION'|'LIST'|'CUSTOM', ], 'analysisMethod': 'DIRECT_QUERY'|'DIRECT_JOB'|'MULTIPLE', 'selectedAnalysisMethods': [ 'DIRECT_QUERY'|'DIRECT_JOB', ] }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **configuredTableSummaries** *(list) --* The configured tables listed by the request. * *(dict) --* The member of the configured table summary list. * **id** *(string) --* The unique ID of the configured table. * **arn** *(string) --* The unique ARN of the configured table. * **name** *(string) --* The name of the configured table. * **createTime** *(datetime) --* The time the configured table was created. * **updateTime** *(datetime) --* The time the configured table was last updated. * **analysisRuleTypes** *(list) --* The types of analysis rules associated with this configured table. * *(string) --* * **analysisMethod** *(string) --* The analysis method for the configured tables. "DIRECT_QUERY" allows SQL queries to be run directly on this table. "DIRECT_JOB" allows PySpark jobs to be run directly on this table. "MULTIPLE" allows both SQL queries and PySpark jobs to be run directly on this table. * **selectedAnalysisMethods** *(list) --* The selected analysis methods for the configured table summary. * *(string) --* * **NextToken** *(string) --* A token to resume pagination. CleanRoomsService / Paginator / ListProtectedQueries ListProtectedQueries ******************** class CleanRoomsService.Paginator.ListProtectedQueries paginator = client.get_paginator('list_protected_queries') paginate(**kwargs) Creates an iterator that will paginate through responses from "CleanRoomsService.Client.list_protected_queries()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( membershipIdentifier='string', status='SUBMITTED'|'STARTED'|'CANCELLED'|'CANCELLING'|'FAILED'|'SUCCESS'|'TIMED_OUT', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **membershipIdentifier** (*string*) -- **[REQUIRED]** The identifier for the membership in the collaboration. * **status** (*string*) -- A filter on the status of the protected query. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'protectedQueries': [ { 'id': 'string', 'membershipId': 'string', 'membershipArn': 'string', 'createTime': datetime(2015, 1, 1), 'status': 'SUBMITTED'|'STARTED'|'CANCELLED'|'CANCELLING'|'FAILED'|'SUCCESS'|'TIMED_OUT', 'receiverConfigurations': [ { 'analysisType': 'DIRECT_ANALYSIS'|'ADDITIONAL_ANALYSIS', 'configurationDetails': { 'directAnalysisConfigurationDetails': { 'receiverAccountIds': [ 'string', ] } } }, ] }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **protectedQueries** *(list) --* A list of protected queries. * *(dict) --* The protected query summary for the objects listed by the request. * **id** *(string) --* The unique ID of the protected query. * **membershipId** *(string) --* The unique ID for the membership that initiated the protected query. * **membershipArn** *(string) --* The unique ARN for the membership that initiated the protected query. * **createTime** *(datetime) --* The time the protected query was created. * **status** *(string) --* The status of the protected query. * **receiverConfigurations** *(list) --* The receiver configuration. * *(dict) --* The receiver configuration for a protected query. * **analysisType** *(string) --* The type of analysis for the protected query. The results of the query can be analyzed directly ( "DIRECT_ANALYSIS") or used as input into additional analyses ( "ADDITIONAL_ANALYSIS"), such as a query that is a seed for a lookalike ML model. * **configurationDetails** *(dict) --* The configuration details of the receiver configuration. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "directAnalysisConfigurationDetails". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **directAnalysisConfigurationDetails** *(dict) --* The direct analysis configuration details. * **receiverAccountIds** *(list) --* The account IDs for the member who received the results of a protected query. * *(string) --* * **NextToken** *(string) --* A token to resume pagination. CleanRoomsService / Paginator / ListIdNamespaceAssociations ListIdNamespaceAssociations *************************** class CleanRoomsService.Paginator.ListIdNamespaceAssociations paginator = client.get_paginator('list_id_namespace_associations') paginate(**kwargs) Creates an iterator that will paginate through responses from "CleanRoomsService.Client.list_id_namespace_associations()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( membershipIdentifier='string', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **membershipIdentifier** (*string*) -- **[REQUIRED]** The unique identifier of the membership that contains the ID namespace association that you want to view. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'idNamespaceAssociationSummaries': [ { 'membershipId': 'string', 'membershipArn': 'string', 'collaborationArn': 'string', 'collaborationId': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'id': 'string', 'arn': 'string', 'inputReferenceConfig': { 'inputReferenceArn': 'string', 'manageResourcePolicies': True|False }, 'name': 'string', 'description': 'string', 'inputReferenceProperties': { 'idNamespaceType': 'SOURCE'|'TARGET' } }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **idNamespaceAssociationSummaries** *(list) --* The summary information of the ID namespace associations that you requested. * *(dict) --* Detailed information about the ID namespace association. * **membershipId** *(string) --* The unique identifier of the membership resource for this ID namespace association. * **membershipArn** *(string) --* The Amazon Resource Name (ARN) of the membership resource for this ID namespace association. * **collaborationArn** *(string) --* The Amazon Resource Name (ARN) of the collaboration that contains this ID namespace association. * **collaborationId** *(string) --* The unique identifier of the collaboration that contains this ID namespace association. * **createTime** *(datetime) --* The time at which this ID namespace association was created. * **updateTime** *(datetime) --* The most recent time at which this ID namespace association has been updated. * **id** *(string) --* The unique identifier of this ID namespace association. * **arn** *(string) --* The Amazon Resource Name (ARN) of this ID namespace association. * **inputReferenceConfig** *(dict) --* The input reference configuration details for this ID namespace association. * **inputReferenceArn** *(string) --* The Amazon Resource Name (ARN) of the Entity Resolution resource that is being associated to the collaboration. Valid resource ARNs are from the ID namespaces that you own. * **manageResourcePolicies** *(boolean) --* When "TRUE", Clean Rooms manages permissions for the ID namespace association resource. When "FALSE", the resource owner manages permissions for the ID namespace association resource. * **name** *(string) --* The name of the ID namespace association. * **description** *(string) --* The description of the ID namespace association. * **inputReferenceProperties** *(dict) --* The input reference properties for this ID namespace association. * **idNamespaceType** *(string) --* The ID namespace type for this ID namespace association. * **NextToken** *(string) --* A token to resume pagination. CleanRoomsService / Paginator / ListProtectedJobs ListProtectedJobs ***************** class CleanRoomsService.Paginator.ListProtectedJobs paginator = client.get_paginator('list_protected_jobs') paginate(**kwargs) Creates an iterator that will paginate through responses from "CleanRoomsService.Client.list_protected_jobs()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( membershipIdentifier='string', status='SUBMITTED'|'STARTED'|'CANCELLED'|'CANCELLING'|'FAILED'|'SUCCESS', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **membershipIdentifier** (*string*) -- **[REQUIRED]** The identifier for the membership in the collaboration. * **status** (*string*) -- A filter on the status of the protected job. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'protectedJobs': [ { 'id': 'string', 'membershipId': 'string', 'membershipArn': 'string', 'createTime': datetime(2015, 1, 1), 'status': 'SUBMITTED'|'STARTED'|'CANCELLED'|'CANCELLING'|'FAILED'|'SUCCESS', 'receiverConfigurations': [ { 'analysisType': 'DIRECT_ANALYSIS', 'configurationDetails': { 'directAnalysisConfigurationDetails': { 'receiverAccountIds': [ 'string', ] } } }, ] }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **protectedJobs** *(list) --* A list of protected job summaries. * *(dict) --* The protected job summary for the objects listed by the request. * **id** *(string) --* The ID of the protected job. * **membershipId** *(string) --* The unique ID for the membership that initiated the protected job. * **membershipArn** *(string) --* The unique ARN for the membership that initiated the protected job. * **createTime** *(datetime) --* The time the protected job was created. * **status** *(string) --* The status of the protected job. * **receiverConfigurations** *(list) --* The receiver configurations for the protected job. * *(dict) --* The protected job receiver configuration. * **analysisType** *(string) --* The analysis type for the protected job receiver configuration. * **configurationDetails** *(dict) --* The configuration details for the protected job receiver. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "directAnalysisConfigurationDetails". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **directAnalysisConfigurationDetails** *(dict) --* The details needed to configure the direct analysis. * **receiverAccountIds** *(list) --* The receiver account IDs. * *(string) --* * **NextToken** *(string) --* A token to resume pagination. CleanRoomsService / Paginator / ListCollaborationAnalysisTemplates ListCollaborationAnalysisTemplates ********************************** class CleanRoomsService.Paginator.ListCollaborationAnalysisTemplates paginator = client.get_paginator('list_collaboration_analysis_templates') paginate(**kwargs) Creates an iterator that will paginate through responses from " CleanRoomsService.Client.list_collaboration_analysis_templates( )". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( collaborationIdentifier='string', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **collaborationIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for the collaboration that the analysis templates belong to. Currently accepts collaboration ID. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'collaborationAnalysisTemplateSummaries': [ { 'arn': 'string', 'createTime': datetime(2015, 1, 1), 'id': 'string', 'name': 'string', 'updateTime': datetime(2015, 1, 1), 'collaborationArn': 'string', 'collaborationId': 'string', 'creatorAccountId': 'string', 'description': 'string' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **collaborationAnalysisTemplateSummaries** *(list) --* The metadata of the analysis template within a collaboration. * *(dict) --* The metadata of the analysis template within a collaboration. * **arn** *(string) --* The Amazon Resource Name (ARN) of the analysis template. * **createTime** *(datetime) --* The time that the summary of the analysis template in a collaboration was created. * **id** *(string) --* The identifier of the analysis template. * **name** *(string) --* The name of the analysis template. * **updateTime** *(datetime) --* The time that the summary of the analysis template in the collaboration was last updated. * **collaborationArn** *(string) --* The unique ARN for the analysis template’s associated collaboration. * **collaborationId** *(string) --* A unique identifier for the collaboration that the analysis templates belong to. Currently accepts collaboration ID. * **creatorAccountId** *(string) --* The identifier used to reference members of the collaboration. Currently only supports Amazon Web Services account ID. * **description** *(string) --* The description of the analysis template. * **NextToken** *(string) --* A token to resume pagination. CleanRoomsService / Paginator / ListConfiguredAudienceModelAssociations ListConfiguredAudienceModelAssociations *************************************** class CleanRoomsService.Paginator.ListConfiguredAudienceModelAssociations paginator = client.get_paginator('list_configured_audience_model_associations') paginate(**kwargs) Creates an iterator that will paginate through responses from " CleanRoomsService.Client.list_configured_audience_model_associa tions()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( membershipIdentifier='string', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **membershipIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for a membership that contains the configured audience model associations that you want to retrieve. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'configuredAudienceModelAssociationSummaries': [ { 'membershipId': 'string', 'membershipArn': 'string', 'collaborationArn': 'string', 'collaborationId': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'id': 'string', 'arn': 'string', 'name': 'string', 'configuredAudienceModelArn': 'string', 'description': 'string' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **configuredAudienceModelAssociationSummaries** *(list) --* Summaries of the configured audience model associations that you requested. * *(dict) --* A summary of the configured audience model association. * **membershipId** *(string) --* A unique identifier of the membership that contains the configured audience model association. * **membershipArn** *(string) --* The Amazon Resource Name (ARN) of the membership that contains the configured audience model association. * **collaborationArn** *(string) --* The Amazon Resource Name (ARN) of the collaboration that contains the configured audience model association. * **collaborationId** *(string) --* A unique identifier of the collaboration that configured audience model is associated with. * **createTime** *(datetime) --* The time at which the configured audience model association was created. * **updateTime** *(datetime) --* The most recent time at which the configured audience model association was updated. * **id** *(string) --* A unique identifier of the configured audience model association. * **arn** *(string) --* The Amazon Resource Name (ARN) of the configured audience model association. * **name** *(string) --* The name of the configured audience model association. * **configuredAudienceModelArn** *(string) --* The Amazon Resource Name (ARN) of the configured audience model that was used for this configured audience model association. * **description** *(string) --* The description of the configured audience model association. * **NextToken** *(string) --* A token to resume pagination. CleanRoomsService / Paginator / ListCollaborations ListCollaborations ****************** class CleanRoomsService.Paginator.ListCollaborations paginator = client.get_paginator('list_collaborations') paginate(**kwargs) Creates an iterator that will paginate through responses from "CleanRoomsService.Client.list_collaborations()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( memberStatus='INVITED'|'ACTIVE', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **memberStatus** (*string*) -- The caller's status in a collaboration. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'collaborationList': [ { 'id': 'string', 'arn': 'string', 'name': 'string', 'creatorAccountId': 'string', 'creatorDisplayName': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'memberStatus': 'INVITED'|'ACTIVE'|'LEFT'|'REMOVED', 'membershipId': 'string', 'membershipArn': 'string', 'analyticsEngine': 'SPARK'|'CLEAN_ROOMS_SQL' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **collaborationList** *(list) --* The list of collaborations. * *(dict) --* The metadata of the collaboration. * **id** *(string) --* The identifier for the collaboration. * **arn** *(string) --* The ARN of the collaboration. * **name** *(string) --* A human-readable identifier provided by the collaboration owner. Display names are not unique. * **creatorAccountId** *(string) --* The identifier used to reference members of the collaboration. Currently only supports Amazon Web Services account ID. * **creatorDisplayName** *(string) --* The display name of the collaboration creator. * **createTime** *(datetime) --* The time when the collaboration was created. * **updateTime** *(datetime) --* The time the collaboration metadata was last updated. * **memberStatus** *(string) --* The status of a member in a collaboration. * **membershipId** *(string) --* The identifier of a member in a collaboration. * **membershipArn** *(string) --* The ARN of a member in a collaboration. * **analyticsEngine** *(string) --* The analytics engine. Note: After July 16, 2025, the "CLEAN_ROOMS_SQL" parameter will no longer be available. * **NextToken** *(string) --* A token to resume pagination. CleanRoomsService / Paginator / ListMemberships ListMemberships *************** class CleanRoomsService.Paginator.ListMemberships paginator = client.get_paginator('list_memberships') paginate(**kwargs) Creates an iterator that will paginate through responses from "CleanRoomsService.Client.list_memberships()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( status='ACTIVE'|'REMOVED'|'COLLABORATION_DELETED', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **status** (*string*) -- A filter which will return only memberships in the specified status. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'membershipSummaries': [ { 'id': 'string', 'arn': 'string', 'collaborationArn': 'string', 'collaborationId': 'string', 'collaborationCreatorAccountId': 'string', 'collaborationCreatorDisplayName': 'string', 'collaborationName': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'status': 'ACTIVE'|'REMOVED'|'COLLABORATION_DELETED', 'memberAbilities': [ 'CAN_QUERY'|'CAN_RECEIVE_RESULTS'|'CAN_RUN_JOB', ], 'mlMemberAbilities': { 'customMLMemberAbilities': [ 'CAN_RECEIVE_MODEL_OUTPUT'|'CAN_RECEIVE_INFERENCE_OUTPUT', ] }, 'paymentConfiguration': { 'queryCompute': { 'isResponsible': True|False }, 'machineLearning': { 'modelTraining': { 'isResponsible': True|False }, 'modelInference': { 'isResponsible': True|False } }, 'jobCompute': { 'isResponsible': True|False } } }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **membershipSummaries** *(list) --* The list of memberships returned from the ListMemberships operation. * *(dict) --* The membership object listed by the request. * **id** *(string) --* The unique ID for the membership's collaboration. * **arn** *(string) --* The unique ARN for the membership. * **collaborationArn** *(string) --* The unique ARN for the membership's associated collaboration. * **collaborationId** *(string) --* The unique ID for the membership's collaboration. * **collaborationCreatorAccountId** *(string) --* The identifier of the Amazon Web Services principal that created the collaboration. Currently only supports Amazon Web Services account ID. * **collaborationCreatorDisplayName** *(string) --* The display name of the collaboration creator. * **collaborationName** *(string) --* The name for the membership's collaboration. * **createTime** *(datetime) --* The time when the membership was created. * **updateTime** *(datetime) --* The time the membership metadata was last updated. * **status** *(string) --* The status of the membership. * **memberAbilities** *(list) --* The abilities granted to the collaboration member. * *(string) --* * **mlMemberAbilities** *(dict) --* Provides a summary of the ML abilities for the collaboration member. * **customMLMemberAbilities** *(list) --* The custom ML member abilities for a collaboration member. * *(string) --* * **paymentConfiguration** *(dict) --* The payment responsibilities accepted by the collaboration member. * **queryCompute** *(dict) --* The payment responsibilities accepted by the collaboration member for query compute costs. * **isResponsible** *(boolean) --* Indicates whether the collaboration member has accepted to pay for query compute costs ( "TRUE") or has not accepted to pay for query compute costs ( "FALSE"). If the collaboration creator has not specified anyone to pay for query compute costs, then the member who can query is the default payer. An error message is returned for the following reasons: * If you set the value to "FALSE" but you are responsible to pay for query compute costs. * If you set the value to "TRUE" but you are not responsible to pay for query compute costs. * **machineLearning** *(dict) --* The payment responsibilities accepted by the collaboration member for machine learning costs. * **modelTraining** *(dict) --* The payment responsibilities accepted by the member for model training. * **isResponsible** *(boolean) --* Indicates whether the collaboration member has accepted to pay for model training costs ( "TRUE") or has not accepted to pay for model training costs ( "FALSE"). If the collaboration creator has not specified anyone to pay for model training costs, then the member who can query is the default payer. An error message is returned for the following reasons: * If you set the value to "FALSE" but you are responsible to pay for model training costs. * If you set the value to "TRUE" but you are not responsible to pay for model training costs. * **modelInference** *(dict) --* The payment responsibilities accepted by the member for model inference. * **isResponsible** *(boolean) --* Indicates whether the collaboration member has accepted to pay for model inference costs ( "TRUE") or has not accepted to pay for model inference costs ( "FALSE"). If the collaboration creator has not specified anyone to pay for model inference costs, then the member who can query is the default payer. An error message is returned for the following reasons: * If you set the value to "FALSE" but you are responsible to pay for model inference costs. * If you set the value to "TRUE" but you are not responsible to pay for model inference costs. * **jobCompute** *(dict) --* The payment responsibilities accepted by the collaboration member for job compute costs. * **isResponsible** *(boolean) --* Indicates whether the collaboration member has accepted to pay for job compute costs ( "TRUE") or has not accepted to pay for query and job compute costs ( "FALSE"). There is only one member who pays for queries and jobs. An error message is returned for the following reasons: * If you set the value to "FALSE" but you are responsible to pay for query and job compute costs. * If you set the value to "TRUE" but you are not responsible to pay for query and job compute costs. * **NextToken** *(string) --* A token to resume pagination. CleanRoomsService / Paginator / ListCollaborationIdNamespaceAssociations ListCollaborationIdNamespaceAssociations **************************************** class CleanRoomsService.Paginator.ListCollaborationIdNamespaceAssociations paginator = client.get_paginator('list_collaboration_id_namespace_associations') paginate(**kwargs) Creates an iterator that will paginate through responses from " CleanRoomsService.Client.list_collaboration_id_namespace_associ ations()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( collaborationIdentifier='string', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **collaborationIdentifier** (*string*) -- **[REQUIRED]** The unique identifier of the collaboration that contains the ID namespace associations that you want to retrieve. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'collaborationIdNamespaceAssociationSummaries': [ { 'arn': 'string', 'createTime': datetime(2015, 1, 1), 'id': 'string', 'updateTime': datetime(2015, 1, 1), 'collaborationArn': 'string', 'collaborationId': 'string', 'creatorAccountId': 'string', 'inputReferenceConfig': { 'inputReferenceArn': 'string', 'manageResourcePolicies': True|False }, 'name': 'string', 'description': 'string', 'inputReferenceProperties': { 'idNamespaceType': 'SOURCE'|'TARGET' } }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **collaborationIdNamespaceAssociationSummaries** *(list) --* The summary information of the collaboration ID namespace associations that you requested. * *(dict) --* Provides summary information about the collaboration ID namespace association. * **arn** *(string) --* The Amazon Resource Name (ARN) of the collaboration ID namespace association. * **createTime** *(datetime) --* The time at which the collaboration ID namespace association was created. * **id** *(string) --* The unique identifier of the collaboration ID namespace association. * **updateTime** *(datetime) --* The most recent time at which the collaboration ID namespace association was updated. * **collaborationArn** *(string) --* The Amazon Resource Name (ARN) of the collaboration that contains this collaboration ID namespace association. * **collaborationId** *(string) --* The unique identifier of the collaboration that contains this collaboration ID namespace association. * **creatorAccountId** *(string) --* The Amazon Web Services account that created this collaboration ID namespace association. * **inputReferenceConfig** *(dict) --* The input reference configuration that's used to create the collaboration ID namespace association. * **inputReferenceArn** *(string) --* The Amazon Resource Name (ARN) of the Entity Resolution resource that is being associated to the collaboration. Valid resource ARNs are from the ID namespaces that you own. * **manageResourcePolicies** *(boolean) --* When "TRUE", Clean Rooms manages permissions for the ID namespace association resource. When "FALSE", the resource owner manages permissions for the ID namespace association resource. * **name** *(string) --* The name of the collaboration ID namespace association. * **description** *(string) --* The description of the collaboration ID namepsace association. * **inputReferenceProperties** *(dict) --* The input reference properties that are used to create the collaboration ID namespace association. * **idNamespaceType** *(string) --* The ID namespace type for this ID namespace association. * **NextToken** *(string) --* A token to resume pagination. CleanRoomsService / Paginator / ListCollaborationConfiguredAudienceModelAssociations ListCollaborationConfiguredAudienceModelAssociations **************************************************** class CleanRoomsService.Paginator.ListCollaborationConfiguredAudienceModelAssociations paginator = client.get_paginator('list_collaboration_configured_audience_model_associations') paginate(**kwargs) Creates an iterator that will paginate through responses from " CleanRoomsService.Client.list_collaboration_configured_audience _model_associations()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( collaborationIdentifier='string', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **collaborationIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for the collaboration that the configured audience model association belongs to. Accepts a collaboration ID. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'collaborationConfiguredAudienceModelAssociationSummaries': [ { 'arn': 'string', 'createTime': datetime(2015, 1, 1), 'id': 'string', 'name': 'string', 'updateTime': datetime(2015, 1, 1), 'collaborationArn': 'string', 'collaborationId': 'string', 'creatorAccountId': 'string', 'description': 'string' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **collaborationConfiguredAudienceModelAssociationSummari es** *(list) --* The metadata of the configured audience model association within a collaboration. * *(dict) --* A summary of the configured audience model association in the collaboration. * **arn** *(string) --* The Amazon Resource Name (ARN) of the configured audience model association. * **createTime** *(datetime) --* The time at which the configured audience model association was created. * **id** *(string) --* The identifier of the configured audience model association. * **name** *(string) --* The name of the configured audience model association. * **updateTime** *(datetime) --* The most recent time at which the configured audience model association was updated. * **collaborationArn** *(string) --* The unique ARN for the configured audience model's associated collaboration. * **collaborationId** *(string) --* A unique identifier for the collaboration that the configured audience model associations belong to. Accepts collaboration ID. * **creatorAccountId** *(string) --* The identifier used to reference members of the collaboration. Only supports Amazon Web Services account ID. * **description** *(string) --* The description of the configured audience model association. * **NextToken** *(string) --* A token to resume pagination. CleanRoomsService / Paginator / ListCollaborationPrivacyBudgetTemplates ListCollaborationPrivacyBudgetTemplates *************************************** class CleanRoomsService.Paginator.ListCollaborationPrivacyBudgetTemplates paginator = client.get_paginator('list_collaboration_privacy_budget_templates') paginate(**kwargs) Creates an iterator that will paginate through responses from " CleanRoomsService.Client.list_collaboration_privacy_budget_temp lates()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( collaborationIdentifier='string', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **collaborationIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for one of your collaborations. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'collaborationPrivacyBudgetTemplateSummaries': [ { 'id': 'string', 'arn': 'string', 'collaborationId': 'string', 'collaborationArn': 'string', 'creatorAccountId': 'string', 'privacyBudgetType': 'DIFFERENTIAL_PRIVACY', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1) }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **collaborationPrivacyBudgetTemplateSummaries** *(list) --* An array that summarizes the collaboration privacy budget templates. The summary includes collaboration information, creation information, the privacy budget type. * *(dict) --* A summary of the collaboration's privacy budget template. This summary includes information about who created the privacy budget template and what collaborations it belongs to. * **id** *(string) --* The unique identifier of the collaboration privacy budget template. * **arn** *(string) --* The ARN of the collaboration privacy budget template. * **collaborationId** *(string) --* The unique identifier of the collaboration that contains this collaboration privacy budget template. * **collaborationArn** *(string) --* The ARN of the collaboration that contains this collaboration privacy budget template. * **creatorAccountId** *(string) --* The unique identifier of the account that created this collaboration privacy budget template. * **privacyBudgetType** *(string) --* The type of the privacy budget template. * **createTime** *(datetime) --* The time at which the collaboration privacy budget template was created. * **updateTime** *(datetime) --* The most recent time at which the collaboration privacy budget template was updated. * **NextToken** *(string) --* A token to resume pagination. CleanRoomsService / Paginator / ListConfiguredTableAssociations ListConfiguredTableAssociations ******************************* class CleanRoomsService.Paginator.ListConfiguredTableAssociations paginator = client.get_paginator('list_configured_table_associations') paginate(**kwargs) Creates an iterator that will paginate through responses from "CleanRoomsService.Client.list_configured_table_associations()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( membershipIdentifier='string', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **membershipIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for the membership to list configured table associations for. Currently accepts the membership ID. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'configuredTableAssociationSummaries': [ { 'configuredTableId': 'string', 'membershipId': 'string', 'membershipArn': 'string', 'name': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'id': 'string', 'arn': 'string', 'analysisRuleTypes': [ 'AGGREGATION'|'LIST'|'CUSTOM', ] }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **configuredTableAssociationSummaries** *(list) --* The retrieved list of configured table associations. * *(dict) --* The configured table association summary for the objects listed by the request. * **configuredTableId** *(string) --* The unique configured table ID that this configured table association refers to. * **membershipId** *(string) --* The unique ID for the membership that the configured table association belongs to. * **membershipArn** *(string) --* The unique ARN for the membership that the configured table association belongs to. * **name** *(string) --* The name of the configured table association. The table is identified by this name when running Protected Queries against the underlying data. * **createTime** *(datetime) --* The time the configured table association was created. * **updateTime** *(datetime) --* The time the configured table association was last updated. * **id** *(string) --* The unique ID for the configured table association. * **arn** *(string) --* The unique ARN for the configured table association. * **analysisRuleTypes** *(list) --* The analysis rule types that are associated with the configured table associations in this summary. * *(string) --* * **NextToken** *(string) --* A token to resume pagination. CleanRoomsService / Paginator / ListAnalysisTemplates ListAnalysisTemplates ********************* class CleanRoomsService.Paginator.ListAnalysisTemplates paginator = client.get_paginator('list_analysis_templates') paginate(**kwargs) Creates an iterator that will paginate through responses from "CleanRoomsService.Client.list_analysis_templates()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( membershipIdentifier='string', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **membershipIdentifier** (*string*) -- **[REQUIRED]** The identifier for a membership resource. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'analysisTemplateSummaries': [ { 'arn': 'string', 'createTime': datetime(2015, 1, 1), 'id': 'string', 'name': 'string', 'updateTime': datetime(2015, 1, 1), 'membershipArn': 'string', 'membershipId': 'string', 'collaborationArn': 'string', 'collaborationId': 'string', 'description': 'string' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **analysisTemplateSummaries** *(list) --* Lists analysis template metadata. * *(dict) --* The metadata of the analysis template. * **arn** *(string) --* The Amazon Resource Name (ARN) of the analysis template. * **createTime** *(datetime) --* The time that the analysis template summary was created. * **id** *(string) --* The identifier of the analysis template. * **name** *(string) --* The name of the analysis template. * **updateTime** *(datetime) --* The time that the analysis template summary was last updated. * **membershipArn** *(string) --* The Amazon Resource Name (ARN) of the member who created the analysis template. * **membershipId** *(string) --* The identifier for a membership resource. * **collaborationArn** *(string) --* The unique ARN for the analysis template summary’s associated collaboration. * **collaborationId** *(string) --* A unique identifier for the collaboration that the analysis template summary belongs to. Currently accepts collaboration ID. * **description** *(string) --* The description of the analysis template. * **NextToken** *(string) --* A token to resume pagination. CleanRoomsService / Paginator / ListSchemas ListSchemas *********** class CleanRoomsService.Paginator.ListSchemas paginator = client.get_paginator('list_schemas') paginate(**kwargs) Creates an iterator that will paginate through responses from "CleanRoomsService.Client.list_schemas()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( collaborationIdentifier='string', schemaType='TABLE'|'ID_MAPPING_TABLE', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **collaborationIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for the collaboration that the schema belongs to. Currently accepts a collaboration ID. * **schemaType** (*string*) -- If present, filter schemas by schema type. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'schemaSummaries': [ { 'name': 'string', 'type': 'TABLE'|'ID_MAPPING_TABLE', 'creatorAccountId': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'collaborationId': 'string', 'collaborationArn': 'string', 'analysisRuleTypes': [ 'AGGREGATION'|'LIST'|'CUSTOM'|'ID_MAPPING_TABLE', ], 'analysisMethod': 'DIRECT_QUERY'|'DIRECT_JOB'|'MULTIPLE', 'selectedAnalysisMethods': [ 'DIRECT_QUERY'|'DIRECT_JOB', ] }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **schemaSummaries** *(list) --* The retrieved list of schemas. * *(dict) --* The schema summary for the objects listed by the request. * **name** *(string) --* The name for the schema object. * **type** *(string) --* The type of schema object. * **creatorAccountId** *(string) --* The unique account ID for the Amazon Web Services account that owns the schema. * **createTime** *(datetime) --* The time the schema object was created. * **updateTime** *(datetime) --* The time the schema object was last updated. * **collaborationId** *(string) --* The unique ID for the collaboration that the schema belongs to. * **collaborationArn** *(string) --* The unique ARN for the collaboration that the schema belongs to. * **analysisRuleTypes** *(list) --* The types of analysis rules that are associated with this schema object. * *(string) --* * **analysisMethod** *(string) --* The analysis method for the associated schema. "DIRECT_QUERY" allows SQL queries to be run directly on this table. "DIRECT_JOB" allows PySpark jobs to be run directly on this table. "MULTIPLE" allows both SQL queries and PySpark jobs to be run directly on this table. * **selectedAnalysisMethods** *(list) --* The selected analysis methods for the schema. * *(string) --* * **NextToken** *(string) --* A token to resume pagination. CleanRoomsService / Paginator / ListPrivacyBudgetTemplates ListPrivacyBudgetTemplates ************************** class CleanRoomsService.Paginator.ListPrivacyBudgetTemplates paginator = client.get_paginator('list_privacy_budget_templates') paginate(**kwargs) Creates an iterator that will paginate through responses from "CleanRoomsService.Client.list_privacy_budget_templates()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( membershipIdentifier='string', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **membershipIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for one of your memberships for a collaboration. The privacy budget templates are retrieved from the collaboration that this membership belongs to. Accepts a membership ID. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'privacyBudgetTemplateSummaries': [ { 'id': 'string', 'arn': 'string', 'membershipId': 'string', 'membershipArn': 'string', 'collaborationId': 'string', 'collaborationArn': 'string', 'privacyBudgetType': 'DIFFERENTIAL_PRIVACY', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1) }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **privacyBudgetTemplateSummaries** *(list) --* An array that summarizes the privacy budget templates. The summary includes collaboration information, creation information, and privacy budget type. * *(dict) --* A summary of the privacy budget template. The summary includes membership information, collaboration information, and creation information. * **id** *(string) --* The unique identifier of the privacy budget template. * **arn** *(string) --* The ARN of the privacy budget template. * **membershipId** *(string) --* The identifier for a membership resource. * **membershipArn** *(string) --* The Amazon Resource Name (ARN) of the member who created the privacy budget template. * **collaborationId** *(string) --* The unique ID of the collaboration that contains this privacy budget template. * **collaborationArn** *(string) --* The ARN of the collaboration that contains this privacy budget template. * **privacyBudgetType** *(string) --* The type of the privacy budget template. * **createTime** *(datetime) --* The time at which the privacy budget template was created. * **updateTime** *(datetime) --* The most recent time at which the privacy budget template was updated. * **NextToken** *(string) --* A token to resume pagination. CleanRoomsService / Client / get_collaboration_privacy_budget_template get_collaboration_privacy_budget_template ***************************************** CleanRoomsService.Client.get_collaboration_privacy_budget_template(**kwargs) Returns details about a specified privacy budget template. See also: AWS API Documentation **Request Syntax** response = client.get_collaboration_privacy_budget_template( collaborationIdentifier='string', privacyBudgetTemplateIdentifier='string' ) Parameters: * **collaborationIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for one of your collaborations. * **privacyBudgetTemplateIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for one of your privacy budget templates. Return type: dict Returns: **Response Syntax** { 'collaborationPrivacyBudgetTemplate': { 'id': 'string', 'arn': 'string', 'collaborationId': 'string', 'collaborationArn': 'string', 'creatorAccountId': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'privacyBudgetType': 'DIFFERENTIAL_PRIVACY', 'autoRefresh': 'CALENDAR_MONTH'|'NONE', 'parameters': { 'differentialPrivacy': { 'epsilon': 123, 'usersNoisePerQuery': 123 } } } } **Response Structure** * *(dict) --* * **collaborationPrivacyBudgetTemplate** *(dict) --* Returns the details of the privacy budget template that you requested. * **id** *(string) --* The unique identifier of the collaboration privacy budget template. * **arn** *(string) --* The ARN of the collaboration privacy budget template. * **collaborationId** *(string) --* The unique identifier of the collaboration that includes this collaboration privacy budget template. * **collaborationArn** *(string) --* The ARN of the collaboration that includes this collaboration privacy budget template. * **creatorAccountId** *(string) --* The unique identifier of the account that created this collaboration privacy budget template. * **createTime** *(datetime) --* The time at which the collaboration privacy budget template was created. * **updateTime** *(datetime) --* The most recent time at which the collaboration privacy budget template was updated. * **privacyBudgetType** *(string) --* The type of privacy budget template. * **autoRefresh** *(string) --* How often the privacy budget refreshes. Warning: If you plan to regularly bring new data into the collaboration, use "CALENDAR_MONTH" to automatically get a new privacy budget for the collaboration every calendar month. Choosing this option allows arbitrary amounts of information to be revealed about rows of the data when repeatedly queried across refreshes. Avoid choosing this if the same rows will be repeatedly queried between privacy budget refreshes. * **parameters** *(dict) --* Specifies the epsilon and noise parameters for the privacy budget template. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "differentialPrivacy". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **differentialPrivacy** *(dict) --* The epsilon and noise parameters. * **epsilon** *(integer) --* The epsilon value that you specified. * **usersNoisePerQuery** *(integer) --* Noise added per query is measured in terms of the number of users whose contributions you want to obscure. This value governs the rate at which the privacy budget is depleted. **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / create_configured_table_association create_configured_table_association *********************************** CleanRoomsService.Client.create_configured_table_association(**kwargs) Creates a configured table association. A configured table association links a configured table with a collaboration. See also: AWS API Documentation **Request Syntax** response = client.create_configured_table_association( name='string', description='string', membershipIdentifier='string', configuredTableIdentifier='string', roleArn='string', tags={ 'string': 'string' } ) Parameters: * **name** (*string*) -- **[REQUIRED]** The name of the configured table association. This name is used to query the underlying configured table. * **description** (*string*) -- A description for the configured table association. * **membershipIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for one of your memberships for a collaboration. The configured table is associated to the collaboration that this membership belongs to. Currently accepts a membership ID. * **configuredTableIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for the configured table to be associated to. Currently accepts a configured table ID. * **roleArn** (*string*) -- **[REQUIRED]** The service will assume this role to access catalog metadata and query the table. * **tags** (*dict*) -- An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource. * *(string) --* * *(string) --* Return type: dict Returns: **Response Syntax** { 'configuredTableAssociation': { 'arn': 'string', 'id': 'string', 'configuredTableId': 'string', 'configuredTableArn': 'string', 'membershipId': 'string', 'membershipArn': 'string', 'roleArn': 'string', 'name': 'string', 'description': 'string', 'analysisRuleTypes': [ 'AGGREGATION'|'LIST'|'CUSTOM', ], 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1) } } **Response Structure** * *(dict) --* * **configuredTableAssociation** *(dict) --* The configured table association. * **arn** *(string) --* The unique ARN for the configured table association. * **id** *(string) --* The unique ID for the configured table association. * **configuredTableId** *(string) --* The unique ID for the configured table that the association refers to. * **configuredTableArn** *(string) --* The unique ARN for the configured table that the association refers to. * **membershipId** *(string) --* The unique ID for the membership this configured table association belongs to. * **membershipArn** *(string) --* The unique ARN for the membership this configured table association belongs to. * **roleArn** *(string) --* The service will assume this role to access catalog metadata and query the table. * **name** *(string) --* The name of the configured table association, in lowercase. The table is identified by this name when running protected queries against the underlying data. * **description** *(string) --* A description of the configured table association. * **analysisRuleTypes** *(list) --* The analysis rule types for the configured table association. * *(string) --* * **createTime** *(datetime) --* The time the configured table association was created. * **updateTime** *(datetime) --* The time the configured table association was last updated. **Exceptions** * "CleanRoomsService.Client.exceptions.ConflictException" * "CleanRoomsService.Client.exceptions.ServiceQuotaExceededExcepti on" * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / list_collaborations list_collaborations ******************* CleanRoomsService.Client.list_collaborations(**kwargs) Lists collaborations the caller owns, is active in, or has been invited to. See also: AWS API Documentation **Request Syntax** response = client.list_collaborations( nextToken='string', maxResults=123, memberStatus='INVITED'|'ACTIVE' ) Parameters: * **nextToken** (*string*) -- The pagination token that's used to fetch the next set of results. * **maxResults** (*integer*) -- The maximum number of results that are returned for an API request call. The service chooses a default number if you don't set one. The service might return a *nextToken* even if the *maxResults* value has not been met. * **memberStatus** (*string*) -- The caller's status in a collaboration. Return type: dict Returns: **Response Syntax** { 'nextToken': 'string', 'collaborationList': [ { 'id': 'string', 'arn': 'string', 'name': 'string', 'creatorAccountId': 'string', 'creatorDisplayName': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'memberStatus': 'INVITED'|'ACTIVE'|'LEFT'|'REMOVED', 'membershipId': 'string', 'membershipArn': 'string', 'analyticsEngine': 'SPARK'|'CLEAN_ROOMS_SQL' }, ] } **Response Structure** * *(dict) --* * **nextToken** *(string) --* The pagination token that's used to fetch the next set of results. * **collaborationList** *(list) --* The list of collaborations. * *(dict) --* The metadata of the collaboration. * **id** *(string) --* The identifier for the collaboration. * **arn** *(string) --* The ARN of the collaboration. * **name** *(string) --* A human-readable identifier provided by the collaboration owner. Display names are not unique. * **creatorAccountId** *(string) --* The identifier used to reference members of the collaboration. Currently only supports Amazon Web Services account ID. * **creatorDisplayName** *(string) --* The display name of the collaboration creator. * **createTime** *(datetime) --* The time when the collaboration was created. * **updateTime** *(datetime) --* The time the collaboration metadata was last updated. * **memberStatus** *(string) --* The status of a member in a collaboration. * **membershipId** *(string) --* The identifier of a member in a collaboration. * **membershipArn** *(string) --* The ARN of a member in a collaboration. * **analyticsEngine** *(string) --* The analytics engine. Note: After July 16, 2025, the "CLEAN_ROOMS_SQL" parameter will no longer be available. **Exceptions** * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / create_privacy_budget_template create_privacy_budget_template ****************************** CleanRoomsService.Client.create_privacy_budget_template(**kwargs) Creates a privacy budget template for a specified collaboration. Each collaboration can have only one privacy budget template. If you need to change the privacy budget template, use the UpdatePrivacyBudgetTemplate operation. See also: AWS API Documentation **Request Syntax** response = client.create_privacy_budget_template( membershipIdentifier='string', autoRefresh='CALENDAR_MONTH'|'NONE', privacyBudgetType='DIFFERENTIAL_PRIVACY', parameters={ 'differentialPrivacy': { 'epsilon': 123, 'usersNoisePerQuery': 123 } }, tags={ 'string': 'string' } ) Parameters: * **membershipIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for one of your memberships for a collaboration. The privacy budget template is created in the collaboration that this membership belongs to. Accepts a membership ID. * **autoRefresh** (*string*) -- **[REQUIRED]** How often the privacy budget refreshes. Warning: If you plan to regularly bring new data into the collaboration, you can use "CALENDAR_MONTH" to automatically get a new privacy budget for the collaboration every calendar month. Choosing this option allows arbitrary amounts of information to be revealed about rows of the data when repeatedly queries across refreshes. Avoid choosing this if the same rows will be repeatedly queried between privacy budget refreshes. * **privacyBudgetType** (*string*) -- **[REQUIRED]** Specifies the type of the privacy budget template. * **parameters** (*dict*) -- **[REQUIRED]** Specifies your parameters for the privacy budget template. Note: This is a Tagged Union structure. Only one of the following top level keys can be set: "differentialPrivacy". * **differentialPrivacy** *(dict) --* An object that specifies the epsilon and noise parameters. * **epsilon** *(integer) --* **[REQUIRED]** The epsilon value that you want to use. * **usersNoisePerQuery** *(integer) --* **[REQUIRED]** Noise added per query is measured in terms of the number of users whose contributions you want to obscure. This value governs the rate at which the privacy budget is depleted. * **tags** (*dict*) -- An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource. * *(string) --* * *(string) --* Return type: dict Returns: **Response Syntax** { 'privacyBudgetTemplate': { 'id': 'string', 'arn': 'string', 'membershipId': 'string', 'membershipArn': 'string', 'collaborationId': 'string', 'collaborationArn': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'privacyBudgetType': 'DIFFERENTIAL_PRIVACY', 'autoRefresh': 'CALENDAR_MONTH'|'NONE', 'parameters': { 'differentialPrivacy': { 'epsilon': 123, 'usersNoisePerQuery': 123 } } } } **Response Structure** * *(dict) --* * **privacyBudgetTemplate** *(dict) --* A summary of the elements in the privacy budget template. * **id** *(string) --* The unique identifier of the privacy budget template. * **arn** *(string) --* The ARN of the privacy budget template. * **membershipId** *(string) --* The identifier for a membership resource. * **membershipArn** *(string) --* The Amazon Resource Name (ARN) of the member who created the privacy budget template. * **collaborationId** *(string) --* The unique ID of the collaboration that contains this privacy budget template. * **collaborationArn** *(string) --* The ARN of the collaboration that contains this privacy budget template. * **createTime** *(datetime) --* The time at which the privacy budget template was created. * **updateTime** *(datetime) --* The most recent time at which the privacy budget template was updated. * **privacyBudgetType** *(string) --* Specifies the type of the privacy budget template. * **autoRefresh** *(string) --* How often the privacy budget refreshes. Warning: If you plan to regularly bring new data into the collaboration, use "CALENDAR_MONTH" to automatically get a new privacy budget for the collaboration every calendar month. Choosing this option allows arbitrary amounts of information to be revealed about rows of the data when repeatedly queried across refreshes. Avoid choosing this if the same rows will be repeatedly queried between privacy budget refreshes. * **parameters** *(dict) --* Specifies the epsilon and noise parameters for the privacy budget template. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "differentialPrivacy". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **differentialPrivacy** *(dict) --* The epsilon and noise parameters. * **epsilon** *(integer) --* The epsilon value that you specified. * **usersNoisePerQuery** *(integer) --* Noise added per query is measured in terms of the number of users whose contributions you want to obscure. This value governs the rate at which the privacy budget is depleted. **Exceptions** * "CleanRoomsService.Client.exceptions.ConflictException" * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / get_paginator get_paginator ************* CleanRoomsService.Client.get_paginator(operation_name) Create a paginator for an operation. Parameters: **operation_name** (*string*) -- The operation name. This is the same name as the method name on the client. For example, if the method name is "create_foo", and you'd normally invoke the operation as "client.create_foo(**kwargs)", if the "create_foo" operation can be paginated, you can use the call "client.get_paginator("create_foo")". Raises: **OperationNotPageableError** -- Raised if the operation is not pageable. You can use the "client.can_paginate" method to check if an operation is pageable. Return type: "botocore.paginate.Paginator" Returns: A paginator object. CleanRoomsService / Client / get_privacy_budget_template get_privacy_budget_template *************************** CleanRoomsService.Client.get_privacy_budget_template(**kwargs) Returns details for a specified privacy budget template. See also: AWS API Documentation **Request Syntax** response = client.get_privacy_budget_template( membershipIdentifier='string', privacyBudgetTemplateIdentifier='string' ) Parameters: * **membershipIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for one of your memberships for a collaboration. The privacy budget template is retrieved from the collaboration that this membership belongs to. Accepts a membership ID. * **privacyBudgetTemplateIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for your privacy budget template. Return type: dict Returns: **Response Syntax** { 'privacyBudgetTemplate': { 'id': 'string', 'arn': 'string', 'membershipId': 'string', 'membershipArn': 'string', 'collaborationId': 'string', 'collaborationArn': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'privacyBudgetType': 'DIFFERENTIAL_PRIVACY', 'autoRefresh': 'CALENDAR_MONTH'|'NONE', 'parameters': { 'differentialPrivacy': { 'epsilon': 123, 'usersNoisePerQuery': 123 } } } } **Response Structure** * *(dict) --* * **privacyBudgetTemplate** *(dict) --* Returns the details of the privacy budget template that you requested. * **id** *(string) --* The unique identifier of the privacy budget template. * **arn** *(string) --* The ARN of the privacy budget template. * **membershipId** *(string) --* The identifier for a membership resource. * **membershipArn** *(string) --* The Amazon Resource Name (ARN) of the member who created the privacy budget template. * **collaborationId** *(string) --* The unique ID of the collaboration that contains this privacy budget template. * **collaborationArn** *(string) --* The ARN of the collaboration that contains this privacy budget template. * **createTime** *(datetime) --* The time at which the privacy budget template was created. * **updateTime** *(datetime) --* The most recent time at which the privacy budget template was updated. * **privacyBudgetType** *(string) --* Specifies the type of the privacy budget template. * **autoRefresh** *(string) --* How often the privacy budget refreshes. Warning: If you plan to regularly bring new data into the collaboration, use "CALENDAR_MONTH" to automatically get a new privacy budget for the collaboration every calendar month. Choosing this option allows arbitrary amounts of information to be revealed about rows of the data when repeatedly queried across refreshes. Avoid choosing this if the same rows will be repeatedly queried between privacy budget refreshes. * **parameters** *(dict) --* Specifies the epsilon and noise parameters for the privacy budget template. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "differentialPrivacy". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **differentialPrivacy** *(dict) --* The epsilon and noise parameters. * **epsilon** *(integer) --* The epsilon value that you specified. * **usersNoisePerQuery** *(integer) --* Noise added per query is measured in terms of the number of users whose contributions you want to obscure. This value governs the rate at which the privacy budget is depleted. **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / update_id_namespace_association update_id_namespace_association ******************************* CleanRoomsService.Client.update_id_namespace_association(**kwargs) Provides the details that are necessary to update an ID namespace association. See also: AWS API Documentation **Request Syntax** response = client.update_id_namespace_association( idNamespaceAssociationIdentifier='string', membershipIdentifier='string', name='string', description='string', idMappingConfig={ 'allowUseAsDimensionColumn': True|False } ) Parameters: * **idNamespaceAssociationIdentifier** (*string*) -- **[REQUIRED]** The unique identifier of the ID namespace association that you want to update. * **membershipIdentifier** (*string*) -- **[REQUIRED]** The unique identifier of the membership that contains the ID namespace association that you want to update. * **name** (*string*) -- A new name for the ID namespace association. * **description** (*string*) -- A new description for the ID namespace association. * **idMappingConfig** (*dict*) -- The configuration settings for the ID mapping table. * **allowUseAsDimensionColumn** *(boolean) --* **[REQUIRED]** An indicator as to whether you can use your column as a dimension column in the ID mapping table ( "TRUE") or not ( "FALSE"). Default is "FALSE". Return type: dict Returns: **Response Syntax** { 'idNamespaceAssociation': { 'id': 'string', 'arn': 'string', 'membershipId': 'string', 'membershipArn': 'string', 'collaborationId': 'string', 'collaborationArn': 'string', 'name': 'string', 'description': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'inputReferenceConfig': { 'inputReferenceArn': 'string', 'manageResourcePolicies': True|False }, 'inputReferenceProperties': { 'idNamespaceType': 'SOURCE'|'TARGET', 'idMappingWorkflowsSupported': [ {...}|[...]|123|123.4|'string'|True|None, ] }, 'idMappingConfig': { 'allowUseAsDimensionColumn': True|False } } } **Response Structure** * *(dict) --* * **idNamespaceAssociation** *(dict) --* The updated ID namespace association. * **id** *(string) --* The unique identifier for this ID namespace association. * **arn** *(string) --* The Amazon Resource Name (ARN) of the ID namespace association. * **membershipId** *(string) --* The unique identifier of the membership resource for this ID namespace association. * **membershipArn** *(string) --* The Amazon Resource Name (ARN) of the membership resource for this ID namespace association. * **collaborationId** *(string) --* The unique identifier of the collaboration that contains this ID namespace association. * **collaborationArn** *(string) --* The Amazon Resource Name (ARN) of the collaboration that contains this ID namespace association. * **name** *(string) --* The name of this ID namespace association. * **description** *(string) --* The description of the ID namespace association. * **createTime** *(datetime) --* The time at which the ID namespace association was created. * **updateTime** *(datetime) --* The most recent time at which the ID namespace association was updated. * **inputReferenceConfig** *(dict) --* The input reference configuration for the ID namespace association. * **inputReferenceArn** *(string) --* The Amazon Resource Name (ARN) of the Entity Resolution resource that is being associated to the collaboration. Valid resource ARNs are from the ID namespaces that you own. * **manageResourcePolicies** *(boolean) --* When "TRUE", Clean Rooms manages permissions for the ID namespace association resource. When "FALSE", the resource owner manages permissions for the ID namespace association resource. * **inputReferenceProperties** *(dict) --* The input reference properties for the ID namespace association. * **idNamespaceType** *(string) --* The ID namespace type for this ID namespace association. * **idMappingWorkflowsSupported** *(list) --* Defines how ID mapping workflows are supported for this ID namespace association. * (*document*) -- * **idMappingConfig** *(dict) --* The configuration settings for the ID mapping table. * **allowUseAsDimensionColumn** *(boolean) --* An indicator as to whether you can use your column as a dimension column in the ID mapping table ( "TRUE") or not ( "FALSE"). Default is "FALSE". **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / list_privacy_budget_templates list_privacy_budget_templates ***************************** CleanRoomsService.Client.list_privacy_budget_templates(**kwargs) Returns detailed information about the privacy budget templates in a specified membership. See also: AWS API Documentation **Request Syntax** response = client.list_privacy_budget_templates( membershipIdentifier='string', nextToken='string', maxResults=123 ) Parameters: * **membershipIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for one of your memberships for a collaboration. The privacy budget templates are retrieved from the collaboration that this membership belongs to. Accepts a membership ID. * **nextToken** (*string*) -- The pagination token that's used to fetch the next set of results. * **maxResults** (*integer*) -- The maximum number of results that are returned for an API request call. The service chooses a default number if you don't set one. The service might return a *nextToken* even if the *maxResults* value has not been met. Return type: dict Returns: **Response Syntax** { 'nextToken': 'string', 'privacyBudgetTemplateSummaries': [ { 'id': 'string', 'arn': 'string', 'membershipId': 'string', 'membershipArn': 'string', 'collaborationId': 'string', 'collaborationArn': 'string', 'privacyBudgetType': 'DIFFERENTIAL_PRIVACY', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1) }, ] } **Response Structure** * *(dict) --* * **nextToken** *(string) --* The pagination token that's used to fetch the next set of results. * **privacyBudgetTemplateSummaries** *(list) --* An array that summarizes the privacy budget templates. The summary includes collaboration information, creation information, and privacy budget type. * *(dict) --* A summary of the privacy budget template. The summary includes membership information, collaboration information, and creation information. * **id** *(string) --* The unique identifier of the privacy budget template. * **arn** *(string) --* The ARN of the privacy budget template. * **membershipId** *(string) --* The identifier for a membership resource. * **membershipArn** *(string) --* The Amazon Resource Name (ARN) of the member who created the privacy budget template. * **collaborationId** *(string) --* The unique ID of the collaboration that contains this privacy budget template. * **collaborationArn** *(string) --* The ARN of the collaboration that contains this privacy budget template. * **privacyBudgetType** *(string) --* The type of the privacy budget template. * **createTime** *(datetime) --* The time at which the privacy budget template was created. * **updateTime** *(datetime) --* The most recent time at which the privacy budget template was updated. **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / get_collaboration_configured_audience_model_association get_collaboration_configured_audience_model_association ******************************************************* CleanRoomsService.Client.get_collaboration_configured_audience_model_association(**kwargs) Retrieves a configured audience model association within a collaboration. See also: AWS API Documentation **Request Syntax** response = client.get_collaboration_configured_audience_model_association( collaborationIdentifier='string', configuredAudienceModelAssociationIdentifier='string' ) Parameters: * **collaborationIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for the collaboration that the configured audience model association belongs to. Accepts a collaboration ID. * **configuredAudienceModelAssociationIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for the configured audience model association that you want to retrieve. Return type: dict Returns: **Response Syntax** { 'collaborationConfiguredAudienceModelAssociation': { 'id': 'string', 'arn': 'string', 'collaborationId': 'string', 'collaborationArn': 'string', 'configuredAudienceModelArn': 'string', 'name': 'string', 'description': 'string', 'creatorAccountId': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1) } } **Response Structure** * *(dict) --* * **collaborationConfiguredAudienceModelAssociation** *(dict) --* The metadata of the configured audience model association. * **id** *(string) --* The identifier of the configured audience model association. * **arn** *(string) --* The Amazon Resource Name (ARN) of the configured audience model association. * **collaborationId** *(string) --* A unique identifier for the collaboration that the configured audience model associations belong to. Accepts collaboration ID. * **collaborationArn** *(string) --* The unique ARN for the configured audience model's associated collaboration. * **configuredAudienceModelArn** *(string) --* The Amazon Resource Name (ARN) of the configure audience model. * **name** *(string) --* The name of the configured audience model association. * **description** *(string) --* The description of the configured audience model association. * **creatorAccountId** *(string) --* The identifier used to reference members of the collaboration. Only supports Amazon Web Services account ID. * **createTime** *(datetime) --* The time at which the configured audience model association was created. * **updateTime** *(datetime) --* The most recent time at which the configured audience model association was updated. **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / create_collaboration create_collaboration ******************** CleanRoomsService.Client.create_collaboration(**kwargs) Creates a new collaboration. See also: AWS API Documentation **Request Syntax** response = client.create_collaboration( members=[ { 'accountId': 'string', 'memberAbilities': [ 'CAN_QUERY'|'CAN_RECEIVE_RESULTS'|'CAN_RUN_JOB', ], 'mlMemberAbilities': { 'customMLMemberAbilities': [ 'CAN_RECEIVE_MODEL_OUTPUT'|'CAN_RECEIVE_INFERENCE_OUTPUT', ] }, 'displayName': 'string', 'paymentConfiguration': { 'queryCompute': { 'isResponsible': True|False }, 'machineLearning': { 'modelTraining': { 'isResponsible': True|False }, 'modelInference': { 'isResponsible': True|False } }, 'jobCompute': { 'isResponsible': True|False } } }, ], name='string', description='string', creatorMemberAbilities=[ 'CAN_QUERY'|'CAN_RECEIVE_RESULTS'|'CAN_RUN_JOB', ], creatorMLMemberAbilities={ 'customMLMemberAbilities': [ 'CAN_RECEIVE_MODEL_OUTPUT'|'CAN_RECEIVE_INFERENCE_OUTPUT', ] }, creatorDisplayName='string', dataEncryptionMetadata={ 'allowCleartext': True|False, 'allowDuplicates': True|False, 'allowJoinsOnColumnsWithDifferentNames': True|False, 'preserveNulls': True|False }, queryLogStatus='ENABLED'|'DISABLED', jobLogStatus='ENABLED'|'DISABLED', tags={ 'string': 'string' }, creatorPaymentConfiguration={ 'queryCompute': { 'isResponsible': True|False }, 'machineLearning': { 'modelTraining': { 'isResponsible': True|False }, 'modelInference': { 'isResponsible': True|False } }, 'jobCompute': { 'isResponsible': True|False } }, analyticsEngine='SPARK'|'CLEAN_ROOMS_SQL' ) Parameters: * **members** (*list*) -- **[REQUIRED]** A list of initial members, not including the creator. This list is immutable. * *(dict) --* Basic metadata used to construct a new member. * **accountId** *(string) --* **[REQUIRED]** The identifier used to reference members of the collaboration. Currently only supports Amazon Web Services account ID. * **memberAbilities** *(list) --* **[REQUIRED]** The abilities granted to the collaboration member. * *(string) --* * **mlMemberAbilities** *(dict) --* The ML abilities granted to the collaboration member. * **customMLMemberAbilities** *(list) --* **[REQUIRED]** The custom ML member abilities for a collaboration member. * *(string) --* * **displayName** *(string) --* **[REQUIRED]** The member's display name. * **paymentConfiguration** *(dict) --* The collaboration member's payment responsibilities set by the collaboration creator. If the collaboration creator hasn't specified anyone as the member paying for query compute costs, then the member who can query is the default payer. * **queryCompute** *(dict) --* **[REQUIRED]** The collaboration member's payment responsibilities set by the collaboration creator for query compute costs. * **isResponsible** *(boolean) --* **[REQUIRED]** Indicates whether the collaboration creator has configured the collaboration member to pay for query compute costs ( "TRUE") or has not configured the collaboration member to pay for query compute costs ( "FALSE"). Exactly one member can be configured to pay for query compute costs. An error is returned if the collaboration creator sets a "TRUE" value for more than one member in the collaboration. If the collaboration creator hasn't specified anyone as the member paying for query compute costs, then the member who can query is the default payer. An error is returned if the collaboration creator sets a "FALSE" value for the member who can query. * **machineLearning** *(dict) --* An object representing the collaboration member's machine learning payment responsibilities set by the collaboration creator. * **modelTraining** *(dict) --* The payment responsibilities accepted by the member for model training. * **isResponsible** *(boolean) --* **[REQUIRED]** Indicates whether the collaboration creator has configured the collaboration member to pay for model training costs ( "TRUE") or has not configured the collaboration member to pay for model training costs ( "FALSE"). Exactly one member can be configured to pay for model training costs. An error is returned if the collaboration creator sets a "TRUE" value for more than one member in the collaboration. If the collaboration creator hasn't specified anyone as the member paying for model training costs, then the member who can query is the default payer. An error is returned if the collaboration creator sets a "FALSE" value for the member who can query. * **modelInference** *(dict) --* The payment responsibilities accepted by the member for model inference. * **isResponsible** *(boolean) --* **[REQUIRED]** Indicates whether the collaboration creator has configured the collaboration member to pay for model inference costs ( "TRUE") or has not configured the collaboration member to pay for model inference costs ( "FALSE"). Exactly one member can be configured to pay for model inference costs. An error is returned if the collaboration creator sets a "TRUE" value for more than one member in the collaboration. If the collaboration creator hasn't specified anyone as the member paying for model inference costs, then the member who can query is the default payer. An error is returned if the collaboration creator sets a "FALSE" value for the member who can query. * **jobCompute** *(dict) --* The compute configuration for the job. * **isResponsible** *(boolean) --* **[REQUIRED]** Indicates whether the collaboration creator has configured the collaboration member to pay for query and job compute costs ( "TRUE") or has not configured the collaboration member to pay for query and job compute costs ( "FALSE"). Exactly one member can be configured to pay for query and job compute costs. An error is returned if the collaboration creator sets a "TRUE" value for more than one member in the collaboration. An error is returned if the collaboration creator sets a "FALSE" value for the member who can run queries and jobs. * **name** (*string*) -- **[REQUIRED]** The display name for a collaboration. * **description** (*string*) -- **[REQUIRED]** A description of the collaboration provided by the collaboration owner. * **creatorMemberAbilities** (*list*) -- **[REQUIRED]** The abilities granted to the collaboration creator. * *(string) --* * **creatorMLMemberAbilities** (*dict*) -- The ML abilities granted to the collaboration creator. * **customMLMemberAbilities** *(list) --* **[REQUIRED]** The custom ML member abilities for a collaboration member. * *(string) --* * **creatorDisplayName** (*string*) -- **[REQUIRED]** The display name of the collaboration creator. * **dataEncryptionMetadata** (*dict*) -- The settings for client-side encryption with Cryptographic Computing for Clean Rooms. * **allowCleartext** *(boolean) --* **[REQUIRED]** Indicates whether encrypted tables can contain cleartext data ( "TRUE") or are to cryptographically process every column ( "FALSE"). * **allowDuplicates** *(boolean) --* **[REQUIRED]** Indicates whether Fingerprint columns can contain duplicate entries ( "TRUE") or are to contain only non-repeated values ( "FALSE"). * **allowJoinsOnColumnsWithDifferentNames** *(boolean) --* **[REQUIRED]** Indicates whether Fingerprint columns can be joined on any other Fingerprint column with a different name ( "TRUE") or can only be joined on Fingerprint columns of the same name ( "FALSE"). * **preserveNulls** *(boolean) --* **[REQUIRED]** Indicates whether NULL values are to be copied as NULL to encrypted tables ( "TRUE") or cryptographically processed ( "FALSE"). * **queryLogStatus** (*string*) -- **[REQUIRED]** An indicator as to whether query logging has been enabled or disabled for the collaboration. When "ENABLED", Clean Rooms logs details about queries run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is "DISABLED". * **jobLogStatus** (*string*) -- Specifies whether job logs are enabled for this collaboration. When "ENABLED", Clean Rooms logs details about jobs run within this collaboration; those logs can be viewed in Amazon CloudWatch Logs. The default value is "DISABLED". * **tags** (*dict*) -- An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource. * *(string) --* * *(string) --* * **creatorPaymentConfiguration** (*dict*) -- The collaboration creator's payment responsibilities set by the collaboration creator. If the collaboration creator hasn't specified anyone as the member paying for query compute costs, then the member who can query is the default payer. * **queryCompute** *(dict) --* **[REQUIRED]** The collaboration member's payment responsibilities set by the collaboration creator for query compute costs. * **isResponsible** *(boolean) --* **[REQUIRED]** Indicates whether the collaboration creator has configured the collaboration member to pay for query compute costs ( "TRUE") or has not configured the collaboration member to pay for query compute costs ( "FALSE"). Exactly one member can be configured to pay for query compute costs. An error is returned if the collaboration creator sets a "TRUE" value for more than one member in the collaboration. If the collaboration creator hasn't specified anyone as the member paying for query compute costs, then the member who can query is the default payer. An error is returned if the collaboration creator sets a "FALSE" value for the member who can query. * **machineLearning** *(dict) --* An object representing the collaboration member's machine learning payment responsibilities set by the collaboration creator. * **modelTraining** *(dict) --* The payment responsibilities accepted by the member for model training. * **isResponsible** *(boolean) --* **[REQUIRED]** Indicates whether the collaboration creator has configured the collaboration member to pay for model training costs ( "TRUE") or has not configured the collaboration member to pay for model training costs ( "FALSE"). Exactly one member can be configured to pay for model training costs. An error is returned if the collaboration creator sets a "TRUE" value for more than one member in the collaboration. If the collaboration creator hasn't specified anyone as the member paying for model training costs, then the member who can query is the default payer. An error is returned if the collaboration creator sets a "FALSE" value for the member who can query. * **modelInference** *(dict) --* The payment responsibilities accepted by the member for model inference. * **isResponsible** *(boolean) --* **[REQUIRED]** Indicates whether the collaboration creator has configured the collaboration member to pay for model inference costs ( "TRUE") or has not configured the collaboration member to pay for model inference costs ( "FALSE"). Exactly one member can be configured to pay for model inference costs. An error is returned if the collaboration creator sets a "TRUE" value for more than one member in the collaboration. If the collaboration creator hasn't specified anyone as the member paying for model inference costs, then the member who can query is the default payer. An error is returned if the collaboration creator sets a "FALSE" value for the member who can query. * **jobCompute** *(dict) --* The compute configuration for the job. * **isResponsible** *(boolean) --* **[REQUIRED]** Indicates whether the collaboration creator has configured the collaboration member to pay for query and job compute costs ( "TRUE") or has not configured the collaboration member to pay for query and job compute costs ( "FALSE"). Exactly one member can be configured to pay for query and job compute costs. An error is returned if the collaboration creator sets a "TRUE" value for more than one member in the collaboration. An error is returned if the collaboration creator sets a "FALSE" value for the member who can run queries and jobs. * **analyticsEngine** (*string*) -- The analytics engine. Note: After July 16, 2025, the "CLEAN_ROOMS_SQL" parameter will no longer be available. Return type: dict Returns: **Response Syntax** { 'collaboration': { 'id': 'string', 'arn': 'string', 'name': 'string', 'description': 'string', 'creatorAccountId': 'string', 'creatorDisplayName': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'memberStatus': 'INVITED'|'ACTIVE'|'LEFT'|'REMOVED', 'membershipId': 'string', 'membershipArn': 'string', 'dataEncryptionMetadata': { 'allowCleartext': True|False, 'allowDuplicates': True|False, 'allowJoinsOnColumnsWithDifferentNames': True|False, 'preserveNulls': True|False }, 'queryLogStatus': 'ENABLED'|'DISABLED', 'jobLogStatus': 'ENABLED'|'DISABLED', 'analyticsEngine': 'SPARK'|'CLEAN_ROOMS_SQL' } } **Response Structure** * *(dict) --* * **collaboration** *(dict) --* The collaboration. * **id** *(string) --* The unique ID for the collaboration. * **arn** *(string) --* The unique ARN for the collaboration. * **name** *(string) --* A human-readable identifier provided by the collaboration owner. Display names are not unique. * **description** *(string) --* A description of the collaboration provided by the collaboration owner. * **creatorAccountId** *(string) --* The identifier used to reference members of the collaboration. Currently only supports Amazon Web Services account ID. * **creatorDisplayName** *(string) --* A display name of the collaboration creator. * **createTime** *(datetime) --* The time when the collaboration was created. * **updateTime** *(datetime) --* The time the collaboration metadata was last updated. * **memberStatus** *(string) --* The status of a member in a collaboration. * **membershipId** *(string) --* The unique ID for your membership within the collaboration. * **membershipArn** *(string) --* The unique ARN for your membership within the collaboration. * **dataEncryptionMetadata** *(dict) --* The settings for client-side encryption for cryptographic computing. * **allowCleartext** *(boolean) --* Indicates whether encrypted tables can contain cleartext data ( "TRUE") or are to cryptographically process every column ( "FALSE"). * **allowDuplicates** *(boolean) --* Indicates whether Fingerprint columns can contain duplicate entries ( "TRUE") or are to contain only non- repeated values ( "FALSE"). * **allowJoinsOnColumnsWithDifferentNames** *(boolean) --* Indicates whether Fingerprint columns can be joined on any other Fingerprint column with a different name ( "TRUE") or can only be joined on Fingerprint columns of the same name ( "FALSE"). * **preserveNulls** *(boolean) --* Indicates whether NULL values are to be copied as NULL to encrypted tables ( "TRUE") or cryptographically processed ( "FALSE"). * **queryLogStatus** *(string) --* An indicator as to whether query logging has been enabled or disabled for the collaboration. When "ENABLED", Clean Rooms logs details about queries run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is "DISABLED". * **jobLogStatus** *(string) --* An indicator as to whether job logging has been enabled or disabled for the collaboration. When "ENABLED", Clean Rooms logs details about jobs run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is "DISABLED". * **analyticsEngine** *(string) --* The analytics engine for the collaboration. Note: After July 16, 2025, the "CLEAN_ROOMS_SQL" parameter will no longer be available. **Exceptions** * "CleanRoomsService.Client.exceptions.ServiceQuotaExceededExcepti on" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / delete_id_namespace_association delete_id_namespace_association ******************************* CleanRoomsService.Client.delete_id_namespace_association(**kwargs) Deletes an ID namespace association. See also: AWS API Documentation **Request Syntax** response = client.delete_id_namespace_association( idNamespaceAssociationIdentifier='string', membershipIdentifier='string' ) Parameters: * **idNamespaceAssociationIdentifier** (*string*) -- **[REQUIRED]** The unique identifier of the ID namespace association that you want to delete. * **membershipIdentifier** (*string*) -- **[REQUIRED]** The unique identifier of the membership that contains the ID namespace association that you want to delete. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / delete_id_mapping_table delete_id_mapping_table *********************** CleanRoomsService.Client.delete_id_mapping_table(**kwargs) Deletes an ID mapping table. See also: AWS API Documentation **Request Syntax** response = client.delete_id_mapping_table( idMappingTableIdentifier='string', membershipIdentifier='string' ) Parameters: * **idMappingTableIdentifier** (*string*) -- **[REQUIRED]** The unique identifier of the ID mapping table that you want to delete. * **membershipIdentifier** (*string*) -- **[REQUIRED]** The unique identifier of the membership that contains the ID mapping table that you want to delete. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / can_paginate can_paginate ************ CleanRoomsService.Client.can_paginate(operation_name) Check if an operation can be paginated. Parameters: **operation_name** (*string*) -- The operation name. This is the same name as the method name on the client. For example, if the method name is "create_foo", and you'd normally invoke the operation as "client.create_foo(**kwargs)", if the "create_foo" operation can be paginated, you can use the call "client.get_paginator("create_foo")". Returns: "True" if the operation can be paginated, "False" otherwise. CleanRoomsService / Client / get_schema get_schema ********** CleanRoomsService.Client.get_schema(**kwargs) Retrieves the schema for a relation within a collaboration. See also: AWS API Documentation **Request Syntax** response = client.get_schema( collaborationIdentifier='string', name='string' ) Parameters: * **collaborationIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for the collaboration that the schema belongs to. Currently accepts a collaboration ID. * **name** (*string*) -- **[REQUIRED]** The name of the relation to retrieve the schema for. Return type: dict Returns: **Response Syntax** { 'schema': { 'columns': [ { 'name': 'string', 'type': 'string' }, ], 'partitionKeys': [ { 'name': 'string', 'type': 'string' }, ], 'analysisRuleTypes': [ 'AGGREGATION'|'LIST'|'CUSTOM'|'ID_MAPPING_TABLE', ], 'analysisMethod': 'DIRECT_QUERY'|'DIRECT_JOB'|'MULTIPLE', 'selectedAnalysisMethods': [ 'DIRECT_QUERY'|'DIRECT_JOB', ], 'creatorAccountId': 'string', 'name': 'string', 'collaborationId': 'string', 'collaborationArn': 'string', 'description': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'type': 'TABLE'|'ID_MAPPING_TABLE', 'schemaStatusDetails': [ { 'status': 'READY'|'NOT_READY', 'reasons': [ { 'code': 'ANALYSIS_RULE_MISSING'|'ANALYSIS_TEMPLATES_NOT_CONFIGURED'|'ANALYSIS_PROVIDERS_NOT_CONFIGURED'|'DIFFERENTIAL_PRIVACY_POLICY_NOT_CONFIGURED'|'ID_MAPPING_TABLE_NOT_POPULATED'|'COLLABORATION_ANALYSIS_RULE_NOT_CONFIGURED'|'ADDITIONAL_ANALYSES_NOT_CONFIGURED'|'RESULT_RECEIVERS_NOT_CONFIGURED'|'ADDITIONAL_ANALYSES_NOT_ALLOWED'|'RESULT_RECEIVERS_NOT_ALLOWED'|'ANALYSIS_RULE_TYPES_NOT_COMPATIBLE', 'message': 'string' }, ], 'analysisRuleType': 'AGGREGATION'|'LIST'|'CUSTOM'|'ID_MAPPING_TABLE', 'configurations': [ 'DIFFERENTIAL_PRIVACY', ], 'analysisType': 'DIRECT_ANALYSIS'|'ADDITIONAL_ANALYSIS' }, ], 'schemaTypeProperties': { 'idMappingTable': { 'idMappingTableInputSource': [ { 'idNamespaceAssociationId': 'string', 'type': 'SOURCE'|'TARGET' }, ] } } } } **Response Structure** * *(dict) --* * **schema** *(dict) --* The entire schema object. * **columns** *(list) --* The columns for the relation that this schema represents. * *(dict) --* A column within a schema relation, derived from the underlying table. * **name** *(string) --* The name of the column. * **type** *(string) --* The type of the column. * **partitionKeys** *(list) --* The partition keys for the dataset underlying this schema. * *(dict) --* A column within a schema relation, derived from the underlying table. * **name** *(string) --* The name of the column. * **type** *(string) --* The type of the column. * **analysisRuleTypes** *(list) --* The analysis rule types that are associated with the schema. Currently, only one entry is present. * *(string) --* * **analysisMethod** *(string) --* The analysis method for the schema. "DIRECT_QUERY" allows SQL queries to be run directly on this table. "DIRECT_JOB" allows PySpark jobs to be run directly on this table. "MULTIPLE" allows both SQL queries and PySpark jobs to be run directly on this table. * **selectedAnalysisMethods** *(list) --* The selected analysis methods for the schema. * *(string) --* * **creatorAccountId** *(string) --* The unique account ID for the Amazon Web Services account that owns the schema. * **name** *(string) --* A name for the schema. The schema relation is referred to by this name when queried by a protected query. * **collaborationId** *(string) --* The unique ID for the collaboration that the schema belongs to. * **collaborationArn** *(string) --* The unique Amazon Resource Name (ARN) for the collaboration that the schema belongs to. * **description** *(string) --* A description for the schema. * **createTime** *(datetime) --* The time at which the schema was created. * **updateTime** *(datetime) --* The most recent time at which the schema was updated. * **type** *(string) --* The type of schema. * **schemaStatusDetails** *(list) --* Details about the status of the schema. Currently, only one entry is present. * *(dict) --* Information about the schema status. A status of "READY" means that based on the schema analysis rule, queries of the given analysis rule type are properly configured to run queries on this schema. * **status** *(string) --* The status of the schema, indicating if it is ready to query. * **reasons** *(list) --* The reasons why the schema status is set to its current state. * *(dict) --* A reason why the schema status is set to its current value. * **code** *(string) --* The schema status reason code. * **message** *(string) --* An explanation of the schema status reason code. * **analysisRuleType** *(string) --* The analysis rule type for which the schema status has been evaluated. * **configurations** *(list) --* The configuration details of the schema analysis rule for the given type. * *(string) --* * **analysisType** *(string) --* The type of analysis that can be performed on the schema. A schema can have an "analysisType" of "DIRECT_ANALYSIS", "ADDITIONAL_ANALYSIS_FOR_AUDIENCE_GENERATION", or both. * **schemaTypeProperties** *(dict) --* The schema type properties. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "idMappingTable". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **idMappingTable** *(dict) --* The ID mapping table for the schema type properties. * **idMappingTableInputSource** *(list) --* Defines which ID namespace associations are used to create the ID mapping table. * *(dict) --* The input source of the ID mapping table. * **idNamespaceAssociationId** *(string) --* The unique identifier of the ID namespace association. * **type** *(string) --* The type of the input source of the ID mapping table. **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / list_configured_tables list_configured_tables ********************** CleanRoomsService.Client.list_configured_tables(**kwargs) Lists configured tables. See also: AWS API Documentation **Request Syntax** response = client.list_configured_tables( nextToken='string', maxResults=123 ) Parameters: * **nextToken** (*string*) -- The pagination token that's used to fetch the next set of results. * **maxResults** (*integer*) -- The maximum number of results that are returned for an API request call. The service chooses a default number if you don't set one. The service might return a *nextToken* even if the *maxResults* value has not been met. Return type: dict Returns: **Response Syntax** { 'configuredTableSummaries': [ { 'id': 'string', 'arn': 'string', 'name': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'analysisRuleTypes': [ 'AGGREGATION'|'LIST'|'CUSTOM', ], 'analysisMethod': 'DIRECT_QUERY'|'DIRECT_JOB'|'MULTIPLE', 'selectedAnalysisMethods': [ 'DIRECT_QUERY'|'DIRECT_JOB', ] }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **configuredTableSummaries** *(list) --* The configured tables listed by the request. * *(dict) --* The member of the configured table summary list. * **id** *(string) --* The unique ID of the configured table. * **arn** *(string) --* The unique ARN of the configured table. * **name** *(string) --* The name of the configured table. * **createTime** *(datetime) --* The time the configured table was created. * **updateTime** *(datetime) --* The time the configured table was last updated. * **analysisRuleTypes** *(list) --* The types of analysis rules associated with this configured table. * *(string) --* * **analysisMethod** *(string) --* The analysis method for the configured tables. "DIRECT_QUERY" allows SQL queries to be run directly on this table. "DIRECT_JOB" allows PySpark jobs to be run directly on this table. "MULTIPLE" allows both SQL queries and PySpark jobs to be run directly on this table. * **selectedAnalysisMethods** *(list) --* The selected analysis methods for the configured table summary. * *(string) --* * **nextToken** *(string) --* The pagination token that's used to fetch the next set of results. **Exceptions** * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / update_configured_table_analysis_rule update_configured_table_analysis_rule ************************************* CleanRoomsService.Client.update_configured_table_analysis_rule(**kwargs) Updates a configured table analysis rule. See also: AWS API Documentation **Request Syntax** response = client.update_configured_table_analysis_rule( configuredTableIdentifier='string', analysisRuleType='AGGREGATION'|'LIST'|'CUSTOM', analysisRulePolicy={ 'v1': { 'list': { 'joinColumns': [ 'string', ], 'allowedJoinOperators': [ 'OR'|'AND', ], 'listColumns': [ 'string', ], 'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED' }, 'aggregation': { 'aggregateColumns': [ { 'columnNames': [ 'string', ], 'function': 'SUM'|'SUM_DISTINCT'|'COUNT'|'COUNT_DISTINCT'|'AVG' }, ], 'joinColumns': [ 'string', ], 'joinRequired': 'QUERY_RUNNER', 'allowedJoinOperators': [ 'OR'|'AND', ], 'dimensionColumns': [ 'string', ], 'scalarFunctions': [ 'ABS'|'CAST'|'CEILING'|'COALESCE'|'CONVERT'|'CURRENT_DATE'|'DATEADD'|'EXTRACT'|'FLOOR'|'GETDATE'|'LN'|'LOG'|'LOWER'|'ROUND'|'RTRIM'|'SQRT'|'SUBSTRING'|'TO_CHAR'|'TO_DATE'|'TO_NUMBER'|'TO_TIMESTAMP'|'TRIM'|'TRUNC'|'UPPER', ], 'outputConstraints': [ { 'columnName': 'string', 'minimum': 123, 'type': 'COUNT_DISTINCT' }, ], 'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED' }, 'custom': { 'allowedAnalyses': [ 'string', ], 'allowedAnalysisProviders': [ 'string', ], 'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED', 'disallowedOutputColumns': [ 'string', ], 'differentialPrivacy': { 'columns': [ { 'name': 'string' }, ] } } } } ) Parameters: * **configuredTableIdentifier** (*string*) -- **[REQUIRED]** The unique identifier for the configured table that the analysis rule applies to. Currently accepts the configured table ID. * **analysisRuleType** (*string*) -- **[REQUIRED]** The analysis rule type to be updated. Configured table analysis rules are uniquely identified by their configured table identifier and analysis rule type. * **analysisRulePolicy** (*dict*) -- **[REQUIRED]** The new analysis rule policy for the configured table analysis rule. Note: This is a Tagged Union structure. Only one of the following top level keys can be set: "v1". * **v1** *(dict) --* Controls on the query specifications that can be run on a configured table. Note: This is a Tagged Union structure. Only one of the following top level keys can be set: "list", "aggregation", "custom". * **list** *(dict) --* Analysis rule type that enables only list queries on a configured table. * **joinColumns** *(list) --* **[REQUIRED]** Columns that can be used to join a configured table with the table of the member who can query and other members' configured tables. * *(string) --* * **allowedJoinOperators** *(list) --* The logical operators (if any) that are to be used in an INNER JOIN match condition. Default is "AND". * *(string) --* * **listColumns** *(list) --* **[REQUIRED]** Columns that can be listed in the output. * *(string) --* * **additionalAnalyses** *(string) --* An indicator as to whether additional analyses (such as Clean Rooms ML) can be applied to the output of the direct query. * **aggregation** *(dict) --* Analysis rule type that enables only aggregation queries on a configured table. * **aggregateColumns** *(list) --* **[REQUIRED]** The columns that query runners are allowed to use in aggregation queries. * *(dict) --* Column in configured table that can be used in aggregate function in query. * **columnNames** *(list) --* **[REQUIRED]** Column names in configured table of aggregate columns. * *(string) --* * **function** *(string) --* **[REQUIRED]** Aggregation function that can be applied to aggregate column in query. * **joinColumns** *(list) --* **[REQUIRED]** Columns in configured table that can be used in join statements and/or as aggregate columns. They can never be outputted directly. * *(string) --* * **joinRequired** *(string) --* Control that requires member who runs query to do a join with their configured table and/or other configured table in query. * **allowedJoinOperators** *(list) --* Which logical operators (if any) are to be used in an INNER JOIN match condition. Default is "AND". * *(string) --* * **dimensionColumns** *(list) --* **[REQUIRED]** The columns that query runners are allowed to select, group by, or filter by. * *(string) --* * **scalarFunctions** *(list) --* **[REQUIRED]** Set of scalar functions that are allowed to be used on dimension columns and the output of aggregation of metrics. * *(string) --* * **outputConstraints** *(list) --* **[REQUIRED]** Columns that must meet a specific threshold value (after an aggregation function is applied to it) for each output row to be returned. * *(dict) --* Constraint on query output removing output rows that do not meet a minimum number of distinct values of a specified column. * **columnName** *(string) --* **[REQUIRED]** Column in aggregation constraint for which there must be a minimum number of distinct values in an output row for it to be in the query output. * **minimum** *(integer) --* **[REQUIRED]** The minimum number of distinct values that an output row must be an aggregation of. Minimum threshold of distinct values for a specified column that must exist in an output row for it to be in the query output. * **type** *(string) --* **[REQUIRED]** The type of aggregation the constraint allows. The only valid value is currently *COUNT_DISTINCT*. * **additionalAnalyses** *(string) --* An indicator as to whether additional analyses (such as Clean Rooms ML) can be applied to the output of the direct query. The "additionalAnalyses" parameter is currently supported for the list analysis rule ( "AnalysisRuleList") and the custom analysis rule ( "AnalysisRuleCustom"). * **custom** *(dict) --* A type of analysis rule that enables the table owner to approve custom SQL queries on their configured tables. It supports differential privacy. * **allowedAnalyses** *(list) --* **[REQUIRED]** The ARN of the analysis templates that are allowed by the custom analysis rule. * *(string) --* * **allowedAnalysisProviders** *(list) --* The IDs of the Amazon Web Services accounts that are allowed to query by the custom analysis rule. Required when "allowedAnalyses" is "ANY_QUERY". * *(string) --* * **additionalAnalyses** *(string) --* An indicator as to whether additional analyses (such as Clean Rooms ML) can be applied to the output of the direct query. * **disallowedOutputColumns** *(list) --* A list of columns that aren't allowed to be shown in the query output. * *(string) --* * **differentialPrivacy** *(dict) --* The differential privacy configuration. * **columns** *(list) --* **[REQUIRED]** The name of the column (such as user_id) that contains the unique identifier of your users whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules. * *(dict) --* Specifies the name of the column that contains the unique identifier of your users, whose privacy you want to protect. * **name** *(string) --* **[REQUIRED]** The name of the column, such as user_id, that contains the unique identifier of your users, whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules. Return type: dict Returns: **Response Syntax** { 'analysisRule': { 'configuredTableId': 'string', 'configuredTableArn': 'string', 'policy': { 'v1': { 'list': { 'joinColumns': [ 'string', ], 'allowedJoinOperators': [ 'OR'|'AND', ], 'listColumns': [ 'string', ], 'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED' }, 'aggregation': { 'aggregateColumns': [ { 'columnNames': [ 'string', ], 'function': 'SUM'|'SUM_DISTINCT'|'COUNT'|'COUNT_DISTINCT'|'AVG' }, ], 'joinColumns': [ 'string', ], 'joinRequired': 'QUERY_RUNNER', 'allowedJoinOperators': [ 'OR'|'AND', ], 'dimensionColumns': [ 'string', ], 'scalarFunctions': [ 'ABS'|'CAST'|'CEILING'|'COALESCE'|'CONVERT'|'CURRENT_DATE'|'DATEADD'|'EXTRACT'|'FLOOR'|'GETDATE'|'LN'|'LOG'|'LOWER'|'ROUND'|'RTRIM'|'SQRT'|'SUBSTRING'|'TO_CHAR'|'TO_DATE'|'TO_NUMBER'|'TO_TIMESTAMP'|'TRIM'|'TRUNC'|'UPPER', ], 'outputConstraints': [ { 'columnName': 'string', 'minimum': 123, 'type': 'COUNT_DISTINCT' }, ], 'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED' }, 'custom': { 'allowedAnalyses': [ 'string', ], 'allowedAnalysisProviders': [ 'string', ], 'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED', 'disallowedOutputColumns': [ 'string', ], 'differentialPrivacy': { 'columns': [ { 'name': 'string' }, ] } } } }, 'type': 'AGGREGATION'|'LIST'|'CUSTOM', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1) } } **Response Structure** * *(dict) --* * **analysisRule** *(dict) --* The entire updated analysis rule. * **configuredTableId** *(string) --* The unique ID for the configured table. * **configuredTableArn** *(string) --* The unique ARN for the configured table. * **policy** *(dict) --* The policy that controls SQL query rules. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "v1". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **v1** *(dict) --* Controls on the query specifications that can be run on a configured table. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "list", "aggregation", "custom". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **list** *(dict) --* Analysis rule type that enables only list queries on a configured table. * **joinColumns** *(list) --* Columns that can be used to join a configured table with the table of the member who can query and other members' configured tables. * *(string) --* * **allowedJoinOperators** *(list) --* The logical operators (if any) that are to be used in an INNER JOIN match condition. Default is "AND". * *(string) --* * **listColumns** *(list) --* Columns that can be listed in the output. * *(string) --* * **additionalAnalyses** *(string) --* An indicator as to whether additional analyses (such as Clean Rooms ML) can be applied to the output of the direct query. * **aggregation** *(dict) --* Analysis rule type that enables only aggregation queries on a configured table. * **aggregateColumns** *(list) --* The columns that query runners are allowed to use in aggregation queries. * *(dict) --* Column in configured table that can be used in aggregate function in query. * **columnNames** *(list) --* Column names in configured table of aggregate columns. * *(string) --* * **function** *(string) --* Aggregation function that can be applied to aggregate column in query. * **joinColumns** *(list) --* Columns in configured table that can be used in join statements and/or as aggregate columns. They can never be outputted directly. * *(string) --* * **joinRequired** *(string) --* Control that requires member who runs query to do a join with their configured table and/or other configured table in query. * **allowedJoinOperators** *(list) --* Which logical operators (if any) are to be used in an INNER JOIN match condition. Default is "AND". * *(string) --* * **dimensionColumns** *(list) --* The columns that query runners are allowed to select, group by, or filter by. * *(string) --* * **scalarFunctions** *(list) --* Set of scalar functions that are allowed to be used on dimension columns and the output of aggregation of metrics. * *(string) --* * **outputConstraints** *(list) --* Columns that must meet a specific threshold value (after an aggregation function is applied to it) for each output row to be returned. * *(dict) --* Constraint on query output removing output rows that do not meet a minimum number of distinct values of a specified column. * **columnName** *(string) --* Column in aggregation constraint for which there must be a minimum number of distinct values in an output row for it to be in the query output. * **minimum** *(integer) --* The minimum number of distinct values that an output row must be an aggregation of. Minimum threshold of distinct values for a specified column that must exist in an output row for it to be in the query output. * **type** *(string) --* The type of aggregation the constraint allows. The only valid value is currently *COUNT_DISTINCT*. * **additionalAnalyses** *(string) --* An indicator as to whether additional analyses (such as Clean Rooms ML) can be applied to the output of the direct query. The "additionalAnalyses" parameter is currently supported for the list analysis rule ( "AnalysisRuleList") and the custom analysis rule ( "AnalysisRuleCustom"). * **custom** *(dict) --* A type of analysis rule that enables the table owner to approve custom SQL queries on their configured tables. It supports differential privacy. * **allowedAnalyses** *(list) --* The ARN of the analysis templates that are allowed by the custom analysis rule. * *(string) --* * **allowedAnalysisProviders** *(list) --* The IDs of the Amazon Web Services accounts that are allowed to query by the custom analysis rule. Required when "allowedAnalyses" is "ANY_QUERY". * *(string) --* * **additionalAnalyses** *(string) --* An indicator as to whether additional analyses (such as Clean Rooms ML) can be applied to the output of the direct query. * **disallowedOutputColumns** *(list) --* A list of columns that aren't allowed to be shown in the query output. * *(string) --* * **differentialPrivacy** *(dict) --* The differential privacy configuration. * **columns** *(list) --* The name of the column (such as user_id) that contains the unique identifier of your users whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules. * *(dict) --* Specifies the name of the column that contains the unique identifier of your users, whose privacy you want to protect. * **name** *(string) --* The name of the column, such as user_id, that contains the unique identifier of your users, whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules. * **type** *(string) --* The type of configured table analysis rule. * **createTime** *(datetime) --* The time the configured table analysis rule was created. * **updateTime** *(datetime) --* The time the configured table analysis rule was last updated. **Exceptions** * "CleanRoomsService.Client.exceptions.ConflictException" * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / get_id_mapping_table get_id_mapping_table ******************** CleanRoomsService.Client.get_id_mapping_table(**kwargs) Retrieves an ID mapping table. See also: AWS API Documentation **Request Syntax** response = client.get_id_mapping_table( idMappingTableIdentifier='string', membershipIdentifier='string' ) Parameters: * **idMappingTableIdentifier** (*string*) -- **[REQUIRED]** The unique identifier of the ID mapping table identifier that you want to retrieve. * **membershipIdentifier** (*string*) -- **[REQUIRED]** The unique identifier of the membership that contains the ID mapping table that you want to retrieve. Return type: dict Returns: **Response Syntax** { 'idMappingTable': { 'id': 'string', 'arn': 'string', 'inputReferenceConfig': { 'inputReferenceArn': 'string', 'manageResourcePolicies': True|False }, 'membershipId': 'string', 'membershipArn': 'string', 'collaborationId': 'string', 'collaborationArn': 'string', 'description': 'string', 'name': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'inputReferenceProperties': { 'idMappingTableInputSource': [ { 'idNamespaceAssociationId': 'string', 'type': 'SOURCE'|'TARGET' }, ] }, 'kmsKeyArn': 'string' } } **Response Structure** * *(dict) --* * **idMappingTable** *(dict) --* The ID mapping table that you requested. * **id** *(string) --* The unique identifier of the ID mapping table. * **arn** *(string) --* The Amazon Resource Name (ARN) of the ID mapping table. * **inputReferenceConfig** *(dict) --* The input reference configuration for the ID mapping table. * **inputReferenceArn** *(string) --* The Amazon Resource Name (ARN) of the referenced resource in Entity Resolution. Valid values are ID mapping workflow ARNs. * **manageResourcePolicies** *(boolean) --* When "TRUE", Clean Rooms manages permissions for the ID mapping table resource. When "FALSE", the resource owner manages permissions for the ID mapping table resource. * **membershipId** *(string) --* The unique identifier of the membership resource for the ID mapping table. * **membershipArn** *(string) --* The Amazon Resource Name (ARN) of the membership resource for the ID mapping table. * **collaborationId** *(string) --* The unique identifier of the collaboration that contains this ID mapping table. * **collaborationArn** *(string) --* The Amazon Resource Name (ARN) of the collaboration that contains this ID mapping table. * **description** *(string) --* The description of the ID mapping table. * **name** *(string) --* The name of the ID mapping table. * **createTime** *(datetime) --* The time at which the ID mapping table was created. * **updateTime** *(datetime) --* The most recent time at which the ID mapping table was updated. * **inputReferenceProperties** *(dict) --* The input reference properties for the ID mapping table. * **idMappingTableInputSource** *(list) --* The input source of the ID mapping table. * *(dict) --* The input source of the ID mapping table. * **idNamespaceAssociationId** *(string) --* The unique identifier of the ID namespace association. * **type** *(string) --* The type of the input source of the ID mapping table. * **kmsKeyArn** *(string) --* The Amazon Resource Name (ARN) of the Amazon Web Services KMS key. **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / delete_member delete_member ************* CleanRoomsService.Client.delete_member(**kwargs) Removes the specified member from a collaboration. The removed member is placed in the Removed status and can't interact with the collaboration. The removed member's data is inaccessible to active members of the collaboration. See also: AWS API Documentation **Request Syntax** response = client.delete_member( collaborationIdentifier='string', accountId='string' ) Parameters: * **collaborationIdentifier** (*string*) -- **[REQUIRED]** The unique identifier for the associated collaboration. * **accountId** (*string*) -- **[REQUIRED]** The account ID of the member to remove. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "CleanRoomsService.Client.exceptions.ConflictException" * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / update_privacy_budget_template update_privacy_budget_template ****************************** CleanRoomsService.Client.update_privacy_budget_template(**kwargs) Updates the privacy budget template for the specified collaboration. See also: AWS API Documentation **Request Syntax** response = client.update_privacy_budget_template( membershipIdentifier='string', privacyBudgetTemplateIdentifier='string', privacyBudgetType='DIFFERENTIAL_PRIVACY', parameters={ 'differentialPrivacy': { 'epsilon': 123, 'usersNoisePerQuery': 123 } } ) Parameters: * **membershipIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for one of your memberships for a collaboration. The privacy budget template is updated in the collaboration that this membership belongs to. Accepts a membership ID. * **privacyBudgetTemplateIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for your privacy budget template that you want to update. * **privacyBudgetType** (*string*) -- **[REQUIRED]** Specifies the type of the privacy budget template. * **parameters** (*dict*) -- Specifies the epsilon and noise parameters for the privacy budget template. Note: This is a Tagged Union structure. Only one of the following top level keys can be set: "differentialPrivacy". * **differentialPrivacy** *(dict) --* An object that specifies the new values for the epsilon and noise parameters. * **epsilon** *(integer) --* The updated epsilon value that you want to use. * **usersNoisePerQuery** *(integer) --* The updated value of noise added per query. It is measured in terms of the number of users whose contributions you want to obscure. This value governs the rate at which the privacy budget is depleted. Return type: dict Returns: **Response Syntax** { 'privacyBudgetTemplate': { 'id': 'string', 'arn': 'string', 'membershipId': 'string', 'membershipArn': 'string', 'collaborationId': 'string', 'collaborationArn': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'privacyBudgetType': 'DIFFERENTIAL_PRIVACY', 'autoRefresh': 'CALENDAR_MONTH'|'NONE', 'parameters': { 'differentialPrivacy': { 'epsilon': 123, 'usersNoisePerQuery': 123 } } } } **Response Structure** * *(dict) --* * **privacyBudgetTemplate** *(dict) --* Summary of the privacy budget template. * **id** *(string) --* The unique identifier of the privacy budget template. * **arn** *(string) --* The ARN of the privacy budget template. * **membershipId** *(string) --* The identifier for a membership resource. * **membershipArn** *(string) --* The Amazon Resource Name (ARN) of the member who created the privacy budget template. * **collaborationId** *(string) --* The unique ID of the collaboration that contains this privacy budget template. * **collaborationArn** *(string) --* The ARN of the collaboration that contains this privacy budget template. * **createTime** *(datetime) --* The time at which the privacy budget template was created. * **updateTime** *(datetime) --* The most recent time at which the privacy budget template was updated. * **privacyBudgetType** *(string) --* Specifies the type of the privacy budget template. * **autoRefresh** *(string) --* How often the privacy budget refreshes. Warning: If you plan to regularly bring new data into the collaboration, use "CALENDAR_MONTH" to automatically get a new privacy budget for the collaboration every calendar month. Choosing this option allows arbitrary amounts of information to be revealed about rows of the data when repeatedly queried across refreshes. Avoid choosing this if the same rows will be repeatedly queried between privacy budget refreshes. * **parameters** *(dict) --* Specifies the epsilon and noise parameters for the privacy budget template. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "differentialPrivacy". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **differentialPrivacy** *(dict) --* The epsilon and noise parameters. * **epsilon** *(integer) --* The epsilon value that you specified. * **usersNoisePerQuery** *(integer) --* Noise added per query is measured in terms of the number of users whose contributions you want to obscure. This value governs the rate at which the privacy budget is depleted. **Exceptions** * "CleanRoomsService.Client.exceptions.ConflictException" * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / create_configured_table_association_analysis_rule create_configured_table_association_analysis_rule ************************************************* CleanRoomsService.Client.create_configured_table_association_analysis_rule(**kwargs) Creates a new analysis rule for an associated configured table. See also: AWS API Documentation **Request Syntax** response = client.create_configured_table_association_analysis_rule( membershipIdentifier='string', configuredTableAssociationIdentifier='string', analysisRuleType='AGGREGATION'|'LIST'|'CUSTOM', analysisRulePolicy={ 'v1': { 'list': { 'allowedResultReceivers': [ 'string', ], 'allowedAdditionalAnalyses': [ 'string', ] }, 'aggregation': { 'allowedResultReceivers': [ 'string', ], 'allowedAdditionalAnalyses': [ 'string', ] }, 'custom': { 'allowedResultReceivers': [ 'string', ], 'allowedAdditionalAnalyses': [ 'string', ] } } } ) Parameters: * **membershipIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for the membership that the configured table association belongs to. Currently accepts the membership ID. * **configuredTableAssociationIdentifier** (*string*) -- **[REQUIRED]** The unique ID for the configured table association. Currently accepts the configured table association ID. * **analysisRuleType** (*string*) -- **[REQUIRED]** The type of analysis rule. * **analysisRulePolicy** (*dict*) -- **[REQUIRED]** The analysis rule policy that was created for the configured table association. Note: This is a Tagged Union structure. Only one of the following top level keys can be set: "v1". * **v1** *(dict) --* The policy for the configured table association analysis rule. Note: This is a Tagged Union structure. Only one of the following top level keys can be set: "list", "aggregation", "custom". * **list** *(dict) --* Analysis rule type that enables only list queries on a configured table. * **allowedResultReceivers** *(list) --* The list of collaboration members who are allowed to receive results of queries run with this configured table. * *(string) --* * **allowedAdditionalAnalyses** *(list) --* The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output. * *(string) --* * **aggregation** *(dict) --* Analysis rule type that enables only aggregation queries on a configured table. * **allowedResultReceivers** *(list) --* The list of collaboration members who are allowed to receive results of queries run with this configured table. * *(string) --* * **allowedAdditionalAnalyses** *(list) --* The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output. The "allowedAdditionalAnalyses" parameter is currently supported for the list analysis rule ( "AnalysisRuleList") and the custom analysis rule ( "AnalysisRuleCustom"). * *(string) --* * **custom** *(dict) --* Analysis rule type that enables the table owner to approve custom SQL queries on their configured tables. It supports differential privacy. * **allowedResultReceivers** *(list) --* The list of collaboration members who are allowed to receive results of queries run with this configured table. * *(string) --* * **allowedAdditionalAnalyses** *(list) --* The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output. * *(string) --* Return type: dict Returns: **Response Syntax** { 'analysisRule': { 'membershipIdentifier': 'string', 'configuredTableAssociationId': 'string', 'configuredTableAssociationArn': 'string', 'policy': { 'v1': { 'list': { 'allowedResultReceivers': [ 'string', ], 'allowedAdditionalAnalyses': [ 'string', ] }, 'aggregation': { 'allowedResultReceivers': [ 'string', ], 'allowedAdditionalAnalyses': [ 'string', ] }, 'custom': { 'allowedResultReceivers': [ 'string', ], 'allowedAdditionalAnalyses': [ 'string', ] } } }, 'type': 'AGGREGATION'|'LIST'|'CUSTOM', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1) } } **Response Structure** * *(dict) --* * **analysisRule** *(dict) --* The analysis rule for the configured table association. In the console, the "ConfiguredTableAssociationAnalysisRule" is referred to as the *collaboration analysis rule*. * **membershipIdentifier** *(string) --* The membership identifier for the configured table association analysis rule. * **configuredTableAssociationId** *(string) --* The unique identifier for the configured table association. * **configuredTableAssociationArn** *(string) --* The Amazon Resource Name (ARN) of the configured table association. * **policy** *(dict) --* The policy of the configured table association analysis rule. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "v1". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **v1** *(dict) --* The policy for the configured table association analysis rule. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "list", "aggregation", "custom". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **list** *(dict) --* Analysis rule type that enables only list queries on a configured table. * **allowedResultReceivers** *(list) --* The list of collaboration members who are allowed to receive results of queries run with this configured table. * *(string) --* * **allowedAdditionalAnalyses** *(list) --* The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output. * *(string) --* * **aggregation** *(dict) --* Analysis rule type that enables only aggregation queries on a configured table. * **allowedResultReceivers** *(list) --* The list of collaboration members who are allowed to receive results of queries run with this configured table. * *(string) --* * **allowedAdditionalAnalyses** *(list) --* The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output. The "allowedAdditionalAnalyses" parameter is currently supported for the list analysis rule ( "AnalysisRuleList") and the custom analysis rule ( "AnalysisRuleCustom"). * *(string) --* * **custom** *(dict) --* Analysis rule type that enables the table owner to approve custom SQL queries on their configured tables. It supports differential privacy. * **allowedResultReceivers** *(list) --* The list of collaboration members who are allowed to receive results of queries run with this configured table. * *(string) --* * **allowedAdditionalAnalyses** *(list) --* The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output. * *(string) --* * **type** *(string) --* The type of the configured table association analysis rule. * **createTime** *(datetime) --* The creation time of the configured table association analysis rule. * **updateTime** *(datetime) --* The update time of the configured table association analysis rule. **Exceptions** * "CleanRoomsService.Client.exceptions.ConflictException" * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / preview_privacy_impact preview_privacy_impact ********************** CleanRoomsService.Client.preview_privacy_impact(**kwargs) An estimate of the number of aggregation functions that the member who can query can run given epsilon and noise parameters. See also: AWS API Documentation **Request Syntax** response = client.preview_privacy_impact( membershipIdentifier='string', parameters={ 'differentialPrivacy': { 'epsilon': 123, 'usersNoisePerQuery': 123 } } ) Parameters: * **membershipIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for one of your memberships for a collaboration. Accepts a membership ID. * **parameters** (*dict*) -- **[REQUIRED]** Specifies the desired epsilon and noise parameters to preview. Note: This is a Tagged Union structure. Only one of the following top level keys can be set: "differentialPrivacy". * **differentialPrivacy** *(dict) --* An array that specifies the epsilon and noise parameters. * **epsilon** *(integer) --* **[REQUIRED]** The epsilon value that you want to preview. * **usersNoisePerQuery** *(integer) --* **[REQUIRED]** Noise added per query is measured in terms of the number of users whose contributions you want to obscure. This value governs the rate at which the privacy budget is depleted. Return type: dict Returns: **Response Syntax** { 'privacyImpact': { 'differentialPrivacy': { 'aggregations': [ { 'type': 'AVG'|'COUNT'|'COUNT_DISTINCT'|'SUM'|'STDDEV', 'maxCount': 123 }, ] } } } **Response Structure** * *(dict) --* * **privacyImpact** *(dict) --* An estimate of the number of aggregation functions that the member who can query can run given the epsilon and noise parameters. This does not change the privacy budget. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "differentialPrivacy". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **differentialPrivacy** *(dict) --* An object that lists the number and type of aggregation functions you can perform. * **aggregations** *(list) --* The number of aggregation functions that you can perform. * *(dict) --* Provides an estimate of the number of aggregation functions that the member who can query can run given the epsilon and noise parameters. * **type** *(string) --* The type of aggregation function. * **maxCount** *(integer) --* The maximum number of aggregations that the member who can query can run given the epsilon and noise parameters. **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / list_collaboration_analysis_templates list_collaboration_analysis_templates ************************************* CleanRoomsService.Client.list_collaboration_analysis_templates(**kwargs) Lists analysis templates within a collaboration. See also: AWS API Documentation **Request Syntax** response = client.list_collaboration_analysis_templates( collaborationIdentifier='string', nextToken='string', maxResults=123 ) Parameters: * **collaborationIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for the collaboration that the analysis templates belong to. Currently accepts collaboration ID. * **nextToken** (*string*) -- The pagination token that's used to fetch the next set of results. * **maxResults** (*integer*) -- The maximum number of results that are returned for an API request call. The service chooses a default number if you don't set one. The service might return a *nextToken* even if the *maxResults* value has not been met. Return type: dict Returns: **Response Syntax** { 'nextToken': 'string', 'collaborationAnalysisTemplateSummaries': [ { 'arn': 'string', 'createTime': datetime(2015, 1, 1), 'id': 'string', 'name': 'string', 'updateTime': datetime(2015, 1, 1), 'collaborationArn': 'string', 'collaborationId': 'string', 'creatorAccountId': 'string', 'description': 'string' }, ] } **Response Structure** * *(dict) --* * **nextToken** *(string) --* The pagination token that's used to fetch the next set of results. * **collaborationAnalysisTemplateSummaries** *(list) --* The metadata of the analysis template within a collaboration. * *(dict) --* The metadata of the analysis template within a collaboration. * **arn** *(string) --* The Amazon Resource Name (ARN) of the analysis template. * **createTime** *(datetime) --* The time that the summary of the analysis template in a collaboration was created. * **id** *(string) --* The identifier of the analysis template. * **name** *(string) --* The name of the analysis template. * **updateTime** *(datetime) --* The time that the summary of the analysis template in the collaboration was last updated. * **collaborationArn** *(string) --* The unique ARN for the analysis template’s associated collaboration. * **collaborationId** *(string) --* A unique identifier for the collaboration that the analysis templates belong to. Currently accepts collaboration ID. * **creatorAccountId** *(string) --* The identifier used to reference members of the collaboration. Currently only supports Amazon Web Services account ID. * **description** *(string) --* The description of the analysis template. **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / list_analysis_templates list_analysis_templates *********************** CleanRoomsService.Client.list_analysis_templates(**kwargs) Lists analysis templates that the caller owns. See also: AWS API Documentation **Request Syntax** response = client.list_analysis_templates( membershipIdentifier='string', nextToken='string', maxResults=123 ) Parameters: * **membershipIdentifier** (*string*) -- **[REQUIRED]** The identifier for a membership resource. * **nextToken** (*string*) -- The pagination token that's used to fetch the next set of results. * **maxResults** (*integer*) -- The maximum number of results that are returned for an API request call. The service chooses a default number if you don't set one. The service might return a *nextToken* even if the *maxResults* value has not been met. Return type: dict Returns: **Response Syntax** { 'nextToken': 'string', 'analysisTemplateSummaries': [ { 'arn': 'string', 'createTime': datetime(2015, 1, 1), 'id': 'string', 'name': 'string', 'updateTime': datetime(2015, 1, 1), 'membershipArn': 'string', 'membershipId': 'string', 'collaborationArn': 'string', 'collaborationId': 'string', 'description': 'string' }, ] } **Response Structure** * *(dict) --* * **nextToken** *(string) --* The pagination token that's used to fetch the next set of results. * **analysisTemplateSummaries** *(list) --* Lists analysis template metadata. * *(dict) --* The metadata of the analysis template. * **arn** *(string) --* The Amazon Resource Name (ARN) of the analysis template. * **createTime** *(datetime) --* The time that the analysis template summary was created. * **id** *(string) --* The identifier of the analysis template. * **name** *(string) --* The name of the analysis template. * **updateTime** *(datetime) --* The time that the analysis template summary was last updated. * **membershipArn** *(string) --* The Amazon Resource Name (ARN) of the member who created the analysis template. * **membershipId** *(string) --* The identifier for a membership resource. * **collaborationArn** *(string) --* The unique ARN for the analysis template summary’s associated collaboration. * **collaborationId** *(string) --* A unique identifier for the collaboration that the analysis template summary belongs to. Currently accepts collaboration ID. * **description** *(string) --* The description of the analysis template. **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / create_id_mapping_table create_id_mapping_table *********************** CleanRoomsService.Client.create_id_mapping_table(**kwargs) Creates an ID mapping table. See also: AWS API Documentation **Request Syntax** response = client.create_id_mapping_table( membershipIdentifier='string', name='string', description='string', inputReferenceConfig={ 'inputReferenceArn': 'string', 'manageResourcePolicies': True|False }, tags={ 'string': 'string' }, kmsKeyArn='string' ) Parameters: * **membershipIdentifier** (*string*) -- **[REQUIRED]** The unique identifier of the membership that contains the ID mapping table. * **name** (*string*) -- **[REQUIRED]** A name for the ID mapping table. * **description** (*string*) -- A description of the ID mapping table. * **inputReferenceConfig** (*dict*) -- **[REQUIRED]** The input reference configuration needed to create the ID mapping table. * **inputReferenceArn** *(string) --* **[REQUIRED]** The Amazon Resource Name (ARN) of the referenced resource in Entity Resolution. Valid values are ID mapping workflow ARNs. * **manageResourcePolicies** *(boolean) --* **[REQUIRED]** When "TRUE", Clean Rooms manages permissions for the ID mapping table resource. When "FALSE", the resource owner manages permissions for the ID mapping table resource. * **tags** (*dict*) -- An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource. * *(string) --* * *(string) --* * **kmsKeyArn** (*string*) -- The Amazon Resource Name (ARN) of the Amazon Web Services KMS key. This value is used to encrypt the mapping table data that is stored by Clean Rooms. Return type: dict Returns: **Response Syntax** { 'idMappingTable': { 'id': 'string', 'arn': 'string', 'inputReferenceConfig': { 'inputReferenceArn': 'string', 'manageResourcePolicies': True|False }, 'membershipId': 'string', 'membershipArn': 'string', 'collaborationId': 'string', 'collaborationArn': 'string', 'description': 'string', 'name': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'inputReferenceProperties': { 'idMappingTableInputSource': [ { 'idNamespaceAssociationId': 'string', 'type': 'SOURCE'|'TARGET' }, ] }, 'kmsKeyArn': 'string' } } **Response Structure** * *(dict) --* * **idMappingTable** *(dict) --* The ID mapping table that was created. * **id** *(string) --* The unique identifier of the ID mapping table. * **arn** *(string) --* The Amazon Resource Name (ARN) of the ID mapping table. * **inputReferenceConfig** *(dict) --* The input reference configuration for the ID mapping table. * **inputReferenceArn** *(string) --* The Amazon Resource Name (ARN) of the referenced resource in Entity Resolution. Valid values are ID mapping workflow ARNs. * **manageResourcePolicies** *(boolean) --* When "TRUE", Clean Rooms manages permissions for the ID mapping table resource. When "FALSE", the resource owner manages permissions for the ID mapping table resource. * **membershipId** *(string) --* The unique identifier of the membership resource for the ID mapping table. * **membershipArn** *(string) --* The Amazon Resource Name (ARN) of the membership resource for the ID mapping table. * **collaborationId** *(string) --* The unique identifier of the collaboration that contains this ID mapping table. * **collaborationArn** *(string) --* The Amazon Resource Name (ARN) of the collaboration that contains this ID mapping table. * **description** *(string) --* The description of the ID mapping table. * **name** *(string) --* The name of the ID mapping table. * **createTime** *(datetime) --* The time at which the ID mapping table was created. * **updateTime** *(datetime) --* The most recent time at which the ID mapping table was updated. * **inputReferenceProperties** *(dict) --* The input reference properties for the ID mapping table. * **idMappingTableInputSource** *(list) --* The input source of the ID mapping table. * *(dict) --* The input source of the ID mapping table. * **idNamespaceAssociationId** *(string) --* The unique identifier of the ID namespace association. * **type** *(string) --* The type of the input source of the ID mapping table. * **kmsKeyArn** *(string) --* The Amazon Resource Name (ARN) of the Amazon Web Services KMS key. **Exceptions** * "CleanRoomsService.Client.exceptions.ConflictException" * "CleanRoomsService.Client.exceptions.ServiceQuotaExceededExcepti on" * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / update_id_mapping_table update_id_mapping_table *********************** CleanRoomsService.Client.update_id_mapping_table(**kwargs) Provides the details that are necessary to update an ID mapping table. See also: AWS API Documentation **Request Syntax** response = client.update_id_mapping_table( idMappingTableIdentifier='string', membershipIdentifier='string', description='string', kmsKeyArn='string' ) Parameters: * **idMappingTableIdentifier** (*string*) -- **[REQUIRED]** The unique identifier of the ID mapping table that you want to update. * **membershipIdentifier** (*string*) -- **[REQUIRED]** The unique identifier of the membership that contains the ID mapping table that you want to update. * **description** (*string*) -- A new description for the ID mapping table. * **kmsKeyArn** (*string*) -- The Amazon Resource Name (ARN) of the Amazon Web Services KMS key. Return type: dict Returns: **Response Syntax** { 'idMappingTable': { 'id': 'string', 'arn': 'string', 'inputReferenceConfig': { 'inputReferenceArn': 'string', 'manageResourcePolicies': True|False }, 'membershipId': 'string', 'membershipArn': 'string', 'collaborationId': 'string', 'collaborationArn': 'string', 'description': 'string', 'name': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'inputReferenceProperties': { 'idMappingTableInputSource': [ { 'idNamespaceAssociationId': 'string', 'type': 'SOURCE'|'TARGET' }, ] }, 'kmsKeyArn': 'string' } } **Response Structure** * *(dict) --* * **idMappingTable** *(dict) --* The updated ID mapping table. * **id** *(string) --* The unique identifier of the ID mapping table. * **arn** *(string) --* The Amazon Resource Name (ARN) of the ID mapping table. * **inputReferenceConfig** *(dict) --* The input reference configuration for the ID mapping table. * **inputReferenceArn** *(string) --* The Amazon Resource Name (ARN) of the referenced resource in Entity Resolution. Valid values are ID mapping workflow ARNs. * **manageResourcePolicies** *(boolean) --* When "TRUE", Clean Rooms manages permissions for the ID mapping table resource. When "FALSE", the resource owner manages permissions for the ID mapping table resource. * **membershipId** *(string) --* The unique identifier of the membership resource for the ID mapping table. * **membershipArn** *(string) --* The Amazon Resource Name (ARN) of the membership resource for the ID mapping table. * **collaborationId** *(string) --* The unique identifier of the collaboration that contains this ID mapping table. * **collaborationArn** *(string) --* The Amazon Resource Name (ARN) of the collaboration that contains this ID mapping table. * **description** *(string) --* The description of the ID mapping table. * **name** *(string) --* The name of the ID mapping table. * **createTime** *(datetime) --* The time at which the ID mapping table was created. * **updateTime** *(datetime) --* The most recent time at which the ID mapping table was updated. * **inputReferenceProperties** *(dict) --* The input reference properties for the ID mapping table. * **idMappingTableInputSource** *(list) --* The input source of the ID mapping table. * *(dict) --* The input source of the ID mapping table. * **idNamespaceAssociationId** *(string) --* The unique identifier of the ID namespace association. * **type** *(string) --* The type of the input source of the ID mapping table. * **kmsKeyArn** *(string) --* The Amazon Resource Name (ARN) of the Amazon Web Services KMS key. **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / list_members list_members ************ CleanRoomsService.Client.list_members(**kwargs) Lists all members within a collaboration. See also: AWS API Documentation **Request Syntax** response = client.list_members( collaborationIdentifier='string', nextToken='string', maxResults=123 ) Parameters: * **collaborationIdentifier** (*string*) -- **[REQUIRED]** The identifier of the collaboration in which the members are listed. * **nextToken** (*string*) -- The pagination token that's used to fetch the next set of results. * **maxResults** (*integer*) -- The maximum number of results that are returned for an API request call. The service chooses a default number if you don't set one. The service might return a *nextToken* even if the *maxResults* value has not been met. Return type: dict Returns: **Response Syntax** { 'nextToken': 'string', 'memberSummaries': [ { 'accountId': 'string', 'status': 'INVITED'|'ACTIVE'|'LEFT'|'REMOVED', 'displayName': 'string', 'abilities': [ 'CAN_QUERY'|'CAN_RECEIVE_RESULTS'|'CAN_RUN_JOB', ], 'mlAbilities': { 'customMLMemberAbilities': [ 'CAN_RECEIVE_MODEL_OUTPUT'|'CAN_RECEIVE_INFERENCE_OUTPUT', ] }, 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'membershipId': 'string', 'membershipArn': 'string', 'paymentConfiguration': { 'queryCompute': { 'isResponsible': True|False }, 'machineLearning': { 'modelTraining': { 'isResponsible': True|False }, 'modelInference': { 'isResponsible': True|False } }, 'jobCompute': { 'isResponsible': True|False } } }, ] } **Response Structure** * *(dict) --* * **nextToken** *(string) --* The pagination token that's used to fetch the next set of results. * **memberSummaries** *(list) --* The list of members returned by the ListMembers operation. * *(dict) --* The member object listed by the request. * **accountId** *(string) --* The identifier used to reference members of the collaboration. Currently only supports Amazon Web Services account ID. * **status** *(string) --* The status of the member. * **displayName** *(string) --* The member's display name. * **abilities** *(list) --* The abilities granted to the collaboration member. * *(string) --* * **mlAbilities** *(dict) --* Provides a summary of the ML abilities for the collaboration member. * **customMLMemberAbilities** *(list) --* The custom ML member abilities for a collaboration member. * *(string) --* * **createTime** *(datetime) --* The time when the member was created. * **updateTime** *(datetime) --* The time the member metadata was last updated. * **membershipId** *(string) --* The unique ID for the member's associated membership, if present. * **membershipArn** *(string) --* The unique ARN for the member's associated membership, if present. * **paymentConfiguration** *(dict) --* The collaboration member's payment responsibilities set by the collaboration creator. * **queryCompute** *(dict) --* The collaboration member's payment responsibilities set by the collaboration creator for query compute costs. * **isResponsible** *(boolean) --* Indicates whether the collaboration creator has configured the collaboration member to pay for query compute costs ( "TRUE") or has not configured the collaboration member to pay for query compute costs ( "FALSE"). Exactly one member can be configured to pay for query compute costs. An error is returned if the collaboration creator sets a "TRUE" value for more than one member in the collaboration. If the collaboration creator hasn't specified anyone as the member paying for query compute costs, then the member who can query is the default payer. An error is returned if the collaboration creator sets a "FALSE" value for the member who can query. * **machineLearning** *(dict) --* An object representing the collaboration member's machine learning payment responsibilities set by the collaboration creator. * **modelTraining** *(dict) --* The payment responsibilities accepted by the member for model training. * **isResponsible** *(boolean) --* Indicates whether the collaboration creator has configured the collaboration member to pay for model training costs ( "TRUE") or has not configured the collaboration member to pay for model training costs ( "FALSE"). Exactly one member can be configured to pay for model training costs. An error is returned if the collaboration creator sets a "TRUE" value for more than one member in the collaboration. If the collaboration creator hasn't specified anyone as the member paying for model training costs, then the member who can query is the default payer. An error is returned if the collaboration creator sets a "FALSE" value for the member who can query. * **modelInference** *(dict) --* The payment responsibilities accepted by the member for model inference. * **isResponsible** *(boolean) --* Indicates whether the collaboration creator has configured the collaboration member to pay for model inference costs ( "TRUE") or has not configured the collaboration member to pay for model inference costs ( "FALSE"). Exactly one member can be configured to pay for model inference costs. An error is returned if the collaboration creator sets a "TRUE" value for more than one member in the collaboration. If the collaboration creator hasn't specified anyone as the member paying for model inference costs, then the member who can query is the default payer. An error is returned if the collaboration creator sets a "FALSE" value for the member who can query. * **jobCompute** *(dict) --* The compute configuration for the job. * **isResponsible** *(boolean) --* Indicates whether the collaboration creator has configured the collaboration member to pay for query and job compute costs ( "TRUE") or has not configured the collaboration member to pay for query and job compute costs ( "FALSE"). Exactly one member can be configured to pay for query and job compute costs. An error is returned if the collaboration creator sets a "TRUE" value for more than one member in the collaboration. An error is returned if the collaboration creator sets a "FALSE" value for the member who can run queries and jobs. **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / list_tags_for_resource list_tags_for_resource ********************** CleanRoomsService.Client.list_tags_for_resource(**kwargs) Lists all of the tags that have been added to a resource. See also: AWS API Documentation **Request Syntax** response = client.list_tags_for_resource( resourceArn='string' ) Parameters: **resourceArn** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) associated with the resource you want to list tags on. Return type: dict Returns: **Response Syntax** { 'tags': { 'string': 'string' } } **Response Structure** * *(dict) --* * **tags** *(dict) --* A map of objects specifying each key name and value. * *(string) --* * *(string) --* **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.ValidationException" CleanRoomsService / Client / populate_id_mapping_table populate_id_mapping_table ************************* CleanRoomsService.Client.populate_id_mapping_table(**kwargs) Defines the information that's necessary to populate an ID mapping table. See also: AWS API Documentation **Request Syntax** response = client.populate_id_mapping_table( idMappingTableIdentifier='string', membershipIdentifier='string' ) Parameters: * **idMappingTableIdentifier** (*string*) -- **[REQUIRED]** The unique identifier of the ID mapping table that you want to populate. * **membershipIdentifier** (*string*) -- **[REQUIRED]** The unique identifier of the membership that contains the ID mapping table that you want to populate. Return type: dict Returns: **Response Syntax** { 'idMappingJobId': 'string' } **Response Structure** * *(dict) --* * **idMappingJobId** *(string) --* The unique identifier of the mapping job that will populate the ID mapping table. **Exceptions** * "CleanRoomsService.Client.exceptions.ConflictException" * "CleanRoomsService.Client.exceptions.ServiceQuotaExceededExcepti on" * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / update_protected_query update_protected_query ********************** CleanRoomsService.Client.update_protected_query(**kwargs) Updates the processing of a currently running query. See also: AWS API Documentation **Request Syntax** response = client.update_protected_query( membershipIdentifier='string', protectedQueryIdentifier='string', targetStatus='CANCELLED' ) Parameters: * **membershipIdentifier** (*string*) -- **[REQUIRED]** The identifier for a member of a protected query instance. * **protectedQueryIdentifier** (*string*) -- **[REQUIRED]** The identifier for a protected query instance. * **targetStatus** (*string*) -- **[REQUIRED]** The target status of a query. Used to update the execution status of a currently running query. Return type: dict Returns: **Response Syntax** { 'protectedQuery': { 'id': 'string', 'membershipId': 'string', 'membershipArn': 'string', 'createTime': datetime(2015, 1, 1), 'sqlParameters': { 'queryString': 'string', 'analysisTemplateArn': 'string', 'parameters': { 'string': 'string' } }, 'status': 'SUBMITTED'|'STARTED'|'CANCELLED'|'CANCELLING'|'FAILED'|'SUCCESS'|'TIMED_OUT', 'resultConfiguration': { 'outputConfiguration': { 's3': { 'resultFormat': 'CSV'|'PARQUET', 'bucket': 'string', 'keyPrefix': 'string', 'singleFileOutput': True|False }, 'member': { 'accountId': 'string' }, 'distribute': { 'locations': [ { 's3': { 'resultFormat': 'CSV'|'PARQUET', 'bucket': 'string', 'keyPrefix': 'string', 'singleFileOutput': True|False }, 'member': { 'accountId': 'string' } }, ] } } }, 'statistics': { 'totalDurationInMillis': 123, 'billedResourceUtilization': { 'units': 123.0 } }, 'result': { 'output': { 's3': { 'location': 'string' }, 'memberList': [ { 'accountId': 'string' }, ], 'distribute': { 's3': { 'location': 'string' }, 'memberList': [ { 'accountId': 'string' }, ] } } }, 'error': { 'message': 'string', 'code': 'string' }, 'differentialPrivacy': { 'sensitivityParameters': [ { 'aggregationType': 'AVG'|'COUNT'|'COUNT_DISTINCT'|'SUM'|'STDDEV', 'aggregationExpression': 'string', 'userContributionLimit': 123, 'minColumnValue': ..., 'maxColumnValue': ... }, ] }, 'computeConfiguration': { 'worker': { 'type': 'CR.1X'|'CR.4X', 'number': 123 } } } } **Response Structure** * *(dict) --* * **protectedQuery** *(dict) --* The protected query output. * **id** *(string) --* The identifier for a protected query instance. * **membershipId** *(string) --* The identifier for the membership. * **membershipArn** *(string) --* The ARN of the membership. * **createTime** *(datetime) --* The time at which the protected query was created. * **sqlParameters** *(dict) --* The protected query SQL parameters. * **queryString** *(string) --* The query string to be submitted. * **analysisTemplateArn** *(string) --* The Amazon Resource Name (ARN) associated with the analysis template within a collaboration. * **parameters** *(dict) --* The protected query SQL parameters. * *(string) --* * *(string) --* * **status** *(string) --* The status of the query. * **resultConfiguration** *(dict) --* Contains any details needed to write the query results. * **outputConfiguration** *(dict) --* Configuration for protected query results. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "s3", "member", "distribute". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **s3** *(dict) --* Required configuration for a protected query with an "s3" output type. * **resultFormat** *(string) --* Intended file format of the result. * **bucket** *(string) --* The S3 bucket to unload the protected query results. * **keyPrefix** *(string) --* The S3 prefix to unload the protected query results. * **singleFileOutput** *(boolean) --* Indicates whether files should be output as a single file ( "TRUE") or output as multiple files ( "FALSE"). This parameter is only supported for analyses with the Spark analytics engine. * **member** *(dict) --* Required configuration for a protected query with a "member" output type. * **accountId** *(string) --* The unique identifier for the account. * **distribute** *(dict) --* Required configuration for a protected query with a "distribute" output type. * **locations** *(list) --* A list of locations where you want to distribute the protected query results. Each location must specify either an S3 destination or a collaboration member destination. Warning: You can't specify more than one S3 location.You can't specify the query runner's account as a member location.You must include either an S3 or member output configuration for each location, but not both. * *(dict) --* Specifies where you'll distribute the results of your protected query. You must configure either an S3 destination or a collaboration member destination. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "s3", "member". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **s3** *(dict) --* Contains the configuration to write the query results to S3. * **resultFormat** *(string) --* Intended file format of the result. * **bucket** *(string) --* The S3 bucket to unload the protected query results. * **keyPrefix** *(string) --* The S3 prefix to unload the protected query results. * **singleFileOutput** *(boolean) --* Indicates whether files should be output as a single file ( "TRUE") or output as multiple files ( "FALSE"). This parameter is only supported for analyses with the Spark analytics engine. * **member** *(dict) --* Contains configuration details for the protected query member output. * **accountId** *(string) --* The unique identifier for the account. * **statistics** *(dict) --* Statistics about protected query execution. * **totalDurationInMillis** *(integer) --* The duration of the protected query, from creation until query completion, in milliseconds. * **billedResourceUtilization** *(dict) --* The billed resource utilization. * **units** *(float) --* The number of Clean Rooms Processing Unit (CRPU) hours that have been billed. * **result** *(dict) --* The result of the protected query. * **output** *(dict) --* The output of the protected query. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "s3", "memberList", "distribute". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **s3** *(dict) --* If present, the output for a protected query with an "S3" output type. * **location** *(string) --* The S3 location of the result. * **memberList** *(list) --* The list of member Amazon Web Services account(s) that received the results of the query. * *(dict) --* Details about the member who received the query result. * **accountId** *(string) --* The Amazon Web Services account ID of the member in the collaboration who can receive results for the query. * **distribute** *(dict) --* Contains output information for protected queries that use a "distribute" output type. This output type lets you send query results to multiple locations - either to S3 or to collaboration members. Note: You can only use the "distribute" output type with the Spark analytics engine. * **s3** *(dict) --* Contains output information for protected queries with an S3 output type. * **location** *(string) --* The S3 location of the result. * **memberList** *(list) --* Contains the output results for each member location specified in the distribute output configuration. Each entry provides details about the result distribution to a specific collaboration member. * *(dict) --* Details about the member who received the query result. * **accountId** *(string) --* The Amazon Web Services account ID of the member in the collaboration who can receive results for the query. * **error** *(dict) --* An error thrown by the protected query. * **message** *(string) --* A description of why the query failed. * **code** *(string) --* An error code for the error. * **differentialPrivacy** *(dict) --* The sensitivity parameters of the differential privacy results of the protected query. * **sensitivityParameters** *(list) --* Provides the sensitivity parameters that you can use to better understand the total amount of noise in query results. * *(dict) --* Provides the sensitivity parameters. * **aggregationType** *(string) --* The type of aggregation function that was run. * **aggregationExpression** *(string) --* The aggregation expression that was run. * **userContributionLimit** *(integer) --* The maximum number of rows contributed by a user in a SQL query. * **minColumnValue** *(float) --* The lower bound of the aggregation expression. * **maxColumnValue** *(float) --* The upper bound of the aggregation expression. * **computeConfiguration** *(dict) --* The compute configuration for the protected query. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "worker". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **worker** *(dict) --* The worker configuration for the compute environment. * **type** *(string) --* The worker compute configuration type. * **number** *(integer) --* The number of workers. **Exceptions** * "CleanRoomsService.Client.exceptions.ConflictException" * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / update_membership update_membership ***************** CleanRoomsService.Client.update_membership(**kwargs) Updates a membership. See also: AWS API Documentation **Request Syntax** response = client.update_membership( membershipIdentifier='string', queryLogStatus='ENABLED'|'DISABLED', jobLogStatus='ENABLED'|'DISABLED', defaultResultConfiguration={ 'outputConfiguration': { 's3': { 'resultFormat': 'CSV'|'PARQUET', 'bucket': 'string', 'keyPrefix': 'string', 'singleFileOutput': True|False } }, 'roleArn': 'string' }, defaultJobResultConfiguration={ 'outputConfiguration': { 's3': { 'bucket': 'string', 'keyPrefix': 'string' } }, 'roleArn': 'string' } ) Parameters: * **membershipIdentifier** (*string*) -- **[REQUIRED]** The unique identifier of the membership. * **queryLogStatus** (*string*) -- An indicator as to whether query logging has been enabled or disabled for the membership. When "ENABLED", Clean Rooms logs details about queries run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is "DISABLED". * **jobLogStatus** (*string*) -- An indicator as to whether job logging has been enabled or disabled for the collaboration. When "ENABLED", Clean Rooms logs details about jobs run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is "DISABLED". * **defaultResultConfiguration** (*dict*) -- The default protected query result configuration as specified by the member who can receive results. * **outputConfiguration** *(dict) --* **[REQUIRED]** Configuration for protected query results. Note: This is a Tagged Union structure. Only one of the following top level keys can be set: "s3". * **s3** *(dict) --* Contains the configuration to write the query results to S3. * **resultFormat** *(string) --* **[REQUIRED]** Intended file format of the result. * **bucket** *(string) --* **[REQUIRED]** The S3 bucket to unload the protected query results. * **keyPrefix** *(string) --* The S3 prefix to unload the protected query results. * **singleFileOutput** *(boolean) --* Indicates whether files should be output as a single file ( "TRUE") or output as multiple files ( "FALSE"). This parameter is only supported for analyses with the Spark analytics engine. * **roleArn** *(string) --* The unique ARN for an IAM role that is used by Clean Rooms to write protected query results to the result location, given by the member who can receive results. * **defaultJobResultConfiguration** (*dict*) -- The default job result configuration. * **outputConfiguration** *(dict) --* **[REQUIRED]** The output configuration for a protected job result. Note: This is a Tagged Union structure. Only one of the following top level keys can be set: "s3". * **s3** *(dict) --* Contains the configuration to write the job results to S3. * **bucket** *(string) --* **[REQUIRED]** The S3 bucket for job output. * **keyPrefix** *(string) --* The S3 prefix to unload the protected job results. * **roleArn** *(string) --* **[REQUIRED]** The unique ARN for an IAM role that is used by Clean Rooms to write protected job results to the result location, given by the member who can receive results. Return type: dict Returns: **Response Syntax** { 'membership': { 'id': 'string', 'arn': 'string', 'collaborationArn': 'string', 'collaborationId': 'string', 'collaborationCreatorAccountId': 'string', 'collaborationCreatorDisplayName': 'string', 'collaborationName': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'status': 'ACTIVE'|'REMOVED'|'COLLABORATION_DELETED', 'memberAbilities': [ 'CAN_QUERY'|'CAN_RECEIVE_RESULTS'|'CAN_RUN_JOB', ], 'mlMemberAbilities': { 'customMLMemberAbilities': [ 'CAN_RECEIVE_MODEL_OUTPUT'|'CAN_RECEIVE_INFERENCE_OUTPUT', ] }, 'queryLogStatus': 'ENABLED'|'DISABLED', 'jobLogStatus': 'ENABLED'|'DISABLED', 'defaultResultConfiguration': { 'outputConfiguration': { 's3': { 'resultFormat': 'CSV'|'PARQUET', 'bucket': 'string', 'keyPrefix': 'string', 'singleFileOutput': True|False } }, 'roleArn': 'string' }, 'defaultJobResultConfiguration': { 'outputConfiguration': { 's3': { 'bucket': 'string', 'keyPrefix': 'string' } }, 'roleArn': 'string' }, 'paymentConfiguration': { 'queryCompute': { 'isResponsible': True|False }, 'machineLearning': { 'modelTraining': { 'isResponsible': True|False }, 'modelInference': { 'isResponsible': True|False } }, 'jobCompute': { 'isResponsible': True|False } } } } **Response Structure** * *(dict) --* * **membership** *(dict) --* The membership object. * **id** *(string) --* The unique ID of the membership. * **arn** *(string) --* The unique ARN for the membership. * **collaborationArn** *(string) --* The unique ARN for the membership's associated collaboration. * **collaborationId** *(string) --* The unique ID for the membership's collaboration. * **collaborationCreatorAccountId** *(string) --* The identifier used to reference members of the collaboration. Currently only supports Amazon Web Services account ID. * **collaborationCreatorDisplayName** *(string) --* The display name of the collaboration creator. * **collaborationName** *(string) --* The name of the membership's collaboration. * **createTime** *(datetime) --* The time when the membership was created. * **updateTime** *(datetime) --* The time the membership metadata was last updated. * **status** *(string) --* The status of the membership. * **memberAbilities** *(list) --* The abilities granted to the collaboration member. * *(string) --* * **mlMemberAbilities** *(dict) --* Specifies the ML member abilities that are granted to a collaboration member. * **customMLMemberAbilities** *(list) --* The custom ML member abilities for a collaboration member. * *(string) --* * **queryLogStatus** *(string) --* An indicator as to whether query logging has been enabled or disabled for the membership. When "ENABLED", Clean Rooms logs details about queries run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is "DISABLED". * **jobLogStatus** *(string) --* An indicator as to whether job logging has been enabled or disabled for the collaboration. When "ENABLED", Clean Rooms logs details about jobs run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is "DISABLED". * **defaultResultConfiguration** *(dict) --* The default protected query result configuration as specified by the member who can receive results. * **outputConfiguration** *(dict) --* Configuration for protected query results. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "s3". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **s3** *(dict) --* Contains the configuration to write the query results to S3. * **resultFormat** *(string) --* Intended file format of the result. * **bucket** *(string) --* The S3 bucket to unload the protected query results. * **keyPrefix** *(string) --* The S3 prefix to unload the protected query results. * **singleFileOutput** *(boolean) --* Indicates whether files should be output as a single file ( "TRUE") or output as multiple files ( "FALSE"). This parameter is only supported for analyses with the Spark analytics engine. * **roleArn** *(string) --* The unique ARN for an IAM role that is used by Clean Rooms to write protected query results to the result location, given by the member who can receive results. * **defaultJobResultConfiguration** *(dict) --* The default job result configuration for the membership. * **outputConfiguration** *(dict) --* The output configuration for a protected job result. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "s3". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **s3** *(dict) --* Contains the configuration to write the job results to S3. * **bucket** *(string) --* The S3 bucket for job output. * **keyPrefix** *(string) --* The S3 prefix to unload the protected job results. * **roleArn** *(string) --* The unique ARN for an IAM role that is used by Clean Rooms to write protected job results to the result location, given by the member who can receive results. * **paymentConfiguration** *(dict) --* The payment responsibilities accepted by the collaboration member. * **queryCompute** *(dict) --* The payment responsibilities accepted by the collaboration member for query compute costs. * **isResponsible** *(boolean) --* Indicates whether the collaboration member has accepted to pay for query compute costs ( "TRUE") or has not accepted to pay for query compute costs ( "FALSE"). If the collaboration creator has not specified anyone to pay for query compute costs, then the member who can query is the default payer. An error message is returned for the following reasons: * If you set the value to "FALSE" but you are responsible to pay for query compute costs. * If you set the value to "TRUE" but you are not responsible to pay for query compute costs. * **machineLearning** *(dict) --* The payment responsibilities accepted by the collaboration member for machine learning costs. * **modelTraining** *(dict) --* The payment responsibilities accepted by the member for model training. * **isResponsible** *(boolean) --* Indicates whether the collaboration member has accepted to pay for model training costs ( "TRUE") or has not accepted to pay for model training costs ( "FALSE"). If the collaboration creator has not specified anyone to pay for model training costs, then the member who can query is the default payer. An error message is returned for the following reasons: * If you set the value to "FALSE" but you are responsible to pay for model training costs. * If you set the value to "TRUE" but you are not responsible to pay for model training costs. * **modelInference** *(dict) --* The payment responsibilities accepted by the member for model inference. * **isResponsible** *(boolean) --* Indicates whether the collaboration member has accepted to pay for model inference costs ( "TRUE") or has not accepted to pay for model inference costs ( "FALSE"). If the collaboration creator has not specified anyone to pay for model inference costs, then the member who can query is the default payer. An error message is returned for the following reasons: * If you set the value to "FALSE" but you are responsible to pay for model inference costs. * If you set the value to "TRUE" but you are not responsible to pay for model inference costs. * **jobCompute** *(dict) --* The payment responsibilities accepted by the collaboration member for job compute costs. * **isResponsible** *(boolean) --* Indicates whether the collaboration member has accepted to pay for job compute costs ( "TRUE") or has not accepted to pay for query and job compute costs ( "FALSE"). There is only one member who pays for queries and jobs. An error message is returned for the following reasons: * If you set the value to "FALSE" but you are responsible to pay for query and job compute costs. * If you set the value to "TRUE" but you are not responsible to pay for query and job compute costs. **Exceptions** * "CleanRoomsService.Client.exceptions.ConflictException" * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / untag_resource untag_resource ************** CleanRoomsService.Client.untag_resource(**kwargs) Removes a tag or list of tags from a resource. See also: AWS API Documentation **Request Syntax** response = client.untag_resource( resourceArn='string', tagKeys=[ 'string', ] ) Parameters: * **resourceArn** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) associated with the resource you want to remove the tag from. * **tagKeys** (*list*) -- **[REQUIRED]** A list of key names of tags to be removed. * *(string) --* Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.ValidationException" CleanRoomsService / Client / delete_analysis_template delete_analysis_template ************************ CleanRoomsService.Client.delete_analysis_template(**kwargs) Deletes an analysis template. See also: AWS API Documentation **Request Syntax** response = client.delete_analysis_template( membershipIdentifier='string', analysisTemplateIdentifier='string' ) Parameters: * **membershipIdentifier** (*string*) -- **[REQUIRED]** The identifier for a membership resource. * **analysisTemplateIdentifier** (*string*) -- **[REQUIRED]** The identifier for the analysis template resource. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / get_waiter get_waiter ********** CleanRoomsService.Client.get_waiter(waiter_name) Returns an object that can wait for some condition. Parameters: **waiter_name** (*str*) -- The name of the waiter to get. See the waiters section of the service docs for a list of available waiters. Returns: The specified waiter object. Return type: "botocore.waiter.Waiter" CleanRoomsService / Client / delete_membership delete_membership ***************** CleanRoomsService.Client.delete_membership(**kwargs) Deletes a specified membership. All resources under a membership must be deleted. See also: AWS API Documentation **Request Syntax** response = client.delete_membership( membershipIdentifier='string' ) Parameters: **membershipIdentifier** (*string*) -- **[REQUIRED]** The identifier for a membership resource. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "CleanRoomsService.Client.exceptions.ConflictException" * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / get_configured_table_association get_configured_table_association ******************************** CleanRoomsService.Client.get_configured_table_association(**kwargs) Retrieves a configured table association. See also: AWS API Documentation **Request Syntax** response = client.get_configured_table_association( configuredTableAssociationIdentifier='string', membershipIdentifier='string' ) Parameters: * **configuredTableAssociationIdentifier** (*string*) -- **[REQUIRED]** The unique ID for the configured table association to retrieve. Currently accepts the configured table ID. * **membershipIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for the membership that the configured table association belongs to. Currently accepts the membership ID. Return type: dict Returns: **Response Syntax** { 'configuredTableAssociation': { 'arn': 'string', 'id': 'string', 'configuredTableId': 'string', 'configuredTableArn': 'string', 'membershipId': 'string', 'membershipArn': 'string', 'roleArn': 'string', 'name': 'string', 'description': 'string', 'analysisRuleTypes': [ 'AGGREGATION'|'LIST'|'CUSTOM', ], 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1) } } **Response Structure** * *(dict) --* * **configuredTableAssociation** *(dict) --* The entire configured table association object. * **arn** *(string) --* The unique ARN for the configured table association. * **id** *(string) --* The unique ID for the configured table association. * **configuredTableId** *(string) --* The unique ID for the configured table that the association refers to. * **configuredTableArn** *(string) --* The unique ARN for the configured table that the association refers to. * **membershipId** *(string) --* The unique ID for the membership this configured table association belongs to. * **membershipArn** *(string) --* The unique ARN for the membership this configured table association belongs to. * **roleArn** *(string) --* The service will assume this role to access catalog metadata and query the table. * **name** *(string) --* The name of the configured table association, in lowercase. The table is identified by this name when running protected queries against the underlying data. * **description** *(string) --* A description of the configured table association. * **analysisRuleTypes** *(list) --* The analysis rule types for the configured table association. * *(string) --* * **createTime** *(datetime) --* The time the configured table association was created. * **updateTime** *(datetime) --* The time the configured table association was last updated. **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / get_collaboration_id_namespace_association get_collaboration_id_namespace_association ****************************************** CleanRoomsService.Client.get_collaboration_id_namespace_association(**kwargs) Retrieves an ID namespace association from a specific collaboration. See also: AWS API Documentation **Request Syntax** response = client.get_collaboration_id_namespace_association( collaborationIdentifier='string', idNamespaceAssociationIdentifier='string' ) Parameters: * **collaborationIdentifier** (*string*) -- **[REQUIRED]** The unique identifier of the collaboration that contains the ID namespace association that you want to retrieve. * **idNamespaceAssociationIdentifier** (*string*) -- **[REQUIRED]** The unique identifier of the ID namespace association that you want to retrieve. Return type: dict Returns: **Response Syntax** { 'collaborationIdNamespaceAssociation': { 'id': 'string', 'arn': 'string', 'collaborationId': 'string', 'collaborationArn': 'string', 'name': 'string', 'description': 'string', 'creatorAccountId': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'inputReferenceConfig': { 'inputReferenceArn': 'string', 'manageResourcePolicies': True|False }, 'inputReferenceProperties': { 'idNamespaceType': 'SOURCE'|'TARGET', 'idMappingWorkflowsSupported': [ {...}|[...]|123|123.4|'string'|True|None, ] }, 'idMappingConfig': { 'allowUseAsDimensionColumn': True|False } } } **Response Structure** * *(dict) --* * **collaborationIdNamespaceAssociation** *(dict) --* The ID namespace association that you requested. * **id** *(string) --* The unique identifier of the collaboration ID namespace association. * **arn** *(string) --* The Amazon Resource Name (ARN) of the collaboration ID namespace association. * **collaborationId** *(string) --* The unique identifier of the collaboration that contains the collaboration ID namespace association. * **collaborationArn** *(string) --* The Amazon Resource Name (ARN) of the collaboration that contains the collaboration ID namespace association. * **name** *(string) --* The name of the collaboration ID namespace association. * **description** *(string) --* The description of the collaboration ID namespace association. * **creatorAccountId** *(string) --* The unique identifier of the Amazon Web Services account that created the collaboration ID namespace association. * **createTime** *(datetime) --* The time at which the collaboration ID namespace association was created. * **updateTime** *(datetime) --* The most recent time at which the collaboration ID namespace was updated. * **inputReferenceConfig** *(dict) --* The input reference configuration that's necessary to create the collaboration ID namespace association. * **inputReferenceArn** *(string) --* The Amazon Resource Name (ARN) of the Entity Resolution resource that is being associated to the collaboration. Valid resource ARNs are from the ID namespaces that you own. * **manageResourcePolicies** *(boolean) --* When "TRUE", Clean Rooms manages permissions for the ID namespace association resource. When "FALSE", the resource owner manages permissions for the ID namespace association resource. * **inputReferenceProperties** *(dict) --* The input reference properties that are needed to create the collaboration ID namespace association. * **idNamespaceType** *(string) --* The ID namespace type for this ID namespace association. * **idMappingWorkflowsSupported** *(list) --* Defines how ID mapping workflows are supported for this ID namespace association. * (*document*) -- * **idMappingConfig** *(dict) --* The configuration settings for the ID mapping table. * **allowUseAsDimensionColumn** *(boolean) --* An indicator as to whether you can use your column as a dimension column in the ID mapping table ( "TRUE") or not ( "FALSE"). Default is "FALSE". **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / get_id_namespace_association get_id_namespace_association **************************** CleanRoomsService.Client.get_id_namespace_association(**kwargs) Retrieves an ID namespace association. See also: AWS API Documentation **Request Syntax** response = client.get_id_namespace_association( idNamespaceAssociationIdentifier='string', membershipIdentifier='string' ) Parameters: * **idNamespaceAssociationIdentifier** (*string*) -- **[REQUIRED]** The unique identifier of the ID namespace association that you want to retrieve. * **membershipIdentifier** (*string*) -- **[REQUIRED]** The unique identifier of the membership that contains the ID namespace association that you want to retrieve. Return type: dict Returns: **Response Syntax** { 'idNamespaceAssociation': { 'id': 'string', 'arn': 'string', 'membershipId': 'string', 'membershipArn': 'string', 'collaborationId': 'string', 'collaborationArn': 'string', 'name': 'string', 'description': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'inputReferenceConfig': { 'inputReferenceArn': 'string', 'manageResourcePolicies': True|False }, 'inputReferenceProperties': { 'idNamespaceType': 'SOURCE'|'TARGET', 'idMappingWorkflowsSupported': [ {...}|[...]|123|123.4|'string'|True|None, ] }, 'idMappingConfig': { 'allowUseAsDimensionColumn': True|False } } } **Response Structure** * *(dict) --* * **idNamespaceAssociation** *(dict) --* The ID namespace association that you requested. * **id** *(string) --* The unique identifier for this ID namespace association. * **arn** *(string) --* The Amazon Resource Name (ARN) of the ID namespace association. * **membershipId** *(string) --* The unique identifier of the membership resource for this ID namespace association. * **membershipArn** *(string) --* The Amazon Resource Name (ARN) of the membership resource for this ID namespace association. * **collaborationId** *(string) --* The unique identifier of the collaboration that contains this ID namespace association. * **collaborationArn** *(string) --* The Amazon Resource Name (ARN) of the collaboration that contains this ID namespace association. * **name** *(string) --* The name of this ID namespace association. * **description** *(string) --* The description of the ID namespace association. * **createTime** *(datetime) --* The time at which the ID namespace association was created. * **updateTime** *(datetime) --* The most recent time at which the ID namespace association was updated. * **inputReferenceConfig** *(dict) --* The input reference configuration for the ID namespace association. * **inputReferenceArn** *(string) --* The Amazon Resource Name (ARN) of the Entity Resolution resource that is being associated to the collaboration. Valid resource ARNs are from the ID namespaces that you own. * **manageResourcePolicies** *(boolean) --* When "TRUE", Clean Rooms manages permissions for the ID namespace association resource. When "FALSE", the resource owner manages permissions for the ID namespace association resource. * **inputReferenceProperties** *(dict) --* The input reference properties for the ID namespace association. * **idNamespaceType** *(string) --* The ID namespace type for this ID namespace association. * **idMappingWorkflowsSupported** *(list) --* Defines how ID mapping workflows are supported for this ID namespace association. * (*document*) -- * **idMappingConfig** *(dict) --* The configuration settings for the ID mapping table. * **allowUseAsDimensionColumn** *(boolean) --* An indicator as to whether you can use your column as a dimension column in the ID mapping table ( "TRUE") or not ( "FALSE"). Default is "FALSE". **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / get_protected_query get_protected_query ******************* CleanRoomsService.Client.get_protected_query(**kwargs) Returns query processing metadata. See also: AWS API Documentation **Request Syntax** response = client.get_protected_query( membershipIdentifier='string', protectedQueryIdentifier='string' ) Parameters: * **membershipIdentifier** (*string*) -- **[REQUIRED]** The identifier for a membership in a protected query instance. * **protectedQueryIdentifier** (*string*) -- **[REQUIRED]** The identifier for a protected query instance. Return type: dict Returns: **Response Syntax** { 'protectedQuery': { 'id': 'string', 'membershipId': 'string', 'membershipArn': 'string', 'createTime': datetime(2015, 1, 1), 'sqlParameters': { 'queryString': 'string', 'analysisTemplateArn': 'string', 'parameters': { 'string': 'string' } }, 'status': 'SUBMITTED'|'STARTED'|'CANCELLED'|'CANCELLING'|'FAILED'|'SUCCESS'|'TIMED_OUT', 'resultConfiguration': { 'outputConfiguration': { 's3': { 'resultFormat': 'CSV'|'PARQUET', 'bucket': 'string', 'keyPrefix': 'string', 'singleFileOutput': True|False }, 'member': { 'accountId': 'string' }, 'distribute': { 'locations': [ { 's3': { 'resultFormat': 'CSV'|'PARQUET', 'bucket': 'string', 'keyPrefix': 'string', 'singleFileOutput': True|False }, 'member': { 'accountId': 'string' } }, ] } } }, 'statistics': { 'totalDurationInMillis': 123, 'billedResourceUtilization': { 'units': 123.0 } }, 'result': { 'output': { 's3': { 'location': 'string' }, 'memberList': [ { 'accountId': 'string' }, ], 'distribute': { 's3': { 'location': 'string' }, 'memberList': [ { 'accountId': 'string' }, ] } } }, 'error': { 'message': 'string', 'code': 'string' }, 'differentialPrivacy': { 'sensitivityParameters': [ { 'aggregationType': 'AVG'|'COUNT'|'COUNT_DISTINCT'|'SUM'|'STDDEV', 'aggregationExpression': 'string', 'userContributionLimit': 123, 'minColumnValue': ..., 'maxColumnValue': ... }, ] }, 'computeConfiguration': { 'worker': { 'type': 'CR.1X'|'CR.4X', 'number': 123 } } } } **Response Structure** * *(dict) --* * **protectedQuery** *(dict) --* The query processing metadata. * **id** *(string) --* The identifier for a protected query instance. * **membershipId** *(string) --* The identifier for the membership. * **membershipArn** *(string) --* The ARN of the membership. * **createTime** *(datetime) --* The time at which the protected query was created. * **sqlParameters** *(dict) --* The protected query SQL parameters. * **queryString** *(string) --* The query string to be submitted. * **analysisTemplateArn** *(string) --* The Amazon Resource Name (ARN) associated with the analysis template within a collaboration. * **parameters** *(dict) --* The protected query SQL parameters. * *(string) --* * *(string) --* * **status** *(string) --* The status of the query. * **resultConfiguration** *(dict) --* Contains any details needed to write the query results. * **outputConfiguration** *(dict) --* Configuration for protected query results. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "s3", "member", "distribute". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **s3** *(dict) --* Required configuration for a protected query with an "s3" output type. * **resultFormat** *(string) --* Intended file format of the result. * **bucket** *(string) --* The S3 bucket to unload the protected query results. * **keyPrefix** *(string) --* The S3 prefix to unload the protected query results. * **singleFileOutput** *(boolean) --* Indicates whether files should be output as a single file ( "TRUE") or output as multiple files ( "FALSE"). This parameter is only supported for analyses with the Spark analytics engine. * **member** *(dict) --* Required configuration for a protected query with a "member" output type. * **accountId** *(string) --* The unique identifier for the account. * **distribute** *(dict) --* Required configuration for a protected query with a "distribute" output type. * **locations** *(list) --* A list of locations where you want to distribute the protected query results. Each location must specify either an S3 destination or a collaboration member destination. Warning: You can't specify more than one S3 location.You can't specify the query runner's account as a member location.You must include either an S3 or member output configuration for each location, but not both. * *(dict) --* Specifies where you'll distribute the results of your protected query. You must configure either an S3 destination or a collaboration member destination. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "s3", "member". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **s3** *(dict) --* Contains the configuration to write the query results to S3. * **resultFormat** *(string) --* Intended file format of the result. * **bucket** *(string) --* The S3 bucket to unload the protected query results. * **keyPrefix** *(string) --* The S3 prefix to unload the protected query results. * **singleFileOutput** *(boolean) --* Indicates whether files should be output as a single file ( "TRUE") or output as multiple files ( "FALSE"). This parameter is only supported for analyses with the Spark analytics engine. * **member** *(dict) --* Contains configuration details for the protected query member output. * **accountId** *(string) --* The unique identifier for the account. * **statistics** *(dict) --* Statistics about protected query execution. * **totalDurationInMillis** *(integer) --* The duration of the protected query, from creation until query completion, in milliseconds. * **billedResourceUtilization** *(dict) --* The billed resource utilization. * **units** *(float) --* The number of Clean Rooms Processing Unit (CRPU) hours that have been billed. * **result** *(dict) --* The result of the protected query. * **output** *(dict) --* The output of the protected query. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "s3", "memberList", "distribute". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **s3** *(dict) --* If present, the output for a protected query with an "S3" output type. * **location** *(string) --* The S3 location of the result. * **memberList** *(list) --* The list of member Amazon Web Services account(s) that received the results of the query. * *(dict) --* Details about the member who received the query result. * **accountId** *(string) --* The Amazon Web Services account ID of the member in the collaboration who can receive results for the query. * **distribute** *(dict) --* Contains output information for protected queries that use a "distribute" output type. This output type lets you send query results to multiple locations - either to S3 or to collaboration members. Note: You can only use the "distribute" output type with the Spark analytics engine. * **s3** *(dict) --* Contains output information for protected queries with an S3 output type. * **location** *(string) --* The S3 location of the result. * **memberList** *(list) --* Contains the output results for each member location specified in the distribute output configuration. Each entry provides details about the result distribution to a specific collaboration member. * *(dict) --* Details about the member who received the query result. * **accountId** *(string) --* The Amazon Web Services account ID of the member in the collaboration who can receive results for the query. * **error** *(dict) --* An error thrown by the protected query. * **message** *(string) --* A description of why the query failed. * **code** *(string) --* An error code for the error. * **differentialPrivacy** *(dict) --* The sensitivity parameters of the differential privacy results of the protected query. * **sensitivityParameters** *(list) --* Provides the sensitivity parameters that you can use to better understand the total amount of noise in query results. * *(dict) --* Provides the sensitivity parameters. * **aggregationType** *(string) --* The type of aggregation function that was run. * **aggregationExpression** *(string) --* The aggregation expression that was run. * **userContributionLimit** *(integer) --* The maximum number of rows contributed by a user in a SQL query. * **minColumnValue** *(float) --* The lower bound of the aggregation expression. * **maxColumnValue** *(float) --* The upper bound of the aggregation expression. * **computeConfiguration** *(dict) --* The compute configuration for the protected query. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "worker". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **worker** *(dict) --* The worker configuration for the compute environment. * **type** *(string) --* The worker compute configuration type. * **number** *(integer) --* The number of workers. **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / get_collaboration_analysis_template get_collaboration_analysis_template *********************************** CleanRoomsService.Client.get_collaboration_analysis_template(**kwargs) Retrieves an analysis template within a collaboration. See also: AWS API Documentation **Request Syntax** response = client.get_collaboration_analysis_template( collaborationIdentifier='string', analysisTemplateArn='string' ) Parameters: * **collaborationIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for the collaboration that the analysis templates belong to. Currently accepts collaboration ID. * **analysisTemplateArn** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) associated with the analysis template within a collaboration. Return type: dict Returns: **Response Syntax** { 'collaborationAnalysisTemplate': { 'id': 'string', 'arn': 'string', 'collaborationId': 'string', 'collaborationArn': 'string', 'description': 'string', 'creatorAccountId': 'string', 'name': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'schema': { 'referencedTables': [ 'string', ] }, 'format': 'SQL'|'PYSPARK_1_0', 'source': { 'text': 'string', 'artifacts': { 'entryPoint': { 'location': { 'bucket': 'string', 'key': 'string' } }, 'additionalArtifacts': [ { 'location': { 'bucket': 'string', 'key': 'string' } }, ], 'roleArn': 'string' } }, 'sourceMetadata': { 'artifacts': { 'entryPointHash': { 'sha256': 'string' }, 'additionalArtifactHashes': [ { 'sha256': 'string' }, ] } }, 'analysisParameters': [ { 'name': 'string', 'type': 'SMALLINT'|'INTEGER'|'BIGINT'|'DECIMAL'|'REAL'|'DOUBLE_PRECISION'|'BOOLEAN'|'CHAR'|'VARCHAR'|'DATE'|'TIMESTAMP'|'TIMESTAMPTZ'|'TIME'|'TIMETZ'|'VARBYTE'|'BINARY'|'BYTE'|'CHARACTER'|'DOUBLE'|'FLOAT'|'INT'|'LONG'|'NUMERIC'|'SHORT'|'STRING'|'TIMESTAMP_LTZ'|'TIMESTAMP_NTZ'|'TINYINT', 'defaultValue': 'string' }, ], 'validations': [ { 'type': 'DIFFERENTIAL_PRIVACY', 'status': 'VALID'|'INVALID'|'UNABLE_TO_VALIDATE', 'reasons': [ { 'message': 'string' }, ] }, ] } } **Response Structure** * *(dict) --* * **collaborationAnalysisTemplate** *(dict) --* The analysis template within a collaboration. * **id** *(string) --* The identifier of the analysis template. * **arn** *(string) --* The Amazon Resource Name (ARN) of the analysis template. * **collaborationId** *(string) --* A unique identifier for the collaboration that the analysis templates belong to. Currently accepts collaboration ID. * **collaborationArn** *(string) --* The unique ARN for the analysis template’s associated collaboration. * **description** *(string) --* The description of the analysis template. * **creatorAccountId** *(string) --* The identifier used to reference members of the collaboration. Currently only supports Amazon Web Services account ID. * **name** *(string) --* The name of the analysis template. * **createTime** *(datetime) --* The time that the analysis template within a collaboration was created. * **updateTime** *(datetime) --* The time that the analysis template in the collaboration was last updated. * **schema** *(dict) --* The entire schema object. * **referencedTables** *(list) --* The tables referenced in the analysis schema. * *(string) --* * **format** *(string) --* The format of the analysis template in the collaboration. * **source** *(dict) --* The source of the analysis template within a collaboration. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "text", "artifacts". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **text** *(string) --* The query text. * **artifacts** *(dict) --* The artifacts of the analysis source. * **entryPoint** *(dict) --* The entry point for the analysis template artifacts. * **location** *(dict) --* The artifact location. * **bucket** *(string) --* The bucket name. * **key** *(string) --* The object key. * **additionalArtifacts** *(list) --* Additional artifacts for the analysis template. * *(dict) --* The analysis template artifact. * **location** *(dict) --* The artifact location. * **bucket** *(string) --* The bucket name. * **key** *(string) --* The object key. * **roleArn** *(string) --* The role ARN for the analysis template artifacts. * **sourceMetadata** *(dict) --* The source metadata for the collaboration analysis template. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "artifacts". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **artifacts** *(dict) --* The artifacts of the analysis source metadata. * **entryPointHash** *(dict) --* The hash of the entry point for the analysis template artifact metadata. * **sha256** *(string) --* The SHA-256 hash value. * **additionalArtifactHashes** *(list) --* Additional artifact hashes for the analysis template. * *(dict) --* Hash * **sha256** *(string) --* The SHA-256 hash value. * **analysisParameters** *(list) --* The analysis parameters that have been specified in the analysis template. * *(dict) --* Optional. The member who can query can provide this placeholder for a literal data value in an analysis template. * **name** *(string) --* The name of the parameter. The name must use only alphanumeric, underscore (_), or hyphen (-) characters but cannot start or end with a hyphen. * **type** *(string) --* The type of parameter. * **defaultValue** *(string) --* Optional. The default value that is applied in the analysis template. The member who can query can override this value in the query editor. * **validations** *(list) --* The validations that were performed. * *(dict) --* The status details of the analysis template validation. Clean Rooms Differential Privacy uses a general-purpose query structure to support complex SQL queries and validates whether an analysis template fits that general-purpose query structure. Validation is performed when analysis templates are created and fetched. Because analysis templates are immutable by design, we recommend that you create analysis templates after you associate the configured tables with their analysis rule to your collaboration. For more information, see https://docs.aws.amazon.com /clean-rooms/latest/userguide/analysis-rules-custom.html #custom-diff-privacy. * **type** *(string) --* The type of validation that was performed. * **status** *(string) --* The status of the validation. * **reasons** *(list) --* The reasons for the validation results. * *(dict) --* The reasons for the validation results. * **message** *(string) --* The validation message. **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / list_collaboration_configured_audience_model_associations list_collaboration_configured_audience_model_associations ********************************************************* CleanRoomsService.Client.list_collaboration_configured_audience_model_associations(**kwargs) Lists configured audience model associations within a collaboration. See also: AWS API Documentation **Request Syntax** response = client.list_collaboration_configured_audience_model_associations( collaborationIdentifier='string', nextToken='string', maxResults=123 ) Parameters: * **collaborationIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for the collaboration that the configured audience model association belongs to. Accepts a collaboration ID. * **nextToken** (*string*) -- The pagination token that's used to fetch the next set of results. * **maxResults** (*integer*) -- The maximum number of results that are returned for an API request call. The service chooses a default number if you don't set one. The service might return a *nextToken* even if the *maxResults* value has not been met. Return type: dict Returns: **Response Syntax** { 'collaborationConfiguredAudienceModelAssociationSummaries': [ { 'arn': 'string', 'createTime': datetime(2015, 1, 1), 'id': 'string', 'name': 'string', 'updateTime': datetime(2015, 1, 1), 'collaborationArn': 'string', 'collaborationId': 'string', 'creatorAccountId': 'string', 'description': 'string' }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **collaborationConfiguredAudienceModelAssociationSummaries** *(list) --* The metadata of the configured audience model association within a collaboration. * *(dict) --* A summary of the configured audience model association in the collaboration. * **arn** *(string) --* The Amazon Resource Name (ARN) of the configured audience model association. * **createTime** *(datetime) --* The time at which the configured audience model association was created. * **id** *(string) --* The identifier of the configured audience model association. * **name** *(string) --* The name of the configured audience model association. * **updateTime** *(datetime) --* The most recent time at which the configured audience model association was updated. * **collaborationArn** *(string) --* The unique ARN for the configured audience model's associated collaboration. * **collaborationId** *(string) --* A unique identifier for the collaboration that the configured audience model associations belong to. Accepts collaboration ID. * **creatorAccountId** *(string) --* The identifier used to reference members of the collaboration. Only supports Amazon Web Services account ID. * **description** *(string) --* The description of the configured audience model association. * **nextToken** *(string) --* The pagination token that's used to fetch the next set of results. **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / get_analysis_template get_analysis_template ********************* CleanRoomsService.Client.get_analysis_template(**kwargs) Retrieves an analysis template. See also: AWS API Documentation **Request Syntax** response = client.get_analysis_template( membershipIdentifier='string', analysisTemplateIdentifier='string' ) Parameters: * **membershipIdentifier** (*string*) -- **[REQUIRED]** The identifier for a membership resource. * **analysisTemplateIdentifier** (*string*) -- **[REQUIRED]** The identifier for the analysis template resource. Return type: dict Returns: **Response Syntax** { 'analysisTemplate': { 'id': 'string', 'arn': 'string', 'collaborationId': 'string', 'collaborationArn': 'string', 'membershipId': 'string', 'membershipArn': 'string', 'description': 'string', 'name': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'schema': { 'referencedTables': [ 'string', ] }, 'format': 'SQL'|'PYSPARK_1_0', 'source': { 'text': 'string', 'artifacts': { 'entryPoint': { 'location': { 'bucket': 'string', 'key': 'string' } }, 'additionalArtifacts': [ { 'location': { 'bucket': 'string', 'key': 'string' } }, ], 'roleArn': 'string' } }, 'sourceMetadata': { 'artifacts': { 'entryPointHash': { 'sha256': 'string' }, 'additionalArtifactHashes': [ { 'sha256': 'string' }, ] } }, 'analysisParameters': [ { 'name': 'string', 'type': 'SMALLINT'|'INTEGER'|'BIGINT'|'DECIMAL'|'REAL'|'DOUBLE_PRECISION'|'BOOLEAN'|'CHAR'|'VARCHAR'|'DATE'|'TIMESTAMP'|'TIMESTAMPTZ'|'TIME'|'TIMETZ'|'VARBYTE'|'BINARY'|'BYTE'|'CHARACTER'|'DOUBLE'|'FLOAT'|'INT'|'LONG'|'NUMERIC'|'SHORT'|'STRING'|'TIMESTAMP_LTZ'|'TIMESTAMP_NTZ'|'TINYINT', 'defaultValue': 'string' }, ], 'validations': [ { 'type': 'DIFFERENTIAL_PRIVACY', 'status': 'VALID'|'INVALID'|'UNABLE_TO_VALIDATE', 'reasons': [ { 'message': 'string' }, ] }, ] } } **Response Structure** * *(dict) --* * **analysisTemplate** *(dict) --* The analysis template. * **id** *(string) --* The identifier for the analysis template. * **arn** *(string) --* The Amazon Resource Name (ARN) of the analysis template. * **collaborationId** *(string) --* The unique ID for the associated collaboration of the analysis template. * **collaborationArn** *(string) --* The unique ARN for the analysis template’s associated collaboration. * **membershipId** *(string) --* The identifier of a member who created the analysis template. * **membershipArn** *(string) --* The Amazon Resource Name (ARN) of the member who created the analysis template. * **description** *(string) --* The description of the analysis template. * **name** *(string) --* The name of the analysis template. * **createTime** *(datetime) --* The time that the analysis template was created. * **updateTime** *(datetime) --* The time that the analysis template was last updated. * **schema** *(dict) --* The entire schema object. * **referencedTables** *(list) --* The tables referenced in the analysis schema. * *(string) --* * **format** *(string) --* The format of the analysis template. * **source** *(dict) --* The source of the analysis template. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "text", "artifacts". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **text** *(string) --* The query text. * **artifacts** *(dict) --* The artifacts of the analysis source. * **entryPoint** *(dict) --* The entry point for the analysis template artifacts. * **location** *(dict) --* The artifact location. * **bucket** *(string) --* The bucket name. * **key** *(string) --* The object key. * **additionalArtifacts** *(list) --* Additional artifacts for the analysis template. * *(dict) --* The analysis template artifact. * **location** *(dict) --* The artifact location. * **bucket** *(string) --* The bucket name. * **key** *(string) --* The object key. * **roleArn** *(string) --* The role ARN for the analysis template artifacts. * **sourceMetadata** *(dict) --* The source metadata for the analysis template. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "artifacts". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **artifacts** *(dict) --* The artifacts of the analysis source metadata. * **entryPointHash** *(dict) --* The hash of the entry point for the analysis template artifact metadata. * **sha256** *(string) --* The SHA-256 hash value. * **additionalArtifactHashes** *(list) --* Additional artifact hashes for the analysis template. * *(dict) --* Hash * **sha256** *(string) --* The SHA-256 hash value. * **analysisParameters** *(list) --* The parameters of the analysis template. * *(dict) --* Optional. The member who can query can provide this placeholder for a literal data value in an analysis template. * **name** *(string) --* The name of the parameter. The name must use only alphanumeric, underscore (_), or hyphen (-) characters but cannot start or end with a hyphen. * **type** *(string) --* The type of parameter. * **defaultValue** *(string) --* Optional. The default value that is applied in the analysis template. The member who can query can override this value in the query editor. * **validations** *(list) --* Information about the validations performed on the analysis template. * *(dict) --* The status details of the analysis template validation. Clean Rooms Differential Privacy uses a general-purpose query structure to support complex SQL queries and validates whether an analysis template fits that general-purpose query structure. Validation is performed when analysis templates are created and fetched. Because analysis templates are immutable by design, we recommend that you create analysis templates after you associate the configured tables with their analysis rule to your collaboration. For more information, see https://docs.aws.amazon.com /clean-rooms/latest/userguide/analysis-rules-custom.html #custom-diff-privacy. * **type** *(string) --* The type of validation that was performed. * **status** *(string) --* The status of the validation. * **reasons** *(list) --* The reasons for the validation results. * *(dict) --* The reasons for the validation results. * **message** *(string) --* The validation message. **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / list_id_namespace_associations list_id_namespace_associations ****************************** CleanRoomsService.Client.list_id_namespace_associations(**kwargs) Returns a list of ID namespace associations. See also: AWS API Documentation **Request Syntax** response = client.list_id_namespace_associations( membershipIdentifier='string', nextToken='string', maxResults=123 ) Parameters: * **membershipIdentifier** (*string*) -- **[REQUIRED]** The unique identifier of the membership that contains the ID namespace association that you want to view. * **nextToken** (*string*) -- The pagination token that's used to fetch the next set of results. * **maxResults** (*integer*) -- The maximum size of the results that is returned per call. Service chooses a default if it has not been set. Service may return a nextToken even if the maximum results has not been met. Return type: dict Returns: **Response Syntax** { 'nextToken': 'string', 'idNamespaceAssociationSummaries': [ { 'membershipId': 'string', 'membershipArn': 'string', 'collaborationArn': 'string', 'collaborationId': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'id': 'string', 'arn': 'string', 'inputReferenceConfig': { 'inputReferenceArn': 'string', 'manageResourcePolicies': True|False }, 'name': 'string', 'description': 'string', 'inputReferenceProperties': { 'idNamespaceType': 'SOURCE'|'TARGET' } }, ] } **Response Structure** * *(dict) --* * **nextToken** *(string) --* The token value provided to access the next page of results. * **idNamespaceAssociationSummaries** *(list) --* The summary information of the ID namespace associations that you requested. * *(dict) --* Detailed information about the ID namespace association. * **membershipId** *(string) --* The unique identifier of the membership resource for this ID namespace association. * **membershipArn** *(string) --* The Amazon Resource Name (ARN) of the membership resource for this ID namespace association. * **collaborationArn** *(string) --* The Amazon Resource Name (ARN) of the collaboration that contains this ID namespace association. * **collaborationId** *(string) --* The unique identifier of the collaboration that contains this ID namespace association. * **createTime** *(datetime) --* The time at which this ID namespace association was created. * **updateTime** *(datetime) --* The most recent time at which this ID namespace association has been updated. * **id** *(string) --* The unique identifier of this ID namespace association. * **arn** *(string) --* The Amazon Resource Name (ARN) of this ID namespace association. * **inputReferenceConfig** *(dict) --* The input reference configuration details for this ID namespace association. * **inputReferenceArn** *(string) --* The Amazon Resource Name (ARN) of the Entity Resolution resource that is being associated to the collaboration. Valid resource ARNs are from the ID namespaces that you own. * **manageResourcePolicies** *(boolean) --* When "TRUE", Clean Rooms manages permissions for the ID namespace association resource. When "FALSE", the resource owner manages permissions for the ID namespace association resource. * **name** *(string) --* The name of the ID namespace association. * **description** *(string) --* The description of the ID namespace association. * **inputReferenceProperties** *(dict) --* The input reference properties for this ID namespace association. * **idNamespaceType** *(string) --* The ID namespace type for this ID namespace association. **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / get_configured_table get_configured_table ******************** CleanRoomsService.Client.get_configured_table(**kwargs) Retrieves a configured table. See also: AWS API Documentation **Request Syntax** response = client.get_configured_table( configuredTableIdentifier='string' ) Parameters: **configuredTableIdentifier** (*string*) -- **[REQUIRED]** The unique ID for the configured table to retrieve. Return type: dict Returns: **Response Syntax** { 'configuredTable': { 'id': 'string', 'arn': 'string', 'name': 'string', 'description': 'string', 'tableReference': { 'glue': { 'tableName': 'string', 'databaseName': 'string' }, 'snowflake': { 'secretArn': 'string', 'accountIdentifier': 'string', 'databaseName': 'string', 'tableName': 'string', 'schemaName': 'string', 'tableSchema': { 'v1': [ { 'columnName': 'string', 'columnType': 'string' }, ] } }, 'athena': { 'workGroup': 'string', 'outputLocation': 'string', 'databaseName': 'string', 'tableName': 'string' } }, 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'analysisRuleTypes': [ 'AGGREGATION'|'LIST'|'CUSTOM', ], 'analysisMethod': 'DIRECT_QUERY'|'DIRECT_JOB'|'MULTIPLE', 'allowedColumns': [ 'string', ], 'selectedAnalysisMethods': [ 'DIRECT_QUERY'|'DIRECT_JOB', ] } } **Response Structure** * *(dict) --* * **configuredTable** *(dict) --* The retrieved configured table. * **id** *(string) --* The unique ID for the configured table. * **arn** *(string) --* The unique ARN for the configured table. * **name** *(string) --* A name for the configured table. * **description** *(string) --* A description for the configured table. * **tableReference** *(dict) --* The table that this configured table represents. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "glue", "snowflake", "athena". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **glue** *(dict) --* If present, a reference to the Glue table referred to by this table reference. * **tableName** *(string) --* The name of the Glue table. * **databaseName** *(string) --* The name of the database the Glue table belongs to. * **snowflake** *(dict) --* If present, a reference to the Snowflake table referred to by this table reference. * **secretArn** *(string) --* The secret ARN of the Snowflake table reference. * **accountIdentifier** *(string) --* The account identifier for the Snowflake table reference. * **databaseName** *(string) --* The name of the database the Snowflake table belongs to. * **tableName** *(string) --* The name of the Snowflake table. * **schemaName** *(string) --* The schema name of the Snowflake table reference. * **tableSchema** *(dict) --* The schema of the Snowflake table. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "v1". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **v1** *(list) --* The schema of a Snowflake table. * *(dict) --* The Snowflake table schema. * **columnName** *(string) --* The column name. * **columnType** *(string) --* The column's data type. Supported data types: "ARRAY", "BIGINT", "BOOLEAN", "CHAR", "DATE", "DECIMAL", "DOUBLE", "DOUBLE PRECISION", "FLOAT", "FLOAT4", "INT", "INTEGER", "MAP", "NUMERIC", "NUMBER", "REAL", "SMALLINT", "STRING", "TIMESTAMP", "TIMESTAMP_LTZ", "TIMESTAMP_NTZ", "DATETIME", "TINYINT", "VARCHAR", "TEXT", "CHARACTER". * **athena** *(dict) --* If present, a reference to the Athena table referred to by this table reference. * **workGroup** *(string) --* The workgroup of the Athena table reference. * **outputLocation** *(string) --* The output location for the Athena table. * **databaseName** *(string) --* The database name. * **tableName** *(string) --* The table reference. * **createTime** *(datetime) --* The time the configured table was created. * **updateTime** *(datetime) --* The time the configured table was last updated * **analysisRuleTypes** *(list) --* The types of analysis rules associated with this configured table. Currently, only one analysis rule may be associated with a configured table. * *(string) --* * **analysisMethod** *(string) --* The analysis method for the configured table. "DIRECT_QUERY" allows SQL queries to be run directly on this table. "DIRECT_JOB" allows PySpark jobs to be run directly on this table. "MULTIPLE" allows both SQL queries and PySpark jobs to be run directly on this table. * **allowedColumns** *(list) --* The columns within the underlying Glue table that can be utilized within collaborations. * *(string) --* * **selectedAnalysisMethods** *(list) --* The selected analysis methods for the configured table. * *(string) --* **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / list_memberships list_memberships **************** CleanRoomsService.Client.list_memberships(**kwargs) Lists all memberships resources within the caller's account. See also: AWS API Documentation **Request Syntax** response = client.list_memberships( nextToken='string', maxResults=123, status='ACTIVE'|'REMOVED'|'COLLABORATION_DELETED' ) Parameters: * **nextToken** (*string*) -- The pagination token that's used to fetch the next set of results. * **maxResults** (*integer*) -- The maximum number of results that are returned for an API request call. The service chooses a default number if you don't set one. The service might return a *nextToken* even if the *maxResults* value has not been met. * **status** (*string*) -- A filter which will return only memberships in the specified status. Return type: dict Returns: **Response Syntax** { 'nextToken': 'string', 'membershipSummaries': [ { 'id': 'string', 'arn': 'string', 'collaborationArn': 'string', 'collaborationId': 'string', 'collaborationCreatorAccountId': 'string', 'collaborationCreatorDisplayName': 'string', 'collaborationName': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'status': 'ACTIVE'|'REMOVED'|'COLLABORATION_DELETED', 'memberAbilities': [ 'CAN_QUERY'|'CAN_RECEIVE_RESULTS'|'CAN_RUN_JOB', ], 'mlMemberAbilities': { 'customMLMemberAbilities': [ 'CAN_RECEIVE_MODEL_OUTPUT'|'CAN_RECEIVE_INFERENCE_OUTPUT', ] }, 'paymentConfiguration': { 'queryCompute': { 'isResponsible': True|False }, 'machineLearning': { 'modelTraining': { 'isResponsible': True|False }, 'modelInference': { 'isResponsible': True|False } }, 'jobCompute': { 'isResponsible': True|False } } }, ] } **Response Structure** * *(dict) --* * **nextToken** *(string) --* The pagination token that's used to fetch the next set of results. * **membershipSummaries** *(list) --* The list of memberships returned from the ListMemberships operation. * *(dict) --* The membership object listed by the request. * **id** *(string) --* The unique ID for the membership's collaboration. * **arn** *(string) --* The unique ARN for the membership. * **collaborationArn** *(string) --* The unique ARN for the membership's associated collaboration. * **collaborationId** *(string) --* The unique ID for the membership's collaboration. * **collaborationCreatorAccountId** *(string) --* The identifier of the Amazon Web Services principal that created the collaboration. Currently only supports Amazon Web Services account ID. * **collaborationCreatorDisplayName** *(string) --* The display name of the collaboration creator. * **collaborationName** *(string) --* The name for the membership's collaboration. * **createTime** *(datetime) --* The time when the membership was created. * **updateTime** *(datetime) --* The time the membership metadata was last updated. * **status** *(string) --* The status of the membership. * **memberAbilities** *(list) --* The abilities granted to the collaboration member. * *(string) --* * **mlMemberAbilities** *(dict) --* Provides a summary of the ML abilities for the collaboration member. * **customMLMemberAbilities** *(list) --* The custom ML member abilities for a collaboration member. * *(string) --* * **paymentConfiguration** *(dict) --* The payment responsibilities accepted by the collaboration member. * **queryCompute** *(dict) --* The payment responsibilities accepted by the collaboration member for query compute costs. * **isResponsible** *(boolean) --* Indicates whether the collaboration member has accepted to pay for query compute costs ( "TRUE") or has not accepted to pay for query compute costs ( "FALSE"). If the collaboration creator has not specified anyone to pay for query compute costs, then the member who can query is the default payer. An error message is returned for the following reasons: * If you set the value to "FALSE" but you are responsible to pay for query compute costs. * If you set the value to "TRUE" but you are not responsible to pay for query compute costs. * **machineLearning** *(dict) --* The payment responsibilities accepted by the collaboration member for machine learning costs. * **modelTraining** *(dict) --* The payment responsibilities accepted by the member for model training. * **isResponsible** *(boolean) --* Indicates whether the collaboration member has accepted to pay for model training costs ( "TRUE") or has not accepted to pay for model training costs ( "FALSE"). If the collaboration creator has not specified anyone to pay for model training costs, then the member who can query is the default payer. An error message is returned for the following reasons: * If you set the value to "FALSE" but you are responsible to pay for model training costs. * If you set the value to "TRUE" but you are not responsible to pay for model training costs. * **modelInference** *(dict) --* The payment responsibilities accepted by the member for model inference. * **isResponsible** *(boolean) --* Indicates whether the collaboration member has accepted to pay for model inference costs ( "TRUE") or has not accepted to pay for model inference costs ( "FALSE"). If the collaboration creator has not specified anyone to pay for model inference costs, then the member who can query is the default payer. An error message is returned for the following reasons: * If you set the value to "FALSE" but you are responsible to pay for model inference costs. * If you set the value to "TRUE" but you are not responsible to pay for model inference costs. * **jobCompute** *(dict) --* The payment responsibilities accepted by the collaboration member for job compute costs. * **isResponsible** *(boolean) --* Indicates whether the collaboration member has accepted to pay for job compute costs ( "TRUE") or has not accepted to pay for query and job compute costs ( "FALSE"). There is only one member who pays for queries and jobs. An error message is returned for the following reasons: * If you set the value to "FALSE" but you are responsible to pay for query and job compute costs. * If you set the value to "TRUE" but you are not responsible to pay for query and job compute costs. **Exceptions** * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / get_configured_table_analysis_rule get_configured_table_analysis_rule ********************************** CleanRoomsService.Client.get_configured_table_analysis_rule(**kwargs) Retrieves a configured table analysis rule. See also: AWS API Documentation **Request Syntax** response = client.get_configured_table_analysis_rule( configuredTableIdentifier='string', analysisRuleType='AGGREGATION'|'LIST'|'CUSTOM' ) Parameters: * **configuredTableIdentifier** (*string*) -- **[REQUIRED]** The unique identifier for the configured table to retrieve. Currently accepts the configured table ID. * **analysisRuleType** (*string*) -- **[REQUIRED]** The analysis rule to be retrieved. Configured table analysis rules are uniquely identified by their configured table identifier and analysis rule type. Return type: dict Returns: **Response Syntax** { 'analysisRule': { 'configuredTableId': 'string', 'configuredTableArn': 'string', 'policy': { 'v1': { 'list': { 'joinColumns': [ 'string', ], 'allowedJoinOperators': [ 'OR'|'AND', ], 'listColumns': [ 'string', ], 'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED' }, 'aggregation': { 'aggregateColumns': [ { 'columnNames': [ 'string', ], 'function': 'SUM'|'SUM_DISTINCT'|'COUNT'|'COUNT_DISTINCT'|'AVG' }, ], 'joinColumns': [ 'string', ], 'joinRequired': 'QUERY_RUNNER', 'allowedJoinOperators': [ 'OR'|'AND', ], 'dimensionColumns': [ 'string', ], 'scalarFunctions': [ 'ABS'|'CAST'|'CEILING'|'COALESCE'|'CONVERT'|'CURRENT_DATE'|'DATEADD'|'EXTRACT'|'FLOOR'|'GETDATE'|'LN'|'LOG'|'LOWER'|'ROUND'|'RTRIM'|'SQRT'|'SUBSTRING'|'TO_CHAR'|'TO_DATE'|'TO_NUMBER'|'TO_TIMESTAMP'|'TRIM'|'TRUNC'|'UPPER', ], 'outputConstraints': [ { 'columnName': 'string', 'minimum': 123, 'type': 'COUNT_DISTINCT' }, ], 'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED' }, 'custom': { 'allowedAnalyses': [ 'string', ], 'allowedAnalysisProviders': [ 'string', ], 'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED', 'disallowedOutputColumns': [ 'string', ], 'differentialPrivacy': { 'columns': [ { 'name': 'string' }, ] } } } }, 'type': 'AGGREGATION'|'LIST'|'CUSTOM', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1) } } **Response Structure** * *(dict) --* * **analysisRule** *(dict) --* The entire analysis rule output. * **configuredTableId** *(string) --* The unique ID for the configured table. * **configuredTableArn** *(string) --* The unique ARN for the configured table. * **policy** *(dict) --* The policy that controls SQL query rules. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "v1". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **v1** *(dict) --* Controls on the query specifications that can be run on a configured table. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "list", "aggregation", "custom". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **list** *(dict) --* Analysis rule type that enables only list queries on a configured table. * **joinColumns** *(list) --* Columns that can be used to join a configured table with the table of the member who can query and other members' configured tables. * *(string) --* * **allowedJoinOperators** *(list) --* The logical operators (if any) that are to be used in an INNER JOIN match condition. Default is "AND". * *(string) --* * **listColumns** *(list) --* Columns that can be listed in the output. * *(string) --* * **additionalAnalyses** *(string) --* An indicator as to whether additional analyses (such as Clean Rooms ML) can be applied to the output of the direct query. * **aggregation** *(dict) --* Analysis rule type that enables only aggregation queries on a configured table. * **aggregateColumns** *(list) --* The columns that query runners are allowed to use in aggregation queries. * *(dict) --* Column in configured table that can be used in aggregate function in query. * **columnNames** *(list) --* Column names in configured table of aggregate columns. * *(string) --* * **function** *(string) --* Aggregation function that can be applied to aggregate column in query. * **joinColumns** *(list) --* Columns in configured table that can be used in join statements and/or as aggregate columns. They can never be outputted directly. * *(string) --* * **joinRequired** *(string) --* Control that requires member who runs query to do a join with their configured table and/or other configured table in query. * **allowedJoinOperators** *(list) --* Which logical operators (if any) are to be used in an INNER JOIN match condition. Default is "AND". * *(string) --* * **dimensionColumns** *(list) --* The columns that query runners are allowed to select, group by, or filter by. * *(string) --* * **scalarFunctions** *(list) --* Set of scalar functions that are allowed to be used on dimension columns and the output of aggregation of metrics. * *(string) --* * **outputConstraints** *(list) --* Columns that must meet a specific threshold value (after an aggregation function is applied to it) for each output row to be returned. * *(dict) --* Constraint on query output removing output rows that do not meet a minimum number of distinct values of a specified column. * **columnName** *(string) --* Column in aggregation constraint for which there must be a minimum number of distinct values in an output row for it to be in the query output. * **minimum** *(integer) --* The minimum number of distinct values that an output row must be an aggregation of. Minimum threshold of distinct values for a specified column that must exist in an output row for it to be in the query output. * **type** *(string) --* The type of aggregation the constraint allows. The only valid value is currently *COUNT_DISTINCT*. * **additionalAnalyses** *(string) --* An indicator as to whether additional analyses (such as Clean Rooms ML) can be applied to the output of the direct query. The "additionalAnalyses" parameter is currently supported for the list analysis rule ( "AnalysisRuleList") and the custom analysis rule ( "AnalysisRuleCustom"). * **custom** *(dict) --* A type of analysis rule that enables the table owner to approve custom SQL queries on their configured tables. It supports differential privacy. * **allowedAnalyses** *(list) --* The ARN of the analysis templates that are allowed by the custom analysis rule. * *(string) --* * **allowedAnalysisProviders** *(list) --* The IDs of the Amazon Web Services accounts that are allowed to query by the custom analysis rule. Required when "allowedAnalyses" is "ANY_QUERY". * *(string) --* * **additionalAnalyses** *(string) --* An indicator as to whether additional analyses (such as Clean Rooms ML) can be applied to the output of the direct query. * **disallowedOutputColumns** *(list) --* A list of columns that aren't allowed to be shown in the query output. * *(string) --* * **differentialPrivacy** *(dict) --* The differential privacy configuration. * **columns** *(list) --* The name of the column (such as user_id) that contains the unique identifier of your users whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules. * *(dict) --* Specifies the name of the column that contains the unique identifier of your users, whose privacy you want to protect. * **name** *(string) --* The name of the column, such as user_id, that contains the unique identifier of your users, whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules. * **type** *(string) --* The type of configured table analysis rule. * **createTime** *(datetime) --* The time the configured table analysis rule was created. * **updateTime** *(datetime) --* The time the configured table analysis rule was last updated. **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / delete_privacy_budget_template delete_privacy_budget_template ****************************** CleanRoomsService.Client.delete_privacy_budget_template(**kwargs) Deletes a privacy budget template for a specified collaboration. See also: AWS API Documentation **Request Syntax** response = client.delete_privacy_budget_template( membershipIdentifier='string', privacyBudgetTemplateIdentifier='string' ) Parameters: * **membershipIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for one of your memberships for a collaboration. The privacy budget template is deleted from the collaboration that this membership belongs to. Accepts a membership ID. * **privacyBudgetTemplateIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for your privacy budget template. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / create_membership create_membership ***************** CleanRoomsService.Client.create_membership(**kwargs) Creates a membership for a specific collaboration identifier and joins the collaboration. See also: AWS API Documentation **Request Syntax** response = client.create_membership( collaborationIdentifier='string', queryLogStatus='ENABLED'|'DISABLED', jobLogStatus='ENABLED'|'DISABLED', tags={ 'string': 'string' }, defaultResultConfiguration={ 'outputConfiguration': { 's3': { 'resultFormat': 'CSV'|'PARQUET', 'bucket': 'string', 'keyPrefix': 'string', 'singleFileOutput': True|False } }, 'roleArn': 'string' }, defaultJobResultConfiguration={ 'outputConfiguration': { 's3': { 'bucket': 'string', 'keyPrefix': 'string' } }, 'roleArn': 'string' }, paymentConfiguration={ 'queryCompute': { 'isResponsible': True|False }, 'machineLearning': { 'modelTraining': { 'isResponsible': True|False }, 'modelInference': { 'isResponsible': True|False } }, 'jobCompute': { 'isResponsible': True|False } } ) Parameters: * **collaborationIdentifier** (*string*) -- **[REQUIRED]** The unique ID for the associated collaboration. * **queryLogStatus** (*string*) -- **[REQUIRED]** An indicator as to whether query logging has been enabled or disabled for the membership. When "ENABLED", Clean Rooms logs details about queries run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is "DISABLED". * **jobLogStatus** (*string*) -- An indicator as to whether job logging has been enabled or disabled for the collaboration. When "ENABLED", Clean Rooms logs details about jobs run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is "DISABLED". * **tags** (*dict*) -- An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource. * *(string) --* * *(string) --* * **defaultResultConfiguration** (*dict*) -- The default protected query result configuration as specified by the member who can receive results. * **outputConfiguration** *(dict) --* **[REQUIRED]** Configuration for protected query results. Note: This is a Tagged Union structure. Only one of the following top level keys can be set: "s3". * **s3** *(dict) --* Contains the configuration to write the query results to S3. * **resultFormat** *(string) --* **[REQUIRED]** Intended file format of the result. * **bucket** *(string) --* **[REQUIRED]** The S3 bucket to unload the protected query results. * **keyPrefix** *(string) --* The S3 prefix to unload the protected query results. * **singleFileOutput** *(boolean) --* Indicates whether files should be output as a single file ( "TRUE") or output as multiple files ( "FALSE"). This parameter is only supported for analyses with the Spark analytics engine. * **roleArn** *(string) --* The unique ARN for an IAM role that is used by Clean Rooms to write protected query results to the result location, given by the member who can receive results. * **defaultJobResultConfiguration** (*dict*) -- The default job result configuration that determines how job results are protected and managed within this membership. This configuration applies to all jobs. * **outputConfiguration** *(dict) --* **[REQUIRED]** The output configuration for a protected job result. Note: This is a Tagged Union structure. Only one of the following top level keys can be set: "s3". * **s3** *(dict) --* Contains the configuration to write the job results to S3. * **bucket** *(string) --* **[REQUIRED]** The S3 bucket for job output. * **keyPrefix** *(string) --* The S3 prefix to unload the protected job results. * **roleArn** *(string) --* **[REQUIRED]** The unique ARN for an IAM role that is used by Clean Rooms to write protected job results to the result location, given by the member who can receive results. * **paymentConfiguration** (*dict*) -- The payment responsibilities accepted by the collaboration member. Not required if the collaboration member has the member ability to run queries. Required if the collaboration member doesn't have the member ability to run queries but is configured as a payer by the collaboration creator. * **queryCompute** *(dict) --* **[REQUIRED]** The payment responsibilities accepted by the collaboration member for query compute costs. * **isResponsible** *(boolean) --* **[REQUIRED]** Indicates whether the collaboration member has accepted to pay for query compute costs ( "TRUE") or has not accepted to pay for query compute costs ( "FALSE"). If the collaboration creator has not specified anyone to pay for query compute costs, then the member who can query is the default payer. An error message is returned for the following reasons: * If you set the value to "FALSE" but you are responsible to pay for query compute costs. * If you set the value to "TRUE" but you are not responsible to pay for query compute costs. * **machineLearning** *(dict) --* The payment responsibilities accepted by the collaboration member for machine learning costs. * **modelTraining** *(dict) --* The payment responsibilities accepted by the member for model training. * **isResponsible** *(boolean) --* **[REQUIRED]** Indicates whether the collaboration member has accepted to pay for model training costs ( "TRUE") or has not accepted to pay for model training costs ( "FALSE"). If the collaboration creator has not specified anyone to pay for model training costs, then the member who can query is the default payer. An error message is returned for the following reasons: * If you set the value to "FALSE" but you are responsible to pay for model training costs. * If you set the value to "TRUE" but you are not responsible to pay for model training costs. * **modelInference** *(dict) --* The payment responsibilities accepted by the member for model inference. * **isResponsible** *(boolean) --* **[REQUIRED]** Indicates whether the collaboration member has accepted to pay for model inference costs ( "TRUE") or has not accepted to pay for model inference costs ( "FALSE"). If the collaboration creator has not specified anyone to pay for model inference costs, then the member who can query is the default payer. An error message is returned for the following reasons: * If you set the value to "FALSE" but you are responsible to pay for model inference costs. * If you set the value to "TRUE" but you are not responsible to pay for model inference costs. * **jobCompute** *(dict) --* The payment responsibilities accepted by the collaboration member for job compute costs. * **isResponsible** *(boolean) --* **[REQUIRED]** Indicates whether the collaboration member has accepted to pay for job compute costs ( "TRUE") or has not accepted to pay for query and job compute costs ( "FALSE"). There is only one member who pays for queries and jobs. An error message is returned for the following reasons: * If you set the value to "FALSE" but you are responsible to pay for query and job compute costs. * If you set the value to "TRUE" but you are not responsible to pay for query and job compute costs. Return type: dict Returns: **Response Syntax** { 'membership': { 'id': 'string', 'arn': 'string', 'collaborationArn': 'string', 'collaborationId': 'string', 'collaborationCreatorAccountId': 'string', 'collaborationCreatorDisplayName': 'string', 'collaborationName': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'status': 'ACTIVE'|'REMOVED'|'COLLABORATION_DELETED', 'memberAbilities': [ 'CAN_QUERY'|'CAN_RECEIVE_RESULTS'|'CAN_RUN_JOB', ], 'mlMemberAbilities': { 'customMLMemberAbilities': [ 'CAN_RECEIVE_MODEL_OUTPUT'|'CAN_RECEIVE_INFERENCE_OUTPUT', ] }, 'queryLogStatus': 'ENABLED'|'DISABLED', 'jobLogStatus': 'ENABLED'|'DISABLED', 'defaultResultConfiguration': { 'outputConfiguration': { 's3': { 'resultFormat': 'CSV'|'PARQUET', 'bucket': 'string', 'keyPrefix': 'string', 'singleFileOutput': True|False } }, 'roleArn': 'string' }, 'defaultJobResultConfiguration': { 'outputConfiguration': { 's3': { 'bucket': 'string', 'keyPrefix': 'string' } }, 'roleArn': 'string' }, 'paymentConfiguration': { 'queryCompute': { 'isResponsible': True|False }, 'machineLearning': { 'modelTraining': { 'isResponsible': True|False }, 'modelInference': { 'isResponsible': True|False } }, 'jobCompute': { 'isResponsible': True|False } } } } **Response Structure** * *(dict) --* * **membership** *(dict) --* The membership that was created. * **id** *(string) --* The unique ID of the membership. * **arn** *(string) --* The unique ARN for the membership. * **collaborationArn** *(string) --* The unique ARN for the membership's associated collaboration. * **collaborationId** *(string) --* The unique ID for the membership's collaboration. * **collaborationCreatorAccountId** *(string) --* The identifier used to reference members of the collaboration. Currently only supports Amazon Web Services account ID. * **collaborationCreatorDisplayName** *(string) --* The display name of the collaboration creator. * **collaborationName** *(string) --* The name of the membership's collaboration. * **createTime** *(datetime) --* The time when the membership was created. * **updateTime** *(datetime) --* The time the membership metadata was last updated. * **status** *(string) --* The status of the membership. * **memberAbilities** *(list) --* The abilities granted to the collaboration member. * *(string) --* * **mlMemberAbilities** *(dict) --* Specifies the ML member abilities that are granted to a collaboration member. * **customMLMemberAbilities** *(list) --* The custom ML member abilities for a collaboration member. * *(string) --* * **queryLogStatus** *(string) --* An indicator as to whether query logging has been enabled or disabled for the membership. When "ENABLED", Clean Rooms logs details about queries run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is "DISABLED". * **jobLogStatus** *(string) --* An indicator as to whether job logging has been enabled or disabled for the collaboration. When "ENABLED", Clean Rooms logs details about jobs run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is "DISABLED". * **defaultResultConfiguration** *(dict) --* The default protected query result configuration as specified by the member who can receive results. * **outputConfiguration** *(dict) --* Configuration for protected query results. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "s3". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **s3** *(dict) --* Contains the configuration to write the query results to S3. * **resultFormat** *(string) --* Intended file format of the result. * **bucket** *(string) --* The S3 bucket to unload the protected query results. * **keyPrefix** *(string) --* The S3 prefix to unload the protected query results. * **singleFileOutput** *(boolean) --* Indicates whether files should be output as a single file ( "TRUE") or output as multiple files ( "FALSE"). This parameter is only supported for analyses with the Spark analytics engine. * **roleArn** *(string) --* The unique ARN for an IAM role that is used by Clean Rooms to write protected query results to the result location, given by the member who can receive results. * **defaultJobResultConfiguration** *(dict) --* The default job result configuration for the membership. * **outputConfiguration** *(dict) --* The output configuration for a protected job result. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "s3". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **s3** *(dict) --* Contains the configuration to write the job results to S3. * **bucket** *(string) --* The S3 bucket for job output. * **keyPrefix** *(string) --* The S3 prefix to unload the protected job results. * **roleArn** *(string) --* The unique ARN for an IAM role that is used by Clean Rooms to write protected job results to the result location, given by the member who can receive results. * **paymentConfiguration** *(dict) --* The payment responsibilities accepted by the collaboration member. * **queryCompute** *(dict) --* The payment responsibilities accepted by the collaboration member for query compute costs. * **isResponsible** *(boolean) --* Indicates whether the collaboration member has accepted to pay for query compute costs ( "TRUE") or has not accepted to pay for query compute costs ( "FALSE"). If the collaboration creator has not specified anyone to pay for query compute costs, then the member who can query is the default payer. An error message is returned for the following reasons: * If you set the value to "FALSE" but you are responsible to pay for query compute costs. * If you set the value to "TRUE" but you are not responsible to pay for query compute costs. * **machineLearning** *(dict) --* The payment responsibilities accepted by the collaboration member for machine learning costs. * **modelTraining** *(dict) --* The payment responsibilities accepted by the member for model training. * **isResponsible** *(boolean) --* Indicates whether the collaboration member has accepted to pay for model training costs ( "TRUE") or has not accepted to pay for model training costs ( "FALSE"). If the collaboration creator has not specified anyone to pay for model training costs, then the member who can query is the default payer. An error message is returned for the following reasons: * If you set the value to "FALSE" but you are responsible to pay for model training costs. * If you set the value to "TRUE" but you are not responsible to pay for model training costs. * **modelInference** *(dict) --* The payment responsibilities accepted by the member for model inference. * **isResponsible** *(boolean) --* Indicates whether the collaboration member has accepted to pay for model inference costs ( "TRUE") or has not accepted to pay for model inference costs ( "FALSE"). If the collaboration creator has not specified anyone to pay for model inference costs, then the member who can query is the default payer. An error message is returned for the following reasons: * If you set the value to "FALSE" but you are responsible to pay for model inference costs. * If you set the value to "TRUE" but you are not responsible to pay for model inference costs. * **jobCompute** *(dict) --* The payment responsibilities accepted by the collaboration member for job compute costs. * **isResponsible** *(boolean) --* Indicates whether the collaboration member has accepted to pay for job compute costs ( "TRUE") or has not accepted to pay for query and job compute costs ( "FALSE"). There is only one member who pays for queries and jobs. An error message is returned for the following reasons: * If you set the value to "FALSE" but you are responsible to pay for query and job compute costs. * If you set the value to "TRUE" but you are not responsible to pay for query and job compute costs. **Exceptions** * "CleanRoomsService.Client.exceptions.ConflictException" * "CleanRoomsService.Client.exceptions.ServiceQuotaExceededExcepti on" * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / update_collaboration update_collaboration ******************** CleanRoomsService.Client.update_collaboration(**kwargs) Updates collaboration metadata and can only be called by the collaboration owner. See also: AWS API Documentation **Request Syntax** response = client.update_collaboration( collaborationIdentifier='string', name='string', description='string', analyticsEngine='SPARK'|'CLEAN_ROOMS_SQL' ) Parameters: * **collaborationIdentifier** (*string*) -- **[REQUIRED]** The identifier for the collaboration. * **name** (*string*) -- A human-readable identifier provided by the collaboration owner. Display names are not unique. * **description** (*string*) -- A description of the collaboration. * **analyticsEngine** (*string*) -- The analytics engine. Note: After July 16, 2025, the "CLEAN_ROOMS_SQL" parameter will no longer be available. Return type: dict Returns: **Response Syntax** { 'collaboration': { 'id': 'string', 'arn': 'string', 'name': 'string', 'description': 'string', 'creatorAccountId': 'string', 'creatorDisplayName': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'memberStatus': 'INVITED'|'ACTIVE'|'LEFT'|'REMOVED', 'membershipId': 'string', 'membershipArn': 'string', 'dataEncryptionMetadata': { 'allowCleartext': True|False, 'allowDuplicates': True|False, 'allowJoinsOnColumnsWithDifferentNames': True|False, 'preserveNulls': True|False }, 'queryLogStatus': 'ENABLED'|'DISABLED', 'jobLogStatus': 'ENABLED'|'DISABLED', 'analyticsEngine': 'SPARK'|'CLEAN_ROOMS_SQL' } } **Response Structure** * *(dict) --* * **collaboration** *(dict) --* The entire collaboration that has been updated. * **id** *(string) --* The unique ID for the collaboration. * **arn** *(string) --* The unique ARN for the collaboration. * **name** *(string) --* A human-readable identifier provided by the collaboration owner. Display names are not unique. * **description** *(string) --* A description of the collaboration provided by the collaboration owner. * **creatorAccountId** *(string) --* The identifier used to reference members of the collaboration. Currently only supports Amazon Web Services account ID. * **creatorDisplayName** *(string) --* A display name of the collaboration creator. * **createTime** *(datetime) --* The time when the collaboration was created. * **updateTime** *(datetime) --* The time the collaboration metadata was last updated. * **memberStatus** *(string) --* The status of a member in a collaboration. * **membershipId** *(string) --* The unique ID for your membership within the collaboration. * **membershipArn** *(string) --* The unique ARN for your membership within the collaboration. * **dataEncryptionMetadata** *(dict) --* The settings for client-side encryption for cryptographic computing. * **allowCleartext** *(boolean) --* Indicates whether encrypted tables can contain cleartext data ( "TRUE") or are to cryptographically process every column ( "FALSE"). * **allowDuplicates** *(boolean) --* Indicates whether Fingerprint columns can contain duplicate entries ( "TRUE") or are to contain only non- repeated values ( "FALSE"). * **allowJoinsOnColumnsWithDifferentNames** *(boolean) --* Indicates whether Fingerprint columns can be joined on any other Fingerprint column with a different name ( "TRUE") or can only be joined on Fingerprint columns of the same name ( "FALSE"). * **preserveNulls** *(boolean) --* Indicates whether NULL values are to be copied as NULL to encrypted tables ( "TRUE") or cryptographically processed ( "FALSE"). * **queryLogStatus** *(string) --* An indicator as to whether query logging has been enabled or disabled for the collaboration. When "ENABLED", Clean Rooms logs details about queries run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is "DISABLED". * **jobLogStatus** *(string) --* An indicator as to whether job logging has been enabled or disabled for the collaboration. When "ENABLED", Clean Rooms logs details about jobs run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is "DISABLED". * **analyticsEngine** *(string) --* The analytics engine for the collaboration. Note: After July 16, 2025, the "CLEAN_ROOMS_SQL" parameter will no longer be available. **Exceptions** * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / delete_configured_table delete_configured_table *********************** CleanRoomsService.Client.delete_configured_table(**kwargs) Deletes a configured table. See also: AWS API Documentation **Request Syntax** response = client.delete_configured_table( configuredTableIdentifier='string' ) Parameters: **configuredTableIdentifier** (*string*) -- **[REQUIRED]** The unique ID for the configured table to delete. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* The empty output for a successful deletion. **Exceptions** * "CleanRoomsService.Client.exceptions.ConflictException" * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / get_schema_analysis_rule get_schema_analysis_rule ************************ CleanRoomsService.Client.get_schema_analysis_rule(**kwargs) Retrieves a schema analysis rule. See also: AWS API Documentation **Request Syntax** response = client.get_schema_analysis_rule( collaborationIdentifier='string', name='string', type='AGGREGATION'|'LIST'|'CUSTOM'|'ID_MAPPING_TABLE' ) Parameters: * **collaborationIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for the collaboration that the schema belongs to. Currently accepts a collaboration ID. * **name** (*string*) -- **[REQUIRED]** The name of the schema to retrieve the analysis rule for. * **type** (*string*) -- **[REQUIRED]** The type of the schema analysis rule to retrieve. Schema analysis rules are uniquely identified by a combination of the collaboration, the schema name, and their type. Return type: dict Returns: **Response Syntax** { 'analysisRule': { 'collaborationId': 'string', 'type': 'AGGREGATION'|'LIST'|'CUSTOM'|'ID_MAPPING_TABLE', 'name': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'policy': { 'v1': { 'list': { 'joinColumns': [ 'string', ], 'allowedJoinOperators': [ 'OR'|'AND', ], 'listColumns': [ 'string', ], 'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED' }, 'aggregation': { 'aggregateColumns': [ { 'columnNames': [ 'string', ], 'function': 'SUM'|'SUM_DISTINCT'|'COUNT'|'COUNT_DISTINCT'|'AVG' }, ], 'joinColumns': [ 'string', ], 'joinRequired': 'QUERY_RUNNER', 'allowedJoinOperators': [ 'OR'|'AND', ], 'dimensionColumns': [ 'string', ], 'scalarFunctions': [ 'ABS'|'CAST'|'CEILING'|'COALESCE'|'CONVERT'|'CURRENT_DATE'|'DATEADD'|'EXTRACT'|'FLOOR'|'GETDATE'|'LN'|'LOG'|'LOWER'|'ROUND'|'RTRIM'|'SQRT'|'SUBSTRING'|'TO_CHAR'|'TO_DATE'|'TO_NUMBER'|'TO_TIMESTAMP'|'TRIM'|'TRUNC'|'UPPER', ], 'outputConstraints': [ { 'columnName': 'string', 'minimum': 123, 'type': 'COUNT_DISTINCT' }, ], 'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED' }, 'custom': { 'allowedAnalyses': [ 'string', ], 'allowedAnalysisProviders': [ 'string', ], 'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED', 'disallowedOutputColumns': [ 'string', ], 'differentialPrivacy': { 'columns': [ { 'name': 'string' }, ] } }, 'idMappingTable': { 'joinColumns': [ 'string', ], 'queryConstraints': [ { 'requireOverlap': { 'columns': [ 'string', ] } }, ], 'dimensionColumns': [ 'string', ] } } }, 'collaborationPolicy': { 'v1': { 'list': { 'allowedResultReceivers': [ 'string', ], 'allowedAdditionalAnalyses': [ 'string', ] }, 'aggregation': { 'allowedResultReceivers': [ 'string', ], 'allowedAdditionalAnalyses': [ 'string', ] }, 'custom': { 'allowedResultReceivers': [ 'string', ], 'allowedAdditionalAnalyses': [ 'string', ] } } }, 'consolidatedPolicy': { 'v1': { 'list': { 'joinColumns': [ 'string', ], 'allowedJoinOperators': [ 'OR'|'AND', ], 'listColumns': [ 'string', ], 'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED', 'allowedResultReceivers': [ 'string', ], 'allowedAdditionalAnalyses': [ 'string', ] }, 'aggregation': { 'aggregateColumns': [ { 'columnNames': [ 'string', ], 'function': 'SUM'|'SUM_DISTINCT'|'COUNT'|'COUNT_DISTINCT'|'AVG' }, ], 'joinColumns': [ 'string', ], 'joinRequired': 'QUERY_RUNNER', 'allowedJoinOperators': [ 'OR'|'AND', ], 'dimensionColumns': [ 'string', ], 'scalarFunctions': [ 'ABS'|'CAST'|'CEILING'|'COALESCE'|'CONVERT'|'CURRENT_DATE'|'DATEADD'|'EXTRACT'|'FLOOR'|'GETDATE'|'LN'|'LOG'|'LOWER'|'ROUND'|'RTRIM'|'SQRT'|'SUBSTRING'|'TO_CHAR'|'TO_DATE'|'TO_NUMBER'|'TO_TIMESTAMP'|'TRIM'|'TRUNC'|'UPPER', ], 'outputConstraints': [ { 'columnName': 'string', 'minimum': 123, 'type': 'COUNT_DISTINCT' }, ], 'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED', 'allowedResultReceivers': [ 'string', ], 'allowedAdditionalAnalyses': [ 'string', ] }, 'custom': { 'allowedAnalyses': [ 'string', ], 'allowedAnalysisProviders': [ 'string', ], 'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED', 'disallowedOutputColumns': [ 'string', ], 'differentialPrivacy': { 'columns': [ { 'name': 'string' }, ] }, 'allowedResultReceivers': [ 'string', ], 'allowedAdditionalAnalyses': [ 'string', ] } } } } } **Response Structure** * *(dict) --* * **analysisRule** *(dict) --* A specification about how data from the configured table can be used. * **collaborationId** *(string) --* The unique ID for the associated collaboration. * **type** *(string) --* The type of analysis rule. * **name** *(string) --* The name for the analysis rule. * **createTime** *(datetime) --* The time the analysis rule was created. * **updateTime** *(datetime) --* The time the analysis rule was last updated. * **policy** *(dict) --* A policy that describes the associated data usage limitations. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "v1". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **v1** *(dict) --* Controls on the query specifications that can be run on configured table. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "list", "aggregation", "custom", "idMappingTable". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **list** *(dict) --* Analysis rule type that enables only list queries on a configured table. * **joinColumns** *(list) --* Columns that can be used to join a configured table with the table of the member who can query and other members' configured tables. * *(string) --* * **allowedJoinOperators** *(list) --* The logical operators (if any) that are to be used in an INNER JOIN match condition. Default is "AND". * *(string) --* * **listColumns** *(list) --* Columns that can be listed in the output. * *(string) --* * **additionalAnalyses** *(string) --* An indicator as to whether additional analyses (such as Clean Rooms ML) can be applied to the output of the direct query. * **aggregation** *(dict) --* Analysis rule type that enables only aggregation queries on a configured table. * **aggregateColumns** *(list) --* The columns that query runners are allowed to use in aggregation queries. * *(dict) --* Column in configured table that can be used in aggregate function in query. * **columnNames** *(list) --* Column names in configured table of aggregate columns. * *(string) --* * **function** *(string) --* Aggregation function that can be applied to aggregate column in query. * **joinColumns** *(list) --* Columns in configured table that can be used in join statements and/or as aggregate columns. They can never be outputted directly. * *(string) --* * **joinRequired** *(string) --* Control that requires member who runs query to do a join with their configured table and/or other configured table in query. * **allowedJoinOperators** *(list) --* Which logical operators (if any) are to be used in an INNER JOIN match condition. Default is "AND". * *(string) --* * **dimensionColumns** *(list) --* The columns that query runners are allowed to select, group by, or filter by. * *(string) --* * **scalarFunctions** *(list) --* Set of scalar functions that are allowed to be used on dimension columns and the output of aggregation of metrics. * *(string) --* * **outputConstraints** *(list) --* Columns that must meet a specific threshold value (after an aggregation function is applied to it) for each output row to be returned. * *(dict) --* Constraint on query output removing output rows that do not meet a minimum number of distinct values of a specified column. * **columnName** *(string) --* Column in aggregation constraint for which there must be a minimum number of distinct values in an output row for it to be in the query output. * **minimum** *(integer) --* The minimum number of distinct values that an output row must be an aggregation of. Minimum threshold of distinct values for a specified column that must exist in an output row for it to be in the query output. * **type** *(string) --* The type of aggregation the constraint allows. The only valid value is currently *COUNT_DISTINCT*. * **additionalAnalyses** *(string) --* An indicator as to whether additional analyses (such as Clean Rooms ML) can be applied to the output of the direct query. The "additionalAnalyses" parameter is currently supported for the list analysis rule ( "AnalysisRuleList") and the custom analysis rule ( "AnalysisRuleCustom"). * **custom** *(dict) --* Analysis rule type that enables custom SQL queries on a configured table. * **allowedAnalyses** *(list) --* The ARN of the analysis templates that are allowed by the custom analysis rule. * *(string) --* * **allowedAnalysisProviders** *(list) --* The IDs of the Amazon Web Services accounts that are allowed to query by the custom analysis rule. Required when "allowedAnalyses" is "ANY_QUERY". * *(string) --* * **additionalAnalyses** *(string) --* An indicator as to whether additional analyses (such as Clean Rooms ML) can be applied to the output of the direct query. * **disallowedOutputColumns** *(list) --* A list of columns that aren't allowed to be shown in the query output. * *(string) --* * **differentialPrivacy** *(dict) --* The differential privacy configuration. * **columns** *(list) --* The name of the column (such as user_id) that contains the unique identifier of your users whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules. * *(dict) --* Specifies the name of the column that contains the unique identifier of your users, whose privacy you want to protect. * **name** *(string) --* The name of the column, such as user_id, that contains the unique identifier of your users, whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules. * **idMappingTable** *(dict) --* The ID mapping table. * **joinColumns** *(list) --* The columns that query runners are allowed to use in an INNER JOIN statement. * *(string) --* * **queryConstraints** *(list) --* The query constraints of the analysis rule ID mapping table. * *(dict) --* Provides any necessary query constraint information. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "requireOverlap". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **requireOverlap** *(dict) --* An array of column names that specifies which columns are required in the JOIN statement. * **columns** *(list) --* The columns that are required to overlap. * *(string) --* * **dimensionColumns** *(list) --* The columns that query runners are allowed to select, group by, or filter by. * *(string) --* * **collaborationPolicy** *(dict) --* Controls on the query specifications that can be run on an associated configured table. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "v1". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **v1** *(dict) --* The policy for the configured table association analysis rule. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "list", "aggregation", "custom". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **list** *(dict) --* Analysis rule type that enables only list queries on a configured table. * **allowedResultReceivers** *(list) --* The list of collaboration members who are allowed to receive results of queries run with this configured table. * *(string) --* * **allowedAdditionalAnalyses** *(list) --* The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output. * *(string) --* * **aggregation** *(dict) --* Analysis rule type that enables only aggregation queries on a configured table. * **allowedResultReceivers** *(list) --* The list of collaboration members who are allowed to receive results of queries run with this configured table. * *(string) --* * **allowedAdditionalAnalyses** *(list) --* The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output. The "allowedAdditionalAnalyses" parameter is currently supported for the list analysis rule ( "AnalysisRuleList") and the custom analysis rule ( "AnalysisRuleCustom"). * *(string) --* * **custom** *(dict) --* Analysis rule type that enables the table owner to approve custom SQL queries on their configured tables. It supports differential privacy. * **allowedResultReceivers** *(list) --* The list of collaboration members who are allowed to receive results of queries run with this configured table. * *(string) --* * **allowedAdditionalAnalyses** *(list) --* The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output. * *(string) --* * **consolidatedPolicy** *(dict) --* The consolidated policy for the analysis rule. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "v1". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **v1** *(dict) --* The consolidated policy version 1. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "list", "aggregation", "custom". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **list** *(dict) --* The list of consolidated policies. * **joinColumns** *(list) --* The columns to join on. * *(string) --* * **allowedJoinOperators** *(list) --* The allowed join operators in the consolidated policy list. * *(string) --* * **listColumns** *(list) --* The columns in the consolidated policy list. * *(string) --* * **additionalAnalyses** *(string) --* Additional analyses for the consolidated policy list. * **allowedResultReceivers** *(list) --* The allowed result receivers. * *(string) --* * **allowedAdditionalAnalyses** *(list) --* The additional analyses allowed by the consolidated policy list. * *(string) --* * **aggregation** *(dict) --* The aggregation setting for the consolidated policy. * **aggregateColumns** *(list) --* Aggregate columns in consolidated policy aggregation. * *(dict) --* Column in configured table that can be used in aggregate function in query. * **columnNames** *(list) --* Column names in configured table of aggregate columns. * *(string) --* * **function** *(string) --* Aggregation function that can be applied to aggregate column in query. * **joinColumns** *(list) --* The columns to join on. * *(string) --* * **joinRequired** *(string) --* Join required * **allowedJoinOperators** *(list) --* The allowed join operators. * *(string) --* * **dimensionColumns** *(list) --* The dimension columns of the consolidated policy aggregation. * *(string) --* * **scalarFunctions** *(list) --* The scalar functions. * *(string) --* * **outputConstraints** *(list) --* The output constraints of the consolidated policy aggregation. * *(dict) --* Constraint on query output removing output rows that do not meet a minimum number of distinct values of a specified column. * **columnName** *(string) --* Column in aggregation constraint for which there must be a minimum number of distinct values in an output row for it to be in the query output. * **minimum** *(integer) --* The minimum number of distinct values that an output row must be an aggregation of. Minimum threshold of distinct values for a specified column that must exist in an output row for it to be in the query output. * **type** *(string) --* The type of aggregation the constraint allows. The only valid value is currently *COUNT_DISTINCT*. * **additionalAnalyses** *(string) --* Additional analyses for the consolidated policy aggregation. * **allowedResultReceivers** *(list) --* The allowed result receivers. * *(string) --* * **allowedAdditionalAnalyses** *(list) --* The additional analyses allowed by the consolidated policy aggregation. * *(string) --* * **custom** *(dict) --* Custom policy * **allowedAnalyses** *(list) --* The allowed analyses. * *(string) --* * **allowedAnalysisProviders** *(list) --* The allowed analysis providers. * *(string) --* * **additionalAnalyses** *(string) --* Additional analyses for the consolidated policy. * **disallowedOutputColumns** *(list) --* Disallowed output columns * *(string) --* * **differentialPrivacy** *(dict) --* Specifies the unique identifier for your users. * **columns** *(list) --* The name of the column (such as user_id) that contains the unique identifier of your users whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules. * *(dict) --* Specifies the name of the column that contains the unique identifier of your users, whose privacy you want to protect. * **name** *(string) --* The name of the column, such as user_id, that contains the unique identifier of your users, whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules. * **allowedResultReceivers** *(list) --* The allowed result receivers. * *(string) --* * **allowedAdditionalAnalyses** *(list) --* The additional analyses allowed by the consolidated policy. * *(string) --* **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / batch_get_schema_analysis_rule batch_get_schema_analysis_rule ****************************** CleanRoomsService.Client.batch_get_schema_analysis_rule(**kwargs) Retrieves multiple analysis rule schemas. See also: AWS API Documentation **Request Syntax** response = client.batch_get_schema_analysis_rule( collaborationIdentifier='string', schemaAnalysisRuleRequests=[ { 'name': 'string', 'type': 'AGGREGATION'|'LIST'|'CUSTOM'|'ID_MAPPING_TABLE' }, ] ) Parameters: * **collaborationIdentifier** (*string*) -- **[REQUIRED]** The unique identifier of the collaboration that contains the schema analysis rule. * **schemaAnalysisRuleRequests** (*list*) -- **[REQUIRED]** The information that's necessary to retrieve a schema analysis rule. * *(dict) --* Defines the information that's necessary to retrieve an analysis rule schema. Schema analysis rules are uniquely identified by a combination of the schema name and the analysis rule type for a given collaboration. * **name** *(string) --* **[REQUIRED]** The name of the analysis rule schema that you are requesting. * **type** *(string) --* **[REQUIRED]** The type of analysis rule schema that you are requesting. Return type: dict Returns: **Response Syntax** { 'analysisRules': [ { 'collaborationId': 'string', 'type': 'AGGREGATION'|'LIST'|'CUSTOM'|'ID_MAPPING_TABLE', 'name': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'policy': { 'v1': { 'list': { 'joinColumns': [ 'string', ], 'allowedJoinOperators': [ 'OR'|'AND', ], 'listColumns': [ 'string', ], 'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED' }, 'aggregation': { 'aggregateColumns': [ { 'columnNames': [ 'string', ], 'function': 'SUM'|'SUM_DISTINCT'|'COUNT'|'COUNT_DISTINCT'|'AVG' }, ], 'joinColumns': [ 'string', ], 'joinRequired': 'QUERY_RUNNER', 'allowedJoinOperators': [ 'OR'|'AND', ], 'dimensionColumns': [ 'string', ], 'scalarFunctions': [ 'ABS'|'CAST'|'CEILING'|'COALESCE'|'CONVERT'|'CURRENT_DATE'|'DATEADD'|'EXTRACT'|'FLOOR'|'GETDATE'|'LN'|'LOG'|'LOWER'|'ROUND'|'RTRIM'|'SQRT'|'SUBSTRING'|'TO_CHAR'|'TO_DATE'|'TO_NUMBER'|'TO_TIMESTAMP'|'TRIM'|'TRUNC'|'UPPER', ], 'outputConstraints': [ { 'columnName': 'string', 'minimum': 123, 'type': 'COUNT_DISTINCT' }, ], 'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED' }, 'custom': { 'allowedAnalyses': [ 'string', ], 'allowedAnalysisProviders': [ 'string', ], 'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED', 'disallowedOutputColumns': [ 'string', ], 'differentialPrivacy': { 'columns': [ { 'name': 'string' }, ] } }, 'idMappingTable': { 'joinColumns': [ 'string', ], 'queryConstraints': [ { 'requireOverlap': { 'columns': [ 'string', ] } }, ], 'dimensionColumns': [ 'string', ] } } }, 'collaborationPolicy': { 'v1': { 'list': { 'allowedResultReceivers': [ 'string', ], 'allowedAdditionalAnalyses': [ 'string', ] }, 'aggregation': { 'allowedResultReceivers': [ 'string', ], 'allowedAdditionalAnalyses': [ 'string', ] }, 'custom': { 'allowedResultReceivers': [ 'string', ], 'allowedAdditionalAnalyses': [ 'string', ] } } }, 'consolidatedPolicy': { 'v1': { 'list': { 'joinColumns': [ 'string', ], 'allowedJoinOperators': [ 'OR'|'AND', ], 'listColumns': [ 'string', ], 'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED', 'allowedResultReceivers': [ 'string', ], 'allowedAdditionalAnalyses': [ 'string', ] }, 'aggregation': { 'aggregateColumns': [ { 'columnNames': [ 'string', ], 'function': 'SUM'|'SUM_DISTINCT'|'COUNT'|'COUNT_DISTINCT'|'AVG' }, ], 'joinColumns': [ 'string', ], 'joinRequired': 'QUERY_RUNNER', 'allowedJoinOperators': [ 'OR'|'AND', ], 'dimensionColumns': [ 'string', ], 'scalarFunctions': [ 'ABS'|'CAST'|'CEILING'|'COALESCE'|'CONVERT'|'CURRENT_DATE'|'DATEADD'|'EXTRACT'|'FLOOR'|'GETDATE'|'LN'|'LOG'|'LOWER'|'ROUND'|'RTRIM'|'SQRT'|'SUBSTRING'|'TO_CHAR'|'TO_DATE'|'TO_NUMBER'|'TO_TIMESTAMP'|'TRIM'|'TRUNC'|'UPPER', ], 'outputConstraints': [ { 'columnName': 'string', 'minimum': 123, 'type': 'COUNT_DISTINCT' }, ], 'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED', 'allowedResultReceivers': [ 'string', ], 'allowedAdditionalAnalyses': [ 'string', ] }, 'custom': { 'allowedAnalyses': [ 'string', ], 'allowedAnalysisProviders': [ 'string', ], 'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED', 'disallowedOutputColumns': [ 'string', ], 'differentialPrivacy': { 'columns': [ { 'name': 'string' }, ] }, 'allowedResultReceivers': [ 'string', ], 'allowedAdditionalAnalyses': [ 'string', ] } } } }, ], 'errors': [ { 'name': 'string', 'type': 'AGGREGATION'|'LIST'|'CUSTOM'|'ID_MAPPING_TABLE', 'code': 'string', 'message': 'string' }, ] } **Response Structure** * *(dict) --* * **analysisRules** *(list) --* The retrieved list of analysis rules. * *(dict) --* A specification about how data from the configured table can be used in a query. * **collaborationId** *(string) --* The unique ID for the associated collaboration. * **type** *(string) --* The type of analysis rule. * **name** *(string) --* The name for the analysis rule. * **createTime** *(datetime) --* The time the analysis rule was created. * **updateTime** *(datetime) --* The time the analysis rule was last updated. * **policy** *(dict) --* A policy that describes the associated data usage limitations. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "v1". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **v1** *(dict) --* Controls on the query specifications that can be run on configured table. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "list", "aggregation", "custom", "idMappingTable". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **list** *(dict) --* Analysis rule type that enables only list queries on a configured table. * **joinColumns** *(list) --* Columns that can be used to join a configured table with the table of the member who can query and other members' configured tables. * *(string) --* * **allowedJoinOperators** *(list) --* The logical operators (if any) that are to be used in an INNER JOIN match condition. Default is "AND". * *(string) --* * **listColumns** *(list) --* Columns that can be listed in the output. * *(string) --* * **additionalAnalyses** *(string) --* An indicator as to whether additional analyses (such as Clean Rooms ML) can be applied to the output of the direct query. * **aggregation** *(dict) --* Analysis rule type that enables only aggregation queries on a configured table. * **aggregateColumns** *(list) --* The columns that query runners are allowed to use in aggregation queries. * *(dict) --* Column in configured table that can be used in aggregate function in query. * **columnNames** *(list) --* Column names in configured table of aggregate columns. * *(string) --* * **function** *(string) --* Aggregation function that can be applied to aggregate column in query. * **joinColumns** *(list) --* Columns in configured table that can be used in join statements and/or as aggregate columns. They can never be outputted directly. * *(string) --* * **joinRequired** *(string) --* Control that requires member who runs query to do a join with their configured table and/or other configured table in query. * **allowedJoinOperators** *(list) --* Which logical operators (if any) are to be used in an INNER JOIN match condition. Default is "AND". * *(string) --* * **dimensionColumns** *(list) --* The columns that query runners are allowed to select, group by, or filter by. * *(string) --* * **scalarFunctions** *(list) --* Set of scalar functions that are allowed to be used on dimension columns and the output of aggregation of metrics. * *(string) --* * **outputConstraints** *(list) --* Columns that must meet a specific threshold value (after an aggregation function is applied to it) for each output row to be returned. * *(dict) --* Constraint on query output removing output rows that do not meet a minimum number of distinct values of a specified column. * **columnName** *(string) --* Column in aggregation constraint for which there must be a minimum number of distinct values in an output row for it to be in the query output. * **minimum** *(integer) --* The minimum number of distinct values that an output row must be an aggregation of. Minimum threshold of distinct values for a specified column that must exist in an output row for it to be in the query output. * **type** *(string) --* The type of aggregation the constraint allows. The only valid value is currently *COUNT_DISTINCT*. * **additionalAnalyses** *(string) --* An indicator as to whether additional analyses (such as Clean Rooms ML) can be applied to the output of the direct query. The "additionalAnalyses" parameter is currently supported for the list analysis rule ( "AnalysisRuleList") and the custom analysis rule ( "AnalysisRuleCustom"). * **custom** *(dict) --* Analysis rule type that enables custom SQL queries on a configured table. * **allowedAnalyses** *(list) --* The ARN of the analysis templates that are allowed by the custom analysis rule. * *(string) --* * **allowedAnalysisProviders** *(list) --* The IDs of the Amazon Web Services accounts that are allowed to query by the custom analysis rule. Required when "allowedAnalyses" is "ANY_QUERY". * *(string) --* * **additionalAnalyses** *(string) --* An indicator as to whether additional analyses (such as Clean Rooms ML) can be applied to the output of the direct query. * **disallowedOutputColumns** *(list) --* A list of columns that aren't allowed to be shown in the query output. * *(string) --* * **differentialPrivacy** *(dict) --* The differential privacy configuration. * **columns** *(list) --* The name of the column (such as user_id) that contains the unique identifier of your users whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules. * *(dict) --* Specifies the name of the column that contains the unique identifier of your users, whose privacy you want to protect. * **name** *(string) --* The name of the column, such as user_id, that contains the unique identifier of your users, whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules. * **idMappingTable** *(dict) --* The ID mapping table. * **joinColumns** *(list) --* The columns that query runners are allowed to use in an INNER JOIN statement. * *(string) --* * **queryConstraints** *(list) --* The query constraints of the analysis rule ID mapping table. * *(dict) --* Provides any necessary query constraint information. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "requireOverlap". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **requireOverlap** *(dict) --* An array of column names that specifies which columns are required in the JOIN statement. * **columns** *(list) --* The columns that are required to overlap. * *(string) --* * **dimensionColumns** *(list) --* The columns that query runners are allowed to select, group by, or filter by. * *(string) --* * **collaborationPolicy** *(dict) --* Controls on the query specifications that can be run on an associated configured table. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "v1". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **v1** *(dict) --* The policy for the configured table association analysis rule. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "list", "aggregation", "custom". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **list** *(dict) --* Analysis rule type that enables only list queries on a configured table. * **allowedResultReceivers** *(list) --* The list of collaboration members who are allowed to receive results of queries run with this configured table. * *(string) --* * **allowedAdditionalAnalyses** *(list) --* The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output. * *(string) --* * **aggregation** *(dict) --* Analysis rule type that enables only aggregation queries on a configured table. * **allowedResultReceivers** *(list) --* The list of collaboration members who are allowed to receive results of queries run with this configured table. * *(string) --* * **allowedAdditionalAnalyses** *(list) --* The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output. The "allowedAdditionalAnalyses" parameter is currently supported for the list analysis rule ( "AnalysisRuleList") and the custom analysis rule ( "AnalysisRuleCustom"). * *(string) --* * **custom** *(dict) --* Analysis rule type that enables the table owner to approve custom SQL queries on their configured tables. It supports differential privacy. * **allowedResultReceivers** *(list) --* The list of collaboration members who are allowed to receive results of queries run with this configured table. * *(string) --* * **allowedAdditionalAnalyses** *(list) --* The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output. * *(string) --* * **consolidatedPolicy** *(dict) --* The consolidated policy for the analysis rule. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "v1". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **v1** *(dict) --* The consolidated policy version 1. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "list", "aggregation", "custom". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **list** *(dict) --* The list of consolidated policies. * **joinColumns** *(list) --* The columns to join on. * *(string) --* * **allowedJoinOperators** *(list) --* The allowed join operators in the consolidated policy list. * *(string) --* * **listColumns** *(list) --* The columns in the consolidated policy list. * *(string) --* * **additionalAnalyses** *(string) --* Additional analyses for the consolidated policy list. * **allowedResultReceivers** *(list) --* The allowed result receivers. * *(string) --* * **allowedAdditionalAnalyses** *(list) --* The additional analyses allowed by the consolidated policy list. * *(string) --* * **aggregation** *(dict) --* The aggregation setting for the consolidated policy. * **aggregateColumns** *(list) --* Aggregate columns in consolidated policy aggregation. * *(dict) --* Column in configured table that can be used in aggregate function in query. * **columnNames** *(list) --* Column names in configured table of aggregate columns. * *(string) --* * **function** *(string) --* Aggregation function that can be applied to aggregate column in query. * **joinColumns** *(list) --* The columns to join on. * *(string) --* * **joinRequired** *(string) --* Join required * **allowedJoinOperators** *(list) --* The allowed join operators. * *(string) --* * **dimensionColumns** *(list) --* The dimension columns of the consolidated policy aggregation. * *(string) --* * **scalarFunctions** *(list) --* The scalar functions. * *(string) --* * **outputConstraints** *(list) --* The output constraints of the consolidated policy aggregation. * *(dict) --* Constraint on query output removing output rows that do not meet a minimum number of distinct values of a specified column. * **columnName** *(string) --* Column in aggregation constraint for which there must be a minimum number of distinct values in an output row for it to be in the query output. * **minimum** *(integer) --* The minimum number of distinct values that an output row must be an aggregation of. Minimum threshold of distinct values for a specified column that must exist in an output row for it to be in the query output. * **type** *(string) --* The type of aggregation the constraint allows. The only valid value is currently *COUNT_DISTINCT*. * **additionalAnalyses** *(string) --* Additional analyses for the consolidated policy aggregation. * **allowedResultReceivers** *(list) --* The allowed result receivers. * *(string) --* * **allowedAdditionalAnalyses** *(list) --* The additional analyses allowed by the consolidated policy aggregation. * *(string) --* * **custom** *(dict) --* Custom policy * **allowedAnalyses** *(list) --* The allowed analyses. * *(string) --* * **allowedAnalysisProviders** *(list) --* The allowed analysis providers. * *(string) --* * **additionalAnalyses** *(string) --* Additional analyses for the consolidated policy. * **disallowedOutputColumns** *(list) --* Disallowed output columns * *(string) --* * **differentialPrivacy** *(dict) --* Specifies the unique identifier for your users. * **columns** *(list) --* The name of the column (such as user_id) that contains the unique identifier of your users whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules. * *(dict) --* Specifies the name of the column that contains the unique identifier of your users, whose privacy you want to protect. * **name** *(string) --* The name of the column, such as user_id, that contains the unique identifier of your users, whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules. * **allowedResultReceivers** *(list) --* The allowed result receivers. * *(string) --* * **allowedAdditionalAnalyses** *(list) --* The additional analyses allowed by the consolidated policy. * *(string) --* * **errors** *(list) --* Error reasons for schemas that could not be retrieved. One error is returned for every schema that could not be retrieved. * *(dict) --* An error that describes why a schema could not be fetched. * **name** *(string) --* An error name for the error. * **type** *(string) --* The analysis rule type. * **code** *(string) --* An error code for the error. * **message** *(string) --* A description of why the call failed. **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / create_analysis_template create_analysis_template ************************ CleanRoomsService.Client.create_analysis_template(**kwargs) Creates a new analysis template. See also: AWS API Documentation **Request Syntax** response = client.create_analysis_template( description='string', membershipIdentifier='string', name='string', format='SQL'|'PYSPARK_1_0', source={ 'text': 'string', 'artifacts': { 'entryPoint': { 'location': { 'bucket': 'string', 'key': 'string' } }, 'additionalArtifacts': [ { 'location': { 'bucket': 'string', 'key': 'string' } }, ], 'roleArn': 'string' } }, tags={ 'string': 'string' }, analysisParameters=[ { 'name': 'string', 'type': 'SMALLINT'|'INTEGER'|'BIGINT'|'DECIMAL'|'REAL'|'DOUBLE_PRECISION'|'BOOLEAN'|'CHAR'|'VARCHAR'|'DATE'|'TIMESTAMP'|'TIMESTAMPTZ'|'TIME'|'TIMETZ'|'VARBYTE'|'BINARY'|'BYTE'|'CHARACTER'|'DOUBLE'|'FLOAT'|'INT'|'LONG'|'NUMERIC'|'SHORT'|'STRING'|'TIMESTAMP_LTZ'|'TIMESTAMP_NTZ'|'TINYINT', 'defaultValue': 'string' }, ], schema={ 'referencedTables': [ 'string', ] } ) Parameters: * **description** (*string*) -- The description of the analysis template. * **membershipIdentifier** (*string*) -- **[REQUIRED]** The identifier for a membership resource. * **name** (*string*) -- **[REQUIRED]** The name of the analysis template. * **format** (*string*) -- **[REQUIRED]** The format of the analysis template. * **source** (*dict*) -- **[REQUIRED]** The information in the analysis template. Note: This is a Tagged Union structure. Only one of the following top level keys can be set: "text", "artifacts". * **text** *(string) --* The query text. * **artifacts** *(dict) --* The artifacts of the analysis source. * **entryPoint** *(dict) --* **[REQUIRED]** The entry point for the analysis template artifacts. * **location** *(dict) --* **[REQUIRED]** The artifact location. * **bucket** *(string) --* **[REQUIRED]** The bucket name. * **key** *(string) --* **[REQUIRED]** The object key. * **additionalArtifacts** *(list) --* Additional artifacts for the analysis template. * *(dict) --* The analysis template artifact. * **location** *(dict) --* **[REQUIRED]** The artifact location. * **bucket** *(string) --* **[REQUIRED]** The bucket name. * **key** *(string) --* **[REQUIRED]** The object key. * **roleArn** *(string) --* **[REQUIRED]** The role ARN for the analysis template artifacts. * **tags** (*dict*) -- An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource. * *(string) --* * *(string) --* * **analysisParameters** (*list*) -- The parameters of the analysis template. * *(dict) --* Optional. The member who can query can provide this placeholder for a literal data value in an analysis template. * **name** *(string) --* **[REQUIRED]** The name of the parameter. The name must use only alphanumeric, underscore (_), or hyphen (-) characters but cannot start or end with a hyphen. * **type** *(string) --* **[REQUIRED]** The type of parameter. * **defaultValue** *(string) --* Optional. The default value that is applied in the analysis template. The member who can query can override this value in the query editor. * **schema** (*dict*) -- A relation within an analysis. * **referencedTables** *(list) --* The tables referenced in the analysis schema. * *(string) --* Return type: dict Returns: **Response Syntax** { 'analysisTemplate': { 'id': 'string', 'arn': 'string', 'collaborationId': 'string', 'collaborationArn': 'string', 'membershipId': 'string', 'membershipArn': 'string', 'description': 'string', 'name': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'schema': { 'referencedTables': [ 'string', ] }, 'format': 'SQL'|'PYSPARK_1_0', 'source': { 'text': 'string', 'artifacts': { 'entryPoint': { 'location': { 'bucket': 'string', 'key': 'string' } }, 'additionalArtifacts': [ { 'location': { 'bucket': 'string', 'key': 'string' } }, ], 'roleArn': 'string' } }, 'sourceMetadata': { 'artifacts': { 'entryPointHash': { 'sha256': 'string' }, 'additionalArtifactHashes': [ { 'sha256': 'string' }, ] } }, 'analysisParameters': [ { 'name': 'string', 'type': 'SMALLINT'|'INTEGER'|'BIGINT'|'DECIMAL'|'REAL'|'DOUBLE_PRECISION'|'BOOLEAN'|'CHAR'|'VARCHAR'|'DATE'|'TIMESTAMP'|'TIMESTAMPTZ'|'TIME'|'TIMETZ'|'VARBYTE'|'BINARY'|'BYTE'|'CHARACTER'|'DOUBLE'|'FLOAT'|'INT'|'LONG'|'NUMERIC'|'SHORT'|'STRING'|'TIMESTAMP_LTZ'|'TIMESTAMP_NTZ'|'TINYINT', 'defaultValue': 'string' }, ], 'validations': [ { 'type': 'DIFFERENTIAL_PRIVACY', 'status': 'VALID'|'INVALID'|'UNABLE_TO_VALIDATE', 'reasons': [ { 'message': 'string' }, ] }, ] } } **Response Structure** * *(dict) --* * **analysisTemplate** *(dict) --* The analysis template. * **id** *(string) --* The identifier for the analysis template. * **arn** *(string) --* The Amazon Resource Name (ARN) of the analysis template. * **collaborationId** *(string) --* The unique ID for the associated collaboration of the analysis template. * **collaborationArn** *(string) --* The unique ARN for the analysis template’s associated collaboration. * **membershipId** *(string) --* The identifier of a member who created the analysis template. * **membershipArn** *(string) --* The Amazon Resource Name (ARN) of the member who created the analysis template. * **description** *(string) --* The description of the analysis template. * **name** *(string) --* The name of the analysis template. * **createTime** *(datetime) --* The time that the analysis template was created. * **updateTime** *(datetime) --* The time that the analysis template was last updated. * **schema** *(dict) --* The entire schema object. * **referencedTables** *(list) --* The tables referenced in the analysis schema. * *(string) --* * **format** *(string) --* The format of the analysis template. * **source** *(dict) --* The source of the analysis template. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "text", "artifacts". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **text** *(string) --* The query text. * **artifacts** *(dict) --* The artifacts of the analysis source. * **entryPoint** *(dict) --* The entry point for the analysis template artifacts. * **location** *(dict) --* The artifact location. * **bucket** *(string) --* The bucket name. * **key** *(string) --* The object key. * **additionalArtifacts** *(list) --* Additional artifacts for the analysis template. * *(dict) --* The analysis template artifact. * **location** *(dict) --* The artifact location. * **bucket** *(string) --* The bucket name. * **key** *(string) --* The object key. * **roleArn** *(string) --* The role ARN for the analysis template artifacts. * **sourceMetadata** *(dict) --* The source metadata for the analysis template. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "artifacts". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **artifacts** *(dict) --* The artifacts of the analysis source metadata. * **entryPointHash** *(dict) --* The hash of the entry point for the analysis template artifact metadata. * **sha256** *(string) --* The SHA-256 hash value. * **additionalArtifactHashes** *(list) --* Additional artifact hashes for the analysis template. * *(dict) --* Hash * **sha256** *(string) --* The SHA-256 hash value. * **analysisParameters** *(list) --* The parameters of the analysis template. * *(dict) --* Optional. The member who can query can provide this placeholder for a literal data value in an analysis template. * **name** *(string) --* The name of the parameter. The name must use only alphanumeric, underscore (_), or hyphen (-) characters but cannot start or end with a hyphen. * **type** *(string) --* The type of parameter. * **defaultValue** *(string) --* Optional. The default value that is applied in the analysis template. The member who can query can override this value in the query editor. * **validations** *(list) --* Information about the validations performed on the analysis template. * *(dict) --* The status details of the analysis template validation. Clean Rooms Differential Privacy uses a general-purpose query structure to support complex SQL queries and validates whether an analysis template fits that general-purpose query structure. Validation is performed when analysis templates are created and fetched. Because analysis templates are immutable by design, we recommend that you create analysis templates after you associate the configured tables with their analysis rule to your collaboration. For more information, see https://docs.aws.amazon.com /clean-rooms/latest/userguide/analysis-rules-custom.html #custom-diff-privacy. * **type** *(string) --* The type of validation that was performed. * **status** *(string) --* The status of the validation. * **reasons** *(list) --* The reasons for the validation results. * *(dict) --* The reasons for the validation results. * **message** *(string) --* The validation message. **Exceptions** * "CleanRoomsService.Client.exceptions.ConflictException" * "CleanRoomsService.Client.exceptions.ServiceQuotaExceededExcepti on" * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / delete_configured_table_association_analysis_rule delete_configured_table_association_analysis_rule ************************************************* CleanRoomsService.Client.delete_configured_table_association_analysis_rule(**kwargs) Deletes an analysis rule for a configured table association. See also: AWS API Documentation **Request Syntax** response = client.delete_configured_table_association_analysis_rule( membershipIdentifier='string', configuredTableAssociationIdentifier='string', analysisRuleType='AGGREGATION'|'LIST'|'CUSTOM' ) Parameters: * **membershipIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for the membership that the configured table association belongs to. Currently accepts the membership ID. * **configuredTableAssociationIdentifier** (*string*) -- **[REQUIRED]** The identifier for the configured table association that's related to the analysis rule that you want to delete. * **analysisRuleType** (*string*) -- **[REQUIRED]** The type of the analysis rule that you want to delete. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "CleanRoomsService.Client.exceptions.ConflictException" * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / list_collaboration_id_namespace_associations list_collaboration_id_namespace_associations ******************************************** CleanRoomsService.Client.list_collaboration_id_namespace_associations(**kwargs) Returns a list of the ID namespace associations in a collaboration. See also: AWS API Documentation **Request Syntax** response = client.list_collaboration_id_namespace_associations( collaborationIdentifier='string', nextToken='string', maxResults=123 ) Parameters: * **collaborationIdentifier** (*string*) -- **[REQUIRED]** The unique identifier of the collaboration that contains the ID namespace associations that you want to retrieve. * **nextToken** (*string*) -- The pagination token that's used to fetch the next set of results. * **maxResults** (*integer*) -- The maximum size of the results that is returned per call. Service chooses a default if it has not been set. Service may return a nextToken even if the maximum results has not been met.> Return type: dict Returns: **Response Syntax** { 'nextToken': 'string', 'collaborationIdNamespaceAssociationSummaries': [ { 'arn': 'string', 'createTime': datetime(2015, 1, 1), 'id': 'string', 'updateTime': datetime(2015, 1, 1), 'collaborationArn': 'string', 'collaborationId': 'string', 'creatorAccountId': 'string', 'inputReferenceConfig': { 'inputReferenceArn': 'string', 'manageResourcePolicies': True|False }, 'name': 'string', 'description': 'string', 'inputReferenceProperties': { 'idNamespaceType': 'SOURCE'|'TARGET' } }, ] } **Response Structure** * *(dict) --* * **nextToken** *(string) --* The token value provided to access the next page of results. * **collaborationIdNamespaceAssociationSummaries** *(list) --* The summary information of the collaboration ID namespace associations that you requested. * *(dict) --* Provides summary information about the collaboration ID namespace association. * **arn** *(string) --* The Amazon Resource Name (ARN) of the collaboration ID namespace association. * **createTime** *(datetime) --* The time at which the collaboration ID namespace association was created. * **id** *(string) --* The unique identifier of the collaboration ID namespace association. * **updateTime** *(datetime) --* The most recent time at which the collaboration ID namespace association was updated. * **collaborationArn** *(string) --* The Amazon Resource Name (ARN) of the collaboration that contains this collaboration ID namespace association. * **collaborationId** *(string) --* The unique identifier of the collaboration that contains this collaboration ID namespace association. * **creatorAccountId** *(string) --* The Amazon Web Services account that created this collaboration ID namespace association. * **inputReferenceConfig** *(dict) --* The input reference configuration that's used to create the collaboration ID namespace association. * **inputReferenceArn** *(string) --* The Amazon Resource Name (ARN) of the Entity Resolution resource that is being associated to the collaboration. Valid resource ARNs are from the ID namespaces that you own. * **manageResourcePolicies** *(boolean) --* When "TRUE", Clean Rooms manages permissions for the ID namespace association resource. When "FALSE", the resource owner manages permissions for the ID namespace association resource. * **name** *(string) --* The name of the collaboration ID namespace association. * **description** *(string) --* The description of the collaboration ID namepsace association. * **inputReferenceProperties** *(dict) --* The input reference properties that are used to create the collaboration ID namespace association. * **idNamespaceType** *(string) --* The ID namespace type for this ID namespace association. **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / get_configured_audience_model_association get_configured_audience_model_association ***************************************** CleanRoomsService.Client.get_configured_audience_model_association(**kwargs) Returns information about a configured audience model association. See also: AWS API Documentation **Request Syntax** response = client.get_configured_audience_model_association( configuredAudienceModelAssociationIdentifier='string', membershipIdentifier='string' ) Parameters: * **configuredAudienceModelAssociationIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for the configured audience model association that you want to retrieve. * **membershipIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for the membership that contains the configured audience model association that you want to retrieve. Return type: dict Returns: **Response Syntax** { 'configuredAudienceModelAssociation': { 'id': 'string', 'arn': 'string', 'configuredAudienceModelArn': 'string', 'membershipId': 'string', 'membershipArn': 'string', 'collaborationId': 'string', 'collaborationArn': 'string', 'name': 'string', 'manageResourcePolicies': True|False, 'description': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1) } } **Response Structure** * *(dict) --* * **configuredAudienceModelAssociation** *(dict) --* Information about the configured audience model association that you requested. * **id** *(string) --* A unique identifier of the configured audience model association. * **arn** *(string) --* The Amazon Resource Name (ARN) of the configured audience model association. * **configuredAudienceModelArn** *(string) --* The Amazon Resource Name (ARN) of the configured audience model that was used for this configured audience model association. * **membershipId** *(string) --* A unique identifier for the membership that contains this configured audience model association. * **membershipArn** *(string) --* The Amazon Resource Name (ARN) of the membership that contains this configured audience model association. * **collaborationId** *(string) --* A unique identifier of the collaboration that contains this configured audience model association. * **collaborationArn** *(string) --* The Amazon Resource Name (ARN) of the collaboration that contains this configured audience model association. * **name** *(string) --* The name of the configured audience model association. * **manageResourcePolicies** *(boolean) --* When "TRUE", indicates that the resource policy for the configured audience model resource being associated is configured for Clean Rooms to manage permissions related to the given collaboration. When "FALSE", indicates that the configured audience model resource owner will manage permissions related to the given collaboration. * **description** *(string) --* The description of the configured audience model association. * **createTime** *(datetime) --* The time at which the configured audience model association was created. * **updateTime** *(datetime) --* The most recent time at which the configured audience model association was updated. **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / list_schemas list_schemas ************ CleanRoomsService.Client.list_schemas(**kwargs) Lists the schemas for relations within a collaboration. See also: AWS API Documentation **Request Syntax** response = client.list_schemas( collaborationIdentifier='string', schemaType='TABLE'|'ID_MAPPING_TABLE', nextToken='string', maxResults=123 ) Parameters: * **collaborationIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for the collaboration that the schema belongs to. Currently accepts a collaboration ID. * **schemaType** (*string*) -- If present, filter schemas by schema type. * **nextToken** (*string*) -- The pagination token that's used to fetch the next set of results. * **maxResults** (*integer*) -- The maximum number of results that are returned for an API request call. The service chooses a default number if you don't set one. The service might return a *nextToken* even if the *maxResults* value has not been met. Return type: dict Returns: **Response Syntax** { 'schemaSummaries': [ { 'name': 'string', 'type': 'TABLE'|'ID_MAPPING_TABLE', 'creatorAccountId': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'collaborationId': 'string', 'collaborationArn': 'string', 'analysisRuleTypes': [ 'AGGREGATION'|'LIST'|'CUSTOM'|'ID_MAPPING_TABLE', ], 'analysisMethod': 'DIRECT_QUERY'|'DIRECT_JOB'|'MULTIPLE', 'selectedAnalysisMethods': [ 'DIRECT_QUERY'|'DIRECT_JOB', ] }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **schemaSummaries** *(list) --* The retrieved list of schemas. * *(dict) --* The schema summary for the objects listed by the request. * **name** *(string) --* The name for the schema object. * **type** *(string) --* The type of schema object. * **creatorAccountId** *(string) --* The unique account ID for the Amazon Web Services account that owns the schema. * **createTime** *(datetime) --* The time the schema object was created. * **updateTime** *(datetime) --* The time the schema object was last updated. * **collaborationId** *(string) --* The unique ID for the collaboration that the schema belongs to. * **collaborationArn** *(string) --* The unique ARN for the collaboration that the schema belongs to. * **analysisRuleTypes** *(list) --* The types of analysis rules that are associated with this schema object. * *(string) --* * **analysisMethod** *(string) --* The analysis method for the associated schema. "DIRECT_QUERY" allows SQL queries to be run directly on this table. "DIRECT_JOB" allows PySpark jobs to be run directly on this table. "MULTIPLE" allows both SQL queries and PySpark jobs to be run directly on this table. * **selectedAnalysisMethods** *(list) --* The selected analysis methods for the schema. * *(string) --* * **nextToken** *(string) --* The pagination token that's used to fetch the next set of results. **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / delete_configured_audience_model_association delete_configured_audience_model_association ******************************************** CleanRoomsService.Client.delete_configured_audience_model_association(**kwargs) Provides the information necessary to delete a configured audience model association. See also: AWS API Documentation **Request Syntax** response = client.delete_configured_audience_model_association( configuredAudienceModelAssociationIdentifier='string', membershipIdentifier='string' ) Parameters: * **configuredAudienceModelAssociationIdentifier** (*string*) -- **[REQUIRED]** A unique identifier of the configured audience model association that you want to delete. * **membershipIdentifier** (*string*) -- **[REQUIRED]** A unique identifier of the membership that contains the audience model association that you want to delete. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / list_protected_queries list_protected_queries ********************** CleanRoomsService.Client.list_protected_queries(**kwargs) Lists protected queries, sorted by the most recent query. See also: AWS API Documentation **Request Syntax** response = client.list_protected_queries( membershipIdentifier='string', status='SUBMITTED'|'STARTED'|'CANCELLED'|'CANCELLING'|'FAILED'|'SUCCESS'|'TIMED_OUT', nextToken='string', maxResults=123 ) Parameters: * **membershipIdentifier** (*string*) -- **[REQUIRED]** The identifier for the membership in the collaboration. * **status** (*string*) -- A filter on the status of the protected query. * **nextToken** (*string*) -- The pagination token that's used to fetch the next set of results. * **maxResults** (*integer*) -- The maximum number of results that are returned for an API request call. The service chooses a default number if you don't set one. The service might return a *nextToken* even if the *maxResults* value has not been met. Return type: dict Returns: **Response Syntax** { 'nextToken': 'string', 'protectedQueries': [ { 'id': 'string', 'membershipId': 'string', 'membershipArn': 'string', 'createTime': datetime(2015, 1, 1), 'status': 'SUBMITTED'|'STARTED'|'CANCELLED'|'CANCELLING'|'FAILED'|'SUCCESS'|'TIMED_OUT', 'receiverConfigurations': [ { 'analysisType': 'DIRECT_ANALYSIS'|'ADDITIONAL_ANALYSIS', 'configurationDetails': { 'directAnalysisConfigurationDetails': { 'receiverAccountIds': [ 'string', ] } } }, ] }, ] } **Response Structure** * *(dict) --* * **nextToken** *(string) --* The pagination token that's used to fetch the next set of results. * **protectedQueries** *(list) --* A list of protected queries. * *(dict) --* The protected query summary for the objects listed by the request. * **id** *(string) --* The unique ID of the protected query. * **membershipId** *(string) --* The unique ID for the membership that initiated the protected query. * **membershipArn** *(string) --* The unique ARN for the membership that initiated the protected query. * **createTime** *(datetime) --* The time the protected query was created. * **status** *(string) --* The status of the protected query. * **receiverConfigurations** *(list) --* The receiver configuration. * *(dict) --* The receiver configuration for a protected query. * **analysisType** *(string) --* The type of analysis for the protected query. The results of the query can be analyzed directly ( "DIRECT_ANALYSIS") or used as input into additional analyses ( "ADDITIONAL_ANALYSIS"), such as a query that is a seed for a lookalike ML model. * **configurationDetails** *(dict) --* The configuration details of the receiver configuration. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "directAnalysisConfigurationDetails". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **directAnalysisConfigurationDetails** *(dict) --* The direct analysis configuration details. * **receiverAccountIds** *(list) --* The account IDs for the member who received the results of a protected query. * *(string) --* **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / create_configured_table_analysis_rule create_configured_table_analysis_rule ************************************* CleanRoomsService.Client.create_configured_table_analysis_rule(**kwargs) Creates a new analysis rule for a configured table. Currently, only one analysis rule can be created for a given configured table. See also: AWS API Documentation **Request Syntax** response = client.create_configured_table_analysis_rule( configuredTableIdentifier='string', analysisRuleType='AGGREGATION'|'LIST'|'CUSTOM', analysisRulePolicy={ 'v1': { 'list': { 'joinColumns': [ 'string', ], 'allowedJoinOperators': [ 'OR'|'AND', ], 'listColumns': [ 'string', ], 'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED' }, 'aggregation': { 'aggregateColumns': [ { 'columnNames': [ 'string', ], 'function': 'SUM'|'SUM_DISTINCT'|'COUNT'|'COUNT_DISTINCT'|'AVG' }, ], 'joinColumns': [ 'string', ], 'joinRequired': 'QUERY_RUNNER', 'allowedJoinOperators': [ 'OR'|'AND', ], 'dimensionColumns': [ 'string', ], 'scalarFunctions': [ 'ABS'|'CAST'|'CEILING'|'COALESCE'|'CONVERT'|'CURRENT_DATE'|'DATEADD'|'EXTRACT'|'FLOOR'|'GETDATE'|'LN'|'LOG'|'LOWER'|'ROUND'|'RTRIM'|'SQRT'|'SUBSTRING'|'TO_CHAR'|'TO_DATE'|'TO_NUMBER'|'TO_TIMESTAMP'|'TRIM'|'TRUNC'|'UPPER', ], 'outputConstraints': [ { 'columnName': 'string', 'minimum': 123, 'type': 'COUNT_DISTINCT' }, ], 'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED' }, 'custom': { 'allowedAnalyses': [ 'string', ], 'allowedAnalysisProviders': [ 'string', ], 'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED', 'disallowedOutputColumns': [ 'string', ], 'differentialPrivacy': { 'columns': [ { 'name': 'string' }, ] } } } } ) Parameters: * **configuredTableIdentifier** (*string*) -- **[REQUIRED]** The identifier for the configured table to create the analysis rule for. Currently accepts the configured table ID. * **analysisRuleType** (*string*) -- **[REQUIRED]** The type of analysis rule. * **analysisRulePolicy** (*dict*) -- **[REQUIRED]** The analysis rule policy that was created for the configured table. Note: This is a Tagged Union structure. Only one of the following top level keys can be set: "v1". * **v1** *(dict) --* Controls on the query specifications that can be run on a configured table. Note: This is a Tagged Union structure. Only one of the following top level keys can be set: "list", "aggregation", "custom". * **list** *(dict) --* Analysis rule type that enables only list queries on a configured table. * **joinColumns** *(list) --* **[REQUIRED]** Columns that can be used to join a configured table with the table of the member who can query and other members' configured tables. * *(string) --* * **allowedJoinOperators** *(list) --* The logical operators (if any) that are to be used in an INNER JOIN match condition. Default is "AND". * *(string) --* * **listColumns** *(list) --* **[REQUIRED]** Columns that can be listed in the output. * *(string) --* * **additionalAnalyses** *(string) --* An indicator as to whether additional analyses (such as Clean Rooms ML) can be applied to the output of the direct query. * **aggregation** *(dict) --* Analysis rule type that enables only aggregation queries on a configured table. * **aggregateColumns** *(list) --* **[REQUIRED]** The columns that query runners are allowed to use in aggregation queries. * *(dict) --* Column in configured table that can be used in aggregate function in query. * **columnNames** *(list) --* **[REQUIRED]** Column names in configured table of aggregate columns. * *(string) --* * **function** *(string) --* **[REQUIRED]** Aggregation function that can be applied to aggregate column in query. * **joinColumns** *(list) --* **[REQUIRED]** Columns in configured table that can be used in join statements and/or as aggregate columns. They can never be outputted directly. * *(string) --* * **joinRequired** *(string) --* Control that requires member who runs query to do a join with their configured table and/or other configured table in query. * **allowedJoinOperators** *(list) --* Which logical operators (if any) are to be used in an INNER JOIN match condition. Default is "AND". * *(string) --* * **dimensionColumns** *(list) --* **[REQUIRED]** The columns that query runners are allowed to select, group by, or filter by. * *(string) --* * **scalarFunctions** *(list) --* **[REQUIRED]** Set of scalar functions that are allowed to be used on dimension columns and the output of aggregation of metrics. * *(string) --* * **outputConstraints** *(list) --* **[REQUIRED]** Columns that must meet a specific threshold value (after an aggregation function is applied to it) for each output row to be returned. * *(dict) --* Constraint on query output removing output rows that do not meet a minimum number of distinct values of a specified column. * **columnName** *(string) --* **[REQUIRED]** Column in aggregation constraint for which there must be a minimum number of distinct values in an output row for it to be in the query output. * **minimum** *(integer) --* **[REQUIRED]** The minimum number of distinct values that an output row must be an aggregation of. Minimum threshold of distinct values for a specified column that must exist in an output row for it to be in the query output. * **type** *(string) --* **[REQUIRED]** The type of aggregation the constraint allows. The only valid value is currently *COUNT_DISTINCT*. * **additionalAnalyses** *(string) --* An indicator as to whether additional analyses (such as Clean Rooms ML) can be applied to the output of the direct query. The "additionalAnalyses" parameter is currently supported for the list analysis rule ( "AnalysisRuleList") and the custom analysis rule ( "AnalysisRuleCustom"). * **custom** *(dict) --* A type of analysis rule that enables the table owner to approve custom SQL queries on their configured tables. It supports differential privacy. * **allowedAnalyses** *(list) --* **[REQUIRED]** The ARN of the analysis templates that are allowed by the custom analysis rule. * *(string) --* * **allowedAnalysisProviders** *(list) --* The IDs of the Amazon Web Services accounts that are allowed to query by the custom analysis rule. Required when "allowedAnalyses" is "ANY_QUERY". * *(string) --* * **additionalAnalyses** *(string) --* An indicator as to whether additional analyses (such as Clean Rooms ML) can be applied to the output of the direct query. * **disallowedOutputColumns** *(list) --* A list of columns that aren't allowed to be shown in the query output. * *(string) --* * **differentialPrivacy** *(dict) --* The differential privacy configuration. * **columns** *(list) --* **[REQUIRED]** The name of the column (such as user_id) that contains the unique identifier of your users whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules. * *(dict) --* Specifies the name of the column that contains the unique identifier of your users, whose privacy you want to protect. * **name** *(string) --* **[REQUIRED]** The name of the column, such as user_id, that contains the unique identifier of your users, whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules. Return type: dict Returns: **Response Syntax** { 'analysisRule': { 'configuredTableId': 'string', 'configuredTableArn': 'string', 'policy': { 'v1': { 'list': { 'joinColumns': [ 'string', ], 'allowedJoinOperators': [ 'OR'|'AND', ], 'listColumns': [ 'string', ], 'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED' }, 'aggregation': { 'aggregateColumns': [ { 'columnNames': [ 'string', ], 'function': 'SUM'|'SUM_DISTINCT'|'COUNT'|'COUNT_DISTINCT'|'AVG' }, ], 'joinColumns': [ 'string', ], 'joinRequired': 'QUERY_RUNNER', 'allowedJoinOperators': [ 'OR'|'AND', ], 'dimensionColumns': [ 'string', ], 'scalarFunctions': [ 'ABS'|'CAST'|'CEILING'|'COALESCE'|'CONVERT'|'CURRENT_DATE'|'DATEADD'|'EXTRACT'|'FLOOR'|'GETDATE'|'LN'|'LOG'|'LOWER'|'ROUND'|'RTRIM'|'SQRT'|'SUBSTRING'|'TO_CHAR'|'TO_DATE'|'TO_NUMBER'|'TO_TIMESTAMP'|'TRIM'|'TRUNC'|'UPPER', ], 'outputConstraints': [ { 'columnName': 'string', 'minimum': 123, 'type': 'COUNT_DISTINCT' }, ], 'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED' }, 'custom': { 'allowedAnalyses': [ 'string', ], 'allowedAnalysisProviders': [ 'string', ], 'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED', 'disallowedOutputColumns': [ 'string', ], 'differentialPrivacy': { 'columns': [ { 'name': 'string' }, ] } } } }, 'type': 'AGGREGATION'|'LIST'|'CUSTOM', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1) } } **Response Structure** * *(dict) --* * **analysisRule** *(dict) --* The analysis rule that was created for the configured table. * **configuredTableId** *(string) --* The unique ID for the configured table. * **configuredTableArn** *(string) --* The unique ARN for the configured table. * **policy** *(dict) --* The policy that controls SQL query rules. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "v1". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **v1** *(dict) --* Controls on the query specifications that can be run on a configured table. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "list", "aggregation", "custom". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **list** *(dict) --* Analysis rule type that enables only list queries on a configured table. * **joinColumns** *(list) --* Columns that can be used to join a configured table with the table of the member who can query and other members' configured tables. * *(string) --* * **allowedJoinOperators** *(list) --* The logical operators (if any) that are to be used in an INNER JOIN match condition. Default is "AND". * *(string) --* * **listColumns** *(list) --* Columns that can be listed in the output. * *(string) --* * **additionalAnalyses** *(string) --* An indicator as to whether additional analyses (such as Clean Rooms ML) can be applied to the output of the direct query. * **aggregation** *(dict) --* Analysis rule type that enables only aggregation queries on a configured table. * **aggregateColumns** *(list) --* The columns that query runners are allowed to use in aggregation queries. * *(dict) --* Column in configured table that can be used in aggregate function in query. * **columnNames** *(list) --* Column names in configured table of aggregate columns. * *(string) --* * **function** *(string) --* Aggregation function that can be applied to aggregate column in query. * **joinColumns** *(list) --* Columns in configured table that can be used in join statements and/or as aggregate columns. They can never be outputted directly. * *(string) --* * **joinRequired** *(string) --* Control that requires member who runs query to do a join with their configured table and/or other configured table in query. * **allowedJoinOperators** *(list) --* Which logical operators (if any) are to be used in an INNER JOIN match condition. Default is "AND". * *(string) --* * **dimensionColumns** *(list) --* The columns that query runners are allowed to select, group by, or filter by. * *(string) --* * **scalarFunctions** *(list) --* Set of scalar functions that are allowed to be used on dimension columns and the output of aggregation of metrics. * *(string) --* * **outputConstraints** *(list) --* Columns that must meet a specific threshold value (after an aggregation function is applied to it) for each output row to be returned. * *(dict) --* Constraint on query output removing output rows that do not meet a minimum number of distinct values of a specified column. * **columnName** *(string) --* Column in aggregation constraint for which there must be a minimum number of distinct values in an output row for it to be in the query output. * **minimum** *(integer) --* The minimum number of distinct values that an output row must be an aggregation of. Minimum threshold of distinct values for a specified column that must exist in an output row for it to be in the query output. * **type** *(string) --* The type of aggregation the constraint allows. The only valid value is currently *COUNT_DISTINCT*. * **additionalAnalyses** *(string) --* An indicator as to whether additional analyses (such as Clean Rooms ML) can be applied to the output of the direct query. The "additionalAnalyses" parameter is currently supported for the list analysis rule ( "AnalysisRuleList") and the custom analysis rule ( "AnalysisRuleCustom"). * **custom** *(dict) --* A type of analysis rule that enables the table owner to approve custom SQL queries on their configured tables. It supports differential privacy. * **allowedAnalyses** *(list) --* The ARN of the analysis templates that are allowed by the custom analysis rule. * *(string) --* * **allowedAnalysisProviders** *(list) --* The IDs of the Amazon Web Services accounts that are allowed to query by the custom analysis rule. Required when "allowedAnalyses" is "ANY_QUERY". * *(string) --* * **additionalAnalyses** *(string) --* An indicator as to whether additional analyses (such as Clean Rooms ML) can be applied to the output of the direct query. * **disallowedOutputColumns** *(list) --* A list of columns that aren't allowed to be shown in the query output. * *(string) --* * **differentialPrivacy** *(dict) --* The differential privacy configuration. * **columns** *(list) --* The name of the column (such as user_id) that contains the unique identifier of your users whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules. * *(dict) --* Specifies the name of the column that contains the unique identifier of your users, whose privacy you want to protect. * **name** *(string) --* The name of the column, such as user_id, that contains the unique identifier of your users, whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules. * **type** *(string) --* The type of configured table analysis rule. * **createTime** *(datetime) --* The time the configured table analysis rule was created. * **updateTime** *(datetime) --* The time the configured table analysis rule was last updated. **Exceptions** * "CleanRoomsService.Client.exceptions.ConflictException" * "CleanRoomsService.Client.exceptions.ServiceQuotaExceededExcepti on" * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / delete_configured_table_analysis_rule delete_configured_table_analysis_rule ************************************* CleanRoomsService.Client.delete_configured_table_analysis_rule(**kwargs) Deletes a configured table analysis rule. See also: AWS API Documentation **Request Syntax** response = client.delete_configured_table_analysis_rule( configuredTableIdentifier='string', analysisRuleType='AGGREGATION'|'LIST'|'CUSTOM' ) Parameters: * **configuredTableIdentifier** (*string*) -- **[REQUIRED]** The unique identifier for the configured table that the analysis rule applies to. Currently accepts the configured table ID. * **analysisRuleType** (*string*) -- **[REQUIRED]** The analysis rule type to be deleted. Configured table analysis rules are uniquely identified by their configured table identifier and analysis rule type. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* An empty response that indicates a successful delete. **Exceptions** * "CleanRoomsService.Client.exceptions.ConflictException" * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / list_privacy_budgets list_privacy_budgets ******************** CleanRoomsService.Client.list_privacy_budgets(**kwargs) Returns detailed information about the privacy budgets in a specified membership. See also: AWS API Documentation **Request Syntax** response = client.list_privacy_budgets( membershipIdentifier='string', privacyBudgetType='DIFFERENTIAL_PRIVACY', nextToken='string', maxResults=123 ) Parameters: * **membershipIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for one of your memberships for a collaboration. The privacy budget is retrieved from the collaboration that this membership belongs to. Accepts a membership ID. * **privacyBudgetType** (*string*) -- **[REQUIRED]** The privacy budget type. * **nextToken** (*string*) -- The pagination token that's used to fetch the next set of results. * **maxResults** (*integer*) -- The maximum number of results that are returned for an API request call. The service chooses a default number if you don't set one. The service might return a *nextToken* even if the *maxResults* value has not been met. Return type: dict Returns: **Response Syntax** { 'privacyBudgetSummaries': [ { 'id': 'string', 'privacyBudgetTemplateId': 'string', 'privacyBudgetTemplateArn': 'string', 'membershipId': 'string', 'membershipArn': 'string', 'collaborationId': 'string', 'collaborationArn': 'string', 'type': 'DIFFERENTIAL_PRIVACY', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'budget': { 'differentialPrivacy': { 'aggregations': [ { 'type': 'AVG'|'COUNT'|'COUNT_DISTINCT'|'SUM'|'STDDEV', 'maxCount': 123, 'remainingCount': 123 }, ], 'epsilon': 123 } } }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **privacyBudgetSummaries** *(list) --* An array that summarizes the privacy budgets. The summary includes collaboration information, membership information, privacy budget template information, and privacy budget details. * *(dict) --* An array that summaries the specified privacy budget. This summary includes collaboration information, creation information, membership information, and privacy budget information. * **id** *(string) --* The unique identifier of the privacy budget. * **privacyBudgetTemplateId** *(string) --* The unique identifier of the privacy budget template. * **privacyBudgetTemplateArn** *(string) --* The ARN of the privacy budget template. * **membershipId** *(string) --* The identifier for a membership resource. * **membershipArn** *(string) --* The Amazon Resource Name (ARN) of the member who created the privacy budget summary. * **collaborationId** *(string) --* The unique identifier of the collaboration that contains this privacy budget. * **collaborationArn** *(string) --* The ARN of the collaboration that contains this privacy budget. * **type** *(string) --* Specifies the type of the privacy budget. * **createTime** *(datetime) --* The time at which the privacy budget was created. * **updateTime** *(datetime) --* The most recent time at which the privacy budget was updated. * **budget** *(dict) --* The provided privacy budget. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "differentialPrivacy". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **differentialPrivacy** *(dict) --* An object that specifies the epsilon parameter and the utility in terms of total aggregations, as well as the remaining aggregations available. * **aggregations** *(list) --* This information includes the configured epsilon value and the utility in terms of total aggregations, as well as the remaining aggregations. * *(dict) --* Information about the total number of aggregations, as well as the remaining aggregations. * **type** *(string) --* The different types of aggregation functions that you can perform. * **maxCount** *(integer) --* The maximum number of aggregation functions that you can perform with the given privacy budget. * **remainingCount** *(integer) --* The remaining number of aggregation functions that can be run with the available privacy budget. * **epsilon** *(integer) --* The epsilon value that you configured. * **nextToken** *(string) --* The pagination token that's used to fetch the next set of results. **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / close close ***** CleanRoomsService.Client.close() Closes underlying endpoint connections. CleanRoomsService / Client / get_configured_table_association_analysis_rule get_configured_table_association_analysis_rule ********************************************** CleanRoomsService.Client.get_configured_table_association_analysis_rule(**kwargs) Retrieves the analysis rule for a configured table association. See also: AWS API Documentation **Request Syntax** response = client.get_configured_table_association_analysis_rule( membershipIdentifier='string', configuredTableAssociationIdentifier='string', analysisRuleType='AGGREGATION'|'LIST'|'CUSTOM' ) Parameters: * **membershipIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for the membership that the configured table association belongs to. Currently accepts the membership ID. * **configuredTableAssociationIdentifier** (*string*) -- **[REQUIRED]** The identifier for the configured table association that's related to the analysis rule. * **analysisRuleType** (*string*) -- **[REQUIRED]** The type of analysis rule that you want to retrieve. Return type: dict Returns: **Response Syntax** { 'analysisRule': { 'membershipIdentifier': 'string', 'configuredTableAssociationId': 'string', 'configuredTableAssociationArn': 'string', 'policy': { 'v1': { 'list': { 'allowedResultReceivers': [ 'string', ], 'allowedAdditionalAnalyses': [ 'string', ] }, 'aggregation': { 'allowedResultReceivers': [ 'string', ], 'allowedAdditionalAnalyses': [ 'string', ] }, 'custom': { 'allowedResultReceivers': [ 'string', ], 'allowedAdditionalAnalyses': [ 'string', ] } } }, 'type': 'AGGREGATION'|'LIST'|'CUSTOM', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1) } } **Response Structure** * *(dict) --* * **analysisRule** *(dict) --* The analysis rule for the configured table association. In the console, the "ConfiguredTableAssociationAnalysisRule" is referred to as the *collaboration analysis rule*. * **membershipIdentifier** *(string) --* The membership identifier for the configured table association analysis rule. * **configuredTableAssociationId** *(string) --* The unique identifier for the configured table association. * **configuredTableAssociationArn** *(string) --* The Amazon Resource Name (ARN) of the configured table association. * **policy** *(dict) --* The policy of the configured table association analysis rule. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "v1". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **v1** *(dict) --* The policy for the configured table association analysis rule. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "list", "aggregation", "custom". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **list** *(dict) --* Analysis rule type that enables only list queries on a configured table. * **allowedResultReceivers** *(list) --* The list of collaboration members who are allowed to receive results of queries run with this configured table. * *(string) --* * **allowedAdditionalAnalyses** *(list) --* The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output. * *(string) --* * **aggregation** *(dict) --* Analysis rule type that enables only aggregation queries on a configured table. * **allowedResultReceivers** *(list) --* The list of collaboration members who are allowed to receive results of queries run with this configured table. * *(string) --* * **allowedAdditionalAnalyses** *(list) --* The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output. The "allowedAdditionalAnalyses" parameter is currently supported for the list analysis rule ( "AnalysisRuleList") and the custom analysis rule ( "AnalysisRuleCustom"). * *(string) --* * **custom** *(dict) --* Analysis rule type that enables the table owner to approve custom SQL queries on their configured tables. It supports differential privacy. * **allowedResultReceivers** *(list) --* The list of collaboration members who are allowed to receive results of queries run with this configured table. * *(string) --* * **allowedAdditionalAnalyses** *(list) --* The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output. * *(string) --* * **type** *(string) --* The type of the configured table association analysis rule. * **createTime** *(datetime) --* The creation time of the configured table association analysis rule. * **updateTime** *(datetime) --* The update time of the configured table association analysis rule. **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / delete_collaboration delete_collaboration ******************** CleanRoomsService.Client.delete_collaboration(**kwargs) Deletes a collaboration. It can only be called by the collaboration owner. See also: AWS API Documentation **Request Syntax** response = client.delete_collaboration( collaborationIdentifier='string' ) Parameters: **collaborationIdentifier** (*string*) -- **[REQUIRED]** The identifier for the collaboration. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / update_configured_audience_model_association update_configured_audience_model_association ******************************************** CleanRoomsService.Client.update_configured_audience_model_association(**kwargs) Provides the details necessary to update a configured audience model association. See also: AWS API Documentation **Request Syntax** response = client.update_configured_audience_model_association( configuredAudienceModelAssociationIdentifier='string', membershipIdentifier='string', description='string', name='string' ) Parameters: * **configuredAudienceModelAssociationIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for the configured audience model association that you want to update. * **membershipIdentifier** (*string*) -- **[REQUIRED]** A unique identifier of the membership that contains the configured audience model association that you want to update. * **description** (*string*) -- A new description for the configured audience model association. * **name** (*string*) -- A new name for the configured audience model association. Return type: dict Returns: **Response Syntax** { 'configuredAudienceModelAssociation': { 'id': 'string', 'arn': 'string', 'configuredAudienceModelArn': 'string', 'membershipId': 'string', 'membershipArn': 'string', 'collaborationId': 'string', 'collaborationArn': 'string', 'name': 'string', 'manageResourcePolicies': True|False, 'description': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1) } } **Response Structure** * *(dict) --* * **configuredAudienceModelAssociation** *(dict) --* Details about the configured audience model association that you updated. * **id** *(string) --* A unique identifier of the configured audience model association. * **arn** *(string) --* The Amazon Resource Name (ARN) of the configured audience model association. * **configuredAudienceModelArn** *(string) --* The Amazon Resource Name (ARN) of the configured audience model that was used for this configured audience model association. * **membershipId** *(string) --* A unique identifier for the membership that contains this configured audience model association. * **membershipArn** *(string) --* The Amazon Resource Name (ARN) of the membership that contains this configured audience model association. * **collaborationId** *(string) --* A unique identifier of the collaboration that contains this configured audience model association. * **collaborationArn** *(string) --* The Amazon Resource Name (ARN) of the collaboration that contains this configured audience model association. * **name** *(string) --* The name of the configured audience model association. * **manageResourcePolicies** *(boolean) --* When "TRUE", indicates that the resource policy for the configured audience model resource being associated is configured for Clean Rooms to manage permissions related to the given collaboration. When "FALSE", indicates that the configured audience model resource owner will manage permissions related to the given collaboration. * **description** *(string) --* The description of the configured audience model association. * **createTime** *(datetime) --* The time at which the configured audience model association was created. * **updateTime** *(datetime) --* The most recent time at which the configured audience model association was updated. **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / update_protected_job update_protected_job ******************** CleanRoomsService.Client.update_protected_job(**kwargs) Updates the processing of a currently running job. See also: AWS API Documentation **Request Syntax** response = client.update_protected_job( membershipIdentifier='string', protectedJobIdentifier='string', targetStatus='CANCELLED' ) Parameters: * **membershipIdentifier** (*string*) -- **[REQUIRED]** The identifier for a member of a protected job instance. * **protectedJobIdentifier** (*string*) -- **[REQUIRED]** The identifier of the protected job to update. * **targetStatus** (*string*) -- **[REQUIRED]** The target status of a protected job. Used to update the execution status of a currently running job. Return type: dict Returns: **Response Syntax** { 'protectedJob': { 'id': 'string', 'membershipId': 'string', 'membershipArn': 'string', 'createTime': datetime(2015, 1, 1), 'jobParameters': { 'analysisTemplateArn': 'string' }, 'status': 'SUBMITTED'|'STARTED'|'CANCELLED'|'CANCELLING'|'FAILED'|'SUCCESS', 'resultConfiguration': { 'outputConfiguration': { 's3': { 'bucket': 'string', 'keyPrefix': 'string' }, 'member': { 'accountId': 'string' } } }, 'statistics': { 'totalDurationInMillis': 123, 'billedResourceUtilization': { 'units': 123.0 } }, 'result': { 'output': { 's3': { 'location': 'string' }, 'memberList': [ { 'accountId': 'string' }, ] } }, 'error': { 'message': 'string', 'code': 'string' } } } **Response Structure** * *(dict) --* * **protectedJob** *(dict) --* The protected job output. * **id** *(string) --* The identifier for a protected job instance. * **membershipId** *(string) --* he identifier for the membership. * **membershipArn** *(string) --* The ARN of the membership. * **createTime** *(datetime) --* The creation time of the protected job. * **jobParameters** *(dict) --* The job parameters for the protected job. * **analysisTemplateArn** *(string) --* The ARN of the analysis template. * **status** *(string) --* The status of the protected job. * **resultConfiguration** *(dict) --* Contains any details needed to write the job results. * **outputConfiguration** *(dict) --* The output configuration. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "s3", "member". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **s3** *(dict) --* If present, the output for a protected job with an *S3* output type. * **bucket** *(string) --* The S3 bucket for job output. * **keyPrefix** *(string) --* The S3 prefix to unload the protected job results. * **member** *(dict) --* The member output configuration for a protected job. * **accountId** *(string) --* The account ID. * **statistics** *(dict) --* The statistics of the protected job. * **totalDurationInMillis** *(integer) --* The duration of the protected job, from creation until job completion, in milliseconds. * **billedResourceUtilization** *(dict) --* The billed resource utilization for the protected job. * **units** *(float) --* The number of Clean Rooms Processing Unit (CRPU) hours that have been billed. * **result** *(dict) --* The result of the protected job. * **output** *(dict) --* The output of the protected job. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "s3", "memberList". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **s3** *(dict) --* If present, the output for a protected job with an *S3* output type. * **location** *(string) --* The S3 location for the protected job output. * **memberList** *(list) --* The list of member Amazon Web Services account(s) that received the results of the job. * *(dict) --* Details about the member who received the job result. * **accountId** *(string) --* The Amazon Web Services account ID of the member in the collaboration who can receive results from analyses. * **error** *(dict) --* The error from the protected job. * **message** *(string) --* The message for the protected job error. * **code** *(string) --* The error code for the protected job. **Exceptions** * "CleanRoomsService.Client.exceptions.ConflictException" * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / create_id_namespace_association create_id_namespace_association ******************************* CleanRoomsService.Client.create_id_namespace_association(**kwargs) Creates an ID namespace association. See also: AWS API Documentation **Request Syntax** response = client.create_id_namespace_association( membershipIdentifier='string', inputReferenceConfig={ 'inputReferenceArn': 'string', 'manageResourcePolicies': True|False }, tags={ 'string': 'string' }, name='string', description='string', idMappingConfig={ 'allowUseAsDimensionColumn': True|False } ) Parameters: * **membershipIdentifier** (*string*) -- **[REQUIRED]** The unique identifier of the membership that contains the ID namespace association. * **inputReferenceConfig** (*dict*) -- **[REQUIRED]** The input reference configuration needed to create the ID namespace association. * **inputReferenceArn** *(string) --* **[REQUIRED]** The Amazon Resource Name (ARN) of the Entity Resolution resource that is being associated to the collaboration. Valid resource ARNs are from the ID namespaces that you own. * **manageResourcePolicies** *(boolean) --* **[REQUIRED]** When "TRUE", Clean Rooms manages permissions for the ID namespace association resource. When "FALSE", the resource owner manages permissions for the ID namespace association resource. * **tags** (*dict*) -- An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource. * *(string) --* * *(string) --* * **name** (*string*) -- **[REQUIRED]** The name for the ID namespace association. * **description** (*string*) -- The description of the ID namespace association. * **idMappingConfig** (*dict*) -- The configuration settings for the ID mapping table. * **allowUseAsDimensionColumn** *(boolean) --* **[REQUIRED]** An indicator as to whether you can use your column as a dimension column in the ID mapping table ( "TRUE") or not ( "FALSE"). Default is "FALSE". Return type: dict Returns: **Response Syntax** { 'idNamespaceAssociation': { 'id': 'string', 'arn': 'string', 'membershipId': 'string', 'membershipArn': 'string', 'collaborationId': 'string', 'collaborationArn': 'string', 'name': 'string', 'description': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'inputReferenceConfig': { 'inputReferenceArn': 'string', 'manageResourcePolicies': True|False }, 'inputReferenceProperties': { 'idNamespaceType': 'SOURCE'|'TARGET', 'idMappingWorkflowsSupported': [ {...}|[...]|123|123.4|'string'|True|None, ] }, 'idMappingConfig': { 'allowUseAsDimensionColumn': True|False } } } **Response Structure** * *(dict) --* * **idNamespaceAssociation** *(dict) --* The ID namespace association that was created. * **id** *(string) --* The unique identifier for this ID namespace association. * **arn** *(string) --* The Amazon Resource Name (ARN) of the ID namespace association. * **membershipId** *(string) --* The unique identifier of the membership resource for this ID namespace association. * **membershipArn** *(string) --* The Amazon Resource Name (ARN) of the membership resource for this ID namespace association. * **collaborationId** *(string) --* The unique identifier of the collaboration that contains this ID namespace association. * **collaborationArn** *(string) --* The Amazon Resource Name (ARN) of the collaboration that contains this ID namespace association. * **name** *(string) --* The name of this ID namespace association. * **description** *(string) --* The description of the ID namespace association. * **createTime** *(datetime) --* The time at which the ID namespace association was created. * **updateTime** *(datetime) --* The most recent time at which the ID namespace association was updated. * **inputReferenceConfig** *(dict) --* The input reference configuration for the ID namespace association. * **inputReferenceArn** *(string) --* The Amazon Resource Name (ARN) of the Entity Resolution resource that is being associated to the collaboration. Valid resource ARNs are from the ID namespaces that you own. * **manageResourcePolicies** *(boolean) --* When "TRUE", Clean Rooms manages permissions for the ID namespace association resource. When "FALSE", the resource owner manages permissions for the ID namespace association resource. * **inputReferenceProperties** *(dict) --* The input reference properties for the ID namespace association. * **idNamespaceType** *(string) --* The ID namespace type for this ID namespace association. * **idMappingWorkflowsSupported** *(list) --* Defines how ID mapping workflows are supported for this ID namespace association. * (*document*) -- * **idMappingConfig** *(dict) --* The configuration settings for the ID mapping table. * **allowUseAsDimensionColumn** *(boolean) --* An indicator as to whether you can use your column as a dimension column in the ID mapping table ( "TRUE") or not ( "FALSE"). Default is "FALSE". **Exceptions** * "CleanRoomsService.Client.exceptions.ConflictException" * "CleanRoomsService.Client.exceptions.ServiceQuotaExceededExcepti on" * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / update_analysis_template update_analysis_template ************************ CleanRoomsService.Client.update_analysis_template(**kwargs) Updates the analysis template metadata. See also: AWS API Documentation **Request Syntax** response = client.update_analysis_template( membershipIdentifier='string', analysisTemplateIdentifier='string', description='string' ) Parameters: * **membershipIdentifier** (*string*) -- **[REQUIRED]** The identifier for a membership resource. * **analysisTemplateIdentifier** (*string*) -- **[REQUIRED]** The identifier for the analysis template resource. * **description** (*string*) -- A new description for the analysis template. Return type: dict Returns: **Response Syntax** { 'analysisTemplate': { 'id': 'string', 'arn': 'string', 'collaborationId': 'string', 'collaborationArn': 'string', 'membershipId': 'string', 'membershipArn': 'string', 'description': 'string', 'name': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'schema': { 'referencedTables': [ 'string', ] }, 'format': 'SQL'|'PYSPARK_1_0', 'source': { 'text': 'string', 'artifacts': { 'entryPoint': { 'location': { 'bucket': 'string', 'key': 'string' } }, 'additionalArtifacts': [ { 'location': { 'bucket': 'string', 'key': 'string' } }, ], 'roleArn': 'string' } }, 'sourceMetadata': { 'artifacts': { 'entryPointHash': { 'sha256': 'string' }, 'additionalArtifactHashes': [ { 'sha256': 'string' }, ] } }, 'analysisParameters': [ { 'name': 'string', 'type': 'SMALLINT'|'INTEGER'|'BIGINT'|'DECIMAL'|'REAL'|'DOUBLE_PRECISION'|'BOOLEAN'|'CHAR'|'VARCHAR'|'DATE'|'TIMESTAMP'|'TIMESTAMPTZ'|'TIME'|'TIMETZ'|'VARBYTE'|'BINARY'|'BYTE'|'CHARACTER'|'DOUBLE'|'FLOAT'|'INT'|'LONG'|'NUMERIC'|'SHORT'|'STRING'|'TIMESTAMP_LTZ'|'TIMESTAMP_NTZ'|'TINYINT', 'defaultValue': 'string' }, ], 'validations': [ { 'type': 'DIFFERENTIAL_PRIVACY', 'status': 'VALID'|'INVALID'|'UNABLE_TO_VALIDATE', 'reasons': [ { 'message': 'string' }, ] }, ] } } **Response Structure** * *(dict) --* * **analysisTemplate** *(dict) --* The analysis template. * **id** *(string) --* The identifier for the analysis template. * **arn** *(string) --* The Amazon Resource Name (ARN) of the analysis template. * **collaborationId** *(string) --* The unique ID for the associated collaboration of the analysis template. * **collaborationArn** *(string) --* The unique ARN for the analysis template’s associated collaboration. * **membershipId** *(string) --* The identifier of a member who created the analysis template. * **membershipArn** *(string) --* The Amazon Resource Name (ARN) of the member who created the analysis template. * **description** *(string) --* The description of the analysis template. * **name** *(string) --* The name of the analysis template. * **createTime** *(datetime) --* The time that the analysis template was created. * **updateTime** *(datetime) --* The time that the analysis template was last updated. * **schema** *(dict) --* The entire schema object. * **referencedTables** *(list) --* The tables referenced in the analysis schema. * *(string) --* * **format** *(string) --* The format of the analysis template. * **source** *(dict) --* The source of the analysis template. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "text", "artifacts". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **text** *(string) --* The query text. * **artifacts** *(dict) --* The artifacts of the analysis source. * **entryPoint** *(dict) --* The entry point for the analysis template artifacts. * **location** *(dict) --* The artifact location. * **bucket** *(string) --* The bucket name. * **key** *(string) --* The object key. * **additionalArtifacts** *(list) --* Additional artifacts for the analysis template. * *(dict) --* The analysis template artifact. * **location** *(dict) --* The artifact location. * **bucket** *(string) --* The bucket name. * **key** *(string) --* The object key. * **roleArn** *(string) --* The role ARN for the analysis template artifacts. * **sourceMetadata** *(dict) --* The source metadata for the analysis template. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "artifacts". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **artifacts** *(dict) --* The artifacts of the analysis source metadata. * **entryPointHash** *(dict) --* The hash of the entry point for the analysis template artifact metadata. * **sha256** *(string) --* The SHA-256 hash value. * **additionalArtifactHashes** *(list) --* Additional artifact hashes for the analysis template. * *(dict) --* Hash * **sha256** *(string) --* The SHA-256 hash value. * **analysisParameters** *(list) --* The parameters of the analysis template. * *(dict) --* Optional. The member who can query can provide this placeholder for a literal data value in an analysis template. * **name** *(string) --* The name of the parameter. The name must use only alphanumeric, underscore (_), or hyphen (-) characters but cannot start or end with a hyphen. * **type** *(string) --* The type of parameter. * **defaultValue** *(string) --* Optional. The default value that is applied in the analysis template. The member who can query can override this value in the query editor. * **validations** *(list) --* Information about the validations performed on the analysis template. * *(dict) --* The status details of the analysis template validation. Clean Rooms Differential Privacy uses a general-purpose query structure to support complex SQL queries and validates whether an analysis template fits that general-purpose query structure. Validation is performed when analysis templates are created and fetched. Because analysis templates are immutable by design, we recommend that you create analysis templates after you associate the configured tables with their analysis rule to your collaboration. For more information, see https://docs.aws.amazon.com /clean-rooms/latest/userguide/analysis-rules-custom.html #custom-diff-privacy. * **type** *(string) --* The type of validation that was performed. * **status** *(string) --* The status of the validation. * **reasons** *(list) --* The reasons for the validation results. * *(dict) --* The reasons for the validation results. * **message** *(string) --* The validation message. **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / get_membership get_membership ************** CleanRoomsService.Client.get_membership(**kwargs) Retrieves a specified membership for an identifier. See also: AWS API Documentation **Request Syntax** response = client.get_membership( membershipIdentifier='string' ) Parameters: **membershipIdentifier** (*string*) -- **[REQUIRED]** The identifier for a membership resource. Return type: dict Returns: **Response Syntax** { 'membership': { 'id': 'string', 'arn': 'string', 'collaborationArn': 'string', 'collaborationId': 'string', 'collaborationCreatorAccountId': 'string', 'collaborationCreatorDisplayName': 'string', 'collaborationName': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'status': 'ACTIVE'|'REMOVED'|'COLLABORATION_DELETED', 'memberAbilities': [ 'CAN_QUERY'|'CAN_RECEIVE_RESULTS'|'CAN_RUN_JOB', ], 'mlMemberAbilities': { 'customMLMemberAbilities': [ 'CAN_RECEIVE_MODEL_OUTPUT'|'CAN_RECEIVE_INFERENCE_OUTPUT', ] }, 'queryLogStatus': 'ENABLED'|'DISABLED', 'jobLogStatus': 'ENABLED'|'DISABLED', 'defaultResultConfiguration': { 'outputConfiguration': { 's3': { 'resultFormat': 'CSV'|'PARQUET', 'bucket': 'string', 'keyPrefix': 'string', 'singleFileOutput': True|False } }, 'roleArn': 'string' }, 'defaultJobResultConfiguration': { 'outputConfiguration': { 's3': { 'bucket': 'string', 'keyPrefix': 'string' } }, 'roleArn': 'string' }, 'paymentConfiguration': { 'queryCompute': { 'isResponsible': True|False }, 'machineLearning': { 'modelTraining': { 'isResponsible': True|False }, 'modelInference': { 'isResponsible': True|False } }, 'jobCompute': { 'isResponsible': True|False } } } } **Response Structure** * *(dict) --* * **membership** *(dict) --* The membership retrieved for the provided identifier. * **id** *(string) --* The unique ID of the membership. * **arn** *(string) --* The unique ARN for the membership. * **collaborationArn** *(string) --* The unique ARN for the membership's associated collaboration. * **collaborationId** *(string) --* The unique ID for the membership's collaboration. * **collaborationCreatorAccountId** *(string) --* The identifier used to reference members of the collaboration. Currently only supports Amazon Web Services account ID. * **collaborationCreatorDisplayName** *(string) --* The display name of the collaboration creator. * **collaborationName** *(string) --* The name of the membership's collaboration. * **createTime** *(datetime) --* The time when the membership was created. * **updateTime** *(datetime) --* The time the membership metadata was last updated. * **status** *(string) --* The status of the membership. * **memberAbilities** *(list) --* The abilities granted to the collaboration member. * *(string) --* * **mlMemberAbilities** *(dict) --* Specifies the ML member abilities that are granted to a collaboration member. * **customMLMemberAbilities** *(list) --* The custom ML member abilities for a collaboration member. * *(string) --* * **queryLogStatus** *(string) --* An indicator as to whether query logging has been enabled or disabled for the membership. When "ENABLED", Clean Rooms logs details about queries run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is "DISABLED". * **jobLogStatus** *(string) --* An indicator as to whether job logging has been enabled or disabled for the collaboration. When "ENABLED", Clean Rooms logs details about jobs run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is "DISABLED". * **defaultResultConfiguration** *(dict) --* The default protected query result configuration as specified by the member who can receive results. * **outputConfiguration** *(dict) --* Configuration for protected query results. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "s3". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **s3** *(dict) --* Contains the configuration to write the query results to S3. * **resultFormat** *(string) --* Intended file format of the result. * **bucket** *(string) --* The S3 bucket to unload the protected query results. * **keyPrefix** *(string) --* The S3 prefix to unload the protected query results. * **singleFileOutput** *(boolean) --* Indicates whether files should be output as a single file ( "TRUE") or output as multiple files ( "FALSE"). This parameter is only supported for analyses with the Spark analytics engine. * **roleArn** *(string) --* The unique ARN for an IAM role that is used by Clean Rooms to write protected query results to the result location, given by the member who can receive results. * **defaultJobResultConfiguration** *(dict) --* The default job result configuration for the membership. * **outputConfiguration** *(dict) --* The output configuration for a protected job result. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "s3". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **s3** *(dict) --* Contains the configuration to write the job results to S3. * **bucket** *(string) --* The S3 bucket for job output. * **keyPrefix** *(string) --* The S3 prefix to unload the protected job results. * **roleArn** *(string) --* The unique ARN for an IAM role that is used by Clean Rooms to write protected job results to the result location, given by the member who can receive results. * **paymentConfiguration** *(dict) --* The payment responsibilities accepted by the collaboration member. * **queryCompute** *(dict) --* The payment responsibilities accepted by the collaboration member for query compute costs. * **isResponsible** *(boolean) --* Indicates whether the collaboration member has accepted to pay for query compute costs ( "TRUE") or has not accepted to pay for query compute costs ( "FALSE"). If the collaboration creator has not specified anyone to pay for query compute costs, then the member who can query is the default payer. An error message is returned for the following reasons: * If you set the value to "FALSE" but you are responsible to pay for query compute costs. * If you set the value to "TRUE" but you are not responsible to pay for query compute costs. * **machineLearning** *(dict) --* The payment responsibilities accepted by the collaboration member for machine learning costs. * **modelTraining** *(dict) --* The payment responsibilities accepted by the member for model training. * **isResponsible** *(boolean) --* Indicates whether the collaboration member has accepted to pay for model training costs ( "TRUE") or has not accepted to pay for model training costs ( "FALSE"). If the collaboration creator has not specified anyone to pay for model training costs, then the member who can query is the default payer. An error message is returned for the following reasons: * If you set the value to "FALSE" but you are responsible to pay for model training costs. * If you set the value to "TRUE" but you are not responsible to pay for model training costs. * **modelInference** *(dict) --* The payment responsibilities accepted by the member for model inference. * **isResponsible** *(boolean) --* Indicates whether the collaboration member has accepted to pay for model inference costs ( "TRUE") or has not accepted to pay for model inference costs ( "FALSE"). If the collaboration creator has not specified anyone to pay for model inference costs, then the member who can query is the default payer. An error message is returned for the following reasons: * If you set the value to "FALSE" but you are responsible to pay for model inference costs. * If you set the value to "TRUE" but you are not responsible to pay for model inference costs. * **jobCompute** *(dict) --* The payment responsibilities accepted by the collaboration member for job compute costs. * **isResponsible** *(boolean) --* Indicates whether the collaboration member has accepted to pay for job compute costs ( "TRUE") or has not accepted to pay for query and job compute costs ( "FALSE"). There is only one member who pays for queries and jobs. An error message is returned for the following reasons: * If you set the value to "FALSE" but you are responsible to pay for query and job compute costs. * If you set the value to "TRUE" but you are not responsible to pay for query and job compute costs. **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / update_configured_table_association_analysis_rule update_configured_table_association_analysis_rule ************************************************* CleanRoomsService.Client.update_configured_table_association_analysis_rule(**kwargs) Updates the analysis rule for a configured table association. See also: AWS API Documentation **Request Syntax** response = client.update_configured_table_association_analysis_rule( membershipIdentifier='string', configuredTableAssociationIdentifier='string', analysisRuleType='AGGREGATION'|'LIST'|'CUSTOM', analysisRulePolicy={ 'v1': { 'list': { 'allowedResultReceivers': [ 'string', ], 'allowedAdditionalAnalyses': [ 'string', ] }, 'aggregation': { 'allowedResultReceivers': [ 'string', ], 'allowedAdditionalAnalyses': [ 'string', ] }, 'custom': { 'allowedResultReceivers': [ 'string', ], 'allowedAdditionalAnalyses': [ 'string', ] } } } ) Parameters: * **membershipIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for the membership that the configured table association belongs to. Currently accepts the membership ID. * **configuredTableAssociationIdentifier** (*string*) -- **[REQUIRED]** The identifier for the configured table association to update. * **analysisRuleType** (*string*) -- **[REQUIRED]** The analysis rule type that you want to update. * **analysisRulePolicy** (*dict*) -- **[REQUIRED]** The updated analysis rule policy for the configured table association. Note: This is a Tagged Union structure. Only one of the following top level keys can be set: "v1". * **v1** *(dict) --* The policy for the configured table association analysis rule. Note: This is a Tagged Union structure. Only one of the following top level keys can be set: "list", "aggregation", "custom". * **list** *(dict) --* Analysis rule type that enables only list queries on a configured table. * **allowedResultReceivers** *(list) --* The list of collaboration members who are allowed to receive results of queries run with this configured table. * *(string) --* * **allowedAdditionalAnalyses** *(list) --* The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output. * *(string) --* * **aggregation** *(dict) --* Analysis rule type that enables only aggregation queries on a configured table. * **allowedResultReceivers** *(list) --* The list of collaboration members who are allowed to receive results of queries run with this configured table. * *(string) --* * **allowedAdditionalAnalyses** *(list) --* The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output. The "allowedAdditionalAnalyses" parameter is currently supported for the list analysis rule ( "AnalysisRuleList") and the custom analysis rule ( "AnalysisRuleCustom"). * *(string) --* * **custom** *(dict) --* Analysis rule type that enables the table owner to approve custom SQL queries on their configured tables. It supports differential privacy. * **allowedResultReceivers** *(list) --* The list of collaboration members who are allowed to receive results of queries run with this configured table. * *(string) --* * **allowedAdditionalAnalyses** *(list) --* The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output. * *(string) --* Return type: dict Returns: **Response Syntax** { 'analysisRule': { 'membershipIdentifier': 'string', 'configuredTableAssociationId': 'string', 'configuredTableAssociationArn': 'string', 'policy': { 'v1': { 'list': { 'allowedResultReceivers': [ 'string', ], 'allowedAdditionalAnalyses': [ 'string', ] }, 'aggregation': { 'allowedResultReceivers': [ 'string', ], 'allowedAdditionalAnalyses': [ 'string', ] }, 'custom': { 'allowedResultReceivers': [ 'string', ], 'allowedAdditionalAnalyses': [ 'string', ] } } }, 'type': 'AGGREGATION'|'LIST'|'CUSTOM', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1) } } **Response Structure** * *(dict) --* * **analysisRule** *(dict) --* The updated analysis rule for the configured table association. In the console, the "ConfiguredTableAssociationAnalysisRule" is referred to as the *collaboration analysis rule*. * **membershipIdentifier** *(string) --* The membership identifier for the configured table association analysis rule. * **configuredTableAssociationId** *(string) --* The unique identifier for the configured table association. * **configuredTableAssociationArn** *(string) --* The Amazon Resource Name (ARN) of the configured table association. * **policy** *(dict) --* The policy of the configured table association analysis rule. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "v1". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **v1** *(dict) --* The policy for the configured table association analysis rule. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "list", "aggregation", "custom". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **list** *(dict) --* Analysis rule type that enables only list queries on a configured table. * **allowedResultReceivers** *(list) --* The list of collaboration members who are allowed to receive results of queries run with this configured table. * *(string) --* * **allowedAdditionalAnalyses** *(list) --* The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output. * *(string) --* * **aggregation** *(dict) --* Analysis rule type that enables only aggregation queries on a configured table. * **allowedResultReceivers** *(list) --* The list of collaboration members who are allowed to receive results of queries run with this configured table. * *(string) --* * **allowedAdditionalAnalyses** *(list) --* The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output. The "allowedAdditionalAnalyses" parameter is currently supported for the list analysis rule ( "AnalysisRuleList") and the custom analysis rule ( "AnalysisRuleCustom"). * *(string) --* * **custom** *(dict) --* Analysis rule type that enables the table owner to approve custom SQL queries on their configured tables. It supports differential privacy. * **allowedResultReceivers** *(list) --* The list of collaboration members who are allowed to receive results of queries run with this configured table. * *(string) --* * **allowedAdditionalAnalyses** *(list) --* The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output. * *(string) --* * **type** *(string) --* The type of the configured table association analysis rule. * **createTime** *(datetime) --* The creation time of the configured table association analysis rule. * **updateTime** *(datetime) --* The update time of the configured table association analysis rule. **Exceptions** * "CleanRoomsService.Client.exceptions.ConflictException" * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / list_configured_table_associations list_configured_table_associations ********************************** CleanRoomsService.Client.list_configured_table_associations(**kwargs) Lists configured table associations for a membership. See also: AWS API Documentation **Request Syntax** response = client.list_configured_table_associations( membershipIdentifier='string', nextToken='string', maxResults=123 ) Parameters: * **membershipIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for the membership to list configured table associations for. Currently accepts the membership ID. * **nextToken** (*string*) -- The pagination token that's used to fetch the next set of results. * **maxResults** (*integer*) -- The maximum number of results that are returned for an API request call. The service chooses a default number if you don't set one. The service might return a *nextToken* even if the *maxResults* value has not been met. Return type: dict Returns: **Response Syntax** { 'configuredTableAssociationSummaries': [ { 'configuredTableId': 'string', 'membershipId': 'string', 'membershipArn': 'string', 'name': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'id': 'string', 'arn': 'string', 'analysisRuleTypes': [ 'AGGREGATION'|'LIST'|'CUSTOM', ] }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **configuredTableAssociationSummaries** *(list) --* The retrieved list of configured table associations. * *(dict) --* The configured table association summary for the objects listed by the request. * **configuredTableId** *(string) --* The unique configured table ID that this configured table association refers to. * **membershipId** *(string) --* The unique ID for the membership that the configured table association belongs to. * **membershipArn** *(string) --* The unique ARN for the membership that the configured table association belongs to. * **name** *(string) --* The name of the configured table association. The table is identified by this name when running Protected Queries against the underlying data. * **createTime** *(datetime) --* The time the configured table association was created. * **updateTime** *(datetime) --* The time the configured table association was last updated. * **id** *(string) --* The unique ID for the configured table association. * **arn** *(string) --* The unique ARN for the configured table association. * **analysisRuleTypes** *(list) --* The analysis rule types that are associated with the configured table associations in this summary. * *(string) --* * **nextToken** *(string) --* The pagination token that's used to fetch the next set of results. **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / start_protected_job start_protected_job ******************* CleanRoomsService.Client.start_protected_job(**kwargs) Creates a protected job that is started by Clean Rooms. See also: AWS API Documentation **Request Syntax** response = client.start_protected_job( type='PYSPARK', membershipIdentifier='string', jobParameters={ 'analysisTemplateArn': 'string' }, resultConfiguration={ 'outputConfiguration': { 'member': { 'accountId': 'string' } } } ) Parameters: * **type** (*string*) -- **[REQUIRED]** The type of protected job to start. * **membershipIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for the membership to run this job against. Currently accepts a membership ID. * **jobParameters** (*dict*) -- **[REQUIRED]** The job parameters. * **analysisTemplateArn** *(string) --* The ARN of the analysis template. * **resultConfiguration** (*dict*) -- The details needed to write the job results. * **outputConfiguration** *(dict) --* **[REQUIRED]** The output configuration for a protected job result. Note: This is a Tagged Union structure. Only one of the following top level keys can be set: "member". * **member** *(dict) --* The member of the protected job output configuration input. * **accountId** *(string) --* **[REQUIRED]** The account ID. Return type: dict Returns: **Response Syntax** { 'protectedJob': { 'id': 'string', 'membershipId': 'string', 'membershipArn': 'string', 'createTime': datetime(2015, 1, 1), 'jobParameters': { 'analysisTemplateArn': 'string' }, 'status': 'SUBMITTED'|'STARTED'|'CANCELLED'|'CANCELLING'|'FAILED'|'SUCCESS', 'resultConfiguration': { 'outputConfiguration': { 's3': { 'bucket': 'string', 'keyPrefix': 'string' }, 'member': { 'accountId': 'string' } } }, 'statistics': { 'totalDurationInMillis': 123, 'billedResourceUtilization': { 'units': 123.0 } }, 'result': { 'output': { 's3': { 'location': 'string' }, 'memberList': [ { 'accountId': 'string' }, ] } }, 'error': { 'message': 'string', 'code': 'string' } } } **Response Structure** * *(dict) --* * **protectedJob** *(dict) --* The protected job. * **id** *(string) --* The identifier for a protected job instance. * **membershipId** *(string) --* he identifier for the membership. * **membershipArn** *(string) --* The ARN of the membership. * **createTime** *(datetime) --* The creation time of the protected job. * **jobParameters** *(dict) --* The job parameters for the protected job. * **analysisTemplateArn** *(string) --* The ARN of the analysis template. * **status** *(string) --* The status of the protected job. * **resultConfiguration** *(dict) --* Contains any details needed to write the job results. * **outputConfiguration** *(dict) --* The output configuration. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "s3", "member". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **s3** *(dict) --* If present, the output for a protected job with an *S3* output type. * **bucket** *(string) --* The S3 bucket for job output. * **keyPrefix** *(string) --* The S3 prefix to unload the protected job results. * **member** *(dict) --* The member output configuration for a protected job. * **accountId** *(string) --* The account ID. * **statistics** *(dict) --* The statistics of the protected job. * **totalDurationInMillis** *(integer) --* The duration of the protected job, from creation until job completion, in milliseconds. * **billedResourceUtilization** *(dict) --* The billed resource utilization for the protected job. * **units** *(float) --* The number of Clean Rooms Processing Unit (CRPU) hours that have been billed. * **result** *(dict) --* The result of the protected job. * **output** *(dict) --* The output of the protected job. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "s3", "memberList". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **s3** *(dict) --* If present, the output for a protected job with an *S3* output type. * **location** *(string) --* The S3 location for the protected job output. * **memberList** *(list) --* The list of member Amazon Web Services account(s) that received the results of the job. * *(dict) --* Details about the member who received the job result. * **accountId** *(string) --* The Amazon Web Services account ID of the member in the collaboration who can receive results from analyses. * **error** *(dict) --* The error from the protected job. * **message** *(string) --* The message for the protected job error. * **code** *(string) --* The error code for the protected job. **Exceptions** * "CleanRoomsService.Client.exceptions.ServiceQuotaExceededExcepti on" * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / delete_configured_table_association delete_configured_table_association *********************************** CleanRoomsService.Client.delete_configured_table_association(**kwargs) Deletes a configured table association. See also: AWS API Documentation **Request Syntax** response = client.delete_configured_table_association( configuredTableAssociationIdentifier='string', membershipIdentifier='string' ) Parameters: * **configuredTableAssociationIdentifier** (*string*) -- **[REQUIRED]** The unique ID for the configured table association to be deleted. Currently accepts the configured table ID. * **membershipIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for the membership that the configured table association belongs to. Currently accepts the membership ID. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "CleanRoomsService.Client.exceptions.ConflictException" * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / get_protected_job get_protected_job ***************** CleanRoomsService.Client.get_protected_job(**kwargs) Returns job processing metadata. See also: AWS API Documentation **Request Syntax** response = client.get_protected_job( membershipIdentifier='string', protectedJobIdentifier='string' ) Parameters: * **membershipIdentifier** (*string*) -- **[REQUIRED]** The identifier for a membership in a protected job instance. * **protectedJobIdentifier** (*string*) -- **[REQUIRED]** The identifier for the protected job instance. Return type: dict Returns: **Response Syntax** { 'protectedJob': { 'id': 'string', 'membershipId': 'string', 'membershipArn': 'string', 'createTime': datetime(2015, 1, 1), 'jobParameters': { 'analysisTemplateArn': 'string' }, 'status': 'SUBMITTED'|'STARTED'|'CANCELLED'|'CANCELLING'|'FAILED'|'SUCCESS', 'resultConfiguration': { 'outputConfiguration': { 's3': { 'bucket': 'string', 'keyPrefix': 'string' }, 'member': { 'accountId': 'string' } } }, 'statistics': { 'totalDurationInMillis': 123, 'billedResourceUtilization': { 'units': 123.0 } }, 'result': { 'output': { 's3': { 'location': 'string' }, 'memberList': [ { 'accountId': 'string' }, ] } }, 'error': { 'message': 'string', 'code': 'string' } } } **Response Structure** * *(dict) --* * **protectedJob** *(dict) --* The protected job metadata. * **id** *(string) --* The identifier for a protected job instance. * **membershipId** *(string) --* he identifier for the membership. * **membershipArn** *(string) --* The ARN of the membership. * **createTime** *(datetime) --* The creation time of the protected job. * **jobParameters** *(dict) --* The job parameters for the protected job. * **analysisTemplateArn** *(string) --* The ARN of the analysis template. * **status** *(string) --* The status of the protected job. * **resultConfiguration** *(dict) --* Contains any details needed to write the job results. * **outputConfiguration** *(dict) --* The output configuration. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "s3", "member". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **s3** *(dict) --* If present, the output for a protected job with an *S3* output type. * **bucket** *(string) --* The S3 bucket for job output. * **keyPrefix** *(string) --* The S3 prefix to unload the protected job results. * **member** *(dict) --* The member output configuration for a protected job. * **accountId** *(string) --* The account ID. * **statistics** *(dict) --* The statistics of the protected job. * **totalDurationInMillis** *(integer) --* The duration of the protected job, from creation until job completion, in milliseconds. * **billedResourceUtilization** *(dict) --* The billed resource utilization for the protected job. * **units** *(float) --* The number of Clean Rooms Processing Unit (CRPU) hours that have been billed. * **result** *(dict) --* The result of the protected job. * **output** *(dict) --* The output of the protected job. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "s3", "memberList". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **s3** *(dict) --* If present, the output for a protected job with an *S3* output type. * **location** *(string) --* The S3 location for the protected job output. * **memberList** *(list) --* The list of member Amazon Web Services account(s) that received the results of the job. * *(dict) --* Details about the member who received the job result. * **accountId** *(string) --* The Amazon Web Services account ID of the member in the collaboration who can receive results from analyses. * **error** *(dict) --* The error from the protected job. * **message** *(string) --* The message for the protected job error. * **code** *(string) --* The error code for the protected job. **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / list_configured_audience_model_associations list_configured_audience_model_associations ******************************************* CleanRoomsService.Client.list_configured_audience_model_associations(**kwargs) Lists information about requested configured audience model associations. See also: AWS API Documentation **Request Syntax** response = client.list_configured_audience_model_associations( membershipIdentifier='string', nextToken='string', maxResults=123 ) Parameters: * **membershipIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for a membership that contains the configured audience model associations that you want to retrieve. * **nextToken** (*string*) -- The pagination token that's used to fetch the next set of results. * **maxResults** (*integer*) -- The maximum number of results that are returned for an API request call. The service chooses a default number if you don't set one. The service might return a *nextToken* even if the *maxResults* value has not been met. Return type: dict Returns: **Response Syntax** { 'configuredAudienceModelAssociationSummaries': [ { 'membershipId': 'string', 'membershipArn': 'string', 'collaborationArn': 'string', 'collaborationId': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'id': 'string', 'arn': 'string', 'name': 'string', 'configuredAudienceModelArn': 'string', 'description': 'string' }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **configuredAudienceModelAssociationSummaries** *(list) --* Summaries of the configured audience model associations that you requested. * *(dict) --* A summary of the configured audience model association. * **membershipId** *(string) --* A unique identifier of the membership that contains the configured audience model association. * **membershipArn** *(string) --* The Amazon Resource Name (ARN) of the membership that contains the configured audience model association. * **collaborationArn** *(string) --* The Amazon Resource Name (ARN) of the collaboration that contains the configured audience model association. * **collaborationId** *(string) --* A unique identifier of the collaboration that configured audience model is associated with. * **createTime** *(datetime) --* The time at which the configured audience model association was created. * **updateTime** *(datetime) --* The most recent time at which the configured audience model association was updated. * **id** *(string) --* A unique identifier of the configured audience model association. * **arn** *(string) --* The Amazon Resource Name (ARN) of the configured audience model association. * **name** *(string) --* The name of the configured audience model association. * **configuredAudienceModelArn** *(string) --* The Amazon Resource Name (ARN) of the configured audience model that was used for this configured audience model association. * **description** *(string) --* The description of the configured audience model association. * **nextToken** *(string) --* The token value provided to access the next page of results. **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / list_id_mapping_tables list_id_mapping_tables ********************** CleanRoomsService.Client.list_id_mapping_tables(**kwargs) Returns a list of ID mapping tables. See also: AWS API Documentation **Request Syntax** response = client.list_id_mapping_tables( membershipIdentifier='string', nextToken='string', maxResults=123 ) Parameters: * **membershipIdentifier** (*string*) -- **[REQUIRED]** The unique identifier of the membership that contains the ID mapping tables that you want to view. * **nextToken** (*string*) -- The pagination token that's used to fetch the next set of results. * **maxResults** (*integer*) -- The maximum size of the results that is returned per call. Service chooses a default if it has not been set. Service may return a nextToken even if the maximum results has not been met. Return type: dict Returns: **Response Syntax** { 'idMappingTableSummaries': [ { 'collaborationArn': 'string', 'collaborationId': 'string', 'membershipId': 'string', 'membershipArn': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'id': 'string', 'arn': 'string', 'description': 'string', 'inputReferenceConfig': { 'inputReferenceArn': 'string', 'manageResourcePolicies': True|False }, 'name': 'string' }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **idMappingTableSummaries** *(list) --* The summary information of the ID mapping tables that you requested. * *(dict) --* Detailed information about the ID mapping table. * **collaborationArn** *(string) --* The Amazon Resource Name (ARN) of the collaboration that contains this ID mapping table. * **collaborationId** *(string) --* The unique identifier of the collaboration that contains this ID mapping table. * **membershipId** *(string) --* The unique identifier of the membership resource for this ID mapping table. * **membershipArn** *(string) --* The Amazon Resource Name (ARN) of the membership resource for this ID mapping table. * **createTime** *(datetime) --* The time at which this ID mapping table was created. * **updateTime** *(datetime) --* The most recent time at which this ID mapping table was updated. * **id** *(string) --* The unique identifier of this ID mapping table. * **arn** *(string) --* The Amazon Resource Name (ARN) of this ID mapping table. * **description** *(string) --* The description of this ID mapping table. * **inputReferenceConfig** *(dict) --* The input reference configuration for the ID mapping table. * **inputReferenceArn** *(string) --* The Amazon Resource Name (ARN) of the referenced resource in Entity Resolution. Valid values are ID mapping workflow ARNs. * **manageResourcePolicies** *(boolean) --* When "TRUE", Clean Rooms manages permissions for the ID mapping table resource. When "FALSE", the resource owner manages permissions for the ID mapping table resource. * **name** *(string) --* The name of this ID mapping table. * **nextToken** *(string) --* The token value provided to access the next page of results. **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / list_collaboration_privacy_budgets list_collaboration_privacy_budgets ********************************** CleanRoomsService.Client.list_collaboration_privacy_budgets(**kwargs) Returns an array that summarizes each privacy budget in a specified collaboration. The summary includes the collaboration ARN, creation time, creating account, and privacy budget details. See also: AWS API Documentation **Request Syntax** response = client.list_collaboration_privacy_budgets( collaborationIdentifier='string', privacyBudgetType='DIFFERENTIAL_PRIVACY', maxResults=123, nextToken='string' ) Parameters: * **collaborationIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for one of your collaborations. * **privacyBudgetType** (*string*) -- **[REQUIRED]** Specifies the type of the privacy budget. * **maxResults** (*integer*) -- The maximum number of results that are returned for an API request call. The service chooses a default number if you don't set one. The service might return a *nextToken* even if the *maxResults* value has not been met. * **nextToken** (*string*) -- The pagination token that's used to fetch the next set of results. Return type: dict Returns: **Response Syntax** { 'collaborationPrivacyBudgetSummaries': [ { 'id': 'string', 'privacyBudgetTemplateId': 'string', 'privacyBudgetTemplateArn': 'string', 'collaborationId': 'string', 'collaborationArn': 'string', 'creatorAccountId': 'string', 'type': 'DIFFERENTIAL_PRIVACY', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'budget': { 'differentialPrivacy': { 'aggregations': [ { 'type': 'AVG'|'COUNT'|'COUNT_DISTINCT'|'SUM'|'STDDEV', 'maxCount': 123, 'remainingCount': 123 }, ], 'epsilon': 123 } } }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **collaborationPrivacyBudgetSummaries** *(list) --* Summaries of the collaboration privacy budgets. * *(dict) --* A summary of the collaboration privacy budgets. This summary includes the collaboration information, creation information, epsilon provided, and utility in terms of aggregations. * **id** *(string) --* The unique identifier of the collaboration privacy budget. * **privacyBudgetTemplateId** *(string) --* The unique identifier of the collaboration privacy budget template. * **privacyBudgetTemplateArn** *(string) --* The ARN of the collaboration privacy budget template. * **collaborationId** *(string) --* The unique identifier of the collaboration that includes this privacy budget. * **collaborationArn** *(string) --* The ARN of the collaboration that includes this privacy budget. * **creatorAccountId** *(string) --* The unique identifier of the account that created this privacy budget. * **type** *(string) --* The type of privacy budget template. * **createTime** *(datetime) --* The time at which the privacy budget was created. * **updateTime** *(datetime) --* The most recent time at which the privacy budget was updated. * **budget** *(dict) --* The includes epsilon provided and utility in terms of aggregations. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "differentialPrivacy". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **differentialPrivacy** *(dict) --* An object that specifies the epsilon parameter and the utility in terms of total aggregations, as well as the remaining aggregations available. * **aggregations** *(list) --* This information includes the configured epsilon value and the utility in terms of total aggregations, as well as the remaining aggregations. * *(dict) --* Information about the total number of aggregations, as well as the remaining aggregations. * **type** *(string) --* The different types of aggregation functions that you can perform. * **maxCount** *(integer) --* The maximum number of aggregation functions that you can perform with the given privacy budget. * **remainingCount** *(integer) --* The remaining number of aggregation functions that can be run with the available privacy budget. * **epsilon** *(integer) --* The epsilon value that you configured. * **nextToken** *(string) --* The pagination token that's used to fetch the next set of results. **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / tag_resource tag_resource ************ CleanRoomsService.Client.tag_resource(**kwargs) Tags a resource. See also: AWS API Documentation **Request Syntax** response = client.tag_resource( resourceArn='string', tags={ 'string': 'string' } ) Parameters: * **resourceArn** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) associated with the resource you want to tag. * **tags** (*dict*) -- **[REQUIRED]** A map of objects specifying each key name and value. * *(string) --* * *(string) --* Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.ValidationException" CleanRoomsService / Client / start_protected_query start_protected_query ********************* CleanRoomsService.Client.start_protected_query(**kwargs) Creates a protected query that is started by Clean Rooms. See also: AWS API Documentation **Request Syntax** response = client.start_protected_query( type='SQL', membershipIdentifier='string', sqlParameters={ 'queryString': 'string', 'analysisTemplateArn': 'string', 'parameters': { 'string': 'string' } }, resultConfiguration={ 'outputConfiguration': { 's3': { 'resultFormat': 'CSV'|'PARQUET', 'bucket': 'string', 'keyPrefix': 'string', 'singleFileOutput': True|False }, 'member': { 'accountId': 'string' }, 'distribute': { 'locations': [ { 's3': { 'resultFormat': 'CSV'|'PARQUET', 'bucket': 'string', 'keyPrefix': 'string', 'singleFileOutput': True|False }, 'member': { 'accountId': 'string' } }, ] } } }, computeConfiguration={ 'worker': { 'type': 'CR.1X'|'CR.4X', 'number': 123 } } ) Parameters: * **type** (*string*) -- **[REQUIRED]** The type of the protected query to be started. * **membershipIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for the membership to run this query against. Currently accepts a membership ID. * **sqlParameters** (*dict*) -- **[REQUIRED]** The protected SQL query parameters. * **queryString** *(string) --* The query string to be submitted. * **analysisTemplateArn** *(string) --* The Amazon Resource Name (ARN) associated with the analysis template within a collaboration. * **parameters** *(dict) --* The protected query SQL parameters. * *(string) --* * *(string) --* * **resultConfiguration** (*dict*) -- The details needed to write the query results. * **outputConfiguration** *(dict) --* **[REQUIRED]** Configuration for protected query results. Note: This is a Tagged Union structure. Only one of the following top level keys can be set: "s3", "member", "distribute". * **s3** *(dict) --* Required configuration for a protected query with an "s3" output type. * **resultFormat** *(string) --* **[REQUIRED]** Intended file format of the result. * **bucket** *(string) --* **[REQUIRED]** The S3 bucket to unload the protected query results. * **keyPrefix** *(string) --* The S3 prefix to unload the protected query results. * **singleFileOutput** *(boolean) --* Indicates whether files should be output as a single file ( "TRUE") or output as multiple files ( "FALSE"). This parameter is only supported for analyses with the Spark analytics engine. * **member** *(dict) --* Required configuration for a protected query with a "member" output type. * **accountId** *(string) --* **[REQUIRED]** The unique identifier for the account. * **distribute** *(dict) --* Required configuration for a protected query with a "distribute" output type. * **locations** *(list) --* **[REQUIRED]** A list of locations where you want to distribute the protected query results. Each location must specify either an S3 destination or a collaboration member destination. Warning: You can't specify more than one S3 location.You can't specify the query runner's account as a member location.You must include either an S3 or member output configuration for each location, but not both. * *(dict) --* Specifies where you'll distribute the results of your protected query. You must configure either an S3 destination or a collaboration member destination. Note: This is a Tagged Union structure. Only one of the following top level keys can be set: "s3", "member". * **s3** *(dict) --* Contains the configuration to write the query results to S3. * **resultFormat** *(string) --* **[REQUIRED]** Intended file format of the result. * **bucket** *(string) --* **[REQUIRED]** The S3 bucket to unload the protected query results. * **keyPrefix** *(string) --* The S3 prefix to unload the protected query results. * **singleFileOutput** *(boolean) --* Indicates whether files should be output as a single file ( "TRUE") or output as multiple files ( "FALSE"). This parameter is only supported for analyses with the Spark analytics engine. * **member** *(dict) --* Contains configuration details for the protected query member output. * **accountId** *(string) --* **[REQUIRED]** The unique identifier for the account. * **computeConfiguration** (*dict*) -- The compute configuration for the protected query. Note: This is a Tagged Union structure. Only one of the following top level keys can be set: "worker". * **worker** *(dict) --* The worker configuration for the compute environment. * **type** *(string) --* The worker compute configuration type. * **number** *(integer) --* The number of workers. Return type: dict Returns: **Response Syntax** { 'protectedQuery': { 'id': 'string', 'membershipId': 'string', 'membershipArn': 'string', 'createTime': datetime(2015, 1, 1), 'sqlParameters': { 'queryString': 'string', 'analysisTemplateArn': 'string', 'parameters': { 'string': 'string' } }, 'status': 'SUBMITTED'|'STARTED'|'CANCELLED'|'CANCELLING'|'FAILED'|'SUCCESS'|'TIMED_OUT', 'resultConfiguration': { 'outputConfiguration': { 's3': { 'resultFormat': 'CSV'|'PARQUET', 'bucket': 'string', 'keyPrefix': 'string', 'singleFileOutput': True|False }, 'member': { 'accountId': 'string' }, 'distribute': { 'locations': [ { 's3': { 'resultFormat': 'CSV'|'PARQUET', 'bucket': 'string', 'keyPrefix': 'string', 'singleFileOutput': True|False }, 'member': { 'accountId': 'string' } }, ] } } }, 'statistics': { 'totalDurationInMillis': 123, 'billedResourceUtilization': { 'units': 123.0 } }, 'result': { 'output': { 's3': { 'location': 'string' }, 'memberList': [ { 'accountId': 'string' }, ], 'distribute': { 's3': { 'location': 'string' }, 'memberList': [ { 'accountId': 'string' }, ] } } }, 'error': { 'message': 'string', 'code': 'string' }, 'differentialPrivacy': { 'sensitivityParameters': [ { 'aggregationType': 'AVG'|'COUNT'|'COUNT_DISTINCT'|'SUM'|'STDDEV', 'aggregationExpression': 'string', 'userContributionLimit': 123, 'minColumnValue': ..., 'maxColumnValue': ... }, ] }, 'computeConfiguration': { 'worker': { 'type': 'CR.1X'|'CR.4X', 'number': 123 } } } } **Response Structure** * *(dict) --* * **protectedQuery** *(dict) --* The protected query. * **id** *(string) --* The identifier for a protected query instance. * **membershipId** *(string) --* The identifier for the membership. * **membershipArn** *(string) --* The ARN of the membership. * **createTime** *(datetime) --* The time at which the protected query was created. * **sqlParameters** *(dict) --* The protected query SQL parameters. * **queryString** *(string) --* The query string to be submitted. * **analysisTemplateArn** *(string) --* The Amazon Resource Name (ARN) associated with the analysis template within a collaboration. * **parameters** *(dict) --* The protected query SQL parameters. * *(string) --* * *(string) --* * **status** *(string) --* The status of the query. * **resultConfiguration** *(dict) --* Contains any details needed to write the query results. * **outputConfiguration** *(dict) --* Configuration for protected query results. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "s3", "member", "distribute". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **s3** *(dict) --* Required configuration for a protected query with an "s3" output type. * **resultFormat** *(string) --* Intended file format of the result. * **bucket** *(string) --* The S3 bucket to unload the protected query results. * **keyPrefix** *(string) --* The S3 prefix to unload the protected query results. * **singleFileOutput** *(boolean) --* Indicates whether files should be output as a single file ( "TRUE") or output as multiple files ( "FALSE"). This parameter is only supported for analyses with the Spark analytics engine. * **member** *(dict) --* Required configuration for a protected query with a "member" output type. * **accountId** *(string) --* The unique identifier for the account. * **distribute** *(dict) --* Required configuration for a protected query with a "distribute" output type. * **locations** *(list) --* A list of locations where you want to distribute the protected query results. Each location must specify either an S3 destination or a collaboration member destination. Warning: You can't specify more than one S3 location.You can't specify the query runner's account as a member location.You must include either an S3 or member output configuration for each location, but not both. * *(dict) --* Specifies where you'll distribute the results of your protected query. You must configure either an S3 destination or a collaboration member destination. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "s3", "member". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **s3** *(dict) --* Contains the configuration to write the query results to S3. * **resultFormat** *(string) --* Intended file format of the result. * **bucket** *(string) --* The S3 bucket to unload the protected query results. * **keyPrefix** *(string) --* The S3 prefix to unload the protected query results. * **singleFileOutput** *(boolean) --* Indicates whether files should be output as a single file ( "TRUE") or output as multiple files ( "FALSE"). This parameter is only supported for analyses with the Spark analytics engine. * **member** *(dict) --* Contains configuration details for the protected query member output. * **accountId** *(string) --* The unique identifier for the account. * **statistics** *(dict) --* Statistics about protected query execution. * **totalDurationInMillis** *(integer) --* The duration of the protected query, from creation until query completion, in milliseconds. * **billedResourceUtilization** *(dict) --* The billed resource utilization. * **units** *(float) --* The number of Clean Rooms Processing Unit (CRPU) hours that have been billed. * **result** *(dict) --* The result of the protected query. * **output** *(dict) --* The output of the protected query. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "s3", "memberList", "distribute". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **s3** *(dict) --* If present, the output for a protected query with an "S3" output type. * **location** *(string) --* The S3 location of the result. * **memberList** *(list) --* The list of member Amazon Web Services account(s) that received the results of the query. * *(dict) --* Details about the member who received the query result. * **accountId** *(string) --* The Amazon Web Services account ID of the member in the collaboration who can receive results for the query. * **distribute** *(dict) --* Contains output information for protected queries that use a "distribute" output type. This output type lets you send query results to multiple locations - either to S3 or to collaboration members. Note: You can only use the "distribute" output type with the Spark analytics engine. * **s3** *(dict) --* Contains output information for protected queries with an S3 output type. * **location** *(string) --* The S3 location of the result. * **memberList** *(list) --* Contains the output results for each member location specified in the distribute output configuration. Each entry provides details about the result distribution to a specific collaboration member. * *(dict) --* Details about the member who received the query result. * **accountId** *(string) --* The Amazon Web Services account ID of the member in the collaboration who can receive results for the query. * **error** *(dict) --* An error thrown by the protected query. * **message** *(string) --* A description of why the query failed. * **code** *(string) --* An error code for the error. * **differentialPrivacy** *(dict) --* The sensitivity parameters of the differential privacy results of the protected query. * **sensitivityParameters** *(list) --* Provides the sensitivity parameters that you can use to better understand the total amount of noise in query results. * *(dict) --* Provides the sensitivity parameters. * **aggregationType** *(string) --* The type of aggregation function that was run. * **aggregationExpression** *(string) --* The aggregation expression that was run. * **userContributionLimit** *(integer) --* The maximum number of rows contributed by a user in a SQL query. * **minColumnValue** *(float) --* The lower bound of the aggregation expression. * **maxColumnValue** *(float) --* The upper bound of the aggregation expression. * **computeConfiguration** *(dict) --* The compute configuration for the protected query. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "worker". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **worker** *(dict) --* The worker configuration for the compute environment. * **type** *(string) --* The worker compute configuration type. * **number** *(integer) --* The number of workers. **Exceptions** * "CleanRoomsService.Client.exceptions.ServiceQuotaExceededExcepti on" * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / list_collaboration_privacy_budget_templates list_collaboration_privacy_budget_templates ******************************************* CleanRoomsService.Client.list_collaboration_privacy_budget_templates(**kwargs) Returns an array that summarizes each privacy budget template in a specified collaboration. See also: AWS API Documentation **Request Syntax** response = client.list_collaboration_privacy_budget_templates( collaborationIdentifier='string', nextToken='string', maxResults=123 ) Parameters: * **collaborationIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for one of your collaborations. * **nextToken** (*string*) -- The pagination token that's used to fetch the next set of results. * **maxResults** (*integer*) -- The maximum number of results that are returned for an API request call. The service chooses a default number if you don't set one. The service might return a *nextToken* even if the *maxResults* value has not been met. Return type: dict Returns: **Response Syntax** { 'nextToken': 'string', 'collaborationPrivacyBudgetTemplateSummaries': [ { 'id': 'string', 'arn': 'string', 'collaborationId': 'string', 'collaborationArn': 'string', 'creatorAccountId': 'string', 'privacyBudgetType': 'DIFFERENTIAL_PRIVACY', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1) }, ] } **Response Structure** * *(dict) --* * **nextToken** *(string) --* The pagination token that's used to fetch the next set of results. * **collaborationPrivacyBudgetTemplateSummaries** *(list) --* An array that summarizes the collaboration privacy budget templates. The summary includes collaboration information, creation information, the privacy budget type. * *(dict) --* A summary of the collaboration's privacy budget template. This summary includes information about who created the privacy budget template and what collaborations it belongs to. * **id** *(string) --* The unique identifier of the collaboration privacy budget template. * **arn** *(string) --* The ARN of the collaboration privacy budget template. * **collaborationId** *(string) --* The unique identifier of the collaboration that contains this collaboration privacy budget template. * **collaborationArn** *(string) --* The ARN of the collaboration that contains this collaboration privacy budget template. * **creatorAccountId** *(string) --* The unique identifier of the account that created this collaboration privacy budget template. * **privacyBudgetType** *(string) --* The type of the privacy budget template. * **createTime** *(datetime) --* The time at which the collaboration privacy budget template was created. * **updateTime** *(datetime) --* The most recent time at which the collaboration privacy budget template was updated. **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / list_protected_jobs list_protected_jobs ******************* CleanRoomsService.Client.list_protected_jobs(**kwargs) Lists protected jobs, sorted by most recent job. See also: AWS API Documentation **Request Syntax** response = client.list_protected_jobs( membershipIdentifier='string', status='SUBMITTED'|'STARTED'|'CANCELLED'|'CANCELLING'|'FAILED'|'SUCCESS', nextToken='string', maxResults=123 ) Parameters: * **membershipIdentifier** (*string*) -- **[REQUIRED]** The identifier for the membership in the collaboration. * **status** (*string*) -- A filter on the status of the protected job. * **nextToken** (*string*) -- The pagination token that's used to fetch the next set of results. * **maxResults** (*integer*) -- The maximum number of results that are returned for an API request call. The service chooses a default number if you don't set one. The service might return a *nextToken* even if the *maxResults* value has not been met. Return type: dict Returns: **Response Syntax** { 'nextToken': 'string', 'protectedJobs': [ { 'id': 'string', 'membershipId': 'string', 'membershipArn': 'string', 'createTime': datetime(2015, 1, 1), 'status': 'SUBMITTED'|'STARTED'|'CANCELLED'|'CANCELLING'|'FAILED'|'SUCCESS', 'receiverConfigurations': [ { 'analysisType': 'DIRECT_ANALYSIS', 'configurationDetails': { 'directAnalysisConfigurationDetails': { 'receiverAccountIds': [ 'string', ] } } }, ] }, ] } **Response Structure** * *(dict) --* * **nextToken** *(string) --* The pagination token that's used to fetch the next set of results. * **protectedJobs** *(list) --* A list of protected job summaries. * *(dict) --* The protected job summary for the objects listed by the request. * **id** *(string) --* The ID of the protected job. * **membershipId** *(string) --* The unique ID for the membership that initiated the protected job. * **membershipArn** *(string) --* The unique ARN for the membership that initiated the protected job. * **createTime** *(datetime) --* The time the protected job was created. * **status** *(string) --* The status of the protected job. * **receiverConfigurations** *(list) --* The receiver configurations for the protected job. * *(dict) --* The protected job receiver configuration. * **analysisType** *(string) --* The analysis type for the protected job receiver configuration. * **configurationDetails** *(dict) --* The configuration details for the protected job receiver. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "directAnalysisConfigurationDetails". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **directAnalysisConfigurationDetails** *(dict) --* The details needed to configure the direct analysis. * **receiverAccountIds** *(list) --* The receiver account IDs. * *(string) --* **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / batch_get_schema batch_get_schema **************** CleanRoomsService.Client.batch_get_schema(**kwargs) Retrieves multiple schemas by their identifiers. See also: AWS API Documentation **Request Syntax** response = client.batch_get_schema( collaborationIdentifier='string', names=[ 'string', ] ) Parameters: * **collaborationIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for the collaboration that the schemas belong to. Currently accepts collaboration ID. * **names** (*list*) -- **[REQUIRED]** The names for the schema objects to retrieve. * *(string) --* Return type: dict Returns: **Response Syntax** { 'schemas': [ { 'columns': [ { 'name': 'string', 'type': 'string' }, ], 'partitionKeys': [ { 'name': 'string', 'type': 'string' }, ], 'analysisRuleTypes': [ 'AGGREGATION'|'LIST'|'CUSTOM'|'ID_MAPPING_TABLE', ], 'analysisMethod': 'DIRECT_QUERY'|'DIRECT_JOB'|'MULTIPLE', 'selectedAnalysisMethods': [ 'DIRECT_QUERY'|'DIRECT_JOB', ], 'creatorAccountId': 'string', 'name': 'string', 'collaborationId': 'string', 'collaborationArn': 'string', 'description': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'type': 'TABLE'|'ID_MAPPING_TABLE', 'schemaStatusDetails': [ { 'status': 'READY'|'NOT_READY', 'reasons': [ { 'code': 'ANALYSIS_RULE_MISSING'|'ANALYSIS_TEMPLATES_NOT_CONFIGURED'|'ANALYSIS_PROVIDERS_NOT_CONFIGURED'|'DIFFERENTIAL_PRIVACY_POLICY_NOT_CONFIGURED'|'ID_MAPPING_TABLE_NOT_POPULATED'|'COLLABORATION_ANALYSIS_RULE_NOT_CONFIGURED'|'ADDITIONAL_ANALYSES_NOT_CONFIGURED'|'RESULT_RECEIVERS_NOT_CONFIGURED'|'ADDITIONAL_ANALYSES_NOT_ALLOWED'|'RESULT_RECEIVERS_NOT_ALLOWED'|'ANALYSIS_RULE_TYPES_NOT_COMPATIBLE', 'message': 'string' }, ], 'analysisRuleType': 'AGGREGATION'|'LIST'|'CUSTOM'|'ID_MAPPING_TABLE', 'configurations': [ 'DIFFERENTIAL_PRIVACY', ], 'analysisType': 'DIRECT_ANALYSIS'|'ADDITIONAL_ANALYSIS' }, ], 'schemaTypeProperties': { 'idMappingTable': { 'idMappingTableInputSource': [ { 'idNamespaceAssociationId': 'string', 'type': 'SOURCE'|'TARGET' }, ] } } }, ], 'errors': [ { 'name': 'string', 'code': 'string', 'message': 'string' }, ] } **Response Structure** * *(dict) --* * **schemas** *(list) --* The retrieved list of schemas. * *(dict) --* A schema is a relation within a collaboration. * **columns** *(list) --* The columns for the relation that this schema represents. * *(dict) --* A column within a schema relation, derived from the underlying table. * **name** *(string) --* The name of the column. * **type** *(string) --* The type of the column. * **partitionKeys** *(list) --* The partition keys for the dataset underlying this schema. * *(dict) --* A column within a schema relation, derived from the underlying table. * **name** *(string) --* The name of the column. * **type** *(string) --* The type of the column. * **analysisRuleTypes** *(list) --* The analysis rule types that are associated with the schema. Currently, only one entry is present. * *(string) --* * **analysisMethod** *(string) --* The analysis method for the schema. "DIRECT_QUERY" allows SQL queries to be run directly on this table. "DIRECT_JOB" allows PySpark jobs to be run directly on this table. "MULTIPLE" allows both SQL queries and PySpark jobs to be run directly on this table. * **selectedAnalysisMethods** *(list) --* The selected analysis methods for the schema. * *(string) --* * **creatorAccountId** *(string) --* The unique account ID for the Amazon Web Services account that owns the schema. * **name** *(string) --* A name for the schema. The schema relation is referred to by this name when queried by a protected query. * **collaborationId** *(string) --* The unique ID for the collaboration that the schema belongs to. * **collaborationArn** *(string) --* The unique Amazon Resource Name (ARN) for the collaboration that the schema belongs to. * **description** *(string) --* A description for the schema. * **createTime** *(datetime) --* The time at which the schema was created. * **updateTime** *(datetime) --* The most recent time at which the schema was updated. * **type** *(string) --* The type of schema. * **schemaStatusDetails** *(list) --* Details about the status of the schema. Currently, only one entry is present. * *(dict) --* Information about the schema status. A status of "READY" means that based on the schema analysis rule, queries of the given analysis rule type are properly configured to run queries on this schema. * **status** *(string) --* The status of the schema, indicating if it is ready to query. * **reasons** *(list) --* The reasons why the schema status is set to its current state. * *(dict) --* A reason why the schema status is set to its current value. * **code** *(string) --* The schema status reason code. * **message** *(string) --* An explanation of the schema status reason code. * **analysisRuleType** *(string) --* The analysis rule type for which the schema status has been evaluated. * **configurations** *(list) --* The configuration details of the schema analysis rule for the given type. * *(string) --* * **analysisType** *(string) --* The type of analysis that can be performed on the schema. A schema can have an "analysisType" of "DIRECT_ANALYSIS", "ADDITIONAL_ANALYSIS_FOR_AUDIENCE_GENERATION", or both. * **schemaTypeProperties** *(dict) --* The schema type properties. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "idMappingTable". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **idMappingTable** *(dict) --* The ID mapping table for the schema type properties. * **idMappingTableInputSource** *(list) --* Defines which ID namespace associations are used to create the ID mapping table. * *(dict) --* The input source of the ID mapping table. * **idNamespaceAssociationId** *(string) --* The unique identifier of the ID namespace association. * **type** *(string) --* The type of the input source of the ID mapping table. * **errors** *(list) --* Error reasons for schemas that could not be retrieved. One error is returned for every schema that could not be retrieved. * *(dict) --* An error describing why a schema could not be fetched. * **name** *(string) --* An error name for the error. * **code** *(string) --* An error code for the error. * **message** *(string) --* An error message for the error. **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / get_collaboration get_collaboration ***************** CleanRoomsService.Client.get_collaboration(**kwargs) Returns metadata about a collaboration. See also: AWS API Documentation **Request Syntax** response = client.get_collaboration( collaborationIdentifier='string' ) Parameters: **collaborationIdentifier** (*string*) -- **[REQUIRED]** The identifier for the collaboration. Return type: dict Returns: **Response Syntax** { 'collaboration': { 'id': 'string', 'arn': 'string', 'name': 'string', 'description': 'string', 'creatorAccountId': 'string', 'creatorDisplayName': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'memberStatus': 'INVITED'|'ACTIVE'|'LEFT'|'REMOVED', 'membershipId': 'string', 'membershipArn': 'string', 'dataEncryptionMetadata': { 'allowCleartext': True|False, 'allowDuplicates': True|False, 'allowJoinsOnColumnsWithDifferentNames': True|False, 'preserveNulls': True|False }, 'queryLogStatus': 'ENABLED'|'DISABLED', 'jobLogStatus': 'ENABLED'|'DISABLED', 'analyticsEngine': 'SPARK'|'CLEAN_ROOMS_SQL' } } **Response Structure** * *(dict) --* * **collaboration** *(dict) --* The entire collaboration for this identifier. * **id** *(string) --* The unique ID for the collaboration. * **arn** *(string) --* The unique ARN for the collaboration. * **name** *(string) --* A human-readable identifier provided by the collaboration owner. Display names are not unique. * **description** *(string) --* A description of the collaboration provided by the collaboration owner. * **creatorAccountId** *(string) --* The identifier used to reference members of the collaboration. Currently only supports Amazon Web Services account ID. * **creatorDisplayName** *(string) --* A display name of the collaboration creator. * **createTime** *(datetime) --* The time when the collaboration was created. * **updateTime** *(datetime) --* The time the collaboration metadata was last updated. * **memberStatus** *(string) --* The status of a member in a collaboration. * **membershipId** *(string) --* The unique ID for your membership within the collaboration. * **membershipArn** *(string) --* The unique ARN for your membership within the collaboration. * **dataEncryptionMetadata** *(dict) --* The settings for client-side encryption for cryptographic computing. * **allowCleartext** *(boolean) --* Indicates whether encrypted tables can contain cleartext data ( "TRUE") or are to cryptographically process every column ( "FALSE"). * **allowDuplicates** *(boolean) --* Indicates whether Fingerprint columns can contain duplicate entries ( "TRUE") or are to contain only non- repeated values ( "FALSE"). * **allowJoinsOnColumnsWithDifferentNames** *(boolean) --* Indicates whether Fingerprint columns can be joined on any other Fingerprint column with a different name ( "TRUE") or can only be joined on Fingerprint columns of the same name ( "FALSE"). * **preserveNulls** *(boolean) --* Indicates whether NULL values are to be copied as NULL to encrypted tables ( "TRUE") or cryptographically processed ( "FALSE"). * **queryLogStatus** *(string) --* An indicator as to whether query logging has been enabled or disabled for the collaboration. When "ENABLED", Clean Rooms logs details about queries run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is "DISABLED". * **jobLogStatus** *(string) --* An indicator as to whether job logging has been enabled or disabled for the collaboration. When "ENABLED", Clean Rooms logs details about jobs run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is "DISABLED". * **analyticsEngine** *(string) --* The analytics engine for the collaboration. Note: After July 16, 2025, the "CLEAN_ROOMS_SQL" parameter will no longer be available. **Exceptions** * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / batch_get_collaboration_analysis_template batch_get_collaboration_analysis_template ***************************************** CleanRoomsService.Client.batch_get_collaboration_analysis_template(**kwargs) Retrieves multiple analysis templates within a collaboration by their Amazon Resource Names (ARNs). See also: AWS API Documentation **Request Syntax** response = client.batch_get_collaboration_analysis_template( collaborationIdentifier='string', analysisTemplateArns=[ 'string', ] ) Parameters: * **collaborationIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for the collaboration that the analysis templates belong to. Currently accepts collaboration ID. * **analysisTemplateArns** (*list*) -- **[REQUIRED]** The Amazon Resource Name (ARN) associated with the analysis template within a collaboration. * *(string) --* Return type: dict Returns: **Response Syntax** { 'collaborationAnalysisTemplates': [ { 'id': 'string', 'arn': 'string', 'collaborationId': 'string', 'collaborationArn': 'string', 'description': 'string', 'creatorAccountId': 'string', 'name': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'schema': { 'referencedTables': [ 'string', ] }, 'format': 'SQL'|'PYSPARK_1_0', 'source': { 'text': 'string', 'artifacts': { 'entryPoint': { 'location': { 'bucket': 'string', 'key': 'string' } }, 'additionalArtifacts': [ { 'location': { 'bucket': 'string', 'key': 'string' } }, ], 'roleArn': 'string' } }, 'sourceMetadata': { 'artifacts': { 'entryPointHash': { 'sha256': 'string' }, 'additionalArtifactHashes': [ { 'sha256': 'string' }, ] } }, 'analysisParameters': [ { 'name': 'string', 'type': 'SMALLINT'|'INTEGER'|'BIGINT'|'DECIMAL'|'REAL'|'DOUBLE_PRECISION'|'BOOLEAN'|'CHAR'|'VARCHAR'|'DATE'|'TIMESTAMP'|'TIMESTAMPTZ'|'TIME'|'TIMETZ'|'VARBYTE'|'BINARY'|'BYTE'|'CHARACTER'|'DOUBLE'|'FLOAT'|'INT'|'LONG'|'NUMERIC'|'SHORT'|'STRING'|'TIMESTAMP_LTZ'|'TIMESTAMP_NTZ'|'TINYINT', 'defaultValue': 'string' }, ], 'validations': [ { 'type': 'DIFFERENTIAL_PRIVACY', 'status': 'VALID'|'INVALID'|'UNABLE_TO_VALIDATE', 'reasons': [ { 'message': 'string' }, ] }, ] }, ], 'errors': [ { 'arn': 'string', 'code': 'string', 'message': 'string' }, ] } **Response Structure** * *(dict) --* * **collaborationAnalysisTemplates** *(list) --* The retrieved list of analysis templates within a collaboration. * *(dict) --* The analysis template within a collaboration. * **id** *(string) --* The identifier of the analysis template. * **arn** *(string) --* The Amazon Resource Name (ARN) of the analysis template. * **collaborationId** *(string) --* A unique identifier for the collaboration that the analysis templates belong to. Currently accepts collaboration ID. * **collaborationArn** *(string) --* The unique ARN for the analysis template’s associated collaboration. * **description** *(string) --* The description of the analysis template. * **creatorAccountId** *(string) --* The identifier used to reference members of the collaboration. Currently only supports Amazon Web Services account ID. * **name** *(string) --* The name of the analysis template. * **createTime** *(datetime) --* The time that the analysis template within a collaboration was created. * **updateTime** *(datetime) --* The time that the analysis template in the collaboration was last updated. * **schema** *(dict) --* The entire schema object. * **referencedTables** *(list) --* The tables referenced in the analysis schema. * *(string) --* * **format** *(string) --* The format of the analysis template in the collaboration. * **source** *(dict) --* The source of the analysis template within a collaboration. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "text", "artifacts". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **text** *(string) --* The query text. * **artifacts** *(dict) --* The artifacts of the analysis source. * **entryPoint** *(dict) --* The entry point for the analysis template artifacts. * **location** *(dict) --* The artifact location. * **bucket** *(string) --* The bucket name. * **key** *(string) --* The object key. * **additionalArtifacts** *(list) --* Additional artifacts for the analysis template. * *(dict) --* The analysis template artifact. * **location** *(dict) --* The artifact location. * **bucket** *(string) --* The bucket name. * **key** *(string) --* The object key. * **roleArn** *(string) --* The role ARN for the analysis template artifacts. * **sourceMetadata** *(dict) --* The source metadata for the collaboration analysis template. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "artifacts". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **artifacts** *(dict) --* The artifacts of the analysis source metadata. * **entryPointHash** *(dict) --* The hash of the entry point for the analysis template artifact metadata. * **sha256** *(string) --* The SHA-256 hash value. * **additionalArtifactHashes** *(list) --* Additional artifact hashes for the analysis template. * *(dict) --* Hash * **sha256** *(string) --* The SHA-256 hash value. * **analysisParameters** *(list) --* The analysis parameters that have been specified in the analysis template. * *(dict) --* Optional. The member who can query can provide this placeholder for a literal data value in an analysis template. * **name** *(string) --* The name of the parameter. The name must use only alphanumeric, underscore (_), or hyphen (-) characters but cannot start or end with a hyphen. * **type** *(string) --* The type of parameter. * **defaultValue** *(string) --* Optional. The default value that is applied in the analysis template. The member who can query can override this value in the query editor. * **validations** *(list) --* The validations that were performed. * *(dict) --* The status details of the analysis template validation. Clean Rooms Differential Privacy uses a general-purpose query structure to support complex SQL queries and validates whether an analysis template fits that general-purpose query structure. Validation is performed when analysis templates are created and fetched. Because analysis templates are immutable by design, we recommend that you create analysis templates after you associate the configured tables with their analysis rule to your collaboration. For more information, see https://docs.aws.amazon.com /clean-rooms/latest/userguide/analysis-rules- custom.html#custom-diff-privacy. * **type** *(string) --* The type of validation that was performed. * **status** *(string) --* The status of the validation. * **reasons** *(list) --* The reasons for the validation results. * *(dict) --* The reasons for the validation results. * **message** *(string) --* The validation message. * **errors** *(list) --* Error reasons for collaboration analysis templates that could not be retrieved. One error is returned for every collaboration analysis template that could not be retrieved. * *(dict) --* Details of errors thrown by the call to retrieve multiple analysis templates within a collaboration by their identifiers. * **arn** *(string) --* The Amazon Resource Name (ARN) of the analysis template. * **code** *(string) --* An error code for the error. * **message** *(string) --* A description of why the call failed. **Exceptions** * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / create_configured_audience_model_association create_configured_audience_model_association ******************************************** CleanRoomsService.Client.create_configured_audience_model_association(**kwargs) Provides the details necessary to create a configured audience model association. See also: AWS API Documentation **Request Syntax** response = client.create_configured_audience_model_association( membershipIdentifier='string', configuredAudienceModelArn='string', configuredAudienceModelAssociationName='string', manageResourcePolicies=True|False, tags={ 'string': 'string' }, description='string' ) Parameters: * **membershipIdentifier** (*string*) -- **[REQUIRED]** A unique identifier for one of your memberships for a collaboration. The configured audience model is associated to the collaboration that this membership belongs to. Accepts a membership ID. * **configuredAudienceModelArn** (*string*) -- **[REQUIRED]** A unique identifier for the configured audience model that you want to associate. * **configuredAudienceModelAssociationName** (*string*) -- **[REQUIRED]** The name of the configured audience model association. * **manageResourcePolicies** (*boolean*) -- **[REQUIRED]** When "TRUE", indicates that the resource policy for the configured audience model resource being associated is configured for Clean Rooms to manage permissions related to the given collaboration. When "FALSE", indicates that the configured audience model resource owner will manage permissions related to the given collaboration. Setting this to "TRUE" requires you to have permissions to create, update, and delete the resource policy for the "cleanrooms-ml" resource when you call the DeleteConfiguredAudienceModelAssociation resource. In addition, if you are the collaboration creator and specify "TRUE", you must have the same permissions when you call the DeleteMember and DeleteCollaboration APIs. * **tags** (*dict*) -- An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource. * *(string) --* * *(string) --* * **description** (*string*) -- A description of the configured audience model association. Return type: dict Returns: **Response Syntax** { 'configuredAudienceModelAssociation': { 'id': 'string', 'arn': 'string', 'configuredAudienceModelArn': 'string', 'membershipId': 'string', 'membershipArn': 'string', 'collaborationId': 'string', 'collaborationArn': 'string', 'name': 'string', 'manageResourcePolicies': True|False, 'description': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1) } } **Response Structure** * *(dict) --* * **configuredAudienceModelAssociation** *(dict) --* Information about the configured audience model association. * **id** *(string) --* A unique identifier of the configured audience model association. * **arn** *(string) --* The Amazon Resource Name (ARN) of the configured audience model association. * **configuredAudienceModelArn** *(string) --* The Amazon Resource Name (ARN) of the configured audience model that was used for this configured audience model association. * **membershipId** *(string) --* A unique identifier for the membership that contains this configured audience model association. * **membershipArn** *(string) --* The Amazon Resource Name (ARN) of the membership that contains this configured audience model association. * **collaborationId** *(string) --* A unique identifier of the collaboration that contains this configured audience model association. * **collaborationArn** *(string) --* The Amazon Resource Name (ARN) of the collaboration that contains this configured audience model association. * **name** *(string) --* The name of the configured audience model association. * **manageResourcePolicies** *(boolean) --* When "TRUE", indicates that the resource policy for the configured audience model resource being associated is configured for Clean Rooms to manage permissions related to the given collaboration. When "FALSE", indicates that the configured audience model resource owner will manage permissions related to the given collaboration. * **description** *(string) --* The description of the configured audience model association. * **createTime** *(datetime) --* The time at which the configured audience model association was created. * **updateTime** *(datetime) --* The most recent time at which the configured audience model association was updated. **Exceptions** * "CleanRoomsService.Client.exceptions.ConflictException" * "CleanRoomsService.Client.exceptions.ServiceQuotaExceededExcepti on" * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / update_configured_table_association update_configured_table_association *********************************** CleanRoomsService.Client.update_configured_table_association(**kwargs) Updates a configured table association. See also: AWS API Documentation **Request Syntax** response = client.update_configured_table_association( configuredTableAssociationIdentifier='string', membershipIdentifier='string', description='string', roleArn='string' ) Parameters: * **configuredTableAssociationIdentifier** (*string*) -- **[REQUIRED]** The unique identifier for the configured table association to update. Currently accepts the configured table association ID. * **membershipIdentifier** (*string*) -- **[REQUIRED]** The unique ID for the membership that the configured table association belongs to. * **description** (*string*) -- A new description for the configured table association. * **roleArn** (*string*) -- The service will assume this role to access catalog metadata and query the table. Return type: dict Returns: **Response Syntax** { 'configuredTableAssociation': { 'arn': 'string', 'id': 'string', 'configuredTableId': 'string', 'configuredTableArn': 'string', 'membershipId': 'string', 'membershipArn': 'string', 'roleArn': 'string', 'name': 'string', 'description': 'string', 'analysisRuleTypes': [ 'AGGREGATION'|'LIST'|'CUSTOM', ], 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1) } } **Response Structure** * *(dict) --* * **configuredTableAssociation** *(dict) --* The entire updated configured table association. * **arn** *(string) --* The unique ARN for the configured table association. * **id** *(string) --* The unique ID for the configured table association. * **configuredTableId** *(string) --* The unique ID for the configured table that the association refers to. * **configuredTableArn** *(string) --* The unique ARN for the configured table that the association refers to. * **membershipId** *(string) --* The unique ID for the membership this configured table association belongs to. * **membershipArn** *(string) --* The unique ARN for the membership this configured table association belongs to. * **roleArn** *(string) --* The service will assume this role to access catalog metadata and query the table. * **name** *(string) --* The name of the configured table association, in lowercase. The table is identified by this name when running protected queries against the underlying data. * **description** *(string) --* A description of the configured table association. * **analysisRuleTypes** *(list) --* The analysis rule types for the configured table association. * *(string) --* * **createTime** *(datetime) --* The time the configured table association was created. * **updateTime** *(datetime) --* The time the configured table association was last updated. **Exceptions** * "CleanRoomsService.Client.exceptions.ConflictException" * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / update_configured_table update_configured_table *********************** CleanRoomsService.Client.update_configured_table(**kwargs) Updates a configured table. See also: AWS API Documentation **Request Syntax** response = client.update_configured_table( configuredTableIdentifier='string', name='string', description='string', tableReference={ 'glue': { 'tableName': 'string', 'databaseName': 'string' }, 'snowflake': { 'secretArn': 'string', 'accountIdentifier': 'string', 'databaseName': 'string', 'tableName': 'string', 'schemaName': 'string', 'tableSchema': { 'v1': [ { 'columnName': 'string', 'columnType': 'string' }, ] } }, 'athena': { 'workGroup': 'string', 'outputLocation': 'string', 'databaseName': 'string', 'tableName': 'string' } }, allowedColumns=[ 'string', ], analysisMethod='DIRECT_QUERY'|'DIRECT_JOB'|'MULTIPLE', selectedAnalysisMethods=[ 'DIRECT_QUERY'|'DIRECT_JOB', ] ) Parameters: * **configuredTableIdentifier** (*string*) -- **[REQUIRED]** The identifier for the configured table to update. Currently accepts the configured table ID. * **name** (*string*) -- A new name for the configured table. * **description** (*string*) -- A new description for the configured table. * **tableReference** (*dict*) -- A pointer to the dataset that underlies this table. Note: This is a Tagged Union structure. Only one of the following top level keys can be set: "glue", "snowflake", "athena". * **glue** *(dict) --* If present, a reference to the Glue table referred to by this table reference. * **tableName** *(string) --* **[REQUIRED]** The name of the Glue table. * **databaseName** *(string) --* **[REQUIRED]** The name of the database the Glue table belongs to. * **snowflake** *(dict) --* If present, a reference to the Snowflake table referred to by this table reference. * **secretArn** *(string) --* **[REQUIRED]** The secret ARN of the Snowflake table reference. * **accountIdentifier** *(string) --* **[REQUIRED]** The account identifier for the Snowflake table reference. * **databaseName** *(string) --* **[REQUIRED]** The name of the database the Snowflake table belongs to. * **tableName** *(string) --* **[REQUIRED]** The name of the Snowflake table. * **schemaName** *(string) --* **[REQUIRED]** The schema name of the Snowflake table reference. * **tableSchema** *(dict) --* **[REQUIRED]** The schema of the Snowflake table. Note: This is a Tagged Union structure. Only one of the following top level keys can be set: "v1". * **v1** *(list) --* The schema of a Snowflake table. * *(dict) --* The Snowflake table schema. * **columnName** *(string) --* **[REQUIRED]** The column name. * **columnType** *(string) --* **[REQUIRED]** The column's data type. Supported data types: "ARRAY", "BIGINT", "BOOLEAN", "CHAR", "DATE", "DECIMAL", "DOUBLE", "DOUBLE PRECISION", "FLOAT", "FLOAT4", "INT", "INTEGER", "MAP", "NUMERIC", "NUMBER", "REAL", "SMALLINT", "STRING", "TIMESTAMP", "TIMESTAMP_LTZ", "TIMESTAMP_NTZ", "DATETIME", "TINYINT", "VARCHAR", "TEXT", "CHARACTER". * **athena** *(dict) --* If present, a reference to the Athena table referred to by this table reference. * **workGroup** *(string) --* **[REQUIRED]** The workgroup of the Athena table reference. * **outputLocation** *(string) --* The output location for the Athena table. * **databaseName** *(string) --* **[REQUIRED]** The database name. * **tableName** *(string) --* **[REQUIRED]** The table reference. * **allowedColumns** (*list*) -- The columns of the underlying table that can be used by collaborations or analysis rules. * *(string) --* * **analysisMethod** (*string*) -- The analysis method for the configured table. "DIRECT_QUERY" allows SQL queries to be run directly on this table. "DIRECT_JOB" allows PySpark jobs to be run directly on this table. "MULTIPLE" allows both SQL queries and PySpark jobs to be run directly on this table. * **selectedAnalysisMethods** (*list*) -- The selected analysis methods for the table configuration update. * *(string) --* Return type: dict Returns: **Response Syntax** { 'configuredTable': { 'id': 'string', 'arn': 'string', 'name': 'string', 'description': 'string', 'tableReference': { 'glue': { 'tableName': 'string', 'databaseName': 'string' }, 'snowflake': { 'secretArn': 'string', 'accountIdentifier': 'string', 'databaseName': 'string', 'tableName': 'string', 'schemaName': 'string', 'tableSchema': { 'v1': [ { 'columnName': 'string', 'columnType': 'string' }, ] } }, 'athena': { 'workGroup': 'string', 'outputLocation': 'string', 'databaseName': 'string', 'tableName': 'string' } }, 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'analysisRuleTypes': [ 'AGGREGATION'|'LIST'|'CUSTOM', ], 'analysisMethod': 'DIRECT_QUERY'|'DIRECT_JOB'|'MULTIPLE', 'allowedColumns': [ 'string', ], 'selectedAnalysisMethods': [ 'DIRECT_QUERY'|'DIRECT_JOB', ] } } **Response Structure** * *(dict) --* * **configuredTable** *(dict) --* The updated configured table. * **id** *(string) --* The unique ID for the configured table. * **arn** *(string) --* The unique ARN for the configured table. * **name** *(string) --* A name for the configured table. * **description** *(string) --* A description for the configured table. * **tableReference** *(dict) --* The table that this configured table represents. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "glue", "snowflake", "athena". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **glue** *(dict) --* If present, a reference to the Glue table referred to by this table reference. * **tableName** *(string) --* The name of the Glue table. * **databaseName** *(string) --* The name of the database the Glue table belongs to. * **snowflake** *(dict) --* If present, a reference to the Snowflake table referred to by this table reference. * **secretArn** *(string) --* The secret ARN of the Snowflake table reference. * **accountIdentifier** *(string) --* The account identifier for the Snowflake table reference. * **databaseName** *(string) --* The name of the database the Snowflake table belongs to. * **tableName** *(string) --* The name of the Snowflake table. * **schemaName** *(string) --* The schema name of the Snowflake table reference. * **tableSchema** *(dict) --* The schema of the Snowflake table. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "v1". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **v1** *(list) --* The schema of a Snowflake table. * *(dict) --* The Snowflake table schema. * **columnName** *(string) --* The column name. * **columnType** *(string) --* The column's data type. Supported data types: "ARRAY", "BIGINT", "BOOLEAN", "CHAR", "DATE", "DECIMAL", "DOUBLE", "DOUBLE PRECISION", "FLOAT", "FLOAT4", "INT", "INTEGER", "MAP", "NUMERIC", "NUMBER", "REAL", "SMALLINT", "STRING", "TIMESTAMP", "TIMESTAMP_LTZ", "TIMESTAMP_NTZ", "DATETIME", "TINYINT", "VARCHAR", "TEXT", "CHARACTER". * **athena** *(dict) --* If present, a reference to the Athena table referred to by this table reference. * **workGroup** *(string) --* The workgroup of the Athena table reference. * **outputLocation** *(string) --* The output location for the Athena table. * **databaseName** *(string) --* The database name. * **tableName** *(string) --* The table reference. * **createTime** *(datetime) --* The time the configured table was created. * **updateTime** *(datetime) --* The time the configured table was last updated * **analysisRuleTypes** *(list) --* The types of analysis rules associated with this configured table. Currently, only one analysis rule may be associated with a configured table. * *(string) --* * **analysisMethod** *(string) --* The analysis method for the configured table. "DIRECT_QUERY" allows SQL queries to be run directly on this table. "DIRECT_JOB" allows PySpark jobs to be run directly on this table. "MULTIPLE" allows both SQL queries and PySpark jobs to be run directly on this table. * **allowedColumns** *(list) --* The columns within the underlying Glue table that can be utilized within collaborations. * *(string) --* * **selectedAnalysisMethods** *(list) --* The selected analysis methods for the configured table. * *(string) --* **Exceptions** * "CleanRoomsService.Client.exceptions.ConflictException" * "CleanRoomsService.Client.exceptions.ServiceQuotaExceededExcepti on" * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException" CleanRoomsService / Client / create_configured_table create_configured_table *********************** CleanRoomsService.Client.create_configured_table(**kwargs) Creates a new configured table resource. See also: AWS API Documentation **Request Syntax** response = client.create_configured_table( name='string', description='string', tableReference={ 'glue': { 'tableName': 'string', 'databaseName': 'string' }, 'snowflake': { 'secretArn': 'string', 'accountIdentifier': 'string', 'databaseName': 'string', 'tableName': 'string', 'schemaName': 'string', 'tableSchema': { 'v1': [ { 'columnName': 'string', 'columnType': 'string' }, ] } }, 'athena': { 'workGroup': 'string', 'outputLocation': 'string', 'databaseName': 'string', 'tableName': 'string' } }, allowedColumns=[ 'string', ], analysisMethod='DIRECT_QUERY'|'DIRECT_JOB'|'MULTIPLE', selectedAnalysisMethods=[ 'DIRECT_QUERY'|'DIRECT_JOB', ], tags={ 'string': 'string' } ) Parameters: * **name** (*string*) -- **[REQUIRED]** The name of the configured table. * **description** (*string*) -- A description for the configured table. * **tableReference** (*dict*) -- **[REQUIRED]** A reference to the table being configured. Note: This is a Tagged Union structure. Only one of the following top level keys can be set: "glue", "snowflake", "athena". * **glue** *(dict) --* If present, a reference to the Glue table referred to by this table reference. * **tableName** *(string) --* **[REQUIRED]** The name of the Glue table. * **databaseName** *(string) --* **[REQUIRED]** The name of the database the Glue table belongs to. * **snowflake** *(dict) --* If present, a reference to the Snowflake table referred to by this table reference. * **secretArn** *(string) --* **[REQUIRED]** The secret ARN of the Snowflake table reference. * **accountIdentifier** *(string) --* **[REQUIRED]** The account identifier for the Snowflake table reference. * **databaseName** *(string) --* **[REQUIRED]** The name of the database the Snowflake table belongs to. * **tableName** *(string) --* **[REQUIRED]** The name of the Snowflake table. * **schemaName** *(string) --* **[REQUIRED]** The schema name of the Snowflake table reference. * **tableSchema** *(dict) --* **[REQUIRED]** The schema of the Snowflake table. Note: This is a Tagged Union structure. Only one of the following top level keys can be set: "v1". * **v1** *(list) --* The schema of a Snowflake table. * *(dict) --* The Snowflake table schema. * **columnName** *(string) --* **[REQUIRED]** The column name. * **columnType** *(string) --* **[REQUIRED]** The column's data type. Supported data types: "ARRAY", "BIGINT", "BOOLEAN", "CHAR", "DATE", "DECIMAL", "DOUBLE", "DOUBLE PRECISION", "FLOAT", "FLOAT4", "INT", "INTEGER", "MAP", "NUMERIC", "NUMBER", "REAL", "SMALLINT", "STRING", "TIMESTAMP", "TIMESTAMP_LTZ", "TIMESTAMP_NTZ", "DATETIME", "TINYINT", "VARCHAR", "TEXT", "CHARACTER". * **athena** *(dict) --* If present, a reference to the Athena table referred to by this table reference. * **workGroup** *(string) --* **[REQUIRED]** The workgroup of the Athena table reference. * **outputLocation** *(string) --* The output location for the Athena table. * **databaseName** *(string) --* **[REQUIRED]** The database name. * **tableName** *(string) --* **[REQUIRED]** The table reference. * **allowedColumns** (*list*) -- **[REQUIRED]** The columns of the underlying table that can be used by collaborations or analysis rules. * *(string) --* * **analysisMethod** (*string*) -- **[REQUIRED]** The analysis method allowed for the configured tables. "DIRECT_QUERY" allows SQL queries to be run directly on this table. "DIRECT_JOB" allows PySpark jobs to be run directly on this table. "MULTIPLE" allows both SQL queries and PySpark jobs to be run directly on this table. * **selectedAnalysisMethods** (*list*) -- The analysis methods to enable for the configured table. When configured, you must specify at least two analysis methods. * *(string) --* * **tags** (*dict*) -- An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource. * *(string) --* * *(string) --* Return type: dict Returns: **Response Syntax** { 'configuredTable': { 'id': 'string', 'arn': 'string', 'name': 'string', 'description': 'string', 'tableReference': { 'glue': { 'tableName': 'string', 'databaseName': 'string' }, 'snowflake': { 'secretArn': 'string', 'accountIdentifier': 'string', 'databaseName': 'string', 'tableName': 'string', 'schemaName': 'string', 'tableSchema': { 'v1': [ { 'columnName': 'string', 'columnType': 'string' }, ] } }, 'athena': { 'workGroup': 'string', 'outputLocation': 'string', 'databaseName': 'string', 'tableName': 'string' } }, 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'analysisRuleTypes': [ 'AGGREGATION'|'LIST'|'CUSTOM', ], 'analysisMethod': 'DIRECT_QUERY'|'DIRECT_JOB'|'MULTIPLE', 'allowedColumns': [ 'string', ], 'selectedAnalysisMethods': [ 'DIRECT_QUERY'|'DIRECT_JOB', ] } } **Response Structure** * *(dict) --* * **configuredTable** *(dict) --* The created configured table. * **id** *(string) --* The unique ID for the configured table. * **arn** *(string) --* The unique ARN for the configured table. * **name** *(string) --* A name for the configured table. * **description** *(string) --* A description for the configured table. * **tableReference** *(dict) --* The table that this configured table represents. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "glue", "snowflake", "athena". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **glue** *(dict) --* If present, a reference to the Glue table referred to by this table reference. * **tableName** *(string) --* The name of the Glue table. * **databaseName** *(string) --* The name of the database the Glue table belongs to. * **snowflake** *(dict) --* If present, a reference to the Snowflake table referred to by this table reference. * **secretArn** *(string) --* The secret ARN of the Snowflake table reference. * **accountIdentifier** *(string) --* The account identifier for the Snowflake table reference. * **databaseName** *(string) --* The name of the database the Snowflake table belongs to. * **tableName** *(string) --* The name of the Snowflake table. * **schemaName** *(string) --* The schema name of the Snowflake table reference. * **tableSchema** *(dict) --* The schema of the Snowflake table. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "v1". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **v1** *(list) --* The schema of a Snowflake table. * *(dict) --* The Snowflake table schema. * **columnName** *(string) --* The column name. * **columnType** *(string) --* The column's data type. Supported data types: "ARRAY", "BIGINT", "BOOLEAN", "CHAR", "DATE", "DECIMAL", "DOUBLE", "DOUBLE PRECISION", "FLOAT", "FLOAT4", "INT", "INTEGER", "MAP", "NUMERIC", "NUMBER", "REAL", "SMALLINT", "STRING", "TIMESTAMP", "TIMESTAMP_LTZ", "TIMESTAMP_NTZ", "DATETIME", "TINYINT", "VARCHAR", "TEXT", "CHARACTER". * **athena** *(dict) --* If present, a reference to the Athena table referred to by this table reference. * **workGroup** *(string) --* The workgroup of the Athena table reference. * **outputLocation** *(string) --* The output location for the Athena table. * **databaseName** *(string) --* The database name. * **tableName** *(string) --* The table reference. * **createTime** *(datetime) --* The time the configured table was created. * **updateTime** *(datetime) --* The time the configured table was last updated * **analysisRuleTypes** *(list) --* The types of analysis rules associated with this configured table. Currently, only one analysis rule may be associated with a configured table. * *(string) --* * **analysisMethod** *(string) --* The analysis method for the configured table. "DIRECT_QUERY" allows SQL queries to be run directly on this table. "DIRECT_JOB" allows PySpark jobs to be run directly on this table. "MULTIPLE" allows both SQL queries and PySpark jobs to be run directly on this table. * **allowedColumns** *(list) --* The columns within the underlying Glue table that can be utilized within collaborations. * *(string) --* * **selectedAnalysisMethods** *(list) --* The selected analysis methods for the configured table. * *(string) --* **Exceptions** * "CleanRoomsService.Client.exceptions.ConflictException" * "CleanRoomsService.Client.exceptions.ServiceQuotaExceededExcepti on" * "CleanRoomsService.Client.exceptions.ResourceNotFoundException" * "CleanRoomsService.Client.exceptions.InternalServerException" * "CleanRoomsService.Client.exceptions.ValidationException" * "CleanRoomsService.Client.exceptions.ThrottlingException" * "CleanRoomsService.Client.exceptions.AccessDeniedException"