
                             d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
 ddlmZ  G d	 d
ej                        Zy)z*Command to enable a microservices feature.    )absolute_import)division)unicode_literals)util)base)
properties)SUPPORTED_FEATURESc                   &    e Zd ZdZed        Zd Zy)Disablea6  Disable a microservices feature.

  This command can fail for the following reasons:
  * The feature specified does not exist.
  * The active account does not have permission to disable the feature.

  ## EXAMPLES

  The following command disables the `observability` feature:

    $ {command} observability
  c                 4    | j                  dt        d       y )Nfeaturez#Name of the feature to be disabled.)choiceshelp)add_argumentr	   )parsers    -lib/surface/microservices/features/disable.pyArgszDisable.Args)   s    
"2  4    c                 @   t         j                  j                  j                  j	                         }d|z   dz   }t        j                         }t        j                         }|j                  |dz   |j                  z         }|j                  j                  |      S )Nz	projects/z/locations/globalz
/features/)name)r   VALUEScoreprojectGetr   GetClientInstanceGetMessagesModule3MicroservicesProjectsLocationsFeaturesDeleteRequestr   projects_locations_featuresDelete)selfargsr   parentclientmessage_modulerequests          r   RunzDisable.Run0   s    $$,,002G7"%88F##%F++-NPPl"T\\1 Q 3G--44W==r   N)__name__
__module____qualname____doc__staticmethodr   r&    r   r   r   r      s      4 4>r   r   N)r*   
__future__r   r   r   $googlecloudsdk.api_lib.microservicesr   googlecloudsdk.callioper   googlecloudsdk.corer   surface.microservices.featuresr	   DeleteCommandr   r,   r   r   <module>r3      s1    1 &  ' 5 ( * =>d   >r   