services adrs-ui image master5000devly-mssp-auth-ui-test2220230804143853 hostname adrs-ui init true ports - 1511180 volumes -servertestAAAAcontainertestAAA #- datasharecommo
您可以使用以下代码来动态判断volumes上是否包含adrs-ui:
import org.yaml.snakeyaml.Yaml;
import java.util.Map;
public class Main {
public static void main(String[] args) {
String yamlString = "services:\n" +
" adrs-ui:\n" +
" image: master:5000/dev/ly-mssp-auth-ui-test:2.2.20230804143853\n" +
" hostname: adrs-ui\n" +
" init: true\n" +
" ports:\n" +
" - 15111:80\n" +
" volumes:\n" +
" -\"/server/test.AAAA:/container/test.AAA\"\n" +
" #- \"/data/share/common/nginx/auth/nginx.conf:/etc/nginx/nginx.conf\"\n" +
" - \"/data/share/ssl.cer:/etc/nginx/ssl/ssl.cer\"\n" +
" - \"/data/share/ssl.key:/etc/nginx/ssl/ssl.key\"\n" +
" - \"/data/share/iacp.conf:/etc/nginx/nginx.conf\"";
Yaml yaml = new Yaml();
Map<String, Object> data = yaml.load(yamlString);
if (data.containsKey("services")) {
Map<String, Object> services = (Map<String, Object>) data.get("services");
if (services.containsKey("adrs-ui")) {
Map<String, Object> adrsUi = (Map<String, Object>) services.get("adrs-ui");
if (adrsUi.containsKey("volumes")) {
List<String> volumes = (List<String>) adrsUi.get("volumes");
if (volumes.contains("adrs-ui")) {
System.out.println("volumes中包含adrs-ui");
} else {
System.out.println("volumes中不包含adrs-ui");
}
}
}
}
}
}
请注意,您需要在代码中添加import org.yaml.snakeyaml.Yaml;和import java.util.Map;来导入相关的类。这段代码会将YAML字符串解析为一个Map对象,然后您可以根据需要对其进行操作。在这个例子中,我们首先检查是否存在services键,然后检查是否存在adrs-ui键,最后检查volumes列表中是否包含adrs-ui。根据结果,您可以执行相应的操作
原文地址: https://www.cveoy.top/t/topic/it6b 著作权归作者所有。请勿转载和采集!