class AwsEC2Platform extends Platform implements SshBasedExperiment<AwsEC2Container> {

    String lookupChaosSecurityGroup (String vpcId) {
        log.debug("Looking up Security Group to use for experiments for VPC {}", v("VPC", vpcId));
        return amazonEC2.describeSecurityGroups(new DescribeSecurityGroupsRequest().withFilters(new Filter("vpc-id").withValues(vpcId)))
                        .getSecurityGroups()
                        .stream()
                        .filter(securityGroup -> securityGroup.getVpcId().equals(vpcId))
                        .filter(securityGroup -> securityGroup.getGroupName().equals(EC2_DEFAULT_CHAOS_SECURITY_GROUP_NAME + "-" + vpcId))
                        .map(SecurityGroup::getGroupId)
                        .findFirst()
                        .orElseGet(() -> createChaosSecurityGroup(vpcId));
    }

    @Autowired  AwsEC2Platform(AmazonEC2 amazonEC2, ContainerManager containerManager, AwsEC2SelfAwareness awsEC2SelfAwareness);
    private  AwsEC2Platform();

}