public void Route53ChangeResourceRecordSets()
        {
            #region to-create-update-or-delete-resource-record-sets-1484344703668

            var response = client.ChangeResourceRecordSets(new ChangeResourceRecordSetsRequest
            {
                ChangeBatch = new ChangeBatch {
                    Changes = new List <Change> {
                        new Change {
                            Action            = "CREATE",
                            ResourceRecordSet = new ResourceRecordSet {
                                Name            = "example.com",
                                ResourceRecords = new List <ResourceRecord> {
                                    new ResourceRecord {
                                        Value = "192.0.2.44"
                                    }
                                },
                                TTL  = 60,
                                Type = "A"
                            }
                        }
                    },
                    Comment = "Web server for example.com"
                },
                HostedZoneId = "Z3M3LMPEXAMPLE"
            });

            ChangeInfo changeInfo = response.ChangeInfo;

            #endregion
        }
示例#2
0
        public override void CreateRecord(string recordName, string token)
        {
            var hostedZoneId = GetHostedZoneId(recordName);

            if (hostedZoneId == null)
            {
                return;
            }

            _log.Information($"Creating TXT record {recordName} with value {token}");

            var response = _route53Client.ChangeResourceRecordSets(new ChangeResourceRecordSetsRequest(hostedZoneId,
                                                                                                       new ChangeBatch(new List <Change> {
                new Change(ChangeAction.UPSERT, CreateResourceRecordSet(recordName, token))
            })));

            WaitChangesPropagation(response.ChangeInfo);
        }
示例#3
0
        private static void CreateHostedZone(IAmazonRoute53 r53Client, string domainName)
        {
            var zoneRequest = new CreateHostedZoneRequest
            {
                Name            = domainName,
                CallerReference = "testingss"
            };

            var zoneResponse = r53Client.CreateHostedZone(zoneRequest);
            var recordSet    = new ResourceRecordSet
            {
                Name            = domainName,
                TTL             = 60,
                Type            = RRType.A,
                ResourceRecords = new List <ResourceRecord> {
                    new ResourceRecord {
                        Value = IpAddress
                    }
                }
            };

            var change1 = new Change
            {
                ResourceRecordSet = recordSet,
                Action            = ChangeAction.CREATE
            };

            var changeBatch = new ChangeBatch
            {
                Changes = new List <Change> {
                    change1
                }
            };

            var recordsetRequest = new ChangeResourceRecordSetsRequest
            {
                HostedZoneId = zoneResponse.HostedZone.Id,
                ChangeBatch  = changeBatch
            };

            var recordsetResponse = r53Client.ChangeResourceRecordSets(recordsetRequest);
            var changeRequest     = new GetChangeRequest
            {
                Id = recordsetResponse.ChangeInfo.Id
            };

            Console.WriteLine(changeRequest);
        }
示例#4
0
 private Amazon.Route53.Model.ChangeResourceRecordSetsResponse CallAWSServiceOperation(IAmazonRoute53 client, Amazon.Route53.Model.ChangeResourceRecordSetsRequest request)
 {
     Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon Route 53", "ChangeResourceRecordSets");
     try
     {
         #if DESKTOP
         return(client.ChangeResourceRecordSets(request));
         #elif CORECLR
         return(client.ChangeResourceRecordSetsAsync(request).GetAwaiter().GetResult());
         #else
                 #error "Unknown build edition"
         #endif
     }
     catch (AmazonServiceException exc)
     {
         var webException = exc.InnerException as System.Net.WebException;
         if (webException != null)
         {
             throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException);
         }
         throw;
     }
 }
示例#5
0
        private static void CreateRecordSet(IAmazonRoute53 r53Client)
        {
            var objRecord = new ResourceRecord {
                Value = "Your IP Address"
            };

            var objRecordSet = new ResourceRecordSet
            {
                Name = Fqdn,
                Type = "A",
                TTL  = 300
            };

            objRecordSet.ResourceRecords.Add(objRecord);

            var objChange = new Change
            {
                Action            = ChangeAction.UPSERT,
                ResourceRecordSet = objRecordSet
            };

            var objChangeList = new List <Change> {
                objChange
            };

            var objChangeBatch = new ChangeBatch {
                Changes = objChangeList
            };

            var objRequest = new ChangeResourceRecordSetsRequest
            {
                HostedZoneId = Zoneid,
                ChangeBatch  = objChangeBatch
            };

            r53Client.ChangeResourceRecordSets(objRequest);
        }