
    
                         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rSrSrS rS rS rS rg)zOrg Policies utilities.    )absolute_import)division)unicode_literals)DecodeError)encoding)
exceptions)apis)yaml)filesNzconstraints/v1c                  8    [         R                  " S[        5      $ Ncloudresourcemanager)r	   GetClientInstanceORG_POLICIES_API_VERSION     ;lib/googlecloudsdk/api_lib/resource_manager/org_policies.pyOrgPoliciesClientr   !       			 6 8
: :r   c                  8    [         R                  " S[        5      $ r   )r	   GetMessagesModuler   r   r   r   OrgPoliciesMessagesr   &   r   r   c           
          [         R                  " U 5      nU(       d%  [        R                  " SR	                  U 5      5      e [
        R                  " U[        R                  " U5      5      nU$ ! [        [        [        R                  4 am     [
        R                  " X5      n U$ ! [        [        4 a?  n[        R                  " SR	                  U [        R                  " U5      5      5      eSnAff = ff = f)a7  Reads a YAML or JSON object of type message from local path.

Args:
  path: A local path to an object specification in YAML or JSON format.
  message: The message type to be parsed from the file.

Returns:
  Object of type message, if successful.
Raises:
  files.Error, exceptions.ResourceManagerInputFileError
zEmpty policy file [{0}]zEPolicy file [{0}] is not properly formatted YAML or JSON due to [{1}]N)r   ReadFileContentsr   ResourceManagerInputFileErrorformatr   PyValueToMessager
   load
ValueErrorAttributeErrorYAMLParseErrorJsonToMessager   six	text_type)pathmessagein_textresultes        r   GetFileAsMessager+   +   s     ""4('	

2
2!((.0 0
9&&w		'0BCF 
- nd&9&9	: 99%%g7f 
- $ 9 44cmmA&679 999s*   +A1 1C=B**C9::C44C99C=c                 L    U R                  [        5      (       a  U $ [        U -   $ )N)
startswithCONSTRAINTS_PREFIX)constraint_ids    r   FormatConstraintr0   K   s%    011--r   )__doc__
__future__r   r   r   #apitools.base.protorpclite.messagesr   apitools.base.pyr   'googlecloudsdk.api_lib.resource_managerr   googlecloudsdk.api_lib.utilr	   googlecloudsdk.corer
   googlecloudsdk.core.utilr   r$   r.   r   r   r   r+   r0   r   r   r   <module>r9      sI     &  ' ; % > , $ * 
#  :
:
@.r   