:py:mod:`airflow.providers.microsoft.azure.hooks.container_registry`
====================================================================

.. py:module:: airflow.providers.microsoft.azure.hooks.container_registry

.. autoapi-nested-parse::

   Hook for Azure Container Registry



Module Contents
---------------

Classes
~~~~~~~

.. autoapisummary::

   airflow.providers.microsoft.azure.hooks.container_registry.AzureContainerRegistryHook




.. py:class:: AzureContainerRegistryHook(conn_id = 'azure_registry')

   Bases: :py:obj:`airflow.hooks.base.BaseHook`

   A hook to communicate with a Azure Container Registry.

   :param conn_id: :ref:`Azure Container Registry connection id<howto/connection:acr>`
       of a service principal which will be used to start the container instance


   .. py:attribute:: conn_name_attr
      :annotation: = azure_container_registry_conn_id

      

   .. py:attribute:: default_conn_name
      :annotation: = azure_container_registry_default

      

   .. py:attribute:: conn_type
      :annotation: = azure_container_registry

      

   .. py:attribute:: hook_name
      :annotation: = Azure Container Registry

      

   .. py:method:: get_ui_field_behaviour()
      :staticmethod:

      Returns custom field behaviour


   .. py:method:: get_conn(self)

      Returns connection for the hook.



