tree 4db01a438bc531620fd7b8c454f647f40bb42908
parent 95a3ecada41219555c5efe4080d6589dc2aaa411
author Ratan Gupta <ratagupt@linux.vnet.ibm.com> 1564160416 +0530
committer Ed Tanous <ed.tanous@intel.com> 1569345877 +0000

Redfish: Add PATCH operation support for RemoteRoleMapping

Added PATCH operation support for RemoteRoleMapping property under
LDAP/ActiveDirectory property in AccountService schema.

1. How to add the Role Mapping?

PATCH {"ActiveDirectory":{"RemoteRoleMapping": [{"RemoteGroup":
"Admingroup15","LocalRole": "User"},{"RemoteGroup": "Admingroup13",
"LocalRole": "Administrator"},{"RemoteGroup": "Admingroup14",
"LocalRole": "Operator"}]}}

With the above PATCH request, all the above role mapping gets added.

2. How to delete a specific role mapping?

After adding the above roles mapping, if user want to delete the second mapping
which is ({"RemoteGroup": "Admingroup13", "LocalRole": "Administrator"})

Following PATCH request would be used.
   PATCH {"ActiveDirectory":{"RemoteRoleMapping": [{},null,{}]}}

3. How to update specific role mapping ?

Let's take a case where user want to update the second role mapping
   PATCH {"ActiveDirectory":{"RemoteRoleMapping": [{},{"RemoteGroup":"Admingroup25","LocalRole": "User"},{}]}}
   or
   PATCH {"ActiveDirectory":{"RemoteRoleMapping": [{},{"RemoteGroup":"Admingroup25"},{}]}}  and \
   PATCH {"ActiveDirectory":{"RemoteRoleMapping": [{},{"LocalRole": "User"},{}]}}
Tested:

1. Did a PATCH operation with below given Data:

  ' {"ActiveDirectory":{"RemoteRoleMapping": [{"RemoteGroup": "Admingroup215","LocalRole": "User"}, \
   {"RemoteGroup": "Admingroup213","LocalRole":"Administrator"},{"RemoteGroup":"Admingroup214","LocalRole":"Operator"}]}}'

2. With GET got below given data:

 "RemoteRoleMapping": [
      {
        "LocalRole": "Operator",
        "RemoteGroup": "Admingroup214"
      },
      {
        "LocalRole": "Administrator",
        "RemoteGroup": "Admingroup213"
      },
      {
        "LocalRole": "User",
        "RemoteGroup": "Admingroup215"
      }
    ],

3. Did a PATCH operation with below given Data:

   '{"ActiveDirectory":{"RemoteRoleMapping": [{},null,{}]}}'

4. With GET got below given data:

    "RemoteRoleMapping": [
      {
        "LocalRole": "Operator",
        "RemoteGroup": "Admingroup214"
      },
      {
        "LocalRole": "User",
        "RemoteGroup": "Admingroup215"
      }
    ],

5. Did a PATCH operation with below given Data:

 '{"ActiveDirectory":{"RemoteRoleMapping": [null,null]}}'

6. With GET got below given data:

 "RemoteRoleMapping": []

7. Did a PATCH operation with below given Data:

   '{"ActiveDirectory":{"RemoteRoleMapping": [{"RemoteGroup": "Admingroup215","LocalRole": "User"}, \
   {"RemoteGroup": "Admingroup213","LocalRole":"Administrator"},{"RemoteGroup":"Admingroup214","LocalRole":"Operator"}]}}'

8. With GET got below given data:

 "RemoteRoleMapping": [
      {
        "LocalRole": "Administrator",
        "RemoteGroup": "Admingroup213"
      },
      {
        "LocalRole": "Operator",
        "RemoteGroup": "Admingroup214"
      },
      {
        "LocalRole": "User",
        "RemoteGroup": "Admingroup215"
      }
    ],
9. Did a PATCH operation with below given Data:

'{"ActiveDirectory":{"RemoteRoleMapping": [{"RemoteGroup": "Admingroup25"},{},{}]}}'

10.With GET got below given data:

 "RemoteRoleMapping": [
      {
        "LocalRole": "Administrator",
        "RemoteGroup": "Admingroup25"
      },
      {
        "LocalRole": "Operator",
        "RemoteGroup": "Admingroup214"
      },
      {
        "LocalRole": "User",
        "RemoteGroup": "Admingroup215"
      }
    ],
11. Did a PATCH operation with below given Data:

'{"ActiveDirectory":{"RemoteRoleMapping": [{"LocalRole": "User"},{},{}]}}'

12.With GET got below given data:

 "RemoteRoleMapping": [
      {
        "LocalRole": "User",
        "RemoteGroup": "Admingroup25"
      },
      {
        "LocalRole": "Operator",
        "RemoteGroup": "Admingroup214"
      },
      {
        "LocalRole": "User",
        "RemoteGroup": "Admingroup215"
      }
    ],

13. Did a PATCH operation with below given Data:

'{"ActiveDirectory":{"RemoteRoleMapping": [{},{"RemoteGroup": "Admingroup26","LocalRole": "User"},{}]}}'

14.With GET got below given data:

 "RemoteRoleMapping": [
      {
        "LocalRole": "User",
        "RemoteGroup": "Admingroup25"
      },
      {
        "LocalRole": "User",
        "RemoteGroup": "Admingroup26"
      },
      {
        "LocalRole": "User",
        "RemoteGroup": "Admingroup215"
      }
    ],

15. Try to delete the role map when there was no role map entry and get the following error.
  "RemoteRoleMapping/1@Message.ExtendedInfo": [
    {
      "@odata.type": "/redfish/v1/$metadata#Message.v1_0_0.Message",
      "Message": "The value null for the property RemoteRoleMapping/0 is of a different type than the property can accept.",
      "MessageArgs": [
        "null",
        "RemoteRoleMapping/0"
      ],
      "MessageId": "Base.1.4.0.PropertyValueTypeError",
      "Resolution": "Correct the value for the property in the request body and resubmit the request if the operation failed.",
      "Severity": "Warning"
    }

Signed-off-by: Ratan Gupta <ratagupt@linux.vnet.ibm.com>
Change-Id: Iaa37221bd6fdc87dbf51755d9425ecd5b07eee6c
