
    4!                         S 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S jrS	 r	S
 r
S rS rS rS rSS jrS rS rg)z$Shared resource arguments and flags.    )absolute_import)division)unicode_literals)arg_parsersNc                 B    U R                   " [        SU5      4SU0UD6  g)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    U R                   " [        SU5      4SU0UD6  g)z0Enable or disable the floor setting enforcement.z enable-floor-setting-enforcementr   Nr	   r   s       r   AddFloorSettingEnforcementr       s/    
 	3Z@ 	r   c                 Z    U R                  SSS9nUR                  [        SS5      SSS9  g	)
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                     U R                  SSS9nUR                  [        SS5      SSS9  UR                  [        SS5      S	S
S9  g)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                     U R                  SSS9nUR                  [        SS5      SSS9  UR                  [        SS5      S	S
S9  UR                  [        SS5      SS
S9  g)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                    U R                  SSS9nUR                  [        SS5      S[        R                  " SS9[        R
                  " 5       SS	9  UR                  [        S
S5      S[        R                  " SS9[        R
                  " 5       SS	9  UR                  [        SS5      S[        R                  " SS9[        R
                  " 5       SS	9  UR                  [        SS5      SSS9  g)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   AddRaiFilterSettingsGroupr2   j   s    


,B

C%'/H  $/&&(/  	 +U3H  $/&&(%   .6H  $/&&((   -u5+  r   c                    U R                  SSS9nUR                  [        SS5      S[        R                  " 5       SS9  UR                  [        S	S5      S[        R                  " 5       S
S9  UR                  [        SS5      SSS9  g)z-Add flags for specifying integrated services.TzManage integrated services to apply Model Armor floor settings. Integrated services will have Model Armor sanitization enabled project-wide.r   zadd-integrated-servicesFINTEGRATED_SERVICEzSet the list of integrated services for the floor setting. This can be used to enable project-wide Model Armor sanitization for the respective services.)r   r,   r   zremove-integrated-serviceszARemove specified service(s) from the list of integrated services.zclear-integrated-servicesr.   z5Clear all integrated services from the floor setting.r/   N)r   r
   r   r   ArgListr   s     r   AddIntegratedServicesr6      s    


  % *E2" "  	 -u5" N	   ,e4B  r   c                     U R                  SSS9nUR                  SSS[        R                  S9  UR                  [	        SS5      S	S
S9  g)z1Add flags for specifying vertex ai floor setting.Fz#Options for Vertex AI sanitization.r   z --enable-vertex-ai-cloud-loggingenable_vertex_ai_cloud_loggingzXEnable Cloud Logging for Vertex AI sanitization to log Model Armor sanitization results.destr   r-   zvertex-ai-enforcement-typevertex_ai_enforcement_typezSpecifies the enforcement mode for Vertex AI sanitization, such as "INSPECT_ONLY" or "INSPECT_AND_BLOCK". Default is "INSPECT_ONLY".r:   r   Nr   r
   r   StoreTrueFalseActionr   r   s     r   AddVertexAiFloorSettingr?      sp    


=  % (+) --   -u5'(	  r   c                     U R                  SSS9nUR                  SSS[        R                  S9  UR                  [	        SS5      S	S
S9  g)z9Add flags for specifying Google MCP server floor setting.Fz+Options for Google MCP server sanitization.r   z(--enable-google-mcp-server-cloud-logging&enable_google_mcp_server_cloud_loggingz`Enable Cloud Logging for Google MCP server sanitization to log Model Armor sanitization results.r9   z"google-mcp-server-enforcement-type"google_mcp_server_enforcement_typezSpecifies the enforcement mode for Google MCP server sanitization, such as "INSPECT_ONLY" or "INSPECT_AND_BLOCK". Default is "INSPECT_ONLY".r<   Nr=   r   s     r   AddGoogleMcpServerFloorSettingrC      sp    


E  % 03/ --   5u=/	  r   c                 d    U R                  SSS9nUR                  SSS[        R                  S9  g)	z2Add flags for specifying multi language detection.Fz$Multi language detection enablement.r   z!--enable-multi-language-detectionenable_multi_language_detectionzqEnable multi-language detection for floor setting, allowing Model Armor to process content in multiple languages.r9   N)r   r
   r   r>   r   s     r   AddMultiLanguageDetectionrF      sH    


>  % ),= --  r   c                 r    U(       a   U R                  5       R                  SS5      $ SR                  U 5      $ )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)returnN)__doc__
__future__r   r   r   googlecloudsdk.callioper   r   r   r    r$   r)   r2   r6   r?   rC   rF   r    r   r   <module>rS      sT    + &  ' / )-	.:DB22 r   