
                             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 rS rS rg)z-Helpers for interacting with the Compute API.    )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   GetComputeResourcesr?   .   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GAr-   messagesComputeProjectsGetRequestapitools_clientprojectsr'   defaultServiceAccountr
   debug)
project_idr8   r-   rA   default_service_accounts        r   GetDefaultServiceAccountrL   X   s    (():):)=)=>&==& OO55j5I'"22;;?? @ ,, ))46MN	  r   N)__doc__googlecloudsdk.api_lib.computer   r    r   compute_constantsr   r3   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer   r   r)   r	   googlecloudsdk.corer
   r   SCOPESr   
ScopesHelpSCOPES_HELPr   r?   rL    r   r   <module>rW      sS    4 H I A ( 4 E = # * "((**,
!'T
!r   