:doc:`SWF <../../swf>` / Client / describe_activity_type

**********************
describe_activity_type
**********************



.. py:method:: SWF.Client.describe_activity_type(**kwargs)

  

  Returns information about the specified activity type. This includes configuration settings provided when the type was registered and other general information about the type.

   

  **Access Control**

   

  You can use IAM policies to control this action's access to Amazon SWF resources as follows:

   

  
  * Use a ``Resource`` element with the domain name to limit the action to only specified domains.
   
  * Use an ``Action`` element to allow or deny permission to call this action.
   
  * Constrain the following parameters by using a ``Condition`` element with the appropriate keys. 

    
    * ``activityType.name``: String constraint. The key is ``swf:activityType.name``.
     
    * ``activityType.version``: String constraint. The key is ``swf:activityType.version``.
    

  
  

   

  If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's ``cause`` parameter is set to ``OPERATION_NOT_PERMITTED``. For details and example IAM policies, see `Using IAM to Manage Access to Amazon SWF Workflows <https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html>`__ in the *Amazon SWF Developer Guide*.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/swf-2012-01-25/DescribeActivityType>`_  


  **Request Syntax**
  ::

    response = client.describe_activity_type(
        domain='string',
        activityType={
            'name': 'string',
            'version': 'string'
        }
    )
    
  :type domain: string
  :param domain: **[REQUIRED]** 

    The name of the domain in which the activity type is registered.

    

  
  :type activityType: dict
  :param activityType: **[REQUIRED]** 

    The activity type to get information about. Activity types are identified by the ``name`` and ``version`` that were supplied when the activity was registered.

    

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

      The name of this activity.

       

      .. note::

        

        The combination of activity type name and version must be unique within a domain.

        

      

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

      The version of this activity.

       

      .. note::

        

        The combination of activity type name and version must be unique with in a domain.

        

      

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

    
    ::

      {
          'typeInfo': {
              'activityType': {
                  'name': 'string',
                  'version': 'string'
              },
              'status': 'REGISTERED'|'DEPRECATED',
              'description': 'string',
              'creationDate': datetime(2015, 1, 1),
              'deprecationDate': datetime(2015, 1, 1)
          },
          'configuration': {
              'defaultTaskStartToCloseTimeout': 'string',
              'defaultTaskHeartbeatTimeout': 'string',
              'defaultTaskList': {
                  'name': 'string'
              },
              'defaultTaskPriority': 'string',
              'defaultTaskScheduleToStartTimeout': 'string',
              'defaultTaskScheduleToCloseTimeout': 'string'
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 

      Detailed information about an activity type.

      
      

      - **typeInfo** *(dict) --* 

        General information about the activity type.

         

        The status of activity type (returned in the ActivityTypeInfo structure) can be one of the following.

         

        
        * ``REGISTERED`` – The type is registered and available. Workers supporting this type should be running.
         
        * ``DEPRECATED`` – The type was deprecated using  DeprecateActivityType, but is still in use. You should keep workers supporting this type running. You cannot create new tasks of this type.
        

        
        

        - **activityType** *(dict) --* 

          The  ActivityType type structure representing the activity type.

          
          

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

            The name of this activity.

             

            .. note::

              

              The combination of activity type name and version must be unique within a domain.

              

            
          

          - **version** *(string) --* 

            The version of this activity.

             

            .. note::

              

              The combination of activity type name and version must be unique with in a domain.

              

            
      
        

        - **status** *(string) --* 

          The current status of the activity type.

          
        

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

          The description of the activity type provided in  RegisterActivityType.

          
        

        - **creationDate** *(datetime) --* 

          The date and time this activity type was created through  RegisterActivityType.

          
        

        - **deprecationDate** *(datetime) --* 

          If DEPRECATED, the date and time  DeprecateActivityType was called.

          
    
      

      - **configuration** *(dict) --* 

        The configuration settings registered with the activity type.

        
        

        - **defaultTaskStartToCloseTimeout** *(string) --* 

          The default maximum duration for tasks of an activity type specified when registering the activity type. You can override this default when scheduling a task through the ``ScheduleActivityTask``  Decision.

           

          The duration is specified in seconds, an integer greater than or equal to ``0``. You can use ``NONE`` to specify unlimited duration.

          
        

        - **defaultTaskHeartbeatTimeout** *(string) --* 

          The default maximum time, in seconds, before which a worker processing a task must report progress by calling  RecordActivityTaskHeartbeat.

           

          You can specify this value only when *registering* an activity type. The registered default value can be overridden when you schedule a task through the ``ScheduleActivityTask``  Decision. If the activity worker subsequently attempts to record a heartbeat or returns a result, the activity worker receives an ``UnknownResource`` fault. In this case, Amazon SWF no longer considers the activity task to be valid; the activity worker should clean up the activity task.

           

          The duration is specified in seconds, an integer greater than or equal to ``0``. You can use ``NONE`` to specify unlimited duration.

          
        

        - **defaultTaskList** *(dict) --* 

          The default task list specified for this activity type at registration. This default is used if a task list isn't provided when a task is scheduled through the ``ScheduleActivityTask``  Decision. You can override the default registered task list when scheduling a task through the ``ScheduleActivityTask``  Decision.

          
          

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

            The name of the task list.

            
      
        

        - **defaultTaskPriority** *(string) --* 

          The default task priority for tasks of this activity type, specified at registration. If not set, then ``0`` is used as the default priority. This default can be overridden when scheduling an activity task.

           

          Valid values are integers that range from Java's ``Integer.MIN_VALUE`` (-2147483648) to ``Integer.MAX_VALUE`` (2147483647). Higher numbers indicate higher priority.

           

          For more information about setting task priority, see `Setting Task Priority <https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html>`__ in the *Amazon SWF Developer Guide*.

          
        

        - **defaultTaskScheduleToStartTimeout** *(string) --* 

          The default maximum duration, specified when registering the activity type, that a task of an activity type can wait before being assigned to a worker. You can override this default when scheduling a task through the ``ScheduleActivityTask``  Decision.

           

          The duration is specified in seconds, an integer greater than or equal to ``0``. You can use ``NONE`` to specify unlimited duration.

          
        

        - **defaultTaskScheduleToCloseTimeout** *(string) --* 

          The default maximum duration, specified when registering the activity type, for tasks of this activity type. You can override this default when scheduling a task through the ``ScheduleActivityTask``  Decision.

           

          The duration is specified in seconds, an integer greater than or equal to ``0``. You can use ``NONE`` to specify unlimited duration.

          
    
  
  **Exceptions**
  
  *   :py:class:`SWF.Client.exceptions.UnknownResourceFault`

  
  *   :py:class:`SWF.Client.exceptions.OperationNotPermittedFault`

  