
    
                     x    d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
 ddlmZ d	 Z G d
 de      Zy)z%Utilities for Eventarc Providers API.    )absolute_import)division)unicode_literals)
list_pager)common)apis)	resourcesc                 x    t         j                  j                  | j                  d      }|j	                         S )Nz%eventarc.projects.locations.providers)
collection)r	   REGISTRYParseRelativeNamenameSelfLink)resourceproviders     0lib/googlecloudsdk/api_lib/eventarc/providers.pyGetProvidersURIr      s7    11mm G 2 I(				    c                   "    e Zd ZdZd Zd Zd Zy)ProvidersClientz+Client for event providers in Eventarc API.c                     t        j                  |      }t        j                  t         j                  |      }|j
                  | _        |j                  | _        y )N)	r   GetApiVersionr   GetClientInstanceAPI_NAMEMESSAGES_MODULE	_messagesprojects_locations_providers_service)selfrelease_trackapi_versionclients       r   __init__zProvidersClient.__init__$   sB    &&}5K##FOO[AF++DN77DMr   c                     | j                   j                  ||      }t        j                  | j                  |d||d      S )a  Lists event providers in a given location.

    Args:
      location: str, the relative name of the location to list event providers
        in.
      limit: int or None, the total number of results to return.
      page_size: int, the number of entries in each batch (affects requests
        made, but not the yielded results).

    Returns:
      A generator of event providers in the location.
    )parentpageSize	providersr&   )field
batch_sizelimitbatch_size_attribute)r   -EventarcProjectsLocationsProvidersListRequestr   YieldFromListr   )r   locationr*   	page_sizelist_reqs        r   ListzProvidersClient.List*   sL     ~~KK) L -H##') )r   c                     | j                   j                  |j                               }| j                  j	                  |      S )z}Gets a Provider.

    Args:
      provider_ref: Resource, the Provider to get.

    Returns:
      The Provider message.
    )r   )r   ,EventarcProjectsLocationsProvidersGetRequestRelativeNamer   Get)r   provider_refget_reqs      r   r5   zProvidersClient.GetA   s?     nnII&&( J *G==W%%r   N)__name__
__module____qualname____doc__r#   r1   r5    r   r   r   r   !   s    38).&r   r   N)r;   
__future__r   r   r   apitools.base.pyr   googlecloudsdk.api_lib.eventarcr   googlecloudsdk.api_lib.utilr   googlecloudsdk.corer	   r   objectr   r<   r   r   <module>rC      s0    , &  ' ' 2 , )+&f +&r   