/// <summary>
 /// Initializes a new instance of the <see cref="LastManualImportInputConfiguration" /> class.
 /// </summary>
 /// <param name="Input">Input (required).</param>
 public LastManualImportInputConfiguration(InputConfiguration Input = default(InputConfiguration))
 {
     // to ensure "Input" is required (not null)
     if (Input == null)
     {
         throw new InvalidDataException("Input is a required property for LastManualImportInputConfiguration and cannot be null");
     }
     else
     {
         this.Input = Input;
     }
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="StartManualImportRequest" /> class.
 /// </summary>
 /// <param name="Input">Input (required).</param>
 /// <param name="DuplicateProductSkuConfiguration">DuplicateProductSkuConfiguration.</param>
 public StartManualImportRequest(InputConfiguration Input = default(InputConfiguration), DuplicateProductValueConfiguration DuplicateProductSkuConfiguration = default(DuplicateProductValueConfiguration))
 {
     // to ensure "Input" is required (not null)
     if (Input == null)
     {
         throw new InvalidDataException("Input is a required property for StartManualImportRequest and cannot be null");
     }
     else
     {
         this.Input = Input;
     }
     this.DuplicateProductSkuConfiguration = DuplicateProductSkuConfiguration;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="AutoImportConfiguration" /> class.
 /// </summary>
 /// <param name="Input">Input (required).</param>
 /// <param name="InputConfiguredByUserId">InputConfiguredByUserId (required).</param>
 /// <param name="SchedulingType">SchedulingType (required).</param>
 /// <param name="ScheduledByUserId">ScheduledByUserId.</param>
 /// <param name="SchedulingValue">Indicate the scheduling value. If the scheduling type is Interval then the value will be a duration otherwise the values will be the time. (required).</param>
 /// <param name="Paused">Indicate if the auto import is in pause or not. (required) (default to false).</param>
 /// <param name="PauseStatusChangedByUserId">PauseStatusChangedByUserId.</param>
 /// <param name="PauseStatusChangedUtcDate">Indicate when the pause status has changed in UTC date..</param>
 /// <param name="DuplicateProductConfiguration">DuplicateProductConfiguration (required).</param>
 /// <param name="SchedulingLocalTimeZoneName">Indicate the time zone name of the scheduling. If the scheduling type is \&quot;Schedule\&quot; (default to &quot;Romance Standard Time&quot;).</param>
 public AutoImportConfiguration(InputConfiguration Input = default(InputConfiguration), BeezUPCommonUserId InputConfiguredByUserId = default(BeezUPCommonUserId), SchedulingType SchedulingType = default(SchedulingType), BeezUPCommonUserId ScheduledByUserId = default(BeezUPCommonUserId), List <string> SchedulingValue = default(List <string>), bool?Paused = false, BeezUPCommonUserId PauseStatusChangedByUserId = default(BeezUPCommonUserId), DateTime?PauseStatusChangedUtcDate = default(DateTime?), DuplicateProductValueConfiguration DuplicateProductConfiguration = default(DuplicateProductValueConfiguration), string SchedulingLocalTimeZoneName = "Romance Standard Time")
 {
     // to ensure "Input" is required (not null)
     if (Input == null)
     {
         throw new InvalidDataException("Input is a required property for AutoImportConfiguration and cannot be null");
     }
     else
     {
         this.Input = Input;
     }
     // to ensure "InputConfiguredByUserId" is required (not null)
     if (InputConfiguredByUserId == null)
     {
         throw new InvalidDataException("InputConfiguredByUserId is a required property for AutoImportConfiguration and cannot be null");
     }
     else
     {
         this.InputConfiguredByUserId = InputConfiguredByUserId;
     }
     // to ensure "SchedulingType" is required (not null)
     if (SchedulingType == null)
     {
         throw new InvalidDataException("SchedulingType is a required property for AutoImportConfiguration and cannot be null");
     }
     else
     {
         this.SchedulingType = SchedulingType;
     }
     // to ensure "SchedulingValue" is required (not null)
     if (SchedulingValue == null)
     {
         throw new InvalidDataException("SchedulingValue is a required property for AutoImportConfiguration and cannot be null");
     }
     else
     {
         this.SchedulingValue = SchedulingValue;
     }
     // to ensure "Paused" is required (not null)
     if (Paused == null)
     {
         throw new InvalidDataException("Paused is a required property for AutoImportConfiguration and cannot be null");
     }
     else
     {
         this.Paused = Paused;
     }
     // to ensure "DuplicateProductConfiguration" is required (not null)
     if (DuplicateProductConfiguration == null)
     {
         throw new InvalidDataException("DuplicateProductConfiguration is a required property for AutoImportConfiguration and cannot be null");
     }
     else
     {
         this.DuplicateProductConfiguration = DuplicateProductConfiguration;
     }
     this.ScheduledByUserId          = ScheduledByUserId;
     this.PauseStatusChangedByUserId = PauseStatusChangedByUserId;
     this.PauseStatusChangedUtcDate  = PauseStatusChangedUtcDate;
     // use default value if no "SchedulingLocalTimeZoneName" provided
     if (SchedulingLocalTimeZoneName == null)
     {
         this.SchedulingLocalTimeZoneName = "Romance Standard Time";
     }
     else
     {
         this.SchedulingLocalTimeZoneName = SchedulingLocalTimeZoneName;
     }
 }