
                             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  \R(                   " S S\R*                  5      5       rg)z2gcloud dns record-sets transaction remove command.    )absolute_import)division)unicode_literals)
list_pager)resource_record_sets)transaction_util)util)base)flags)log)
propertiesc                   .    \ rS rSrSr\S 5       rS rSrg)Remove!   a  Append a record-set deletion to the transaction.

This command appends a record-set deletion to the transaction.

## EXAMPLES

To remove an A record, run:

  $ {command} --zone=MANAGED_ZONE --name=my.domain. --ttl=1234 \
      --type=A "1.2.3.4"

To remove a TXT record with multiple data values, run:

  $ {command} --zone=MANAGED_ZONE --name=my.domain. --ttl=2345 \
      --type=TXT "Hello world" "Bye world"
c                     [         R                  " 5       R                  U 5        U R                  SSSS9  U R                  SS[        SS9  U R                  SSS	S9  U R                  S
SSS9  g )Nz--nameTz)DNS name of the record-set to be removed.)requiredhelpz--ttlz%TTL for the record-set to be removed.)r   typer   z--typez%Type of the record-set to be removed.rrdatas+)nargsr   )r   
GetZoneArgAddToParseradd_argumentint)parsers    1lib/surface/dns/record_sets/transaction/remove.pyArgsRemove.Args4   s    	""6*
48  : $S4  6 44  6 8  :    c           
      6   SnU R                  5       [        R                   R                  :X  a  SnO.U R                  5       [        R                   R                  :X  a  Sn[        R
                  " UR                  5       n[        R                  " X2S9nS S S 5        [        R                  " U5      n[        R                  " U5      R                  UR                  S[        R                  R                  R                   R"                  0SS9n[$        R&                  " UUR                   US9n[(        R*                  " UR,                  UR.                  R1                  UR                   UR3                  5       [        R4                  " UR6                  5      UR8                  S9S	S
9 Vs/ s H  oPM     n	nU	(       a	  U	S   U:w  a  [        R:                  " S5      eWR<                  R?                  U5        [        R
                  " UR                  S5       n[        R@                  " X45        S S S 5        [B        RD                  RG                  SRI                  UR                  5      5        g ! , (       d  f       GN= fs  snf ! , (       d  f       N^= f)Nv1v1beta2v1alpha2)api_versionprojectzdns.managedZones)params
collection)r&   managedZonenamer   rrsets)fieldr   z#Record to be removed does not existwz0Record removal appended to transaction at [{0}].)%ReleaseTrackr
   BETAALPHA
trans_utilTransactionFiletransaction_fileChangeFromYamlFiler	   GetApiClientGetRegistryParsezoner   VALUEScorer&   	GetOrFailrrsets_utilCreateRecordSetFromArgsr   YieldFromListresourceRecordSetsMESSAGES_MODULE DnsResourceRecordSetsListRequestNameAppendTrailingDotr*   r   RecordDoesNotExist	deletionsappendWriteToYamlFiler   statusPrintformat)
selfargsr%   
trans_filechangednszone_refrecord_to_removerecordexisting_recordss
             r   Run
Remove.RunD   s&   K d//444k				 1 1 7 7	7k		#	#D$9$9	:j,,
/f 
; 

K
(C ,22		z((--55??
 & 3 'H #::!
 .8-E-E<<$$ ''		2	 	= 	
 .  .6 .  /26FF))*OPP
,-		#	#D$9$93	?:  4 
@ JJ:AA!!	#$G 
;	:& 
@	?s    I3,JJ
3
J

J N)	__name__
__module____qualname____firstlineno____doc__staticmethodr   rT   __static_attributes__rV   r    r   r   r   !   s     " : :.$r    r   N)r[   
__future__r   r   r   apitools.base.pyr   googlecloudsdk.api_lib.dnsr   r<   r   r1   r	   googlecloudsdk.callioper
   googlecloudsdk.command_lib.dnsr   googlecloudsdk.corer   r   UniverseCompatibleCommandr   rV   r    r   <module>rf      sS     9 &  ' ' J E + ( 0 # * P$T\\ P$ P$r    