
                             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	\R                  5      r
 " S
 S\
5      r SS jrg)z6Flags for the `compute sole-tenancy` related commands.    )absolute_import)division)unicode_literals)encoding)
exceptions)yamlc                       \ rS rSrSrSrg)Error   z,Exceptions for the sole tenancy util module. N__name__
__module____qualname____firstlineno____doc____static_attributes__r       ;lib/googlecloudsdk/command_lib/compute/sole_tenancy/util.pyr
   r
      s    4r   r
   c                       \ rS rSrSrSrg)NodeAffinityFileParseError   z0Exception for invalid node affinity file format.r   Nr   r   r   r   r   r      s    8r   r   c                 4   UR                   R                  n/ nU R                  S5      (       a  [        R                  " U R
                  5      nU(       d  [        S5      eU H  nU(       d  [        S5      e [        R                  " UR                   U5      nUR                  (       d  [        S5      eUR                  5       (       a3  [        SR                  UR                  UR                  5       5      5      eUR                  U5        M     U R                  S5      (       a5  UR                  UR                  SUR                  U R                  /S	95        U R                  S
5      (       a5  UR                  UR                  SUR                  U R                   /S	95        U(       aK  U R                  S5      (       a5  UR                  UR                  SUR                  U R"                  /S	95        U$ ! [         a  n[        U5      eSnAff = f)zDReturns a list of ScheduleNodeAffinity messages populated from args.node_affinity_fileziNo node affinity labels specified. You must specify at least one label to create a sole tenancy instance.z"Empty list item in JSON/YAML file.Nz6A key must be specified for every node affinity label.z,Key [{0}] has invalid field formats for: {1}
node_groupz&compute.googleapis.com/node-group-name)keyoperatorvaluesnodez compute.googleapis.com/node-namenode_projectzcompute.googleapis.com/project)SchedulingNodeAffinityOperatorValueValuesEnumIsSpecifiedr   loadr   r   r   PyValueToMessage	Exceptionr   all_unrecognized_fieldsformatappendINr   r   r    )	argsmessagessupport_node_projectoperator_enumnode_affinitiesaffinities_yamlaffinitynode_affinityes	            r   %GetSchedulingNodeAffinityListFromArgsr4   "   s    11II-/	*++ii 7 78O&56 6 $()MNN, 11++X7 (DF 	F		.	.	0	0(:AA!!=#H#H#JLM 	M ]+! $" 
l##''8"%%OO$ 	( 	&'
 
f''2"%%II; 	( 	 !
 d..~>>''0"%%%%& 	( 	()
 
;  ,(++,s   9!G==
HHHN)F)r   
__future__r   r   r   apitools.base.pyr   googlecloudsdk.corer   r   r
   r   r4   r   r   r   <module>r8      sF    = &  ' % * $5J 59 9 @E0r   