Skip to content

create_membership

create_membership(
    collaboration_identifier: CollaborationIdentifier,
    query_log_status: MembershipQueryLogStatus,
    *,
    config_overrides: Optional[CleanRoomsClientConfig] = None,
    job_log_status: Optional[MembershipJobLogStatus] = None,
    tags: Optional[TagMap] = None,
    default_result_configuration: Optional[
        MembershipProtectedQueryResultConfiguration
    ] = None,
    default_job_result_configuration: Optional[
        MembershipProtectedJobResultConfiguration
    ] = None,
    payment_configuration: Optional[MembershipPaymentConfiguration] = None,
    is_metrics_enabled: Optional[bool] = None,
) -> CreateMembershipOutput

Creates a membership for a specific collaboration identifier and joins the collaboration.

Parameters:

  • collaboration_identifier (CollaborationIdentifier) –

    The unique ID for the associated collaboration.

  • query_log_status (MembershipQueryLogStatus) –

    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.

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

    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 (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.

  • default_result_configuration (Optional[MembershipProtectedQueryResultConfiguration], default: None ) –

    The default protected query result configuration as specified by the member who can receive results.

  • default_job_result_configuration (Optional[MembershipProtectedJobResultConfiguration], default: None ) –

    The default job result configuration that determines how job results are protected and managed within this membership. This configuration applies to all jobs.

  • payment_configuration (Optional[MembershipPaymentConfiguration], default: None ) –

    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.

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

    An indicator as to whether Amazon CloudWatch metrics have been enabled or disabled for the membership.

    Amazon CloudWatch metrics are only available when the collaboration has metrics enabled. This option can be set by collaboration members who have the ability to run queries (analysis runners) or by members who are configured as payers.

    When true, metrics about query execution are collected in Amazon CloudWatch. The default value is false.

Raises:

Source code in docs_src/capo_cleanrooms/_services/clean_rooms.py
def create_membership(
    self,
    collaboration_identifier: "capo_cleanrooms.types.collaboration_identifier.CollaborationIdentifier",
    query_log_status: "capo_cleanrooms.types.membership_query_log_status.MembershipQueryLogStatus",
    *,
    config_overrides: Optional[CleanRoomsClientConfig] = None,
    job_log_status: Optional[
        "capo_cleanrooms.types.membership_job_log_status.MembershipJobLogStatus"
    ] = None,
    tags: Optional["capo_cleanrooms.types.tag_map.TagMap"] = None,
    default_result_configuration: Optional[
        "capo_cleanrooms.types.membership_protected_query_result_configuration.MembershipProtectedQueryResultConfiguration"
    ] = None,
    default_job_result_configuration: Optional[
        "capo_cleanrooms.types.membership_protected_job_result_configuration.MembershipProtectedJobResultConfiguration"
    ] = None,
    payment_configuration: Optional[
        "capo_cleanrooms.types.membership_payment_configuration.MembershipPaymentConfiguration"
    ] = None,
    is_metrics_enabled: Optional[bool] = None,
) -> "capo_cleanrooms.types.create_membership_output.CreateMembershipOutput":
    """<p>Creates a membership for a specific collaboration identifier and joins the collaboration.</p>

    Args:
        collaboration_identifier: <p>The unique ID for the associated collaboration.</p>
        query_log_status: <p>An indicator as to whether query logging has been enabled or disabled for the membership.</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>An indicator as to whether job logging has been enabled or disabled for the collaboration. </p> <p>When <code>ENABLED</code>, Clean Rooms logs details about jobs run within this collaboration and 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>
        default_result_configuration: <p>The default protected query result configuration as specified by the member who can receive results.</p>
        default_job_result_configuration: <p>The default job result configuration that determines how job results are protected and managed within this membership. This configuration applies to all jobs.</p>
        payment_configuration: <p>The payment responsibilities accepted by the collaboration member.</p> <p>Not required if the collaboration member has the member ability to run queries. </p> <p>Required if the collaboration member doesn't have the member ability to run queries but is configured as a payer by the collaboration creator. </p>
        is_metrics_enabled: <p>An indicator as to whether Amazon CloudWatch metrics have been enabled or disabled for the membership.</p> <p>Amazon CloudWatch metrics are only available when the collaboration has metrics enabled. This option can be set by collaboration members who have the ability to run queries (analysis runners) or by members who are configured as payers.</p> <p>When <code>true</code>, metrics about query execution are collected in Amazon CloudWatch. 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.conflict_exception.ConflictException: <p>Updating or deleting a resource can cause an inconsistent state.</p>
        capo_cleanrooms.errors.internal_server_exception.InternalServerException: <p>Unexpected error during processing of request.</p>
        capo_cleanrooms.errors.resource_not_found_exception.ResourceNotFoundException: <p>Request references a resource which does not exist.</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_membership_input.CreateMembershipInput]",
    ) -> OperationResponse[
        "capo_cleanrooms.types.create_membership_output.CreateMembershipOutput"
    ]:
        import capo_cleanrooms._operations.aws_bastion_control_plane_service_lambda.create_membership

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

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("CreateMembership")
    )
    input_: capo_cleanrooms.types.create_membership_input.CreateMembershipInput = {
        "collaboration_identifier": collaboration_identifier,
        "query_log_status": query_log_status,
    }
    if job_log_status is not None:
        input_["job_log_status"] = job_log_status
    if tags is not None:
        input_["tags"] = tags
    if default_result_configuration is not None:
        input_["default_result_configuration"] = default_result_configuration
    if default_job_result_configuration is not None:
        input_["default_job_result_configuration"] = (
            default_job_result_configuration
        )
    if payment_configuration is not None:
        input_["payment_configuration"] = payment_configuration
    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