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

*****************************
get_data_source_introspection
*****************************



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

  

  Retrieves the record of an existing introspection. If the retrieval is successful, the result of the instrospection will also be returned. If the retrieval fails the operation, an error message will be returned instead.

  

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


  **Request Syntax**
  ::

    response = client.get_data_source_introspection(
        introspectionId='string',
        includeModelsSDL=True|False,
        nextToken='string',
        maxResults=123
    )
    
  :type introspectionId: string
  :param introspectionId: **[REQUIRED]** 

    The introspection ID. Each introspection contains a unique ID that can be used to reference the instrospection record.

    

  
  :type includeModelsSDL: boolean
  :param includeModelsSDL: 

    A boolean flag that determines whether SDL should be generated for introspected types. If set to ``true``, each model will contain an ``sdl`` property that contains the SDL for that type. The SDL only contains the type data and no additional metadata or directives.

    

  
  :type nextToken: string
  :param nextToken: 

    Determines the number of types to be returned in a single response before paginating. This value is typically taken from ``nextToken`` value from the previous response.

    

  
  :type maxResults: integer
  :param maxResults: 

    The maximum number of introspected types that will be returned in a single response.

    

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

    
    ::

      {
          'introspectionId': 'string',
          'introspectionStatus': 'PROCESSING'|'FAILED'|'SUCCESS',
          'introspectionStatusDetail': 'string',
          'introspectionResult': {
              'models': [
                  {
                      'name': 'string',
                      'fields': [
                          {
                              'name': 'string',
                              'type': {
                                  'kind': 'string',
                                  'name': 'string',
                                  'type': {'... recursive ...'},
                                  'values': [
                                      'string',
                                  ]
                              },
                              'length': 123
                          },
                      ],
                      'primaryKey': {
                          'name': 'string',
                          'fields': [
                              'string',
                          ]
                      },
                      'indexes': [
                          {
                              'name': 'string',
                              'fields': [
                                  'string',
                              ]
                          },
                      ],
                      'sdl': 'string'
                  },
              ],
              'nextToken': 'string'
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **introspectionId** *(string) --* 

        The introspection ID. Each introspection contains a unique ID that can be used to reference the instrospection record.

        
      

      - **introspectionStatus** *(string) --* 

        The status of the introspection during retrieval. By default, when a new instrospection is being retrieved, the status will be set to ``PROCESSING``. Once the operation has been completed, the status will change to ``SUCCESS`` or ``FAILED`` depending on how the data was parsed. A ``FAILED`` operation will return an error and its details as an ``introspectionStatusDetail``.

        
      

      - **introspectionStatusDetail** *(string) --* 

        The error detail field. When a ``FAILED`` ``introspectionStatus`` is returned, the ``introspectionStatusDetail`` will also return the exact error that was generated during the operation.

        
      

      - **introspectionResult** *(dict) --* 

        The ``DataSourceIntrospectionResult`` object data.

        
        

        - **models** *(list) --* 

          The array of ``DataSourceIntrospectionModel`` objects.

          
          

          - *(dict) --* 

            Contains the introspected data that was retrieved from the data source.

            
            

            - **name** *(string) --* 

              The name of the model. For example, this could be the name of a single table in a database.

              
            

            - **fields** *(list) --* 

              The ``DataSourceIntrospectionModelField`` object data.

              
              

              - *(dict) --* 

                Represents the fields that were retrieved from the introspected data.

                
                

                - **name** *(string) --* 

                  The name of the field that was retrieved from the introspected data.

                  
                

                - **type** *(dict) --* 

                  The ``DataSourceIntrospectionModelFieldType`` object data.

                  
                  

                  - **kind** *(string) --* 

                    Specifies the classification of data. For example, this could be set to values like ``Scalar`` or ``NonNull`` to indicate a fundamental property of the field.

                     

                    Valid values include:

                     

                    
                    * ``Scalar``: Indicates the value is a primitive type (scalar).
                     
                    * ``NonNull``: Indicates the field cannot be ``null``.
                     
                    * ``List``: Indicates the field contains a list.
                    

                    
                  

                  - **name** *(string) --* 

                    The name of the data type that represents the field. For example, ``String`` is a valid ``name`` value.

                    
                  

                  - **type** *(dict) --* 

                    The ``DataSourceIntrospectionModelFieldType`` object data. The ``type`` is only present if ``DataSourceIntrospectionModelFieldType.kind`` is set to ``NonNull`` or ``List``.

                     

                    The ``type`` typically contains its own ``kind`` and ``name`` fields to represent the actual type data. For instance, ``type`` could contain a ``kind`` value of ``Scalar`` with a ``name`` value of ``String``. The values ``Scalar`` and ``String`` will be collectively stored in the ``values`` field.

                    
                  

                  - **values** *(list) --* 

                    The values of the ``type`` field. This field represents the AppSync data type equivalent of the introspected field.

                    
                    

                    - *(string) --* 
                
              
                

                - **length** *(integer) --* 

                  The length value of the introspected field.

                  
            
          
            

            - **primaryKey** *(dict) --* 

              The primary key stored as a ``DataSourceIntrospectionModelIndex`` object.

              
              

              - **name** *(string) --* 

                The name of the index.

                
              

              - **fields** *(list) --* 

                The fields of the index.

                
                

                - *(string) --* 
            
          
            

            - **indexes** *(list) --* 

              The array of ``DataSourceIntrospectionModelIndex`` objects.

              
              

              - *(dict) --* 

                The index that was retrieved from the introspected data.

                
                

                - **name** *(string) --* 

                  The name of the index.

                  
                

                - **fields** *(list) --* 

                  The fields of the index.

                  
                  

                  - *(string) --* 
              
            
          
            

            - **sdl** *(string) --* 

              Contains the output of the SDL that was generated from the introspected types. This is controlled by the ``includeModelsSDL`` parameter of the ``GetDataSourceIntrospection`` operation.

              
        
      
        

        - **nextToken** *(string) --* 

          Determines the number of types to be returned in a single response before paginating. This value is typically taken from ``nextToken`` value from the previous response.

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

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

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

  