
                            d Z ddlmZ ddlmZ ddlmZ ddlZddlZdZ G d de      Z	ej                   G d	 d
ej                               Z G d de      Z G d de      Z ed edej                         edej                        g       ed edej                          edej                          edej                          edej                          edej                         g       ed edej"                         edej"                         edej"                         edej"                        g       ed edej$                         edej$                         ed ej$                         ed!ej$                        g       ed" ed#ej&                        g       ed$ ed%ej(                        g       ed& ed'ej(                         ed(ej(                        g      gZ G d) d*e      Z ee      Zy)+z5A library that is used to support Functions commands.    )absolute_import)division)unicode_literalsNunadvertisedc                       e Zd Zd Zy)Resourcec                      || _         || _        y N)namecollection_id)selfr   r   s      3lib/googlecloudsdk/api_lib/functions/v1/triggers.py__init__zResource.__init__   s    DI&D    N)__name__
__module____qualname__r    r   r   r   r      s    'r   r   c                   x    e Zd Z edd      Z edd      Z edd      Z edd      Z ed	d
      Z edd      Z	y)	Resourcestopiczpubsub.projects.topicsbucketzcloudfunctions.projects.bucketszfirebase databasegoogle.firebase.database.refzfirestore documentgoogle.firestore.documentzfirebase analyticsgoogle.firebase.analytics.eventprojectzcloudresourcemanager.projectsN)
r   r   r   r   TOPICBUCKETFIREBASE_DBFIRESTORE_DOCFIREBASE_ANALYTICS_EVENTPROJECTr   r   r   r   r   "   sX    
74
5%H?@&,.LM+/1LM-%= Y ?@'r   r   c                   &    e Zd ZdZd Zed        Zy)TriggerProviderz1Represents --trigger-provider flag value options.c                 P    || _         || _        | j                  D ]	  }| |_         y r
   )labeleventsprovider)r   r&   r'   events       r   r   zTriggerProvider.__init__1   s%    DJDKen r   c                      | j                   d   S )Nr   )r'   r   s    r   default_eventzTriggerProvider.default_event8   s    ;;q>r   N)r   r   r   __doc__r   propertyr,   r   r   r   r$   r$   .   s    9  r   r$   c                   P    e Zd ZdZej
                  gZd Zed        Z	ed        Z
y)TriggerEventz.Represents --trigger-event flag value options.c                      || _         || _        y r
   )r&   resource_type)r   r&   r2   s      r   r   zTriggerEvent.__init__C   s    DJ&Dr   c                 4    | j                   j                  | k(  S r
   )r(   r,   r+   s    r   event_is_optionalzTriggerEvent.event_is_optionalG   s    ==&&$..r   c                 :    | j                   t        j                  v S r
   )r2   r0   OPTIONAL_RESOURCE_TYPESr+   s    r   resource_is_optionalz!TriggerEvent.resource_is_optionalL   s    !E!EEEr   N)r   r   r   r-   r   r"   r6   r   r.   r4   r7   r   r   r   r0   r0   =   sE    6 '../' / / F Fr   r0   zcloud.pubsubzgoogle.pubsub.topic.publishz/providers/cloud.pubsub/eventTypes/topic.publishzcloud.storagezgoogle.storage.object.finalizez0providers/cloud.storage/eventTypes/object.changezgoogle.storage.object.archivezgoogle.storage.object.deletez$google.storage.object.metadataUpdater   z8providers/google.firebase.database/eventTypes/ref.createz8providers/google.firebase.database/eventTypes/ref.updatez8providers/google.firebase.database/eventTypes/ref.deletez7providers/google.firebase.database/eventTypes/ref.writer   z4providers/cloud.firestore/eventTypes/document.createz4providers/cloud.firestore/eventTypes/document.updatez4providers/cloud.firestore/eventTypes/document.deletez3providers/cloud.firestore/eventTypes/document.writer   z8providers/google.firebase.analytics/eventTypes/event.logzgoogle.firebase.remoteConfigz#google.firebase.remoteconfig.updatezfirebase.authz.providers/firebase.auth/eventTypes/user.createz.providers/firebase.auth/eventTypes/user.deletec                   :    e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
y	)
_TriggerProviderRegistryz@This class encapsulates all Event Trigger related functionality.c                 <    || _         t        t        g       | _        y r
   )	providersr$   UNADVERTISED_PROVIDER_LABEL_unadvertised_provider)r   all_providerss     r   r   z!_TriggerProviderRegistry.__init__   s    "DN"1#R#Dr   c                 (    d | j                   D        S )Nc              3   4   K   | ]  }|j                     y wr
   r&   ).0ps     r   	<genexpr>z;_TriggerProviderRegistry.ProvidersLabels.<locals>.<genexpr>   s     ,^AGG^   )r;   r+   s    r   ProvidersLabelsz(_TriggerProviderRegistry.ProvidersLabels   s    ,T^^,,r   c                 @    t        fd| j                  D              S )Nc              3   B   K   | ]  }|j                   k(  s|  y wr
   rA   )rB   rC   r(   s     r   rD   z4_TriggerProviderRegistry.Provider.<locals>.<genexpr>   s     BNqagg.AN   )nextr;   r   r(   s    `r   Providerz!_TriggerProviderRegistry.Provider   s    BDNNBCCr   c                 F    d | j                  |      j                  D        S )Nc              3   4   K   | ]  }|j                     y wr
   rA   )rB   es     r   rD   z8_TriggerProviderRegistry.EventsLabels.<locals>.<genexpr>   s     <;AGG;rE   )rL   r'   rK   s     r   EventsLabelsz%_TriggerProviderRegistry.EventsLabels   s    <T]]84;;<<r   c                 l      fd j                   D        }t        j                  j                  |      S )Nc              3   T   K   | ]  }j                  |j                         ! y wr
   )rP   r&   )rB   rC   r   s     r   rD   z:_TriggerProviderRegistry.AllEventLabels.<locals>.<genexpr>   s!     En$##AGG,ns   %()r;   	itertoolschainfrom_iterable)r   
all_eventss   ` r   AllEventLabelsz'_TriggerProviderRegistry.AllEventLabels   s&    EdnnEJ??((44r   c                 ^    t        fd| j                  |      j                  D              S )Nc              3   B   K   | ]  }|j                   k(  s|  y wr
   rA   )rB   rO   r)   s     r   rD   z1_TriggerProviderRegistry.Event.<locals>.<genexpr>   s     O:qagg>N:rI   )rJ   rL   r'   )r   r(   r)   s     `r   Eventz_TriggerProviderRegistry.Event   s#    ODMM(3::OPPr   c                 ~    | j                   D ]#  }|| j                  |j                        v s!|c S  | j                  S r
   )r;   rP   r&   r=   )r   event_labelrC   s      r   ProviderForEventz)_TriggerProviderRegistry.ProviderForEvent   s:    ^^	))!''2	2  &&&r   N)r   r   r   r-   r   rF   rL   rP   rW   rZ   r]   r   r   r   r9   r9      s*    H-D=5Q'r   r9   )r-   
__future__r   r   r   rS   enumr<   objectr   uniqueEnumr   r$   r0   r   r   r   r    r!   r"   
_PROVIDERSr9   TRIGGER_PROVIDER_REGISTRYr   r   r   <module>re      s   < &  '  , 'v ' A		 A Af F6 F0 6	HA	
	 99;K;KLB   8):J:JK79I9IJ6	8H8H	
 &J%% J%% J%% I%%	
* #F'' F'' F'' E''	
* )J22	
 &5y7H7H	
 @!! @!!		
kb
J'v '@ 5Z@ r   