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

Each line in IONOS_HTTP_PROXY_HEADERS represents one header, where the header name and value is separated by a colon. Newline characters within a value need to be escaped. See this example:

Connection: Keep-Alive
User-Info: MyID
User-Group: my long\nheader value

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} Update a record
ReverseRecordsApi reverserecords_delete DELETE /reverserecords/{reverserecordId} Delete a reverse DNS record
ReverseRecordsApi reverserecords_find_by_id GET /reverserecords/{reverserecordId} Retrieve a reverse DNS record
ReverseRecordsApi reverserecords_get GET /reverserecords Retrieves existing reverse DNS records
ReverseRecordsApi reverserecords_post POST /reverserecords Create a reverse DNS record
ReverseRecordsApi reverserecords_put PUT /reverserecords/{reverserecordId} Update a reverse DNS 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} Update 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} Update 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.2.0.tar.gz (62.9 kB view details)

Uploaded Source

Built Distribution

ionoscloud_dns-1.2.0-py3-none-any.whl (146.2 kB view details)

Uploaded Python 3

File details

Details for the file ionoscloud-dns-1.2.0.tar.gz.

File metadata

  • Download URL: ionoscloud-dns-1.2.0.tar.gz
  • Upload date:
  • Size: 62.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.9

File hashes

Hashes for ionoscloud-dns-1.2.0.tar.gz
Algorithm Hash digest
SHA256 de4859891a79ab51d6568a2ca784646e4704c3420d9fda4c52b6df7d2af9bd9e
MD5 629ec9f255473383f9ae3bdefea02af7
BLAKE2b-256 046f999d11e1f1cac3fdae32bfaa9170822f923218b17c42d3f7d2bf1e1c13c3

See more details on using hashes here.

File details

Details for the file ionoscloud_dns-1.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ionoscloud_dns-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 977824d337c836e0f3fcdfbdb004063d1602c47010c62db4f06d013183d6f4d8
MD5 2773b1ed93574150f24c7b3fd70d2b4f
BLAKE2b-256 38bd2f541b1caee62eebc94b227afd26abf82d68998ba9fe373e719b08047ac8

See more details on using hashes here.

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