private ChangeResourceRecordSetsRequest GetChangeResourceRecordSetsRequest(string hostname, string ipAddress, string action, List<HostedZone> zones) { string domain = DomainName.Parse(hostname).Domain; string hostedZoneId = zones.Single(z => z.Name.StartsWith(domain)).Id; var record = new ResourceRecord() { Value = ipAddress }; var recordSet = new ResourceRecordSet() { Name = hostname, TTL = 300, //5 min. Type = DnsRecordType.A, ResourceRecords = new List<ResourceRecord> {record} }; var change = new Change() {Action = action, ResourceRecordSet = recordSet}; var request = new ChangeResourceRecordSetsRequest() { ChangeBatch = new ChangeBatch() { Changes = new List<Change> {change}, Comment = string.Format("Automatically updated by {0}", this.ToString()) }, HostedZoneId = hostedZoneId }; return request; }