
                            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  \R                  \R                  " \R                   R"                  5       " S S\R$                  5      5       5       r\R                  \R                  " \R                   R(                  5       " S	 S
\5      5       5       r\R                  \R                  " \R                   R,                  5       " S S\5      5       5       rg)z#Command for updating interconnects.    )base_classes)client)base)flags)labels_utilc                   2    \ rS rSrSrSr\S 5       rS rSr	g)Update     Update a Compute Engine partner interconnect attachment.

*{command}* is used to update partner interconnect attachments. A partner
interconnect attachment binds the underlying connectivity of a provider's
Interconnect to a path into and out of the customer's cloud network.
Fc                    [         R                  " 5       U l        U R                  R                  USS9  [         R                  " U5        [         R
                  " USS9  [         R                  " U5        [         R                  " U5        g )Npatch)operation_typeT)update)attachment_flagsInterconnectAttachmentArgumentINTERCONNECT_ATTACHMENT_ARGAddArgumentAddDescriptionAddAdminEnabledAddMtuAddStackType)clsparsers     ?lib/surface/compute/interconnects/attachments/partner/update.pyArgsUpdate.Args$   sk     	779 ###//w/O##F+$$VD9F#!!&)    c                 B   [         R                  " U R                  5       5      nU R                  R	                  UUR
                  [        R                  " UR                  5      S9n[        R                  " X2R                  S9n[        R                  " U5      nS nS nU R                  (       a  [        R                  R                  U5      nUR!                  5       (       ap  UR#                  5       n	UR                  R$                  R                  R&                  n
UR)                  XR*                  S9R-                  5       nUb  U	R.                  nUR1                  UR2                  UUU[5        USS 5      [5        USS 5      [5        USS 5      [5        USS 5      S9$ )	N)scope_lister)compute_client)labelsmtu
stack_type#candidate_cloud_router_ipv6_address&candidate_customer_router_ipv6_address)descriptionadmin_enabledr!   label_fingerprintr"   r#   r$   r%   )r   ComputeApiHolderReleaseTrackr   ResolveAsResource	resourcescompute_flagsGetDefaultScopeListerr   InterconnectAttachmentr   GetAdminEnabledFlag_support_labelr   DiffFromUpdateArgsMayHaveUpdatesDescribemessagesLabelsValueApplyr!   	GetOrNonelabelFingerprintPatchr&   getattr)selfargsholderattachment_refinterconnect_attachmentr'   r!   r(   labels_diffold_attachment
labels_clss              r   Run
Update.Run.   s   **4+<+<+>?F55GG"88G H IN
 %;;}}6$88>MF$$33D9k		#	#	%	%099;]]++BBNN
""44 # 

)+ 	 ,==
"(($$#+D%&4t4,37-
 07:D0
 )  r    N)
__name__
__module____qualname____firstlineno____doc__r1   classmethodr   rE   __static_attributes__rG   r   r   r	   r	      s%     .* *%r   r	   c                   :   ^  \ rS rSrSrSr\U 4S j5       rSrU =r	$ )
UpdateBetaV   r   Tc                    > [         TU ]  U5        [        R                  " U5        [        R
                  " U5        [        R                  " U5        g N)superr   r   AddUpdateLabelsFlagsr   "AddCandidateCloudRouterIpv6Address%AddCandidateCustomerRouterIpv6Addressr   r   	__class__s     r   r   UpdateBeta.Argsb   s9    	GL$$V,77?::6Br   rG   
rH   rI   rJ   rK   rL   r1   rM   r   rN   __classcell__rY   s   @r   rP   rP   V   s#     .C Cr   rP   c                   :   ^  \ rS rSrSrSr\U 4S j5       rSrU =r	$ )UpdateAlphaj   r   Tc                 $   > [         TU ]  U5        g rS   )rT   r   rX   s     r   r   UpdateAlpha.Argsv   s    	GLr   rG   r[   r]   s   @r   r_   r_   j   s!     . r   r_   N)rL   googlecloudsdk.api_lib.computer   8googlecloudsdk.api_lib.compute.interconnects.attachmentsr   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer   r-   <googlecloudsdk.command_lib.compute.interconnects.attachmentsr   $googlecloudsdk.command_lib.util.argsr   UniverseCompatibleReleaseTracksr*   GAUpdateCommandr	   BETArP   ALPHAr_   rG   r   r   <module>ro      s    * 7 K ( E b < D%%(()8T 8 * 8v D%%**+C C , C$ D%%++,*  - r   