blob: 49c9759d9b95949a65cdfa1d413bdb610cea007d [file] [log] [blame]
..
.. Copyright 2015 Comcast Cable Communications Management, LLC
..
.. Licensed under the Apache License, Version 2.0 (the "License");
.. you may not use this file except in compliance with the License.
.. You may obtain a copy of the License at
..
.. http://www.apache.org/licenses/LICENSE-2.0
..
.. Unless required by applicable law or agreed to in writing, software
.. distributed under the License is distributed on an "AS IS" BASIS,
.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
.. See the License for the specific language governing permissions and
.. limitations under the License.
..
CDN
===
.. _to-api-cdn-health:
Health
++++++
**GET /api/1.1/cdns/health.json**
Authentication Required: Yes
**Response Properties**
+------------------+--------+-------------------------------------------------+
| Parameter | Type | Description |
+==================+========+=================================================+
| ``totalOnline`` | int | Total number of online caches across all CDNs. |
+------------------+--------+-------------------------------------------------+
| ``totalOffline`` | int | Total number of offline caches across all CDNs. |
+------------------+--------+-------------------------------------------------+
| ``cachegroups`` | array | A collection of cache groups. |
+------------------+--------+-------------------------------------------------+
| ``>online`` | int | The number of online caches for the cache group |
+------------------+--------+-------------------------------------------------+
| ``>offline`` | int | The number of offline caches for the cache |
| | | group. |
+------------------+--------+-------------------------------------------------+
| ``>name`` | string | Cache group name. |
+------------------+--------+-------------------------------------------------+
**Response Example** ::
{
"response": {
"totalOnline": 148,
"totalOffline": 0,
"cachegroups": [
{
"online": 8,
"offline": 0,
"name": "us-co-denver"
},
{
"online": 7,
"offline": 0,
"name": "us-de-newcastle"
}
]
},
"version": "1.1"
}
|
**GET /api/1.1/cdns/:name/health.json**
Retrieves the health of all locations (cache groups) for a given CDN.
Authentication Required: Yes
**Request Route Parameters**
+-----------------+----------+---------------------------------------------------+
| Name | Required | Description |
+=================+==========+===================================================+
|``name`` | yes | |
+-----------------+----------+---------------------------------------------------+
**Response Properties**
+------------------+--------+-------------------------------------------------+
| Parameter | Type | Description |
+==================+========+=================================================+
| ``totalOnline`` | int | Total number of online caches across the |
| | | specified CDN. |
+------------------+--------+-------------------------------------------------+
| ``totalOffline`` | int | Total number of offline caches across the |
| | | specified CDN. |
+------------------+--------+-------------------------------------------------+
| ``cachegroups`` | array | A collection of cache groups. |
+------------------+--------+-------------------------------------------------+
| ``>online`` | int | The number of online caches for the cache group |
+------------------+--------+-------------------------------------------------+
| ``>offline`` | int | The number of offline caches for the cache |
| | | group. |
+------------------+--------+-------------------------------------------------+
| * ``name`` | string | Cache group name. |
+------------------+--------+-------------------------------------------------+
**Response Example** ::
{
"response": {
"totalOnline": 148,
"totalOffline": 0,
"cachegroups": [
{
"online": 8,
"offline": 0,
"name": "us-co-denver"
},
{
"online": 7,
"offline": 0,
"name": "us-de-newcastle"
}
]
},
"version": "1.1"
}
|
**GET /api/1.1/cdns/usage/overview.json**
Retrieves the high-level CDN usage metrics.
Authentication Required: Yes
**Response Properties**
+----------------------+--------+------------------------------------------------+
| Parameter | Type | Description |
+======================+========+================================================+
|``currentGbps`` | number | |
+----------------------+--------+------------------------------------------------+
|``tps`` | int | |
+----------------------+--------+------------------------------------------------+
|``maxGbps`` | int | |
+----------------------+--------+------------------------------------------------+
**Response Example** ::
{
"response": {
"currentGbps": 149.368167,
"tps": 36805,
"maxGbps": 3961
},
"version": "1.1"
}
**GET /api/1.1/cdns/capacity.json**
Retrieves the aggregate capacity percentages of all locations (cache groups) for a given CDN.
**Response Properties**
+----------------------+--------+------------------------------------------------+
| Parameter | Type | Description |
+======================+========+================================================+
|``availablePercent`` | number | |
+----------------------+--------+------------------------------------------------+
|``unavailablePercent``| number | |
+----------------------+--------+------------------------------------------------+
|``utilizedPercent`` | number | |
+----------------------+--------+------------------------------------------------+
|``maintenancePercent``| number | |
+----------------------+--------+------------------------------------------------+
**Response Example** ::
{
"response": {
"availablePercent": 89.0939840205533,
"unavailablePercent": 0,
"utilizedPercent": 10.9060020300395,
"maintenancePercent": 0.0000139494071146245
},
"version": "1.1"
}
|
.. _to-api-cdn-routing:
Routing
+++++++
**GET /api/1.1/cdns/routing.json**
Authentication Required: Yes
Retrieves the aggregate routing percentages of all locations (cache groups) for a given CDN.
**Response Properties**
+-----------------+--------+-----------------------------------------+
| Parameter | Type | Description |
+=================+========+=========================================+
| ``staticRoute`` | number | Used pre-configured DNS entries. |
+-----------------+--------+-----------------------------------------+
| ``miss`` | number | No location available for client IP. |
+-----------------+--------+-----------------------------------------+
| ``geo`` | number | Used 3rd party geo-IP mapping. |
+-----------------+--------+-----------------------------------------+
| ``err`` | number | Error localizing client IP. |
+-----------------+--------+-----------------------------------------+
| ``cz`` | number | Used Coverage Zone geo-IP mapping. |
+-----------------+--------+-----------------------------------------+
| ``dsr`` | number | Overflow traffic sent to secondary CDN. |
+-----------------+--------+-----------------------------------------+
**Response Example** ::
{
"response": {
"staticRoute": 0,
"miss": 0,
"geo": 37.8855391018869,
"err": 0,
"cz": 62.1144608981131,
"dsr": 0
},
"version": "1.1"
}
|
.. _to-api-cdn-metrics:
Metrics
+++++++
**GET /api/1.1/cdns/metric_types/:metric/start_date/:start/end_date/:end.json**
Authentication Required: Yes
Retrieves edge metrics of one or all locations (cache groups).
**Request Route Parameters**
+-----------------+----------+---------------------------+
| Name | Required | Description |
+=================+==========+===========================+
| ``metric_type`` | yes | ooff, origin_tps |
+-----------------+----------+---------------------------+
| ``start`` | yes | UNIX time, yesterday, now |
+-----------------+----------+---------------------------+
| ``end`` | yes | UNIX time, yesterday, now |
+-----------------+----------+---------------------------+
**Response Properties**
+---------------------+--------+-------------+
| Parameter | Type | Description |
+=====================+========+=============+
| ``stats`` | hash | |
+---------------------+--------+-------------+
| ``>count`` | string | |
+---------------------+--------+-------------+
| ``>98thPercentile`` | string | |
+---------------------+--------+-------------+
| ``>min`` | string | |
+---------------------+--------+-------------+
| ``>max`` | string | |
+---------------------+--------+-------------+
| ``>5thPercentile`` | string | |
+---------------------+--------+-------------+
| ``>95thPercentile`` | string | |
+---------------------+--------+-------------+
| ``>mean`` | string | |
+---------------------+--------+-------------+
| ``>sum`` | string | |
+---------------------+--------+-------------+
| ``data`` | array | |
+---------------------+--------+-------------+
| ``>time`` | int | |
+---------------------+--------+-------------+
| ``>value`` | number | |
+---------------------+--------+-------------+
| ``label`` | string | |
+---------------------+--------+-------------+
**Response Example** ::
{
"response": [
{
"stats": {
"count": 1,
"98thPercentile": 1668.03,
"min": 1668.03,
"max": 1668.03,
"5thPercentile": 1668.03,
"95thPercentile": 1668.03,
"mean": 1668.03,
"sum": 1668.03
},
"data": [
[
1425135900000,
1668.03
],
[
1425136200000,
null
]
],
"label": "Origin TPS"
}
],
"version": "1.1"
}
|
.. _to-api-cdn-domains:
Domains
+++++++
**GET /api/1.1/cdns/domains.json**
Authentication Required: Yes
**Response Properties**
+----------------------+--------+------------------------------------------------+
| Parameter | Type | Description |
+======================+========+================================================+
|``profileId`` | string | |
+----------------------+--------+------------------------------------------------+
|``parameterId`` | string | |
+----------------------+--------+------------------------------------------------+
|``profileName`` | string | |
+----------------------+--------+------------------------------------------------+
|``profileDescription``| string | |
+----------------------+--------+------------------------------------------------+
|``domainName`` | string | |
+----------------------+--------+------------------------------------------------+
**Response Example** ::
{
"response": [
{
"profileId": "5",
"parameterId": "404",
"profileName": "CR_FOO",
"profileDescription": "Comcast Content Router for foo.domain.net",
"domainName": "foo.domain.net"
},
{
"profileId": "8",
"parameterId": "405",
"profileName": "CR_BAR",
"profileDescription": "Comcast Content Router for bar.domain.net",
"domainName": "bar.domain.net"
}
],
"version": "1.1"
}
|
.. _to-api-cdn-topology:
Topology
++++++++
**GET /api/1.1/cdns/:cdn_name/configs.json**
Retrieves CDN config information.
Authentication Required: Yes
**Request Route Parameters**
+--------------+----------+-----------------------+
| Name | Required | Description |
+==============+==========+=======================+
| ``cdn_name`` | yes | Your cdn name or, all |
+--------------+----------+-----------------------+
**Response Properties**
+-----------------------+--------+-----------------------------------------------+
| Parameter | Type | Description |
+=======================+========+===============================================+
|``id`` | string | |
+-----------------------+--------+-----------------------------------------------+
|``value`` | string | |
+-----------------------+--------+-----------------------------------------------+
|``name`` | string | |
+-----------------------+--------+-----------------------------------------------+
|``config_file`` | string | |
+-----------------------+--------+-----------------------------------------------+
**Response Example** ::
TBD
|
**GET /api/1.1/cdns/:name/configs/monitoring.json**
Retrieves CDN monitoring information.
Authentication Required: Yes
**Request Route Parameters**
+----------+----------+-------------+
| Name | Required | Description |
+==========+==========+=============+
| ``name`` | yes | |
+----------+----------+-------------+
**Response Properties**
+-------------------------------------------------+--------+--------------------+
| Parameter | Type | Description |
+=================================================+========+====================+
| ``trafficServers`` | array | A collection of |
| | | Traffic Servers. |
+-------------------------------------------------+--------+--------------------+
| ``>profile`` | string | |
+-------------------------------------------------+--------+--------------------+
| ``>ip`` | string | |
+-------------------------------------------------+--------+--------------------+
| ``>status`` | string | |
+-------------------------------------------------+--------+--------------------+
| ``>cacheGroup`` | string | |
+-------------------------------------------------+--------+--------------------+
| ``>ip6`` | string | |
+-------------------------------------------------+--------+--------------------+
| ``>port`` | int | |
+-------------------------------------------------+--------+--------------------+
| ``>hostName`` | string | |
+-------------------------------------------------+--------+--------------------+
| ``>fqdn`` | string | |
+-------------------------------------------------+--------+--------------------+
| ``>interfaceName`` | string | |
+-------------------------------------------------+--------+--------------------+
| ``>type`` | string | |
+-------------------------------------------------+--------+--------------------+
| ``>hashId`` | string | |
+-------------------------------------------------+--------+--------------------+
| ``cacheGroups`` | array | A collection of |
| | | cache groups. |
+-------------------------------------------------+--------+--------------------+
| ``>coordinates`` | hash | |
+-------------------------------------------------+--------+--------------------+
| ``>>longitude`` | number | |
+-------------------------------------------------+--------+--------------------+
| ``>>latitude`` | number | |
+-------------------------------------------------+--------+--------------------+
| ``>name`` | string | |
+-------------------------------------------------+--------+--------------------+
| ``config`` | hash | |
+-------------------------------------------------+--------+--------------------+
| ``>hack.ttl`` | int | |
+-------------------------------------------------+--------+--------------------+
| ``>tm.healthParams.polling.url`` | string | |
+-------------------------------------------------+--------+--------------------+
| ``>tm.dataServer.polling.url`` | string | |
+-------------------------------------------------+--------+--------------------+
| ``>health.timepad`` | int | |
+-------------------------------------------------+--------+--------------------+
| ``>tm.polling.interval`` | int | |
+-------------------------------------------------+--------+--------------------+
| ``>health.threadPool`` | int | |
+-------------------------------------------------+--------+--------------------+
| ``>health.polling.interval`` | int | |
+-------------------------------------------------+--------+--------------------+
| ``>health.event-count`` | int | |
+-------------------------------------------------+--------+--------------------+
| ``>tm.crConfig.polling.url`` | number | |
+-------------------------------------------------+--------+--------------------+
| ``>CDN_name`` | number | |
+-------------------------------------------------+--------+--------------------+
| ``trafficMonitors`` | array | A collection of |
| | | Traffic Monitors. |
+-------------------------------------------------+--------+--------------------+
| ``>profile`` | string | |
+-------------------------------------------------+--------+--------------------+
| ``>location`` | string | |
+-------------------------------------------------+--------+--------------------+
| ``>ip`` | string | |
+-------------------------------------------------+--------+--------------------+
| ``>status`` | string | |
+-------------------------------------------------+--------+--------------------+
| ``>ip6`` | string | |
+-------------------------------------------------+--------+--------------------+
| ``>port`` | int | |
+-------------------------------------------------+--------+--------------------+
| ``>hostName`` | string | |
+-------------------------------------------------+--------+--------------------+
| ``>fqdn`` | string | |
+-------------------------------------------------+--------+--------------------+
| ``deliveryServices`` | array | A collection of |
| | | delivery services. |
+-------------------------------------------------+--------+--------------------+
| ``>xmlId`` | string | |
+-------------------------------------------------+--------+--------------------+
| ``>totalTpsThreshold`` | int | |
+-------------------------------------------------+--------+--------------------+
| ``>status`` | string | |
+-------------------------------------------------+--------+--------------------+
| ``>totalKbpsThreshold`` | int | |
+-------------------------------------------------+--------+--------------------+
| ``profiles`` | array | A collection of |
| | | profiles. |
+-------------------------------------------------+--------+--------------------+
| ``>parameters`` | hash | |
+-------------------------------------------------+--------+--------------------+
| ``>>health.connection.timeout`` | int | |
+-------------------------------------------------+--------+--------------------+
| ``>>health.polling.url`` | string | |
+-------------------------------------------------+--------+--------------------+
| ``>>health.threshold.queryTime`` | int | |
+-------------------------------------------------+--------+--------------------+
| ``>>history.count`` | int | |
+-------------------------------------------------+--------+--------------------+
| ``>>health.threshold.availableBandwidthInKbps`` | string | |
+-------------------------------------------------+--------+--------------------+
| ``>>health.threshold.loadavg`` | string | |
+-------------------------------------------------+--------+--------------------+
| ``>name`` | string | |
+-------------------------------------------------+--------+--------------------+
| ``>type`` | string | |
+-------------------------------------------------+--------+--------------------+
**Response Example**
::
TBD
|
**GET /api/1.1/cdns/:name/configs/routing.json**
Retrieves CDN routing information.
Authentication Required: Yes
**Request Route Parameters**
+----------+----------+-------------+
| Name | Required | Description |
+==========+==========+=============+
| ``name`` | yes | |
+----------+----------+-------------+
**Response Properties**
+-------------------------------------+---------+-----------------------------------+
| Parameter | Type | Description |
+=====================================+=========+===================================+
| ``trafficServers`` | array | A collection of Traffic Servers. |
+-------------------------------------+---------+-----------------------------------+
| ``>profile`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``>ip`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``>status`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``>cacheGroup`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``>ip6`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``>port`` | int | |
+-------------------------------------+---------+-----------------------------------+
| ``>deliveryServices`` | array | |
+-------------------------------------+---------+-----------------------------------+
| ``>>xmlId`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``>>remaps`` | array | |
+-------------------------------------+---------+-----------------------------------+
| ``>>hostName`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``>fqdn`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``>interfaceName`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``>type`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``>hashId`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``stats`` | hash | |
+-------------------------------------+---------+-----------------------------------+
| ``>trafficOpsPath`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``>cdnName`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``>trafficOpsVersion`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``>trafficOpsUser`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``>date`` | int | |
+-------------------------------------+---------+-----------------------------------+
| ``>trafficOpsHost`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``cacheGroups`` | array | A collection of cache groups. |
+-------------------------------------+---------+-----------------------------------+
| ``>coordinates`` | hash | |
+-------------------------------------+---------+-----------------------------------+
| ``>>longitude`` | number | |
+-------------------------------------+---------+-----------------------------------+
| ``>>latitude`` | number | |
+-------------------------------------+---------+-----------------------------------+
| ``>name`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``config`` | hash | |
+-------------------------------------+---------+-----------------------------------+
| ``>tld.soa.admin`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``>tcoveragezone.polling.interval`` | int | |
+-------------------------------------+---------+-----------------------------------+
| ``>geolocation.polling.interval`` | int | |
+-------------------------------------+---------+-----------------------------------+
| ``>tld.soa.expire`` | int | |
+-------------------------------------+---------+-----------------------------------+
| ``>coveragezone.polling.url`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``>tld.soa.minimum`` | int | |
+-------------------------------------+---------+-----------------------------------+
| ``>geolocation.polling.url`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``>domain_name`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``>tld.ttls.AAAA`` | int | |
+-------------------------------------+---------+-----------------------------------+
| ``>tld.soa.refresh`` | int | |
+-------------------------------------+---------+-----------------------------------+
| ``>tld.ttls.NS`` | int | |
+-------------------------------------+---------+-----------------------------------+
| ``>tld.ttls.SOA`` | int | |
+-------------------------------------+---------+-----------------------------------+
| ``>geolocation6.polling.interval`` | int | |
+-------------------------------------+---------+-----------------------------------+
| ``>tld.ttls.A`` | int | |
+-------------------------------------+---------+-----------------------------------+
| ``>tld.soa.retry`` | int | |
+-------------------------------------+---------+-----------------------------------+
| ``>geolocation6.polling.url`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``trafficMonitors`` | array | A collection of Traffic Monitors. |
+-------------------------------------+---------+-----------------------------------+
| ``>profile`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``>location`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``>ip`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``>status`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``>ip6`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``>port`` | int | |
+-------------------------------------+---------+-----------------------------------+
| ``>hostName`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``>fqdn`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``deliveryServices`` | array | A collection of delivery |
| | | services. |
+-------------------------------------+---------+-----------------------------------+
| ``>xmlId`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``>ttl`` | int | |
+-------------------------------------+---------+-----------------------------------+
| ``>geoEnabled`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``>coverageZoneOnly`` | boolean | |
+-------------------------------------+---------+-----------------------------------+
| ``>matchSets`` | array | |
+-------------------------------------+---------+-----------------------------------+
| ``>>protocol`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``>>matchList`` | array | |
+-------------------------------------+---------+-----------------------------------+
| ``>>>regex`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``>>>matchType`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``>bypassDestination`` | hash | |
+-------------------------------------+---------+-----------------------------------+
| ``>>maxDnsIpsForLocation`` | int | |
+-------------------------------------+---------+-----------------------------------+
| ``>>ttl`` | int | |
+-------------------------------------+---------+-----------------------------------+
| ``>>type`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``>ttls`` | hash | |
+-------------------------------------+---------+-----------------------------------+
| ``>>A`` | int | |
+-------------------------------------+---------+-----------------------------------+
| ``>>SOA`` | int | |
+-------------------------------------+---------+-----------------------------------+
| ``>>NS`` | int | |
+-------------------------------------+---------+-----------------------------------+
| ``>>AAAA`` | int | |
+-------------------------------------+---------+-----------------------------------+
| ``>missCoordinates`` | hash | |
+-------------------------------------+---------+-----------------------------------+
| ``>>longitude`` | number | |
+-------------------------------------+---------+-----------------------------------+
| ``>>latitude`` | number | |
+-------------------------------------+---------+-----------------------------------+
| ``>soa`` | hash | |
+-------------------------------------+---------+-----------------------------------+
| ``>>admin`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``>>retry`` | int | |
+-------------------------------------+---------+-----------------------------------+
| ``>>minimum`` | int | |
+-------------------------------------+---------+-----------------------------------+
| ``>>refresh`` | int | |
+-------------------------------------+---------+-----------------------------------+
| ``>>expire`` | int | |
+-------------------------------------+---------+-----------------------------------+
| ``trafficRouters`` | hash | |
+-------------------------------------+---------+-----------------------------------+
| ``>profile`` | int | |
+-------------------------------------+---------+-----------------------------------+
| ``>location`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``>ip`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``>status`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``>ip6`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``>port`` | int | |
+-------------------------------------+---------+-----------------------------------+
| ``>hostName`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``>fqdn`` | string | |
+-------------------------------------+---------+-----------------------------------+
| ``>apiPort`` | int | |
+-------------------------------------+---------+-----------------------------------+
**Response Example**
::
TBD
.. _to-api-cdn-dnsseckeys:
DNSSEC Keys
+++++++++++
**GET /api/1.1/cdns/name/:name/dnsseckeys.json**
Gets a list of dnsseckeys for CDN and all associated Delivery Services.
Before returning response to user, check to make sure keys aren't expired. If they are expired, generate new ones.
Before returning response to user, make sure dnssec keys for all delivery services exist. If they don't exist, create them.
Authentication Required: Yes
Role Required: Admin
**Request Route Parameters**
+----------+----------+-------------+
| Name | Required | Description |
+==========+==========+=============+
| ``name`` | yes | |
+----------+----------+-------------+
**Response Properties**
+------------------------+--------+---------------------------------------------------------+
| Parameter | Type | Description |
+========================+========+=========================================================+
| ``cdn name/ds xml_id`` | string | identifier for ds or cdn |
+------------------------+--------+---------------------------------------------------------+
| ``>zsk/ksk`` | array | collection of zsk/ksk data |
+------------------------+--------+---------------------------------------------------------+
| ``>>ttl`` | string | time-to-live for dnssec requests |
+------------------------+--------+---------------------------------------------------------+
| ``>>inceptionDate`` | string | epoch timestamp for when the keys were created |
+------------------------+--------+---------------------------------------------------------+
| ``>>expirationDate`` | string | epoch timestamp representing the expiration of the keys |
+------------------------+--------+---------------------------------------------------------+
| ``>>private`` | string | encoded private key |
+------------------------+--------+---------------------------------------------------------+
| ``>>public`` | string | encoded public key |
+------------------------+--------+---------------------------------------------------------+
| ``>>name`` | string | domain name |
+------------------------+--------+---------------------------------------------------------+
| ``version`` | string | API version |
+------------------------+--------+---------------------------------------------------------+
**Response Example** ::
{
"response": {
"cdn1": {
"zsk": {
"ttl": "60",
"inceptionDate": "1426196750",
"private": "zsk private key",
"public": "zsk public key",
"expirationDate": "1428788750",
"name": "foo.kabletown.com."
},
"ksk": {
"name": "foo.kabletown.com.",
"expirationDate": "1457732750",
"public": "ksk public key",
"private": "ksk private key",
"inceptionDate": "1426196750",
"ttl": "60"
}
},
"ds-01": {
"zsk": {
"ttl": "60",
"inceptionDate": "1426196750",
"private": "zsk private key",
"public": "zsk public key",
"expirationDate": "1428788750",
"name": "ds-01.foo.kabletown.com."
},
"ksk": {
"name": "ds-01.foo.kabletown.com.",
"expirationDate": "1457732750",
"public": "ksk public key",
"private": "ksk private key",
"inceptionDate": "1426196750"
}
},
... repeated for each ds in the cdn
},
"version": "1.1"
}
|
**GET /api/1.1/cdns/name/:name/dnsseckeys/delete.json**
Delete dnssec keys for a cdn and all associated delivery services.
Authentication Required: Yes
Role Required: Admin
**Request Route Parameters**
+----------+----------+----------------------------------------------------------+
| Name | Required | Description |
+==========+==========+==========================================================+
| ``name`` | yes | name of the CDN for which you want to delete dnssec keys |
+----------+----------+----------------------------------------------------------+
**Response Properties**
+--------------+--------+------------------+
| Parameter | Type | Description |
+==============+========+==================+
| ``response`` | string | success response |
+--------------+--------+------------------+
**Response Example**
::
{
"version": "1.1",
"response": "Successfully deleted dnssec keys for <cdn>"
}
|
**POST /api/1.1/deliveryservices/dnsseckeys/generate**
Generates zsk and ksk keypairs for a cdn and all associated delivery services.
Authentication Required: Yes
Role Required: Admin
**Request Properties**
+-----------------------+---------+------------------------------------------------+
| Parameter | Type | Description |
+=======================+=========+================================================+
| ``key`` | string | name of the cdn |
+-----------------------+---------+------------------------------------------------+
| ``name`` | string | domain name of the cdn |
+-----------------------+---------+------------------------------------------------+
| ``ttl`` | string | time to live |
+-----------------------+---------+------------------------------------------------+
| ``kskExpirationDays`` | string | Expiration (in days) for the key signing keys |
+-----------------------+---------+------------------------------------------------+
| ``zskExpirationDays`` | string | Expiration (in days) for the zone signing keys |
+-----------------------+---------+------------------------------------------------+
**Request Example** ::
{
"key": "cdn1",
"name" "ott.kabletown.com",
"ttl": "60",
"kskExpirationDays": "365",
"zskExpirationDays": "90"
}
**Response Properties**
+--------------+--------+-----------------+
| Parameter | Type | Description |
+==============+========+=================+
| ``response`` | string | response string |
+--------------+--------+-----------------+
| ``version`` | string | API version |
+--------------+--------+-----------------+
**Response Example** ::
{
"version": "1.1",
"response": "Successfully created dnssec keys for cdn1"
}