
                             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	 S
\R                  \
R                  \R                  5      rg)z0The command to update Policy Controller Feature.    )absolute_import)division)unicode_literals)messages)base)command)flagsc                       \ rS rSrSrSrSr\S 5       rS r	SS\
4S jjrS\R                  S	\R                  4S
 jrSrg)Update   a$  Updates the configuration of Policy Controller Feature.

Updates the configuration of the Policy Controller installation
## EXAMPLES

To change the installed version, run:

  $ {command} --version=VERSION

To modify the audit interval to 120 seconds, run:

  $ {command} --audit-interval=120
policycontrollerc                 "   UR                  SS9nUR                  SS9n[        R                  " US5      nUR                  SS9n[        R                  " US5      nUR                  5         UR	                  5         UR                  5         UR                  5         UR                  5         UR                  5         UR                  5         UR                  5         UR                  5         [        R                  " 5       R                  U5        g )NF)mutexTupdate)add_argument_groupr	   	PocoFlagsadd_membershipsadd_audit_intervaladd_constraint_violation_limitadd_exemptable_namespacesadd_log_denies_enabledadd_monitoringadd_mutationadd_referential_rulesadd_versionorigin_flagAddToParser)clsparsermodal_groupmembership_groupscope_flagsconfig_groupmanual_flagss          6lib/surface/container/fleet/policycontroller/update.pyArgsUpdate.Args.   s    ++%+8K"55D5A//+x8K#66U6CL??<:L ! ##%//1**,'')!&&( 
##$45    c           	         [         R                  " XR                  5      nU R                  U5      nUR	                  5        VVs0 s H  u  pEX@R                  XR5      _M     nnnU R                  XbR                  5       5      $ s  snnf N)r	   PocoFlagParserr   
path_specsitemsr   update_specsuse_default_cfg)selfargsr   specspathsupdated_specss          r%   Run
Update.RunF   sl    !!$6FOOD!EAFOgdT;;q11MO],B,B,DEE Ps   Brefreshc                 n    [        U SS5      nUb  U(       a  U R                  5       n[        U SU5        U$ )z4Gets and caches the current feature for this object.__feature_cacheN)getattr
GetFeaturesetattr)r0   r8   caches      r%   feature_cacheUpdate.feature_cacheL   s6    D+T2E}ooed%u-Lr(   specr   c                    UR                  5       (       a"  UR                  U R                  5       U5        U$ UR                  nUR	                  U5      nUR
                  nUR                  U5      nUR                  U5      nUR                  U5      nUR                  U5      nUR                  U5      nUR                  U5      nUR                  U5      nXCl        X1l        U$ r*   )r/   set_default_cfgr?   r   update_versionpolicyControllerHubConfigupdate_audit_interval!update_constraint_violation_limitupdate_exemptable_namespacesupdate_log_deniesupdate_mutationupdate_monitoringupdate_referential_rules)r0   rA   r   pchub_cfgs        r%   r   Update.updateT   s    T//148  K   b  $b,,g,,W5g88Ag33G<g((1g&&w/g((1g//8g%," Kr(    N)F)__name__
__module____qualname____firstlineno____doc__feature_namemf_nameclassmethodr&   r6   boolr?   r   Messager	   r+   r   __static_attributes__rP   r(   r%   r   r      sV     $,'6 6.F4 )) 53G3G r(   r   N)rU   
__future__r   r   r   apitools.base.protorpcliter   3googlecloudsdk.command_lib.container.fleet.featuresr   =googlecloudsdk.command_lib.container.fleet.membershipfeaturesmf_base;googlecloudsdk.command_lib.container.fleet.policycontrollerr   r	   UpdateCommandPocoCommandr   rP   r(   r%   <module>rd      sF    7 &  ' / D Y O MJT!6!68K8K Jr(   