func terminateInstances(c *C, e *ec2.EC2, insts []*ec2.Instance) { var ids []string for _, inst := range insts { if inst != nil { ids = append(ids, inst.InstanceId) } } _, err := e.TerminateInstances(ids) c.Check(err, IsNil, Commentf("%d INSTANCES LEFT RUNNING!!!", len(ids))) }
func ec2GetSecurityGroup(client *ec2.EC2, project string) ec2.SecurityGroup { sg := ec2.SecurityGroup{ Name: project, Description: "automatically created by coreup", } _, err := client.CreateSecurityGroup(sg) if err != nil { // non-fatal, as it is probably already created } perms := []ec2.IPPerm{ec2.IPPerm{Protocol: "tcp", FromPort: 1, ToPort: 65000, SourceIPs: []string{"0.0.0.0/0"}}} _, err = client.AuthorizeSecurityGroup(sg, perms) if err != nil { // non-fatal, as it is probably already authorized } return sg }