def __init__()

in src/hpc/autoscale/cost/azurecost.py [0:0]


    def __init__(self, config: dict):

        self.config = config
        self.retail_url = "https://prices.azure.com/api/retail/prices?api-version=2021-10-01-preview&meterRegion='primary'"
        if config.get('cluster_name'):
            self.clusters = config.get('cluster_name')
        else:
            raise ValueError("cluster_name must be present in config")
        cost_config = config.get('cost', {})
        if not cost_config or not cost_config.get('cache_root'):
            log.info("Defaulting cost cache dir to /tmp")
            self.cache_root = "/tmp"
        else:
            self.cache_root = cost_config.get("cache_root")

        retail_name = f"{self.cache_root}/retail"
        self.retail_session = CachedSession(cache_name=retail_name,
                                            backend='filesystem',
                                            allowable_codes=(200,),
                                            allowable_methods=('GET'),
                                            expire_after=172800)

        #_az_logger = logging.getLogger('azure.identity')
        #_az_logger.setLevel(logging.ERROR)


        ## If we have ACM data available use azcost format else use retail format.
        ## for nodearray, combine usage data with either azcost or retail format.
        self.DEFAULT_AZCOST_FORMAT="sku_name,region,spot,meter,meterid,metercat,metersubcat,resourcegroup,rate,currency"
        self.RETAIL_FORMAT="sku_name,region,spot,meter,meterid,metercat,rate,currency"
        self.NODEARRAY_USAGE_FORMAT="nodearray,core_hours,cost"
        self.NODEARRAY_USAGE_HOURLY_FORMAT="start,end,nodearray,core_hours,cost"

        self.az_job_t = namedtuple('az_job_t', self.DEFAULT_AZCOST_FORMAT)
        self.az_job_retail_t = namedtuple('az_job_retail_t', self.RETAIL_FORMAT)
        self.az_array_t = namedtuple('az_array_t', (self.NODEARRAY_USAGE_FORMAT + ',' + self.DEFAULT_AZCOST_FORMAT))
        self.az_array_retail_t = namedtuple('az_array_retail_t', (self.NODEARRAY_USAGE_FORMAT + ',' + self.RETAIL_FORMAT))
        self.az_array_hourly_t = namedtuple('az_array_hourly_t', (self.NODEARRAY_USAGE_HOURLY_FORMAT + ',' + self.DEFAULT_AZCOST_FORMAT))
        self.az_array_hourly_retail_t = namedtuple('az_array_hourly_retail_t', (self.NODEARRAY_USAGE_HOURLY_FORMAT + ',' + self.RETAIL_FORMAT))