class_docstr: Creates, updates and triggers an AWS Glue Crawler.
  
  AWS Glue Crawler is a serverless service that manages a catalog of
  metadata tables that contain the inferred schema, format and data
  types of data stores within the AWS cloud.
  
  .. seealso::
      For more information on how to use this operator, take a look at the guide:
      :ref:`howto/operator:GlueCrawlerOperator`
  
  :param config: Configurations for the AWS Glue crawler
  :param aws_conn_id: aws connection to use
  :param poll_interval: Time (in seconds) to wait between two consecutive calls to check crawler status
  :param wait_for_completion: Whether to wait for crawl execution completion. (default: True)
  :param deferrable: If True, the operator will wait asynchronously for the crawl to complete.
      This implies waiting for completion. This mode requires aiobotocore module to be installed.
      (default: False)
docstr: Execute AWS Glue Crawler from Airflow.
  
  :return: the name of the current glue crawler.
docstr_tok: ["Execute","AWS","Glue","Crawler","from","Airflow",".",":","return",":","the","name","of","the","current","glue","crawler","."]
code: def execute(self, context: Context):
      """
      Execute AWS Glue Crawler from Airflow.
  
      :return: the name of the current glue crawler.
      """
      crawler_name = self.config["Name"]
      if self.hook.has_crawler(crawler_name):
          self.hook.update_crawler(**self.config)
      else:
          self.hook.create_crawler(**self.config)
  
      self.log.info("Triggering AWS Glue Crawler")
      self.hook.start_crawler(crawler_name)
      if self.deferrable:
          self.defer(
              trigger=GlueCrawlerCompleteTrigger(
                  crawler_name=crawler_name,
                  waiter_delay=self.poll_interval,
                  aws_conn_id=self.aws_conn_id,
              ),
              method_name="execute_complete",
          )
      elif self.wait_for_completion:
          self.log.info("Waiting for AWS Glue Crawler")
          self.hook.wait_for_crawler_completion(
              crawler_name=crawler_name,
              poll_interval=self.poll_interval,
          )
  
      return crawler_name
  
file_path: airflow/airflow/providers/amazon/aws/operators/glue_crawler.py
imports: from __future__ import annotations
  from functools import cached_property
  from typing import TYPE_CHECKING, Sequence
  from airflow.configuration import conf
  from airflow.exceptions import AirflowException
  from airflow.providers.amazon.aws.triggers.glue_crawler import GlueCrawlerCompleteTrigger
  from airflow.models import BaseOperator
  from airflow.providers.amazon.aws.hooks.glue_crawler import GlueCrawlerHook
label_desc: Use image node_id 3 for calling the GlueCrawlerOperator obj's underlying member method code with example usage: obj.execute(context) and returns: crawler_name