Я пытаюсь автоматизировать процесс с помощью 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
Программисты JAVA общаются здесь
-
Anonymous
1714252231
Anonymous
Я пытаюсь автоматизировать процесс с помощью 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);
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/78392760/how-to-write-yaml-config-file-for-docker-images[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия