Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
163 commits
Select commit Hold shift + click to select a range
10575c0
Add files via upload
rajeevkallur Feb 17, 2023
236e088
Add files via upload
rajeevkallur Feb 17, 2023
5df43f5
jupyter notebooks
rajeevkallur Mar 3, 2023
92fb218
Merge branch 'HewlettPackard:master' into master
DharitriNandi Apr 29, 2023
650e7b5
addec hpe cty folder
Apr 30, 2023
3097216
bhuvan - added 2 scripts
May 2, 2023
256a9a1
Create Dharitri
DharitriNandi May 2, 2023
9d504c7
Delete Dharitri
DharitriNandi May 2, 2023
4933958
Create index.ipynb
DharitriNandi May 2, 2023
b649369
Add files via upload
DharitriNandi May 2, 2023
ec1827c
Delete clear_ahs_data.ipynb
DharitriNandi May 2, 2023
e7a9f37
Create clear_ahs_data
DharitriNandi May 2, 2023
2dcdb22
Add files via upload
DharitriNandi May 2, 2023
0469f13
Delete clear_ahs_data
DharitriNandi May 2, 2023
58b0621
Create iLO
DharitriNandi May 2, 2023
a290970
Delete iLO
DharitriNandi May 2, 2023
d83f8d7
Add files via upload
DharitriNandi May 2, 2023
63670b0
Add files via upload
tanveer128 May 3, 2023
a91b90e
Create B VENKAT RAHUL
venkatrahul2003 May 3, 2023
188210f
Delete B VENKAT RAHUL
venkatrahul2003 May 3, 2023
bf7b207
Add files via upload
venkatrahul2003 May 3, 2023
65a0335
Bhuvan - added 4 scripts
May 4, 2023
c711946
Merge https://github.com/BhuvanSuresh/python-ilorest-library
May 4, 2023
08bf5dc
Add files via upload
DharitriNandi May 4, 2023
dcf5124
Add files via upload
DharitriNandi May 4, 2023
6b411f9
Add files via upload
ShrilakshmiUpadhya May 9, 2023
ca134fb
Add files via upload
ShrilakshmiUpadhya May 10, 2023
d0d5cca
Add files via upload
DharitriNandi May 10, 2023
2126bb4
Add files via upload
DharitriNandi May 10, 2023
7ee56e1
Add files via upload
DharitriNandi May 10, 2023
ea26d1d
Add files via upload
DharitriNandi May 10, 2023
22074bd
Add files via upload
DharitriNandi May 10, 2023
f1bf42f
Add files via upload
venkatrahul2003 May 11, 2023
dfb621a
Add files via upload
tanveer128 May 12, 2023
ef6dc0a
Add files via upload
tanveer128 May 12, 2023
21405cd
scripts_classified
rajeevkallur May 12, 2023
bfb0817
more
rajeevkallur May 12, 2023
97888a5
Create test.txt
rajeevkallur May 12, 2023
a00157e
added 4 more scripts
May 12, 2023
909a2e5
Merge https://github.com/BhuvanSuresh/python-ilorest-library
May 12, 2023
4cd16a8
Delete examples/Jupyter_notebooks/HPECTY/Dharitri directory
DharitriNandi May 15, 2023
a18b863
Create index.ipynb
DharitriNandi May 15, 2023
ba20bc7
Add files via upload
DharitriNandi May 15, 2023
0957fee
Add files via upload
DharitriNandi May 15, 2023
0a3e473
added all 12 scripts
May 24, 2023
1b59aa4
bhuvan - made corrections
May 27, 2023
3c04008
Add files via upload
tanveer128 May 30, 2023
944fc50
Delete examples/Jupyter_notebooks/HPECTY/B VENKAT RAHUL directory
venkatrahul2003 May 30, 2023
e0c9d0f
Add files via upload
venkatrahul2003 May 30, 2023
323f409
Add files via upload
DharitriNandi May 30, 2023
60f6b62
Add files via upload
DharitriNandi May 30, 2023
82873bf
Add files via upload
DharitriNandi May 30, 2023
3104280
Add files via upload
DharitriNandi May 30, 2023
6033dec
Add files via upload
DharitriNandi May 30, 2023
0d9cd0d
Add files via upload
DharitriNandi May 30, 2023
ce2569c
Add files via upload
DharitriNandi May 30, 2023
1c8f5ae
recording
rajeevkallur May 31, 2023
2544971
Delete get_ahs_data.ipynb
ShrilakshmiUpadhya May 31, 2023
bccec67
Delete get_base_registry.ipynb
ShrilakshmiUpadhya May 31, 2023
4610220
Delete get_bios_settings.ipynb
ShrilakshmiUpadhya May 31, 2023
1b254d8
Add files via upload
ShrilakshmiUpadhya May 31, 2023
83935a7
Delete set_ESKM_PrimaryKeyServer.ipynb
ShrilakshmiUpadhya May 31, 2023
35c795f
Delete set_ESKM_username_pass.ipynb
ShrilakshmiUpadhya May 31, 2023
71c4f1c
Delete get_ilo_ip.ipynb
ShrilakshmiUpadhya May 31, 2023
d98ce9b
Delete get_ilo_nic.ipynb
ShrilakshmiUpadhya May 31, 2023
71f3cc1
Add files via upload
ShrilakshmiUpadhya May 31, 2023
ad8cd19
Delete set_ilo_ntp_servers.ipynb
ShrilakshmiUpadhya May 31, 2023
9993700
Delete set_ilo_timezone.ipynb
ShrilakshmiUpadhya May 31, 2023
a5ade04
Delete set_ethernet_management.ipynb
ShrilakshmiUpadhya May 31, 2023
39900ad
Add files via upload
ShrilakshmiUpadhya May 31, 2023
6d5e62f
Add files via upload
ShrilakshmiUpadhya May 31, 2023
7f355fc
Add files via upload
ShrilakshmiUpadhya May 31, 2023
a7709ee
Delete set_ESKM_PrimaryKeyServer.ipynb
ShrilakshmiUpadhya May 31, 2023
07e5be8
Add files via upload
ShrilakshmiUpadhya May 31, 2023
a0c911a
Add files via upload
ShrilakshmiUpadhya May 31, 2023
31ad384
Add files via upload
DharitriNandi May 31, 2023
ba8d365
Add files via upload
DharitriNandi May 31, 2023
597ba3f
Add files via upload
DharitriNandi May 31, 2023
9655918
Add files via upload
DharitriNandi May 31, 2023
cbc57c9
Add files via upload
DharitriNandi May 31, 2023
0ef1d7b
Add files via upload
DharitriNandi May 31, 2023
31e5495
Add files via upload
DharitriNandi May 31, 2023
989d35e
Add files via upload
DharitriNandi May 31, 2023
a444d01
Add files via upload
DharitriNandi May 31, 2023
0e1995d
Delete account_remove.ipynb
tanveer128 Jun 1, 2023
638b2ce
Delete get_logical_drives.ipynb
tanveer128 Jun 1, 2023
b5118c5
Delete get_resource_directory.ipynb
tanveer128 Jun 1, 2023
5cd4813
Delete ilorest_util.ipynb
tanveer128 Jun 1, 2023
56b5220
Delete import_ssl.ipynb
tanveer128 Jun 1, 2023
7bce27a
Delete modify_user_account.ipynb
tanveer128 Jun 1, 2023
bac6ca3
Delete mount_virtual_media_iso.ipynb
tanveer128 Jun 1, 2023
a209522
Delete quickstart_redfish.ipynb
tanveer128 Jun 1, 2023
ad0e084
Delete reboot_server.ipynb
tanveer128 Jun 1, 2023
74a3403
Delete reset_ESKM_eventlog.ipynb
tanveer128 Jun 1, 2023
8c385b9
Delete reset_ilo.ipynb
tanveer128 Jun 1, 2023
46b0911
Delete reset_server.ipynb
tanveer128 Jun 1, 2023
c18c612
Create Tanveer
tanveer128 Jun 1, 2023
41ce4a9
Delete Tanveer
tanveer128 Jun 1, 2023
54f4aff
Add files via upload
tanveer128 Jun 1, 2023
d6a030f
Add files via upload
tanveer128 Jun 1, 2023
65fbdca
Delete examples/Jupyter_notebooks/HPECTY/B VENKAT RAHUL directory
venkatrahul2003 Jun 1, 2023
c96c8e2
Add files via upload
venkatrahul2003 Jun 1, 2023
b39080c
bhuvan-added all scripts
Jun 1, 2023
b21e657
bhuvan-added index
Jun 1, 2023
d7ed0a6
Delete enable_secure_boot-.ipynb
venkatrahul2003 Jun 1, 2023
2f99a73
Delete mount_virtual_media.ipynb
venkatrahul2003 Jun 1, 2023
c3881cf
Add files via upload
venkatrahul2003 Jun 1, 2023
193f2cd
Delete index.ipynb
DharitriNandi Jun 1, 2023
3cd95ce
Add files via upload
DharitriNandi Jun 1, 2023
71b7917
Add files via upload
DharitriNandi Jun 1, 2023
476eaf7
Add files via upload
DharitriNandi Jun 1, 2023
7b89567
Add files via upload
DharitriNandi Jun 1, 2023
c7ca74e
Add files via upload
DharitriNandi Jun 1, 2023
9d4a007
Delete index.ipynb
tanveer128 Jun 1, 2023
6fded5e
Add files via upload
tanveer128 Jun 1, 2023
53e3856
Delete index.ipynb
tanveer128 Jun 1, 2023
8276ba1
Add files via upload
tanveer128 Jun 1, 2023
70e92cf
Delete set_uid_light.ipynb
DharitriNandi Jun 1, 2023
3bab70d
Update set_license_key.ipynb
DharitriNandi Jun 1, 2023
431ce3e
Update set_snmp_alert.ipynb
DharitriNandi Jun 1, 2023
3111b29
Update configure_snmp_trap_source.ipynb
DharitriNandi Jun 1, 2023
1c3fc77
Update configure_snmp.ipynb
DharitriNandi Jun 1, 2023
e289d60
Update set_server_asset_tag.ipynb
DharitriNandi Jun 1, 2023
35a4423
Add files via upload
DharitriNandi Jun 1, 2023
d30f3cf
Add files via upload
DharitriNandi Jun 1, 2023
097152c
Add files via upload
DharitriNandi Jun 1, 2023
9ec2096
Delete index.ipynb
ShrilakshmiUpadhya Jun 1, 2023
b53e118
Add files via upload
ShrilakshmiUpadhya Jun 1, 2023
842a163
Delete modify_user_account.ipynb
tanveer128 Jun 1, 2023
b6bd698
Delete account_remove.ipynb
tanveer128 Jun 1, 2023
5aeb15d
Add files via upload
tanveer128 Jun 1, 2023
9f05efe
Delete index.ipynb
tanveer128 Jun 1, 2023
ede6e11
Delete mount_virtual_media_iso.ipynb
tanveer128 Jun 1, 2023
b487150
Add files via upload
venkatrahul2003 Jun 1, 2023
b717082
Add files via upload
tanveer128 Jun 1, 2023
0ed7e15
Add files via upload
venkatrahul2003 Jun 1, 2023
1f96af6
Delete import_ssl.ipynb
tanveer128 Jun 1, 2023
a6fccd2
Add files via upload
tanveer128 Jun 1, 2023
048d870
Delete index.ipynb
venkatrahul2003 Jun 1, 2023
14b98d9
Add files via upload
venkatrahul2003 Jun 1, 2023
0c07ecb
Add files via upload
tanveer128 Jun 1, 2023
abd696f
Add files via upload
tanveer128 Jun 1, 2023
e36ff37
Add files via upload
tanveer128 Jun 1, 2023
157cd99
Add files via upload
tanveer128 Jun 1, 2023
f029d1e
Add files via upload
tanveer128 Jun 1, 2023
3ac85fd
Add files via upload
tanveer128 Jun 1, 2023
cfb6a45
Delete index.ipynb
tanveer128 Jun 1, 2023
d82a4ee
Add files via upload
tanveer128 Jun 1, 2023
b7e4e96
Delete index(1).ipynb
tanveer128 Jun 1, 2023
50505f3
Add files via upload
tanveer128 Jun 1, 2023
e8242c2
Update index(1)(1).ipynb
DharitriNandi Jun 1, 2023
7ec7e87
Add files via upload
DharitriNandi Jun 1, 2023
5549149
Add files via upload
DharitriNandi Jun 1, 2023
8759aff
Add files via upload
DharitriNandi Jun 1, 2023
ba21276
Add files via upload
DharitriNandi Jun 1, 2023
cb25d15
Add files via upload
DharitriNandi Jun 1, 2023
da92ee4
Delete index(1)(1).ipynb
ShrilakshmiUpadhya Jun 2, 2023
671dfac
Add files via upload
ShrilakshmiUpadhya Jun 2, 2023
1157051
Delete set_ilo_ntp_servers.ipynb
ShrilakshmiUpadhya Jun 2, 2023
e9478c5
Delete set_ilo_timezone.ipynb
ShrilakshmiUpadhya Jun 2, 2023
ea53509
Add files via upload
ShrilakshmiUpadhya Jun 2, 2023
e428340
Bhuvan-final commit
Jun 2, 2023
46ede6a
final commit - bhuvan
Jun 2, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6,490 changes: 6,487 additions & 3 deletions docs/themes/sphinx_rtd_theme/static/css/theme.css

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/themes/sphinx_rtd_theme/static/css/theme.css.map

Large diffs are not rendered by default.

1,014 changes: 1,014 additions & 0 deletions example_jupyter_notebooks/.ipynb_checkpoints/index-checkpoint.ipynb

Large diffs are not rendered by default.

Binary file added example_jupyter_notebooks/Jupyter1.mp4
Binary file not shown.
Binary file added example_jupyter_notebooks/Jupyter2.mp4
Binary file not shown.
267 changes: 267 additions & 0 deletions example_jupyter_notebooks/Reset Ilo/reset_ilo.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,267 @@
{
"cells": [
{
"cell_type": "markdown",
"id": "e2d7d850",
"metadata": {
"tags": []
},
"source": [
"# Resetting the Manager"
]
},
{
"cell_type": "markdown",
"id": "88f096f8",
"metadata": {},
"source": [
"<div class=\"alert alert-block alert-info\" style=\"border-radius: 20px;\">\n",
"<i>Hello there.!<br></i> Welcome to <b>python-iLOrest-library</b> <br> Here is an example to <b>Resetting the Manager</b> <br> As you are here let's get it done easily.<br>\n",
" To perform this u need to have <a href = \"https://libraries.io/pypi/python-ilorest-library#id3\" style = \"none\">python-ilorest-library</a> installed in your machine.<br>\n",
" And please keep your username and password handy!\n",
" <br>\n",
" <b>Also do execute each successive cell once to avoid any errors!</b>\n",
" \n",
"</div>"
]
},
{
"cell_type": "markdown",
"id": "d1525f25",
"metadata": {
"tags": []
},
"source": [
"<div class=\"alert alert-block alert-success\" style=\"border-radius: 20px;\">\n",
" <h1> 1.</h1>\n",
"Below we are importing all the necessary modules from the ilorest library!.<br>\n",
" <li><a href = \"https://www.tutorialspoint.com/what-is-python-s-sys-module#:~:text=%20What%20is%20Python%27s%20Sys%20Module%20%201,%5B0%5D%20prints%20the...%205%20Output.%20%20More%20\">sys </a>\n",
" </li>\n",
" <li>json </li>\n",
" <li> redfish </li>\n",
" <li>ServerDownOrUnreachableError</li>\n",
" <li>get_resource_directory</li>\n",
" \n",
"</div>"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "8ce9142d",
"metadata": {},
"outputs": [],
"source": [
"import sys\n",
"import json\n",
"from redfish import RedfishClient\n",
"from redfish.rest.v1 import ServerDownOrUnreachableError\n",
"from get_resource_directory import get_resource_directory"
]
},
{
"cell_type": "markdown",
"id": "b9615aea",
"metadata": {},
"source": [
"<div class = \"alert alert-block alert-success\" style=\"border-radius: 20px;\">\n",
" <h1> 2. </h1>This is our clear_ahs_data to function overview, in the end this will clear ahs data.<br>\n",
" <i>Let me give you a walk through of it!</i>\n",
" <br>\n",
" There is a hierarchy involved in iLO Rest Api. So we are simply following the hierarchy present to change the settings.<br>\n",
"\n",
"1. In the <b>resetting a manager</b> function we are first using <b>resource_instances</b> variable to obtain information about the resource directory by using get_resource_directory module.\n",
"<br>\n",
" \n",
"2. If the resource instance is not empty then the code fetches <b>information about a manager</b> from a collection of \"Managers\" resources on a target system, using a Redfish client object. It retrieves the first member's URI, and then gets more details about that specific member.\n",
" <br>\n",
"\n",
"3. Else i.e; then iterates through a collection of Redfish resource instances and checks if the type of each instance is <b>#Manager</b>. If it is, the code retrieves more information about that specific instance using the Redfish client object <b>_redfishobj</b>.\n",
" <br>\n",
"\n",
"4. If manager_members_respone is ture then it retrieves the URI for the <b>Reset</b> action on a specific Redfish manager using the <b>managers_members_response</b> variable, and then creates a request body containing the <b>Action</b> key with the value <b>Manager.Reset</b>. Finally, it sends a <i>POST</i>request to the retrieved URI using the Redfish client object <b>_redfishobj</b> to initiate a reset operation on the target system.\n",
" <br>\n",
" 5.Next is to check the status of the response received from the previous <b>POST</b> request sent using the Redfish client object <b>_redfishobj</b>.\n",
" <br>\n",
" 1.If the status is 400, it attempts to print the extended error message associated with the response.\n",
" <br>\n",
" 2.If the response status is not 400 and not 200, an error message is printed to the standard error stream.\n",
" <br>\n",
" 3.If the response status is 200, it indicates that the reset operation was successful. The code then prints a success message and prints the JSON response received from the server in a formatted way.\n",
" <br>\n",
"\n",
" </div>"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "16042277",
"metadata": {},
"outputs": [],
"source": [
"def reset_ilo(_redfishobj, DISABLE_RESOURCE_DIR):\n",
"\n",
" managers_members_response = None\n",
" \n",
" #function get_resource_directory returns Redfish resource instances from client object.\n",
" resource_instances = get_resource_directory(_redfishobj)\n",
" #checking target resource is empty are not \n",
" if DISABLE_RESOURCE_DIR or not resource_instances:\n",
" #if we do not have a resource directory or want to force it's non use to find the\n",
" #relevant URI\n",
" managers_uri = _redfishobj.root.obj['Managers']['@odata.id']\n",
" managers_response = _redfishobj.get(managers_uri)\n",
" managers_members_uri = next(iter(managers_response.obj['Members']))['@odata.id']\n",
" managers_members_response = _redfishobj.get(managers_members_uri)\n",
" else:\n",
" #Use Resource directory to find the relevant URI\n",
" for instance in resource_instances:\n",
" if '#Manager.' in instance['@odata.type']:\n",
" managers_members_uri = instance['@odata.id']\n",
" managers_members_response = _redfishobj.get(managers_members_uri)\n",
" #checking the managers_members_response true or not\n",
" if managers_members_response:\n",
" reset_ilo_uri = managers_members_response.obj['Actions']['#Manager.Reset']['target']\n",
" body = {'Action': 'Manager.Reset'}\n",
" resp = _redfishobj.post(reset_ilo_uri, body)\n",
"\n",
" #If iLO responds with soemthing outside of 200 or 201 then lets check the iLO extended info\n",
" #error message to see what went wrong\n",
" if resp.status == 400:\n",
" try:\n",
" print(json.dumps(resp.obj['error']['@Message.ExtendedInfo'], indent=4, sort_keys=True))\n",
" except Exception as excp:\n",
" sys.stderr.write(\"A response error occurred, unable to access iLO Extended Message \"\\\n",
" \"Info...\")\n",
" elif resp.status != 200:\n",
" sys.stderr.write(\"An http response of \\'%s\\' was returned.\\n\" % resp.status)\n",
" else:\n",
" print(\"Success!\\n\")\n",
" print(json.dumps(resp.dict, indent=4, sort_keys=True))\n"
]
},
{
"cell_type": "markdown",
"id": "6e7543eb",
"metadata": {},
"source": [
"<div class = \"alert alert-block alert-success\" style=\"border-radius: 20px;\">\n",
" <h1> 3. </h1>This is Main function overview.<br>\n",
" <i>Let me give you a walk through of it!</i>\n",
" <br>\n",
" There is a hierarchy involved in iLO Rest Api. So we are simply following the hierarchy present to change the settings.<br>\n",
"\n",
"1. The rest opertions are handled by redfish object which is created by RedfishClient<br>\n",
"<br>\n",
" \n",
"2. <b>RedfishClient</b> class takes 3 parameters<i> iLO url, Username,Password</i> and returns a redfish object.<br>\n",
" <br>\n",
"\n",
"3. Once you enter everything a redfish obejct is created with the help of RedfishClient class.<br>\n",
" <br>\n",
"\n",
"4. ow we try to Login with the help of <i> REDFISHOBJ</i>, if it is successful a session is created and you are logged in, But if Server is not avaialbe we get an error saying \"server unreachable\"<br>\n",
" <br>\n",
"5. Then we call <b>reset_ilo</b>function with two parameters <i> redfish object,DISABLE_RESOURCE_DIR</i> with our redfish object and rest the settings to default.\n",
" <br>\n",
" \n",
"\n",
"6. REDFISHOBJ.logout() will take care of logging you out of the ilo.\n",
"\n",
" </div>"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "270f99bf",
"metadata": {},
"outputs": [],
"source": [
"if __name__ == \"__main__\":\n",
" # When running on the server locally use the following commented values\n",
" #SYSTEM_URL = None\n",
" #LOGIN_ACCOUNT = None\n",
" #LOGIN_PASSWORD = None\n",
"\n",
" # When running remotely connect using the secured (https://) address,\n",
" # account name, and password to send https requests\n",
" # SYSTEM_URL acceptable examples:\n",
" # \"https://10.0.0.100\"\n",
" # \"https://ilo.hostname\"\n",
" SYSTEM_URL = \"https://10.0.0.100\"\n",
" LOGIN_ACCOUNT = \"admin\"\n",
" LOGIN_PASSWORD = \"password\"\n",
" # flag to force disable resource directory. Resource directory and associated operations are\n",
" # intended for HPE servers.\n",
" DISABLE_RESOURCE_DIR = True\n",
"\n",
" try:\n",
" # Create a Redfish client object\n",
" REDFISHOBJ = RedfishClient(base_url=SYSTEM_URL, username=LOGIN_ACCOUNT, \\\n",
" password=LOGIN_PASSWORD)\n",
" # Login with the Redfish client\n",
" REDFISHOBJ.login()\n",
" except ServerDownOrUnreachableError as excp:\n",
" sys.stderr.write(\"ERROR: server not reachable or does not support RedFish.\\n\")\n",
" sys.exit()\n",
"\n",
" reset_ilo(REDFISHOBJ, DISABLE_RESOURCE_DIR)\n",
" REDFISHOBJ.logout()"
]
},
{
"cell_type": "markdown",
"id": "1557bfee",
"metadata": {},
"source": [
"<div class=\"alert alert-block alert-warning\" style=\"border-radius: 20px;\">\n",
"<b> When running on the server locally : </b> use the following values <br>\n",
" SYSTEM_URL = None <br>\n",
" LOGIN_ACCOUNT = None <br>\n",
" LOGIN_PASSWORD = None <br>\n",
" <b> When running remotely </b> connect using the secured (https://) address,account name, and password to send https requests <br>\n",
" SYSTEM_URL acceptable examples: <br>\n",
" \"https://10.0.0.100\" <br>\n",
" \"https://ilo.hostname\"\n",
"</div>"
]
},
{
"cell_type": "markdown",
"id": "e685a623",
"metadata": {},
"source": [
"<div class = \"alert alert-block alert-success\" style=\"border-radius: 20px;\">In case you need help 🔗 links to relevant resources :\n",
" <br>\n",
" 1.Python-ilorest-library:<a href = \"https://github.com/HewlettPackard/python-ilorest-library\">LINK</a><br>\n",
" 2.Hpe ilorest-api explorer:<a href = \"https://ilorestfulapiexplorer.ext.hpe.com/\">LINK</a><br>\n",
" 3.Rest api: <a href = \"https://restfulapi.net/\">LINK</a><br>\n",
" \n",
"</div>"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Loading