# Copyright (C) 2005-2025 Splunk Inc. All Rights Reserved. from ITOA.setup_logging import getLogger from .state.statestore import FeatureFlaggingStateStore from feature_flagging.splunk_license_state_maintainer import SplunkLicenseStateMaintainer from .abstract_suite_retriever import AbstractSuiteRetriever class SplunkLicenseSuiteRetriever(AbstractSuiteRetriever): def __init__(self, session_key): self.logger = getLogger(logger_name='itsi.feature_flagging.SplunkLicenseSuiteRetriever') self.session_key = session_key def get_suite(self): """ Gets suite from Suitification State Store @return: suite name """ state = self._get_state() assert state is not None, "Suitification State is expected to be defined" return state.get_suite() def _get_state(self): return FeatureFlaggingStateStore(self.session_key).get_state() def sync_suite_state(self): SplunkLicenseStateMaintainer(self.session_key).maintain()