def resolve()

in aliyun-python-sdk-core/aliyunsdkcore/endpoint/endpoint_resolver_rules.py [0:0]


    def resolve(self, request):
        if request.endpoint_map is None or request.endpoint_regional is None:
            return None
        request_network = "public" if not request.request_network else request.request_network

        endpoint_regional = request.endpoint_regional
        endpoint = ""
        if request_network == "public":
            endpoint = request.endpoint_map.get(request.region_id, "")

        if endpoint == "":
            if endpoint_regional == "regional":
                if not self.verify_region_id(request.region_id.lower()):
                    return
                endpoint_domain = ".{region_id}.aliyuncs.com".format(
                    region_id=request.region_id.lower())
            elif endpoint_regional == "central":
                endpoint_domain = ".aliyuncs.com"
            else:
                return None

            network = "" if request_network == "public" else "-" + request_network
            suffix = "-" + request.product_suffix if request.product_suffix else ""
            endpoint_param_list = [request.product_code_lower, suffix, network, endpoint_domain]

            endpoint = "".join(list(filter(lambda x: x, endpoint_param_list)))
        return endpoint