Resource: peer_group_stats
Group-level stats for this peer relative to other peers in the group
http://{device}/api/cmc.sectransport/1.0/appliances/items/{serial}/group_stats{?start_time,group_id,end_time}
{ "serial": string, "stats": [ datapoint ], "rekey_times": [ timestamp ], <prop>: any }
Property Name | Type | Description | Notes |
---|---|---|---|
peer_group_stats | <object> | Group-level stats for this peer relative to other peers in the group | Required properties: [serial]; |
serial | <string> | Peer(appliance) for which this resource represents the stats | |
peer_group_stats.stats | <array of <datapoint>> | Optional; | |
peer_group_stats.stats[items] | <datapoint> | ||
peer_group_stats.rekey_times | <array of <timestamp>> | List of rekey timestamps | Optional; |
peer_group_stats.rekey_times[items] | <timestamp> | Seconds since January 1, 1970; | |
peer_group_stats.<prop> | <any> | Optional; |
Links
peer_group_stats: get
Get group stats for peer
GET http://{device}/api/cmc.sectransport/1.0/appliances/items/{serial}/group_stats{?start_time,group_id,end_time}Response Body
Returns a peer_group_stats data object.
Resource: all_peer_group_stats
peer_group_stats for all peers belonging to a group
http://{device}/api/cmc.sectransport/1.0/groups/items/{id}/all_peer_group_stats{?start_time,end_time}
{ "id": integer, "peer_stats": [ peer_stats ], <prop>: any }
Property Name | Type | Description | Notes |
---|---|---|---|
all_peer_group_stats | <object> | peer_group_stats for all peers belonging to a group | |
all_peer_group_stats.id | <integer> | Group Id for which this resource represents the stats | Optional; |
all_peer_group_stats.peer_stats | <array of <peer_stats>> | Optional; | |
all_peer_group_stats.peer_stats[items] | <peer_stats> | ||
all_peer_group_stats.<prop> | <any> | Optional; |
Links
all_peer_group_stats: get
Get group stats for peers belonging to the group
GET http://{device}/api/cmc.sectransport/1.0/groups/items/{id}/all_peer_group_stats{?start_time,end_time}Response Body
Returns an all_peer_group_stats data object.
Resource: group_stats
Group-level stats
http://{device}/api/cmc.sectransport/1.0/groups/items/{id}/group_stats{?start_time,end_time}
{ "id": integer, "stats": [ datapoint ], "rekey_times": [ timestamp ], <prop>: any }
Property Name | Type | Description | Notes |
---|---|---|---|
group_stats | <object> | Group-level stats | |
group_stats.id | <integer> | Group Id for which this resource represents the stats | Optional; |
group_stats.stats | <array of <datapoint>> | Optional; | |
group_stats.stats[items] | <datapoint> | ||
group_stats.rekey_times | <array of <timestamp>> | List of rekey timestamps | Optional; |
group_stats.rekey_times[items] | <timestamp> | Seconds since January 1, 1970; | |
group_stats.<prop> | <any> | Optional; |
Links
group_stats: get
Get stats for group
GET http://{device}/api/cmc.sectransport/1.0/groups/items/{id}/group_stats{?start_time,end_time}Response Body
Returns a group_stats data object.
Resource: controller_status
Controller connectivity/service status
http://{device}/api/cmc.sectransport/1.0/controllers/items/{serial}/status
{ "serial": string, "status": string, <prop>: any }
Property Name | Type | Description | Notes |
---|---|---|---|
controller_status | <object> | Controller connectivity/service status | |
serial | <string> | serial of the controller for which this resource contains the status | |
controller_status.status | <string> | Read-only; Optional; Values: up, down; | |
controller_status.<prop> | <any> | Optional; |
Links
controller_status: get
Get status for this controller
GET http://{device}/api/cmc.sectransport/1.0/controllers/items/{serial}/statusResponse Body
Returns a controller_status data object.
Resource: appliance
Registered appliance
http://{device}/api/cmc.sectransport/1.0/appliances/items/{serial}
{ "id": integer, "serial": string, "name": string, "group_membership": [ integer ], <prop>: any }
Property Name | Type | Description | Notes |
---|---|---|---|
appliance | <object> | Registered appliance | |
appliance.id | <integer> | Appliance inventory id | Optional; |
serial | <string> | Universally Unique Identifier | |
appliance.name | <string> | The human readable name of the appliance | Optional; |
appliance.group_membership | <array of <integer>> | What security groups this appliance belongs to | Optional; |
appliance.group_membership[items] | <integer> | ||
appliance.<prop> | <any> | Optional; |
Links
appliance: get
Get information about the appliance
GET http://{device}/api/cmc.sectransport/1.0/appliances/items/{serial}Response Body
Returns an appliance data object.
Relations
appliance: group_stats
Related resource VariablesRelated var | Data value for replacement |
---|---|
serial | 0/serial |
Resource: appliances
ST information for all registered appliances on the system
http://{device}/api/cmc.sectransport/1.0/appliances
[ { "id": integer, "serial": string, "name": string, "group_membership": [ integer ], <prop>: any } ]
Property Name | Type | Description | Notes |
---|---|---|---|
appliances | <array of <items>> | ST information for all registered appliances on the system | |
items | <object> | Registered appliance | |
items.id | <integer> | Appliance inventory id | Optional; |
serial | <string> | Universally Unique Identifier | |
items.name | <string> | The human readable name of the appliance | Optional; |
items.group_membership | <array of <integer>> | What security groups this appliance belongs to | Optional; |
items.group_membership[items] | <integer> | ||
items.<prop> | <any> | Optional; |
Links
appliances: get
Get ST information for all registered appliances on the system
GET http://{device}/api/cmc.sectransport/1.0/appliancesResponse Body
Returns an appliances data object.
Resource: controller
Controller information
http://{device}/api/cmc.sectransport/1.0/controllers/items/{serial}
{ "serial": string, "public_ip": string, "port": integer, "private_ip": string, "is_primary": boolean, "hostname": string, "id": integer, <prop>: any }
Property Name | Type | Description | Notes |
---|---|---|---|
controller | <object> | Controller information | Required properties: [serial, private_ip]; |
serial | <string> | The controller appliance to send update notifications to | |
public_ip | <string> | The public ip address of the controller | Pattern: '^((?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))?$'; |
controller.port | <integer> | Port to go along with the public ip | Optional; Range: 0 to 65535; |
private_ip | <string> | The private ip addres of the controller | Pattern: '^((?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))?$'; |
controller.is_primary | <boolean> | Whether this controller is primary or not | Optional; |
controller.hostname | <string> | Hostname of controller | Read-only; Optional; |
controller.id | <integer> | Appliance Inventory Id associated for this appliance | Read-only; Optional; |
controller.<prop> | <any> | Optional; |
Links
controller: set
Update the controller
PUT http://{device}/api/cmc.sectransport/1.0/controllers/items/{serial}Request Body
Provide a controller data object.
Response BodyReturns a controller data object.
controller: delete
Remove a controller
DELETE http://{device}/api/cmc.sectransport/1.0/controllers/items/{serial}Response Body
On success, the server does not provide any body in the responses.
Relations
controller: status
Related resource VariablesRelated var | Data value for replacement |
---|---|
serial | 0/serial |
Resource: controllers
List of all controllers registered with the CMC
http://{device}/api/cmc.sectransport/1.0/controllers
[ { "serial": string, "public_ip": string, "port": integer, "private_ip": string, "is_primary": boolean, "hostname": string, "id": integer, <prop>: any } ]
Property Name | Type | Description | Notes |
---|---|---|---|
controllers | <array of <items>> | List of all controllers registered with the CMC | |
items | <object> | Controller information | Required properties: [serial, private_ip]; |
serial | <string> | The controller appliance to send update notifications to | |
public_ip | <string> | The public ip address of the controller | Pattern: '^((?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))?$'; |
items.port | <integer> | Port to go along with the public ip | Optional; Range: 0 to 65535; |
private_ip | <string> | The private ip addres of the controller | Pattern: '^((?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))?$'; |
items.is_primary | <boolean> | Whether this controller is primary or not | Optional; |
items.hostname | <string> | Hostname of controller | Read-only; Optional; |
items.id | <integer> | Appliance Inventory Id associated for this appliance | Read-only; Optional; |
items.<prop> | <any> | Optional; |
Links
controllers: get
Get the list of all controllers registered on the CMC
GET http://{device}/api/cmc.sectransport/1.0/controllersResponse Body
Returns a controllers data object.
controllers: create
Create a new controller
POST http://{device}/api/cmc.sectransport/1.0/controllersRequest Body
Provide a controller data object.
Response BodyReturns a controller data object.
Resource: primary_controller
Primary controller for appliances that are part of ST groups
http://{device}/api/cmc.sectransport/1.0/controllers/primary{?serial}
{ "serial": string, "public_ip": string, "port": integer, "private_ip": string, "is_primary": boolean, "hostname": string, "id": integer, <prop>: any }
Property Name | Type | Description | Notes |
---|---|---|---|
primary_controller | <object> | Primary controller for appliances that are part of ST groups | |
serial | <string> | The controller appliance to send update notifications to | |
public_ip | <string> | The public ip address of the controller | Pattern: '^((?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))?$'; |
primary_controller.port | <integer> | Port to go along with the public ip | Optional; Range: 0 to 65535; |
private_ip | <string> | The private ip addres of the controller | Pattern: '^((?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))?$'; |
primary_controller.is_primary | <boolean> | Whether this controller is primary or not | Optional; |
primary_controller.hostname | <string> | Hostname of controller | Read-only; Optional; |
primary_controller.id | <integer> | Appliance Inventory Id associated for this appliance | Read-only; Optional; |
primary_controller.<prop> | <any> | Optional; |
Links
primary_controller: get
Get the primary controller based on appliance membership
GET http://{device}/api/cmc.sectransport/1.0/controllers/primary{?serial}Response Body
Returns a primary_controller data object.
Resource: group
A secure transport group
http://{device}/api/cmc.sectransport/1.0/groups/items/{id}
{ "id": integer, "name": string, "key_auto_expiry": number, "data_rekey_volume": number, "rekey_pktprcnt": number, "rekey_pktcnt": integer, "headless_timeout": number, "keepalive_interval": integer, "members": [ { "serial": serial, "name": string, <prop>: any } ], <prop>: any }
Property Name | Type | Description | Notes |
---|---|---|---|
group | <object> | A secure transport group | Required properties: [name]; |
group.id | <integer> | Permanent ID of the group | Read-only; Optional; |
group.name | <string> | Name of the group | Read-only; |
group.key_auto_expiry | <number> | Max time in seconds that a key can be used | Optional; Range: 31 to 31557600; |
group.data_rekey_volume | <number> | Max number of bytes that can be transfered in a security group before rekey | Optional; Minimum 0; |
group.rekey_pktprcnt | <number> | Percentage of packets from max, when re-key must be performed | Optional; Range: 0 to 100; |
group.rekey_pktcnt | <integer> | Cumulative packet counter for a SPI, after which re-key must be performed | Optional; Minimum 0; |
group.headless_timeout | <number> | How long in seconds can an appliance run without controller link | Optional; Range: 31 to 31557600; |
group.keepalive_interval | <integer> | How often should keep alive messages be sent between peers | Optional; Range: 10 to 3600; |
group.members | <array of <object>> | The members of this security group | Optional; |
group.members[items] | <object> | Read-only; | |
group.members[items].serial | <serial> | Universally unique ID for an appliance | |
group.members[items].name | <string> | Read-only; Optional; | |
group.members[items].<prop> | <any> | Read-only; Optional; | |
group.<prop> | <any> | Optional; |
Links
group: get
Get information about the group
GET http://{device}/api/cmc.sectransport/1.0/groups/items/{id}Response Body
Returns a group data object.
group: set
Update a group
PUT http://{device}/api/cmc.sectransport/1.0/groups/items/{id}Request Body
Provide a group data object.
Response BodyReturns a group data object.
Relations
group: group_stats
Related resource VariablesRelated var | Data value for replacement |
---|---|
id | 0/id |
Resource: groups
All of the groups configured in the system
http://{device}/api/cmc.sectransport/1.0/groups
[ { "id": integer, "name": string, "key_auto_expiry": number, "data_rekey_volume": number, "rekey_pktprcnt": number, "rekey_pktcnt": integer, "headless_timeout": number, "keepalive_interval": integer, "members": [ { "serial": serial, "name": string, <prop>: any } ], <prop>: any } ]
Property Name | Type | Description | Notes |
---|---|---|---|
groups | <array of <items>> | All of the groups configured in the system | |
items | <object> | A secure transport group | Required properties: [name]; |
items.id | <integer> | Permanent ID of the group | Read-only; Optional; |
items.name | <string> | Name of the group | Read-only; |
items.key_auto_expiry | <number> | Max time in seconds that a key can be used | Optional; Range: 31 to 31557600; |
items.data_rekey_volume | <number> | Max number of bytes that can be transfered in a security group before rekey | Optional; Minimum 0; |
items.rekey_pktprcnt | <number> | Percentage of packets from max, when re-key must be performed | Optional; Range: 0 to 100; |
items.rekey_pktcnt | <integer> | Cumulative packet counter for a SPI, after which re-key must be performed | Optional; Minimum 0; |
items.headless_timeout | <number> | How long in seconds can an appliance run without controller link | Optional; Range: 31 to 31557600; |
items.keepalive_interval | <integer> | How often should keep alive messages be sent between peers | Optional; Range: 10 to 3600; |
items.members | <array of <object>> | The members of this security group | Optional; |
items.members[items] | <object> | Read-only; | |
items.members[items].serial | <serial> | Universally unique ID for an appliance | |
items.members[items].name | <string> | Read-only; Optional; | |
items.members[items].<prop> | <any> | Read-only; Optional; | |
items.<prop> | <any> | Optional; |
Links
groups: get
Get all groups on the system
GET http://{device}/api/cmc.sectransport/1.0/groupsResponse Body
Returns a groups data object.
Resource: configuration
Secure Transport Configuration
http://{device}/api/cmc.sectransport/1.0/configuration
{ "groups": [ { "id": integer, "name": string, "key_auto_expiry": number, "data_rekey_volume": number, "rekey_pktprcnt": number, "rekey_pktcnt": integer, "headless_timeout": number, "keepalive_interval": integer, "members": [ { "serial": serial, "name": string, <prop>: any } ], <prop>: any } ], "revision": string, <prop>: any }
Property Name | Type | Description | Notes |
---|---|---|---|
configuration | <object> | Secure Transport Configuration | |
groups | <array of <items>> | All the groups configured in the system | |
items | <object> | A secure transport group | Required properties: [name]; |
items.id | <integer> | Permanent ID of the group | Read-only; Optional; |
items.name | <string> | Name of the group | Read-only; |
items.key_auto_expiry | <number> | Max time in seconds that a key can be used | Optional; Range: 31 to 31557600; |
items.data_rekey_volume | <number> | Max number of bytes that can be transfered in a security group before rekey | Optional; Minimum 0; |
items.rekey_pktprcnt | <number> | Percentage of packets from max, when re-key must be performed | Optional; Range: 0 to 100; |
items.rekey_pktcnt | <integer> | Cumulative packet counter for a SPI, after which re-key must be performed | Optional; Minimum 0; |
items.headless_timeout | <number> | How long in seconds can an appliance run without controller link | Optional; Range: 31 to 31557600; |
items.keepalive_interval | <integer> | How often should keep alive messages be sent between peers | Optional; Range: 10 to 3600; |
items.members | <array of <object>> | The members of this security group | Optional; |
items.members[items] | <object> | Read-only; | |
items.members[items].serial | <serial> | Universally unique ID for an appliance | |
items.members[items].name | <string> | Read-only; Optional; | |
items.members[items].<prop> | <any> | Read-only; Optional; | |
items.<prop> | <any> | Optional; | |
configuration.revision | <string> | Revision of this configuration | Optional; |
configuration.<prop> | <any> | Optional; |
Links
configuration: get
Get secure transport configuration
GET http://{device}/api/cmc.sectransport/1.0/configurationResponse Body
Returns a configuration data object.
Resource: poller
Temporary callback for stats poll requests
http://{device}/api/cmc.sectransport/1.0/poller_callback
{ <prop>: any }
Property Name | Type | Description | Notes |
---|---|---|---|
poller | <object> | Temporary callback for stats poll requests | Required properties: [poll_req_id, serial, poll_time, resp_data]; |
poller.<prop> | <any> | Optional; |
Links
poller: callback
Callback to get polled response
POST http://{device}/api/cmc.sectransport/1.0/poller_callbackRequest Body
Provide a poller_response data object.
Response BodyOn success, the server does not provide any body in the responses.
Type: serial
Universally unique ID for an appliance
string
Property Name | Type | Description | Notes |
---|---|---|---|
serial | <string> | Universally unique ID for an appliance |
Type: ipv4address
IPv4 address (x.y.z.k)
string
Property Name | Type | Description | Notes |
---|---|---|---|
ipv4address | <string> | IPv4 address (x.y.z.k) | Pattern: '^((?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))?$'; |
Type: stat_block
Representation of a statistics object
{ "bytes_in": number, "bytes_out": number, "packets_in": number, "packets_out": number }
Property Name | Type | Description | Notes |
---|---|---|---|
stat_block | <object> | Representation of a statistics object | |
stat_block.bytes_in | <number> | Bytes received | Read-only; Optional; |
stat_block.bytes_out | <number> | Bytes sent | Read-only; Optional; |
stat_block.packets_in | <number> | Packets received | Read-only; Optional; |
stat_block.packets_out | <number> | Packets sent | Read-only; Optional; |
Type: datapoint
{ "timestamp": timestamp, "data": stat_block, <prop>: any }
Property Name | Type | Description | Notes |
---|---|---|---|
datapoint | <object> | ||
datapoint.timestamp | <timestamp> | Optional; Seconds since January 1, 1970; | |
datapoint.data | <stat_block> | Representation of a statistics object | |
datapoint.<prop> | <any> | Optional; |
Type: controller_info
Controller information
{ "serial": string, "public_ip": string, "port": integer, "private_ip": string, "is_primary": boolean, "hostname": string, "id": integer, <prop>: any }
Property Name | Type | Description | Notes |
---|---|---|---|
controller_info | <object> | Controller information | |
serial | <string> | The controller appliance to send update notifications to | |
public_ip | <string> | The public ip address of the controller | Pattern: '^((?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))?$'; |
controller_info.port | <integer> | Port to go along with the public ip | Optional; Range: 0 to 65535; |
private_ip | <string> | The private ip addres of the controller | Pattern: '^((?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))?$'; |
controller_info.is_primary | <boolean> | Whether this controller is primary or not | Optional; |
controller_info.hostname | <string> | Hostname of controller | Read-only; Optional; |
controller_info.id | <integer> | Appliance Inventory Id associated for this appliance | Read-only; Optional; |
controller_info.<prop> | <any> | Optional; |
Type: poller_response
{ "poll_req_id": integer, "serial": string, "poll_time": timestamp, "resp_data": string, <prop>: any }
Property Name | Type | Description | Notes |
---|---|---|---|
poller_response | <object> | ||
poller_response.poll_req_id | <integer> | Request id registered with poller | Optional; |
poller_response.serial | <string> | Appliance from which response is received | Optional; |
poller_response.poll_time | <timestamp> | Optional; Seconds since January 1, 1970; | |
poller_response.resp_data | <string> | Response from the polled request | Optional; |
poller_response.<prop> | <any> | Optional; |
Type: peer_stats
{ "serial": string, "stats": [ datapoint ], "rekey_times": [ timestamp ], <prop>: any }
Property Name | Type | Description | Notes |
---|---|---|---|
peer_stats | <object> | ||
serial | <string> | Peer(appliance) for which this resource represents the stats | |
peer_stats.stats | <array of <datapoint>> | Optional; | |
peer_stats.stats[items] | <datapoint> | ||
peer_stats.rekey_times | <array of <timestamp>> | List of rekey timestamps | Optional; |
peer_stats.rekey_times[items] | <timestamp> | Seconds since January 1, 1970; | |
peer_stats.<prop> | <any> | Optional; |