
                             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ZdZ	d	Z
d
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZd Zd Z y) z2Utils for Fleet Anthos Config Management commands.    )absolute_import)division)unicode_literals)client)utilconfigmanagementa  
applySpecVersion: 1
spec:
  upgrades:
  cluster:
  version:
  configSync:
    enabled: true
    stopSyncing: false
    sourceFormat: hierarchy
    policyDir:
    preventDrift: false
    httpsProxy:
    sourceType: git|oci
    secretType: none|ssh|cookiefile|token|gcenode|gcpserviceaccount
    syncBranch: master
    syncRepo: URL
    syncWait: 15
    syncRev: HEAD
    gcpServiceAccountEmail:
    metricsGcpServiceAccountEmail:
    deploymentOverrides:
      name:
      namespace:
      containers:
        name:
        cpuRequest:
        memoryRequest:
        cpuLimit:
        memoryLimit:
  policyController:
    enabled: false
    referentialRulesEnabled: false
    templateLibraryInstalled: true
    logDeniesEnabled: false
    auditIntervalSeconds: 60
    exemptableNamespaces: []
    mutationEnabled: false
  hierarchyController:
     enabled: false
     enablePodTreeLabels: false
     enableHierarchicalResourceQuota: false
upgradesautomanual MANAGEMENT_AUTOMATICMANAGEMENT_MANUALclusterversion
configSyncdeploymentOverrides
containerspolicyControllerhierarchyControllerz1.10.0z1.12.0PENDINGSTOPPEDERRORNOT_INSTALLED	INSTALLEDc                    d}t         j                  j                  | j                        }|j	                         D ]V  \  }}t        j                  |      t        j                  |      k(  s2|"|j                  |j                  j                  } n d}t         j                  j                  | j                        }|j	                         D ]v  \  }}t        j                  |      t        j                  |      k(  s2|B|j                  6|j                  j                   |j                  j                  j                  } n |xs d|xs dfS )aF  Parses the version fields from an ACM Feature for a given membership.

  Args:
    feature: A v1alpha, v1beta, or v1 ACM Feature.
    membership: The full membership name whose version to return.

  Returns:
    A tuple of the form (spec.version, state.spec.version), with unset versions
    defaulting to the empty string.
  Nr   )r   	HubClientToPyDictmembershipSpecsitemsr   MembershipPartialNamer   r   membershipStatesmembershipSpec)	feature
membershipspec_versionspecsfull_membershipspecstate_versionstatesstates	            Ilib/googlecloudsdk/command_lib/container/fleet/config_management/utils.pyversions_for_memberr-   ]   s5    ,



#
#G$;$;
<%${{}ot!! 66zBC		d33?,,44  - -$$W%=%=>& &ou!! 66zBC		u55A!!00<00??GG- !/ 
"m1r	22    c                 ,    t        | |      \  }}|r|S |S )a  Get the value the version field in FeatureSpec should be set to.

  Args:
    feature: the feature obtained from hub API.
    membership: The full membership name whose Spec will be backfilled.

  Returns:
    version: A string denoting the version field in MembershipConfig
  )r-   )r#   r$   r%   r)   s       r,   !get_backfill_version_from_featurer0   ~   s$     !4GZ H,	r.   N)!__doc__
__future__r   r   r   &googlecloudsdk.api_lib.container.fleetr   r   CONFIG_MANAGEMENT_FEATURE_NAMEAPPLY_SPEC_VERSION_1UPGRADESUPGRADES_AUTOUPGRADES_MANUALUPGRADES_EMPTYr   r   CLUSTERVERSIONCONFIG_SYNCDEPLOYMENT_OVERRIDESCONTAINER_OVERRIDESPOLICY_CONTROLLERHNCPREVENT_DRIFT_VERSIONMONITORING_VERSIONOCI_SUPPORT_VERSIONSTATUS_PENDINGSTATUS_STOPPEDSTATUS_ERRORSTATUS_NOT_INSTALLEDSTATUS_INSTALLEDr-   r0    r.   r,   <module>rJ      s    9 &  ' 9 7!3 * X - ' 

, " &     &  3Br.   