Skip to content

create_collaboration

create_collaboration(
    members: MemberList,
    name: CollaborationName,
    creator_member_abilities: MemberAbilities,
    creator_display_name: DisplayName,
    query_log_status: CollaborationQueryLogStatus,
    *,
    config_overrides: Optional[CleanRoomsClientConfig] = None,
    description: Optional[CollaborationDescription] = None,
    creator_ml_member_abilities: Optional[MLMemberAbilities] = None,
    data_encryption_metadata: Optional[DataEncryptionMetadata] = None,
    job_log_status: Optional[CollaborationJobLogStatus] = None,
    tags: Optional[TagMap] = None,
    creator_payment_configuration: Optional[PaymentConfiguration] = None,
    analytics_engine: Optional[AnalyticsEngine] = None,
    auto_approved_change_request_types: Optional[AutoApprovedChangeTypeList] = None,
    allowed_result_regions: Optional[AllowedResultRegions] = None,
    is_metrics_enabled: Optional[bool] = None,
) -> CreateCollaborationOutput

Creates a new collaboration.

Parameters:

  • members (MemberList) –

    A list of initial members, not including the creator. This list is immutable.

  • name (CollaborationName) –

    The display name for a collaboration.

  • description (Optional[CollaborationDescription], default: None ) –

    A description of the collaboration provided by the collaboration owner.

  • creator_member_abilities (MemberAbilities) –

    The abilities granted to the collaboration creator.

  • creator_ml_member_abilities (Optional[MLMemberAbilities], default: None ) –

    The ML abilities granted to the collaboration creator.

  • creator_display_name (DisplayName) –

    The display name of the collaboration creator.

  • data_encryption_metadata (Optional[DataEncryptionMetadata], default: None ) –

    The settings for client-side encryption with Cryptographic Computing for Clean Rooms.

  • query_log_status (CollaborationQueryLogStatus) –

    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.

  • job_log_status (Optional[CollaborationJobLogStatus], default: None ) –

    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 (Optional[TagMap], default: None ) –

    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.

  • creator_payment_configuration (Optional[PaymentConfiguration], default: None ) –

    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.

  • analytics_engine (Optional[AnalyticsEngine], default: None ) –

    The analytics engine.

    After July 16, 2025, the CLEAN_ROOMS_SQL parameter will no longer be available.

  • auto_approved_change_request_types (Optional[AutoApprovedChangeTypeList], default: None ) –

    The types of change requests that are automatically approved for this collaboration.

  • allowed_result_regions (Optional[AllowedResultRegions], default: None ) –

    The Amazon Web Services Regions where collaboration query results can be stored. When specified, results can only be written to these Regions. This parameter enables you to meet your compliance and data governance requirements, and implement regional data governance policies.

  • is_metrics_enabled (Optional[bool], default: None ) –

    An indicator as to whether metrics have been enabled or disabled for the collaboration.

    When true, collaboration members can opt in to Amazon CloudWatch metrics for their membership queries. The default value is false.

Raises:

Source code in docs_src/capo_cleanrooms/_services/clean_rooms.py
def create_collaboration(
    self,
    members: "capo_cleanrooms.types.member_list.MemberList",
    name: "capo_cleanrooms.types.collaboration_name.CollaborationName",
    creator_member_abilities: "capo_cleanrooms.types.member_abilities.MemberAbilities",
    creator_display_name: "capo_cleanrooms.types.display_name.DisplayName",
    query_log_status: "capo_cleanrooms.types.collaboration_query_log_status.CollaborationQueryLogStatus",
    *,
    config_overrides: Optional[CleanRoomsClientConfig] = None,
    description: Optional[
        "capo_cleanrooms.types.collaboration_description.CollaborationDescription"
    ] = None,
    creator_ml_member_abilities: Optional[
        "capo_cleanrooms.types.ml_member_abilities.MLMemberAbilities"
    ] = None,
    data_encryption_metadata: Optional[
        "capo_cleanrooms.types.data_encryption_metadata.DataEncryptionMetadata"
    ] = None,
    job_log_status: Optional[
        "capo_cleanrooms.types.collaboration_job_log_status.CollaborationJobLogStatus"
    ] = None,
    tags: Optional["capo_cleanrooms.types.tag_map.TagMap"] = None,
    creator_payment_configuration: Optional[
        "capo_cleanrooms.types.payment_configuration.PaymentConfiguration"
    ] = None,
    analytics_engine: Optional[
        "capo_cleanrooms.types.analytics_engine.AnalyticsEngine"
    ] = None,
    auto_approved_change_request_types: Optional[
        "capo_cleanrooms.types.auto_approved_change_type_list.AutoApprovedChangeTypeList"
    ] = None,
    allowed_result_regions: Optional[
        "capo_cleanrooms.types.allowed_result_regions.AllowedResultRegions"
    ] = None,
    is_metrics_enabled: Optional[bool] = None,
) -> "capo_cleanrooms.types.create_collaboration_output.CreateCollaborationOutput":
    """<p>Creates a new collaboration.</p>

    Args:
        members: <p>A list of initial members, not including the creator. This list is immutable.</p>
        name: <p>The display name for a collaboration.</p>
        description: <p>A description of the collaboration provided by the collaboration owner.</p>
        creator_member_abilities: <p>The abilities granted to the collaboration creator.</p>
        creator_ml_member_abilities: <p>The ML abilities granted to the collaboration creator.</p>
        creator_display_name: <p>The display name of the collaboration creator.</p>
        data_encryption_metadata: <p>The settings for client-side encryption with Cryptographic Computing for Clean Rooms.</p>
        query_log_status: <p>An indicator as to whether query logging has been enabled or disabled for the collaboration.</p> <p>When <code>ENABLED</code>, Clean Rooms logs details about queries run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is <code>DISABLED</code>.</p>
        job_log_status: <p>Specifies whether job logs are enabled for this collaboration. </p> <p>When <code>ENABLED</code>, Clean Rooms logs details about jobs run within this collaboration; those logs can be viewed in Amazon CloudWatch Logs. The default value is <code>DISABLED</code>.</p>
        tags: <p>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.</p>
        creator_payment_configuration: <p>The collaboration creator's payment responsibilities set by the collaboration creator. </p> <p>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.</p>
        analytics_engine: <p> The analytics engine.</p> <note> <p>After July 16, 2025, the <code>CLEAN_ROOMS_SQL</code> parameter will no longer be available. </p> </note>
        auto_approved_change_request_types: <p>The types of change requests that are automatically approved for this collaboration.</p>
        allowed_result_regions: <p>The Amazon Web Services Regions where collaboration query results can be stored. When specified, results can only be written to these Regions. This parameter enables you to meet your compliance and data governance requirements, and implement regional data governance policies.</p>
        is_metrics_enabled: <p>An indicator as to whether metrics have been enabled or disabled for the collaboration.</p> <p>When <code>true</code>, collaboration members can opt in to Amazon CloudWatch metrics for their membership queries. The default value is <code>false</code>.</p>

    Raises:
        capo_cleanrooms.errors.access_denied_exception.AccessDeniedException: <p>Caller does not have sufficient access to perform this action.</p>
        capo_cleanrooms.errors.internal_server_exception.InternalServerException: <p>Unexpected error during processing of request.</p>
        capo_cleanrooms.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>Request denied because service quota has been exceeded.</p>
        capo_cleanrooms.errors.throttling_exception.ThrottlingException: <p>Request was denied due to request throttling.</p>
        capo_cleanrooms.errors.validation_exception.ValidationException: <p>The input fails to satisfy the specified constraints.</p>
        capo_cleanrooms.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_cleanrooms.types.create_collaboration_input.CreateCollaborationInput]",
    ) -> OperationResponse[
        "capo_cleanrooms.types.create_collaboration_output.CreateCollaborationOutput"
    ]:
        import capo_cleanrooms._operations.aws_bastion_control_plane_service_lambda.create_collaboration

        output, http_response = (
            capo_cleanrooms._operations.aws_bastion_control_plane_service_lambda.create_collaboration.create_collaboration(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("CreateCollaboration")
    )
    input_: capo_cleanrooms.types.create_collaboration_input.CreateCollaborationInput = {
        "members": members,
        "name": name,
        "creator_member_abilities": creator_member_abilities,
        "creator_display_name": creator_display_name,
        "query_log_status": query_log_status,
    }
    if description is not None:
        input_["description"] = description
    if creator_ml_member_abilities is not None:
        input_["creator_ml_member_abilities"] = creator_ml_member_abilities
    if data_encryption_metadata is not None:
        input_["data_encryption_metadata"] = data_encryption_metadata
    if job_log_status is not None:
        input_["job_log_status"] = job_log_status
    if tags is not None:
        input_["tags"] = tags
    if creator_payment_configuration is not None:
        input_["creator_payment_configuration"] = creator_payment_configuration
    if analytics_engine is not None:
        input_["analytics_engine"] = analytics_engine
    if auto_approved_change_request_types is not None:
        input_["auto_approved_change_request_types"] = (
            auto_approved_change_request_types
        )
    if allowed_result_regions is not None:
        input_["allowed_result_regions"] = allowed_result_regions
    if is_metrics_enabled is not None:
        input_["is_metrics_enabled"] = is_metrics_enabled

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output