Skip to main content

Python SDK for the ionoscloud-dns API

Project description

Gitter Quality Gate Status Bugs Maintainability Rating Reliability Rating Security Rating Vulnerabilities Release Release Date PyPI version

Alt text

Python API client for ionoscloud_dns

Cloud DNS service helps IONOS Cloud customers to automate DNS Zone and Record management.

Overview

The IONOS Cloud SDK for Python provides you with access to the IONOS Cloud API. The client library supports both simple and complex requests. It is designed for developers who are building applications in Python. All API operations are performed over SSL and authenticated using your IONOS Cloud portal credentials. The API can be accessed within an instance running in IONOS Cloud or directly over the Internet from any application that can send an HTTPS request and receive an HTTPS response.

Installation & Usage

Requirements:

  • Python >= 3.5

pip install

Since this package is hosted on Pypi you can install it by using:

pip install ionoscloud-dns

If the python package is hosted on a repository, you can install directly using:

pip install git+https://github.com/ionos-cloud/sdk-python-dns.git

Note: you may need to run pip with root permission: sudo pip install git+https://github.com/ionos-cloud/sdk-python-dns.git

Then import the package:

import ionoscloud_dns

Setuptools

Install via Setuptools.

python setup.py install --user

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

Then import the package:

import ionoscloud_dns

NOTE: The Python SDK does not support Python 2. It only supports Python >= 3.5.

Authentication

The username and password or the authentication token can be manually specified when initializing the SDK client:

configuration = ionoscloud_dns.Configuration(
                username='YOUR_USERNAME',
                password='YOUR_PASSWORD',
                token='YOUR_TOKEN'
                )
client = ionoscloud_dns.ApiClient(configuration)

Environment variables can also be used. This is an example of how one would do that:

import os

configuration = ionoscloud_dns.Configuration(
                username=os.environ.get('IONOS_USERNAME'),
                password=os.environ.get('IONOS_PASSWORD'),
                token=os.environ.get('IONOS_TOKEN')
                )
client = ionoscloud_dns.ApiClient(configuration)

Warning: Make sure to follow the Information Security Best Practices when using credentials within your code or storing them in a file.

HTTP proxies

You can use http proxies by setting the following environment variables:

  • IONOS_HTTP_PROXY - proxy URL
  • IONOS_HTTP_PROXY_HEADERS - proxy headers

Changing the base URL

Base URL for the HTTP operation can be changed in the following way:

import os

configuration = ionoscloud_dns.Configuration(
                username=os.environ.get('IONOS_USERNAME'),
                password=os.environ.get('IONOS_PASSWORD'),
                host=os.environ.get('IONOS_API_URL'),
                server_index=None,
                )
client = ionoscloud_dns.ApiClient(configuration)

Certificate pinning:

You can enable certificate pinning if you want to bypass the normal certificate checking procedure, by doing the following:

Set env variable IONOS_PINNED_CERT=<insert_sha256_public_fingerprint_here>

You can get the sha256 fingerprint most easily from the browser by inspecting the certificate.

Documentation for API Endpoints

All URIs are relative to https://dns.de-fra.ionos.com

API Endpoints table
Class Method HTTP request Description
DNSSECApi zones_keys_delete DELETE /zones/{zoneId}/keys Delete a DNSSEC key
DNSSECApi zones_keys_get GET /zones/{zoneId}/keys Retrieve a DNSSEC key
DNSSECApi zones_keys_post POST /zones/{zoneId}/keys Create a DNSSEC key
QuotaApi quota_get GET /quota Retrieve resources quota
RecordsApi records_get GET /records Retrieve all records from primary zones
RecordsApi secondaryzones_records_get GET /secondaryzones/{secondaryZoneId}/records Retrieve records for a secondary zone
RecordsApi zones_records_delete DELETE /zones/{zoneId}/records/{recordId} Delete a record
RecordsApi zones_records_find_by_id GET /zones/{zoneId}/records/{recordId} Retrieve a record
RecordsApi zones_records_get GET /zones/{zoneId}/records Retrieve records
RecordsApi zones_records_post POST /zones/{zoneId}/records Create a record
RecordsApi zones_records_put PUT /zones/{zoneId}/records/{recordId} Ensure a record
SecondaryZonesApi secondaryzones_axfr_get GET /secondaryzones/{secondaryZoneId}/axfr Get status of zone transfer
SecondaryZonesApi secondaryzones_axfr_put PUT /secondaryzones/{secondaryZoneId}/axfr Start zone transfer
SecondaryZonesApi secondaryzones_delete DELETE /secondaryzones/{secondaryZoneId} Delete a secondary zone
SecondaryZonesApi secondaryzones_find_by_id GET /secondaryzones/{secondaryZoneId} Retrieve a secondary zone
SecondaryZonesApi secondaryzones_get GET /secondaryzones Retrieve secondary zones
SecondaryZonesApi secondaryzones_post POST /secondaryzones Create a secondary zone
SecondaryZonesApi secondaryzones_put PUT /secondaryzones/{secondaryZoneId} Ensure a secondary zone
ZoneFilesApi zones_zonefile_get GET /zones/{zoneId}/zonefile Retrieve a zone file
ZoneFilesApi zones_zonefile_put PUT /zones/{zoneId}/zonefile Updates a zone with a file
ZonesApi zones_delete DELETE /zones/{zoneId} Delete a zone
ZonesApi zones_find_by_id GET /zones/{zoneId} Retrieve a zone
ZonesApi zones_get GET /zones Retrieve zones
ZonesApi zones_post POST /zones Create a zone
ZonesApi zones_put PUT /zones/{zoneId} Ensure a zone

Documentation For Models

All URIs are relative to https://dns.de-fra.ionos.com

API models list

[Back to API list] [Back to Model list]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ionoscloud-dns-1.0.0.tar.gz (57.8 kB view hashes)

Uploaded Source

Built Distribution

ionoscloud_dns-1.0.0-py3-none-any.whl (127.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page