
                             d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ	 ddlm
Z ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ e	j,                  Z e	j0                         Zd Zd Zd Zy)z-Helpers for interacting with the Compute API.    )absolute_import)division)unicode_literals)base_classes)	constants)utils)base)flags)scope)scope_prompter)log)
propertiesc                     | xs g } g }| D ](  }|t         v r|t         |   z  }|j                  |       * t        |      S )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           	         t        j                  |       }t        j                  j                  j
                  }t        j                  j                  j                  }|j                  }t        j                  j                  j                  j                         }|s|dk(  rt        j                  d|gt        j                  j                  gdt        j                  |j                               \  }}|s2t        j                  j                  j                  j#                         }|r|j%                  |dt        j                  j&                  j(                  j"                  id      }	|	j+                         }
|j-                  |
       t/        j0                  |
      }|j-                  |       |S |j-                  d       |j-                  |       |S )	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GAt &&++557d	z((--55??
 #  $H IMM)44Y?KOOK  
	 MM"OOO$	r   c                 <   t        j                  t        j                  j                        }|j
                  }|j                  j                  |       }|j                  j                  j                  |      j                  }t        j                  d|       |S )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[      s\    4 &  ' G I A ( 4 E = # * "((***,
!'T
!r   