
    J	                         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	\R                  \R                  \
R                  5      rg
)z5The command to detach the Policy Controller webhooks.    )absolute_import)division)unicode_literals)base)command)flagsc                   <    \ rS rSrSrSrSr\S 5       rS r	S r
Srg)	Detach   a  Detach Policy Controller Feature.

Detaches Policy Controller. This will halt all administration of the Policy
Controller installation by the GKE Fleet. It will not uninstall it from the
cluster. To re-attach Policy Controller, use the `enable` command.


## EXAMPLES

To detach Policy Controller, run:

  $ {command}

To re-attach Policy Controller, use the `enable` command:

  $ {parent_command} enable
policycontrollerc                 R    [         R                  " US5      nUR                  5         g )Ndetach)r   	PocoFlagsadd_memberships)clsparser	cmd_flagss      6lib/surface/container/fleet/policycontroller/detach.pyArgsDetach.Args1   s    1I    c                     U R                  U5      nUR                  5        VVs0 s H  u  p4X0R                  U5      _M     nnnU R                  U5      $ s  snnf )N)
path_specsitemsr   update_specs)selfargsspecspathspecupdated_specss         r   Run
Detach.Run6   sO    OOD!E?D{{}M}T;;t,,}MM]++ Ns   Ac                     U R                   R                  R                  R                  UR                  R
                  l        U$ )zSets the membership spec to DETACHED.

Args:
  spec: The spec to be detached.

Returns:
  Updated spec, based on the message api version.
)messagesPolicyControllerHubConfigInstallSpecValueValuesEnumINSTALL_SPEC_DETACHEDr   policyControllerHubConfiginstallSpec)r   r    s     r   r   Detach.detach;   s8     	//JJ`` 	33? Kr    N)__name__
__module____qualname____firstlineno____doc__feature_namemf_nameclassmethodr   r"   r   __static_attributes__r,   r   r   r
   r
      s/    $ $,'   ,
r   r
   N)r1   
__future__r   r   r   3googlecloudsdk.command_lib.container.fleet.featuresr   =googlecloudsdk.command_lib.container.fleet.membershipfeaturesmf_base;googlecloudsdk.command_lib.container.fleet.policycontrollerr   r   UpdateCommandPocoCommandr
   r,   r   r   <module>r=      sA    < &  ' D Y O M,T!6!68K8K ,r   