modifyUserGroup method

Future<UserGroup> modifyUserGroup({
  1. required String userGroupId,
  2. String? engine,
  3. List<String>? userIdsToAdd,
  4. List<String>? userIdsToRemove,
})

Changes the list of users that belong to the user group.

May throw DefaultUserRequired. May throw DuplicateUserNameFault. May throw InvalidParameterCombinationException. May throw InvalidParameterValueException. May throw InvalidUserGroupStateFault. May throw ServiceLinkedRoleNotFoundFault. May throw UserGroupNotFoundFault. May throw UserNotFoundFault.

Parameter userGroupId : The ID of the user group.

Parameter engine : Modifies the engine listed in a user group. The options are valkey or redis.

Parameter userIdsToAdd : The list of user IDs to add to the user group.

Parameter userIdsToRemove : The list of user IDs to remove from the user group.

Implementation

Future<UserGroup> modifyUserGroup({
  required String userGroupId,
  String? engine,
  List<String>? userIdsToAdd,
  List<String>? userIdsToRemove,
}) async {
  final $request = <String, String>{
    'UserGroupId': userGroupId,
    if (engine != null) 'Engine': engine,
    if (userIdsToAdd != null)
      if (userIdsToAdd.isEmpty)
        'UserIdsToAdd': ''
      else
        for (var i1 = 0; i1 < userIdsToAdd.length; i1++)
          'UserIdsToAdd.member.${i1 + 1}': userIdsToAdd[i1],
    if (userIdsToRemove != null)
      if (userIdsToRemove.isEmpty)
        'UserIdsToRemove': ''
      else
        for (var i1 = 0; i1 < userIdsToRemove.length; i1++)
          'UserIdsToRemove.member.${i1 + 1}': userIdsToRemove[i1],
  };
  final $result = await _protocol.send(
    $request,
    action: 'ModifyUserGroup',
    version: '2015-02-02',
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    resultWrapper: 'ModifyUserGroupResult',
  );
  return UserGroup.fromXml($result);
}