public String createNetwork(String id, Network network) { this.readWriteLock.readLock().lock(); try { final CreateNetworkCmd createNetworkCmd = this.dockerClient.createNetworkCmd().withName(id); if (network.getDriver() != null) { createNetworkCmd.withDriver(network.getDriver()); } if (network.getIpam() != null) { createNetworkCmd.withIpam(new com.github.dockerjava.api.model.Network.Ipam().withConfig( createIpamConfig(network))); } if (network.getOptions() != null && !network.getOptions().isEmpty()) { createNetworkCmd.withOptions(network.getOptions()); } final CreateNetworkResponse exec = createNetworkCmd.exec(); return exec.getId(); } finally { this.readWriteLock.readLock().unlock(); } }
public String createNetwork(String id, Network network) { this.readWriteLock.readLock().lock(); try { final CreateNetworkCmd createNetworkCmd = this.dockerClient.createNetworkCmd().withName(id); if (network.getDriver() != null) { createNetworkCmd.withDriver(network.getDriver()); } if (network.getIpam() != null) { createNetworkCmd.withIpam(new com.github.dockerjava.api.model.Network.Ipam().withConfig( createIpamConfig(network))); } if (network.getOptions() != null && !network.getOptions().isEmpty()) { createNetworkCmd.withOptions(network.getOptions()); } final CreateNetworkResponse exec = createNetworkCmd.exec(); return exec.getId(); } finally { this.readWriteLock.readLock().unlock(); } }
private List<com.github.dockerjava.api.model.Network.Ipam.Config> createIpamConfig(Network network) { List<com.github.dockerjava.api.model.Network.Ipam.Config> ipamConfigs = new ArrayList<>(); List<IPAMConfig> IPAMConfigs = network.getIpam().getIpamConfigs(); if (IPAMConfigs != null) { for (IPAMConfig IpamConfig : IPAMConfigs) { com.github.dockerjava.api.model.Network.Ipam.Config config = new com.github.dockerjava.api.model.Network.Ipam.Config(); if (IpamConfig.getGateway() != null) { config.withGateway(IpamConfig.getGateway()); } if (IpamConfig.getIpRange() != null) { config.withIpRange(IpamConfig.getIpRange()); } if (IpamConfig.getSubnet() != null) { config.withSubnet(IpamConfig.getSubnet()); } ipamConfigs.add(config); } } return ipamConfigs; }
private List<com.github.dockerjava.api.model.Network.Ipam.Config> createIpamConfig(Network network) { List<com.github.dockerjava.api.model.Network.Ipam.Config> ipamConfigs = new ArrayList<>(); List<IPAMConfig> IPAMConfigs = network.getIpam().getIpamConfigs(); if (IPAMConfigs != null) { for (IPAMConfig IpamConfig : IPAMConfigs) { com.github.dockerjava.api.model.Network.Ipam.Config config = new com.github.dockerjava.api.model.Network.Ipam.Config(); if (IpamConfig.getGateway() != null) { config.withGateway(IpamConfig.getGateway()); } if (IpamConfig.getIpRange() != null) { config.withIpRange(IpamConfig.getIpRange()); } if (IpamConfig.getSubnet() != null) { config.withSubnet(IpamConfig.getSubnet()); } ipamConfigs.add(config); } } return ipamConfigs; }