mirror of
https://github.com/eliasstepanik/IonosDDNSUpdater.git
synced 2026-01-11 19:48:26 +00:00
57 lines
2.9 KiB
C#
57 lines
2.9 KiB
C#
using DDNSUpdater.APIs.Ionos.ApiClient.V1.Dyndns;
|
|
using DDNSUpdater.APIs.Ionos.ApiClient.V1.Zones;
|
|
using Microsoft.Kiota.Abstractions;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Threading.Tasks;
|
|
namespace DDNSUpdater.APIs.Ionos.ApiClient.V1 {
|
|
/// <summary>
|
|
/// Builds and executes requests for operations under \v1
|
|
/// </summary>
|
|
public class V1RequestBuilder {
|
|
/// <summary>The dyndns property</summary>
|
|
public DyndnsRequestBuilder Dyndns { get =>
|
|
new DyndnsRequestBuilder(PathParameters, RequestAdapter);
|
|
}
|
|
/// <summary>Path parameters for the request</summary>
|
|
private Dictionary<string, object> PathParameters { get; set; }
|
|
/// <summary>The request adapter to use to execute the requests.</summary>
|
|
private IRequestAdapter RequestAdapter { get; set; }
|
|
/// <summary>Url template to use to build the URL for the current request builder</summary>
|
|
private string UrlTemplate { get; set; }
|
|
/// <summary>The zones property</summary>
|
|
public ZonesRequestBuilder Zones { get =>
|
|
new ZonesRequestBuilder(PathParameters, RequestAdapter);
|
|
}
|
|
/// <summary>
|
|
/// Instantiates a new V1RequestBuilder and sets the default values.
|
|
/// </summary>
|
|
/// <param name="pathParameters">Path parameters for the request</param>
|
|
/// <param name="requestAdapter">The request adapter to use to execute the requests.</param>
|
|
public V1RequestBuilder(Dictionary<string, object> pathParameters, IRequestAdapter requestAdapter) {
|
|
_ = pathParameters ?? throw new ArgumentNullException(nameof(pathParameters));
|
|
_ = requestAdapter ?? throw new ArgumentNullException(nameof(requestAdapter));
|
|
UrlTemplate = "{+baseurl}/v1";
|
|
var urlTplParams = new Dictionary<string, object>(pathParameters);
|
|
PathParameters = urlTplParams;
|
|
RequestAdapter = requestAdapter;
|
|
}
|
|
/// <summary>
|
|
/// Instantiates a new V1RequestBuilder and sets the default values.
|
|
/// </summary>
|
|
/// <param name="rawUrl">The raw URL to use for the request builder.</param>
|
|
/// <param name="requestAdapter">The request adapter to use to execute the requests.</param>
|
|
public V1RequestBuilder(string rawUrl, IRequestAdapter requestAdapter) {
|
|
if(string.IsNullOrEmpty(rawUrl)) throw new ArgumentNullException(nameof(rawUrl));
|
|
_ = requestAdapter ?? throw new ArgumentNullException(nameof(requestAdapter));
|
|
UrlTemplate = "{+baseurl}/v1";
|
|
var urlTplParams = new Dictionary<string, object>();
|
|
if (!string.IsNullOrWhiteSpace(rawUrl)) urlTplParams.Add("request-raw-url", rawUrl);
|
|
PathParameters = urlTplParams;
|
|
RequestAdapter = requestAdapter;
|
|
}
|
|
}
|
|
}
|