
    F                     h    d Z ddlmZ ddlmZ ddlmZ ddlmZ ddZ	 ddZd	 Z	d
 Z
d Zd Zd Zy)z$Shared resource arguments and flags.    )absolute_import)division)unicode_literals)arg_parsersNc                 B     | j                   t        d|      fd|i| y)z$Add full uri argument to the parser.zfull-urihelpNadd_argument
_ArgOrFlagparser
positional	help_textkwargss       2lib/googlecloudsdk/command_lib/model_armor/args.py
AddFullUrir      s.     &Z(09>D    c                 B     | j                   t        d|      fd|i| y)z0Enable or disable the floor setting enforcement.z enable-floor-setting-enforcementr   Nr	   r   s       r   AddFloorSettingEnforcementr       s1    
 &3Z@ 	r   c                 f    | j                  dd      }|j                  t        dd      dd       y	)
zEAdd malicious uri filter settings enforcement argument to the parser.TzMalicious uri filter settings.mutexr   z)malicious-uri-filter-settings-enforcementF)MALICIOUS_URI_FILTER_SETTINGS_ENFORCEMENTzMalicious URI filter settings.metavarr   N	add_groupr
   r   r   groups     r   (AddMaliciousUriFilterSettingsEnforcementr    ,   s<    


,L

M%<eD9+  r   c                     | j                  dd      }|j                  t        dd      dd       |j                  t        dd      d	d
       y)z:Add flags for specifying pi and jailbreak filter settings.Fz!PI and jailbreak filter settings.r   z,pi-and-jailbreak-filter-settings-enforcement,PI_AND_JAILBREAK_FILTER_SETTINGS_ENFORCEMENTz`The pi and jailbreak filter settings enforcement. The value can be either "enable" or "disable".r   z1pi-and-jailbreak-filter-settings-confidence-level1PI_AND_JAILBREAK_FILTER_SETTINGS_CONFIDENCE_LEVELz|The pi and jailbreak filter settings confidence level. The value can be either "high", "medium-and-above" or "low-and-above"Nr   r   s     r   AddPIJBFilterSettingsGroupr$   6   sn    


;  % ?G<+	   DeLAE	  r   c                     | j                  dd      }|j                  t        dd      dd       |j                  t        dd      d	d
       |j                  t        dd      dd
       y)z-Add flags for specifying sdp filter settings.FzSDP filter settings.r   zbasic-config-filter-enforcementBASIC_CONFIG_FILTER_ENFORCEMENTzTThe sdp filter settings enforcement. The value can be either "ENABLED" or "DISABLED"r   z advanced-config-inspect-template ADVANCED_CONFIG_INSPECT_TEMPLATEzSThe sdp filter settings enforcement. The value can be either "enable" or "disable".z#advanced-config-deidentify-template#ADVANCED_CONFIG_DEIDENTIFY_TEMPLATENr   r   s     r   AddSDPFilterBasicConfigGroupr)   M   s    


-C

D%2E:/%	   3U;0$	   6>3$	  r   c                 
   | j                  dd      }|j                  t        dd      dt        j                  d      t        j
                         d	       |j                  t        d
d      dt        j                  d      t        j
                         d	       |j                  t        dd      dt        j                  d      t        j
                         d	       |j                  t        dd      dd       y)z-Add flags for specifying rai filter settings.TzRAI filter settings.r   zrai-settings-filtersFz8confidenceLevel=CONFIDENCELEVEL],[filterType=FILTERTYPE])repeatedz_Set rai_settings_filters to new value. List of Responsible AI filters enabled for floor setting)r   typeactionr   zadd-rai-settings-filterszAdd rai filter settings.zremove-rai-settings-filterszRemove rai filter settings.zclear-rai-settings-filters
store_truezClear all rai filter settings.)r-   r   N)r   r
   r   r   	ArgObjectFlattenActionr   s     r   AddRaiFilterSettingsGroupr1   j   s    


,B

C%'/H  $/&&(/  	 +U3H  $/&&(%   .6H  $/&&((   -u5+  r   c                 h    |r | j                         j                  dd      S dj                  |       S )zReturns the argument name in resource argument format or flag format.

  Args:
      name (str): name of the argument
      positional (bool): whether the argument is positional

  Returns:
      arg (str): the argument or flag
  -_z--{})upperreplaceformat)namer   s     r   r   r      s/     ::<S))	t	r   )FN)__doc__
__future__r   r   r   googlecloudsdk.callioper   r   r   r    r$   r)   r1   r    r   r   <module>r=      s?    + &  ' / )-	.:Dr   