class_docstr: Interact with Amazon SageMaker.
  
  Provide thick wrapper around
  :external+boto3:py:class:`boto3.client("sagemaker") <SageMaker.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`
class_docstr_tok: ["Interact","with","Amazon","SageMaker",".","Provide","thick","wrapper","around",":","external+boto3",":","py",":","class",":","`","boto3.client","(","``","sagemaker","''",")","<","SageMaker.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","`"]
docstr: Get info about a SageMaker pipeline execution.
  
  .. seealso::
      - :external+boto3:py:meth:`SageMaker.Client.describe_pipeline_execution`
      - :external+boto3:py:meth:`SageMaker.Client.list_pipeline_execution_steps`
  
  :param pipeline_exec_arn: arn of the pipeline execution
  :param verbose: Whether to log details about the steps status in the pipeline execution
code: def describe_pipeline_exec(
      self, pipeline_exec_arn: str, verbose: bool = False
  ):
      """Get info about a SageMaker pipeline execution.
  
      .. seealso::
          - :external+boto3:py:meth:`SageMaker.Client.describe_pipeline_execution`
          - :external+boto3:py:meth:`SageMaker.Client.list_pipeline_execution_steps`
  
      :param pipeline_exec_arn: arn of the pipeline execution
      :param verbose: Whether to log details about the steps status in the pipeline execution
      """
      if verbose:
          res = self.conn.list_pipeline_execution_steps(
              PipelineExecutionArn=pipeline_exec_arn
          )
          count_by_state = Counter(
              s["StepStatus"] for s in res["PipelineExecutionSteps"]
          )
          running_steps = [
              s["StepName"]
              for s in res["PipelineExecutionSteps"]
              if s["StepStatus"] == "Executing"
          ]
          self.log.info(
              "state of the pipeline steps: %s", count_by_state
          )
          self.log.info(
              "steps currently in progress: %s", running_steps
          )
  
      return self.conn.describe_pipeline_execution(
          PipelineExecutionArn=pipeline_exec_arn
      )
  
imports: from __future__ import annotations
  import os
  import re
  import tarfile
  import tempfile
  import time
  import warnings
  from collections import Counter, namedtuple
  from datetime import datetime
  from functools import partial
  from typing import Any, Callable, Generator, cast
  from botocore.exceptions import ClientError
  from airflow.exceptions import AirflowException, AirflowProviderDeprecationWarning
  from airflow.providers.amazon.aws.hooks.base_aws import AwsBaseHook
  from airflow.providers.amazon.aws.hooks.logs import AwsLogsHook
  from airflow.providers.amazon.aws.hooks.s3 import S3Hook
  from airflow.providers.amazon.aws.utils.tags import format_tags
  from airflow.utils import timezone
label_desc: Use image node_id 34 for calling the SageMakerHook obj's underlying member method code with example usage: obj.describe_pipeline_exec(pipeline_exec_arn, verbose) and returns: self