
    1                     p    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 Zd Zd	 Zdd
Zd Zd Zd Zy)zBFlags and helpers for the Cloud NetApp Files Host Groups commands.    )arg_parsers)flags)	arg_utils)labels_util)concept_parsersc                 X    t        j                  | |j                  j                        S )zReturns the Choice Enum for Host Group Type.

  Args:
    choice: The choice for host group type as string
    messages: The messages module.

  Returns:
    the host group type enum.
  choice	enum_type)r   ChoiceToEnum	HostGroupTypeValueValuesEnumr
   messagess     :lib/googlecloudsdk/command_lib/netapp/host_groups/flags.pyGetHostGroupTypeEnumFromArgr      s)     
		""66
     c                 X    t        j                  | |j                  j                        S )zReturns the Choice Enum for Host Group OS Type.

  Args:
    choice: The choice for host group os type as string
    messages: The messages module.

  Returns:
    the host group os type enum.
  r	   )r   r   r   OsTypeValueValuesEnumr   s     r   GetHostGroupOsTypeEnumFromArgr   +   s)     
		""88
 r   c                 >    d}| j                  dt        |ddg       y )Nz\  String indicating the type of host group.
  The supported values are: 'ISCSI_INITIATOR'
  z--typeTISCSI_INITIATORtypehelprequiredchoicesadd_argumentstrparser	help_texts     r   AddHostGroupTypeArgr$   ;   s0    )
 	 !  r   c                 f    d}| j                  dt        j                  dt              ||d       y )Nz%  List of hosts in the host group.
  z--hosts   )
min_lengthelement_typeHOST)r   r   r   metavar)r   r   ArgListr    )r"   r   r#   s      r   AddHostGroupHostsArgr,   J   s:    ) 	!#>  r   c                 @    d}| j                  dt        |dg d       y )Nzy  String indicating the OS type of the hosts in the host group.
  The supported values are: 'LINUX', 'WINDOWS', 'ESXI'
  z	--os-typeT)LINUXWINDOWSESXIr   r   r!   s     r   AddHostGroupOsTypeArgr1   X   s-    )
 	*  r   c                 :   t        j                  t        j                  d      g      j	                  |        t        |        t        | d       t        |        t        j                  | d       t        j                  |        t        j                  |        y)z#Add args for creating a Host Group.zThe Host Group to create.Tr   
Host GroupN)r   ConceptParserr   GetHostGroupPresentationSpecAddToParserr$   r,   r1   AddResourceDescriptionArgAddResourceAsyncFlagr   AddCreateLabelsFlagsr"   s    r   AddHostGroupCreateArgsr<   i   st    (()DE! [fv-!!&,7V$""6*r   c                    t        j                  t        j                  d      g      j	                  |        t        | d       t        j                  | d       t        j                  |        t        j                  |        y)z#Add args for updating a Host Group.zThe Host Group to update.Fr3   r4   N)
r   r5   r   r6   r7   r,   r8   r9   r   AddUpdateLabelsFlagsr;   s    r   AddHostGroupUpdateArgsr?   v   sd    (()DE! [v.!!&,7V$""6*r   N)F)__doc__googlecloudsdk.callioper   !googlecloudsdk.command_lib.netappr   $googlecloudsdk.command_lib.util.apisr   $googlecloudsdk.command_lib.util.argsr   (googlecloudsdk.command_lib.util.conceptsr   r   r   r$   r,   r1   r<   r?    r   r   <module>rG      s=     I / 3 : < D
  "
++r   