Ejemplo n.º 1
0
        /// <summary>
        /// Creates a new zone record.
        /// </summary>
        /// <param name="accountId">The account Id</param>
        /// <param name="zoneId">The zone name</param>
        /// <param name="record">The zone record input</param>
        /// <returns>The newly created <c>ZoneRecord</c> wrapped inside a
        /// <c>ZoneRecordResponse</c></returns>
        /// <exception cref="DnSimpleException">If Bad Request</exception>
        /// <exception cref="DnSimpleValidationException">If the validation fails</exception>
        /// <see cref="ZoneRecord"/>
        /// <see>https://developer.dnsimple.com/v2/zones/records/#createZoneRecord</see>
        public SimpleDnsimpleResponse <ZoneRecordData> CreateRecord(long accountId, string zoneId,
                                                                    ZoneRecord record)
        {
            var requestBuilder =
                Client.Http.RequestBuilder(ZoneRecordsPath(accountId, zoneId));

            requestBuilder.Method(Method.POST);
            requestBuilder.AddJsonPayload(PrepareRecord(record));

            return(new SimpleDnsimpleResponse <ZoneRecordData>(
                       Client.Http.Execute(requestBuilder.Request)));
        }
Ejemplo n.º 2
0
 internal ZoneRecordToSend(ZoneRecord record)
 {
     Name     = record.Name;
     Type     = record.Type.ToString();
     Content  = record.Content;
     Ttl      = record.Ttl;
     Priority = record.Priority;
     if (record.Regions.Count > 0)
     {
         Regions = record.Regions.Select(region => region.ToString()).ToList();
     }
 }
Ejemplo n.º 3
0
        private static ZoneRecordToSend PrepareRecord(ZoneRecord record)
        {
            var newRecord = new ZoneRecordToSend(record);

            return(newRecord);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Updates the zone record details.
        /// </summary>
        /// <param name="accountId">The account ID</param>
        /// <param name="zoneId">The zone name</param>
        /// <param name="recordId">The record id</param>
        /// <param name="record">The zone record input</param>
        /// <returns>The newly updated <c>ZoneRecord</c> wrapped inside a
        /// <c>ZoneRecordResponse</c></returns>
        /// <see cref="ZoneRecord"/>
        /// <see>https://developer.dnsimple.com/v2/zones/records/#updateZoneRecord</see>
        public SimpleResponse <ZoneRecord> UpdateZoneRecord(long accountId, string zoneId, long recordId, ZoneRecord record)
        {
            var builder = BuildRequestForPath(ZoneRecordPath(accountId, zoneId, recordId));

            builder.Method(Method.PATCH);
            builder.AddJsonPayload(record);

            return(new SimpleResponse <ZoneRecord>(Execute(builder.Request)));
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Creates a new zone record.
        /// </summary>
        /// <param name="accountId">The account ID</param>
        /// <param name="zoneId">The zone name</param>
        /// <param name="input">The zone record input</param>
        /// <returns>The newly created <c>ZoneRecord</c> wrapped inside a
        /// <c>ZoneRecordResponse</c></returns>
        /// <see cref="ZoneRecord"/>
        /// <see>https://developer.dnsimple.com/v2/zones/records/#createZoneRecord</see>
        public SimpleResponse <ZoneRecord> CreateZoneRecord(long accountId, string zoneId, ZoneRecord input)
        {
            var builder = BuildRequestForPath(ZoneRecordsPath(accountId, zoneId));

            builder.Method(Method.POST);
            builder.AddJsonPayload(PrepareRecord(input));

            return(new SimpleResponse <ZoneRecord>(Execute(builder.Request)));
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Updates an existing zone record.
        /// </summary>
        /// <param name="accountId">The account Id</param>
        /// <param name="zoneId">The record name</param>
        /// <param name="recordId">The record id</param>
        /// <param name="record">The zone record input</param>
        /// <returns>The newly updated <c>ZoneRecord</c> wrapped inside a
        /// <c>ZoneRecordResponse</c></returns>
        /// <exception cref="DnSimpleException">If bad request</exception>
        /// <exception cref="DnSimpleValidationException">If the validation fails</exception>
        /// <see cref="ZoneRecordResponse"/>
        /// <see cref="ZoneRecord"/>
        /// <see>https://developer.dnsimple.com/v2/zones/records/#updateZoneRecord</see>
        public ZoneRecordResponse UpdateRecord(long accountId, string zoneId, long recordId, ZoneRecord record)
        {
            var requestBuilder =
                Client.Http.RequestBuilder(ZoneRecordPath(accountId, zoneId, recordId));

            requestBuilder.Method(Method.PATCH);
            requestBuilder.AddJsonPayload(recordId);

            return(new ZoneRecordResponse(
                       Client.Http.Execute(requestBuilder.Request)));
        }