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',
    tags={
        'string': 'string'
    },
    defaultResultConfiguration={
        'outputConfiguration': {
            's3': {
                'resultFormat': 'CSV'|'PARQUET',
                'bucket': 'string',
                'keyPrefix': 'string'
            }
        },
        'roleArn': 'string'
    },
    paymentConfiguration={
        'queryCompute': {
            '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.

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

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

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

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',
        ],
        'queryLogStatus': 'ENABLED'|'DISABLED',
        'defaultResultConfiguration': {
            'outputConfiguration': {
                's3': {
                    'resultFormat': 'CSV'|'PARQUET',
                    'bucket': 'string',
                    'keyPrefix': 'string'
                }
            },
            'roleArn': 'string'
        },
        'paymentConfiguration': {
            'queryCompute': {
                '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) –

      • queryLogStatus (string) –

        An indicator as to whether query logging has been enabled or disabled for the membership.

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

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

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

Exceptions