
- Overview
- Resources
- API summary
- Create a new node
- List nodes
- Update a node
- Remove a node
- Get a node
- Get a node boot image
- Create a new attribute type
- List attribute types
- Update an attribute type
- Remove an attribute type
- Get an attribute type
- Update settings
- Get settings
- Create a new site
- List sites
- Update a site
- Remove a site
- Get a site
- List nodes per site
- Data
- Errors
Aura Infrastructure API v1
Configure the compute layer for applications on the Aura platform.
Learn more:
- Download this API’s RAML and JSON schema descriptors.
Overview
This API allows the Licensed CDN (LCDN) Operator to create sites, nodes, and attribute types for LCDN or LMS products on the Aura platform. This API does not support the deployment of individual product components on the sites and nodes.
Get started
Before you use the Aura Infrastructure API for the first time, you must obtain an authorization token by creating and registering an application using the Aura Management Center (AMC) GUI. For detailed information about obtaining a token, see the “Managing OAuth2 Applications” section in the latest version of the Aura LCDN Administration Guide.
Resources
This section provides details on the Aura Infrastructure API’s various operations.
The following list provides a road map of all the conceptual objects you deal with when interacting with this API.
Site. A site assigns a name to a group of nodes.
Node. A node represents an aggregation of relevant parts including a list of interfaces, each containing a list of addresses and routes, and a list of attribute values.
Attribute type. A CDN Operator has the option to create a global set of node attribute types that provide additional node information to CDN Operators, IT, or support organizations.
Settings. A set of values the CDN Operator creates to apply to an attribute type.
Node boot medium image. Allows a CDN Operator to retrieve a node boot medium image in usb or iso format.
Before you begin any API operations, you must obtain an authorization token that you need from the AMC GUI. Please refer to the Get started section for detailed information.
API summary
Download the RAML descriptors for this API.
Operation | Method | Endpoint |
---|---|---|
Nodes | ||
Create a new node | POST | /api/ |
List nodes | GET | /api/ |
Update a node | PUT | /api/ |
Remove a node | DELETE | /api/ |
Get a node | GET | /api/ |
Get a node boot image | GET | /api/ |
Attribute types | ||
Create a new attribute type | POST | /api/ |
List attribute types | GET | /api/ |
Update an attribute type | PUT | /api/ |
Remove an attribute type | DELETE | /api/ |
Get an attribute type | GET | /api/ |
Update settings | PUT | /api/ |
Get settings | GET | /api/ |
Sites | ||
Create a new site | POST | /api/ |
List sites | GET | /api/ |
Update a site | PUT | /api/ |
Remove a site | DELETE | /api/ |
Get a site | GET | /api/ |
List nodes per site | GET | /api/ |
Create a new node
This operation creates a new node.
POST /api/
Content-Type: application/json
Object type: Node
Download schema: node.create.schema.json
Request body:
{
"hostname": "node1.us-ma-east-1.example.com",
"siteId": 1,
"bootState": "BOOT",
"administrativeState": "ACTIVE",
"dnsServers": [
"8.8.8.8"
],
"attributes": [
{
"attributeTypeId": 1,
"value": "MA"
},
{
"attributeTypeId": 2,
"value": "Cambridge"
}
],
"interfaces": [
{
"name": "eth0",
"macAddress": "00:11:22:33:44:55",
"type": "ETHERNET",
"ip4Addresses": [
{
"ipAddress": "1.1.1.1/24",
"management": true
}
],
"ip4Routes": [
{
"destination": "2.2.2.0/24",
"nextHop": "1.1.1.10",
"metric": 1
}
],
"ip6Addresses": [
{
"ipAddress": "2001::8000:1234/64"
}
],
"ip6Routes": [
{
"destination": "2001::8000:2000/64",
"nextHop": "2001::8000:1",
"metric": 100
}
]
},
{
"name": "eth1",
"macAddress": "00:11:22:33:44:61",
"type": "ETHERNET",
"master": "lag0"
},
{
"name": "eth2",
"macAddress": "00:11:22:33:44:62",
"type": "ETHERNET",
"master": "lag0"
},
{
"name": "lag0",
"type": "BOND",
"slaveInterfaces": [
"eth1",
"eth2"
]
}
]
}
Status 200
application/json
Headers:
Location: https://akzz-xxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx.luna.akamaiapis.net/api/infrastructure/v1/nodes/1
Object type: Node
Download schema: node.read-detailed.schema.json
Response body:
{
"nodes": [
{
"nodeId": 1,
"hostname": "node1.us-ma-east-1.example.com"
},
{
"nodeId": 2,
"hostname": "node2.us-ma-east-1.example.com"
}
],
"page": {
"pageNumber": 1,
"pageSize": 100,
"totalPages": 1,
"totalResults": 2
}
}
Status 201
Headers:
Location: https://akzz-xxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx.luna.akamaiapis.net/api/infrastructure/v1/attribute-types/1
Build a Node object.
POST the object to
/api/
.infrastructure/ v1/ nodes The
Location
response header provides a link where you can GET the newly created node.
List nodes
This operation returns a list of all configured nodes.
GET /api/
Status 200
Status 201
application/json
Object type: Node
Download schema: node.collection.schema.json
Response body:
{
"nodes": [
{
"nodeId": 1,
"hostname": "node1.us-ma-east-1.example.com"
},
{
"nodeId": 2,
"hostname": "node2.us-ma-east-1.example.com"
}
],
"page": {
"pageNumber": 1,
"pageSize": 100,
"totalPages": 1,
"totalResults": 2
}
}
To generate a list of all configured nodes, make a GET request to
/api/
.infrastructure/ v1/ nodes The operation responds with a list of nodes.
Update a node
This operation updates the details of a node.
PUT /api/
Sample: /api/
Content-Type: application/json
Object type: Node
Download schema: node.update.schema.json
Request body:
{
"nodeId": 1,
"hostname": "node1.us-ma-east-1.example.com",
"siteId": 1,
"bootState": "BOOT",
"administrativeState": "ACTIVE",
"dnsServers": [
"8.8.8.8"
],
"attributes": [
{
"attributeTypeId": 1,
"value": "MA"
},
{
"attributeTypeId": 2,
"value": "Cambridge"
}
],
"interfaces": [
{
"name": "eth0",
"macAddress": "00:11:22:33:44:55",
"type": "ETHERNET",
"ipAddresses": [
{
"ipAddress": "1.1.1.1/24",
"management": true
}
],
"routes": [
{
"destination": "2.2.2.0/24",
"nextHop": "1.1.1.10",
"metric": 1
}
]
}
]
}
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
nodeId |
Integer | 1 |
Uniquely identifies a node. |
Status 200
application/json
Object type: Node
Download schema: node.read-detailed.schema.json
Response body:
{
"nodeId": 1,
"hostname": "node1.us-ma-east-1.example.com",
"siteId": 1,
"bootState": "BOOT",
"administrativeState": "ACTIVE",
"dnsServers": [
"8.8.8.8"
],
"attributes": [
{
"attributeTypeId": 1,
"value": "MA"
},
{
"attributeTypeId": 2,
"value": "Cambridge"
}
],
"interfaces": [
{
"name": "eth0",
"macAddress": "00:11:22:33:44:55",
"type": "ETHERNET",
"ipAddresses": [
{
"ipAddress": "1.1.1.1/24",
"management": true
}
],
"routes": [
{
"destination": "2.2.2.0/24",
"nextHop": "1.1.1.10",
"metric": 1
}
]
}
]
}
To generate a list of all configured nodes, make a GET request to
/api/
. Store theinfrastructure/ v1/ nodes nodeId
of the node you want to update from the response.Make a GET request to
/api/
.infrastructure/ v1/ nodes/ {nodeId} The operation responds with the Node object.
Update the desired properties in the Node object.
PUT the object to
/api/
. The operation responds with the updated Node object.infrastructure/ v1/ nodes/ {nodeId}
Remove a node
This operation removes a node.
DELETE /api/
Sample: /api/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
nodeId |
Integer | 1 |
Uniquely identifies a node. |
Status 204
To generate a list of all configured nodes, make a GET request to
/api/
. Store theinfrastructure/ v1/ nodes nodeId
of the node you want to delete from the response.Make a DELETE request to
/api/
.infrastructure/ v1/ nodes/ {nodeId}
Get a node
This operation retrieves the details of a node.
GET /api/
Sample: /api/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
nodeId |
Integer | 1 |
Uniquely identifies a node. |
Status 200
application/json
Object type: Node
Download schema: node.read-detailed.schema.json
Response body:
{
"nodeId": 1,
"hostname": "node1.us-ma-east-1.example.com",
"siteId": 1,
"bootState": "BOOT",
"administrativeState": "ACTIVE",
"dnsServers": [
"8.8.8.8"
],
"attributes": [
{
"attributeTypeId": 1,
"value": "MA"
},
{
"attributeTypeId": 2,
"value": "Cambridge"
}
],
"interfaces": [
{
"name": "eth0",
"macAddress": "00:11:22:33:44:55",
"type": "ETHERNET",
"ipAddresses": [
{
"ipAddress": "1.1.1.1/24",
"management": true
}
],
"routes": [
{
"destination": "2.2.2.0/24",
"nextHop": "1.1.1.10",
"metric": 1
}
]
}
]
}
To generate a list of all configured nodes, make a GET request to
/api/
. Store theinfrastructure/ v1/ nodes nodeId
of the relevant node from the response.Make a GET request to
/api/
.infrastructure/ v1/ nodes/ {nodeId} The operation responds with the Node object.
Get a node boot image
Before you install a service node, you must create a Service Node Installation Image on a USB device. You can create either a USB image or an ISO image. Each new LCDN or LMS service node boots the first time from the Service Node Installation Image to install the required service node software on each service node. After the installation is complete, you must remove the USB device so that from that point forward the node boots off its hard disk.
GET /api/
Sample: /api/
Parameter | Type | Sample | Description |
---|---|---|---|
Required query parameters | |||
format |
Enumeration | usb |
usb or iso . |
Status 200
Decide the format of the node boot medium image, either
usb
oriso
, and use this as the value of theformat
query parameter.Make a GET request to
/api/
.infrastructure/ v1/ nodes/ boot-medium{?format}
Create a new attribute type
This operation creates a new attribute type. A CDN Operator has the option to create a global set of node attribute types that provide additional node information to CDN Operators, IT, or support organizations.
POST /api/
Content-Type: application/json
Object type: AttributeType
Download schema: attribute-type.create.schema.json
Request body:
{
"name": "Rack"
}
Status 201
application/json
Headers:
Location: https://akzz-xxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx.luna.akamaiapis.net/api/infrastructure/v1/attribute-types/1
Object type: AttributeType
Download schema: attribute-type.read.schema.json
Response body:
{
"name": "Room",
"attributeTypeId": 5
}
List attribute types
This operation returns a list of all configured attribute types.
GET /api/
Status 200
application/json
Object type: AttributeType
Download schema: attribute-type.collection.schema.json
Response body:
{
"attributeTypes": [
{
"attributeTypeId": 1,
"name": "Country"
},
{
"attributeTypeId": 2,
"name": "State/Province"
},
{
"attributeTypeId": 3,
"name": "City"
},
{
"attributeTypeId": 4,
"name": "Building"
},
{
"attributeTypeId": 5,
"name": "Room"
},
{
"attributeTypeId": 6,
"name": "Rack"
}
],
"page": {
"pageNumber": 1,
"pageSize": 100,
"totalPages": 1,
"totalResults": 6
}
}
Update an attribute type
This operation updates the details of an attribute type. A CDN Operator has the option to create a global set of node attribute types that provide additional node information to CDN Operators, IT, or support organizations.
PUT /api/
Sample: /api/
Content-Type: application/json
Object type: AttributeType
Download schema: attribute-type.update.schema.json
Request body:
{
"name": "Room",
"attributeTypeId": 5
}
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
attributeTypeId |
Integer | 5 |
Uniquely identifies an attribute type. |
Status 200
application/json
Object type: AttributeType
Download schema: attribute-type.read.schema.json
Response body:
{
"name": "Room",
"attributeTypeId": 5
}
To generate a list of all configured attribute types, make a GET request to
/api/
. Store theinfrastructure/ v1/ attribute-types attributeTypeId
of the attribute type you want to update from the response.Make a GET request to
/api/
.infrastructure/ v1/ attribute-types/ {attributeTypeId} The operation responds with the details of the AttributeType object.
Update the desired properties in the AttributeType object.
PUT the object to
/api/
.infrastructure/ v1/ attribute-types/ {attributeTypeId} The operation responds with the updated AttributeType object.
Remove an attribute type
This operation removes an attribute type. A CDN Operator has the option to create a global set of node attribute types that provide additional node information to CDN Operators, IT, or support organizations. Removing an attribute type removes that attribute type and its values from all nodes to which it is assigned.
DELETE /api/
Sample: /api/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
attributeTypeId |
Integer | 5 |
Uniquely identifies an attribute type. |
Status 204
To generate a list of all configured attribute types, make a GET request to
/api/
. Store theinfrastructure/ v1/ attribute-types attributeTypeId
of the attribute type you want to delete from the response.Make a DELETE request to
/api/
.infrastructure/ v1/ attribute-types/ {attributeTypeId}
Get an attribute type
This operation retrieves the details of an attribute type.
GET /api/
Sample: /api/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
attributeTypeId |
Integer | 5 |
Uniquely identifies an attribute type. |
Status 200
application/json
Object type: AttributeType
Download schema: attribute-type.read.schema.json
Response body:
{
"name": "Room",
"attributeTypeId": 5
}
To generate a list of all configured attribute types, make a GET request to
/api/
. Store theinfrastructure/ v1/ attribute-types attributeTypeId
of the relevant attribute type from the response.Make a GET request to
/api/
.infrastructure/ v1/ attribute-types/ {attributeTypeId} The operation responds with an AttributeType object.
Update settings
This operation updates attribute type settings which are a set of values the CDN Operator creates to apply to an attribute type.
PUT /api/
Content-Type: application/json
Object type: Settings
Download schema: attribute-type-settings.schema.json
Request body:
{
"attributeTypePriority": [
1,
2,
3,
4,
5
]
}
Status 200
application/json
Object type: Settings
Download schema: attribute-type-settings.schema.json
Response body:
{
"attributeTypePriority": [
1,
2,
3,
4,
5
]
}
Make a GET request to
/api/
to retrieve a list of all configured attribute types. Store theinfrastructure/ v1/ attribute-types/ settings attributeTypeId
of the relevant attribute type from the response.To retrieve the details of the attribute type, make a GET request to
/api/
.infrastructure/ v1/ attribute-types/ {attributeTypeId} The operation responds with the details of the attribute type Settings object.
Update the desired properties in the Settings object.
PUT the object to
/api/
.infrastructure/ v1/ attribute-types/ settings The operation responds with the updated Settings object.
Get settings
This operation gets the configured attribute type settings which are a set of values the CDN Operator creates to apply to an attribute type.
GET /api/
Status 200
application/json
Object type: Settings
Download schema: attribute-type-settings.schema.json
Response body:
{
"attributeTypePriority": [
1,
2,
3,
4,
5
]
}
To get the configured settings for an
attributeType
, make a GET request to/api/
.infrastructure/ v1/ attribute-types/ settings The operation responds with a Settings object.
Create a new site
This operation creates a new site.
POST /api/
Content-Type: application/json
Object type: Site
Download schema: site.create.schema.json
Request body:
{
"name": "us-ma-east-1",
"abbreviatedName": "usmae1"
}
Status 201
application/json
Headers:
Location: https://akzz-xxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx.luna.akamaiapis.net/api/infrastructure/v1/sites/1
Object type: Site
Download schema: site.read-detailed.schema.json
Response body:
{
"sites": [
{
"siteId": 1,
"name": "us-ma-east-1"
}
],
"page": {
"pageNumber": 1,
"pageSize": 100,
"totalPages": 1,
"totalResults": 1
}
}
Build a Site object.
POST the object to
/api/
.infrastructure/ v1/ sites The
Location
response header provides a link where you can GET the newly created site.
List sites
This operation returns a list of all configured sites.
GET /api/
Status 200
application/json
Object type: Site
Download schema: site.collection.schema.json
Response body:
{
"sites": [
{
"siteId": 1,
"name": "us-ma-east-1"
}
],
"page": {
"pageNumber": 1,
"pageSize": 100,
"totalPages": 1,
"totalResults": 1
}
}
To generate a list of all configured sites, make a GET request to
/api/
.infrastructure/ v1/ sites The operation responds with a list of sites.
Update a site
This operation updates the details of a site.
PUT /api/
Sample: /api/
Content-Type: application/json
Object type: Site
Download schema: site.update.schema.json
Request body:
{
"siteId": 1,
"name": "us-ma-east-1",
"abbreviatedName": "usmae1"
}
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
siteId |
Integer | 1 |
Uniquely identifies a site. |
Status 200
application/json
Object type: Site
Download schema: site.read-detailed.schema.json
Response body:
{
"siteId": 1,
"name": "us-ma-east-1",
"abbreviatedName": "usmae1"
}
To generate a list of all configured sites, make a GET request to
/api/
. Store theinfrastructure/ v1/ sites siteId
of the node you want to update from the response.Make a GET request to
/api/
.infrastructure/ v1/ sites/ {siteId} The operation responds with the Site object.
PUT the object to
/api/
. The operation responds with the updated Site object.infrastructure/ v1/ sites/ {siteId}
Remove a site
Remove a site.
DELETE /api/
Sample: /api/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
siteId |
Integer | 1 |
Uniquely identifies a site. |
Status 204
To generate a list of all configured sites, make a GET request to
/api/
. Store theinfrastructure/ v1/ sites siteId
of the node you want to remove from the response.Make a DELETE request to
/api/
.infrastructure/ v1/ sites/ {siteId}
Get a site
This operation retrieves the details of a site.
GET /api/
Sample: /api/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
siteId |
Integer | 1 |
Uniquely identifies a site. |
Status 200
application/json
Object type: Site
Download schema: site.read-detailed.schema.json
Response body:
{
"siteId": 1,
"name": "us-ma-east-1",
"abbreviatedName": "usmae1"
}
Make a GET request to
/api/
to retrieve a list of all configured sites. Store theinfrastructure/ v1/ sites siteId
of the relevant node from the response.Make a GET request to
/api/
.infrastructure/ v1/ sites/ {siteId} The operation responds with a Site object.
List nodes per site
This operation lists the nodes belonging to this site.
GET /api/
Sample: /api/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
siteId |
Integer | 1 |
Uniquely identifies a site. |
Status 200
application/json
Object type: Node
Download schema: node.collection.schema.json
Response body:
{
"nodes": [
{
"nodeId": 1,
"hostname": "node1.us-ma-east-1.example.com"
},
{
"nodeId": 2,
"hostname": "node2.us-ma-east-1.example.com"
}
],
"page": {
"pageNumber": 1,
"pageSize": 100,
"totalPages": 1,
"totalResults": 2
}
}
Data
This section describes the Aura Infrastructure API’s data objects that the API exposes.
Download the JSON schemas for this API.
The data schema tables below list membership requirements as follows:
✓ | Member is required in requests, or always present in responses, even if its value is empty or null . |
○ | Member is optional, and may be omitted in some cases. |
✗ | Member is out of scope, and irrelevant to the specified interaction context. If you include the member in that context, it either triggers an error, or is ignored. |
Node
A node represents an aggregation of relevant parts that include a list of interfaces, each containing a list of addresses and routes, and a list of attribute values.
Download schema:
node.create.schema.json
, node.update.schema.json
Sample PUT request:
{
"nodeId": 1,
"hostname": "node1.us-ma-east-1.example.com",
"siteId": 1,
"bootState": "BOOT",
"administrativeState": "ACTIVE",
"dnsServers": [
"8.8.8.8"
],
"attributes": [
{
"attributeTypeId": 1,
"value": "MA"
},
{
"attributeTypeId": 2,
"value": "Cambridge"
}
],
"interfaces": [
{
"name": "eth0",
"macAddress": "00:11:22:33:44:55",
"type": "ETHERNET",
"ipAddresses": [
{
"ipAddress": "1.1.1.1/24",
"management": true
}
],
"routes": [
{
"destination": "2.2.2.0/24",
"nextHop": "1.1.1.10",
"metric": 1
}
]
}
]
}
Node members
Member | Type | Required | Description |
---|---|---|---|
Node : A node represents an aggregation of relevant parts that include a list of interfaces, each containing a list of addresses and routes, and a list of attribute values. |
|||
administrative |
Enumeration | ○ | The administrative state of the node, either ACTIVE or MAINTENANCE . The default is ACTIVE . Use MAINTENANCE to remove a node from service, do routine software maintenance, or add or remove storage devices on a service node. |
attributes |
Node. |
○ | Array of mappings of attributeType to value for this node. |
bootState |
Enumeration | ○ | When booting, the action the node should take BOOT , REINSTALL , INSTALL , or UPGRADE . In BOOT state, the node completes a normal boot process and runs in production mode. REINSTALL causes the node to reinstall and overwrite the system partition and boot partition on all disks and the associated data, but does not update the kernel partition. Use the INSTALL state for a node on which no Aura software is installed. Do not use UPGRADE to upgrade the software on a service node; use the upgrade_step.py script. For detailed information about upgrading a service node using the upgrade_step.py script, see the “Service Node Upgrade with upgrade_step.py” in the Aura LCDN/LMS Upgrade Guide. |
dnsServers |
Array | ✓ | List of DNS Server IP addresses. |
hostname |
String | ✓ | The unique fully qualified domain name (FQDN) for this node. |
interfaces |
Node. |
○ | A node bonding virtual interface. |
interfaces |
Node. |
○ | A node ethernet interface. |
nodeId |
Integer | ○ | The unique identifier for a node. |
siteId |
Integer | ✓ | The unique identifier for a site. |
Node.attributes[] : Array of mappings of attributeType to value for this node. |
|||
attributeTypeId |
Integer | ✓ | Unique identifier for attributeType. |
value |
String | ✓ | Value to assign for this node. |
Node.interfaces{bonding} : A node bonding virtual interface. |
|||
ip4Addresses |
Ip4Address[] | ○ | An IPv4 address. |
ip4Routes |
Ip4Route[] | ○ | A single IPv4 route. |
ip6Addresses |
Ip6Address[] | ○ | An IPv6 address. |
ip6Routes |
Ip6Route[] | ○ | A single IPv6 route. |
name |
String | ✓ | Interface name, such as lag0 . |
slaveInterfaces |
Array | ○ | Interface name of slave interface. |
type |
Enumeration | ✓ | Identifies the interface type. The only supported type is BOND . |
Node.interfaces{ethernet} : A node ethernet interface. |
|||
ip4Addresses |
Ip4Address[] | ○ | An IPv4 address. |
ip4Routes |
Ip4Route[] | ○ | A single IPv4 route. |
ip6Addresses |
Ip6Address[] | ○ | An IPv6 address. |
ip6Routes |
Ip6Route[] | ○ | A single IPv6 route. |
macAddress |
String | ✓ | Interface MAC address. |
master |
String | ○ | Read-only. Designates the master bonding interface for this interface. |
name |
String | ✓ | Interface name, such as eth0 . |
type |
Enumeration | ✓ | Identifies the interface type. The only supported type is ETHERNET . |
AttributeType
A CDN Operator has the option to create a global set of node attribute types that provide additional node information to CDN operators, IT, or support organizations.
Download schema:
attribute-type.create.schema.json
, attribute-type.update.schema.json
Sample PUT request:
{
"name": "Room",
"attributeTypeId": 5
}
AttributeType members
Member | Type | Required | Description |
---|---|---|---|
AttributeType : A CDN Operator has the option to create a global set of node attribute types that provide additional node information to CDN operators, IT, or support organizations. |
|||
attributeTypeId |
Integer | ○ | Read-only. The unique identifier for an attribute type. |
name |
String | ✓ | The unique name for an attribute type. |
Settings
Settings for an attributeType
. A set of values the CDN Operator creates to apply to an attributeType
.
Download schema:
attribute-type-settings.schema.json
Sample PUT request:
{
"attributeTypePriority": [
1,
2,
3,
4,
5
]
}
Settings members
Member | Type | Required | Description |
---|---|---|---|
Settings : Settings for an attributeType . A set of values the CDN Operator creates to apply to an attributeType . |
|||
attribute |
Integer | ○ | Must refer to a valid attributeTypeId . |
Site
A site assigns a name to a group of nodes.
Download schema:
site.create.schema.json
, site.update.schema.json
Sample PUT request:
{
"siteId": 1,
"name": "us-ma-east-1",
"abbreviatedName": "usmae1"
}
Site members
Member | Type | Required | Description |
---|---|---|---|
Site : A site assigns a name to a group of nodes. |
|||
abbreviatedName |
String | ✓ | A shortened name for this site. |
name |
String | ✓ | The unique name for this site. |
siteId |
Integer | ○ | The unique identifier for a site. |
Ip4Address
An IPv4 address.
Download schema:
node.definitions.schema.json
Ip4Address members
Member | Type | Required | Description |
---|---|---|---|
Ip4Address : An IPv4 address. |
|||
ipAddress |
String | ✓ | An IPv4 address. |
management |
Boolean | ○ | Indicates whether this is the management address. There may only be one management address. |
Ip4Route
A single IPv4 route.
Download schema:
node.definitions.schema.json
Ip4Route members
Member | Type | Required | Description |
---|---|---|---|
Ip4Route : A single IPv4 route. |
|||
destination |
String | ✓ | An IPv4 address. |
metric |
Integer | ○ | A value up to 9999 that represents the cost metric for this static route. The route with the lowest metric is chosen among multiple routes that most closely match the destination address of a packet being forwarded. |
nextHop |
String | ✓ | The address of the next gateway to which packets should be forwarded along the path to their final destination. |
sourceIpAddress |
String | ○ | The IPv4 source address for this IPv4 route. |
Ip6Address
An IPv6 address.
Download schema:
node.definitions.schema.json
Ip6Address members
Member | Type | Required | Description |
---|---|---|---|
Ip6Address : An IPv6 address. |
|||
ipAddress |
String | ○ | An IPv6 address. |
ipAddress |
String | ○ | An IPv6 address. |
Ip6Route
A single IPv6 route.
Download schema:
node.definitions.schema.json
Ip6Route members
Member | Type | Required | Description |
---|---|---|---|
Ip6Route : A single IPv6 route. |
|||
destination |
String | ○ | An IPv6 address. |
destination |
String | ○ | An IPv6 address. |
metric |
Integer | ○ | A value up to 9999 that represents the cost metric for this static route. The route with the lowest metric is chosen among multiple routes that most closely match the destination address of a packet being forwarded. |
nextHop |
String | ✓ | The address of the next gateway to which packets should be forwarded along the path to their final destination. |
sourceIpAddress |
String | ○ | The IPv6 source address for this IPv6 route. |
Errors
This section provides details on the data object that reflects the API’s common response to error cases, and lists the API’s range of response status codes for both error and success cases.
Error responses
In the case of errors, the API returns an HTTP Problem JSON object with the application/problem+json
media type. For example, when you try to GET a node that does not exist, the API responds with a JSON object such as the following:
{
"type" : "https://akzz-xxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx.luna.akamaiapis.net/api/infrastructure/errors#core.entity-not-found",
"title" : "The requested entity could not be found",
"detail" : "Node 99999 does not exist",
"instance" : "https://akzz-xxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx.luna.akamaiapis.net/api/infrastructure/v1/nodes/99999#fae1fd860940d25d",
"entityType" : "Node",
"entityId" : 99999
}
HTTP status codes
This section lists the full range of response codes the API may generate.
Code | Description |
---|---|
200 | The operation was successful. |
201 | Resource successfully created. |
400 | Bad request. |
401 | Authentication failure. |
403 | The client doesn’t have the appropriate authority to perform the requested operation. |
404 | Resource not found. |
405 | Method not supported. |
409 | The operation couldn’t be completed due to a conflict with the current state of the resource. |
415 | Unsupported media type. |
503 | Service is temporarily unavailable. |
Last modified: 7/19/2019