Amazon.DNXCore.IntegrationTests.IntegrationTests.EC2.EC2TestHelper.deleteSecurityGroupIPPermissionsAsync C# (CSharp) Method

deleteSecurityGroupIPPermissionsAsync() public method

public deleteSecurityGroupIPPermissionsAsync ( string vpcId ) : Task
vpcId string
return Task
        public async Task deleteSecurityGroupIPPermissionsAsync(string vpcId)
        {
            var describeResponse = await _ec2Client.DescribeSecurityGroupsAsync(new DescribeSecurityGroupsRequest{
                Filters = { new Filter("vpc-id", new List<string> { vpcId }) }
            });

            foreach (var group in describeResponse.SecurityGroups)
            {

                if (group.IpPermissions.Count != 0)
                {
                    await _ec2Client.RevokeSecurityGroupIngressAsync(new RevokeSecurityGroupIngressRequest
                    {
                        GroupId = group.GroupId,
                        IpPermissions = group.IpPermissions
                    });
                }
                if (group.IpPermissionsEgress.Count != 0)
                {
                    await _ec2Client.RevokeSecurityGroupEgressAsync(new RevokeSecurityGroupEgressRequest{
                        GroupId = group.GroupId,
                        IpPermissions = group.IpPermissionsEgress
                    });
                }
            }

            foreach (var group in describeResponse.SecurityGroups)
            {
                if (string.Compare(group.GroupName, "default") != 0)
                {
                    await _ec2Client.DeleteSecurityGroupAsync(new DeleteSecurityGroupRequest { GroupId = group.GroupId });
                }
            }
        }