class_docstr: Interact with Amazon AppFlow.
  
  Provide thin wrapper around :external+boto3:py:class:`boto3.client("appflow") <Appflow.Client>`.
  
  Additional arguments (such as ``aws_conn_id``) may be specified and
  are passed down to the underlying AwsBaseHook.
  
  .. seealso::
      - :class:`airflow.providers.amazon.aws.hooks.base_aws.AwsBaseHook`
      - `Amazon Appflow API Reference <https://docs.aws.amazon.com/appflow/1.0/APIReference/Welcome.html>`__
code: def _log_execution_description(
      self, flow_name: str, execution_id: str
  ):
      response_desc = self.conn.describe_flow_execution_records(
          flowName=flow_name
      )
      last_execs = {
          fe["executionId"]: fe
          for fe in response_desc["flowExecutions"]
      }
      exec_details = last_execs[execution_id]
      self.log.info("Run complete, execution details: %s", exec_details)
  
file_path: airflow/airflow/providers/amazon/aws/hooks/appflow.py
imports: from __future__ import annotations
  from typing import TYPE_CHECKING
  from airflow.providers.amazon.aws.hooks.base_aws import AwsGenericHook
  from airflow.providers.amazon.aws.utils.waiter_with_logging import wait
label_desc: Use image node_id 3 for calling the AppflowHook obj's underlying member method code with example usage: obj._log_execution_description(flow_name, execution_id) without return types