class AwsRDSPlatform extends Platform {

    @Override
    public List<Container> generateExperimentRoster () {
        Map<String, List<AwsContainer>> availabilityZoneMap = getRoster().stream().map(AwsContainer.class::cast).collect(groupingBy(AwsContainer::getAvailabilityZone));
        final String[] availabilityZones = availabilityZoneMap.keySet().stream().filter(not(AwsConstants.NO_AZ_INFORMATION::equals))
                                                              .collect(toSet())
                                                              .toArray(new String[]{});
        final String randomAvailabilityZone = availabilityZones[new Random().nextInt(availabilityZones.length)];
        log.debug("Experiment on {} will use {}", keyValue(DataDogConstants.DATADOG_PLATFORM_KEY, this.getPlatformType()), keyValue(DataDogConstants.AVAILABILITY_ZONE, randomAvailabilityZone));
        List<Container> chosenSet = new ArrayList<>();
        chosenSet.addAll(availabilityZoneMap.getOrDefault(randomAvailabilityZone, Collections.emptyList()));
        chosenSet.addAll(availabilityZoneMap.getOrDefault(AwsConstants.NO_AZ_INFORMATION, Collections.emptyList()));
        return chosenSet;
    }

    @Autowired public  AwsRDSPlatform();
      AwsRDSPlatform(AmazonRDS amazonRDS, AmazonEC2 amazonEC2);

}