
    "                         S 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SSSSSSSSSSSSSSSSSSSSSSSSSSS.S	 jrg)
z1Convenience functions for dealing with instances.    N)alias_ip_range_utils)	constants)utils)scope)flags)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_namevlan
igmp_queryenable_vpc_scoped_dnsservice_class_idc                6
   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"(       a  U"U%l        U
b2   [$        R&                  " [(        R*                  " U
5      5        U
U%l        Ub   U$R                  R5                  U5      U%l        Ub  UU%l        U(       a  [:        R<                  " U$S	U5      U%l        Ub   U$R                  RA                  U5      U%l!        US
:H  n(U((       d  U(       d  Uc  U$RE                  [        RF                  U$RD                  RH                  RJ                  S9n)Ub   U$RD                  RM                  U5      U)l'        [0        RP                  " 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$RE                  [        R\                  U$RD                  RH                  R^                  S9n+U+/U%l0        Ub   U$RD                  RM                  U5      W+l'        Ub  UW+l,        U(       aH   [$        R&                  " [(        R*                  " U5      5        UW+l1        U(       a  UU+l2        OSU+l2        Ubw   S[(        R*                  " U5      ;   a+  [$        Rf                  " [(        R*                  " U5      5        O*[$        R&                  " [(        R*                  " U5      5        UU%l4        Ub  UU%l5        Ub  UU%l6        Ub  UU%l7        U b   U$R                  Rq                  U 5      U%l9        U%$ ! [.         a.    [0        R2                  " X
W#5      R                  5       U%l         GN-f = f! [.         a/    [0        R2                  " U UW#5      R                  5       W+l1         GNFf = f! [.         a.    [0        R2                  " U UW#5      R                  5       U%l4         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`   ):compute_scopes	ScopeEnumZONEr   ZoneNameToRegionNamesplitREGIONmessagesNetworkInterfaceParseSelfLink
subnetworknetworkr   DEFAULT_NETWORKnetworkAttachmentenableVpcScopedDnsserviceClassId	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parentNicNamer    IgmpQueryValueValuesEnum	igmpQuery),	resourcescompute_clientr:   subnetr'   locationr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r(   r5   network_interface
subnet_refnetwork_refno_access_configaccess_configaddress_resourceipv6_access_configs,                                               5lib/googlecloudsdk/api_lib/compute/instances/utils.pyCreateNetworkInterfaceMessagerq      s
   P n&&+++''s(;B(?@F((///F$$(//1 ("f5 ! J
 $.#6#6#8 //w
 & " K !, 4 4 6 ~,4//!!7#% " K
 !, 4 4 6#*<'+@('7$#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   1Q) %1R$ 0A6S  )4R! R!$5SS 5TT)__doc__r?   googlecloudsdk.api_lib.computer   r   r   "googlecloudsdk.command_lib.computer   r/   ,googlecloudsdk.command_lib.compute.instancesr   rE   rA   rq        rp   <module>rx      s~    8  ? 4 0 F Q 
  $ $	Icrw   