def update_permission(pid: str=None, namespace: str=None, action: str=None):
    """

    DynamoDB Integration:
    ---

    if not pid:
        raise KeyError("PID argument is required.")

    try:
        _update_expression = ", ".join(f"SET {k} = :{k}" for k in perm_data.keys())
        _expression_attr_values = {f":{k}": v for k, v in perm_data.items()}

        permission_table.get_update(Key={"pid": {"S": pid}},
                                    updateExpression=_update_expression,
                                    expressionAttributeValues=_expression_attr_values)

        return permission_table.get_item(Key={"pid": {"S": pid}})

    except Exception as e:
        print(e)

        raise KeyError(e)
    """
    if not pid:
        raise KeyError('PID argument is required.')
    return {'pid': pid, 'namespace': namespace or 'not modified', 'action':
        action or 'not modified'}
