Search code examples
c#.netamazon-web-servicessdkrds

List all AWS RDS instances using AWS .NET SDK


I'm trying to list all my RDS instances on AWS, using the .NET SDK for AWS.

I was expecting the SDK to offer something similar to the SDK's EC2 describe-instances, and sure enough, that is part of the CLI, but not so straight-forward in the SDK.

Does anyone know how to do this ?

Solution

The AWS .NET SDK (v3) contains a similar construct for RDS as for EC2. I missed that somehow. See my answer with source-code below.

Thanks in advance


Solution

  • So it turns out, that the procedure to get all RDS instances closely mimic the EC2 way of doing it.

    You will need to install the AWSSDK.RDS nuget package

    In Package Management Console in VS.NET

        Install-Package AWSSDK.RDS
    

    Once you have done that, you will need to add the necessary assemblies:

        using Amazon.RDS;
        using Amazon.RDS.Model;
    

    And then you can do something like this:

        public static void ListAllRDSInstances(RegionEndpoint region)
        {
            var c = new AmazonRDSClient(region);
            var request = new DescribeDBInstancesRequest();
            var response = c.DescribeDBInstances(request);
    
            response.DBInstances
                .ForEach(instance => {
                  //do stuff for each instance in region
                });
        }