.. image:: /images/hpe_logo2.png
   :width: 150pt

|

First create an instance of Rest or Redfish Object using the **RestObject** or **RedfishObject** class respectively. The class constructor takes iLO hostname/ ip address formatted as a string ("https://xx.xx.xx.xx"), iLO login username and password as arguments. The class also initializes a login session, gets systems resources and message registries.

Rest Object creation:

.. code-block:: python

 REST_OBJ = RestObject(iLO_https_host, login_account, login_password)

Redfish Object creation:

.. code-block:: python

 REDFISH_OBJ = RedfishObject(iLO_https_host, login_account, login_password)

Example 28: Set iLO time zone
=============================

The method **ex28_set_ilo_timezone** takes an instance of rest object (or
redfish object if using Redfish API) and expected time zone as arguments. The
method only works if iLO is not configured to take the time settings from DHCP
v4 or v6.

.. code-block:: python

 def ex28_set_ilo_timezone(restobj, olson_timezone):

Find and get the system resource for iLO date time.

.. code-block:: python

 instances = restobj.search_for_type("HpiLODateTime.")

Send HTTP GET request to iLO date time URI.

.. code-block:: python

 for instance in instances:
     response = restobj.rest_get(instance["href"])

Find the time zone requested and prepare the request body.

.. code-block:: python

 for timezone in response.dict["TimeZoneList"]:
     if timezone["Name"].startswith(olson_timezone):
        body = {"TimeZone": {"Index": timezone["Index"]}}

Perform PATCH request to update iLO time zone.

.. code-block:: python

 response = restobj.rest_patch(instance["href"], body)
 restobj.error_handler(response)
