powerdns-client
===============

No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)

This Python package is automatically generated by the `Swagger Codegen <https://github.com/swagger-api/swagger-codegen>`_ project:

- API version: 0.0.13
- Package version: 1.0.4
- Build package: io.swagger.codegen.languages.PythonClientCodegen

# Requirements.
===============

Python 2.7 and 3.4+

# Installation & Usage
======================
## pip install
==============

If the python package is hosted on Github, you can install directly from Github

```sh
pip install git+https://github.com/nrfta/python-powerdns-client.git
```

(you may need to run `pip` with root permission: `sudo pip install git+https://github.com/nrfta/python-powerdns-client.git`)

Then import the package:

```python
import powerdns_client 
```

## Setuptools
=============

Install via `Setuptools <http://pypi.python.org/pypi/setuptools>`_.

```sh
python setup.py install --user
```

(or `sudo python setup.py install` to install the package for all users)

Then import the package:

```python
import powerdns_client
```

# Getting Started
=================

Please follow the `installation procedure <#installation--usage>`_ and then run the following:

```python
from **future** import print_function

import time

import powerdns_client

from powerdns_client.rest import ApiException

from pprint import pprint

Configure API key authorization: APIKeyHeader
=============================================

configuration = powerdns_client.Configuration()

configuration.api*key['X-API-Key'] = 'YOUR*API_KEY'
Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
====================================================================
configuration.api*key*prefix['X-API-Key'] = 'Bearer'
====================================================

create an instance of the API class
===================================

api*instance = powerdns*client.ConfigApi(powerdns_client.ApiClient(configuration))

server*id = 'server*id_example' # str | The id of the server to retrieve

try:

	# Returns all ConfigSettings for a single server

	api\_response = api\_instance.get\_config(server\_id)

	pprint(api\_response)

except ApiException as e:

	print("Exception when calling ConfigApi\->get\_config: %s\\n" % e)
```

# Documentation for API Endpoints
=================================

All URIs are relative to *https://localhost/api/v1*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*ConfigApi* | `**get*config** <docs/ConfigApi.md#get*config>`* | **GET** /servers/{server*id}/config | Returns all ConfigSettings for a single server

*ConfigApi* | `**get*config*setting** <docs/ConfigApi.md#get*config*setting>`* | **GET** /servers/{server*id}/config/{config*setting*name} | Returns a specific ConfigSetting for a single server

*SearchApi* | `**search*data** <docs/SearchApi.md#search*data>`* | **GET** /servers/{server*id}/search-data | Search the data inside PowerDNS

*ServersApi* | `**cache*flush*by*name** <docs/ServersApi.md#cache*flush*by*name>`* | **PUT** /servers/{server*id}/cache/flush | Flush a cache-entry by name

*ServersApi* | `**list*server** <docs/ServersApi.md#list*server>`* | **GET** /servers/{server*id} | List a server

*ServersApi* | `**list*servers** <docs/ServersApi.md#list*servers>`_ | **GET** /servers | List all servers

*StatsApi* | `**get*stats** <docs/StatsApi.md#get*stats>`* | **GET** /servers/{server*id}/statistics | Query statistics.

*TsigkeyApi* | `**create*tsig*key** <docs/TsigkeyApi.md#create*tsig*key>`* | **POST** /servers/{server*id}/tsigkeys | Add a TSIG key

*TsigkeyApi* | `**delete*tsig*key** <docs/TsigkeyApi.md#delete*tsig*key>`* | **DELETE** /servers/{server*id}/tsigkeys/{tsigkey*id} | Delete the TSIGKey with tsigkey*id

*TsigkeyApi* | `**get*tsig*key** <docs/TsigkeyApi.md#get*tsig*key>`* | **GET** /servers/{server*id}/tsigkeys/{tsigkey_id} | Get a specific TSIGKeys on the server, including the actual key

*TsigkeyApi* | `**list*tsig*keys** <docs/TsigkeyApi.md#list*tsig*keys>`* | **GET** /servers/{server*id}/tsigkeys | Get all TSIGKeys on the server, except the actual key

*TsigkeyApi* | `**put*tsig*key** <docs/TsigkeyApi.md#put*tsig*key>`* | **PUT** /servers/{server*id}/tsigkeys/{tsigkey_id} | 

*ZonecryptokeyApi* | `**create*cryptokey** <docs/ZonecryptokeyApi.md#create*cryptokey>`* | **POST** /servers/{server*id}/zones/{zone_id}/cryptokeys | Creates a Cryptokey

*ZonecryptokeyApi* | `**delete*cryptokey** <docs/ZonecryptokeyApi.md#delete*cryptokey>`* | **DELETE** /servers/{server*id}/zones/{zone*id}/cryptokeys/{cryptokey*id} | This method deletes a key specified by cryptokey_id.

*ZonecryptokeyApi* | `**get*cryptokey** <docs/ZonecryptokeyApi.md#get*cryptokey>`* | **GET** /servers/{server*id}/zones/{zone*id}/cryptokeys/{cryptokey*id} | Returns all data about the CryptoKey, including the privatekey.

*ZonecryptokeyApi* | `**list*cryptokeys** <docs/ZonecryptokeyApi.md#list*cryptokeys>`* | **GET** /servers/{server*id}/zones/{zone_id}/cryptokeys | Get all CryptoKeys for a zone, except the privatekey

*ZonecryptokeyApi* | `**modify*cryptokey** <docs/ZonecryptokeyApi.md#modify*cryptokey>`* | **PUT** /servers/{server*id}/zones/{zone*id}/cryptokeys/{cryptokey*id} | This method (de)activates a key from zone*name specified by cryptokey*id

*ZonemetadataApi* | `**create*metadata** <docs/ZonemetadataApi.md#create*metadata>`* | **POST** /servers/{server*id}/zones/{zone_id}/metadata | Creates a set of metadata entries

*ZonemetadataApi* | `**delete*metadata** <docs/ZonemetadataApi.md#delete*metadata>`* | **DELETE** /servers/{server*id}/zones/{zone*id}/metadata/{metadata*kind} | Delete all items of a single kind of domain metadata.

*ZonemetadataApi* | `**get*metadata** <docs/ZonemetadataApi.md#get*metadata>`* | **GET** /servers/{server*id}/zones/{zone*id}/metadata/{metadata*kind} | Get the content of a single kind of domain metadata as a Metadata object.

*ZonemetadataApi* | `**list*metadata** <docs/ZonemetadataApi.md#list*metadata>`* | **GET** /servers/{server*id}/zones/{zone_id}/metadata | Get all the Metadata associated with the zone.

*ZonemetadataApi* | `**modify*metadata** <docs/ZonemetadataApi.md#modify*metadata>`* | **PUT** /servers/{server*id}/zones/{zone*id}/metadata/{metadata*kind} | Replace the content of a single kind of domain metadata.

*ZonesApi* | `**axfr*export*zone** <docs/ZonesApi.md#axfr*export*zone>`* | **GET** /servers/{server*id}/zones/{zone_id}/export | Returns the zone in AXFR format.

*ZonesApi* | `**axfr*retrieve*zone** <docs/ZonesApi.md#axfr*retrieve*zone>`* | **PUT** /servers/{server*id}/zones/{zone_id}/axfr-retrieve | Retrieve slave zone from its master.

*ZonesApi* | `**create*zone** <docs/ZonesApi.md#create*zone>`* | **POST** /servers/{server*id}/zones | Creates a new domain, returns the Zone on creation.

*ZonesApi* | `**delete*zone** <docs/ZonesApi.md#delete*zone>`* | **DELETE** /servers/{server*id}/zones/{zone_id} | Deletes this zone, all attached metadata and rrsets.

*ZonesApi* | `**list*zone** <docs/ZonesApi.md#list*zone>`* | **GET** /servers/{server*id}/zones/{zone_id} | zone managed by a server

*ZonesApi* | `**list*zones** <docs/ZonesApi.md#list*zones>`* | **GET** /servers/{server*id}/zones | List all Zones in a server

*ZonesApi* | `**notify*zone** <docs/ZonesApi.md#notify*zone>`* | **PUT** /servers/{server*id}/zones/{zone_id}/notify | Send a DNS NOTIFY to all slaves.

*ZonesApi* | `**patch*zone** <docs/ZonesApi.md#patch*zone>`* | **PATCH** /servers/{server*id}/zones/{zone_id} | Creates/modifies/deletes RRsets present in the payload and their comments. Returns 204 No Content on success.

*ZonesApi* | `**put*zone** <docs/ZonesApi.md#put*zone>`* | **PUT** /servers/{server*id}/zones/{zone_id} | Modifies basic zone data (metadata).

*ZonesApi* | `**rectify*zone** <docs/ZonesApi.md#rectify*zone>`* | **PUT** /servers/{server*id}/zones/{zone_id}/rectify | Rectify the zone data.


# Documentation For Models
==========================

 - `CacheFlushResult <docs/CacheFlushResult.md>`_

 - `Comment <docs/Comment.md>`_

 - `ConfigSetting <docs/ConfigSetting.md>`_

 - `Cryptokey <docs/Cryptokey.md>`_

 - `Error <docs/Error.md>`_

 - `MapStatisticItem <docs/MapStatisticItem.md>`_

 - `Metadata <docs/Metadata.md>`_

 - `RRSet <docs/RRSet.md>`_

 - `Record <docs/Record.md>`_

 - `RingStatisticItem <docs/RingStatisticItem.md>`_

 - `SearchResult <docs/SearchResult.md>`_

 - `SearchResultComment <docs/SearchResultComment.md>`_

 - `SearchResultRecord <docs/SearchResultRecord.md>`_

 - `SearchResultZone <docs/SearchResultZone.md>`_

 - `SearchResults <docs/SearchResults.md>`_

 - `Server <docs/Server.md>`_

 - `Servers <docs/Servers.md>`_

 - `SimpleStatisticItem <docs/SimpleStatisticItem.md>`_

 - `StatisticItem <docs/StatisticItem.md>`_

 - `TSIGKey <docs/TSIGKey.md>`_

 - `Zone <docs/Zone.md>`_

 - `Zones <docs/Zones.md>`_


# Documentation For Authorization
=================================


# APIKeyHeader
==============

- **Type**: API key
- **API key parameter name**: X-API-Key
- **Location**: HTTP header


# Author
========




