2023-02-09 23:31:22 +01:00
|
|
|
/*
|
|
|
|
* Copyright (c) Cloud Software Group, Inc.
|
2017-09-13 18:14:07 +02:00
|
|
|
*
|
2013-06-24 13:41:48 +02:00
|
|
|
* Redistribution and use in source and binary forms, with or without
|
|
|
|
* modification, are permitted provided that the following conditions
|
|
|
|
* are met:
|
2017-09-13 18:14:07 +02:00
|
|
|
*
|
2013-06-24 13:41:48 +02:00
|
|
|
* 1) Redistributions of source code must retain the above copyright
|
|
|
|
* notice, this list of conditions and the following disclaimer.
|
2017-09-13 18:14:07 +02:00
|
|
|
*
|
2013-06-24 13:41:48 +02:00
|
|
|
* 2) Redistributions in binary form must reproduce the above
|
|
|
|
* copyright notice, this list of conditions and the following
|
|
|
|
* disclaimer in the documentation and/or other materials
|
|
|
|
* provided with the distribution.
|
2017-09-13 18:14:07 +02:00
|
|
|
*
|
2013-06-24 13:41:48 +02:00
|
|
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
|
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
|
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
|
|
|
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
|
|
|
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
|
|
|
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
|
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
|
|
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
|
|
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
|
|
|
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
|
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
|
|
|
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
*/
|
|
|
|
|
2017-09-13 18:14:07 +02:00
|
|
|
using Newtonsoft.Json;
|
2013-06-24 13:41:48 +02:00
|
|
|
|
|
|
|
|
|
|
|
namespace XenAPI
|
|
|
|
{
|
2017-09-13 18:14:07 +02:00
|
|
|
[JsonConverter(typeof(clsConverter))]
|
2013-06-24 13:41:48 +02:00
|
|
|
public enum cls
|
|
|
|
{
|
2019-06-19 10:11:30 +02:00
|
|
|
/// <summary>
|
|
|
|
/// VM
|
|
|
|
/// </summary>
|
|
|
|
VM,
|
|
|
|
/// <summary>
|
|
|
|
/// Host
|
|
|
|
/// </summary>
|
|
|
|
Host,
|
|
|
|
/// <summary>
|
|
|
|
/// SR
|
|
|
|
/// </summary>
|
|
|
|
SR,
|
|
|
|
/// <summary>
|
|
|
|
/// Pool
|
|
|
|
/// </summary>
|
|
|
|
Pool,
|
|
|
|
/// <summary>
|
|
|
|
/// VMPP
|
|
|
|
/// </summary>
|
|
|
|
VMPP,
|
|
|
|
/// <summary>
|
|
|
|
/// VMSS
|
|
|
|
/// </summary>
|
|
|
|
VMSS,
|
|
|
|
/// <summary>
|
|
|
|
/// PVS_proxy
|
|
|
|
/// </summary>
|
|
|
|
PVS_proxy,
|
|
|
|
/// <summary>
|
|
|
|
/// VDI
|
|
|
|
/// </summary>
|
|
|
|
VDI,
|
2021-09-19 03:58:11 +02:00
|
|
|
/// <summary>
|
|
|
|
/// Certificate
|
|
|
|
/// </summary>
|
|
|
|
Certificate,
|
2019-06-19 10:11:30 +02:00
|
|
|
unknown
|
2013-06-24 13:41:48 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
public static class cls_helper
|
|
|
|
{
|
|
|
|
public static string ToString(cls x)
|
2017-09-13 18:14:07 +02:00
|
|
|
{
|
|
|
|
return x.StringOf();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public static partial class EnumExt
|
|
|
|
{
|
|
|
|
public static string StringOf(this cls x)
|
2013-06-24 13:41:48 +02:00
|
|
|
{
|
|
|
|
switch (x)
|
|
|
|
{
|
|
|
|
case cls.VM:
|
|
|
|
return "VM";
|
|
|
|
case cls.Host:
|
|
|
|
return "Host";
|
|
|
|
case cls.SR:
|
|
|
|
return "SR";
|
|
|
|
case cls.Pool:
|
|
|
|
return "Pool";
|
|
|
|
case cls.VMPP:
|
|
|
|
return "VMPP";
|
2016-02-15 05:35:26 +01:00
|
|
|
case cls.VMSS:
|
|
|
|
return "VMSS";
|
2016-09-05 15:12:42 +02:00
|
|
|
case cls.PVS_proxy:
|
|
|
|
return "PVS_proxy";
|
2017-11-17 12:19:01 +01:00
|
|
|
case cls.VDI:
|
|
|
|
return "VDI";
|
2021-09-19 03:58:11 +02:00
|
|
|
case cls.Certificate:
|
|
|
|
return "Certificate";
|
2013-06-24 13:41:48 +02:00
|
|
|
default:
|
|
|
|
return "unknown";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2017-09-13 18:14:07 +02:00
|
|
|
|
|
|
|
internal class clsConverter : XenEnumConverter
|
|
|
|
{
|
|
|
|
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
|
|
|
|
{
|
|
|
|
writer.WriteValue(((cls)value).StringOf());
|
|
|
|
}
|
|
|
|
}
|
2019-06-19 10:11:30 +02:00
|
|
|
}
|