from cdnmon.model.cdn import AbstractBGPViewCDN


class CDN(AbstractBGPViewCDN):
    def __init__(self):
        super(CDN, self).__init__(
            abbreviation="alibaba-cdn",
        )
        self.asn_patterns = [
            "alibaba",
            "taobao",
        ]
        self.cname_suffixes = [
            ".cdngslb.com",
            ".queniuaa.com",
            ".queniuab.com",
            ".queniuai.com",
            ".queniuak.com",
            ".queniual.com",
            ".queniuam.com",
            ".queniubd.com",
            ".queniubg.com",
            ".queniubh.com",
            ".queniubk.com",
            ".queniubl.com",
            ".queniubm.com",
            ".queniubn.com",
            ".queniucdn.com",
            ".queniucf.com",
            ".queniucg.com",
            ".queniuck.com",
            ".queniucl.com",
            ".queniucm.com",
            ".queniucn.com",
            ".queniuco.com",
            ".queniucs.com",
            ".queniucx.com",
            ".queniucz.com",
            ".queniuda.com",
            ".queniudd.com",
            ".queniudg.com",
            ".queniudl.com",
            ".queniudns.com",
            ".queniudo.com",
            ".queniudt.com",
            ".queniuee.com",
            ".queniueg.com",
            ".queniueh.com",
            ".queniuei.com",
            ".queniues.com",
            ".queniuez.com",
            ".queniufa.com",
            ".queniufm.com",
            ".queniufr.com",
            ".queniufw.com",
            ".queniufz.com",
            ".queniugd.com",
            ".queniugm.com",
            ".queniugslb.com",
            ".queniugv.com",
            ".queniugz.com",
            ".queniuhg.com",
            ".queniuhl.com",
            ".queniuhx.com",
            ".queniuhy.com",
            ".queniuhz.com",
            ".queniuic.com",
            ".queniuif.com",
            ".queniuin.com",
            ".queniuiq.com",
            ".queniuit.com",
            ".queniuiy.com",
            ".queniuja.com",
            ".queniujd.com",
            ".queniujf.com",
            ".queniujg.com",
            ".queniujq.com",
            ".queniujz.com",
            ".queniukk.com",
            ".queniukq.com",
            ".queniukr.com",
            ".queniuks.com",
            ".queniukt.com",
            ".queniukw.com",
            ".queniukx.com",
            ".queniulf.com",
            ".queniulg.com",
            ".queniuli.com",
            ".queniulp.com",
            ".queniulr.com",
            ".queniuls.com",
            ".queniulv.com",
            ".queniumd.com",
            ".queniumf.com",
            ".queniumn.com",
            ".queniumo.com",
            ".queniumy.com",
            ".queniunh.com",
            ".queniuni.com",
            ".queniunq.com",
            ".queniuns.com",
            ".queniuny.com",
            ".queniunz.com",
            ".queniuod.com",
            ".queniuog.com",
            ".queniuop.com",
            ".queniuos.com",
            ".queniuot.com",
            ".queniuoy.com",
            ".queniupc.com",
            ".queniupe.com",
            ".queniupg.com",
            ".queniupj.com",
            ".queniupl.com",
            ".queniupq.com",
            ".queniupz.com",
            ".queniuqe.com",
            ".queniuql.com",
            ".queniuqm.com",
            ".queniuqt.com",
            ".queniuqy.com",
            ".queniuqz.com",
            ".queniurc.com",
            ".queniurj.com",
            ".queniurk.com",
            ".queniurq.com",
            ".queniuru.com",
            ".queniurv.com",
            ".queniurx.com",
            ".queniusa.com",
            ".queniusf.com",
            ".queniusg.com",
            ".queniusi.com",
            ".queniuso.com",
            ".queniusp.com",
            ".queniusr.com",
            ".queniusy.com",
            ".queniusz.com",
            ".queniutc.com",
            ".queniutn.com",
            ".queniutt.com",
            ".queniutz.com",
            ".queniuua.com",
            ".queniuuc.com",
            ".queniuuf.com",
            ".queniuuk.com",
            ".queniuum.com",
            ".queniuuq.com",
            ".queniuus.com",
            ".queniuuy.com",
            ".queniuvb.com",
            ".queniuvc.com",
            ".queniuvi.com",
            ".queniuvk.com",
            ".queniuvq.com",
            ".queniuvu.com",
            ".queniuvx.com",
            ".queniuwb.com",
            ".queniuwh.com",
            ".queniuwk.com",
            ".queniuwx.com",
            ".queniuxk.com",
            ".queniuxr.com",
            ".queniuxx.com",
            ".queniuyb.com",
            ".queniuyg.com",
            ".queniuyk.com",
            ".queniuys.com",
            ".queniuyu.com",
            ".queniuyz.com",
            ".queniuza.com",
            ".queniuzd.com",
            ".queniuzf.com",
            ".queniuzl.com",
            ".queniuzp.com",
            ".queniuzv.com",
            ".queniuzy.com",
            ".queniuzz.com",
        ]
        self.ipv4_prefixes = self.transform(self.extract())["ipv4_prefixes"]
        self.ipv6_prefixes = self.transform(self.extract())["ipv6_prefixes"]
