description: >
    Provides user objects, their properties.
    As communication to this service is done through authenticated
    & authorized session, there won't be any validation for the both.

properties:
    - name: UserGroups
      type: array[string]
      description: >
          Groups to which the user belong.
      errors:
          - xyz.openbmc_project.Common.Error.InternalFailure

    - name: UserPrivilege
      type: string
      description: >
          Privilege of the user.
      errors:
          - xyz.openbmc_project.Common.Error.InternalFailure

    - name: UserEnabled
      type: boolean
      description: >
          Enabled or disabled state of the user.
      errors:
          - xyz.openbmc_project.Common.Error.InternalFailure

    - name: UserLockedForFailedAttempt
      type: boolean
      description: >
          Locked or unlocked state of the user. After repeated failed
          login attempt (configured through MaxLoginAttemptBeforeLockout),
          locked out user can be unlocked manually by setting false to
          this property. This property will return true if user is locked
          out user. AccountUnlockTimeout property can be configured to unlock
          the user after a timeout.
      errors:
          - xyz.openbmc_project.Common.Error.InternalFailure

    - name: RemoteUser
      type: boolean
      flags:
          - const
      description: >
          False for local users.
      errors:
          - xyz.openbmc_project.Common.Error.InternalFailure

    - name: UserPasswordExpired
      type: boolean
      flags:
          - const
      description: >
          True when the user's password must be changed before access should
          be granted.
      errors:
          - xyz.openbmc_project.Common.Error.InternalFailure
