
                             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	 jrS
 rS rSS jrS rSS jrg)zJFlags and helpers for the Cloud NetApp Files Volume Replications commands.    )absolute_import)division)unicode_literals)arg_parsers)flags)	arg_utils)concept_parsersc                     U(       d  SOSn[         R                  R                  S[        R                  " SS9USS0S9R                  U 5        g )	Nz+The Volume that the Replication is based onz9The source Volume to reverse the Replication direction ofz--volumeF)
positionallocation )
group_helpflag_name_overrides)r	   ConceptParserForResourcer   GetVolumeResourceSpecAddToParser)parser
reverse_opr   s      Clib/googlecloudsdk/command_lib/netapp/volumes/replications/flags.pyAddReplicationVolumeArgr      sW      4F 
 ++!!U3%r*	 , 
 K    c                 &    U R                  SSSS9  g)z'Adds the --force arg to the arg parser.z--force
store_trueaN  Indicates whether to stop replication forcefully while data transfer is in progress.
      Warning! if force is true, this will abort any current transfers and can lead to data loss due to partial transfer.
      If force is false, stop replication will fail while data transfer is in progress and you will need to retry later.
      )actionhelpN)add_argument)r   s    r   AddReplicationForceArgr   ,   s     
  r   c                 T    [         R                  " U UR                  R                  S9$ )zReturns the Choice Enum for Replication Schedule.

Args:
  choice: The choice for replication schedule input as string.
  messages: The messages module.

Returns:
  The replication schedule enum.
)choice	enum_type)r   ChoiceToEnumReplication"ReplicationScheduleValueValuesEnum)r    messagess     r   ,GetReplicationReplicationScheduleEnumFromArgr&   8   s)     
		$$GG
 r   c                 0    U R                  S[        USS9  g)zAdds the Replication Schedule (--replication-schedule) arg to the given parser.

Args:
  parser: Argparse parser.
  required: If the Replication Schedule is required. E.g. it is required by
    Create, but not required by Update.
z--replication-schedulez!The schedule for the Replication.typerequiredr   Nr   str)r   r*   s     r   $AddReplicationReplicationScheduleArgr-   H   s#     	.	  r   c           	          [         [         [         [         [        R                  " UR                  R                  [
        S.SS9S.nSnU R                  S[        R                  " US/S9S	US
9  g)zAdds the Destination Volume Parameters (--destination-volume-parameters) arg to the given parser.

Args:
  parser: Argparse parser.
  messages: The messages module.
)ztier-actionzcooling-threshold-daysF)specenable_shorthand)storage_pool	volume_id
share_namedescriptiontiering_policyz      z--destination-volume-parametersr1   )r/   required_keysTr(   N)r,   r   	ArgObjectTieringPolicyTierActionValueValuesEnumintr   )r   r%   "destination_volume_parameters_spec"destination_volume_parameters_helps       r   ,AddReplicationDestinationVolumeParametersArgr=   X   s     #--%33MM(+ !($(
$ 	'  1'( -  r   c                 2    U R                  S[        SSUS9  g)zAdds the Cluster Location (--cluster-location) arg to the given parser.

Args:
  parser: Argparse parser.
  hidden: If the Cluster Location is hidden.
z--cluster-locationFzLocation of the user cluster.)r)   r*   r   hiddenNr+   )r   r?   s     r    AddReplicationClusterLocationArgr@   {   s&     	*  r   N)F)T)__doc__
__future__r   r   r   googlecloudsdk.callioper   !googlecloudsdk.command_lib.netappr   $googlecloudsdk.command_lib.util.apisr   (googlecloudsdk.command_lib.util.conceptsr	   r   r   r&   r-   r=   r@    r   r   <module>rH      s?    Q &  ' / 3 : D	   Fr   