
                            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	KJr  S
SS.rSrSrSrSrSrSrSrSrSrSrSrSr\
R<                  \
R>                  " \
R@                  RB                  \
R@                  RD                  \
R@                  RF                  5       " S S\
RH                  5      5       5       r%\\%l&        g)zGCommand for creating new member interconnects in an interconnect group.    )absolute_import)division)unicode_literals)base_classes)client)base)flags)
propertiesz        *{command}* is used to create new member interconnects in an
        interconnect group.

        For an example, refer to the *EXAMPLES* section below.
        a          To create interconnects interconnect1 and interconnect2 in interconnect
        group example-interconnect-group, run:

          $ {command} example-interconnect-group --interconnect-type=DEDICATED
          --link-type=LINK_TYPE_ETHERNET_10G_LR --requested-link-count=1
          --facility=iad-1 --interconnect="name=interconnect1"
          --interconnect="name=interconnect2"
        )DESCRIPTIONEXAMPLESfacilitydescriptionnamez	link-typezrequested-link-countzinterconnect-typezadmin-enabledzno-admin-enabledznoc-contact-emailzcustomer-namezremote-locationzrequested-featuresc                   <    \ rS rSrSrSrSr\S 5       rS r	S r
Srg)CreateMembers>   zCreate new member interconnects in a Compute Engine interconnect group.

*{command}* creates new member interconnects in a Compute Engine interconnect
group.
Nc                 D   [         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        [        R                  " USS9  g )NF)pluralzcreate members)operation_type)required)
r	   InterconnectGroupArgumentINTERCONNECT_GROUP_ARGAddArgument&AddMemberInterconnectsForCreateMembersAddFacilityAddRemoteLocationAddIntentMismatchBehaviorinterconnect_flags/AddCreateArgsForInterconnectGroupsCreateMembers)clsparsers     :lib/surface/compute/interconnects/groups/create_members.pyArgsCreateMembers.ArgsL   s    !&!@!@!NC**/ +  
008	f	F#	##F+FF    c                     g)Nzcompute.interconnectGroups )selfs    r"   
CollectionCreateMembers.CollectionZ   s    'r%   c                    [         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UR                  R                  nUR                  UR                  UR                   S ["        R$                  " XaR&                  5      UR(                  ["        R*                  " XaR,                  5      UR.                  UR0                  UR2                  UR4                  ["        R6                  " XaR8                  5      S9n/ nUR:                   GHB  n	[<        U	;   a  Sn
O[>        U	;   a  Sn
OS n
URA                  UR                  U	RC                  [D        5      U	RC                  [F        5      U	RC                  [H        5      ["        R$                  " XiRC                  [J        5      5      U	RC                  [L        5      ["        R*                  " XiRC                  [N        5      5      U
U	RC                  [P        5      U	RC                  [R        5      U	RC                  [T        5      ["        R6                  " XiRC                  [V        5      5      S95        GME     URY                  ["        RZ                  " XaR\                  5      UUS9$ )N)compute_client	resources)r   r   r   	link_typerequested_link_countinterconnect_typeadmin_enablednoc_contact_emailcustomer_nameremote_locationrequested_featuresTF)intent_mismatch_behaviortemplate_interconnectmember_interconnects)/r   ComputeApiHolderReleaseTrackr   ResolveAsResourcer-   r
   VALUEScoreproject	GetOrFailr   InterconnectGroupmessages4MakeInterconnectGroupsCreateMembersInterconnectInputr   r   r	   GetLinkTyper.   r/   GetInterconnectTyper0   r1   r2   r3   r4   GetRequestedFeaturesr5   interconnect_ADMIN_ENABLED_NO_ADMIN_ENABLEDappendget	_FACILITY_DESCRIPTION_NAME
_LINK_TYPE_REQUESTED_LINK_COUNT_INTERCONNECT_TYPE_NOC_CONTACT_EMAIL_CUSTOMER_NAME_REMOTE_LOCATION_REQUESTED_FEATURESr   GetIntentMismatchBehaviorr6   )r(   argsholderrefr>   interconnect_grouprA   r7   r8   ic_argsr1   s              r"   RunCreateMembers.Run]   s`   **4+<+<+>?F

%
%
7
7>N>N
OC$$,,668G11V]]f>N>N }}%%HOO]]((''..A!%!:!:#7700 ,,"44,, 00$9911  	P 	
 & $$	7	"'!!

Q
Q{{9-!++l3;;u%))(KK
4KL#*;;/D#E % 9 9KK(:;! * ',> ?#KK7%kk*:;!&!;!;KK(;<" R  %6 ++!&!@!@33"
 41 ,  r%   r'   )__name__
__module____qualname____firstlineno____doc__r   REMOTE_LOCATION_ARGclassmethodr#   r)   r[   __static_attributes__r'   r%   r"   r   r   >   s1    
   (?r%   r   N)'ra   
__future__r   r   r   googlecloudsdk.api_lib.computer   3googlecloudsdk.api_lib.compute.interconnects.groupsr   googlecloudsdk.callioper   0googlecloudsdk.command_lib.compute.interconnectsr	   r   7googlecloudsdk.command_lib.compute.interconnects.groupsgooglecloudsdk.corer
   DETAILED_HELPrK   rL   rM   rN   rO   rP   rG   rH   rQ   rR   rS   rT   UniverseCompatibleReleaseTracksr:   ALPHABETAGAUpdateCommandr   detailed_helpr'   r%   r"   <module>rt      s     N &  ' 7 F ( X I *& 	
. (  & (  $ *  T..33T5F5F5I5IZD&& Z Zz , r%   