I am trying to retrieve firewall rules using vCD 5.1 SDK. Please refer to the below code snippet for more details:
vcloudClient.login(userName, password);
ReferenceType adminOrgRef = vcloudClient.getVcloudAdmin().getAdminOrgRefByName(orgName);
AdminOrganization adminOrg = AdminOrganization.getAdminOrgByReference(vcloudClient, adminOrgRef);
ReferenceType adminVdcRef = adminOrg.getAdminVdcRefByName(orgVdcName);
AdminVdc adminVdc = AdminVdc.getAdminVdcByReference(vcloudClient, adminVdcRef);
AdminOrgVdcNetwork admOrgVdcNw = null;
for(ReferenceType admOrgVdcNwRef : adminVdc.getOrgVdcNetworkRefs().getReferences()){
if(admOrgVdcNwRef.getName().equalsIgnoreCase(orgNetworkName)){
admOrgVdcNw = AdminOrgVdcNetwork.getOrgVdcNetworkByReference(vcloudClient, admOrgVdcNwRef);
}
}
if ((admOrgVdcNw.getResource().getConfiguration() != null)&& (admOrgVdcNw.getResource().getConfiguration().getFeatures() != null)) {
for (JAXBElement<? extends NetworkServiceType> jaxbElement : admOrgVdcNw
.getResource().getConfiguration().getFeatures().getNetworkService()) {
if (jaxbElement.getValue() instanceof FirewallServiceType) {
final FirewallServiceType firewallService = (FirewallServiceType) jaxbElement.getValue();
for (FirewallRuleType firewallRule : firewallService.getFirewallRule()) {
System.out.println("Firewall Desc: " + firewallRule.getDescription());
}
}
}
}
Problem:admOrgVdcNw.getResource().getConfiguration().getFeatures() is returning null. Please tell me where am I going wrong with this.
Is there any other way to get the firewall rules?