Metadata-Version: 2.1
Name: neres
Version: 0.5.1
Summary: (unofficial) NewRelic Synthetics CLI
Home-page: https://github.com/glogiotatidis/neres
Author: Giorgos Logiotatidis
Author-email: giorgos@sealabs.net
License: GNU General Public License v3
Keywords: neres
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Requires-Dist: python-decouple (==3.0)
Requires-Dist: requests (==2.22.0)
Requires-Dist: click (==7.0)
Requires-Dist: humanize (==0.5.1)
Requires-Dist: terminaltables (==3.1.0)
Requires-Dist: enum34 (==1.1.6)
Requires-Dist: PyYAML (==5.1.1)
Requires-Dist: yamlordereddictloader (==0.3.0)
Requires-Dist: certifi (==2018.10.15)
Requires-Dist: chardet (==3.0.4)
Requires-Dist: urllib3 (==1.25.3)
Requires-Dist: idna (==2.7)
Requires-Dist: entrypoints (==0.3)

NewRelic Synthetics (unofficial) CLI (NeReS)
============================================

|image0| |image1|

NeReS is a cli tool to manage `NewRelic Synthetics
<https://synthetics.newrelic.com/>`__ monitors with a Synthetics Lite account
(Pro should work too). The tool emulates the actions of a user in the browser
and doesn't use the Synthetics API since that's only available to the Pro
accounts.

With this tool you can:

-  List all your monitors, including their success rate, locations,
   notifications etc.
-  Create, update and delete monitors
-  List available locations for monitor installation and
-  everything else available though the Web console.

|image3|


Installation
------------

.. code:: shell

   $ pip install neres



Configuration
-------------

1. You will need a newrelic account
2. Start by using the `login` command
3. Read the docs or run `--help`


Use
---

Login to NewRelic
~~~~~~~~~~~~~~~~~~

Login to NewRelic with the `login` command:

.. code:: shell

   $ neres login

If you have multiple NewRelic accounts you can have different environments:

.. code:: shell

   $ neres --environment work login

.. note::

  Default environment is named `newrelic`. Remember to always pass `--environment`
  to all neres commands to execute them in the correct environment. Alternatively
  you can add `NERES_ENVIRONMENT` to your environment variables list.


List Accounts
~~~~~~~~~~~~~

You can list all the accounts connected to the email you used to connect using:

.. code:: shell

   $ neres list-accounts

By default neres will act on the first account listed. This command will help
you select a different account by using the `ID` of the account in combination
with the `--account` option or by setting `NERES_ACCOUNT` in your environment.

List Locations
~~~~~~~~~~~~~~

Lists available monitor locations:

.. code:: shell

   $ neres list-locations

List Monitors
~~~~~~~~~~~~~

Lists available monitors:

.. code:: shell

   $ neres list-monitors

You can only list IDs of the monitors:

.. code:: shell

   $ neres list-monitors --ids-only

Or get the raw JSON output from NewRelic:

.. code:: shell

   $ neres list-monitors --raw

Add Monitor
~~~~~~~~~~~

Adds a Synthetics monitor:

.. code:: shell

   $ neres add-monitor monitorName http://example.com

Use `--help` to get a full list of supported options for the command. All
options are optional.


Get Monitor
~~~~~~~~~~~

Get details on a monitor

.. code:: shell

   $ neres get-monitor de310b69-3195-435e-b1ef-3a0af67499de


.. note::

   You can use `list-monitors` to get a list of available monitors.

Update Monitor
~~~~~~~~~~~~~~

Update an existing monitor

.. code:: shell

   $ neres update-monitor de310b69-3195-435e-b1ef-3a0af67499de --name "Foobar"

Use `--help` to get a full list of supported options for the command. All
options are optional.


Open Monitor
~~~~~~~~~~~~

Open monitor in the browser

.. code:: shell

   $ neres open de310b69-3195-435e-b1ef-3a0af67499de


Get state of all monitors of account
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Export the state of all monitors of account in YAML format with

.. code:: shell

   $ neres get-state


Save the output into a file, edit and use in combination with the
`update-from-statefile` command to update multiple monitors at once.

.. code:: shell

   $ neres get-state > state.yaml


Update monitors from statefile
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Update monitors from statefile with

.. code:: shell

   $ neres update-from-statefile state.yaml


.. note::

   This command will only update existing monitors. It will not create new or
   delete existing ones.


Credits
-------

This package was created with
`Cookiecutter <https://github.com/audreyr/cookiecutter>`__ and the
`audreyr/cookiecutter-pypackage <https://github.com/audreyr/cookiecutter-pypackage>`__
project template.

.. |image0| image:: https://img.shields.io/pypi/v/neres.svg
.. |image1| image:: https://travis-ci.org/glogiotatidis/neres.svg?branch=master
.. |image3| image:: https://asciinema.org/a/145685.png
              :target: https://asciinema.org/a/145685


History
-------

0.4.0 (2017-06-02)
~~~~~~~~~~~~~~~~~~

* Use NewRelic's "stoplight" to determine monitor health.

0.3.0 (2017-05-25)
~~~~~~~~~~~~~~~~~~

* Multiple monitors management with get-state and update-from-statefile
* Bug fixes


0.2.0 (2017-05-11)
``````````````````

* Python 3 fixes
* Bugfixes
* Tests!

0.1.1 (2017-04-27)
~~~~~~~~~~~~~~~~~~

* First release on PyPI.

0.1.0 (2017-04-12)
~~~~~~~~~~~~~~~~~~

* Cookiecutter import


