
                         *   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	d
dZ ej                  ej                  j                   ej                  j"                        ej$                   G d dej&                                      Zy)z$Command to publish on message buses.    )absolute_import)division)unicode_literals)message_buses)base)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                   *    e Zd ZdZeZed        Zd Zy)Publishz#Publish to an Eventarc message bus.c                 ^    t        j                  |dd       t        j                  |       y )NzMessage bus to publish to.T)required)r   AddMessageBusResourceArgAddMessageBusPublishingArgs)clsparsers     -lib/surface/eventarc/message_buses/publish.pyArgszPublish.Args/   s(    	"",t 
%%f-    c           
         t        j                         }|j                  j                  j	                         }t        j                  dj                  |j                               |j                  ||j                  |j                  |j                  |j                  |j                  |j                  |j                          t
        j"                  j%                  d      S )zRun the Publish command.zPublishing to message bus: {}zEvent published successfully)r   MessageBusClientV1CONCEPTSmessage_busParser	   debugformatmessageBusesIdr   json_messageavro_messageevent_id
event_typeevent_source
event_dataevent_attributesoutPrint)selfargsclientmessage_bus_refs       r   RunzPublish.Run6   s     --/Fmm//557OII'../M/MN NN	 77==788r   N)	__name__
__module____qualname____doc___DETAILED_HELPdetailed_helpclassmethodr   r,    r   r   r   r   (   s#     , -. .9r   r   N)r0   
__future__r   r   r   googlecloudsdk.api_lib.eventarcr   googlecloudsdk.callioper   #googlecloudsdk.command_lib.eventarcr   googlecloudsdk.corer	   r1   ReleaseTracksReleaseTrackBETAGADefaultUniverseOnlyCommandr   r4   r   r   <module>r@      s    + &  ' 9 ( 5 # # D%%**D,=,=,@,@A!9dll !9  B!9r   