class DefaultAgentManagementService implements AgentManagementService {

    @Override
    public Completable updateInstanceGroupTier(String instanceGroupId, Tier tier) {
        return agentCache.updateInstanceGroupStore(
                instanceGroupId,
                instanceGroup -> instanceGroup.toBuilder().withTier(tier).build()
        ).toCompletable();
    }

    @Inject public  DefaultAgentManagementService(AgentManagementConfiguration configuration,
                                         @Named(KUBE_SCHEDULER_INSTANCE_GROUP_PREDICATE) Predicate<AgentInstanceGroup> kubeSchedulerInstanceGroupPredicate,
                                         InstanceCloudConnector instanceCloudConnector,
                                         AgentCache AgentCache,
                                         ServerInfoResolver serverInfoResolver,
                                         TitusRuntime titusRuntime);

}