
    7                     V   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	S
.r\R                  \R                  " \R                  R                   \R                  R"                  \R                  R$                  5       " S S\R&                  5      5       5       r\\l        g)z)Command for updating interconnect groups.    )base_classes)client)base)
exceptions)flags)
propertiesz        *{command}* is used to update interconnect groups.

        For an example, refer to the *EXAMPLES* section below.
        a          To update an interconnect group example-interconnect-group's intended
        topology capability to PRODUCTION_CRITICAL, run:

          $ {command} example-interconnect-group
          --intended-topology-capability=PRODUCTION_CRITICAL

        To update an interconnect group example-interconnect-group's description
        to "example interconnect group description", run:

          $ {command} example-interconnect-group
          --description="example interconnect group description"

        To update an interconnect group example-interconnect-group's member
        interconnects to interconnect-1 and interconnect-2, run:

          $ {command} example-interconnect-group
          --interconnects=interconnect-1,interconnect-2
          --update-mask=interconnects

        Although you can add or remove member interconnects using this command,
        it is recommended to add or remove member interconnects using the
        *add-members* and *remove-members* commands.
        )DESCRIPTIONEXAMPLESc                   8    \ rS rSrSrSr\S 5       rS rS r	Sr
g)Update:   zUpdate a Compute Engine interconnect group.

*{command}* is used to update interconnect groups. An interconnect group
represents a set of redundant interconnects between Google and the customer.
Nc                    [         R                  " SS9U l        U R                  R                  USS9  [         R                  " U5        [         R
                  " U5        [         R                  " U5        [         R                  " U5        g )NF)pluralupdate)operation_type)r   InterconnectGroupArgumentINTERCONNECT_GROUP_ARGAddArgumentAddDescription&AddIntendedTopologyCapabilityForUpdateGetMemberInterconnectsForUpdateAddUpdateMask)clsparsers     2lib/surface/compute/interconnects/groups/update.pyArgsUpdate.ArgsG   sf    !&!@!@!NC**6(*K	 	008	))&1	    c                     g)Nzcompute.interconnectGroups )selfs    r   
CollectionUpdate.CollectionP   s    'r   c                    UR                   c6  UR                  c)  UR                  (       d  [        R                  " / SQ5      e[
        R                  " U R                  5       5      nU R                  R                  XR                  5      n[        R                  R                  R                  R                  5       n[         R"                  " X4UR                   UR                  S9nS nUR                  b5  [$        R&                  " UR                   R(                  UR                  5      nUR+                  UR                   UUR                  UR,                  S9$ )N)z--descriptionz--intended-topology-capabilityz--interconnects)compute_client	resources)descriptiontopology_capabilityinterconnectsupdate_mask)r'   intended_topology_capabilityr)   r   MinimumArgumentExceptionr   ComputeApiHolderReleaseTrackr   ResolveAsResourcer&   r   VALUEScoreproject	GetOrFailr   InterconnectGroupr   GetTopologyCapabilitymessagesPatchr*   )r!   argsholderrefr2   interconnect_groupr(   s          r   Run
Update.RunS   s$    --5""//
P  **4+<+<+>?F

%
%
7
7>N>N
OC$$,,668G11V]]f>N>N ((4!77
--
 
 $"C"C ##$$/(($$	 $  r   r    )__name__
__module____qualname____firstlineno____doc__r   classmethodr   r"   r<   __static_attributes__r    r   r   r   r   :   s+    
     (r   r   N)rB   googlecloudsdk.api_lib.computer   3googlecloudsdk.api_lib.compute.interconnects.groupsr   googlecloudsdk.callioper   r   7googlecloudsdk.command_lib.compute.interconnects.groupsr   googlecloudsdk.corer   DETAILED_HELPUniverseCompatibleReleaseTracksr.   ALPHABETAGAUpdateCommandr   detailed_helpr    r   r   <module>rR      s    0 8 F ( . I *
B T..33T5F5F5I5I/T / /b % r   