Metadata-Version: 2.1
Name: PyFreeIPA
Version: 0.1.0
Summary: Python FreeIPA API interface
Home-page: UNKNOWN
Author: Aaron Hicks
Author-email: aethylred@gmail.com
License: Apache 2.0
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.
        
        ```python
        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](tests/README.md).
        
        # FreeIPA API Methods
        
        The `Api` object supports both implemented and unimplemented methods
        
        ## Unimplemented Methods
        
        Unimplemented methods are supported via the `Api.request()` method:
        
        ```python
        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 called
        * `args` A list of arguments for the method
        * `params` 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 called
        * `args` A list of arguments for the method
        * `params` A dictionary of parameters for the method
        
        ## `warnings`
        
        Emits a list of warnings that have occured.
        
        ## `clearwarnings()`
        
        Clears the warnings list.
        
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
