
    X                         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\R                   5      rSSSR%                  SS5      S.\l        g)zAImplements the command to upload Debian packages to a repository.    )absolute_import)division)unicode_literals)transfer)apis)waiter)base)flags)	resourcesc                   2    \ rS rSrSrSr\S 5       rS rSr	g)Upload   2Upload a Debian package to an artifact repository.v1c                     [         R                  " 5       R                  U 5        [        R                  R                  U 5        U R                  SSSSS9  g)zPSet up arguements for this command.

Args:
  parser: An argparse.ArgumentPaser.
z--sourceSOURCETz,            The path of a package to upload.)metavarrequiredhelpN)r
   
GetRepoArgAddToParserr	   
ASYNC_FLAGadd_argument)parsers    #lib/surface/artifacts/apt/upload.pyArgsUpload.Args#   sN     
""6*OO'
0	  1    c                    [         R                  " SU R                  5      nUR                  nSUR                  S'   UR
                  R                  R                  5       nUR                  nU" 5       nUR                  UUR                  5       S9n[        R                  R                  UR                  SS9nUR                  R                  XxS9n	U	R                   n
["        R$                  R'                  U
R(                  SS	9nUR*                  (       a  U$ [,        R.                  " [,        R0                  " UR2                  5      US
5      nU$ )zRun package import command.artifactregistry	multipartzX-Goog-Upload-Protocol)uploadAptArtifactRequestparentz%application/vnd.debian.binary-package)	mime_type)uploadz.artifactregistry.projects.locations.operations)
collectionzUploading package)r   GetClientInstanceapi_versionMESSAGES_MODULEadditional_http_headersCONCEPTS
repositoryParseUploadAptArtifactRequestFArtifactregistryProjectsLocationsRepositoriesAptArtifactsUploadRequestRelativeNamer   r   FromFilesource,projects_locations_repositories_aptArtifacts	operationr   REGISTRYParseRelativeNamenameasync_r   WaitForCloudOperationPollerNoResourcesprojects_locations_operations)selfargsclientmessagesrepo_ref
upload_requpload_requestrequestr%   op_objopop_refresults                r   Run
Upload.Run4   s@   ##$68H8HIF%%H?JF""#;<}}''--/H22J\N]]!/$$& ^ (G __%%F & HF @@GG H  F 
		B11
L 2 NF {{m~~

0
0224
%'f
 mr    N)
__name__
__module____qualname____firstlineno____doc__r(   staticmethodr   rH   __static_attributes__rJ   r   r   r   r      s!    :+1 1 "r   r   r   zX
      *{command}* uploads a Debian package to the specified artifact repository.
      z
      To upload the package `my-package.deb` to `my-repo`, run:

        $ {0} my-repo --location=us-central1 --source={1}
    z	{command}zmy-package.deb)briefDESCRIPTIONEXAMPLESN)rO   
__future__r   r   r   apitools.base.pyr   googlecloudsdk.api_lib.utilr   r   googlecloudsdk.callioper	   $googlecloudsdk.command_lib.artifactsr
   googlecloudsdk.corer   Commandr   formatdetailed_helprJ   r   r   <module>r^      s`     H &  ' % , . ( 6 )8T\\ 8x B
 	{,-
 r   