Metadata-Version: 2.1
Name: grafanacli
Version: 1.0.10
Summary: Library to manage Grafana API
Home-page: https://github.com/JeferCatarina/grafanacli
Author: Jeferson Catarina
Author-email: catarinajeferson@gmail.com
License: MIT
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: Topic :: Internet
Classifier: Topic :: System :: Monitoring
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Operating System :: OS Independent
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Description-Content-Type: text/markdown
Requires-Dist: requests

# grafanacli [![GitHub license](https://img.shields.io/github/license/JeferCatarina/grafanacli.svg?style=flat-square)](https://github.com/JeferCatarina/grafanacli/blob/master/LICENSE) 

## What the heck is that?

GrafanaCLI is a Python library used to manage Grafana API

## Requirements

Python :: 2
Python :: 3

## Installation

Install the pip package:

```
pip install grafanacli
```

## Usage

```python
from grafanacli import GrafanaAdmin

ga = GrafanaAdmin('http://127.0.0.1:3000')

# Disable SSL verification
ga.verify = False
"""SSL verification must be disabled before use GrafanaAuth"""

# Authentication using username and password
ga.GrafanaAuth(Username='admin', Password='admin')

# Authentication using API-Key
ga.GrafanaAuth(AuthType='APIKey', Key='xxxxxxxxxxxxx')

# List your current organization
ga.CurrentOrganization()

# List all organizations
ga.OrganizationList()

# Search Organization
ga.OrganizationSearch('MyOrganization')

# Create Organization
ga.OrganizationCreate('MyNewOrganization')

# Update Organization
ga.OrganizationUpdate('1', 'NewOrganizationName')
Where "1" is the organization Id that will be updated.

# Delete Organization
ga.OrganizationDelete('1')
Where "1" is the organization Id that will be deleted.

# Switch Organization
ga.OrganizationSwitch('2')
Where "2" is the organization Id what I want to switch

# Search dashboard whitout filter
ga.DashboardSearch()

# Search dashboard by title
ga.DashboardSearch(DashboardName='My Dashboard')

# Search dashboard by tag
ga.DashboardSearch(Tag='My Tag')

# Search starred dashboards
ga.DashboardSearch(Starred=True)

# Search dashboard aplying more than one conditition
ga.DashboardSearch(Starred=True, Tag='My Tag')
ga.DashboardSearch(Name='My Dashboard', Tag='My Tag')
ga.DashboardSearch(Name='My Dashboard', Tag='My Tag', Starred=True)

# Download Dashboard
ga.DashboardDownload('DashboardUid', '/tmp/mydash.json')

# Upload Dashboard
ga.DashboardUpload('/tmp/mydash.json', Overwrite=True)
ga.DashboardUpload('/tmp/mydash.json')
ga.DashboardUpload('/tmp/mydash.json, FolderId=3'

# Create, List, Get, Update and Delete Folders
ga.FolderCreate('My Folder')
ga.FolderList()
ga.FolderGet('folderUID')
ga.FolderUpdate('folderUID', 'My Folder New Name', version=x) # Current Folder's version ID (int)
ga.FolderUpdate('folderUID', 'My Folder New Name', overwrite=True) # It will skip version confirmation
ga.FolderDelete('folderUID')

# Star and Unstar a dashboard
ga.DashboardStar(dashboadID)
ga.DashboardUnstar(dashboadID) 

# Get and Update Dashboard's permission
ga.DashboardGetPermissions(dashboadID)
ga.DashboardUpdatePermissions(dashboadID, new_json_permission)

```

## License

GrafanaCLI is licensed under the terms of the MIT License (see the
[LICENSE](LICENSE) file).

