
    ;                         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 dd
lmZ  G d dej                         Zdddj%                  dd      de_        y)z>Implements the command to upload yum packages to a repository.    )absolute_import)division)unicode_literals)transfer)apis)waiter)base)flags)	resourcesc                   *    e Zd ZdZdZed        Zd Zy)Upload0Upload an RPM package to an artifact repository.v1c                     t        j                         j                  |        t        j                  j                  |        | j                  dddd       y)z\Set 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/yum/upload.pyArgszUpload.Args#   sN     
""6*OO'
0	  1    c                    t        j                  d| j                        }|j                  }d|j                  d<   |j
                  j                  j                         }|j                  } |       }|j                  ||j                               }t        j                  j                  |j                  d      }|j                  j                  ||      }	|	j                   }
t"        j$                  j'                  |
j(                  d	      }|j*                  r|S t-        j.                  t-        j0                  |j2                        |d
      }|S )zRun package import command.artifactregistry	multipartzX-Goog-Upload-Protocol)uploadYumArtifactRequestparentzapplication/x-rpm)	mime_type)uploadz.artifactregistry.projects.locations.operations)
collectionzUploading package)r   GetClientInstanceapi_versionMESSAGES_MODULEadditional_http_headersCONCEPTS
repositoryParseUploadYumArtifactRequestFArtifactregistryProjectsLocationsRepositoriesYumArtifactsUploadRequestRelativeNamer   r   FromFilesource,projects_locations_repositories_yumArtifacts	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   Runz
Upload.Run4   sA   ##$68H8HIF%%H?JF""#;<}}''--/H22J\N]]!/$$& ^ (G __%%2 & 4F @@GG H  F 
		B11
L 2 NF {{m~~

0
0224
%'f
 mr   N)__name__
__module____qualname____doc__r&   staticmethodr   rF    r   r   r   r      s!    8+1 1 "r   r   r   zV
      *{command}* uploads an RPM package to the specified artifact repository.
      z
      To upload the package `my-package.rpm` to `my-repo`, run:

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