private void DeleteSecurityGroup(string securityGroupName, string stackName) { var vpcId = GetVpcId(stackName); var securityGroups = _ec2Client.DescribeSecurityGroups(new DescribeSecurityGroupsRequest()) .SecurityGroups.Where(sg => sg.GroupName.StartsWith(securityGroupName) && sg.VpcId == vpcId) .ToList(); if (!securityGroups.Any()) { return; } foreach (var securityGroup in securityGroups) { _ec2Client.DeleteSecurityGroup(new DeleteSecurityGroupRequest { GroupId = securityGroup.GroupId }); WaitForSecurityGroupDeleted(securityGroup); } }