def _process_connected_cluster()

in azext_edge/edge/providers/orchestration/work.py [0:0]


    def _process_connected_cluster(self):
        connected_cluster = self._resource_map.connected_cluster
        cluster = connected_cluster.resource
        cluster_properties: Dict[str, Union[str, dict]] = cluster["properties"]
        cluster_validation_tuples = [
            ("provisioningState", PROVISIONING_STATE_SUCCESS),
            ("connectivityStatus", ClusterConnectStatus.CONNECTED.value),
        ]
        for v in cluster_validation_tuples:
            if cluster_properties[v[0]].lower() != v[1].lower():
                raise ValidationError(f"The connected cluster {self._targets.cluster_name}'s {v[0]} is not {v[1]}.")

        if not self._targets.location:
            self._targets.location = cluster["location"]

        if self._targets.enable_fault_tolerance and cluster_properties["totalNodeCount"] < 3:
            raise ValidationError("Arc Container Storage fault tolerance enablement requires at least 3 nodes.")