
                         f    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	\5      rg
)z&Public advertised prefixes api client.    )absolute_import)division)unicode_literals)poller)waiter)	arg_utilsc                   <    \ rS rSrSrS rS rS rS rS r	S r
S	rg
)PublicAdvertisedPrefixesClient   z=Client for public advertised prefixes service in the GCE API.c                 r    Xl         X l        X0l        U R                   R                  R                  U l        g )N)clientmessages	resourcesapitools_clientpublicAdvertisedPrefixes_service)selfr   r   r   s       @lib/googlecloudsdk/api_lib/compute/public_advertised_prefixes.py__init__'PublicAdvertisedPrefixesClient.__init__   s(    KMNKK//HHDM    c                 |   U(       a+  U R                   R                  UR                  5       UUUS9nO)U R                   R                  UR                  5       UUS9nUb  X7l        Ub  Xgl        U R                   R                  UUR                  S9nU R                  R                  U R                  SU4/5      S   $ )z#Creates a public advertised prefix.)nameipCidrRangedescriptionpdpScope)r   r   r   publicAdvertisedPrefixprojectInsertr   )
r   PublicAdvertisedPrefixNamednsVerificationIpipv6AccessType,ComputePublicAdvertisedPrefixesInsertRequestr   r   MakeRequestsr   )	r   pap_refip_cidr_rangedns_verification_ipr   	pdp_scopeipv6_access_typepublic_advertised_prefixrequests	            r   Create%PublicAdvertisedPrefixesClient.Create#   s     !%!E!E||~#!	 "F " "&!E!E||~#! "F "#
 &3F0#0@-mmHH7 I !G ;;##dmmXw%G$HI!LLr   c                     U R                   R                  UR                  5       UR                  S9nU R                  R                  U R                  SU4/5      $ )z#Deletes a public advertised prefix.r   Delete)r   ,ComputePublicAdvertisedPrefixesDeleteRequestr"   r   r   r&   r   r   r'   r-   s      r   r1   %PublicAdvertisedPrefixesClient.DeleteD   sS     mmHH&||~w I HG ;;##dmmXw%G$HIIr   c                     U R                   R                  UR                  5       UR                  S9nU R                  R                  U R                  SU4/5      $ )z$Announce a public advertised prefix.r   Announce)r   .ComputePublicAdvertisedPrefixesAnnounceRequestr"   r   r   r&   r   r3   s      r   r6   'PublicAdvertisedPrefixesClient.AnnounceL   S     mmJJ&||~w K HG ;;##dmmZ%I$JKKr   c                     U R                   R                  UR                  5       UR                  S9nU R                  R                  U R                  SU4/5      $ )z$Withdraw a public advertised prefix.r   Withdraw)r   .ComputePublicAdvertisedPrefixesWithdrawRequestr"   r   r   r&   r   r3   s      r   r;   'PublicAdvertisedPrefixesClient.WithdrawT   r9   r   c           	         [         R                  " X R                  R                  R                  5      nU R
                  R                  U R                  R                  R                  " S0 UR                  5       D65      nU R                  R                  UR                  UR                  5       U R                  R                  X#R                  S9S9nU R
                  R                  U5      nU R                  R!                  UR"                  SS9n[$        R&                  " U R
                  5      n[(        R*                  " XvSR-                  UR                  5       5      5      $ )z!Updates public advertised prefix.)statusfingerprint)r   r   publicAdvertisedPrefixResourcezcompute.globalOperations)
collectionz'Updating public advertised prefix [{}]. )r   ChoiceToEnumr   r!   StatusValueValuesEnumr   Getr   )ComputePublicAdvertisedPrefixesGetRequestAsDict+ComputePublicAdvertisedPrefixesPatchRequestr   r"   r@   Patchr   ParseselfLinkr   Pollerr   WaitForformat)r   r'   r?   original_papr-   	operationoperation_refoperation_pollers           r   rJ   $PublicAdvertisedPrefixesClient.Patch\   s-    ##44JJLF==$$FF 	 nn	 !L mmGG&||~'+}}'K'K'?'? (L (A H BG ##G,INN(('A ) CM }}T]]3>>188HJ Jr   )r   r   r   r   N)__name__
__module____qualname____firstlineno____doc__r   r.   r1   r6   r;   rJ   __static_attributes__rC   r   r   r
   r
      s*    EIMBJLLJr   r
   N)rY   
__future__r   r   r   )googlecloudsdk.api_lib.compute.operationsr   googlecloudsdk.api_lib.utilr   $googlecloudsdk.command_lib.util.apisr   objectr
   rC   r   r   <module>r`      s,    - &  ' < . :XJV XJr   