
                            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KJr  SS
KJr  SS
KJr  \R0                  " \R2                  R4                  5      \R6                   " S S\R8                  5      5       5       r\R0                  " \R2                  R<                  5       " S S\5      5       r\R0                  " \R2                  R@                  5       " S S\5      5       r!SSSS.\l"        g)zHCommand to add a dynamic network interface to a Compute Engine instance.    )absolute_import)division)unicode_literals)base_classes)utils)poller)waiter)base)flags)scopec                   6    \ 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        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_igmp_queryAddIgmpQueryArg)clsparsers     7lib/surface/compute/instances/network_interfaces/add.pyArgsAdd.Args.   s2     ,,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=
..v6     c           
      T   [         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      _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)r6   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getattrr6   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> AA$$&&*	 B G $$88AI$$**'? + M }}Z%9%9:>>
1,2C2C2E1FaH r0    N)__name__
__module____qualname____firstlineno____doc__r&   r)   classmethodr.   rp   __static_attributes__rr   r0   r-   r   r      s,     !7 76=r0   r   c                        \ 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)   ry   rr   r0   r-   r{   r{      s     !r0   r{   c                        \ rS rSrSrSrSrSrg)AddAlpha   r   Trr   Nr}   rr   r0   r-   r   r      s      r0   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   
__future__r   r   r   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   r0   r-   <module>r      s    O &  ' 7 M < . ( 4 F Q m D%%(()f$

 f  *fR D%%**+c  , D%%++,w  - M	 r0   