| description: > |
| Provides user management functionality. As communication to this service is |
| done through authenticated & authorized session, there won't be any |
| validation for both. |
| |
| methods: |
| - name: CreateUser |
| description: > |
| Creates a new user. If the user already exists, then it will throw an |
| error. |
| parameters: |
| - name: UserName |
| type: string |
| description: > |
| User name which has to be created. |
| - name: GroupNames |
| type: array[string] |
| description: > |
| List of groups to which the user has to be added. |
| - name: Privilege |
| type: string |
| description: > |
| Privilege of the user to be added. |
| - name: Enabled |
| type: boolean |
| description: > |
| User enabled / disabled. |
| errors: |
| - xyz.openbmc_project.Common.Error.InternalFailure |
| - xyz.openbmc_project.Common.Error.InsufficientPermission |
| - xyz.openbmc_project.Common.Error.InvalidArgument |
| - xyz.openbmc_project.User.Common.Error.UserNameExists |
| - xyz.openbmc_project.User.Common.Error.UserNameGroupFail |
| - xyz.openbmc_project.User.Common.Error.UserNamePrivFail |
| - xyz.openbmc_project.User.Common.Error.NoResource |
| |
| - name: RenameUser |
| description: > |
| Rename's existing user to new one. All other properties of the user |
| will remain same. |
| parameters: |
| - name: UserName |
| type: string |
| description: > |
| User name which has to be updated. |
| - name: NewUserName |
| type: string |
| description: > |
| New User name to which user has to be updated. |
| errors: |
| - xyz.openbmc_project.Common.Error.InternalFailure |
| - xyz.openbmc_project.Common.Error.InsufficientPermission |
| - xyz.openbmc_project.Common.Error.InvalidArgument |
| - xyz.openbmc_project.User.Common.Error.UserNameDoesNotExist |
| - xyz.openbmc_project.User.Common.Error.UserNameExists |
| - xyz.openbmc_project.User.Common.Error.UserNameGroupFail |
| - xyz.openbmc_project.User.Common.Error.UserNamePrivFail |
| - xyz.openbmc_project.User.Common.Error.NoResource |
| |
| - name: GetUserInfo |
| description: > |
| Get user properites. If its local user, method returns |
| -user privilege |
| -user groups |
| -user enabled state |
| -user locked state |
| -user password expired state |
| -remote user flag |
| If its ldap user, method returns |
| -user privilege |
| -remote user flag |
| parameters: |
| - name: UserName |
| type: string |
| description: > |
| User name whose properties have to be returned. |
| returns: |
| - name: UserInfo |
| type: dict[string,variant[string,array[string],boolean]] |
| description: > |
| Dictionary of user properties. List of key name and data type of |
| properties below. UserPrivilege -> privilege of the user(string) |
| UserGroups -> list of groups user belongs to(array[string]) |
| UserEnabled -> user enabled state(boolean) |
| UserLockedForFailedAttempt -> user locked state(boolean) |
| UserPasswordExpired -> user password expired(boolean) |
| RemoteUser -> remote or local user(boolean) |
| |
| For detailed documentation of user properties refer |
| Attributes.interface.yaml examples: |
| 1.UserInfo["RemoteUser"] returns true for ldap user |
| and false for local user. |
| 2.UserInfo["UserGroups"] gets list of groups of user. |
| errors: |
| - xyz.openbmc_project.Common.Error.InternalFailure |
| - xyz.openbmc_project.Common.Error.InsufficientPermission |
| - xyz.openbmc_project.Common.Error.InvalidArgument |
| - xyz.openbmc_project.User.Common.Error.UserNameDoesNotExist |
| |
| - name: CreateGroup |
| description: > |
| Creates a new groups. If the group already exists, or the group name |
| is not allowed to be created, it throws an error. |
| parameters: |
| - name: GroupName |
| type: string |
| description: > |
| The group to be added to the system. |
| errors: |
| - xyz.openbmc_project.Common.Error.InternalFailure |
| - xyz.openbmc_project.Common.Error.InvalidArgument |
| - xyz.openbmc_project.User.Common.Error.GroupNameExists |
| |
| - name: DeleteGroup |
| description: > |
| Deletes an existing groups. If the group doesn't exists, or the group |
| name is not allowed to be deleted, it throws an error. |
| parameters: |
| - name: GroupName |
| type: string |
| description: > |
| The group to be deleted from the system. |
| errors: |
| - xyz.openbmc_project.Common.Error.InternalFailure |
| - xyz.openbmc_project.Common.Error.InvalidArgument |
| - xyz.openbmc_project.User.Common.Error.GroupNameDoesNotExist |
| |
| properties: |
| - name: AllPrivileges |
| type: array[string] |
| flags: |
| - const |
| description: > |
| Lists all available user privileges in the system. |
| |
| - name: AllGroups |
| type: array[string] |
| flags: |
| - const |
| description: > |
| Lists all available groups in the system. |
| |
| signals: |
| - name: UserRenamed |
| description: > |
| Signal indicating user's name is updated. |
| properties: |
| - name: UserName |
| type: string |
| description: Name of the user which got renamed. |
| - name: NewUserName |
| type: string |
| description: New name of the user. |