summaryrefslogtreecommitdiff
path: root/lib/ansible/modules/remote_management
diff options
context:
space:
mode:
authorBill Dodd <billdodd@gmail.com>2019-09-03 20:44:33 -0500
committeransibot <ansibot@users.noreply.github.com>2019-09-03 21:44:33 -0400
commit091ab12692f2c44ce9cac6439c022b32dedc1cb6 (patch)
treeea750292e18dda478218b1bfa913810cb0a8bba7 /lib/ansible/modules/remote_management
parent088d821f7514dd9276fb1feb48ce4592736ddf68 (diff)
downloadansible-091ab12692f2c44ce9cac6439c022b32dedc1cb6.tar.gz
Fix issues and limitations in account mgmt commands (#58441)
* fix issues and limitations in account mgmt commands * fix pep8 and example yaml errors * remove new option and update option aliases * find next empty slot when adding user via PATCH
Diffstat (limited to 'lib/ansible/modules/remote_management')
-rw-r--r--lib/ansible/modules/remote_management/redfish/redfish_command.py95
1 files changed, 74 insertions, 21 deletions
diff --git a/lib/ansible/modules/remote_management/redfish/redfish_command.py b/lib/ansible/modules/remote_management/redfish/redfish_command.py
index bc06f621e6..f16e486edb 100644
--- a/lib/ansible/modules/remote_management/redfish/redfish_command.py
+++ b/lib/ansible/modules/remote_management/redfish/redfish_command.py
@@ -41,7 +41,7 @@ options:
username:
required: true
description:
- - User for authentication with OOB controller
+ - Username for authentication with OOB controller
type: str
version_added: "2.8"
password:
@@ -51,26 +51,30 @@ options:
type: str
id:
required: false
+ aliases: [ account_id ]
description:
- - ID of user to add/delete/modify
+ - ID of account to delete/modify
type: str
version_added: "2.8"
new_username:
required: false
+ aliases: [ account_username ]
description:
- - name of user to add/delete/modify
+ - Username of account to add/delete/modify
type: str
version_added: "2.8"
new_password:
required: false
+ aliases: [ account_password ]
description:
- - password of user to add/delete/modify
+ - New password of account to add/modify
type: str
version_added: "2.8"
roleid:
required: false
+ aliases: [ account_roleid ]
description:
- - role of user to add/delete/modify
+ - Role of account to add/modify
type: str
version_added: "2.8"
bootdevice:
@@ -146,26 +150,65 @@ EXAMPLES = '''
username: "{{ username }}"
password: "{{ password }}"
- - name: Add and enable user
+ - name: Add user
redfish_command:
category: Accounts
- command: AddUser,EnableUser
+ command: AddUser
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
- id: "{{ id }}"
new_username: "{{ new_username }}"
new_password: "{{ new_password }}"
roleid: "{{ roleid }}"
- - name: Disable and delete user
+ - name: Add user using new option aliases
+ redfish_command:
+ category: Accounts
+ command: AddUser
+ baseuri: "{{ baseuri }}"
+ username: "{{ username }}"
+ password: "{{ password }}"
+ account_username: "{{ account_username }}"
+ account_password: "{{ account_password }}"
+ account_roleid: "{{ account_roleid }}"
+
+ - name: Delete user
+ redfish_command:
+ category: Accounts
+ command: DeleteUser
+ baseuri: "{{ baseuri }}"
+ username: "{{ username }}"
+ password: "{{ password }}"
+ account_username: "{{ account_username }}"
+
+ - name: Disable user
+ redfish_command:
+ category: Accounts
+ command: DisableUser
+ baseuri: "{{ baseuri }}"
+ username: "{{ username }}"
+ password: "{{ password }}"
+ account_username: "{{ account_username }}"
+
+ - name: Enable user
redfish_command:
category: Accounts
- command: ["DisableUser", "DeleteUser"]
+ command: EnableUser
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
- id: "{{ id }}"
+ account_username: "{{ account_username }}"
+
+ - name: Add and enable user
+ redfish_command:
+ category: Accounts
+ command: AddUser,EnableUser
+ baseuri: "{{ baseuri }}"
+ username: "{{ username }}"
+ password: "{{ password }}"
+ new_username: "{{ new_username }}"
+ new_password: "{{ new_password }}"
+ roleid: "{{ roleid }}"
- name: Update user password
redfish_command:
@@ -174,8 +217,18 @@ EXAMPLES = '''
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
- id: "{{ id }}"
- new_password: "{{ new_password }}"
+ account_username: "{{ account_username }}"
+ account_password: "{{ account_password }}"
+
+ - name: Update user role
+ redfish_command:
+ category: Accounts
+ command: UpdateUserRole
+ baseuri: "{{ baseuri }}"
+ username: "{{ username }}"
+ password: "{{ password }}"
+ account_username: "{{ account_username }}"
+ roleid: "{{ roleid }}"
- name: Clear Manager Logs with a timeout of 20 seconds
redfish_command:
@@ -220,10 +273,10 @@ def main():
baseuri=dict(required=True),
username=dict(required=True),
password=dict(required=True, no_log=True),
- id=dict(),
- new_username=dict(),
- new_password=dict(no_log=True),
- roleid=dict(),
+ id=dict(aliases=["account_id"]),
+ new_username=dict(aliases=["account_username"]),
+ new_password=dict(aliases=["account_password"], no_log=True),
+ roleid=dict(aliases=["account_roleid"]),
bootdevice=dict(),
timeout=dict(type='int', default=10),
uefi_target=dict(),
@@ -240,10 +293,10 @@ def main():
'pswd': module.params['password']}
# user to add/modify/delete
- user = {'userid': module.params['id'],
- 'username': module.params['new_username'],
- 'userpswd': module.params['new_password'],
- 'userrole': module.params['roleid']}
+ user = {'account_id': module.params['id'],
+ 'account_username': module.params['new_username'],
+ 'account_password': module.params['new_password'],
+ 'account_roleid': module.params['roleid']}
# timeout
timeout = module.params['timeout']