private void initDkmsInstancesFromEnv()

in src/main/java/com/aliyuncs/kms/secretsmanager/client/service/DefaultSecretManagerClientBuilder.java [334:363]


        private void initDkmsInstancesFromEnv(Map<String, String> envMap) {
            List<DKmsConfig> dKmsConfigs = new ArrayList<>();
            String configJson = envMap.get(CacheClientConstant.CACHE_CLIENT_DKMS_CONFIG_INFO_KEY);
            if (!StringUtils.isEmpty(configJson)) {
                try {
                    Type configListType = new TypeToken<ArrayList<DKmsConfig>>() {
                    }.getType();
                    dKmsConfigs.addAll(new Gson().fromJson(configJson, configListType));
                } catch (Exception e) {
                    throw new IllegalArgumentException(String.format("env param[%s] is illegal", CacheClientConstant.CACHE_CLIENT_DKMS_CONFIG_INFO_KEY));
                }

            }
            for (DKmsConfig dKmsConfig : dKmsConfigs) {
                RegionInfo regionInfo = new RegionInfo();
                if (StringUtils.isEmpty(dKmsConfig.getRegionId()) || StringUtils.isEmpty(dKmsConfig.getEndpoint())) {
                    throw new IllegalArgumentException("init env fail,cause of cache_client_dkms_config_info param[regionId or endpoint] is null");
                }
                regionInfo.setRegionId(dKmsConfig.getRegionId());
                regionInfo.setEndpoint(dKmsConfig.getEndpoint());
                regionInfo.setKmsType(CacheClientConstant.DKMS_TYPE);
                if (!StringUtils.isEmpty(dKmsConfig.getPasswordFromFilePath())) {
                    dKmsConfig.setPassword(ClientKeyUtils.readPasswordFile(dKmsConfig.getPasswordFromFilePath()));
                } else {
                    dKmsConfig.setPassword(ClientKeyUtils.getPassword(envMap, dKmsConfig.getPasswordFromEnvVariable(), dKmsConfig.getPasswordFromFilePathName()));
                }
                dKmsConfigsMap.put(regionInfo, dKmsConfig);
                regionInfos.add(regionInfo);
            }
        }