
    e                     
   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\	4S	 jr
S
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r S  r!S! r"S" r#S# r$S$ r%S% r&S& r'S' r(g())z9Base classes for commands for MembershipFeature resource.    )absolute_import)division)unicode_literals)encoding)basemembership_pathfeature_namec                    U R                   R                  5       nU SU 3Ul        U R                   R                  5       Ul        [        XR                  5      UR                  l        US:X  a&  [        XR                  5      UR                  l        U$ US:X  a&  [        XR                  5      UR                  l
        U$ [        SUR                   35      e)zDConverts a v1alpha MembershipFeature to a v2alpha MembershipFeature.z
/features/policycontrollerconfigmanagementz Unsupported membership feature: )messages_v2MembershipFeaturenameFeatureSpecspec_ToV2Originorigin_ToV2PolicyControllerSpecr   _ToV2ConfigManagementSpecr   
ValueError)selfr   r	   v1_membership_feature_specv2_membershipfeatures        Llib/googlecloudsdk/command_lib/container/fleet/membershipfeatures/convert.pyToV2MembershipFeaturer      s     ));;=!0 1L>J"..::<%0
--&" ''1J992. 
 ))1J992. 
 
*+?+D+D*EF     c                 6   Uc  gU R                   R                  5       nU R                  5       [        R                  R                  L d+  U R                  5       [        R                  R
                  L a  [        XR                  5      Ul        UR                  Ul        [        XR                  5      Ul
        [        XR                  5      Ul        [        XR                  5      Ul        [        XR                   5      Ul        UR"                  Ul        U$ )zTConverts a v1alpha ConfigManagementMembershipSpec to a v2alpha ConfigManagementSpec.N)r   ConfigManagementSpecReleaseTrackr   ALPHABETA#_ToV2ConfigManagementBinauthzConfigbinauthzcluster_ToV2ConfigManagementConfigSync
configSync(_ToV2ConfigManagementHierarchyControllerhierarchyController._ToV2ConfigManagementManagementValueValuesEnum
management%_ToV2ConfigManagementPolicyControllerpolicyControllerversion)r   v1_configmanagement_specv2_configmanagement_specs      r   r   r   7   s   
 %!--BBD
T..444				 1 1 6 6	6(K//)% &>%E%E"(G
//)% /
<< . 5
33 % ,
99 +
 &>%E%E"	!!r   c                 d    Uc  gU R                   R                  5       nUR                  Ul        U$ )z^Converts a v1alpha ConfigManagementBinauthzConfig to a v2alpha ConfigManagementBinauthzConfig.N)r   ConfigManagementBinauthzConfigenabled)r   v1_binauthz_configv2_binauthz_configs      r   r"   r"   _   s7    
 ''FFH199	r   c                    Uc  gU R                   R                  5       nUR                  Ul        [        XR                  5      Ul        UR
                   Vs/ s H  n[        X5      PM     snUl        UR                  Ul        [        XR                  5      Ul	        UR                  Ul
        UR                  Ul        UR                  Ul        U$ s  snf )zVConverts a v1alpha ConfigManagementConfigSync to a v2alpha ConfigManagementConfigSync.N)r   ConfigManagementConfigSyncr2   _ToV2ConfigManagementGitConfiggitdeploymentOverrides'_ToV2ConfigManagementDeploymentOverridemetricsGcpServiceAccountEmail_ToV2ConfigManagementOciConfigocipreventDriftsourceFormatstopSyncing)r   v1_configsyncv2_configsyncdeployment_overrides       r   r%   r%   l   s    
 ""==?-'//-4T;L;LM- "/!B!B'!B
 .dH!B'-#
 11 - 5T;L;LM-,99-,99-+77-	's   Cc                     Uc  gU R                   R                  5       nUR                  Ul        UR                  Ul        UR                   Vs/ s H  n[        X5      PM     snUl        U$ s  snf )zfConverts a v1alpha ConfigManagementDeploymentOverride to a v2alpha ConfigManagementDeploymentOverride.N)r   "ConfigManagementDeploymentOverridedeploymentNamedeploymentNamespace
containers&_ToV2ConfigManagementContainerOverride)r   v1_deployment_overridev2_deployment_override	containers       r   r:   r:      s}    
 #++NNP*@*O*O'00 ,
 .88'8) -T=8'# 
 	's   A.c                     Uc  gU R                   R                  5       nUR                  Ul        UR                  Ul        UR                  Ul        UR
                  Ul        UR                  Ul        U$ )zdConverts a v1alpha ConfigManagementContainerOverride to a v2alpha ConfigManagementContainerOverride.N)r   !ConfigManagementContainerOverridecontainerName
cpuRequestmemoryRequestcpuLimitmemoryLimit)r   v1_containerv2_containers      r   rI   rI      sm    
 !!CCE,+99,(33,+99,&//,)55,	r   c                 R   Uc  gU R                   R                  5       nUR                  Ul        UR                  Ul        UR                  Ul        UR
                  Ul        UR                  Ul        UR                  Ul        UR                  Ul        UR                  Ul	        U$ )zTConverts a v1alpha ConfigManagementGitConfig to a v2alpha ConfigManagementGitConfig.N)
r   ConfigManagementGitConfiggcpServiceAccountEmail
httpsProxy	policyDir
secretType
syncBranchsyncReposyncRevsyncWaitSecs)r   v1_git_configv2_git_configs      r   r7   r7      s    
 ""<<>-)6)M)M-&*55-)33-*55-*55-(11-'//-,99-	r   c                     Uc  gU R                   R                  5       nUR                  Ul        UR                  Ul        UR                  Ul        UR
                  Ul        UR                  Ul        U$ )zTConverts a v1alpha ConfigManagementOciConfig to a v2alpha ConfigManagementOciConfig.N)r   ConfigManagementOciConfigrX   rZ   r[   r]   r_   )r   v1_oci_configv2_oci_configs      r   r<   r<      sm    
 ""<<>-)6)M)M-&)33-*55-(11-,99-	r   c                     Uc  gU R                   R                  5       nUR                  Ul        UR                  Ul        UR                  Ul        U$ )zhConverts a v1alpha ConfigManagementHierarchyController to a v2alpha ConfigManagementHierarchyController.N)r   )ConfigManagementHierarchyControllerConfigenableHierarchicalResourceQuotaenablePodTreeLabelsr2   )r   v1_hierarchy_controllerv2_hierarchy_controllers      r   r'   r'      sc    
 $ @@B  == 9 11 - %<$C$C!	  r   c                 0   Uc  gUU R                   R                  R                  R                  L a*  U R                  R
                  R                  R                  $ UU R                   R                  R                  R                  L a*  U R                  R
                  R                  R                  $ UU R                   R                  R                  R                  L a*  U R                  R
                  R                  R                  $ [        SU 35      e)zConverts a v1alpha ConfigManagementMembershipSpec.ManagementValueValuesEnum to a v2alpha ConfigManagementManagementValueValuesEnum.NzUnsupported management value: )	messagesConfigManagementMembershipSpecManagementValueValuesEnumMANAGEMENT_UNSPECIFIEDr   r   MANAGEMENT_AUTOMATICMANAGEMENT_MANUALr   )r   v1_managements     r   r)   r)      s    
  		5	5	O	O	f	fg 	--GG^^ 		5	5	O	O	d	de 	--GG\\ 		5	5	O	O	a	ab 	--GGYY 5m_E
FFr   c                    Uc  gU R                   R                  5       nUR                  Ul        UR                  Ul        UR                  Ul        UR
                  Ul        [        XR                  5      Ul        UR                  Ul        UR                  Ul	        UR                  Ul
        UR                  Ul        U$ )zbConverts a v1alpha ConfigManagementPolicyController to a v2alpha ConfigManagementPolicyController.N)r    ConfigManagementPolicyControllerauditIntervalSecondsr2   exemptableNamespaceslogDeniesEnabled/_ToV2ConfigManagementPolicyControllerMonitoring
monitoringmutationEnabledreferentialRulesEnabledtemplateLibraryInstalled
updateTime)r   v1_policycontrollerv2_policycontrollers      r   r+   r+     s    
  ((IIK.. * !4 ; ;.. * *=)M)M&5
..  
 )<(K(K%11 - 22 . $7#A#A 	r   c                     Uc  gU R                   R                  5       nUR                   Vs/ s H  n[        X5      PM     snUl        U$ s  snf )zvConverts a v1alpha ConfigManagementPolicyControllerMonitoring to a v2alpha ConfigManagementPolicyControllerMonitoring.N)r   *ConfigManagementPolicyControllerMonitoringbackendsO_ToV2ConfigManagementPolicyControllerMonitoringBackendsValueListEntryValuesEnumr   v1_monitoringv2_monitoringbackends       r   ry   ry   $  sc    
 ""MMO-
 #++	 ,' V
 ,	- 
   Ac                 0   Uc  gUU R                   R                  R                  R                  L a*  U R                  R                  R                  R                  $ UU R                   R                  R                  R
                  L a*  U R                  R                  R                  R
                  $ UU R                   R                  R                  R                  L a*  U R                  R                  R                  R                  $ [        SU 35      e)zConverts a v1alpha ConfigManagementPolicyControllerMonitoring.BackendsValueListEntryValuesEnum to a v2alpha ConfigManagementPolicyControllerMonitoring.BackendsValueListEntryValuesEnum.N Unsupported monitoring backend: )rm   r    BackendsValueListEntryValuesEnumMONITORING_BACKEND_UNSPECIFIEDr   
PROMETHEUSCLOUD_MONITORINGr   r   v1_monitoring_backends     r   r   r   6  s   
 " 		A	A	b	b  
B  
BB 	CCdd  	D  	D 		A	A	b	b	m	mn 	CCddoo 		A	A	b	b	s	st 	CCdduu 78M7NO
PPr   c                 v    Uc  gU R                   R                  5       n[        XR                  5      Ul        U$ )z.Converts a v1alpha Origin to a v2alpha Origin.N)r   Origin_ToV2OriginTypeValueValuesEnumtype)r   	v1_origin	v2_origins      r   r   r   W  s7    
 %%')1$G).	r   c                    Uc  gUU R                   R                  R                  R                  L a*  U R                  R                  R                  R                  $ UU R                   R                  R                  R
                  L a*  U R                  R                  R                  R
                  $ UU R                   R                  R                  R                  L a*  U R                  R                  R                  R                  $ UU R                   R                  R                  R                  L a*  U R                  R                  R                  R                  $ [        SU 35      e)zTConverts a v1alpha OriginTypeValueValuesEnum to a v2alpha OriginTypeValueValuesEnum.NzUnsupported origin type: )	rm   r   TypeValueValuesEnumTYPE_UNSPECIFIEDr   FLEETFLEET_OUT_OF_SYNCUSERr   )r   v1_origin_types     r   r   r   d  s9   
  				1	1	B	BC 	33DD 				1	1	7	78 	3399 				1	1	C	CD 	33EE 				1	1	6	67 	3388 00@A
BBr   c                     Uc  gU R                   R                  5       nUR                  Ul        [        XR                  5      Ul        U$ )zJConverts a v1alpha PolicyControllerSpec to a v2alpha PolicyControllerSpec.N)r   PolicyControllerSpecr-   _ToV2PolicyControllerHubConfigpolicyControllerHubConfig)r   v1_policycontroller_specv2_policycontroller_specs      r   r   r     sR    
 %!--BBD%=%E%E"$
BB 4
 
"!r   c                    Uc  gU R                   R                  5       n[        XR                  5      Ul        UR                  Ul        UR
                  Ul        UR                  Ul        UR                  Ul        UR                  Ul        [        XR                  5      Ul
        [        XR                  5      Ul        UR                  Ul        [        XR                  5      Ul        U$ )zTConverts a v1alpha PolicyControllerHubConfig to a v2alpha PolicyControllerHubConfig.N)r   PolicyControllerHubConfig_ToV2InstallSpecValueValuesEnuminstallSpecrv   rw   r|   rx   r{   _ToV2Monitoringrz   _ToV2PolicyContentSpecpolicyContentconstraintViolationLimit_ToV2DeploymentConfigsdeploymentConfigs)r   v1_policycontroller_hub_configv2_policycontroller_hub_configs      r   r   r     s    
 $+#'#3#3#M#M#O /N
660 , %99 !5 %99 !5 %<< !8 %55 !1 %44 !0 />
55/ + 2H
882 . %== !9 6L
<<6 2 
('r   c                    Uc  gUU R                   R                  R                  R                  L a*  U R                  R                  R                  R                  $ UU R                   R                  R                  R
                  L a*  U R                  R                  R                  R
                  $ UU R                   R                  R                  R                  L a*  U R                  R                  R                  R                  $ UU R                   R                  R                  R                  L a*  U R                  R                  R                  R                  $ UU R                   R                  R                  R                  L a*  U R                  R                  R                  R                  $ [        SU 35      e)zVConverts a v1alpha InstallSpecValueValuesEnum to a v2alpha InstallSpecValueValuesEnum.Nz Unsupported install spec value: )
rm   r   InstallSpecValueValuesEnumINSTALL_SPEC_UNSPECIFIEDr   INSTALL_SPEC_NOT_INSTALLEDINSTALL_SPEC_ENABLEDINSTALL_SPEC_SUSPENDEDINSTALL_SPEC_DETACHEDr   )r   v1_install_spec_values     r   r   r     s   
 " 		0	0	K	K	d	de 	22MMff 		0	0	K	K	f	fg 	22MMhh 		0	0	K	K	`	`a 	22MMbb 		0	0	K	K	b	bc 	22MMdd 		0	0	K	K	a	ab 	22MMcc 78M7NO
PPr   c                     Uc  gU R                   R                  5       nUR                   Vs/ s H  n[        X5      PM     snUl        U$ s  snf )zbConverts a v1alpha PolicyControllerMonitoringConfig to a v2alpha PolicyControllerMonitoringConfig.N)r    PolicyControllerMonitoringConfigr   _ToV2MonitoringBackendr   s       r   r   r     s[    
 ""CCE- #+++' T++- 
	r   c                 0   Uc  gUU R                   R                  R                  R                  L a*  U R                  R                  R                  R                  $ UU R                   R                  R                  R
                  L a*  U R                  R                  R                  R
                  $ UU R                   R                  R                  R                  L a*  U R                  R                  R                  R                  $ [        SU 35      e)zDConverts a v1alpha MonitoringBackend to a v2alpha MonitoringBackend.Nr   )rm   r   r   r   r   r   r   r   r   s     r   r   r     s    
 " 		7	7	X	X	w	wx 	99ZZyy 		7	7	X	X	c	cd 	99ZZee 		7	7	X	X	i	ij 	99ZZkk 78M7NO
PPr   c                     U R                   R                  5       nUc  U$ [        XR                  5      Ul        [	        XR
                  5      Ul        U$ )zdConverts a v1alpha PolicyControllerPolicyContentSpec to a v2alpha PolicyControllerPolicyContentSpec.)r   !PolicyControllerPolicyContentSpec_ToV2Bundlesbundles_ToV2TemplateLibraryConfigtemplateLibrary)r   v1_policy_content_specv2_policy_content_specs      r   r   r   )  s^    
  ++MMO#!!#/
**$  ,F
22,( 
 r   c                     Uc  g0 nUR                    H$  n[        XR                  5      X#R                  '   M&     [        R
                  " UU R                  R                  R                  SS9$ )z0Converts a v1alpha Bundles to a v2alpha Bundles.NT
sort_items)	additionalProperties_ToV2BundleInstallSpecvaluekeyr   DictToAdditionalPropertyMessager   r   BundlesValue)r   
v1_bundlesv2_bundles_dictbundles       r   r   r   ;  sg    
 ///f"8||"LOJJ 0 
	1	1
88EE
 r   c                 d    Uc  gU R                   R                  5       nUR                  Ul        U$ )zDConverts a v1alpha BundleInstallSpec to a v2alpha BundleInstallSpec.N)r   !PolicyControllerBundleInstallSpecexemptedNamespaces)r   v1_bundle_install_specv2_bundle_install_specs      r   r   r   N  s;    
 #++MMO// + 
 r   c                 v    Uc  gU R                   R                  5       n[        XR                  5      Ul        U$ )zLConverts a v1alpha TemplateLibraryConfig to a v2alpha TemplateLibraryConfig.N)r   %PolicyControllerTemplateLibraryConfig _ToV2InstallationValueValuesEnuminstallation)r   v1_template_library_configv2_template_library_configs      r   r   r   ]  sH    
  ' <<>  -M
33-) 
$#r   c                 0   Uc  gUU R                   R                  R                  R                  L a*  U R                  R                  R                  R                  $ UU R                   R                  R                  R
                  L a*  U R                  R                  R                  R
                  $ UU R                   R                  R                  R                  L a*  U R                  R                  R                  R                  $ [        SU 35      e)zXConverts a v1alpha InstallationValueValuesEnum to a v2alpha InstallationValueValuesEnum.Nz Unsupported installation value: )rm   r   InstallationValueValuesEnumINSTALLATION_UNSPECIFIEDr   NOT_INSTALLEDALLr   )r   v1_installation_values     r   r   r   n  s    
 " 		<	<	X	X	q	qr 	>>ZZss 		<	<	X	X	f	fg 	>>ZZhh 		<	<	X	X	\	\] 	>>ZZ^^ 78M7NO
PPr   c                     Uc  g0 nUR                    H$  n[        XR                  5      X#R                  '   M&     [        R
                  " UU R                  R                  R                  SS9$ )zDConverts a v1alpha DeploymentConfigs to a v2alpha DeploymentConfigs.NTr   )	r   %_ToV2PolicyControllerDeploymentConfigr   r   r   r   r   r   DeploymentConfigsValue)r   v1_deployment_configsv2_deployment_configs_dict
deployments       r   r   r     sm    
 "!)>>j-d4D4DE ~~. ?
 
	1	1 
00GG
 r   c                 N   Uc  gU R                   R                  5       nUR                  Ul        [        XR                  5      Ul        UR
                  Ul        UR                   Vs/ s H  n[        X5      PM     snUl        [        XR                  5      Ul	        U$ s  snf )zbConverts a v1alpha PolicyControllerDeploymentConfig to a v2alpha PolicyControllerDeploymentConfig.N)
r   0PolicyControllerPolicyControllerDeploymentConfigreplicaCount)_ToV2PolicyControllerResourceRequirementscontainerResourcespodAntiAffinitypodTolerations_ToV2PolicyControllerToleration_ToV2PodAffinitypodAffinity)r   v1_deployment_configv2_deployment_configpod_tolerationss       r   r   r     s    
 ! GGI  ';&G&G#/
77 )
 *>)M)M& 2@@)@/ &d<@)% &6
,,&" 
)s   )B"c                     Uc  gU R                   R                  5       n[        XR                  5      Ul        [        XR                  5      Ul        U$ )zjConverts a v1alpha PolicyControllerResourceRequirements to a v2alpha PolicyControllerResourceRequirements.N)r   $PolicyControllerResourceRequirements!_ToV2PolicyControllerResourceListlimitsrequests)r   v1_resource_requirementsv2_resource_requirementss      r   r   r     sb    
 % ;;=  %F
++%! 'H
--'# 
"!r   c                     Uc  gU R                   R                  5       nUR                  Ul        UR                  Ul        U$ )zZConverts a v1alpha PolicyControllerResourceList to a v2alpha PolicyControllerResourceList.N)r   PolicyControllerResourceListcpumemory)r   v1_resource_listv2_resource_lists      r   r   r     sF    
 %%BBD)--,33	r   c                 0   Uc  gUU R                   R                  R                  R                  L a*  U R                  R                  R                  R                  $ UU R                   R                  R                  R
                  L a*  U R                  R                  R                  R
                  $ UU R                   R                  R                  R                  L a*  U R                  R                  R                  R                  $ [        SU 35      e)z8Converts a v1alpha PodAffinity to a v2alpha PodAffinity.NzUnsupported pod affinity: )rm   r   PodAffinityValueValuesEnumAFFINITY_UNSPECIFIEDr   NO_AFFINITYANTI_AFFINITYr   )r   v1_pod_affinitys     r   r   r     s    
  		G	G	b	b	w	wx 	IIddyy 		G	G	b	b	n	no 	IIddpp 		G	G	b	b	p	pq 	IIddrr 1/1BC
DDr   c                     Uc  gU R                   R                  5       nUR                  Ul        UR                  Ul        UR                  Ul        UR
                  Ul        U$ )zVConverts a v1alpha PolicyControllerToleration to a v2alpha PolicyControllerToleration.N)r   PolicyControllerTolerationr   operatorr   effect)r   v1_tolerationv2_tolerations      r   r   r     s_    
 ""==?-#''-(11-%++-&---	r   N))__doc__
__future__r   r   r   apitools.base.pyr   googlecloudsdk.callioper   strr   r   r"   r%   r:   rI   r7   r<   r'   r)   r+   ry   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r   r   <module>r     s    @ '  ' % ( :%"P
2 & ("!*GBB$QB
%CP"$((V,Q^ QB $& $"QB*8"(EBr   