
    ?
                     8   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 dd	lmZ  ej                  ej                   j"                  ej                   j$                  ej                   j&                         G d
 dej(                               Zy)z)Command to delete an Organization Policy.    )absolute_import)division)unicode_literals)org_policies)base)org_policies_base)org_policies_flags)logc                   6    e Zd ZdZed        Zd Zed        Zy)DeletePolicya/  Delete an Organization Policy.

  Deletes an Organization Policy associated with the specified resource.

  ## EXAMPLES

  The following command clears an Organization Policy for constraint
  `serviceuser.services` on project `foo-project`:

    $ {command} serviceuser.services --project=foo-project
  c                 X    t        j                  |        t        j                  |        y N)flagsAddIdArgToParserAddParentResourceFlagsToParser)parsers    3lib/surface/resource_manager/org_policies/delete.pyArgszDeletePolicy.Args+   s    	6"	((0    c                     t        j                  |      }|j                  | j                  |            }t	        j
                  |       y r   )r   OrgPoliciesServiceClearOrgPolicyClearOrgPolicyRequestr
   DeletedResource)selfargsserviceresults       r   RunzDeletePolicy.Run0   s;    2248G##D$>$>t$DEFr   c                 n   t        j                         }t        j                  |       }|j	                  t        j
                  | j                              }| j                  r|j                  ||      S | j                  r|j                  ||      S | j                  r|j                  ||      S y )N)
constraint)
projectsIdclearOrgPolicyRequest)organizationsIdr#   )	foldersIdr#   )r   OrgPoliciesMessagesr   GetResourcer   FormatConstraintidproject1CloudresourcemanagerProjectsClearOrgPolicyRequestorganization6CloudresourcemanagerOrganizationsClearOrgPolicyRequestfolder0CloudresourcemanagerFoldersClearOrgPolicyRequest)r   messagesresource_idrequests       r   r   z"DeletePolicy.ClearOrgPolicyRequest6   s    //1H#//5K,,009 - ;G ||GG  H A A			LL%W M F F	FFw G @ @r   N)__name__
__module____qualname____doc__staticmethodr   r   r    r   r   r   r      s4    
 1 1   r   r   N)r6   
__future__r   r   r   'googlecloudsdk.api_lib.resource_managerr   googlecloudsdk.callioper   +googlecloudsdk.command_lib.resource_managerr   r	   r   googlecloudsdk.corer
   ReleaseTracksReleaseTrackALPHABETAGADeleteCommandr   r8   r   r   <module>rD      s{    0 &  ' @ ( I S # D%%++T->->-C-C%%((*(4%% (*(r   