com.huaweicloud.sdk.iotdm.v5.region.IoTDMRegion Maven / Gradle / Ivy
package com.huaweicloud.sdk.iotdm.v5.region;
import com.huaweicloud.sdk.core.region.IRegionProvider;
import com.huaweicloud.sdk.core.region.Region;
import com.huaweicloud.sdk.core.region.RegionProviderChain;
import com.huaweicloud.sdk.core.utils.StringUtils;
import java.util.Collections;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
public class IoTDMRegion {
public static final Region CN_NORTH_4 = new Region("cn-north-4", "https://iotda-mgmt.cn-north-4.myhuaweicloud.com");
public static final Region CN_SOUTH_4 = new Region("cn-south-4", "https://iotda-mgmt.cn-south-4.myhuaweicloud.com");
public static final Region CN_SOUTH_1 = new Region("cn-south-1", "https://iotda-mgmt.cn-south-1.myhuaweicloud.com");
public static final Region CN_EAST_3 = new Region("cn-east-3", "https://iotda-mgmt.cn-east-3.myhuaweicloud.com");
public static final Region AP_SOUTHEAST_3 =
new Region("ap-southeast-3", "https://iotda-mgmt.ap-southeast-3.myhuaweicloud.com");
public static final Region AP_SOUTHEAST_2 =
new Region("ap-southeast-2", "https://iotda-mgmt.ap-southeast-2.myhuaweicloud.com");
public static final Region AP_SOUTHEAST_1 =
new Region("ap-southeast-1", "https://iotda-mgmt.ap-southeast-1.myhuaweicloud.com");
public static final Region AF_SOUTH_1 = new Region("af-south-1", "https://iotda-mgmt.af-south-1.myhuaweicloud.com");
public static final Region ME_EAST_1 = new Region("me-east-1", "https://iotda-mgmt.me-east-1.myhuaweicloud.com");
public static final Region LA_SOUTH_2 = new Region("la-south-2", "https://iotda-mgmt.la-south-2.myhuaweicloud.com");
private static final IRegionProvider PROVIDER = RegionProviderChain.getDefaultRegionProviderChain("IOTDM");
private static final Map STATIC_FIELDS = createStaticFields();
private static Map createStaticFields() {
Map map = new HashMap<>();
map.put("cn-north-4", CN_NORTH_4);
map.put("cn-south-4", CN_SOUTH_4);
map.put("cn-south-1", CN_SOUTH_1);
map.put("cn-east-3", CN_EAST_3);
map.put("ap-southeast-3", AP_SOUTHEAST_3);
map.put("ap-southeast-2", AP_SOUTHEAST_2);
map.put("ap-southeast-1", AP_SOUTHEAST_1);
map.put("af-south-1", AF_SOUTH_1);
map.put("me-east-1", ME_EAST_1);
map.put("la-south-2", LA_SOUTH_2);
return Collections.unmodifiableMap(map);
}
public static Region valueOf(String regionId) {
if (StringUtils.isEmpty(regionId)) {
throw new IllegalArgumentException("Unexpected empty parameter: regionId.");
}
Region result = PROVIDER.getRegion(regionId);
if (Objects.nonNull(result)) {
return result;
}
result = STATIC_FIELDS.get(regionId);
if (Objects.nonNull(result)) {
return result;
}
throw new IllegalArgumentException(String.format(Locale.ROOT,
"region id '%s' is not in the following supported regions of service IoTDM: [%s]",
regionId,
STATIC_FIELDS.keySet().stream().sorted().collect(Collectors.joining(", "))));
}
}