/// <summary>
 /// Validate the object.
 /// </summary>
 /// <exception cref="Rest.ValidationException">
 /// Thrown if validation fails
 /// </exception>
 public virtual void Validate()
 {
     if (UserInfo != null)
     {
         UserInfo.Validate();
     }
     if (PlanData != null)
     {
         PlanData.Validate();
     }
 }
 /// <summary>
 /// Initializes a new instance of the MonitorProperties class.
 /// </summary>
 /// <param name="provisioningState">Possible values include:
 /// 'Accepted', 'Creating', 'Updating', 'Deleting', 'Succeeded',
 /// 'Failed', 'Canceled', 'Deleted', 'NotSpecified'</param>
 /// <param name="monitoringStatus">Possible values include: 'Enabled',
 /// 'Disabled'</param>
 /// <param name="marketplaceSubscriptionStatus">Possible values
 /// include: 'Active', 'Suspended'</param>
 /// <param name="liftrResourceCategory">Possible values include:
 /// 'Unknown', 'MonitorLogs'</param>
 /// <param name="liftrResourcePreference">The priority of the
 /// resource.</param>
 public MonitorProperties(string provisioningState = default(string), string monitoringStatus = default(string), string marketplaceSubscriptionStatus = default(string), LogzOrganizationProperties logzOrganizationProperties = default(LogzOrganizationProperties), UserInfo userInfo = default(UserInfo), PlanData planData = default(PlanData), string liftrResourceCategory = default(string), int?liftrResourcePreference = default(int?))
 {
     ProvisioningState             = provisioningState;
     MonitoringStatus              = monitoringStatus;
     MarketplaceSubscriptionStatus = marketplaceSubscriptionStatus;
     LogzOrganizationProperties    = logzOrganizationProperties;
     UserInfo = userInfo;
     PlanData = planData;
     LiftrResourceCategory   = liftrResourceCategory;
     LiftrResourcePreference = liftrResourcePreference;
     CustomInit();
 }