Skip to main content

intersight-rest

Cisco has released their new Intersight platform for managing UCS Server and Hyperflex Hyperconverged infrastructure from a SaaS based interface. With high security standards, forming and signing the RESTful API calls to Intersight can be a challenge, so this package was written to do all of that work for you. All you need to provide is your Public/Private keys generated from the Intersight interface, as well at the API endpoint you'd like to target. Optionally you can add in query parameters for GET requests, and a body for POST/PATCH opterations.

Overview:

intersight_call(**options);
Option Format Value
resource_path <String> Resource Path from https://intersight.com/apidocs
query_params <Dict> Query Parameters from Resource Path GET
body <Dict> Body Parameters from Resource Path POST
moid <String> MOID of Object to be Modified

 

The HTTP verbs will be assumed as follows:

  • GET: <resource_path>
  • GET: <resource_path> + <query_params>
  • POST: <resource_path> + <body>
  • PATCH: <resource_path> + <body> + <moid>

More information about Intersight is available at: https://intersight.com
Details on the RESTful API and documentation: https://intersight.com/apidocs

NPM Installation:

$ pip install intersight-rest

Usage:

# Import "intersight.rest" Package
import intersight_rest as isREST

# Import JSON PAckage
import json

# Load Public/Private Keys
isREST.set_private_key(open("./keys/private_key.pem", "r") .read())
isREST.set_public_key(open("./keys/public_key.txt", "r") .read())

# Select Resource Path from https://www.intersight.com/apidocs
resourcePath = '/ntp/Policies'

# GET EXAMPLE
#-- Set GET Options --#
options = {
    resource_path: resourcePath,
    query_params: queryParams
}

results = isREST.intersight_call(**options)
print(json.dumps(results, indent=4))

#-- NOTE: intersightREST Returns a JS Promise --#

# GET "queryParams" Examples
#-- Example queryParams returning the top 1 result(s) --#
queryParams = {
    "$top": 1
}

#-- Example queryParams showing filter by "Name" key --#
queryParams = {
    "$filter": "Name eq 'Test-NTP'"
}

#-- Example queryParams showing filter by "Description" key --#
queryParams = {
    "$filter": "Description eq 'pool.ntp.org'"
}

#-- Example queryParams showing advanced Tag filder by key & value --#
queryParams = {
    "$filter": "Tags/any(t: t/Key eq 'loc' and t/Value eq 'California')"
}

# POST EXAMPLE
#-- Assemble POST Body --#
postBody = {
    Name: "Test-NTP",
    Description: "Test NTP Policy",
    NtpServers: ["8.8.8.8"]
}

#-- Set POST Options --#
options = {
    resource_path: resourcePath,
    body: postBody
}

results = isREST.intersight_call(**options)
print(json.dumps(results, indent=4))

#-- NOTE: intersightREST Returns a JS Promise --#

# PATCH EXAMPLE
#-- Set Object MOID to be Modified --#
patchMoid = "6b1727fa686c873463b8163e"

#-- Assemble PATCH Body --#
patchBody = {
    NtpServers: ["10.10.10.10"]
}

#-- Set PATCH Options --#
options = {
    resource_path: resourcePath,
    body: patchBody,
    moid: patchMoid
}

results = isREST.intersight_call(**options)
print(json.dumps(results, indent=4))

#-- NOTE: intersightREST Returns a JS Promise --#

See package source for more details...

*Copyright (c) 2018 Cisco and/or its affiliates.

Release files for intersight-rest 1.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for intersight-rest 1.0.4
File Size Uploaded
intersight-rest-1.0.4.tar.gz 5.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for intersight-rest 1.0.4
File Interpreter ABI Platform
intersight_rest-1.0.4-py3-none-any.whl Python 3 none any Details

Total release size: 10.7 kB

Release files / intersight-rest-1.0.4.tar.gz

Download URL intersight-rest-1.0.4.tar.gz
Size 5.2 kB
Tags Source
SHA-256 checksum
How to use checksums
b594a39ab152d64ce9582287db11d5bc1ad38aafc7e1b96a2ce4e1e6d6f4b776
BLAKE2b-256 checksum
How to use checksums
ab527563e6eca3fe5ecce20c5e66de1397194d9449371b17b62e31303a26d70e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.6.2

Release files / intersight_rest-1.0.4-py3-none-any.whl

Download URL intersight_rest-1.0.4-py3-none-any.whl
Size 5.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5660fbde701d10e8f66d40c7ba8f733b873ea4dc81c8ef23a36c49a4fc448348
BLAKE2b-256 checksum
How to use checksums
d732ec499014b86d0f2a72c9fc4ea9abee70596efdca8fd335c1a7b15d8be758
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.6.2

Release history Release notifications | RSS feed

1.1.7

2 release files

1.1.6

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.9

2 release files

1.0.8

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

This release

1.0.4 This release

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page