
                             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  \	R                    " S
 S\	R"                  5      5       rg)zCommand for deleting addresses.    )absolute_import)division)unicode_literals)base_classes)utils)base)flags)scopec                   2    \ rS rSrSrSr\S 5       rS rSr	g)Delete   a?  Release reserved IP addresses.

*{command}* releases one or more Compute Engine IP addresses.

## EXAMPLES

To release an address with the name 'address-name', run:

  $ {command} address-name

To release two addresses with the names 'address-name1' and 'address-name2',
run:

  $ {command} address-name1 address-name2
Nc                     [         R                  " SS9U l        U R                  R                  USS9  UR                  R                  [         R                  5        g )NT)requireddelete)operation_type)r	   AddressArgumentADDRESSES_ARGAddArgumentdisplay_infoAddCacheUpdaterAddressesCompleter)clsparsers     'lib/surface/compute/addresses/delete.pyArgsDelete.Args1   sH    --t<C!!&!B
''(@(@A    c                 >   [         R                  " U R                  5       5      nUR                  nU R                  R                  XR                  [        R                  R                  [        R                  " U5      S9n[        R                  " U5        / nU H  nUR                  5       S:X  a\  UR                  R!                  UR#                  5       UR$                  S9nUR'                  UR(                  R*                  SU45        Ms  UR                  5       S:X  d  M  UR                  R-                  UR#                  5       UR$                  UR.                  S9nUR'                  UR(                  R0                  SU45        M     UR3                  U5      $ )z.Issues requests necessary to delete Addresses.)default_scopescope_listerzcompute.globalAddresses)addressprojectr   zcompute.addresses)r!   r"   region)r   ComputeApiHolderReleaseTrackclientr   ResolveAsResource	resourcescompute_scope	ScopeEnumREGIONcompute_flagsGetDefaultScopeListerr   PromptForDeletion
Collectionmessages#ComputeGlobalAddressesDeleteRequestNamer"   appendapitools_clientglobalAddressesComputeAddressesDeleteRequestr#   	addressesMakeRequests)selfargsholderr&   address_refsrequestsaddress_refrequests           r   Run
Delete.Run7   sj   **4+<+<+>?F]]F%%77#--44"88@ 8 BL
 
L)H#				!%>	>//EE$$&'' F 
 	//?? " 	#!!#':://??$$&''%% @ 

 	//998WMN $  x((r    )
__name__
__module____qualname____firstlineno____doc__r   classmethodr   r@   __static_attributes__rB   r   r   r   r      s'      -B B
)r   r   N)rG   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer	   r,   r
   r)   ,googlecloudsdk.command_lib.compute.addressesUniverseCompatibleDeleteCommandr   rB   r   r   <module>rQ      sL    & &  ' 7 0 ( E E > 5)T 5) 5)r   