
                             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
 rS rS rS rS rS rS rS rS rSS jrSS jrS rS rS rS rS rg)z:Shared resource flags for `gcloud container aws` commands.    )absolute_import)division)unicode_literals)concepts)deps)concept_parsers)
properties)	resourcesc                 R    [         R                  R                  U R                  SS9$ N+gkemulticloud.projects.locations.operations
collection)r
   REGISTRYParseRelativeNamename)ops    =lib/googlecloudsdk/command_lib/container/aws/resource_args.pyGetOperationResourcer      s*    				-	-ggG 
. 
     c                  ,    [         R                  " SSS9$ )Nclusterzcluster of the {resource}.r   	help_textr    ResourceParameterAttributeConfig r   r   AwsClusterAttributeConfigr   "   s    		2	2 <
 r   c                  ,    [         R                  " SSS9$ )N	node_poolznode pool of the {resource}.r   r   r   r   r   AwsNodePoolAttributeConfigr!   (   s    		2	2"@
 r   c                      [         R                  " SS[        R                  " [        R
                  R                  R                  5      /S9$ )z.Gets Google Cloud location resource attribute.locationz)Google Cloud location for the {resource}.)r   r   fallthroughs)r   r   r   PropertyFallthroughr	   VALUEScontainer_awsr#   r   r   r   LocationAttributeConfigr(   .   s@    		2	2;

"
":#4#4#B#B#K#K
L
 r   c                  ,    [         R                  " SSS9$ )N	operationzOperation for the {resource}.r   r   r   r   r   OperationAttributeConfigr+   9   s    		2	2"A
 r   c                  n    [         R                  " SS[        5       [        5       [         R                  S9$ )N,gkemulticloud.projects.locations.awsClustersr   )resource_nameawsClustersIdlocationsId
projectsId)r   ResourceSpecr   r(    DEFAULT_PROJECT_ATTRIBUTE_CONFIGr   r   r   GetAwsClusterResourceSpecr4   ?   s0    			4-/)+::
 r   c                  \    [         R                  " SS[        5       [         R                  S9$ )Nr   r*   r.   r0   r1   r   r2   r(   r3   r   r   r   GetOperationResourceSpecr8   I   s*    			3)+::	
 r   c            	          [         R                  " SS[        5       [        5       [	        5       [         R
                  S9$ )N9gkemulticloud.projects.locations.awsClusters.awsNodePoolsr    )r.   awsNodePoolsIdr/   r0   r1   )r   r2   r!   r   r(   r3   r   r   r   GetAwsNodePoolResourceSpecr<   R   s6    			A/1-/)+::
 r   c                  \    [         R                  " SS[        5       [         R                  S9$ )Nz gkemulticloud.projects.locationsr#   r6   r7   r   r   r   GetLocationResourceSpecr>   ]   s*    			()+::	
 r   c                     U(       a  SOSn[         R                  R                  U[        5       SR	                  U5      SS9R                  U 5        g)zAdds a resource argument for an AWS cluster.

Args:
  parser: The argparse parser to add the resource arg to.
  verb: str, the verb to describe the resource, such as 'to update'.
  positional: bool, whether the argument is positional or not.
r   z	--clusterzcluster {}.TrequiredN)r   ConceptParserForResourcer4   formatAddToParserparserverb
positionalr   s       r   AddAwsClusterResourceArgrJ   f   sL     !k$++
!4 	 , 
 Kr   c                     U(       a  SOSn[         R                  R                  U[        5       SR	                  U5      SS9R                  U 5        g)zAdds a resource argument for an AWS node pool.

Args:
  parser: The argparse parser to add the resource arg to.
  verb: str, the verb to describe the resource, such as 'to update'.
  positional: bool, whether the argument is positional or not.
r    z--node-poolznode pool {}.Tr@   N)r   rB   rC   r<   rD   rE   rF   s       r   AddAwsNodePoolResourceArgrL   w   sL     #$++
 "T"	 , 
 Kr   c                     [         R                  R                  S[        5       SR	                  U5      SS9R                  U 5        g)zAdds a resource argument for Google Cloud location.

Args:
  parser: The argparse parser to add the resource arg to.
  verb: str, the verb to describe the resource, such as 'to update'.
z
--locationzGoogle Cloud location {}.Tr@   N)r   rB   rC   r>   rD   rE   rG   rH   s     r   AddLocationResourceArgrO      sC     ++!((.	 , 
 Kr   c                     [         R                  R                  S[        5       SR	                  U5      SS9R                  U 5        g)zAdds a resource argument for operation in AWS.

Args:
  parser: The argparse parser to add the resource arg to.
  verb: str, the verb to describe the resource, such as 'to update'.
operation_idzoperation {}.Tr@   N)r   rB   rC   r8   rD   rE   rN   s     r   AddOperationResourceArgrR      sC     ++ T"	 , 
 Kr   c                     [         R                  R                  U R                  R                  R                  5       R                  5       SS9$ )Nr-   r   )r
   r   r   CONCEPTSr   ParseRelativeNameargss    r   ParseAwsClusterResourceArgrY      sB    				-	-
mm!!#002? 
. 
 r   c                     [         R                  R                  U R                  R                  R                  5       R                  5       SS9$ )Nr:   r   )r
   r   r   rT   r    rU   rV   rW   s    r   ParseAwsNodePoolResourceArgr[      sB    				-	-
mm##%224L 
. 
 r   c                     [         R                  R                  U R                  R                  R                  5       R                  5       SS9$ r   )r
   r   r   rT   rQ   rU   rV   rW   s    r   ParseOperationResourceArgr]      sB    				-	-
mm  &&(557> 
. 
 r   N)T)__doc__
__future__r   r   r    googlecloudsdk.calliope.conceptsr   r   (googlecloudsdk.command_lib.util.conceptsr   googlecloudsdk.corer	   r
   r   r   r!   r(   r+   r4   r8   r<   r>   rJ   rL   rO   rR   rY   r[   r]   r   r   r   <module>rc      ss    A &  ' 5 1 D * )""r   