Skip to content

Instantly share code, notes, and snippets.

@j3tm0t0
Created March 12, 2012 21:36
Show Gist options
  • Save j3tm0t0/2024833 to your computer and use it in GitHub Desktop.
Save j3tm0t0/2024833 to your computer and use it in GitHub Desktop.
Route53 Client Sample of AWS SDK for .NET C#
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using Amazon;
using Amazon.Route53;
using Amazon.Route53.Model;
namespace AWS_Console_App1
{
class Program
{
public static void Main(string[] args)
{
Console.Write(GetServiceOutput());
Console.Read();
}
public static string GetServiceOutput()
{
StringBuilder sb = new StringBuilder(1024);
using (StringWriter sr = new StringWriter(sb))
{
AmazonRoute53 r53Client = AWSClientFactory.CreateAmazonRoute53Client();
try
{
// DNS round-robbin
List<ResourceRecord> records = new List<ResourceRecord>();
ResourceRecord record1 = new ResourceRecord().WithValue("1.2.3.4");
ResourceRecord record2 = new ResourceRecord().WithValue("5.6.7.8");
records.Add(record1);
records.Add(record2);
ResourceRecordSet recordSet = new ResourceRecordSet()
.WithName("bar.example.com")
.WithType("A")
.WithTTL(300);
recordSet.ResourceRecords = records;
ChangeBatch changebatch = new ChangeBatch();
List<Change> changes = new List<Change>();
Change change = new Change()
.WithAction("CREATE")
.WithResourceRecordSet(recordSet);
changes.Add(change);
changebatch.Changes = changes;
ChangeResourceRecordSetsRequest request = new ChangeResourceRecordSetsRequest()
.WithHostedZoneId("XXXXXXXXXXXXX")
.WithChangeBatch(changebatch);
ChangeResourceRecordSetsResponse response = r53Client.ChangeResourceRecordSets(request);
sr.WriteLine(response.ToString());
}
catch (AmazonRoute53Exception ex)
{
if (ex.ErrorCode != null && (ex.ErrorCode.Equals("InvalidAccessKeyId") ||
ex.ErrorCode.Equals("InvalidSecurity")))
{
sr.WriteLine("Please check the provided AWS Credentials.");
sr.WriteLine("If you haven't signed up for Amazon Route53, please visit http://aws.amazon.com/s3");
}
else
{
sr.WriteLine("Caught Exception: " + ex.Message);
sr.WriteLine("Response Status Code: " + ex.StatusCode);
sr.WriteLine("Error Code: " + ex.ErrorCode);
sr.WriteLine("Request ID: " + ex.RequestId);
}
}
catch (Exception ex)
{
sr.WriteLine(ex.ToString());
}
sr.WriteLine("Press any key to continue...");
}
return sb.ToString();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment