
    @                        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
 jr\
R                   \
R"                  " \
R$                  R&                  5       " S S\
R(                  5      5       5       r\
R                   \
R"                  " \
R$                  R,                  \
R$                  R.                  5       " S S\5      5       5       rg)z#Command for updating interconnects.    )absolute_import)division)unicode_literals)base_classes)client)base)flags)labels_utilc                 L   [         R                  " 5       U l        U R                  R                  USS9  UR	                  SSS9  [         R
                  " U5        [         R                  " U5        [         R                  " U5        U(       a  [        R                  " U5        gg)z%Shared arguments for update commands.update)operation_typez--descriptionz6An optional, textual description for the interconnect.)helpN)
r	   InterconnectArgumentINTERCONNECT_ARGAddArgumentadd_argumentAddAdminEnabledForUpdateAddNocContactEmailAddRequestedLinkCountForUpdater
   AddUpdateLabelsFlags)clsparsersupport_labelss      +lib/surface/compute/interconnects/update.py_ArgsCommonr      s    335#""6("CC  E   (6"&&v.$$V,     c                   B    \ rS rSrSrSr\S 5       rS rS	S jr	S r
Srg)
Update,   Update a Compute Engine interconnect.

*{command}* is used to update interconnects. An interconnect represents a
single specific connection between Google and the customer.
Nc                     [        X5        g Nr   r   r   s     r   ArgsUpdate.Args6   s
    r   c                     g)Nzcompute.interconnects )selfs    r   
CollectionUpdate.Collection:   s    "r   c                    [         R                  " U R                  5       5      nU R                  R	                  XR
                  5      n[        R                  " XCR                  S9nS nS nU(       a  [        R                  R                  U5      nUR                  5       (       aq  UR                  5       n	UR                  UR                  R                  R                  R                  U	R                   5      R#                  5       nUb  U	R$                  nUR'                  UR(                  S UR*                  S UR,                  UR.                  S UUS9	$ )N)compute_client)	descriptioninterconnect_typerequested_link_count	link_typeadmin_enablednoc_contact_emaillocationlabelslabel_fingerprint)r   ComputeApiHolderReleaseTrackr   ResolveAsResource	resourcesr   Interconnectr
   DiffFromUpdateArgsMayHaveUpdatesDescribeApplymessagesLabelsValuer5   	GetOrNonelabelFingerprintPatchr.   r0   r2   r3   )
r)   argsr   holderrefinterconnectr5   r6   labels_diffold_interconnects
             r   _DoRunUpdate._DoRun=   s(   **4+<+<+>?F



1
1$8H8H
IC&&s==ILF$$33D9k		#	#	%	%'002""MM""//;;##%%.Y[ 	 .??
$$!66((00+  
 
r   c                 &    U R                  U5        g r"   rL   r)   rF   s     r   Run
Update.RunZ   s    KKr   r(   F)__name__
__module____qualname____firstlineno____doc__r   classmethodr%   r*   rL   rQ   __static_attributes__r(   r   r   r   r   ,   s0    
  #:r   r   c                   .    \ rS rSrSr\S 5       rS rSrg)UpdateLabels^   r    c                     [        XSS9  g NT)r   r#   r$   s     r   r%   UpdateLabels.Argsg   s    D1r   c                 $    U R                  USS9  g r_   rO   rP   s     r   rQ   UpdateLabels.Runk   s    KKTK*r   r(   N)	rT   rU   rV   rW   rX   rY   r%   rQ   rZ   r(   r   r   r\   r\   ^   s      2 2+r   r\   NrS   )rX   
__future__r   r   r   googlecloudsdk.api_lib.computer   ,googlecloudsdk.api_lib.compute.interconnectsr   googlecloudsdk.callioper   0googlecloudsdk.command_lib.compute.interconnectsr	   $googlecloudsdk.command_lib.util.argsr
   r   UniverseCompatibleReleaseTracksr8   GAUpdateCommandr   ALPHABETAr\   r(   r   r   <module>ro      s    * '  ' 7 ? ( B <- D%%(()-T - * -` D%%++T->->-C-CD+6 + E +r   