
    m                         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  SSKJr   " S S\R.                  5      rg)zGUtilities for gkeonprem API clients for VMware admin cluster resources.    )absolute_import)division)unicode_literals)	Generator)
exceptions)
list_pager)client)update_mask)parser_extensions)flags)
properties)gkeonprem_v1_messagesc                   f  ^  \ rS rSrSrU 4S jr SS\R                  4S jjrS\	R                  S\R                  4S jrS\	R                  S\\R                  SS4   4S	 jr  SS\	R                  S\R                  4S
 jjr SS\	R                  4S jjr SS\	R                  4S jjrSrU =r$ )AdminClustersClient!   z,Client for clusters in gkeonprem vmware API.c                 d   > [         [        U ]
  " S0 UD6  U R                  R                  U l        g )N )superr   __init___client&projects_locations_vmwareAdminClusters_service)selfkwargs	__class__s     Glib/googlecloudsdk/api_lib/container/gkeonprem/vmware_admin_clusters.pyr   AdminClustersClient.__init__$   s'    	
t-77LLGGDM    Nreturnc                 $   U(       a  UOU R                  U5      U(       a  UOU R                  U5      S.n[        R                  " U(       a  UOU R	                  U5      [        R
                  " S0 UD6S9nU R                  R                  U5      $ )z-Enrolls an admin cluster to Anthos on VMware.)
membershipvmwareAdminClusterId)parentenrollVmwareAdminClusterRequestr   )_admin_cluster_membership_name_admin_cluster_idmessages:GkeonpremProjectsLocationsVmwareAdminClustersEnrollRequest_admin_cluster_parentEnrollVmwareAdminClusterRequestr   Enroll)r   argsr!   vmware_admin_cluster_idr#   r   reqs          r   r+   AdminClustersClient.Enroll(   s      44T: ' $''-F 
M
MvT%?%?%E(0(P(P )
)
C ==$$r   r,   c                     U R                  U5      U R                  US5      U R                  US5      U R                  US5      S.n[        R                  " S0 UD6nU R                  R                  U5      $ )z,Unenrolls an Anthos on VMware admin cluster.validate_onlyallow_missingignore_errors)namevalidateOnlyallowMissingignoreErrorsr   )_admin_cluster_nameGetFlagr'   <GkeonpremProjectsLocationsVmwareAdminClustersUnenrollRequestr   Unenroll)r   r,   r   r.   s       r   r;   AdminClustersClient.Unenroll@   st     ((.T?;T?;T?;	F 
O
O 
C ==!!#&&r   c           
         UR                   (       a  UR                   O1[        R                  R                  R                   R	                  5       nSR                  USS9n[        R                  " US9n U R                  R                  R                  U5      nSUR                  5       ;  a>  [        R                  R                  R                   R	                  5       (       d  SUl        [        R"                  " U R%                  U5      S9n[&        R(                  " U R*                  US[,        R                  " US5      [,        R                  " US	5      S
S9$ ! [        R                  [        R                  4 a     Nf = f)z3Lists Admin Clusters in the GKE On-Prem VMware API.z'projects/{project}/locations/{location}zus-west1)projectlocation)r#   r?   -vmwareAdminClusters	page_sizelimitpageSize)field
batch_sizerC   batch_size_attribute)r>   r   VALUEScoreGetformatr'   AGkeonpremProjectsLocationsVmwareClustersQueryVersionConfigRequestr   !projects_locations_vmwareClustersQueryVersionConfigapitools_exceptionsHttpUnauthorizedErrorHttpForbiddenErrorGetSpecifiedArgsDictcontainer_vmwarer?   8GkeonpremProjectsLocationsVmwareAdminClustersListRequest_location_namer   YieldFromListr   r   )r   r,   r>   r#   dummy_request_list_reqs          r   ListAdminClustersClient.ListM   sO    **;*;*@*@*H*H*L*L*N  7==* > F ^^M

,,
8
8
K
K
a 	$3355!!22;;??AAdm 	II&&t,	
  ###99T;/iig&' ' 	11..  s   5%E $FFc                 6   [         R                  " U[         R                  5      nU(       a  SnU(       a  UR                  5       OU R	                  U5      UU R                  X5      S.n[        R                  " S0 UD6nU R                  R                  U5      $ )z-Updates an admin cluster to Anthos on VMware. )r4   
updateMaskvmwareAdminClusterr   )
r
   get_update_mask)VMWARE_ADMIN_CLUSTER_ARGS_TO_UPDATE_MASKSRelativeNamer8   _vmware_admin_clusterr'   9GkeonpremProjectsLocationsVmwareAdminClustersPatchRequestr   Patch)r   r,   cluster_refis_user_cluster_upgrademaskr   r.   s          r   UpdateAdminClustersClient.Update~   s     &&kCCD d
  $$&))$/"88

F 
L
L 
C ==s##r   c                    0 nU(       a  U R                  US5      US'   O/U R                  US5      US'   [        R                  " US5      US'   [        UR	                  5       5      (       a  [
        R                  " S0 UD6$ g)z,Constructs proto message VmwareAdminCluster.TplatformConfigFversiononPremVersionNr   )_platform_configr   rJ   anyvaluesr'   VmwareAdminCluster)r   r,   rg   r   s       r   rc   )AdminClustersClient._vmware_admin_cluster   sy     F!%!6!6tT!Bf!%!6!6tU!Cf %		$	 :f_
6==?((2622r   c                     [         R                  " US5      nUc  U(       a  [         R                  " US5      nSU0n[        UR                  5       5      (       a  [        R
                  " S0 UD6$ g)z/Constructs proto message field platform_config.required_platform_versionNrm   requiredPlatformVersionr   )r   rJ   rp   rq   r'   VmwarePlatformConfig)r   r,   rg   ru   r   s        r   ro   $AdminClustersClient._platform_config   si     !&		$0K L (-D"'))D)"< 	"#<F 6==?**4V44r   )r   )NNN)NF)F)__name__
__module____qualname____firstlineno____doc__r   r'   	Operationr+   r   	Namespacer;   r   rr   rZ   ri   rc   ro   __static_attributes____classcell__)r   s   @r   r   r   !   s    4H
 IM%%0',66 '8;M;M '/#--/,,dD89/h #	$''$
 $> HM#--  HM#-- r   r   N)r}   
__future__r   r   r   typingr   apitools.base.pyr   rO   r   *googlecloudsdk.api_lib.container.gkeonpremr	   r
   googlecloudsdk.callioper   +googlecloudsdk.command_lib.container.vmwarer   googlecloudsdk.corer   2googlecloudsdk.generated_clients.apis.gkeonprem.v1r   r'   
ClientBaser   r   r   r   <module>r      sC    N &  '  > ' = B 5 = * `W&++ Wr   