
    ^                     Z    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\5      r	g	)
zPacket mirroring.    )absolute_import)division)unicode_literals)
exceptions)logc                       \ rS rSrSrSS jr\S 5       r\S 5       rS r	   SS jr
S	 r    SS
 jrS rSS jrS rSS jrSrg)PacketMirroring   z#Abstracts PacketMirroring resource.Nc                 (    Xl         X l        X0l        g N)ref_compute_client	_registry)selfr   compute_clientregistrys       Blib/googlecloudsdk/command_lib/compute/packet_mirrorings/client.py__init__PacketMirroring.__init__   s    H)N    c                 .    U R                   R                  $ r   )r   apitools_clientr   s    r   _clientPacketMirroring._client!   s    ///r   c                 .    U R                   R                  $ r   )r   messagesr   s    r   	_messagesPacketMirroring._messages%   s    (((r   c                     U R                   R                  SU R                  R                  U R                  R
                  U R                  R                  US94$ )NInsert)projectregionpacketMirroring)r   packetMirroringsr   $ComputePacketMirroringsInsertRequestr   r"   r#   r   packet_mirrorings     r   _MakeCreateRequestTuple'PacketMirroring._MakeCreateRequestTuple)   sN    LL))8NN??((xx 0 @ 23 3r   c                    U R                  U5      /nU(       a  U$ U(       d  U R                  R                  U5      $ / nU R                  R                  XE5      S   nU(       a  [        R
                  " U5      eU R                  R                  UR                  SU R                  R                  U R                  R                  S.SS9n[        R                  " USR                  U R                  R                  5       5      SSS	9  U$ )
z.Sends requests to create the packet mirroring.r   compute.regionOperationsr"   r#   v1
collectionparamsapi_versionpacket mirroring [{0}]T[Run the [gcloud compute operations describe] command to check the status of this operation.kindis_asyncdetails)r)   r   MakeRequestsAsyncRequestsr   
MultiErrorr   Parsenamer   r"   r#   r   CreatedResourceformatName)r   r(   only_generate_requestr7   requestserrors_to_collectresultoperation_refs           r   CreatePacketMirroring.Create0   s    
 ,,-=>?Ho!!..x88!!//LQOF!!"344NN((-xx''hhoo
  ) M %,,TXX]]_=1	2 Mr   c           	          U R                   R                  SU R                  R                  U R                  R
                  U R                  R                  U R                  R                  5       US94$ )NPatch)r"   r#   r$   packetMirroringResource)r   r%   r   #ComputePacketMirroringsPatchRequestr   r"   r#   r@   r'   s     r   _MakeUpdateRequestTuple'PacketMirroring._MakeUpdateRequestTupleS   sZ    LL))7NN>>((xx $(8	 ? :; ;r   c                    U R                  U5      /nU(       a  U$ / nU R                  R                  U=(       d    / 5         U(       d$  U R                  R	                  U5      sSSS5        $ U R                  R                  UU5      S   nSSS5        U(       a  [        R                  " U5      eU R                  R                  WR                  SU R                  R                  U R                  R                  S.SS9n[        R                  " USR!                  U R                  R#                  5       5      SS	S
9  U$ ! , (       d  f       N= f)z.Sends requests to update the packet mirroring.Nr   r,   r-   r.   r/   r3   Tr4   r5   )rL   r   IncludeFieldsr   r9   BatchRequestsr   r;   r   r<   r=   r   r"   r#   r   UpdatedResourcer?   r@   )	r   r(   rA   r7   cleared_fieldsrB   rC   rD   rE   s	            r   UpdatePacketMirroring.Update[   s'    ,,-=>?Ho		#	#N$8b	9##00: 
:	9 ##11(2CEEFHf 
: !!"344NN((-xx''hhoo
  ) M %,,TXX]]_=1	2 M/ 
:	9s   "E.E
Ec                     U R                   R                  SU R                  R                  U R                  R
                  U R                  R                  U R                  R                  5       S94$ )NDeleter#   r"   r$   )r   r%   r   $ComputePacketMirroringsDeleteRequestr   r#   r"   r@   r   s    r   MakeDeleteRequestTuple&PacketMirroring.MakeDeleteRequestTuple   sX    LL))8NN??xx(( $ @ 12 2r   c                 l    U R                  5       /nU(       d  U R                  R                  U5      $ U$ r   )rY   r   r9   r   rA   rB   s      r   rV   PacketMirroring.Delete   s2    ++-.H !!..x88Or   c                     U R                   R                  SU R                  R                  U R                  R
                  U R                  R                  U R                  R                  5       S94$ )NGetrW   )r   r%   r   !ComputePacketMirroringsGetRequestr   r#   r"   r@   r   s    r   _MakeDescribeRequestTuple)PacketMirroring._MakeDescribeRequestTuple   sW    LL))5NN<<xx(( $ = 12 2r   c                 l    U R                  5       /nU(       d  U R                  R                  U5      $ U$ r   )ra   r   r9   r\   s      r   DescribePacketMirroring.Describe   s2    ..01H !!..x88Or   )r   r   r   )NN)NFF)NFFN)F)__name__
__module____qualname____firstlineno____doc__r   propertyr   r   r)   rF   rL   rS   rY   rV   ra   rd   __static_attributes__ r   r   r	   r	      su    +
 0 0 ) )3 ##(!F; ##( 	$L22r   r	   N)
rj   
__future__r   r   r   googlecloudsdk.corer   r   objectr	   rm   r   r   <module>rq      s'     &  ' * #@f @r   