
    O                     n   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	lmZ d
ddZe
j                    e
j"                  e
j$                  j&                  e
j$                  j(                  e
j$                  j*                         G d de
j,                                      Zee_        y)zECommand for removing member interconnects from an interconnect group.    )absolute_import)division)unicode_literals)base_classes)client)base)flags)
propertiesz        *{command}* is used to remove member interconnects from an interconnect
        group.

        For an example, refer to the *EXAMPLES* section below.
        z        To remove interconnects interconnect1 and interconnect2 from
        interconnect group example-interconnect-group, run:

          $ {command} example-interconnect-group
          --interconnects=interconnect1,interconnect2
        )DESCRIPTIONEXAMPLESc                   0    e Zd ZdZdZed        Zd Zd Zy)RemoveMemberszRemove member interconnects from a Compute Engine interconnect group.

  *{command}* removes member interconnects from a Compute Engine interconnect
  group.
  Nc                     t        j                  d      | _        | j                  j                  |d       t        j                  |       y )NF)pluralupdate)operation_type)r	   InterconnectGroupArgumentINTERCONNECT_GROUP_ARGAddArgumentGetMemberInterconnects)clsparsers     :lib/surface/compute/interconnects/groups/remove_members.pyArgszRemoveMembers.Args:   s<    !&!@!@!NC**6(*K	  (    c                      y)Nzcompute.interconnectGroups )selfs    r   
CollectionzRemoveMembers.Collection@   s    'r   c                 P   t        j                  | j                               }| j                  j	                  ||j
                        }t        j                  j                  j                  j                         }t        j                  |||j                  |j
                        }t               }|j                         j                  }|t        d |j                   D              }|t        |j                        z  }|j#                  t%        t'        |            d      S )N)compute_client	resourcesc              3   4   K   | ]  }|j                     y w)N)key).0propertys     r   	<genexpr>z$RemoveMembers.Run.<locals>.<genexpr>Q   s      Oh ,,Os   interconnects)r(   update_mask)r   ComputeApiHolderReleaseTrackr   ResolveAsResourcer"   r
   VALUEScoreproject	GetOrFailr   InterconnectGroupsetDescriber(   additionalPropertiesPatchsortedlist)r   argsholderrefr/   interconnect_groupr(    interconnect_group_interconnectss           r   RunzRemoveMembers.RunC   s   **4+<+<+>?F

%
%
7
7f>N>N
OC$$,,668G11WV]]f>N>N EM##%33 % (3 :OO m S++,,M##T-01# $  r   )	__name__
__module____qualname____doc__r   classmethodr   r   r=   r   r   r   r   r   -   s+    
  ) )
(r   r   N)rA   
__future__r   r   r   googlecloudsdk.api_lib.computer   3googlecloudsdk.api_lib.compute.interconnects.groupsr   googlecloudsdk.callioper   7googlecloudsdk.command_lib.compute.interconnects.groupsr	   googlecloudsdk.corer
   DETAILED_HELPUniverseCompatibleReleaseTracksr+   ALPHABETAGAUpdateCommandr   detailed_helpr   r   r   <module>rQ      s     L &  ' 7 F ( I *" T..33T5F5F5I5I)D&& ) )X , r   