:doc:`AppSync <../../appsync>` / Client / associate_merged_graphql_api

****************************
associate_merged_graphql_api
****************************



.. py:method:: AppSync.Client.associate_merged_graphql_api(**kwargs)

  

  Creates an association between a Merged API and source API using the source API's identifier.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/AssociateMergedGraphqlApi>`_  


  **Request Syntax**
  ::

    response = client.associate_merged_graphql_api(
        sourceApiIdentifier='string',
        mergedApiIdentifier='string',
        description='string',
        sourceApiAssociationConfig={
            'mergeType': 'MANUAL_MERGE'|'AUTO_MERGE'
        }
    )
    
  :type sourceApiIdentifier: string
  :param sourceApiIdentifier: **[REQUIRED]** 

    The identifier of the AppSync Source API. This is generated by the AppSync service. In most cases, source APIs (especially in your account) only require the API ID value or ARN of the source API. However, source APIs from other accounts (cross-account use cases) strictly require the full resource ARN of the source API.

    

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

    The identifier of the AppSync Merged API. This is generated by the AppSync service. In most cases, Merged APIs (especially in your account) only require the API ID value or ARN of the merged API. However, Merged APIs in other accounts (cross-account use cases) strictly require the full resource ARN of the merged API.

    

  
  :type description: string
  :param description: 

    The description field.

    

  
  :type sourceApiAssociationConfig: dict
  :param sourceApiAssociationConfig: 

    The ``SourceApiAssociationConfig`` object data.

    

  
    - **mergeType** *(string) --* 

      The property that indicates which merging option is enabled in the source API association.

       

      Valid merge types are ``MANUAL_MERGE`` (default) and ``AUTO_MERGE``. Manual merges are the default behavior and require the user to trigger any changes from the source APIs to the merged API manually. Auto merges subscribe the merged API to the changes performed on the source APIs so that any change in the source APIs are also made to the merged API. Auto merges use ``MergedApiExecutionRoleArn`` to perform merge operations.

      

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

    
    ::

      {
          'sourceApiAssociation': {
              'associationId': 'string',
              'associationArn': 'string',
              'sourceApiId': 'string',
              'sourceApiArn': 'string',
              'mergedApiArn': 'string',
              'mergedApiId': 'string',
              'description': 'string',
              'sourceApiAssociationConfig': {
                  'mergeType': 'MANUAL_MERGE'|'AUTO_MERGE'
              },
              'sourceApiAssociationStatus': 'MERGE_SCHEDULED'|'MERGE_FAILED'|'MERGE_SUCCESS'|'MERGE_IN_PROGRESS'|'AUTO_MERGE_SCHEDULE_FAILED'|'DELETION_SCHEDULED'|'DELETION_IN_PROGRESS'|'DELETION_FAILED',
              'sourceApiAssociationStatusDetail': 'string',
              'lastSuccessfulMergeDate': datetime(2015, 1, 1)
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **sourceApiAssociation** *(dict) --* 

        The ``SourceApiAssociation`` object data.

        
        

        - **associationId** *(string) --* 

          The ID generated by the AppSync service for the source API association.

          
        

        - **associationArn** *(string) --* 

          The Amazon Resource Name (ARN) of the source API association.

          
        

        - **sourceApiId** *(string) --* 

          The ID of the AppSync source API.

          
        

        - **sourceApiArn** *(string) --* 

          The Amazon Resource Name (ARN) of the AppSync source API.

          
        

        - **mergedApiArn** *(string) --* 

          The Amazon Resource Name (ARN) of the AppSync Merged API.

          
        

        - **mergedApiId** *(string) --* 

          The ID of the AppSync Merged API.

          
        

        - **description** *(string) --* 

          The description field.

          
        

        - **sourceApiAssociationConfig** *(dict) --* 

          The ``SourceApiAssociationConfig`` object data.

          
          

          - **mergeType** *(string) --* 

            The property that indicates which merging option is enabled in the source API association.

             

            Valid merge types are ``MANUAL_MERGE`` (default) and ``AUTO_MERGE``. Manual merges are the default behavior and require the user to trigger any changes from the source APIs to the merged API manually. Auto merges subscribe the merged API to the changes performed on the source APIs so that any change in the source APIs are also made to the merged API. Auto merges use ``MergedApiExecutionRoleArn`` to perform merge operations.

            
      
        

        - **sourceApiAssociationStatus** *(string) --* 

          The state of the source API association.

          
        

        - **sourceApiAssociationStatusDetail** *(string) --* 

          The detailed message related to the current state of the source API association.

          
        

        - **lastSuccessfulMergeDate** *(datetime) --* 

          The datetime value of the last successful merge of the source API association. The result will be in UTC format and your local time zone.

          
    
  
  **Exceptions**
  
  *   :py:class:`AppSync.Client.exceptions.UnauthorizedException`

  
  *   :py:class:`AppSync.Client.exceptions.BadRequestException`

  
  *   :py:class:`AppSync.Client.exceptions.InternalFailureException`

  
  *   :py:class:`AppSync.Client.exceptions.NotFoundException`

  
  *   :py:class:`AppSync.Client.exceptions.LimitExceededException`

  
  *   :py:class:`AppSync.Client.exceptions.ConcurrentModificationException`

  