/// <summary> /// Initializes the Amazon EC2 client object and then uses it to call /// the DeleteSecurityGroupAsync method to delete the security group. /// </summary> public static async Task Main() { string secGroupId = "sg-05c1b890f35c2c89e"; string groupName = "sample-security-group"; // If your Amazon EC2 security grup is not defined in the same AWS // Region as the default user on your system, you need to supply // the AWS Region as a parameter to the client constructor. var client = new AmazonEC2Client(); var request = new DeleteSecurityGroupRequest { GroupId = secGroupId, GroupName = groupName, }; var response = await client.DeleteSecurityGroupAsync(request); if (response.HttpStatusCode == System.Net.HttpStatusCode.OK) { Console.WriteLine($"Successfully deleted {groupName}."); } else { Console.WriteLine($"Could not delete {groupName}."); } }
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 }); } } }
public Task <DeleteSecurityGroupResponse> DeleteSecurityGroupAsync(string group, CancellationToken cancellationToken = default(CancellationToken)) { var groupId = group.TrimStart("sg-").IsHex() ? group : null; var groupName = groupId == null ? group : null; return(_client.DeleteSecurityGroupAsync(new DeleteSecurityGroupRequest() { GroupId = groupId, GroupName = groupName, }, cancellationToken).EnsureSuccessAsync()); }