//
#pragma warning disable CS0618
using Microsoft.Kiota.Abstractions.Extensions;
using Microsoft.Kiota.Abstractions.Serialization;
using System.Collections.Generic;
using System.IO;
using System;
namespace Marechai.App.Models
{
[global::System.CodeDom.Compiler.GeneratedCode("Kiota", "1.0.0")]
#pragma warning disable CS1591
public partial class ProcessorDto : IAdditionalDataHolder, IParsable
#pragma warning restore CS1591
{
/// Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
public IDictionary AdditionalData { get; set; }
/// The address_bus property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public UntypedNode? AddressBus { get; set; }
#nullable restore
#else
public UntypedNode AddressBus { get; set; }
#endif
/// The company property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public string? Company { get; set; }
#nullable restore
#else
public string Company { get; set; }
#endif
/// The company_id property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public UntypedNode? CompanyId { get; set; }
#nullable restore
#else
public UntypedNode CompanyId { get; set; }
#endif
/// The cores property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public UntypedNode? Cores { get; set; }
#nullable restore
#else
public UntypedNode Cores { get; set; }
#endif
/// The data_bus property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public UntypedNode? DataBus { get; set; }
#nullable restore
#else
public UntypedNode DataBus { get; set; }
#endif
/// The die_size property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public UntypedNode? DieSize { get; set; }
#nullable restore
#else
public UntypedNode DieSize { get; set; }
#endif
/// The fprs property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public UntypedNode? Fprs { get; set; }
#nullable restore
#else
public UntypedNode Fprs { get; set; }
#endif
/// The fpr_size property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public UntypedNode? FprSize { get; set; }
#nullable restore
#else
public UntypedNode FprSize { get; set; }
#endif
/// The gprs property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public UntypedNode? Gprs { get; set; }
#nullable restore
#else
public UntypedNode Gprs { get; set; }
#endif
/// The gpr_size property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public UntypedNode? GprSize { get; set; }
#nullable restore
#else
public UntypedNode GprSize { get; set; }
#endif
/// The id property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public UntypedNode? Id { get; set; }
#nullable restore
#else
public UntypedNode Id { get; set; }
#endif
/// The instruction_set property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public string? InstructionSet { get; set; }
#nullable restore
#else
public string InstructionSet { get; set; }
#endif
/// The instruction_set_extensions property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public List? InstructionSetExtensions { get; set; }
#nullable restore
#else
public List InstructionSetExtensions { get; set; }
#endif
/// The instruction_set_id property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public UntypedNode? InstructionSetId { get; set; }
#nullable restore
#else
public UntypedNode InstructionSetId { get; set; }
#endif
/// The introduced property
public DateTimeOffset? Introduced { get; set; }
/// The l1_data property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public UntypedNode? L1Data { get; set; }
#nullable restore
#else
public UntypedNode L1Data { get; set; }
#endif
/// The l1_instruction property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public UntypedNode? L1Instruction { get; set; }
#nullable restore
#else
public UntypedNode L1Instruction { get; set; }
#endif
/// The l2 property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public UntypedNode? L2 { get; set; }
#nullable restore
#else
public UntypedNode L2 { get; set; }
#endif
/// The l3 property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public UntypedNode? L3 { get; set; }
#nullable restore
#else
public UntypedNode L3 { get; set; }
#endif
/// The model_code property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public string? ModelCode { get; set; }
#nullable restore
#else
public string ModelCode { get; set; }
#endif
/// The name property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public string? Name { get; set; }
#nullable restore
#else
public string Name { get; set; }
#endif
/// The package property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public string? Package { get; set; }
#nullable restore
#else
public string Package { get; set; }
#endif
/// The process property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public string? Process { get; set; }
#nullable restore
#else
public string Process { get; set; }
#endif
/// The process_nm property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public UntypedNode? ProcessNm { get; set; }
#nullable restore
#else
public UntypedNode ProcessNm { get; set; }
#endif
/// The simd_registers property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public UntypedNode? SimdRegisters { get; set; }
#nullable restore
#else
public UntypedNode SimdRegisters { get; set; }
#endif
/// The simd_size property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public UntypedNode? SimdSize { get; set; }
#nullable restore
#else
public UntypedNode SimdSize { get; set; }
#endif
/// The speed property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public UntypedNode? Speed { get; set; }
#nullable restore
#else
public UntypedNode Speed { get; set; }
#endif
/// The threads_per_core property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public UntypedNode? ThreadsPerCore { get; set; }
#nullable restore
#else
public UntypedNode ThreadsPerCore { get; set; }
#endif
/// The transistors property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public UntypedNode? Transistors { get; set; }
#nullable restore
#else
public UntypedNode Transistors { get; set; }
#endif
///
/// Instantiates a new and sets the default values.
///
public ProcessorDto()
{
AdditionalData = new Dictionary();
}
///
/// Creates a new instance of the appropriate class based on discriminator value
///
/// A
/// The parse node to use to read the discriminator value and create the object
public static global::Marechai.App.Models.ProcessorDto CreateFromDiscriminatorValue(IParseNode parseNode)
{
if(ReferenceEquals(parseNode, null)) throw new ArgumentNullException(nameof(parseNode));
return new global::Marechai.App.Models.ProcessorDto();
}
///
/// The deserialization information for the current model
///
/// A IDictionary<string, Action<IParseNode>>
public virtual IDictionary> GetFieldDeserializers()
{
return new Dictionary>
{
{ "address_bus", n => { AddressBus = n.GetObjectValue(UntypedNode.CreateFromDiscriminatorValue); } },
{ "company", n => { Company = n.GetStringValue(); } },
{ "company_id", n => { CompanyId = n.GetObjectValue(UntypedNode.CreateFromDiscriminatorValue); } },
{ "cores", n => { Cores = n.GetObjectValue(UntypedNode.CreateFromDiscriminatorValue); } },
{ "data_bus", n => { DataBus = n.GetObjectValue(UntypedNode.CreateFromDiscriminatorValue); } },
{ "die_size", n => { DieSize = n.GetObjectValue(UntypedNode.CreateFromDiscriminatorValue); } },
{ "fpr_size", n => { FprSize = n.GetObjectValue(UntypedNode.CreateFromDiscriminatorValue); } },
{ "fprs", n => { Fprs = n.GetObjectValue(UntypedNode.CreateFromDiscriminatorValue); } },
{ "gpr_size", n => { GprSize = n.GetObjectValue(UntypedNode.CreateFromDiscriminatorValue); } },
{ "gprs", n => { Gprs = n.GetObjectValue(UntypedNode.CreateFromDiscriminatorValue); } },
{ "id", n => { Id = n.GetObjectValue(UntypedNode.CreateFromDiscriminatorValue); } },
{ "instruction_set", n => { InstructionSet = n.GetStringValue(); } },
{ "instruction_set_extensions", n => { InstructionSetExtensions = n.GetCollectionOfPrimitiveValues()?.AsList(); } },
{ "instruction_set_id", n => { InstructionSetId = n.GetObjectValue(UntypedNode.CreateFromDiscriminatorValue); } },
{ "introduced", n => { Introduced = n.GetDateTimeOffsetValue(); } },
{ "l1_data", n => { L1Data = n.GetObjectValue(UntypedNode.CreateFromDiscriminatorValue); } },
{ "l1_instruction", n => { L1Instruction = n.GetObjectValue(UntypedNode.CreateFromDiscriminatorValue); } },
{ "l2", n => { L2 = n.GetObjectValue(UntypedNode.CreateFromDiscriminatorValue); } },
{ "l3", n => { L3 = n.GetObjectValue(UntypedNode.CreateFromDiscriminatorValue); } },
{ "model_code", n => { ModelCode = n.GetStringValue(); } },
{ "name", n => { Name = n.GetStringValue(); } },
{ "package", n => { Package = n.GetStringValue(); } },
{ "process", n => { Process = n.GetStringValue(); } },
{ "process_nm", n => { ProcessNm = n.GetObjectValue(UntypedNode.CreateFromDiscriminatorValue); } },
{ "simd_registers", n => { SimdRegisters = n.GetObjectValue(UntypedNode.CreateFromDiscriminatorValue); } },
{ "simd_size", n => { SimdSize = n.GetObjectValue(UntypedNode.CreateFromDiscriminatorValue); } },
{ "speed", n => { Speed = n.GetObjectValue(UntypedNode.CreateFromDiscriminatorValue); } },
{ "threads_per_core", n => { ThreadsPerCore = n.GetObjectValue(UntypedNode.CreateFromDiscriminatorValue); } },
{ "transistors", n => { Transistors = n.GetObjectValue(UntypedNode.CreateFromDiscriminatorValue); } },
};
}
///
/// Serializes information the current object
///
/// Serialization writer to use to serialize this model
public virtual void Serialize(ISerializationWriter writer)
{
if(ReferenceEquals(writer, null)) throw new ArgumentNullException(nameof(writer));
writer.WriteObjectValue("address_bus", AddressBus);
writer.WriteStringValue("company", Company);
writer.WriteObjectValue("company_id", CompanyId);
writer.WriteObjectValue("cores", Cores);
writer.WriteObjectValue("data_bus", DataBus);
writer.WriteObjectValue("die_size", DieSize);
writer.WriteObjectValue("fprs", Fprs);
writer.WriteObjectValue("fpr_size", FprSize);
writer.WriteObjectValue("gprs", Gprs);
writer.WriteObjectValue("gpr_size", GprSize);
writer.WriteObjectValue("id", Id);
writer.WriteStringValue("instruction_set", InstructionSet);
writer.WriteCollectionOfPrimitiveValues("instruction_set_extensions", InstructionSetExtensions);
writer.WriteObjectValue("instruction_set_id", InstructionSetId);
writer.WriteDateTimeOffsetValue("introduced", Introduced);
writer.WriteObjectValue("l1_data", L1Data);
writer.WriteObjectValue("l1_instruction", L1Instruction);
writer.WriteObjectValue("l2", L2);
writer.WriteObjectValue("l3", L3);
writer.WriteStringValue("model_code", ModelCode);
writer.WriteStringValue("name", Name);
writer.WriteStringValue("package", Package);
writer.WriteStringValue("process", Process);
writer.WriteObjectValue("process_nm", ProcessNm);
writer.WriteObjectValue("simd_registers", SimdRegisters);
writer.WriteObjectValue("simd_size", SimdSize);
writer.WriteObjectValue("speed", Speed);
writer.WriteObjectValue("threads_per_core", ThreadsPerCore);
writer.WriteObjectValue("transistors", Transistors);
writer.WriteAdditionalData(AdditionalData);
}
}
}
#pragma warning restore CS0618