//
#pragma warning disable CS0618
using Marechai.App.InstructionSetExtensionsByProcessor.Item;
using Marechai.App.Models;
using Microsoft.Kiota.Abstractions.Extensions;
using Microsoft.Kiota.Abstractions.Serialization;
using Microsoft.Kiota.Abstractions;
using System.Collections.Generic;
using System.IO;
using System.Threading.Tasks;
using System.Threading;
using System;
namespace Marechai.App.InstructionSetExtensionsByProcessor
{
///
/// Builds and executes requests for operations under \instruction-set-extensions-by-processor
///
[global::System.CodeDom.Compiler.GeneratedCode("Kiota", "1.0.0")]
public partial class InstructionSetExtensionsByProcessorRequestBuilder : BaseRequestBuilder
{
/// Gets an item from the Marechai.App.instructionSetExtensionsByProcessor.item collection
/// Unique identifier of the item
/// A
public global::Marechai.App.InstructionSetExtensionsByProcessor.Item.InstructionSetExtensionsByProcessorItemRequestBuilder this[int position]
{
get
{
var urlTplParams = new Dictionary(PathParameters);
urlTplParams.Add("id", position);
return new global::Marechai.App.InstructionSetExtensionsByProcessor.Item.InstructionSetExtensionsByProcessorItemRequestBuilder(urlTplParams, RequestAdapter);
}
}
/// Gets an item from the Marechai.App.instructionSetExtensionsByProcessor.item collection
/// Unique identifier of the item
/// A
[Obsolete("This indexer is deprecated and will be removed in the next major version. Use the one with the typed parameter instead.")]
public global::Marechai.App.InstructionSetExtensionsByProcessor.Item.InstructionSetExtensionsByProcessorItemRequestBuilder this[string position]
{
get
{
var urlTplParams = new Dictionary(PathParameters);
if (!string.IsNullOrWhiteSpace(position)) urlTplParams.Add("id", position);
return new global::Marechai.App.InstructionSetExtensionsByProcessor.Item.InstructionSetExtensionsByProcessorItemRequestBuilder(urlTplParams, RequestAdapter);
}
}
///
/// Instantiates a new and sets the default values.
///
/// Path parameters for the request
/// The request adapter to use to execute the requests.
public InstructionSetExtensionsByProcessorRequestBuilder(Dictionary pathParameters, IRequestAdapter requestAdapter) : base(requestAdapter, "{+baseurl}/instruction-set-extensions-by-processor", pathParameters)
{
}
///
/// Instantiates a new and sets the default values.
///
/// The raw URL to use for the request builder.
/// The request adapter to use to execute the requests.
public InstructionSetExtensionsByProcessorRequestBuilder(string rawUrl, IRequestAdapter requestAdapter) : base(requestAdapter, "{+baseurl}/instruction-set-extensions-by-processor", rawUrl)
{
}
/// A
/// The request body
/// Cancellation token to use when cancelling requests
/// Configuration for the request such as headers, query parameters, and middleware options.
/// When receiving a 400 status code
/// When receiving a 401 status code
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public async Task PostAsync(global::Marechai.App.Models.InstructionSetExtensionByProcessorDto body, Action>? requestConfiguration = default, CancellationToken cancellationToken = default)
{
#nullable restore
#else
public async Task PostAsync(global::Marechai.App.Models.InstructionSetExtensionByProcessorDto body, Action> requestConfiguration = default, CancellationToken cancellationToken = default)
{
#endif
if(ReferenceEquals(body, null)) throw new ArgumentNullException(nameof(body));
var requestInfo = ToPostRequestInformation(body, requestConfiguration);
var errorMapping = new Dictionary>
{
{ "400", global::Marechai.App.Models.ProblemDetails.CreateFromDiscriminatorValue },
{ "401", global::Marechai.App.Models.ProblemDetails.CreateFromDiscriminatorValue },
};
return await RequestAdapter.SendAsync(requestInfo, UntypedNode.CreateFromDiscriminatorValue, errorMapping, cancellationToken).ConfigureAwait(false);
}
/// A
/// The request body
/// Configuration for the request such as headers, query parameters, and middleware options.
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public RequestInformation ToPostRequestInformation(global::Marechai.App.Models.InstructionSetExtensionByProcessorDto body, Action>? requestConfiguration = default)
{
#nullable restore
#else
public RequestInformation ToPostRequestInformation(global::Marechai.App.Models.InstructionSetExtensionByProcessorDto body, Action> requestConfiguration = default)
{
#endif
if(ReferenceEquals(body, null)) throw new ArgumentNullException(nameof(body));
var requestInfo = new RequestInformation(Method.POST, UrlTemplate, PathParameters);
requestInfo.Configure(requestConfiguration);
requestInfo.Headers.TryAdd("Accept", "text/plain;q=0.9");
requestInfo.SetContentFromParsable(RequestAdapter, "application/json", body);
return requestInfo;
}
///
/// Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored.
///
/// A
/// The raw URL to use for the request builder.
public global::Marechai.App.InstructionSetExtensionsByProcessor.InstructionSetExtensionsByProcessorRequestBuilder WithUrl(string rawUrl)
{
return new global::Marechai.App.InstructionSetExtensionsByProcessor.InstructionSetExtensionsByProcessorRequestBuilder(rawUrl, RequestAdapter);
}
///
/// Configuration for the request such as headers, query parameters, and middleware options.
///
[Obsolete("This class is deprecated. Please use the generic RequestConfiguration class generated by the generator.")]
[global::System.CodeDom.Compiler.GeneratedCode("Kiota", "1.0.0")]
public partial class InstructionSetExtensionsByProcessorRequestBuilderPostRequestConfiguration : RequestConfiguration
{
}
}
}
#pragma warning restore CS0618