
    "                         S r SSKJr  SSKJr  SSKJr  SSK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r                           SS jrg)z1Convenience functions for dealing with instances.    )absolute_import)division)unicode_literalsN)alias_ip_range_utils)	constants)utils)scope)flagsc"                 
   U[         R                  R                  :X  a)  [        R                  " UR                  S5      S   5      n"O U[         R                  R                  :X  a  Un"UR                  n#U#R                  5       n$Ub)  U R                  USUW"S.S9n%U%R                  5       U$l        Ub)  U R                  USU0SS9n&U&R                  5       U$l        O<Uc9  Uc6  U R                  [        R                  SU0SS9n&U&R                  5       U$l        Ub  UU$l        U!(       a  U!U$l        U
b2   ["        R$                  " [&        R(                  " U
5      5        U
U$l        Ub   U#R                  R3                  U5      U$l        Ub  UU$l        U(       a  [8        R:                  " U#S	U5      U$l        Ub   U#R                  R?                  U5      U$l         US
:H  n'U'(       d  U(       d  Uc  U#RC                  [        RD                  U#RB                  RF                  RH                  S9n(Ub   U#RB                  RK                  U5      U(l&        [.        RN                  " XU	W"5      n)U)(       a  U)U(l(        U(       a  SU(l)        OU(       a  S	U(l)        U(       a  SU(l*        OU(       a  S	U(l*        U(       d
  Ub  UU(l+        U(/U$l,        Uc  UnUc  UnUc
  Uc  U(       aD  U#RC                  [        RZ                  U#RB                  RF                  R\                  S9n*U*/U$l/        Ub   U#RB                  RK                  U5      W*l&        Ub  UW*l+        U(       aH   ["        R$                  " [&        R(                  " U5      5        UW*l0        U(       a  UU*l1        OSU*l1        Ubw   S[&        R(                  " U5      ;   a+  ["        Rd                  " [&        R(                  " U5      5        O*["        R$                  " [&        R(                  " U5      5        UU$l3        Ub  UU$l4        Ub  UU$l5        Ub  UU$l6        U b   U#R                  Ro                  U 5      U$l8        U$$ ! [,         a.    [.        R0                  " X
W"5      R                  5       U$l         GN-f = f! [,         a/    [.        R0                  " U UW"5      R                  5       W*l0         GNFf = f! [,         a.    [.        R0                  " U UW"5      R                  5       U$l3         Nf = f)z'Returns a new NetworkInterface message./zcompute.subnetworks)projectregion)
collectionparamsr   zcompute.networks)r   r   T	IPV6_ONLY)nametypeF`   )9compute_scopes	ScopeEnumZONEr   ZoneNameToRegionNamesplitREGIONmessagesNetworkInterfaceParseSelfLink
subnetworknetworkr   DEFAULT_NETWORKnetworkAttachmentenableVpcScopedDns	ipaddress
ip_addresssix	text_type	networkIP
ValueErrorinstances_flagsGetAddressRefNicTypeValueValuesEnumnicType
queueCountr   $CreateAliasIpRangeMessagesFromStringaliasIpRangesStackTypeValueValuesEnum	stackTypeAccessConfigDEFAULT_ACCESS_CONFIG_NAMETypeValueValuesEnumONE_TO_ONE_NATNetworkTierValueValuesEnumnetworkTierExpandAddressFlagnatIPsetPublicDnssetPublicPtrpublicPtrDomainNameaccessConfigsDEFAULT_IPV6_ACCESS_CONFIG_NAMEDIRECT_IPV6ipv6AccessConfigsexternalIpv6externalIpv6PrefixLength
ip_networkipv6AddressinternalIpv6PrefixLengthparentNicNamevlanIgmpQueryValueValuesEnum	igmpQuery)+	resourcescompute_clientr!   subnetr   locationr	   nic_type
no_addressaddressprivate_network_ipalias_ip_ranges_stringnetwork_tierno_public_dns
public_dnsno_public_ptr
public_ptrno_public_ptr_domainpublic_ptr_domain
stack_typeipv6_network_tieripv6_public_ptr_domainqueue_countipv6_addressipv6_prefix_lengthinternal_ipv6_addressinternal_ipv6_prefix_lengthnetwork_attachmentexternal_ipv6_addressexternal_ipv6_prefix_lengthparent_nic_namerI   
igmp_queryenable_vpc_scoped_dnsr   r   network_interface
subnet_refnetwork_refno_access_configaccess_configaddress_resourceipv6_access_configs+                                              5lib/googlecloudsdk/api_lib/compute/instances/utils.pyCreateNetworkInterfaceMessagerr      s   L n&&+++''s(;B(?@F((///F$$(//1 ("f5 ! J
 $.#6#6#8 //w
 & " K !, 4 4 6 ~,4//!!7#% " K
 !, 4 4 6#*<'+@(#3==);<=$6! !!88B  #. AAd2	
 # !!:::F   ;. 
*1C1K))11""66EE * M 



:
:<
H  '887F ,m#(m 	#'m #(m 	#'m $5$A*;m''4o# "( ("4 #		+	!..66""66BB /  ,>*>'"889JK " '-C*3==)>?@(=% #4O1461&	34	4S]]+@ABS]]+@AB&;# !,1L. &5#	!!!:::F  
S  $3$A$A
%
 !D  (7(E(E
*F)
 %&  &5&C&C
*F'
 #s7   41Q 1R "A6S 4RR5SS5T
	T
)NNNNNNNNNNNNNNNNNNNNNNNNNNN)__doc__
__future__r   r   r   r%   googlecloudsdk.api_lib.computer   r   r   "googlecloudsdk.command_lib.computer	   r   ,googlecloudsdk.command_lib.compute.instancesr
   r+   r'   rr        rq   <module>rz      s    8 &  '  ? 4 0 F Q 
  $ $	E^ry   