Python FreeIPA API interface
Project description
pyfreeipa
Python module for accessing the FreeIPA/Red Hat Identity Manager API (a.k.a IPA)
This module does not do any exception handling, it wants your code to handle exceptions.
Usage
The following sample sets up a IPA API object with minimal configuration.
from pyfreeipa.Api import Api
ipaapi = Api(
host="ipa.example.org",
username="ipauser",
password="somethingsecret"
)
response = ipaapi.ping()
if response.ok:
result = response.json()['result']
print('Good: %s' & result['summary'])
else:
print('Bad: %s' % response.status_code)
Included is a configuration
method that can read all the required configuration options from a yaml file.
Examples
The pyfreeipa
module itself can be executed as a wrapper script around pyfreeipa.Api
There are also some test scripts that demonstrate it's capabilites in the test
directory, they have their own documentation.
FreeIPA API Methods
The Api
object supports both implemented and unimplemented methods
Unimplemented Methods
Unimplemented methods are supported via the Api.request()
method:
from pyfreeipa.Api import Api
ipaapi = Api(
host="ipa.example.org",
username="ipauser",
password="somethingsecret"
)
ipaapi.request(
method='group_add_member',
args=['groupname'],
parameters={
'users': [
'anne',
'bob',
'claire'
]
}
)
Implemented Methods
Other Methods
The Api
object has a some methods that do not directly relate to requests to the IPA API
login()
The IPA API login process that isn't standard HTTPS authentication, this method initiates the login and should be sufficient to maintain login througout a session.
get()
A passthrough function that sends a GET
request to the IPA API session. Returns a requests.response
object.
post()
A passthrough function that sends a POST
request to the IPA API session. Returns a requests.response
object.
put()
A passthrough function that sends a PUT
request to the IPA API session. Returns a requests.response
object.
request()
This function checks and verifies it's argments and converts regular string, dictionary, and list objects and converts them into the required data types to submit as a request, executes the request and returns a requests.Response
object.
Parameters
method
A the IPA API method to be calledargs
A list of arguments for the methodparams
A dictionary of parameters for the method
preprequest()
This function checks and verifies it's argments and converts regular string, dictionary, and list objects and converts them into the required data types to submit as a request, executes the request and returns a requests.PreparedRequest
object.
Parameters
method
A the IPA API method to be calledargs
A list of arguments for the methodparams
A dictionary of parameters for the method
warnings
Emits a list of warnings that have occured.
clearwarnings()
Clears the warnings list.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for PyFreeIPA-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b39b92d5d9f2a75fc0152a7fa0139f6b2016e27664616398da325759b1b3d1a |
|
MD5 | 5186311dc43fa5fd1591e31e64252915 |
|
BLAKE2b-256 | 55fdf0809534a91263f66227515ad2e90e54769fddcf2923c81222bee9f19086 |