
    +                         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
KJr  SSKJr  SSKJr   " S S\	R*                  5      r " S S\R.                  5      rg)zCommand to delete SSL policies.    )absolute_import)division)unicode_literals)base_classes)utils)poller)ssl_policies_utils)waiter)base)scope)flagsc                   2   ^  \ rS rSrSU 4S jjrS rSrU =r$ )DeleteBatchPoller   c                 .   > [         [        U ]  XU5        g N)superr   __init__)selfcompute_adapterresource_servicetarget_refs	__class__s       *lib/surface/compute/ssl_policies/delete.pyr   DeleteBatchPoller.__init__!   s    	
T+O,79    c                     g r    )r   operation_batchs     r   	GetResultDeleteBatchPoller.GetResult%   s     r   r   r   )__name__
__module____qualname____firstlineno__r   r    __static_attributes____classcell__)r   s   @r   r   r      s    9 r   r   c                   2    \ rS rSrSrSr\S 5       rS rSr	g)Delete+   a^  Delete Compute Engine SSL policies.

*{command}* is used to delete one or more Compute Engine SSL policies.
SSL policies can only be deleted when no other resources (e.g.,
Target HTTPS proxies, Target SSL proxies) refer to them.

An SSL policy specifies the server-side support for SSL features. An SSL
policy can be attached to a TargetHttpsProxy or a TargetSslProxy. This affects
connections between clients and the load balancer. SSL
policies do not affect the connection between the load balancers and the
backends. SSL policies are used by Application Load Balancers and proxy
Network Load Balancers.
Nc                     UR                   R                  [        R                  5        [        R                  " SS9U l        U R
                  R                  USS9  g )NT)pluraldelete)operation_type)display_infoAddCacheUpdaterr   SslPoliciesCompleterGetSslPolicyMultiScopeArgumentSSL_POLICY_ARGAddArgument)clsparsers     r   ArgsDelete.Args<   sH    
''(B(BC==TJC""6("Cr   c                 l   [         R                  " U R                  5       5      n[        R                  " U5      nUR
                  R                  nU R                  R                  XR                  [        R                  R                  S9n[        R                  " U5        U Vs/ s H  ocR                  U5      PM     nnSR!                  [#        U5      S:  a  SOS5      n[%        UR
                  UR&                  5      n	[(        R*                  " U	[,        R.                  " U5      U5      $ s  snf )z*Issues the request to delete a SSL policy.)default_scopezDeleting SSL {}   policiespolicy)r   ComputeApiHolderReleaseTrackr	   SslPolicyHelperclientapitools_clientr3   ResolveAsResource	resourcescompute_scope	ScopeEnumGLOBALr   PromptForDeletionr)   formatlenr   sslPoliciesr
   WaitForr   OperationBatch)
r   argsholderhelperrA   refsrefoperation_refswait_messageoperation_pollers
             r   Run
Delete.RunB   s    **4+<+<+>?F//7F]]**F00m.E.E.L.L 1 ND	D!489DSmmC(DN9$++N+a/hAL(8J8JK>>* //?O O	 :s   'D1r   )
r"   r#   r$   r%   __doc__r3   classmethodr7   rV   r&   r   r   r   r)   r)   +   s(     .D D
Or   r)   N)rX   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   )googlecloudsdk.api_lib.compute.operationsr   +googlecloudsdk.api_lib.compute.ssl_policiesr	   googlecloudsdk.api_lib.utilr
   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer   rE   /googlecloudsdk.command_lib.compute.ssl_policiesr   BatchPollerr   DeleteCommandr)   r   r   r   <module>rd      sQ    & &  ' 7 0 < J . ( E A	** 	%OT %Or   