summaryrefslogtreecommitdiffstats
path: root/xyz/openbmc_project/User/Manager.interface.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'xyz/openbmc_project/User/Manager.interface.yaml')
-rw-r--r--xyz/openbmc_project/User/Manager.interface.yaml124
1 files changed, 124 insertions, 0 deletions
diff --git a/xyz/openbmc_project/User/Manager.interface.yaml b/xyz/openbmc_project/User/Manager.interface.yaml
new file mode 100644
index 0000000..3874071
--- /dev/null
+++ b/xyz/openbmc_project/User/Manager.interface.yaml
@@ -0,0 +1,124 @@
+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
+ -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)
+ 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
+
+properties:
+ - name: AllPrivileges
+ type: array[string]
+ description: >
+ Lists all available user privileges in the system.
+
+ - name: AllGroups
+ type: array[string]
+ 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.
+
+# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
OpenPOWER on IntegriCloud