:doc:`ChimeSDKMessaging <../../chime-sdk-messaging>` / Client / describe_channel_flow

*********************
describe_channel_flow
*********************



.. py:method:: ChimeSDKMessaging.Client.describe_channel_flow(**kwargs)

  

  Returns the full details of a channel flow in an Amazon Chime ``AppInstance``. This is a developer API.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/DescribeChannelFlow>`_  


  **Request Syntax**
  ::

    response = client.describe_channel_flow(
        ChannelFlowArn='string'
    )
    
  :type ChannelFlowArn: string
  :param ChannelFlowArn: **[REQUIRED]** 

    The ARN of the channel flow.

    

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

    
    ::

      {
          'ChannelFlow': {
              'ChannelFlowArn': 'string',
              'Processors': [
                  {
                      'Name': 'string',
                      'Configuration': {
                          'Lambda': {
                              'ResourceArn': 'string',
                              'InvocationType': 'ASYNC'
                          }
                      },
                      'ExecutionOrder': 123,
                      'FallbackAction': 'CONTINUE'|'ABORT'
                  },
              ],
              'Name': 'string',
              'CreatedTimestamp': datetime(2015, 1, 1),
              'LastUpdatedTimestamp': datetime(2015, 1, 1)
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **ChannelFlow** *(dict) --* 

        The channel flow details.

        
        

        - **ChannelFlowArn** *(string) --* 

          The ARN of the channel flow.

          
        

        - **Processors** *(list) --* 

          Information about the processor Lambda functions.

          
          

          - *(dict) --* 

            The information about a processor in a channel flow.

            
            

            - **Name** *(string) --* 

              The name of the channel flow.

              
            

            - **Configuration** *(dict) --* 

              The information about the type of processor and its identifier.

              
              

              - **Lambda** *(dict) --* 

                Indicates that the processor is of type Lambda.

                
                

                - **ResourceArn** *(string) --* 

                  The ARN of the Lambda message processing function.

                  
                

                - **InvocationType** *(string) --* 

                  Controls how the Lambda function is invoked.

                  
            
          
            

            - **ExecutionOrder** *(integer) --* 

              The sequence in which processors run. If you have multiple processors in a channel flow, message processing goes through each processor in the sequence. The value determines the sequence. At this point, we support only 1 processor within a flow.

              
            

            - **FallbackAction** *(string) --* 

              Determines whether to continue with message processing or stop it in cases where communication with a processor fails. If a processor has a fallback action of ``ABORT`` and communication with it fails, the processor sets the message status to ``FAILED`` and does not send the message to any recipients. Note that if the last processor in the channel flow sequence has a fallback action of ``CONTINUE`` and communication with the processor fails, then the message is considered processed and sent to recipients of the channel.

              
        
      
        

        - **Name** *(string) --* 

          The name of the channel flow.

          
        

        - **CreatedTimestamp** *(datetime) --* 

          The time at which the channel flow was created.

          
        

        - **LastUpdatedTimestamp** *(datetime) --* 

          The time at which a channel flow was updated.

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

  
  *   :py:class:`ChimeSDKMessaging.Client.exceptions.ForbiddenException`

  
  *   :py:class:`ChimeSDKMessaging.Client.exceptions.UnauthorizedClientException`

  
  *   :py:class:`ChimeSDKMessaging.Client.exceptions.ThrottledClientException`

  
  *   :py:class:`ChimeSDKMessaging.Client.exceptions.ServiceUnavailableException`

  
  *   :py:class:`ChimeSDKMessaging.Client.exceptions.ServiceFailureException`

  