:doc:`PartnerCentralChannelAPI <../../partnercentral-channel>` / Client / create_relationship

*******************
create_relationship
*******************



.. py:method:: PartnerCentralChannelAPI.Client.create_relationship(**kwargs)

  

  Creates a new partner relationship between accounts.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/partnercentral-channel-2024-03-18/CreateRelationship>`_  


  **Request Syntax**
  ::

    response = client.create_relationship(
        catalog='string',
        associationType='DOWNSTREAM_SELLER'|'END_CUSTOMER'|'INTERNAL',
        programManagementAccountIdentifier='string',
        associatedAccountId='string',
        displayName='string',
        resaleAccountModel='DISTRIBUTOR'|'END_CUSTOMER'|'SOLUTION_PROVIDER',
        sector='COMMERCIAL'|'GOVERNMENT'|'GOVERNMENT_EXCEPTION',
        clientToken='string',
        tags=[
            {
                'key': 'string',
                'value': 'string'
            },
        ],
        requestedSupportPlan={
            'resoldBusiness': {
                'coverage': 'ENTIRE_ORGANIZATION'|'MANAGEMENT_ACCOUNT_ONLY'
            },
            'resoldEnterprise': {
                'coverage': 'ENTIRE_ORGANIZATION'|'MANAGEMENT_ACCOUNT_ONLY',
                'tamLocation': 'string',
                'chargeAccountId': 'string'
            },
            'partnerLedSupport': {
                'coverage': 'ENTIRE_ORGANIZATION'|'MANAGEMENT_ACCOUNT_ONLY',
                'provider': 'DISTRIBUTOR'|'DISTRIBUTION_SELLER',
                'tamLocation': 'string'
            }
        }
    )
    
  :type catalog: string
  :param catalog: **[REQUIRED]** 

    The catalog identifier for the relationship.

    

  
  :type associationType: string
  :param associationType: **[REQUIRED]** 

    The type of association for the relationship (e.g., reseller, distributor).

    

  
  :type programManagementAccountIdentifier: string
  :param programManagementAccountIdentifier: **[REQUIRED]** 

    The identifier of the program management account for this relationship.

    

  
  :type associatedAccountId: string
  :param associatedAccountId: **[REQUIRED]** 

    The AWS account ID to associate in this relationship.

    

  
  :type displayName: string
  :param displayName: **[REQUIRED]** 

    A human-readable name for the relationship.

    

  
  :type resaleAccountModel: string
  :param resaleAccountModel: 

    The resale account model for the relationship.

    

  
  :type sector: string
  :param sector: **[REQUIRED]** 

    The business sector for the relationship.

    

  
  :type clientToken: string
  :param clientToken: 

    A unique, case-sensitive identifier to ensure idempotency of the request.

    This field is autopopulated if not provided.

  
  :type tags: list
  :param tags: 

    Key-value pairs to associate with the relationship.

    

  
    - *(dict) --* 

      A key-value pair that can be associated with a resource.

      

    
      - **key** *(string) --* **[REQUIRED]** 

        The key of the tag.

        

      
      - **value** *(string) --* **[REQUIRED]** 

        The value of the tag.

        

      
    

  :type requestedSupportPlan: dict
  :param requestedSupportPlan: 

    The support plan requested for this relationship.

    .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``resoldBusiness``, ``resoldEnterprise``, ``partnerLedSupport``. 

  
    - **resoldBusiness** *(dict) --* 

      Configuration for resold business support plans.

      

    
      - **coverage** *(string) --* **[REQUIRED]** 

        The coverage level for resold business support.

        

      
    
    - **resoldEnterprise** *(dict) --* 

      Configuration for resold enterprise support plans.

      

    
      - **coverage** *(string) --* **[REQUIRED]** 

        The coverage level for resold enterprise support.

        

      
      - **tamLocation** *(string) --* **[REQUIRED]** 

        The location of the Technical Account Manager (TAM).

        

      
      - **chargeAccountId** *(string) --* 

        The AWS account ID to charge for the support plan.

        

      
    
    - **partnerLedSupport** *(dict) --* 

      Configuration for partner-led support plans.

      

    
      - **coverage** *(string) --* **[REQUIRED]** 

        The coverage level for partner-led support.

        

      
      - **provider** *(string) --* 

        The provider of the partner-led support.

        

      
      - **tamLocation** *(string) --* **[REQUIRED]** 

        The location of the Technical Account Manager (TAM).

        

      
    
  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'relationshipDetail': {
              'arn': 'string',
              'id': 'string'
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **relationshipDetail** *(dict) --* 

        Details of the created relationship.

        
        

        - **arn** *(string) --* 

          The Amazon Resource Name (ARN) of the created relationship.

          
        

        - **id** *(string) --* 

          The unique identifier of the created relationship.

          
    
  
  **Exceptions**
  
  *   :py:class:`PartnerCentralChannelAPI.Client.exceptions.ResourceNotFoundException`

  
  *   :py:class:`PartnerCentralChannelAPI.Client.exceptions.InternalServerException`

  
  *   :py:class:`PartnerCentralChannelAPI.Client.exceptions.ValidationException`

  
  *   :py:class:`PartnerCentralChannelAPI.Client.exceptions.ThrottlingException`

  
  *   :py:class:`PartnerCentralChannelAPI.Client.exceptions.AccessDeniedException`

  
  *   :py:class:`PartnerCentralChannelAPI.Client.exceptions.ConflictException`

  
  *   :py:class:`PartnerCentralChannelAPI.Client.exceptions.ServiceQuotaExceededException`

  