/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
///
/// CreateClusterHaResourcesRequest
///
[DataContract(Name = "CreateClusterHaResourcesRequest")]
public partial class CreateClusterHaResourcesRequest : IValidatableObject
{
///
/// Initializes a new instance of the class.
///
[JsonConstructorAttribute]
protected CreateClusterHaResourcesRequest() { }
///
/// Initializes a new instance of the class.
///
/// comment.
/// failback.
/// group.
/// maxRelocate.
/// maxRestart.
/// sid (required).
/// state.
/// type.
public CreateClusterHaResourcesRequest(string comment = default(string), bool failback = default(bool), string group = default(string), int maxRelocate = default(int), int maxRestart = default(int), string sid = default(string), string state = default(string), string type = default(string))
{
// to ensure "sid" is required (not null)
if (sid == null)
{
throw new ArgumentNullException("sid is a required property for CreateClusterHaResourcesRequest and cannot be null");
}
this.Sid = sid;
this.Comment = comment;
this.Failback = failback;
this.Group = group;
this.MaxRelocate = maxRelocate;
this.MaxRestart = maxRestart;
this.State = state;
this.Type = type;
}
///
/// Gets or Sets Comment
///
[DataMember(Name = "comment", EmitDefaultValue = false)]
public string Comment { get; set; }
///
/// Gets or Sets Failback
///
[DataMember(Name = "failback", EmitDefaultValue = true)]
public bool Failback { get; set; }
///
/// Gets or Sets Group
///
[DataMember(Name = "group", EmitDefaultValue = false)]
public string Group { get; set; }
///
/// Gets or Sets MaxRelocate
///
[DataMember(Name = "max_relocate", EmitDefaultValue = false)]
public int MaxRelocate { get; set; }
///
/// Gets or Sets MaxRestart
///
[DataMember(Name = "max_restart", EmitDefaultValue = false)]
public int MaxRestart { get; set; }
///
/// Gets or Sets Sid
///
[DataMember(Name = "sid", IsRequired = true, EmitDefaultValue = true)]
public string Sid { get; set; }
///
/// Gets or Sets State
///
[DataMember(Name = "state", EmitDefaultValue = false)]
public string State { get; set; }
///
/// Gets or Sets Type
///
[DataMember(Name = "type", EmitDefaultValue = false)]
public string Type { get; set; }
///
/// Returns the string presentation of the object
///
/// String presentation of the object
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterHaResourcesRequest {\n");
sb.Append(" Comment: ").Append(Comment).Append("\n");
sb.Append(" Failback: ").Append(Failback).Append("\n");
sb.Append(" Group: ").Append(Group).Append("\n");
sb.Append(" MaxRelocate: ").Append(MaxRelocate).Append("\n");
sb.Append(" MaxRestart: ").Append(MaxRestart).Append("\n");
sb.Append(" Sid: ").Append(Sid).Append("\n");
sb.Append(" State: ").Append(State).Append("\n");
sb.Append(" Type: ").Append(Type).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
///
/// Returns the JSON string presentation of the object
///
/// JSON string presentation of the object
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
///
/// To validate all properties of the instance
///
/// Validation context
/// Validation Result
IEnumerable IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}