:doc:`Glue <../../glue>` / Paginator / GetUserDefinedFunctions

***********************
GetUserDefinedFunctions
***********************



.. py:class:: Glue.Paginator.GetUserDefinedFunctions

  ::

    
    paginator = client.get_paginator('get_user_defined_functions')

  
  

  .. py:method:: paginate(**kwargs)

    Creates an iterator that will paginate through responses from :py:meth:`Glue.Client.get_user_defined_functions`.

    See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetUserDefinedFunctions>`_    


    **Request Syntax**
    ::

      response_iterator = paginator.paginate(
          CatalogId='string',
          DatabaseName='string',
          Pattern='string',
          FunctionType='REGULAR_FUNCTION'|'AGGREGATE_FUNCTION'|'STORED_PROCEDURE',
          PaginationConfig={
              'MaxItems': 123,
              'PageSize': 123,
              'StartingToken': 'string'
          }
      )
      
    :type CatalogId: string
    :param CatalogId: 

      The ID of the Data Catalog where the functions to be retrieved are located. If none is provided, the Amazon Web Services account ID is used by default.

      

    
    :type DatabaseName: string
    :param DatabaseName: 

      The name of the catalog database where the functions are located. If none is provided, functions from all the databases across the catalog will be returned.

      

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

      An optional function-name pattern string that filters the function definitions returned.

      

    
    :type FunctionType: string
    :param FunctionType: 

      An optional function-type pattern string that filters the function definitions returned from Amazon Redshift Federated Permissions Catalog.

       

      Specify a value of ``REGULAR_FUNCTION`` or ``STORED_PROCEDURE``. The ``STORED_PROCEDURE`` function type is only compatible with Amazon Redshift Federated Permissions Catalog.

      

    
    :type PaginationConfig: dict
    :param PaginationConfig: 

      A dictionary that provides parameters to control pagination.

      

    
      - **MaxItems** *(integer) --* 

        The total number of items to return. If the total number of items available is more than the value specified in max-items then a ``NextToken`` will be provided in the output that you can use to resume pagination.

        

      
      - **PageSize** *(integer) --* 

        The size of each page.

        

      
      - **StartingToken** *(string) --* 

        A token to specify where to start paginating. This is the ``NextToken`` from a previous response.

        

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

      
      ::

        {
            'UserDefinedFunctions': [
                {
                    'FunctionName': 'string',
                    'DatabaseName': 'string',
                    'ClassName': 'string',
                    'OwnerName': 'string',
                    'FunctionType': 'REGULAR_FUNCTION'|'AGGREGATE_FUNCTION'|'STORED_PROCEDURE',
                    'OwnerType': 'USER'|'ROLE'|'GROUP',
                    'CreateTime': datetime(2015, 1, 1),
                    'ResourceUris': [
                        {
                            'ResourceType': 'JAR'|'FILE'|'ARCHIVE',
                            'Uri': 'string'
                        },
                    ],
                    'CatalogId': 'string'
                },
            ],
            
        }
        
      **Response Structure**

      

      - *(dict) --* 
        

        - **UserDefinedFunctions** *(list) --* 

          A list of requested function definitions.

          
          

          - *(dict) --* 

            Represents the equivalent of a Hive user-defined function ( ``UDF``) definition.

            
            

            - **FunctionName** *(string) --* 

              The name of the function.

              
            

            - **DatabaseName** *(string) --* 

              The name of the catalog database that contains the function.

              
            

            - **ClassName** *(string) --* 

              The Java class that contains the function code.

              
            

            - **OwnerName** *(string) --* 

              The owner of the function.

              
            

            - **FunctionType** *(string) --* 

              The type of the function.

              
            

            - **OwnerType** *(string) --* 

              The owner type.

              
            

            - **CreateTime** *(datetime) --* 

              The time at which the function was created.

              
            

            - **ResourceUris** *(list) --* 

              The resource URIs for the function.

              
              

              - *(dict) --* 

                The URIs for function resources.

                
                

                - **ResourceType** *(string) --* 

                  The type of the resource.

                  
                

                - **Uri** *(string) --* 

                  The URI for accessing the resource.

                  
            
          
            

            - **CatalogId** *(string) --* 

              The ID of the Data Catalog in which the function resides.

              
        
      
    