/*
* 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
{
///
/// CreateAccessDomainsSingleSyncRequest
///
[DataContract(Name = "CreateAccessDomainsSingleSyncRequest")]
public partial class CreateAccessDomainsSingleSyncRequest : IValidatableObject
{
///
/// Initializes a new instance of the class.
///
[JsonConstructorAttribute]
protected CreateAccessDomainsSingleSyncRequest() { }
///
/// Initializes a new instance of the class.
///
/// dryRun.
/// enableNew (required).
/// full (required).
/// purge (required).
/// removeVanished (required).
/// scope (required).
public CreateAccessDomainsSingleSyncRequest(bool dryRun = default(bool), bool enableNew = default(bool), bool full = default(bool), bool purge = default(bool), string removeVanished = default(string), string scope = default(string))
{
this.EnableNew = enableNew;
this.Full = full;
this.Purge = purge;
// to ensure "removeVanished" is required (not null)
if (removeVanished == null)
{
throw new ArgumentNullException("removeVanished is a required property for CreateAccessDomainsSingleSyncRequest and cannot be null");
}
this.RemoveVanished = removeVanished;
// to ensure "scope" is required (not null)
if (scope == null)
{
throw new ArgumentNullException("scope is a required property for CreateAccessDomainsSingleSyncRequest and cannot be null");
}
this.Scope = scope;
this.DryRun = dryRun;
}
///
/// Gets or Sets DryRun
///
[DataMember(Name = "dry-run", EmitDefaultValue = true)]
public bool DryRun { get; set; }
///
/// Gets or Sets EnableNew
///
[DataMember(Name = "enable-new", IsRequired = true, EmitDefaultValue = true)]
public bool EnableNew { get; set; }
///
/// Gets or Sets Full
///
[DataMember(Name = "full", IsRequired = true, EmitDefaultValue = true)]
public bool Full { get; set; }
///
/// Gets or Sets Purge
///
[DataMember(Name = "purge", IsRequired = true, EmitDefaultValue = true)]
public bool Purge { get; set; }
///
/// Gets or Sets RemoveVanished
///
[DataMember(Name = "remove-vanished", IsRequired = true, EmitDefaultValue = true)]
public string RemoveVanished { get; set; }
///
/// Gets or Sets Scope
///
[DataMember(Name = "scope", IsRequired = true, EmitDefaultValue = true)]
public string Scope { 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 CreateAccessDomainsSingleSyncRequest {\n");
sb.Append(" DryRun: ").Append(DryRun).Append("\n");
sb.Append(" EnableNew: ").Append(EnableNew).Append("\n");
sb.Append(" Full: ").Append(Full).Append("\n");
sb.Append(" Purge: ").Append(Purge).Append("\n");
sb.Append(" RemoveVanished: ").Append(RemoveVanished).Append("\n");
sb.Append(" Scope: ").Append(Scope).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;
}
}
}