ó
    €Ï>  ã                   óÞ   • 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	rS
rSrSrSS jrSS jr\R&                  R(                  4S jr " S S\
R,                  5      rg)zGKEHUB API client utils.é    )Úabsolute_import)Údivision)Úunicode_literals)Úencoding)Úapis)Úwaiter)ÚbaseÚgkehubÚv1alphaÚv1betaÚv1Nc                 óP  • U (       d  [         R                  " [        5      $ U [        R                  R
                  :X  a  [        $ U [        R                  R                  :X  a  [        $ U [        R                  R                  :X  a  [        $ [         R                  " [        5      $ ©N)Ú	core_apisÚResolveVersionÚGKEHUB_API_NAMEr	   ÚReleaseTrackÚALPHAÚGKEHUB_ALPHA_API_VERSIONÚBETAÚGKEHUB_BETA_API_VERSIONÚGAÚGKEHUB_GA_API_VERSION©Úrelease_tracks    Ú=lib/googlecloudsdk/api_lib/container/fleet/gkehub_api_util.pyÚGetApiVersionForTrackr   !   su   € Þ	Ü×#Ò#¤OÓ4Ð4Øœ×)Ñ)×/Ñ/Ó/Ü#Ð#Øœ×)Ñ)×.Ñ.Ó.Ü"Ð"Øœ×)Ñ)×,Ñ,Ó,Ü Ð Ü	×	!Ò	!¤/Ó	2Ð2ó    c                 óz   • U (       d  [         R                  " [        5      n [         R                  " [        U 5      $ r   )r   r   r   ÚGetClientInstance)Úapi_versions    r   ÚGetApiClientForApiVersionr"   -   s(   € Þ	Ü×*Ò*¬?Ó;€KÜ	×	$Ò	$¤_°kÓ	BÐBr   c                 ó&   • [        [        U S95      $ )Nr   )r"   r   r   s    r   ÚGetApiClientForTrackr$   3   s   € Ü	"Ü¨-Ñ8ó
ð r   c                   ó$   • \ rS rSrSrS rS rSrg)ÚHubFeatureOperationPolleré9   z©Poller for GKE Hub Feature API.

This is necessary because the CloudOperationPoller library doesn't support
setting the `returnPartialSuccess` field in the Get request.
c                 ó   • Xl         X l        g)a›  Sets up poller for cloud operations.

Args:
  result_service: apitools.base.py.base_api.BaseApiService, api service for
    retrieving created result of initiated operation.
  operation_service: apitools.base.py.base_api.BaseApiService, api service
    for retrieving information about ongoing operation.

  Note that result_service and operation_service Get request must have
  single attribute called 'name'.
N)Úresult_serviceÚoperation_service)Úselfr)   r*   s      r   Ú__init__Ú"HubFeatureOperationPoller.__init__@   s   € ð )ÔØ.Õr   c                 ó¾   • U R                   R                  S5      n[        R                  " UR                  5      nU R                   R                  U" US   SS95      $ )znOverrides.

Args:
  operation: api_name_messages.Operation.

Returns:
  result of result_service.Get request.
ÚGetÚnameT)r0   ÚreturnPartialSuccess)r)   ÚGetRequestTyper   ÚMessageToPyValueÚresponser/   )r+   Ú	operationÚrequest_typeÚresponse_dicts       r   Ú	GetResultÚ#HubFeatureOperationPoller.GetResultO   sX   € ð ×&Ñ&×5Ñ5°eÓ<€LÜ×-Ò-¨i×.@Ñ.@ÓA€MØ×Ñ×"Ñ"Ù˜-¨Ñ/ÀdÑKóð r   )r*   r)   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r,   r8   Ú__static_attributes__© r   r   r&   r&   9   s   † ñò/õr   r&   r   )r>   Ú
__future__r   r   r   Úapitools.base.pyr   Úgooglecloudsdk.api_lib.utilr   r   r   Úgooglecloudsdk.callioper	   r   r   r   r   r   r"   r   r   r$   ÚCloudOperationPollerr&   r@   r   r   Ú<module>rF      sk   ðñ å &Ý Ý 'å %Ý 9Ý .Ý (ð €Ø$Ð Ø"Ð ØÐ ô	3ôCð (,×'8Ñ'8×';Ñ';ô ô# × ;Ñ ;õ #r   