Я пытаюсь автоматизировать процесс с помощью Java, в котором я записываю конфигурацию YAML в файл.
Хотя большую часть этого я могу выполнить, я застрял в последней части «ссылок» и нуждаюсь в помощи. чтобы решить эту проблему, распознав для нее соответствующую структуру данных. Также я хочу понять, где я ошибаюсь.
Ожидаемый YAML:
name: srlceos01
topology:
nodes:
srl:
kind: nokia_srlinux
image: ghcr.io/nokia/srlinux
ceos:
kind: ceos
image: ceos:4.25.0F
links:
- endpoints: ["srl:e1-1", "ceos:eth1"]
Насколько я понимаю, «ссылки» — это массив списков массивов «конечных точек». Я получаю результат ниже:
Фактический результат:
!!xx.xx.xx.bean.Container (Unwanted and wanted to remove)
links:
linkArray:
- endpoints:
- endpoints:
- srl:e1-1
- ceos:eth1
- null
- null
- null
- null
name: srlceos01
topology:
srl:
image: ghcr.io/nokia/srlinux
kind: nokia_srlinux
Мой код:
public class Container {
private String name;
private Map topology;
private LinksArray links;
}
public class LinksArray {
private Links[] linkArray;
}
public class Links {
private List endpoints;
}
public class Endpoint {
private String[] endpoints;
}
public class Nodes {
private String kind;
private String image;
}
import org.springframework.stereotype.Service;
import org.yaml.snakeyaml.DumperOptions;
import org.yaml.snakeyaml.DumperOptions.FlowStyle;
import org.yaml.snakeyaml.Yaml;
import org.yaml.snakeyaml.nodes.Tag;
import xx.xx.Container;
@Service
public class GenerateYamlFileImpl {
public void writeYamlfile(Container yamlConfig) {
DumperOptions dpo = new DumperOptions();
dpo.setDefaultFlowStyle(FlowStyle.BLOCK);
Yaml yaml = new Yaml(dpo);
System.out.println(yaml.dump(yamlConfig));
}
}
@SpringBootApplication
@ComponentScan("xx.xx.xx")
public class EmulateGuiBackendApplication {
public static void main(String[] args) {
SpringApplication.run(EmulateGuiBackendApplication.class, args);
GenerateYamlFile gf = new GenerateYamlFile();
gf.createYamlFile();
}
}
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import xx.xx.Container;
import xx.xx.Endpoint;
import xx.xx.Links;
import xx.xx.LinksArray;
import xx.xx.Nodes;
import xx.xx.service.GenerateYamlFileImpl;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@Component
public class GenerateYamlFile {
Logger logger = LogManager.getLogger(GenerateYamlFile.class);
public void createYamlFile() {
Container container = new Container();
container.setName("srlceos01");
Map topo = new LinkedHashMap();
Nodes node = new Nodes();
node.setImage("ghcr.io/nokia/srlinux");
node.setKind("nokia_srlinux");
topo.put("srl", node);
String[] link = {"srl:e1-1","ceos:eth1"};
Endpoint end = new Endpoint();
end.setEndpoints(link);
List endpointList = new ArrayList();
endpointList.add(end);
Links newLink = new Links();
newLink.setEndpoints(endpointList);
Links[] lkarray = new Links[5];
lkarray[0]=newLink;
LinksArray lArr = new LinksArray();
lArr.setLinkArray(lkarray);
container.setTopology(topo);
container.setLinks(lArr);
GenerateYamlFileImpl yamlService = new GenerateYamlFileImpl();
yamlService.writeYamlfile(container);
}
}
Подробнее здесь: https://stackoverflow.com/questions/783 ... ker-images
Как написать файл конфигурации YAML для образов докеров ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Добавление xdebug в мой файл докеров php apache приводит к сбою контейнера докеров
Anonymous » » в форуме Php - 0 Ответы
- 128 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Я хочу параметризовать файл Pipeline.yaml, но Ploomber не может прочитать файл env.yaml.
Anonymous » » в форуме Python - 0 Ответы
- 30 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Я хочу параметризовать файл Pipeline.yaml, но Ploomber не может прочитать файл env.yaml.
Anonymous » » в форуме Python - 0 Ответы
- 34 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Laravel Sail: создание более легких образов Docker в проекте Laravel Sail
Anonymous » » в форуме Apache - 0 Ответы
- 94 Просмотры
-
Последнее сообщение Anonymous
-