class AwsEC2Platform extends Platform implements SshBasedExperiment<AwsEC2Container> {

    String createChaosSecurityGroup (String vpcId) {
        log.debug("Creating Chaos Security Group for VPC {}", v("VPC", vpcId));
        String groupId = amazonEC2.createSecurityGroup(new CreateSecurityGroupRequest().withGroupName(EC2_DEFAULT_CHAOS_SECURITY_GROUP_NAME + "-" + vpcId)
                                                                                       .withVpcId(vpcId)
                                                                                       .withDescription(EC2_DEFAULT_CHAOS_SECURITY_GROUP_DESCRIPTION))
                                  .getGroupId();
        amazonEC2.revokeSecurityGroupEgress(new RevokeSecurityGroupEgressRequest().withIpPermissions(DEFAULT_IP_PERMISSIONS)
                                                                                  .withGroupId(groupId));
        log.info("Created Security Group {} in VPC {} for use in Chaos", v("Security Group", groupId), v("VPC", vpcId));
        return groupId;
    }

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

}