SessionService 子类方法 - KPTest框架开放资料

Skip to content

# SessionService 子类方法

1. redfish_session_query_session_service
> 描述：

    1
    2
    3
    4
    5

    方法功能：查询服务器当前会话服务的信息。

    命令格式：https://device_ip/redfish/v1/SessionService

    支持Host类型：HostType.BMC, HostType.HMM

> 参数：

    1

    None

> 返回值：

    1

    result(dict): 服务的信息。

> 异常：

    1

    None

> 举例：

    1

    ret = self.redfish_api.redfish_session_query_session_service()

2. redfish_session_modify_session_service
> 描述：

    1
    2
    3
    4
    5

    方法功能：修改服务器当前会话服务的超时时间。

    命令格式：PATCH执行https://device_ip/redfish/v1/SessionService

    支持Host类型：HostType.BMC, HostType.HMM

> 参数：

    1
    2
    3

    time(int): Redfish会话超时时间
    webtimeout(int): Web会话超时时间
    mode(str): Web会话模式

> 返回值：

    1

    result(dict): 命令返回体。

> 异常：

    1

    None

> 举例：

    1

    result = self.redfish_api.redfish_session_modify_session_service(time, webtimeout, webmode)

3. redfish_session_create_session
> 描述：

    1
    2
    3
    4
    5

    方法功能：创建新会话。

    命令格式：POST执行https://device_ip/redfish/v1/SessionService/Sessions

    支持Host类型：HostType.BMC, HostType.HMM

> 参数：

    1
    2
    3

    name(str): 新建会话对应的用户
    password(str): 新建会话对应的用户的密码
    domain(str): 用户所在的域，可选参数，无此参数时默认为AutomaticMatching

> 返回值：

    1

    result(dict): 命令返回体。

> 异常：

    1

    None

> 举例：

    1

    ret = self.redfish_api.redfish_session_create_session(params["UserName"], params["Password"])

4. redfish_session_query_session_collection
> 描述：

    1
    2
    3
    4
    5

    方法功能：查询服务器当前会话集合资源信息。

    命令格式：https://device_ip/redfish/v1/SessionService/Sessions

    支持Host类型：HostType.BMC, HostType.HMM

> 参数：

    1

    None

> 返回值：

    1

    result(dict): 命令返回体

> 异常：

    1

    None

> 举例：

    1

    result = self.redfish_api.redfish_session_query_session_collection()

5. redfish_session_query_session_id
> 描述：

    1
    2
    3
    4
    5

    方法功能：查询服务器指定会话资源信息。

    命令格式：https://device_ip/redfish/v1/SessionService/Sessions/session_id

    支持Host类型：HostType.BMC, HostType.HMM

> 参数：

    1

    session_id(str) 指定会话的ID

> 返回值：

    1

    result(dict): 命令返回体

> 异常：

    1

    None

> 举例：

    1

    result = self.redfish_api.redfish_session_query_session_id(session_id=payload)

6. redfish_session_delete_session
> 描述：

    1
    2
    3
    4
    5

    方法功能：删除指定会话。

    命令格式：DELETE执行https://device_ip/redfish/v1/SessionService/Sessions/session_id

    支持Host类型：HostType.BMC, HostType.HMM

> 参数：

    1

    session_id(str): 待删除的会话ID

> 返回值：

    1

    result(dict): 命令返回体

> 异常：

    1

    None

> 举例：

    1

    ret = self.redfish_api.redfish_session_delete_session(params["session_id"])

7. redfish_session_create_web_session
> 描述：

    1
    2
    3
    4
    5

    方法功能：创建新会话，Web使用此会话可通过Redfish接口获取和设置信息。

    命令格式：POST执行https://device_ip/redfish/v1/SessionService/Sessions

    支持Host类型：HostType.BMC, HostType.HMM

> 参数：

    1
    2
    3
    4

    interface(str): 目前仅在Web页面创建Redfish会话时使用
    name(str): 新建会话对应的用户
    password(str): 新建会话对应的用户的密码
    domain(str): 用户所在的域，可选参数，无此参数时默认为AutomaticMatching

> 返回值：

    1

    result(dict): 命令返回体

> 异常：

    1

    None

> 举例：

    1

    ret = self.redfish_api.redfish_session_create_web_session(params["UserName"], params["Password"])

8. redfish_session_perform_web_session_operations
> 描述：

    1
    2
    3
    4
    5

    方法功能：Web执行操作。

    命令格式：POST执行https://device_ip/redfish/v1/SessionService/Sessions

    支持Host类型：HostType.BMC, HostType.HMM

> 参数：

    1
    2
    3

    interface(str): 目前仅在Web页面创建Redfish会话时使用执行该请求时，必须在“Headers”中携带“From：WebUI”
    token(str): 执行该请求时，必须在“Headers”中携带“Token：xxx”用于CSRF防护
    session_id(str): 执行该请求时，必须在“Headers”中携带“Cookie：session_id=xxx”用于鉴权

> 返回值：

    1

    result(dict): 命令返回体

> 异常：

    1

    None

> 举例：

    1
    2

    ret = self.redfish_api.redfish_session_perform_web_session_operations(
    params["session_id"], params["token"]

9. redfish_session_web_secondary_authentication
> 描述：

    1
    2
    3
    4
    5
    6

    方法功能：在Web页面操作中，二次认证包括：修改VNC资源属性（仅VNC密码需要二次认证）、创建新用户、删除用户、修改指定用户信息、SSH公钥导入、SSH公钥删除、
                  修改自定义角色权限、修改指定域控制器、修改SNMPV3加密密码的信息。

    命令格式：POST执行https://device_ip/redfish/v1/AccountService/Accounts

    支持Host类型：HostType.BMC, HostType.HMM

> 参数：

    1
    2
    3

    interface(str): 目前仅在Web页面创建Redfish会话时使用执行该请求时，必须在“Headers”中携带“From：WebUI”
    token(str): 执行该请求时，必须在“Headers”中携带“Token：xxx”用于CSRF防护
    session_id(str): 执行该请求时，必须在“Headers”中携带“Cookie：session_id=xxx”用于鉴权

> 返回值：

    1

    result(dict): 命令返回体

> 异常：

    1

    None

> 举例：

    1
    2

    ret = self.redfish_api.redfish_session_web_secondary_authentication(
    params["UserName"], params["Password"], params["RoleId"], params["ReauthKey"])

10. redfish_session_refresh_web_session_status
> 描述：

    1
    2
    3
    4
    5

    方法功能：刷新Web会话活跃状态

    命令格式：POST执行https://device_ip/redfish/v1/SessionService/Sessions/461360e420ee911d/Oem/Huawei/

    支持Host类型：HostType.BMC, HostType.HMM

> 参数：

    1
    2
    3
    4

    interface(str): 目前仅在Web页面创建Redfish会话时使用执行该请求时，必须在“Headers”中携带“From：WebUI”
    token(str): 执行该请求时，必须在“Headers”中携带“Token：xxx”用于CSRF防护
    session_id(str): 执行该请求时，必须在“Headers”中携带“Cookie：session_id=xxx”用于鉴权
    modetype(str): 会话刷新类型

> 返回值：

    1

    result(dict): 命令返回体

> 异常：

    1

    None

> 举例：

    1

    ret = self.redfish_api.redfish_session_refresh_web_session_status(params["session_id"], params["Mode"])