
                         6   S r SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJ	r
  SSKJr  SS	KJr  S
SS.r\R                   " \R"                  R$                  \R"                  R&                  5      \R(                   " S S\R*                  5      5       5       rg)z$Command to publish on message buses.    )absolute_import)division)unicode_literals)message_buses)base)
exceptions)flags)logz{description}a<           To publish an event to the message bus `my-message-bus` with event id `1234`, event type `event-provider.event.v1.eventType`, event source `//event-provider/event/source`, event data `{ "key": "value" }` and  event attributes of `attribute1=value`, run:

          $ {command} my-message-bus --location=us-central1 --event-id=1234 --event-type=event-provider.event.v1.eventType --event-source="//event-provider/event/source" --event-data='{"key": "value"}' --event-attributes=attribute1=value

        To publish an event to the message bus `my-message-bus` with a json message, run:

          $ {command} my-message-bus --location=us-central1 --json-message='{"id": 1234, "type": "event-provider.event.v1.eventType", "source": "//event-provider/event/source", "specversion": "1.0", "data": {"key": "value"}}'
        )DESCRIPTIONEXAMPLESc                   2    \ rS rSrSr\r\S 5       rS r	Sr
g)Publish)   z#Publish to an Eventarc message bus.c                 0    [         R                  " U5        g )N)r	   AddMessageBusPublishingArgs)clsparsers     -lib/surface/eventarc/message_buses/publish.pyArgsPublish.Args0   s    	%%f-    c                    [         R                  " 5       nUR                  R                  R	                  5       n[
        R                  " SR                  UR                  5      5        UR                  R                  R	                  5       nU(       a1  UR                  UR                  :w  a  [        R                  " SS5      eUR                  UUR                  UR                  UR                   UR"                  UR$                  UR&                  UR(                  U5	        [
        R*                  R-                  S5      $ )zRun the Publish command.zPublishing to message bus: {}z--destination-enrollmentzDDestination Enrollment and Message Bus must be in the same location.zEvent published successfully)r   MessageBusClientV1CONCEPTSmessage_busParser
   debugformatmessageBusesIddestination_enrollmentlocationsIdcalliope_exceptionsInvalidArgumentExceptionr   json_messageavro_messageevent_id
event_typeevent_source
event_dataevent_attributesoutPrint)selfargsclientmessage_bus_refdestination_enrollment_refs        r   RunPublish.Run4   s     --/Fmm//557OII'../M/MN "&!E!E!K!K!M"&22&&'  88
$  NN"
 77==788r    N)__name__
__module____qualname____firstlineno____doc___DETAILED_HELPdetailed_helpclassmethodr   r2   __static_attributes__r4   r   r   r   r   )   s#     , -. ."9r   r   N)r9   
__future__r   r   r   googlecloudsdk.api_lib.eventarcr   googlecloudsdk.callioper   r   r"   #googlecloudsdk.command_lib.eventarcr	   googlecloudsdk.corer
   r:   ReleaseTracksReleaseTrackBETAGADefaultUniverseOnlyCommandr   r4   r   r   <module>rI      s    + &  ' 9 ( E 5 # # D%%**D,=,=,@,@A+9dll +9  B+9r   