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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

intersight-rest-1.0.4.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

intersight_rest-1.0.4-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

Details for the file intersight-rest-1.0.4.tar.gz.

File metadata

  • Download URL: intersight-rest-1.0.4.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for intersight-rest-1.0.4.tar.gz
Algorithm Hash digest
SHA256 b594a39ab152d64ce9582287db11d5bc1ad38aafc7e1b96a2ce4e1e6d6f4b776
MD5 7e068269bc997658cd642f1d7dff9a69
BLAKE2b-256 ab527563e6eca3fe5ecce20c5e66de1397194d9449371b17b62e31303a26d70e

See more details on using hashes here.

File details

Details for the file intersight_rest-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: intersight_rest-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 5.5 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for intersight_rest-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 5660fbde701d10e8f66d40c7ba8f733b873ea4dc81c8ef23a36c49a4fc448348
MD5 4659dd294bc41cfd9d978fc06de92457
BLAKE2b-256 d732ec499014b86d0f2a72c9fc4ea9abee70596efdca8fd335c1a7b15d8be758

See more details on using hashes here.

Release history Release notifications | RSS feed

1.1.7

2 files

1.1.6

2 files

1.1.5

2 files

1.1.4

2 files

1.1.3

2 files

1.1.2

2 files

1.1.1

2 files

1.1.0

2 files

1.0.10

2 files

1.0.9

2 files

1.0.8

2 files

1.0.7

2 files

1.0.6

2 files

1.0.5

2 files

This release

1.0.4 This release

2 files

1.0.3

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page