
                         B    d Z ddlmZ ddlmZ ddlmZ  G d de      Zy)z,Utilities for dealing with region resources.    )absolute_import)division)unicode_literalsc                   ,    e Zd ZdZd Zed        Zd Zy)Regionz+Value class representing a region resource.c                 <    || _         || _        || _        || _        y )N)regionstandardflexible
search_api)selfr	   r
   r   r   s        -lib/googlecloudsdk/api_lib/app/region_util.py__init__zRegion.__init__   s    DKDMDM DO    c                    d}d}d}|j                   j                  d   j                  }|j                  j                  D ]{  }|j                  dk(  r|j                  j
                  rd}+|j                  dk(  r|j                  j
                  rd}S|j                  dk(  sc|j                  j
                  szd}}  | ||||      S )z<Create region from a google.cloud.location.Location message.Fr   flexibleEnvironmentAvailableTstandardEnvironmentAvailablesearchApiAvailable)labelsadditionalPropertiesvaluemetadatakeyboolean_value)clsr	   flexr
   r   	region_idps          r   FromRegionResourcezRegion.FromRegionResource    s     DHJ2215;;I__11	
0	0QWW5J5J5522qww7L7L55((QWW-B-B
 2 y(D*55r   c                     d | j                   df| j                  df| j                  dffD        }dj                  | j                        }|dj                  dj                  |      	      z   S )
Nc              3   0   K   | ]  }|d    r|d     yw)r      N ).0xs     r   	<genexpr>z!Region.__str__.<locals>.<genexpr>2   s(      A8;<Q4 	
! 8s   r
   r   r   z{region: <13})r	   z (supports {envs})z and )envs)r
   r   r   formatr	   join)r   r'   outs      r   __str__zRegion.__str__1   su    Az2z268AD 
 
 
 
4C%,,',,t2D,EEEr   N)__name__
__module____qualname____doc__r   classmethodr   r+   r#   r   r   r   r      s$    3! 6 6 Fr   r   N)r/   
__future__r   r   r   objectr   r#   r   r   <module>r3      s!     3 &  ' FV  Fr   