Ejemplo n.º 1
0
        public async Task UpdateRecordAsync()
        {
            var client       = new HetznerDnsClient(this._apiKey);
            var zoneResponse = await client.GetZonesAsync();

            Assert.IsNotNull(zoneResponse);
            var zoneId = zoneResponse.Zones.FirstOrDefault()?.Id;

            var createRecord = new CreateRecord
            {
                ZoneId = zoneId,
                Name   = "_acme-challenge.unittest",
                Type   = DnsRecordType.TXT,
                Value  = "testest",
                Ttl    = 0
            };

            var createdRecord = await client.CreateRecordAsync(createRecord);

            Assert.IsNotNull(createdRecord);

            var updateRecord = new UpdateRecord
            {
                ZoneId = createRecord.ZoneId,
                Type   = DnsRecordType.TXT,
                Name   = createRecord.Name,
                Value  = "update-record",
                Ttl    = 10,
            };

            var updatedRecord = await client.UpdateRecordAsync(createdRecord.Id, updateRecord);

            Assert.IsNotNull(updatedRecord);
        }
Ejemplo n.º 2
0
        public async Task GetZonesAsync()
        {
            var client   = new HetznerDnsClient(this._apiKey);
            var response = await client.GetZonesAsync();

            Assert.IsNotNull(response);
        }
Ejemplo n.º 3
0
        public async Task GetRecordsAsync()
        {
            var client       = new HetznerDnsClient(this._apiKey);
            var zoneResponse = await client.GetZonesAsync();

            var zoneId = zoneResponse.Zones.FirstOrDefault()?.Id;

            var response = await client.GetRecordsAsync(zoneId);

            Assert.IsNotNull(response);
        }
Ejemplo n.º 4
0
        public async Task DeleteRecordAsync()
        {
            var client       = new HetznerDnsClient(this._apiKey);
            var zoneResponse = await client.GetZonesAsync();

            var zoneId = zoneResponse.Zones.FirstOrDefault()?.Id;

            var recordResponse = await client.GetRecordsAsync(zoneId);

            Assert.IsNotNull(recordResponse);

            var txtRecords  = recordResponse.Records.Where(o => o.Type == DnsRecordType.TXT && o.Name.StartsWith("_acme-challenge")).ToList();
            var txtRecordId = txtRecords.FirstOrDefault()?.Id;

            Assert.IsNotNull(txtRecordId);

            await client.DeleteRecordAsync(txtRecordId);
        }