
                            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  \R(                  " \R*                  R,                  5      \R.                   " S	 S
\R0                  5      5       5       r\R(                  " \R*                  R4                  5       " S S\5      5       r\R(                  " \R*                  R8                  5       " S S\5      5       rSSSS.\l        g)zHCommand to add a dynamic network interface to a Compute Engine instance.    )base_classes)utils)poller)waiter)base)flags)scopec                   :    \ rS rSrSrSrSrSr\S 5       r	S r
Srg)Add     Add a Dynamic Network Interface to a Compute Engine instance.

*{command}* adds a Dynamic Network Interface to a Compute Engine instance.
For example:

  $ {command} instance-name --parent-nic-name=nic1 --vlan=2
  --network=network-1 --subnetwork=subnetwork-1
Fc                    [         R                  R                  U5        [        R                  " U5        [        R
                  " U5        [        R                  " U5        [        R                  " U5        [        R                  " USS9  [        R                  " U5        [        R                  " USS9  [        R                  " U5        [        R                  " U5        [        R                  " U5        [        R                  " U5        [        R                  " U5        [        R                   " U5        [        R"                  " U5        [        R$                  " U5        U R&                  (       a,  [        R(                  " U5        [        R*                  " U5        U R,                  (       a  [        R.                  " U5        U R0                  (       a  [        R2                  " U5        g g )NT)add_network_interface)instances_flagsINSTANCE_ARGAddArgumentnetwork_interfaces_flagsAddParentNicNameArg
AddVlanArgAddNetworkArgAddSubnetworkArgAddPrivateNetworkIpArgAddNetworkAttachmentArgAddAliasesArgAddStackTypeArgAddNetworkTierArgAddIpv6NetworkTierArgAddAddressArgsAddExternalIpv6AddressArgAddExternalIpv6PrefixLengthArgAddInternalIpv6AddressArgAddInternalIpv6PrefixLengthArgenable_ipv6_assignmentAddIpv6AddressArgAddIpv6PrefixLengthArgsupport_service_class_idAddServiceClassIdArgsupport_igmp_queryAddIgmpQueryArg)clsparsers     7lib/surface/compute/instances/network_interfaces/add.pyArgsAdd.Args,   sI     ,,V4008''/**62--f533d 44V<**6N,,V4..v6226:++F366v>;;FC66v>;;FC
!!00855f=
##33F;
..v6     c           
      p   [         R                  " U R                  5       5      nUR                  nUR                  nUR
                  nUR                  n[        R                  R                  UUR                  [        R                  " UR                  5      S9n[        R                  " UU40 S[        USS 5      _S[        USS 5      _SUR                  _SUR                   _S["        R$                  R&                  _S[        USS 5      _S	[        US	S 5      _S
[        US
S 5      _S[        USS 5      _S[        USS 5      _S[        USS 5      _S[        USS 5      _S[        USS 5      _S[        USS 5      _S[        USS 5      _S[        USS 5      _S[        USS 5      _S[        USS 5      _S[        USS 5      _S[        USS 5      _S[        USS 5      _S[        USS 5      _S[        USS 5      _6nUR)                  UR                  UR*                  UR                   US9n	UR,                  R/                  U	5      n
UR                  R1                  U
R2                  SS9n[4        R6                  " UR,                  5      n[8        R:                  " UUSUR=                  5        S35      $ ) N)scope_listernetworksubnet
subnetworkprojectlocationr	   network_attachmentparent_nic_namevlanprivate_network_ipalias_ip_ranges_stringaliases
stack_typenetwork_tieripv6_network_tieraddress
no_addressexternal_ipv6_addressexternal_ipv6_prefix_lengthinternal_ipv6_addressinternal_ipv6_prefix_lengthipv6_addressipv6_prefix_length
igmp_queryservice_class_id)r5   instancezonenetworkInterfacezcompute.zoneOperations)
collectionz'Adding network interface for instance [])r   ComputeApiHolderReleaseTrackclientapitools_clientmessages	resourcesr   r   ResolveAsResourcer   GetDefaultScopeListerinstances_utilsCreateNetworkInterfaceMessagegetattrr5   rK   compute_scopes	ScopeEnumZONE*ComputeInstancesAddNetworkInterfaceRequestrJ   	instancesAddNetworkInterfaceParseselfLinkr   Pollerr   WaitForName)selfargsholdercompute_client
api_clientrS   rT   instance_refnetwork_interfacerequest	operationoperation_refoperation_pollers                r,   RunAdd.RunJ   s   **4+<+<+>?F]]N//J&&H  I"//AA00? B L (EE i. t\40	
 $$ "" &&++ #4)=tD  &7> T64( #4)=tD  'tY= 4t4 T>48 "$(;TB  i.!" 4t4#$ &d,CTJ%& %,/%
', &d,CTJ-. %,/%
/4 T>4856 #4)=tD78 4t49: !'94@;@ AA$$&&*	 B G $$88AI$$**'? + M }}Z%9%9:>>
1,2C2C2E1FaH r/    N)__name__
__module____qualname____firstlineno____doc__r#   r(   r&   classmethodr-   rp   __static_attributes__rr   r/   r,   r   r      s2     !"7 7:>r/   r   c                   $    \ rS rSrSrSrSrSrSrg)AddBeta   r   Frr   N	rs   rt   ru   rv   rw   r#   r(   r&   ry   rr   r/   r,   r{   r{      s     !"r/   r{   c                   $    \ rS rSrSrSrSrSrSrg)AddAlpha   r   Trr   Nr}   rr   r/   r,   r   r      s      !r/   r   z=Add a Dynamic Network Interface to a Compute Engine instance.zJ*{command}* adds a Dynamic Network Interface to a Compute Engine instance.z      To add a Dynamic Network Interface to a Compute Engine instance, run:
        $ {command} instance-name --parent-nic-name=nic1 --vlan=2
        --network=network-1 --subnetwork=subnetwork-1
    )briefDESCRIPTIONEXAMPLESN)rw   googlecloudsdk.api_lib.computer   (googlecloudsdk.api_lib.compute.instancesr   rW   )googlecloudsdk.api_lib.compute.operationsr   googlecloudsdk.api_lib.utilr   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer   r	   rZ   ,googlecloudsdk.command_lib.compute.instancesr   ?googlecloudsdk.command_lib.compute.instances.network_interfacesr   ReleaseTracksrP   GAUniverseCompatibleUpdateCommandr   BETAr{   ALPHAr   detailed_helprr   r/   r,   <module>r      s    O 7 M < . ( 4 F Q m D%%(()j$

 j  *jZ D%%**+#c # ,# D%%++,"w " -"  M	 r/   