
    g                         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                  \R                   5      rg)z0The command to enable 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 r
S\R                  S\R                  4S	 jrS\R                  S\R                  4S
 jrS rSrg)Enable   zEnable Policy Controller Feature.

Enables the Policy Controller Feature in a fleet.

## EXAMPLES

To enable the Policy Controller Feature, run:

  $ {command}
policycontrollerc                    UR                  SS9n[        R                  " 5       R                  U5        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         UR                  5         UR                  5         g )NT)mutexFenableconfig)add_argument_groupr	   fleet_default_cfg_groupAddToParser	PocoFlagsadd_membershipsadd_audit_intervaladd_constraint_violation_limitadd_exemptable_namespacesadd_log_denies_enabledadd_monitoringadd_mutationadd_no_contentadd_no_default_bundlesadd_referential_rulesadd_version)clsparser	top_groupmodal_groupmembership_groupscope_flagsconfig_groupmanual_flagss           6lib/surface/container/fleet/policycontroller/enable.pyArgsEnable.Args0   s   )))5I	!!#//	:..U.;K"55D5A//+x8K#66U6CL??<:L ! ##%//1**,'')!!'')&&(    c           	      J   [         R                  " XR                  5      nUR                  5       (       a  U R	                  U5        g U R                  US5      nUR                  5        VVs0 s H  u  pEX@R                  XR5      _M     nnnU R                  U5        g s  snnf )NT)	r	   PocoFlagParserr   is_feature_update_configure_feature
path_specsitemsr   update_specs)selfargsr"   specspsupdated_specss          r)   Run
Enable.RunJ   s    !!$6F!!
f%oodD)e=B[[]K]TQq++a00]mK
& Ls   -Bc                 p    UR                  5       nUc  U R                  S 5        g U R                  U5        g N)load_fleet_default_cfgupdate_fleet_default)r4   r"   default_cfgs      r)   r0   Enable._configure_featureS   s2    //1K
%
,r,   specreturnc                 h    UR                   c  U R                  R                  5       $ UR                   $ r=   )policyControllerHubConfigr   PolicyControllerHubConfigr4   rB   s     r)   _get_hub_configEnable._get_hub_config[   s-    %%-]]4466)))r,   c                 h    UR                   c  U R                  R                  5       $ UR                   $ r=   )r   r   PolicyControllerMembershipSpecrG   s     r)   _get_policycontrollerEnable._get_policycontroller`   s-    $]]99;;   r,   c                 .   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UR                  U5      nUR                  U5      nUR                  U5      nU R                  R                  R                  R                  Ul        UR                  c  UR!                  U5      nXCl        UR%                  U5      nX1l        U$ r=   )rL   rH   update_audit_interval!update_constraint_violation_limitupdate_exemptable_namespacesupdate_log_deniesupdate_monitoringupdate_mutationupdate_no_contentupdate_referential_rulesr   rF   InstallSpecValueValuesEnumINSTALL_SPEC_ENABLEDinstallSpecr   update_default_bundlesrE   update_version)r4   rB   r"   pchub_cfgs        r)   r   Enable.enablee   s   		#	#D	)B""2&G**73G66w?G11':G&&w/G&&w/G$$W-G&&w/G--g6G//JJ__  $--g6g#* 			r	"BKr,    N)__name__
__module____qualname____firstlineno____doc__feature_namemf_nameclassmethodr*   r:   r0   r   MessagerH   rL   r   __static_attributes__r_   r,   r)   r   r      sr    	 $,' 2'-*("2"2 *x7G7G *
!(8(8 !X=M=M !
r,   r   N)rd   
__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EnableCommandPocoCommandr   r_   r,   r)   <module>rs      sR    7 &  ' / D Y O M]	]r,   