package com.sequenceiq.cloudbreak.cloud.openstack.view;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import com.sequenceiq.cloudbreak.cloud.model.CloudInstance;
import com.sequenceiq.cloudbreak.cloud.model.Group;
public class OpenStackGroupView {
private final String stackName;
private final List<Group> groups;
private final Map<String, String> tags;
public OpenStackGroupView(String stackName, List<Group> groups, Map<String, String> tags) {
this.stackName = stackName;
this.groups = groups;
this.tags = tags;
}
public List<NovaInstanceView> getFlatNovaView() {
List<NovaInstanceView> novaInstances = new ArrayList<>();
for (Group group : groups) {
for (CloudInstance instance : group.getInstances()) {
NovaInstanceView novaInstance = new NovaInstanceView(stackName, instance.getTemplate(), group.getType(), tags);
novaInstances.add(novaInstance);
}
}
return novaInstances;
}
}