
                             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  \	R,                  r\	R0                  " 5       rS rS rS rg)z-Helpers for interacting with the Compute API.    )absolute_import)division)unicode_literals)base_classes)	constants)utils)base)flags)scope)scope_prompter)log)
propertiesc                     U =(       d    / n / nU  H,  nU[         ;   a  U[         U   -  nM  UR                  U5        M.     [        U5      $ )zAReplace known aliases in the list of scopes provided by the user.)SCOPE_ALIASESappendsorted)scopesexpanded_scopesr   s      6lib/googlecloudsdk/api_lib/dataproc/compute_helpers.pyExpandScopeAliasesr   $   sN    <R&/eu--o U#  
	      c           	         [         R                  " U 5      n[        R                  R                  R
                  n[        R                  R                  R                  nUR                  n[        R                  R                  R                  R                  5       nU(       d  US:X  a  [        R                  " SU/[        R                  R                  /S[        R                  " UR                   5      S9u  pU(       d2  [        R                  R                  R                  R#                  5       nU(       a  UR%                  US[        R                  R&                  R(                  R"                  0SS9n	U	R+                  5       n
UR-                  U
5        [.        R0                  " U
5      nUR-                  U5        U$ UR-                  S5        UR-                  U5        U$ )	z=Returns a resources object with resolved GCE zone and region.globalclusterN)resource_nameunderspecified_namesr   default_scopescope_listerprojectzcompute.zones)params
collection )compute_baseComputeApiHolderr   VALUEScomputeregionzone	resourcesGetr   PromptForScopecompute_scope	ScopeEnumZONEr
   GetDefaultScopeListerclient	GetOrFailParsecorer   NameSetcompute_utilsZoneNameToRegionName)release_trackcluster_namedataproc_regionholderregion_prop	zone_propr)   r(   _zone_ref	zone_nameregion_names               r   GetComputeResourcesrB   1   s{   ((7&!!))00+'',,)) 
			"	"	'	'	+	+	-$	/X-++*^'',,-00?AGA &&++557d	z((--55??
 #  $H IMM)44Y?KOOK  
	 MM"OOO$	r   c                 4   [         R                  " [        R                  R                  5      nUR
                  nUR                  R                  U S9nUR                  R                  R                  US9R                  n[        R                  " SU5        U$ )zGCall Compute.Projects.Get to find project_id's default Service Account.)r   )requestz&Default compute Service Account is %s.)r#   r$   r	   ReleaseTrackGAr0   messagesComputeProjectsGetRequestapitools_clientprojectsr*   defaultServiceAccountr   debug)
project_idr;   r0   rD   default_service_accounts        r   GetDefaultServiceAccountrO   [   s    (():):)=)=>&==& OO55j5I'"22;;?? @ ,, ))46MN	  r   N)__doc__
__future__r   r   r   googlecloudsdk.api_lib.computer   r#   r   compute_constantsr   r6   googlecloudsdk.callioper	   "googlecloudsdk.command_lib.computer
   r   r,   r   googlecloudsdk.corer   r   SCOPESr   
ScopesHelpSCOPES_HELPr   rB   rO    r   r   <module>r[      sY    4 &  ' G I A ( 4 E = # * "((**,
!'T
!r   