Metadata-Version: 2.1
Name: FMCAPIClient
Version: 0.0.1
Summary: An API Client to use FMC RESTful API.
Home-page: https://github.com/vsantiago113/FMCAPIClient
Author: Victor M Santiago
Author-email: vsantiago113sec@gmail.com
License: MIT
Download-URL: https://github.com/vsantiago113/FMCAPIClient/archive/0.0.1.tar.gz
Description: # FMCAPIClient
        [Firepower REST API Guides](https://www.cisco.com/c/en/us/support/security/defense-center/products-programming-reference-guides-list.html 'Firepower REST API Guides')<br />
        
        ---
        
        ![PyPI - Status](https://img.shields.io/pypi/status/FMCAPIClient)
        ![PyPI - Format](https://img.shields.io/pypi/format/FMCAPIClient)
        ![GitHub](https://img.shields.io/github/license/vsantiago113/FMCAPIClient)
        ![GitHub release (latest by date)](https://img.shields.io/github/v/release/vsantiago113/FMCAPIClient)
        ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/FMCAPIClient)
        
        An API Client for the Cisco Firepower Management Center to be able to easily use the API in a more standard way.
        
        ## How to install
        ```ignorelang
        $ pip install FMCAPIClient
        ```
        
        ## Usage
        The argument 'method' must be specify every time.
        
        Note: The class will validate the token, and refresh the token when needed as this validation method is called in between each method call.
        
        NOTE:
        
        #### Default arguments and attributes
        ```python
        import FMCAPIClient
        
        client = FMCAPIClient.Client(verify=False, warnings=False, api_version='v1')
        
        client.get(url=None, method='', data=None, auth = None)
        
        # client.headers
        # client.base_url
        # client.token
        # client.auth
        # client.token_expire
        # client.token_refresh
        # client.token_refresh_count
        # client.domain_uuid
        # client.server
        
        ```
        
        #### Authentication
        ```python
        import FMCAPIClient
        
        client = FMCAPIClient.Client()
        client.connect(url='https://FMC-server.local', username='admin', password='Admin123')
        
        client.disconnect()
        ```
        
        #### Refresh Token
        ```python
        import FMCAPIClient
        
        client = FMCAPIClient.Client()
        client.connect(url='https://FMC-server.local', username='admin', password='Admin123')
        
        client.refresh_token_func()
        
        client.disconnect()
        ```
        
        #### The first query
        ```python
        import FMCAPIClient
        import json
        
        client = FMCAPIClient.Client()
        client.connect(url='https://FMC-server.local', username='admin', password='Admin123')
        
        response = client.get(method='/devicegroups/devicegrouprecords')
        print(json.dumps(response.json(), indent=4))
        
        client.disconnect()
        ```
        
        #### Getting detailed information
        ```python
        import FMCAPIClient
        import json
        
        client = FMCAPIClient.Client()
        client.connect(url='https://FMC-server.local', username='admin', password='Admin123')
        
        response = client.get(method=f'/devicegroups/devicegrouprecords', expanded=True)
        print(json.dumps(response.json(), indent=4))
        
        client.disconnect()
        ```
        
        #### Filtering
        ```python
        import FMCAPIClient
        import json
        
        client = FMCAPIClient.Client()
        client.connect(url='https://FMC-server.local', username='admin', password='Admin123')
        
        group_id = '81fe2042-9ad2-11ea-be78-cde812596ba2'
        response = client.get(method=f'/devicegroups/devicegrouprecords/{group_id}')
        print(json.dumps(response.json(), indent=4))
        
        client.disconnect()
        ```
        
        #### Paging
        ```python
        import FMCAPIClient
        import json
        
        client = FMCAPIClient.Client()
        client.connect(url='https://FMC-server.local', username='admin', password='Admin123')
        
        
        response = client.get(method=f'/devicegroups/devicegrouprecords', offset=0, limit=1)
        print(json.dumps(response.json(), indent=4))
        
        client.disconnect()
        ```
        
        #### Creating
        ```python
        import FMCAPIClient
        import json
        
        client = FMCAPIClient.Client()
        client.connect(url='https://FMC-server.local', username='admin', password='Admin123')
        
        response = client.post(method='/devicegroups/devicegrouprecords', data={'name': 'test_group',
                                                                                'type': 'DeviceGroup'})
        print(json.dumps(response.json(), indent=4))
        
        client.disconnect()
        ```
        
        #### Updating
        ```python
        import FMCAPIClient
        import json
        
        client = FMCAPIClient.Client()
        client.connect(url='https://FMC-server.local', username='admin', password='Admin123')
        
        group_id = '1234567890abc'
        response = client.put(method=f'/devicegroups/devicegrouprecords/{group_id}', data={'id': group_id,
                                                                                           'name': 'test_group_updated',
                                                                                           'type': 'DeviceGroup'})
        print(json.dumps(response.json(), indent=4))
        
        client.disconnect()
        ```
        
        #### Deleting
        ```python
        import FMCAPIClient
        import json
        
        client = FMCAPIClient.Client()
        client.connect(url='https://FMC-server.local', username='admin', password='Admin123')
        
        group_id = '1234567890abc'
        response = client.delete(method=f'/devicegroups/devicegrouprecords/{group_id}')
        print(json.dumps(response.json(), indent=4))
        
        client.disconnect()
        ```
        
Keywords: FMC
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Topic :: Utilities
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=3.4.0
Description-Content-Type: text/markdown
