SlideShare a Scribd company logo
APIC-EM API Deep Dive
DevNet-1093
Adam Radford Distinguished Systems Engineer
• Introduction
• Tools
• Authentication/Getting Started
• Inventory/Topology
• PnP
• IWAN
• Policy – QoS – Dynamic QoS
Agenda
`
APIC-EM - Platform Architecture
Network PnP Network InventoryPath TraceIWAN
Advanced Topology Visualizer
APIC-EM
Applications
APIC-EM Controller
Northbound REST APIs
APIC-EM
Services
Grapevine
Inventory
Manager
RBAC Policy Analysis
Policy
Programmer
Network PnP
Data Access
Service
Topology
Services
IWAN
Services
Elastic Service Infrastructure
APIC-EM
Applications
APIC-EM
Services
Addresses
Scale Out
and HA
Requirements
sandboxapic.cisco.com:9443
admin/C1sc0123
Tools
Swagger
9
Try it out..
10
Postman (now with JetPacks free)
11
Noun
verb
Body - JSON
(with variables)
Github Collection
12
Authentication/Getting
Started
Roles Based Access Control
14
Three Roles Today
Scope is for future use
Getting a Ticket
15
https://adam-iwan:443/api/v1/ticket POST (need Content-Type header)
{
"username":"admin",
"password":"secrete"
}
{
"response": {
"serviceTicket": "ST-2-e7PF7jy6GJ43JEhmCbKi-cas"
},
"version": "0.0"
}
Getting/Using the authentication ticket
16
Inventory/Topology
Relationships
18
/discovery /network-device /location
/interface
/host
/link
/tag
/flow-analysis
/topology
Network-device
https://sandboxapic.cisco.com:9443/api/v1/network-device GET
{ "family": "Switches and Hubs",
"location": "e53d2525-6071-439b-b16d-17f92205a52b",
"type": "Cisco Catalyst 3850-48U-E Switch",
"serialNumber": "FOC1703V36B",
"role": "ACCESS",
"macAddress": "f0:29:29:5c:30:e2",
"softwareVersion": "03.03.00.SE",
"upTime": "12 days, 0:18:10.78",
"hostname": "CAMPUS-Access1",
"tagCount": "3",
"lastUpdated": "2015-10-28 21:44:50.936",
"locationName": "San Jose, CA",
"roleSource": "MANUAL",
"collectionStatus": "Managed",
"interfaceCount": "62",
"lineCardCount": "18",
"series": "Cisco Catalyst 3850 Series Ethernet Stackable Switch",
"apManagerInterfaceIp": "",
"bootDateTime": "2015-10-16 21:23:36.065",
"instanceUuid": "93a73198-850b-4002-bbf3-a224befae61d",
"id": "93a73198-850b-4002-bbf3-a224befae61d
"lineCardId": "6124970f-f0e8-42b9-9a3c-b3180b314729,
4066a0e5-c8ef-47dd-8db9-5bc8c11e3aab, 64e78af1-c910-4e79-
8320-ffd6f97c3192, 1ed983ae-956c-45c8-ab0b-a0fa92e2b129,
aeb9c8ae-573c-4d53-9f3e-6333071a9a39, b50fffb8-4841-4e02-
948e-85fa0c0c1a60, 1e14c576-07f3-4bb6-a1d7-4e65821534ea,
dc6d6fd4-8c03-45e0-96d5-dedd199fac9d, 2e543e11-71e0-4b6f-
ac1a-be4afdcc4910, d83e1785-7e1c-4143-b075-decfc13caa63,
16635b81-2dba-4eed-9303-9f9fe7353e8b, 5943da96-5aeb-40f3-
85b1-ff39ffa64b14, 77d9ca1c-ce5c-4be0-8beb-d8ec3246d6bc,
5b11cd8d-1801-42b5-ab38-521171f70d0e, e763c72c-7633-4b14-
9184-87832c4c1c4d, 9ad4a2ed-a518-44a5-aa43-b3f63966dc19,
d304ce80-02f6-4916-805c-65a60ba00f3e, abd72d26-f078-479e-
a477-decdb259f4c9",
"managementIpAddress": "212.1.10.1",
"memorySize": "536870912",
"platformId": "WS-C3850-48U",
"reachabilityFailureReason": "Completed",
"reachabilityStatus": "Reachable",
"snmpContact": "",
"snmpLocation": "",
"tunnelUdpPort": null,
Host
https://sandboxapic.cisco.com:9443/api/v1/host?limit=100&offset=1
GET
{"id": "8c989306-818e-488f-9974-1476be6ca7b5",
"hostIp": "212.1.10.20",
"hostMac": "5c:f9:dd:52:07:78",
"hostType": "wired",
"connectedNetworkDeviceId": "93a73198-850b-4002-bbf3-a224befae61d",
"connectedNetworkDeviceIpAddress": "212.1.10.1",
"connectedInterfaceId": "0c429f3d-776d-40c6-96b1-17f460545764",
"connectedInterfaceName": "GigabitEthernet1/0/47",
"vlanId": "200",
"lastUpdated": "1446068511023",
"source": "200"}
Topology
21
Topology
https://sandboxapic.cisco.com:9443/api/v1/topology/physical-topology GET
{
"deviceType": "wired",
"label": "212.1.10.20",
"ip": "212.1.10.20",
"nodeType": "HOST",
"family": "WIRED",
"role": "HOST",
"customParam":{},
"id": "8c989306-818e-488f-9974-1476be6ca7b5"
}
{
"deviceType": "Cisco Catalyst 3850-48U-E Switch",
"label": "CAMPUS-Access1",
"ip": "212.1.10.1",
"softwareVersion": "03.03.00.SE",
"nodeType": "device",
"family": "Switches and Hubs",
"platformId": "WS-C3850-48U",
"tags":["Company-ABC", "Campus-Site", "POC-Site"],
"role": "ACCESS",
"roleSource": "MANUAL",
"customParam":{},
"id": "93a73198-850b-4002-bbf3-a224befae61d"
}
Nodes[]
Topology
https://sandboxapic.cisco.com:9443/api/v1/topology/physical-topology GET
{
"source": "93a73198-850b-4002-bbf3-a224befae61d",
"startPortID": "0c429f3d-776d-40c6-96b1-17f460545764",
"target": "8c989306-818e-488f-9974-1476be6ca7b5",
"linkStatus": "UP"
},
/host/8c989306-818e-488f-9974-
1476be6ca7b5
network-device/93a73198-850b-4002-bbf3-
a224befae61d
interface/0c429f3d-776d-40c6-96b1-17f460545764
links[]
{"source": "93a73198-850b-4002-bbf3-a224befae61d",
"startPortID": "ea919b9d-cf40-41b9-83bc-42e1ea07806e",
"startPortName": "GigabitEthernet1/0/1",
"startPortSpeed": "1000000",
"target": "b3aa8311-62f5-44a3-b432-fa857324f447",
"endPortID": "07132e28-404b-4335-8682-28fd294c06cf",
"endPortName": "GigabitEthernet5/5",
"endPortSpeed": "1000000",
"linkStatus": "up",
"id": "60067"},
Location
24
See examples in
POSTMAN
Path Trace
25
Path Trace
26
https://sandboxapic.cisco.com:9443/api/v1/flow-analysis POST
{
"sourceIP" : "65.1.1.83",
"destIP" : "212.1.10.20"
}
{
"response": {
"taskId": "c7896f2e-ee65-40c7-8213-a32e314eceb2",
"url": "/api/v1/task/c7896f2e-ee65-40c7-8213-a32e314eceb2"
},
"version": "1.0"
}
Path Trace – get TASK
27
https://sandboxapic.cisco.com:9443/api/v1/task/c7896f2e-ee65-40c7-8213-a32e314eceb2 GET
{
"response": {
"progress": "9238c613-b5cc-4db5-b7df-bb1c1eca6306",
"version": 1454732293035,
"startTime": 1454732293035,
"endTime": 1454732294870,
"serviceType": "Policy Analysis Service",
"rootId": "c7896f2e-ee65-40c7-8213-a32e314eceb2",
"isError": false,
"id": "c7896f2e-ee65-40c7-8213-a32e314eceb2"
},
"version": "1.0"
}
Path Trace – get result
28
https://sandboxapic.cisco.com:9443/api/v1/flow-analysis/9238c613-b5cc-4db5-b7df-bb1c1eca6306
GET
{ "response": {
"request": {
"sourceIP": "65.1.1.83","destIP": "212.1.10.20" },
"lastUpdate": "Sat Feb 06 04:18:14 UTC 2016",
"properties": [],
"networkElementsInfo": [
{
"id": "cf05d21e-29bc-4b9d-8a32-12f7877a8355",
"type": "wireless",
"ip": "65.1.1.83",
"linkInformationSource": "Switched"
},
{
"id": "0a15fd77-44ba-4858-b3b1-0df37c4328e0",
"name": "AP7081.059f.19ca",
"type": "Unified AP",
"ip": "55.1.1.3",
"role": "ACCESS",
"linkInformationSource": "Switched",
"tunnels": [
"CAPWAP Tunnel"
]
},
{
"id": "93a73198-850b-4002-bbf3-a224befae61d",
"name": "CAMPUS-Access1",
"type": "Switches and Hubs",
"ip": "212.1.10.1",
"ingressInterface": {
"physicalInterface": {
"id": "101550de-e72c-4071-81f7-3e2f4f3fbf62",
"name": "GigabitEthernet1/0/26"
}
},
"egressInterface": {
"physicalInterface": {
"id": "ea919b9d-cf40-41b9-83bc-42e1ea07806e",
"name": "GigabitEthernet1/0/1"
}
},
"role": "ACCESS",
"linkInformationSource": "Switched",
"tunnels": [
"CAPWAP Tunnel"
]
},
PnP
5 apps that use the PNP API today
• APIC-EM GUI
• IWAN App in APIC-EM
• Mobile PnP App (android/iphone)
• Prime Infrastructure (3.x)
• ESA
30
Relationships
31
/file/image
/pnp-project
/file/config
/pnp-project/{project-id}/device
/pnp-device
Pre-provisioned Ad-Hoc
Post-provisioned
PnP
32
/file/config
/file/image
1
/pnp-project
2
/pnp-project/{project-id}/device
3
File upload
33
No Content-type : application/json
Get List of Config files
34
https://sandboxapic.cisco.com:9443/api/v1/file/namespace/config GET
{ "response": [
{
"nameSpace": "config",
"name": "README.md",
"downloadPath": "/file/a95f7952-7eee-40cc-8664-d1abfa560611",
"fileSize": "2174",
"fileFormat": "text/x-markdown",
"md5Checksum": "ae20d2b1ca4302e2bd7d9d3b2bfca907",
"sha1Checksum": "888b09e200c9e25e13e563df10e7a101a959e648",
"id": "a95f7952-7eee-40cc-8664-d1abfa560611"
}
],
"version": "1.0"}
Create a Project
35
https://sandboxapic.cisco.com:9443/api/v1/pnp-project POST
[{"siteName": "Sydney"}]
{
"response": {
"taskId": "49f44442-9808-4341-98b7-be65c8b7197d",
"url": "/api/v1/task/49f44442-9808-4341-98b7-be65c8b7197d"
},
"version": "1.0"
}
Look at the Task
36
https://sandboxapic.cisco.com:9443/api/v1/task/49f44442-9808-4341-98b7-be65c8b7197d GET
{
"response": {
"progress": "{"message":"Success creating new site","siteId":"91bf82f8-99b3-4908-9145-19a435ee86e8"}",
"version": 1454811170949,
"startTime": 1454811170949,
"endTime": 1454811170969,
"serviceType": "Ztd Service",
"rootId": "49f44442-9808-4341-98b7-be65c8b7197d",
"isError": false,
"id": "49f44442-9808-4341-98b7-be65c8b7197d"
},
"version": "1.0"
}
GET list of projects
37
https://sandboxapic.cisco.com:9443/api/v1/pnp-project GET
{
"response": [
{
"state": "PRE_PROVISIONED",
"siteName": "Sydney",
"deviceCount": 0,
"pendingDeviceCount": 0,
"provisionedBy": "admin",
"provisionedOn": "2016-02-07 02:12:50.949",
"id": "91bf82f8-99b3-4908-9145-19a435ee86e8"
}
],
"version": "1.0"
}
Create a project rule
38
https://sandboxapic.cisco.com:9443/api/v1/pnp-project/91bf82f8-99b3-4908-9145-19a435ee86e8/device
POST
[{
"serialNumber": "12345678901",
"platformId": "C2960X",
"hostName": "syd-sw1",
"pkiEnabled": true
}]
{
"response": {
"taskId": "81689911-1eb4-4bf9-a98a-cb0e23be49d1",
"url": "/api/v1/task/81689911-1eb4-4bf9-a98a-cb0e23be49d1"
},
"version": "1.0"
}
Mobile App – create a rule with no serial number
39
Look at the Task
40
https://sandboxapic.cisco.com:9443/api/v1/task/81689911-1eb4-4bf9-a98a-cb0e23be49d1 GET
{
"response": {
"progress": "{"message":"Success creating new site device(rule)","ruleId":"a0ec4fe5-ba3b-49ef-8ff4-
ac5b41f7c0cd"}",
"version": 1454811570096,
"startTime": 1454811570096,
"endTime": 1454811570163,
"serviceType": "Ztd Service",
"rootId": "81689911-1eb4-4bf9-a98a-cb0e23be49d1",
"isError": false,
"id": "81689911-1eb4-4bf9-a98a-cb0e23be49d1"
},
"version": "1.0"
GET list of project rules
41
https://sandboxapic.cisco.com:9443/api/v1/pnp-project/91bf82f8-99b3-4908-9145-19a435ee86e8/device GET
{"response":
[{
"hostName": "syd-sw1",
"platformId": "C2960X",
"serialNumber": "12345678901",
"site": "Sydney",
"pkiEnabled": true,
"sudiRequired": false,
"apCount": "0",
"isMobilityController": "false",
"state": "PENDING",
"stateDisplay": "Pending",
<contined next page>
<continuation>
"authStatus": {
"type": "Unknown",
"status": "None",
"errorMessage": null,
"timestamp": 1454811700178,
"certInfo": null
},
"attributeInfo": {},
"id": "a0ec4fe5-ba3b-49ef-8ff4-ac5b41f7c0cd"
}],
"version": "1.0"
}
DELETE project (and rules)
42
https://sandboxapic.cisco.com:9443/api/v1/pnp-project/91bf82f8-99b3-4908-9145-19a435ee86e8
deleteRule=1&deleteDevice=1 DELETE
{
"response": {
"taskId": "cd9d7e8a-78a8-4512-a905-14671a23d535",
"url": "/api/v1/task/cd9d7e8a-78a8-4512-a905-14671a23d535"
},
"version": "1.0"
}
Look at the Task
43
https://sandboxapic.cisco.com:9443/api/v1/task/cd9d7e8a-78a8-4512-a905-14671a23d535 GET
{
"response": {
"progress": "Success Deleting ZTD Site: id# 91bf82f8-99b3-4908-9145-19a435ee86e8",
"version": 1454812176855,
"startTime": 1454812176855,
"endTime": 1454812176907,
"serviceType": "Ztd Service",
"rootId": "cd9d7e8a-78a8-4512-a905-14671a23d535",
"isError": false,
"id": "cd9d7e8a-78a8-4512-a905-14671a23d535"
},
"version": "1.0"
}
Unclaimed devices
44
GET unclaimed devices
45
https://adam-iwan/api/v1/pnp-device?state=UNCLAIMED&matchDeviceState=true GET
[{"platformId": "WS-C3650-48PQ",
"hostName": "Switch",
"bootVariable": "flash:packages.conf",
"id": "02b0adcf-dd6b-4945-a703-44b5b0bc187e",
"configReg": "0x102",
"pnpProfileUsedAddr": "10.10.10.140",
"state": "UNCLAIMED",
"pnpProfileAutoCreated": true,
"unclaimedHint": "new-device",
"deviceDetailsLastUpdate": "2016-02-07 04:11:24",
"lastStateTransitionTime": "2016-02-07 04:11:25",
"firstContact": "2016-02-07 04:06:05.000906",
"versionCompatible": "supported",
"attributeInfo": {},
"topologyInfo": "neighborLink: Local
Interface=null Local MacAddress=6c41.6a0d.e781
Remote Interface=null Remote
MacAddress=7c95.f3bd.2a05 Remote DeviceName=null
Remote Platform=null;n",
"imageFile": "flash:packages.conf",
"versionString": "15.2(2)E3",
<continuation>
"pkiEnabled": true,
"stateDisplay": "Unclaimed",
"returnToRomReason": "reload",
"serialNumber": "FDO1732Q00B",
"sudiRequired": false,
"filesystemInfo": "fileSystem: name=crashinfo
type=disk size=248354816 freespace=248353792;n",
"certificateNeededState": "NULL_STATE",
"mainMemSize": "0",
"authStatus": {
"status": "Unsupported",
"timestamp": 1454818039783,
"errorMessage": null,
"type": "Unsupported",
"certInfo": null
},
"lastContact": "2016-02-07 04:11:25.000051",
"ipAddress": "10.10.14.4",
"isMobilityController": "false"
},
Claim a device -- PUT
46
https://sandboxapic.cisco.com:9443/api/v1/pnp-device PUT
[{
"state" : "START_PROVISIONING",
"id" : "02b0adcf-dd6b-4945-a703-44b5b0bc187e",
"pkiEnabled" : true,
"configId" : "ac828621-dd47-4201-856d-be605413f33b"
}]
{ "response":
{
"taskId": "d8502137-5d2b-4e81-a0e6-e0e71a07abc9",
"url": "/api/v1/task/d8502137-5d2b-4e81-a0e6-e0e71a07abc9"
},
"version": "1.0"
}
Even though "pkiEnable is true
by default, need to set this is
want device certificate to be
provisioned
Look at the Task
47
https://adam-iwan/api/v1/task/d8502137-5d2b-4e81-a0e6-e0e71a07abc9 GET
{
"response": {
"progress": "Success Updating Device: id# 02b0adcf-dd6b-4945-a703-44b5b0bc187e",
"startTime": 1454819475470,
"endTime": 1454819475594,
"version": 1454819475470,
"serviceType": "Ztd Service",
"rootId": "d8502137-5d2b-4e81-a0e6-e0e71a07abc9",
"isError": false,
"id": "d8502137-5d2b-4e81-a0e6-e0e71a07abc9"
},
"version": "1.0"
}
State changes
48
./watch_provision.py FDO1732Q00B
Watching unclaimed for serial:FDO1732Q00B
19:49:35: Duration (0) Unclaimed
19:49:43: Duration (9) Waiting for Resource
19:50:02: Duration (28) Start Provisioning
19:51:08: Duration (94) Deploying Device Certificate
19:52:09: Duration (155) Deploying Config
19:54:09: Duration (275) Provisioned
19:54:09: Completed (275): PROVISIONED
GET provisioned device
49
https://adam-iwan/api/v1/pnp-device?serialNumber=FDO1732Q00B GET
[{"platformId": "WS-C3650-48PQ",
"hostName": "3650-dhcp",
"bootVariable": "flash:packages.conf",
"id": "02b0adcf-dd6b-4945-a703-44b5b0bc187e",
"configId": "ac828621-dd47-4201-856d-
be605413f33b",
"configReg": "0x102",
"pnpProfileUsedAddr": "10.10.10.140",
"unclaimedHint": "new-device",
"pnpProfileAutoCreated": true,
"state": "PROVISIONED",
"provisioningType": "new-device-adhoc",
"deviceDetailsLastUpdate": "2016-02-07 04:31:39",
"lastStateTransitionTime": "2016-02-07 04:34:46",
"firstContact": "2016-02-07 04:06:05.000906",
"versionCompatible": "supported",
"attributeInfo": {},
"topologyInfo": "neighborLink: Local
Interface=null Local MacAddress=6c41.6a0d.e781
Remote Interface=null Remote
MacAddress=7c95.f3bd.2a05 Remote DeviceName=null
Remote Platform=null;n",
<continuation>
"imageFile": "flash:packages.conf",
"versionString": "15.2(2)E3",
"apCount": "0",
"pkiEnabled": false,
"stateDisplay": "Provisioned",
"returnToRomReason": "reload",
"serialNumber": "FDO1732Q00B",
"sudiRequired": false,
"filesystemInfo": "fileSystem: name=crashinfo
type=disk size=248354816 freespace=248353792;n",
"certificateNeededState": "NULL_STATE",
"mainMemSize": "0",
"authStatus": {"status": "Unsupported",
"timestamp": 1454818039783,
"errorMessage": null,
"type": "Unsupported",
"certInfo": null},
"isMobilityController": "false",
"ipAddress": "10.10.14.4",
"lastContact": "2016-02-07 04:34:46.000425"
}
UI
50
Iwan
Relationships
52
/relevance
/category
/application /policy
QoS
Path Selection
Policy Construct - IWAN
/relevance/category
/application
/policy
GET Policy
54
https://adam-iwan/api/v1/policy/323476c2-07d7-4065-9d01-151dfd01822f GET
{"policyName": "email",
"instanceUuid": "323476c2-07d7-4065-9d01-151dfd01822f",
"resource": {
"categories": [ {
"id": "07675131-e383-4e80-97a2-9ec503b9f6a4",
"name": "email"
}]
},
"actions": [ "SET_PROPERTY"],
"state": "Active",
"taskId": "f861eb13-26ad-4911-90f1-76112a58a6df",
"scope": "GLOBAL",
"actionProperty": {
"pathControlFlag": true,
"PrimaryPathPref": [ "mpls"],
"SecondaryPathPref": [ "interne"],
"pathPreferenceFlag": true,
"relevanceLevel": "Business-Critical"
},
"id": "323476c2-07d7-4065-9d01-151dfd01822f"
}
PUT Policy
55
https://adam-iwan/api/v1/policy/ PUT
[{"policyName": "email",
"instanceUuid": "323476c2-07d7-4065-9d01-151dfd01822f",
"resource": {
"categories": [ {
"id": "07675131-e383-4e80-97a2-9ec503b9f6a4",
"name": "email"
}]
},
"actions": [ "SET_PROPERTY"],
"state": "Active",
"taskId": "f861eb13-26ad-4911-90f1-76112a58a6df",
"scope": "GLOBAL",
"actionProperty": {
"pathControlFlag": true,
"PrimaryPathPref": [ "mpls"],
"SecondaryPathPref": [ "interne"],
"pathPreferenceFlag": true,
"relevanceLevel": "Default"
},
"id": "323476c2-07d7-4065-9d01-151dfd01822f"
}]
Get Task
56
https://adam-iwan/api/v1/task/b58dae3a-2702-4160-a6ef-5517c54af36c GET
{
"rootId": "b58dae3a-2702-4160-a6ef-5517c54af36c",
"serviceType": "Policy Service",
"id": "b58dae3a-2702-4160-a6ef-5517c54af36c",
"operationIdList": [
"b3e9423c-ffa5-4869-a0db-6321310848d5"
],
"version": 1454836724342,
"startTime": 1454836724341,
"endTime": 1454836732262,
"isError": false
}
UI
57
Get Policy count
58
https://adam-iwan/api/v1/policy/count GET
{
"response": 23,
"version": "1.0"
}
Categories
59
https://adam-iwan/api/v1/category GET
[{
"id": "03326c93-6169-46c6-8b8b-5da0a6689e83",
"name": "voice-and-video"
}, {
"id": "07675131-e383-4e80-97a2-9ec503b9f6a4",
"name": "email"
}, {
"id": "11d04044-74c6-4e9c-9f6a-fffa8c8bcf78",
"name": "business-and-productivity-tools"
}, {
"id": "170f7fba-a098-4b6f-8f63-83cfb7135be6",
"name": "inter-process-rpc"
}, {
"id": "267f0bda-e545-4bc8-825f-13df9b1ded26",
"name": "backup-and-storage"
}, {
"id": "3c5478e6-46cc-4417-a2e4-61b9109504a6",
"name": "software-updates"
},
<continued>
Applications in Category
60
https://adam-iwan/api/v1/application?categoryId=07675131-e383-4e80-97a2-9ec503b9f6a4 GET
[{ "pfrThresholdOneWayDelay": 100,
"tcpPorts": "143,220",
"encrypted": "false",
"references": "http://tools.ietf.org/html/rfc3501",
"udpPorts": "143,220",
"pfrThresholdJitter": 1,
"applicationGroup": "imap-group",
"pfrThresholdJitterPriority": 3,
"category": "email",
"instanceUuid": "1ba5312a-892e-4d59-b0c3-
f403342766d6",
"subCategory": "enterprise-transactional-apps",
"pfrThresholdLossRate": 5,
"helpString": "Internet Mail Access Protocol",
"id": "1ba5312a-892e-4d59-b0c3-f403342766d6",
"pfrThresholdLossRatePriority": 2,
"indicativeUdpPorts": "143,220",
"categoryId": "07675131-e383-4e80-97a2-9ec503b9f6a4",
"nbarId": "17",
"p2pTechnology": "false",
"appProtocol": "tcp/udp",
<continued>
"longDescription": "Internet Message Access
protocol (IMAP) allows users to acess their email
servers and to receive and send emails. The
protocol simulates a local use when in fact it is
a connection to a server. An IMAP server usually
listens on port 143.",
"pfrThresholdOneWayDelayPriority": 1,
"name": "imap",
"globalId": "L4:143",
"tunnel": "false",
"popularity": 9,
"enabled": "true",
"trafficClass": "BULK_DATA",
"indicativeTcpPorts": "143,220",
"selectorId": "143",
"engineId": "3"
},
EasyQoS/Dynamic QoS
Relationships
62
/relevance
/application
/policy QoS
/policy/tag
Easy QoS
63
/policy/tag
/relevance
/application
Easy QoS -tags
64
https://ga-1/api/v1/policy/tag GET
{
"response": {
"policyTags": [
"New-York-Branch",
"Chicago-Campus",
"San-Francisco-Branch"
]
},
"version": "1.0"
}
Easy QoS –tag Association
65
https://ga-1/api/v1/policy/tag/association GET
{
"response": [
{
"policyTag": "New-York-Branch",
"networkDeviceIds": [
"69d11938-f1b6-40b5-a81c-12d19ed728b9",
"b657086d-63a3-4052-bdbb-33d9638bec8b",
"1cba8dd8-877b-466e-8e2d-9db83bd1c451"
]
},{
"policyTag": "Chicago-Campus",
"networkDeviceIds": [
"601d6cb7-a254-45cd-bb28-3193f7fc7e78",
"acb3f02c-3101-478b-abed-0cba2d827c75",
"0a4de2ea-23e4-4c01-a7b8-394b156c69e6",
"fcd91e8e-c7ab-4e4e-87e1-aa87fa8b8756",
"fbadfdb7-53b3-48c7-80fd-b06d8aac808d",
"bea293d2-2b48-448a-9c2d-92074309151e",
"13062fd6-4eb4-44be-b646-684015440b66",
"2ac6c4f7-8975-4830-a03b-9dfe7448054a"
]
},
<CONTINUED>
{
"policyTag": "San-Francisco-Branch",
"networkDeviceIds": [
"f2a2c29c-ed9d-48ef-aab7-fa81c3035126",
"219b0443-08e6-4bd6-a15c-74d9ea965ba2"
]
}
],
"version": "1.0"
}
Easy QoS - Relvance
66
https://ga-1/api/v1/relvance GET
{
"response": [
"Default",
"Business-Irrelevant",
"Business-Relevant"
],
"version": "1.0"
}
Easy QoS – Specific Policy
67
https://ga-1/api/v1/policy/e0bd599a-2bfb-48b0-862e-dc11549c9dd8 GET
{
"policyName": "Enterprise-SanFran-QOS",
"policyPriority": 4095,
"policyScope": "San-Francisco-Branch",
"resource": {
"applications": [
{
"id": "6fcf0f08-ad86-44bb-bffd-3eb946d5c749",
"appName": "groove"
},{
"id": "7172a1d9-b1eb-4629-9e3c-47ab5570882e",
"appName": "streamwork"
},{
"id": "6f509514-73a5-4486-a59e-499e4b5fc141",
"appName": "secure-http"
},{
"id": "77bfc7f7-da7d-40dd-a0d2-328a03905acb",
"appName": "ripng"
},{
"id": "708743aa-5033-4497-b1d5-a7d68eab157d",
"appName": "xdmcp"
}
]},
"actions": [
"SET_PROPERTY"
],
"state": "Active",
"taskId": "302da30f-11b7-438b-be58-00f51c703d9f",
"instanceUuid": "e0bd599a-2bfb-48b0-862e-dc11549c9dd8",
"actionProperty": {
"pathControlFlag": false,
"pathPreferenceFlag": false,
"relevanceLevel": "Business-Relevant"
},
"id": "e0bd599a-2bfb-48b0-862e-dc11549c9dd8"
}
Easy QoS – Specific Policy Task
68
https://ga-1/api/v1/task/302da30f-11b7-438b-be58-00f51c703d9f GET
{
"rootId": "302da30f-11b7-438b-be58-00f51c703d9f",
"serviceType": "Policy Service",
"version": 1454515356826,
"id": "302da30f-11b7-438b-be58-00f51c703d9f",
"operationIdList": [
"4e3a182f-e583-441b-bc69-a25b3169d0b3"
],
"startTime": 1454515356826,
"endTime": 1454515357098,
"isError": false
}
Current Differences between IWAN and EQ Policy
69
IWAN EasyQoS
Scope Global (until May) Tag based
Relevance
Categorization
Per Application
Category
Per Application
Devices Supported
Routers – IWAN
deployed
Routers/switches/WL
AN
Dynamic Policy NA Yes, Voice, Video
Dynamic QoS
70
Dynamic QoS Enabled
Dynamic QoS
Policies
Dynamic QoS
71
https://ga-1/api/v1/policy/flow POST
{
"sourceIP" : "172.28.97.54",
"destIP" : "10.10.10.51",
"sourcePort" : "30952",
"destPort" : "22754",
"protocol" : "tcp",
"flowType" : "VOICE",
"averageBandwidth": "64",
"peakBandwidth": "64",
"qosClassName": "conversational.audio.avconf.aq",
"appId": "e40d4836-45aa-39b2-e46b-84018b289e15",
"codec": "g.711u"
}
https://ga-1/api/v1/task/5a8b0c01-b944-4ea5-aa66-
7f9c44dafc37 GET
{
"response": {
"progress": "3c24b97b-c417-4a49-adcc-870209b81fcd",
"startTime": 1455440014855,
"endTime": 1455440014858,
"version": 1455440014855,
"serviceType": "Policy Service",
"isError": false,
"operationIdList": [
"4441f491-ab3b-41eb-a382-c9e6ef4ff6f5"
],
"rootId": "5a8b0c01-b944-4ea5-aa66-7f9c44dafc37",
"id": "5a8b0c01-b944-4ea5-aa66-7f9c44dafc37"
},
"version": "1.0"
}
Dynamic Policy
72
https://ga-1/api/v1/policy/flow GET
"response": [
{
"id": "3c24b97b-c417-4a49-adcc-870209b81fcd",
"sourceIP": "172.28.97.54",
"destIP": "10.10.10.51",
"sourcePort": "30952",
"destPort": "22754",
"protocol": "tcp",
"flowType": "VOICE",
"averageBandwidth": "64",
"peakBandwidth": "64",
"codec": "g.711u",
"status": "CONFIG_ADD_SUCCESS"
}
]
Delete Dynamic Policy
73
https://ga-1/api/v1/policy/flow/3c24b97b-c417-4a49-adcc-870209b81fcd DELETE
https://ga-1/api/v1/task/ce0e653c-9bc2-4ab0-9783-ef6505bd1d2f GET
{
"response": {
"progress": "3c24b97b-c417-4a49-adcc-870209b81fcd",
"startTime": 1455440274442,
"endTime": 1455440274446,
"version": 1455440274446,
"serviceType": "Policy Service",
"isError": false,
"operationIdList": [
"d38a1716-2b90-4fd1-9032-17ed47dd0661"
],
"rootId": "ce0e653c-9bc2-4ab0-9783-ef6505bd1d2f",
"id": "ce0e653c-9bc2-4ab0-9783-ef6505bd1d2f"
},
"version": "1.0"
}
APIC-EM API Deep Dive

More Related Content

What's hot

TechWiseTV Workshop: APIC-EM
TechWiseTV Workshop: APIC-EMTechWiseTV Workshop: APIC-EM
TechWiseTV Workshop: APIC-EM
Robb Boyd
 
Reducing Cost with DNA Automation
Reducing Cost with DNA AutomationReducing Cost with DNA Automation
Reducing Cost with DNA Automation
Cisco Canada
 
Présentation cisco aci in action fundamentals - fcouderc - v6
Présentation cisco aci in action   fundamentals - fcouderc - v6Présentation cisco aci in action   fundamentals - fcouderc - v6
Présentation cisco aci in action fundamentals - fcouderc - v6
Dig-IT
 
TechWiseTV Workshop: Catalyst Switching Programmability
TechWiseTV Workshop: Catalyst Switching ProgrammabilityTechWiseTV Workshop: Catalyst Switching Programmability
TechWiseTV Workshop: Catalyst Switching Programmability
Robb Boyd
 
Cisco ACI for the Microsoft Cloud Platform
Cisco ACI for the Microsoft Cloud PlatformCisco ACI for the Microsoft Cloud Platform
Cisco ACI for the Microsoft Cloud Platform
Shashi Kiran
 
Cisco Connect Toronto 2017 - Introducing the Network Intuitive
Cisco Connect Toronto 2017 - Introducing the Network IntuitiveCisco Connect Toronto 2017 - Introducing the Network Intuitive
Cisco Connect Toronto 2017 - Introducing the Network Intuitive
Cisco Canada
 
DNA Intelligent WAN Campus Day
DNA Intelligent WAN Campus DayDNA Intelligent WAN Campus Day
DNA Intelligent WAN Campus Day
Cisco Canada
 
Cisco application infrastracture controller (apic) billyjones
Cisco application infrastracture controller (apic) billyjonesCisco application infrastracture controller (apic) billyjones
Cisco application infrastracture controller (apic) billyjones
Billy jones Monarquia
 
SDN in the Enterprise
SDN in the EnterpriseSDN in the Enterprise
SDN in the Enterprise
Cisco Canada
 
Ottawa e-NFV Session
Ottawa e-NFV Session Ottawa e-NFV Session
Ottawa e-NFV Session
Cisco Canada
 
UCS Management APIs A Technical Deep Dive
UCS Management APIs A Technical Deep DiveUCS Management APIs A Technical Deep Dive
UCS Management APIs A Technical Deep Dive
Cisco DevNet
 
Cisco IP Video Surveillance Design Guide
Cisco IP Video Surveillance Design GuideCisco IP Video Surveillance Design Guide
Cisco IP Video Surveillance Design Guide
Joel W. King
 
Understanding Cisco’s Next Generation SD-WAN Solution with Viptela
Understanding Cisco’s Next Generation SD-WAN Solution with ViptelaUnderstanding Cisco’s Next Generation SD-WAN Solution with Viptela
Understanding Cisco’s Next Generation SD-WAN Solution with Viptela
Cisco Canada
 
API 102: Programming with Meraki APIs
API 102: Programming with Meraki APIsAPI 102: Programming with Meraki APIs
API 102: Programming with Meraki APIs
Joel W. King
 
Top 5 favourite features of Cisco ACI in Pulsant Cloud Data Centres
Top 5 favourite features of Cisco ACI in Pulsant Cloud Data Centres Top 5 favourite features of Cisco ACI in Pulsant Cloud Data Centres
Top 5 favourite features of Cisco ACI in Pulsant Cloud Data Centres
Martin Lipka
 
Aerotek Profile_2016
Aerotek Profile_2016Aerotek Profile_2016
Aerotek Profile_2016
Tom Jacobs
 
Cisco Digital Network Architecture - Introducing the Network Intuitive
Cisco Digital Network Architecture - Introducing the Network IntuitiveCisco Digital Network Architecture - Introducing the Network Intuitive
Cisco Digital Network Architecture - Introducing the Network Intuitive
Cisco Canada
 
WebGoat.SDWAN.Net in Depth: SD-WAN Security Assessment
WebGoat.SDWAN.Net in Depth: SD-WAN Security Assessment WebGoat.SDWAN.Net in Depth: SD-WAN Security Assessment
WebGoat.SDWAN.Net in Depth: SD-WAN Security Assessment
Sergey Gordeychik
 
Software Defined WAN – SD-WAN
Software Defined WAN – SD-WANSoftware Defined WAN – SD-WAN
Software Defined WAN – SD-WAN
MarketingArrowECS_CZ
 
Simplifying the secure data center
Simplifying the secure data centerSimplifying the secure data center
Simplifying the secure data center
Cisco Canada
 

What's hot (20)

TechWiseTV Workshop: APIC-EM
TechWiseTV Workshop: APIC-EMTechWiseTV Workshop: APIC-EM
TechWiseTV Workshop: APIC-EM
 
Reducing Cost with DNA Automation
Reducing Cost with DNA AutomationReducing Cost with DNA Automation
Reducing Cost with DNA Automation
 
Présentation cisco aci in action fundamentals - fcouderc - v6
Présentation cisco aci in action   fundamentals - fcouderc - v6Présentation cisco aci in action   fundamentals - fcouderc - v6
Présentation cisco aci in action fundamentals - fcouderc - v6
 
TechWiseTV Workshop: Catalyst Switching Programmability
TechWiseTV Workshop: Catalyst Switching ProgrammabilityTechWiseTV Workshop: Catalyst Switching Programmability
TechWiseTV Workshop: Catalyst Switching Programmability
 
Cisco ACI for the Microsoft Cloud Platform
Cisco ACI for the Microsoft Cloud PlatformCisco ACI for the Microsoft Cloud Platform
Cisco ACI for the Microsoft Cloud Platform
 
Cisco Connect Toronto 2017 - Introducing the Network Intuitive
Cisco Connect Toronto 2017 - Introducing the Network IntuitiveCisco Connect Toronto 2017 - Introducing the Network Intuitive
Cisco Connect Toronto 2017 - Introducing the Network Intuitive
 
DNA Intelligent WAN Campus Day
DNA Intelligent WAN Campus DayDNA Intelligent WAN Campus Day
DNA Intelligent WAN Campus Day
 
Cisco application infrastracture controller (apic) billyjones
Cisco application infrastracture controller (apic) billyjonesCisco application infrastracture controller (apic) billyjones
Cisco application infrastracture controller (apic) billyjones
 
SDN in the Enterprise
SDN in the EnterpriseSDN in the Enterprise
SDN in the Enterprise
 
Ottawa e-NFV Session
Ottawa e-NFV Session Ottawa e-NFV Session
Ottawa e-NFV Session
 
UCS Management APIs A Technical Deep Dive
UCS Management APIs A Technical Deep DiveUCS Management APIs A Technical Deep Dive
UCS Management APIs A Technical Deep Dive
 
Cisco IP Video Surveillance Design Guide
Cisco IP Video Surveillance Design GuideCisco IP Video Surveillance Design Guide
Cisco IP Video Surveillance Design Guide
 
Understanding Cisco’s Next Generation SD-WAN Solution with Viptela
Understanding Cisco’s Next Generation SD-WAN Solution with ViptelaUnderstanding Cisco’s Next Generation SD-WAN Solution with Viptela
Understanding Cisco’s Next Generation SD-WAN Solution with Viptela
 
API 102: Programming with Meraki APIs
API 102: Programming with Meraki APIsAPI 102: Programming with Meraki APIs
API 102: Programming with Meraki APIs
 
Top 5 favourite features of Cisco ACI in Pulsant Cloud Data Centres
Top 5 favourite features of Cisco ACI in Pulsant Cloud Data Centres Top 5 favourite features of Cisco ACI in Pulsant Cloud Data Centres
Top 5 favourite features of Cisco ACI in Pulsant Cloud Data Centres
 
Aerotek Profile_2016
Aerotek Profile_2016Aerotek Profile_2016
Aerotek Profile_2016
 
Cisco Digital Network Architecture - Introducing the Network Intuitive
Cisco Digital Network Architecture - Introducing the Network IntuitiveCisco Digital Network Architecture - Introducing the Network Intuitive
Cisco Digital Network Architecture - Introducing the Network Intuitive
 
WebGoat.SDWAN.Net in Depth: SD-WAN Security Assessment
WebGoat.SDWAN.Net in Depth: SD-WAN Security Assessment WebGoat.SDWAN.Net in Depth: SD-WAN Security Assessment
WebGoat.SDWAN.Net in Depth: SD-WAN Security Assessment
 
Software Defined WAN – SD-WAN
Software Defined WAN – SD-WANSoftware Defined WAN – SD-WAN
Software Defined WAN – SD-WAN
 
Simplifying the secure data center
Simplifying the secure data centerSimplifying the secure data center
Simplifying the secure data center
 

Viewers also liked

WORKSHOP II: API REST
WORKSHOP II: API RESTWORKSHOP II: API REST
WORKSHOP II: API REST
BEEVA_es
 
API イントロダクション APIC-EM, Prime Infrastructure & CMX
API イントロダクション APIC-EM, Prime Infrastructure & CMXAPI イントロダクション APIC-EM, Prime Infrastructure & CMX
API イントロダクション APIC-EM, Prime Infrastructure & CMX
npsg
 
WORKSHOP I: Introducción a API REST
WORKSHOP I: Introducción a API RESTWORKSHOP I: Introducción a API REST
WORKSHOP I: Introducción a API REST
BEEVA_es
 
Omaxe Celestia Floors Mullanpur | Omaxe Celestia Grand New Chandigarh
Omaxe Celestia Floors Mullanpur | Omaxe Celestia Grand New ChandigarhOmaxe Celestia Floors Mullanpur | Omaxe Celestia Grand New Chandigarh
Omaxe Celestia Floors Mullanpur | Omaxe Celestia Grand New Chandigarh
propertychd
 
Vasant Vihar Homes Derabassi Plots-Brochure
Vasant Vihar Homes Derabassi Plots-BrochureVasant Vihar Homes Derabassi Plots-Brochure
Vasant Vihar Homes Derabassi Plots-Brochure
propertychd
 
How to be happy in life
How to be happy in lifeHow to be happy in life
How to be happy in life
Panacea
 
Group pic analysis
Group pic analysisGroup pic analysis
Group pic analysis
figgie11
 
Unveiling the gray emails: A Closer Look at Emails in the Gray Area
Unveiling the gray emails: A Closer Look at Emails in the Gray AreaUnveiling the gray emails: A Closer Look at Emails in the Gray Area
Unveiling the gray emails: A Closer Look at Emails in the Gray Area
Jelena Isachenkova
 

Viewers also liked (9)

WORKSHOP II: API REST
WORKSHOP II: API RESTWORKSHOP II: API REST
WORKSHOP II: API REST
 
API イントロダクション APIC-EM, Prime Infrastructure & CMX
API イントロダクション APIC-EM, Prime Infrastructure & CMXAPI イントロダクション APIC-EM, Prime Infrastructure & CMX
API イントロダクション APIC-EM, Prime Infrastructure & CMX
 
WORKSHOP I: Introducción a API REST
WORKSHOP I: Introducción a API RESTWORKSHOP I: Introducción a API REST
WORKSHOP I: Introducción a API REST
 
Omaxe Celestia Floors Mullanpur | Omaxe Celestia Grand New Chandigarh
Omaxe Celestia Floors Mullanpur | Omaxe Celestia Grand New ChandigarhOmaxe Celestia Floors Mullanpur | Omaxe Celestia Grand New Chandigarh
Omaxe Celestia Floors Mullanpur | Omaxe Celestia Grand New Chandigarh
 
Vasant Vihar Homes Derabassi Plots-Brochure
Vasant Vihar Homes Derabassi Plots-BrochureVasant Vihar Homes Derabassi Plots-Brochure
Vasant Vihar Homes Derabassi Plots-Brochure
 
How to be happy in life
How to be happy in lifeHow to be happy in life
How to be happy in life
 
คอม
คอมคอม
คอม
 
Group pic analysis
Group pic analysisGroup pic analysis
Group pic analysis
 
Unveiling the gray emails: A Closer Look at Emails in the Gray Area
Unveiling the gray emails: A Closer Look at Emails in the Gray AreaUnveiling the gray emails: A Closer Look at Emails in the Gray Area
Unveiling the gray emails: A Closer Look at Emails in the Gray Area
 

Similar to APIC-EM API Deep Dive

Introduction to the Archivematica API (September 2018)
Introduction to the Archivematica API (September 2018)Introduction to the Archivematica API (September 2018)
Introduction to the Archivematica API (September 2018)
Artefactual Systems - Archivematica
 
Cisco DevNet CREATE 2019 - NetBeez Network Performance API
Cisco DevNet CREATE 2019 - NetBeez Network Performance APICisco DevNet CREATE 2019 - NetBeez Network Performance API
Cisco DevNet CREATE 2019 - NetBeez Network Performance API
NetBeez, Inc.
 
OpenStack API's and WSGI
OpenStack API's and WSGIOpenStack API's and WSGI
OpenStack API's and WSGI
Mike Pittaro
 
Web Scale Reasoning and the LarKC Project
Web Scale Reasoning and the LarKC ProjectWeb Scale Reasoning and the LarKC Project
Web Scale Reasoning and the LarKC Project
Saltlux Inc.
 
(NET301) New Capabilities for Amazon Virtual Private Cloud
(NET301) New Capabilities for Amazon Virtual Private Cloud(NET301) New Capabilities for Amazon Virtual Private Cloud
(NET301) New Capabilities for Amazon Virtual Private Cloud
Amazon Web Services
 
DEVNET-1136 Cisco ONE Enterprise Cloud Suite for Infrastructure Management.
DEVNET-1136	Cisco ONE Enterprise Cloud Suite for Infrastructure Management.DEVNET-1136	Cisco ONE Enterprise Cloud Suite for Infrastructure Management.
DEVNET-1136 Cisco ONE Enterprise Cloud Suite for Infrastructure Management.
Cisco DevNet
 
Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014
Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014
Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014
Rackspace Academy
 
Working with PowerVC via its REST APIs
Working with PowerVC via its REST APIsWorking with PowerVC via its REST APIs
Working with PowerVC via its REST APIs
Joe Cropper
 
Kong API Gateway
Kong API Gateway Kong API Gateway
Kong API Gateway
Chris Mague
 
2018 10-31 modern-http_routing-lisa18
2018 10-31 modern-http_routing-lisa182018 10-31 modern-http_routing-lisa18
2018 10-31 modern-http_routing-lisa18
Sandor Szuecs
 
Session: A Reference Architecture for Running Modern APIs with NGINX Unit and...
Session: A Reference Architecture for Running Modern APIs with NGINX Unit and...Session: A Reference Architecture for Running Modern APIs with NGINX Unit and...
Session: A Reference Architecture for Running Modern APIs with NGINX Unit and...
NGINX, Inc.
 
Cf summit-2016-monitoring-cf-sensu-graphite
Cf summit-2016-monitoring-cf-sensu-graphiteCf summit-2016-monitoring-cf-sensu-graphite
Cf summit-2016-monitoring-cf-sensu-graphite
Jeff Barrows
 
Angular2 inter3
Angular2 inter3Angular2 inter3
Angular2 inter3
Oswald Campesato
 
Video Transcoding at Scale for ABC iview (NDC Sydney)
Video Transcoding at Scale for ABC iview (NDC Sydney)Video Transcoding at Scale for ABC iview (NDC Sydney)
Video Transcoding at Scale for ABC iview (NDC Sydney)
Daphne Chong
 
Behavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using CucumberBehavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using Cucumber
KMS Technology
 
2009 - Basta!: Url rewriting mit iis, asp.net und routing engine
2009 - Basta!: Url rewriting mit iis, asp.net und routing engine2009 - Basta!: Url rewriting mit iis, asp.net und routing engine
2009 - Basta!: Url rewriting mit iis, asp.net und routing engine
Daniel Fisher
 
Introduction no sql solutions with couchbase and .net core
Introduction no sql solutions with couchbase and .net coreIntroduction no sql solutions with couchbase and .net core
Introduction no sql solutions with couchbase and .net core
Baris Ceviz
 
IBM Cloud University: Build, Deploy and Scale Node.js Microservices
IBM Cloud University: Build, Deploy and Scale Node.js MicroservicesIBM Cloud University: Build, Deploy and Scale Node.js Microservices
IBM Cloud University: Build, Deploy and Scale Node.js Microservices
Chris Bailey
 
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교  및 구축 방법[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교  및 구축 방법
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법
Open Source Consulting
 
Sapc upcc-pcrf- part 2 tbp
Sapc upcc-pcrf- part 2 tbpSapc upcc-pcrf- part 2 tbp
Sapc upcc-pcrf- part 2 tbp
Mustafa Golam
 

Similar to APIC-EM API Deep Dive (20)

Introduction to the Archivematica API (September 2018)
Introduction to the Archivematica API (September 2018)Introduction to the Archivematica API (September 2018)
Introduction to the Archivematica API (September 2018)
 
Cisco DevNet CREATE 2019 - NetBeez Network Performance API
Cisco DevNet CREATE 2019 - NetBeez Network Performance APICisco DevNet CREATE 2019 - NetBeez Network Performance API
Cisco DevNet CREATE 2019 - NetBeez Network Performance API
 
OpenStack API's and WSGI
OpenStack API's and WSGIOpenStack API's and WSGI
OpenStack API's and WSGI
 
Web Scale Reasoning and the LarKC Project
Web Scale Reasoning and the LarKC ProjectWeb Scale Reasoning and the LarKC Project
Web Scale Reasoning and the LarKC Project
 
(NET301) New Capabilities for Amazon Virtual Private Cloud
(NET301) New Capabilities for Amazon Virtual Private Cloud(NET301) New Capabilities for Amazon Virtual Private Cloud
(NET301) New Capabilities for Amazon Virtual Private Cloud
 
DEVNET-1136 Cisco ONE Enterprise Cloud Suite for Infrastructure Management.
DEVNET-1136	Cisco ONE Enterprise Cloud Suite for Infrastructure Management.DEVNET-1136	Cisco ONE Enterprise Cloud Suite for Infrastructure Management.
DEVNET-1136 Cisco ONE Enterprise Cloud Suite for Infrastructure Management.
 
Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014
Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014
Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014
 
Working with PowerVC via its REST APIs
Working with PowerVC via its REST APIsWorking with PowerVC via its REST APIs
Working with PowerVC via its REST APIs
 
Kong API Gateway
Kong API Gateway Kong API Gateway
Kong API Gateway
 
2018 10-31 modern-http_routing-lisa18
2018 10-31 modern-http_routing-lisa182018 10-31 modern-http_routing-lisa18
2018 10-31 modern-http_routing-lisa18
 
Session: A Reference Architecture for Running Modern APIs with NGINX Unit and...
Session: A Reference Architecture for Running Modern APIs with NGINX Unit and...Session: A Reference Architecture for Running Modern APIs with NGINX Unit and...
Session: A Reference Architecture for Running Modern APIs with NGINX Unit and...
 
Cf summit-2016-monitoring-cf-sensu-graphite
Cf summit-2016-monitoring-cf-sensu-graphiteCf summit-2016-monitoring-cf-sensu-graphite
Cf summit-2016-monitoring-cf-sensu-graphite
 
Angular2 inter3
Angular2 inter3Angular2 inter3
Angular2 inter3
 
Video Transcoding at Scale for ABC iview (NDC Sydney)
Video Transcoding at Scale for ABC iview (NDC Sydney)Video Transcoding at Scale for ABC iview (NDC Sydney)
Video Transcoding at Scale for ABC iview (NDC Sydney)
 
Behavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using CucumberBehavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using Cucumber
 
2009 - Basta!: Url rewriting mit iis, asp.net und routing engine
2009 - Basta!: Url rewriting mit iis, asp.net und routing engine2009 - Basta!: Url rewriting mit iis, asp.net und routing engine
2009 - Basta!: Url rewriting mit iis, asp.net und routing engine
 
Introduction no sql solutions with couchbase and .net core
Introduction no sql solutions with couchbase and .net coreIntroduction no sql solutions with couchbase and .net core
Introduction no sql solutions with couchbase and .net core
 
IBM Cloud University: Build, Deploy and Scale Node.js Microservices
IBM Cloud University: Build, Deploy and Scale Node.js MicroservicesIBM Cloud University: Build, Deploy and Scale Node.js Microservices
IBM Cloud University: Build, Deploy and Scale Node.js Microservices
 
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교  및 구축 방법[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교  및 구축 방법
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법
 
Sapc upcc-pcrf- part 2 tbp
Sapc upcc-pcrf- part 2 tbpSapc upcc-pcrf- part 2 tbp
Sapc upcc-pcrf- part 2 tbp
 

More from Cisco DevNet

How to Contribute to Ansible
How to Contribute to AnsibleHow to Contribute to Ansible
How to Contribute to Ansible
Cisco DevNet
 
Rome 2017: Building advanced voice assistants and chat bots
Rome 2017: Building advanced voice assistants and chat botsRome 2017: Building advanced voice assistants and chat bots
Rome 2017: Building advanced voice assistants and chat bots
Cisco DevNet
 
How to Build Advanced Voice Assistants and Chatbots
How to Build Advanced Voice Assistants and ChatbotsHow to Build Advanced Voice Assistants and Chatbots
How to Build Advanced Voice Assistants and Chatbots
Cisco DevNet
 
Cisco Spark and Tropo and the Programmable Web
Cisco Spark and Tropo and the Programmable WebCisco Spark and Tropo and the Programmable Web
Cisco Spark and Tropo and the Programmable Web
Cisco DevNet
 
Device Programmability with Cisco Plug-n-Play Solution
Device Programmability with Cisco Plug-n-Play SolutionDevice Programmability with Cisco Plug-n-Play Solution
Device Programmability with Cisco Plug-n-Play Solution
Cisco DevNet
 
Building a WiFi Hotspot with NodeJS: Cisco Meraki - ExCap API
Building a WiFi Hotspot with NodeJS: Cisco Meraki - ExCap APIBuilding a WiFi Hotspot with NodeJS: Cisco Meraki - ExCap API
Building a WiFi Hotspot with NodeJS: Cisco Meraki - ExCap API
Cisco DevNet
 
Application Visibility and Experience through Flexible Netflow
Application Visibility and Experience through Flexible NetflowApplication Visibility and Experience through Flexible Netflow
Application Visibility and Experience through Flexible Netflow
Cisco DevNet
 
WAN Automation Engine API Deep Dive
WAN Automation Engine API Deep DiveWAN Automation Engine API Deep Dive
WAN Automation Engine API Deep Dive
Cisco DevNet
 
Cisco's Open Device Programmability Strategy: Open Discussion
Cisco's Open Device Programmability Strategy: Open DiscussionCisco's Open Device Programmability Strategy: Open Discussion
Cisco's Open Device Programmability Strategy: Open Discussion
Cisco DevNet
 
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)
Cisco DevNet
 
NETCONF & YANG Enablement of Network Devices
NETCONF & YANG Enablement of Network DevicesNETCONF & YANG Enablement of Network Devices
NETCONF & YANG Enablement of Network Devices
Cisco DevNet
 
OpenStack Enabling DevOps
OpenStack Enabling DevOpsOpenStack Enabling DevOps
OpenStack Enabling DevOps
Cisco DevNet
 
NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...
NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...
NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...
Cisco DevNet
 
Getting Started: Developing Tropo Applications
Getting Started: Developing Tropo ApplicationsGetting Started: Developing Tropo Applications
Getting Started: Developing Tropo Applications
Cisco DevNet
 
Cisco Spark & Tropo API Workshop
Cisco Spark & Tropo API WorkshopCisco Spark & Tropo API Workshop
Cisco Spark & Tropo API Workshop
Cisco DevNet
 
Coding 102 REST API Basics Using Spark
Coding 102 REST API Basics Using SparkCoding 102 REST API Basics Using Spark
Coding 102 REST API Basics Using Spark
Cisco DevNet
 
Cisco APIs: An Interactive Assistant for the Web2Day Developer Conference
Cisco APIs: An Interactive Assistant for the Web2Day Developer ConferenceCisco APIs: An Interactive Assistant for the Web2Day Developer Conference
Cisco APIs: An Interactive Assistant for the Web2Day Developer Conference
Cisco DevNet
 
DevNet Express - Spark & Tropo API - Lisbon May 2016
DevNet Express - Spark & Tropo API - Lisbon May 2016DevNet Express - Spark & Tropo API - Lisbon May 2016
DevNet Express - Spark & Tropo API - Lisbon May 2016
Cisco DevNet
 
DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016
DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016
DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016
Cisco DevNet
 
Choosing PaaS: Cisco and Open Source Options: an overview
Choosing PaaS:  Cisco and Open Source Options: an overviewChoosing PaaS:  Cisco and Open Source Options: an overview
Choosing PaaS: Cisco and Open Source Options: an overview
Cisco DevNet
 

More from Cisco DevNet (20)

How to Contribute to Ansible
How to Contribute to AnsibleHow to Contribute to Ansible
How to Contribute to Ansible
 
Rome 2017: Building advanced voice assistants and chat bots
Rome 2017: Building advanced voice assistants and chat botsRome 2017: Building advanced voice assistants and chat bots
Rome 2017: Building advanced voice assistants and chat bots
 
How to Build Advanced Voice Assistants and Chatbots
How to Build Advanced Voice Assistants and ChatbotsHow to Build Advanced Voice Assistants and Chatbots
How to Build Advanced Voice Assistants and Chatbots
 
Cisco Spark and Tropo and the Programmable Web
Cisco Spark and Tropo and the Programmable WebCisco Spark and Tropo and the Programmable Web
Cisco Spark and Tropo and the Programmable Web
 
Device Programmability with Cisco Plug-n-Play Solution
Device Programmability with Cisco Plug-n-Play SolutionDevice Programmability with Cisco Plug-n-Play Solution
Device Programmability with Cisco Plug-n-Play Solution
 
Building a WiFi Hotspot with NodeJS: Cisco Meraki - ExCap API
Building a WiFi Hotspot with NodeJS: Cisco Meraki - ExCap APIBuilding a WiFi Hotspot with NodeJS: Cisco Meraki - ExCap API
Building a WiFi Hotspot with NodeJS: Cisco Meraki - ExCap API
 
Application Visibility and Experience through Flexible Netflow
Application Visibility and Experience through Flexible NetflowApplication Visibility and Experience through Flexible Netflow
Application Visibility and Experience through Flexible Netflow
 
WAN Automation Engine API Deep Dive
WAN Automation Engine API Deep DiveWAN Automation Engine API Deep Dive
WAN Automation Engine API Deep Dive
 
Cisco's Open Device Programmability Strategy: Open Discussion
Cisco's Open Device Programmability Strategy: Open DiscussionCisco's Open Device Programmability Strategy: Open Discussion
Cisco's Open Device Programmability Strategy: Open Discussion
 
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)
 
NETCONF & YANG Enablement of Network Devices
NETCONF & YANG Enablement of Network DevicesNETCONF & YANG Enablement of Network Devices
NETCONF & YANG Enablement of Network Devices
 
OpenStack Enabling DevOps
OpenStack Enabling DevOpsOpenStack Enabling DevOps
OpenStack Enabling DevOps
 
NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...
NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...
NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...
 
Getting Started: Developing Tropo Applications
Getting Started: Developing Tropo ApplicationsGetting Started: Developing Tropo Applications
Getting Started: Developing Tropo Applications
 
Cisco Spark & Tropo API Workshop
Cisco Spark & Tropo API WorkshopCisco Spark & Tropo API Workshop
Cisco Spark & Tropo API Workshop
 
Coding 102 REST API Basics Using Spark
Coding 102 REST API Basics Using SparkCoding 102 REST API Basics Using Spark
Coding 102 REST API Basics Using Spark
 
Cisco APIs: An Interactive Assistant for the Web2Day Developer Conference
Cisco APIs: An Interactive Assistant for the Web2Day Developer ConferenceCisco APIs: An Interactive Assistant for the Web2Day Developer Conference
Cisco APIs: An Interactive Assistant for the Web2Day Developer Conference
 
DevNet Express - Spark & Tropo API - Lisbon May 2016
DevNet Express - Spark & Tropo API - Lisbon May 2016DevNet Express - Spark & Tropo API - Lisbon May 2016
DevNet Express - Spark & Tropo API - Lisbon May 2016
 
DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016
DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016
DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016
 
Choosing PaaS: Cisco and Open Source Options: an overview
Choosing PaaS:  Cisco and Open Source Options: an overviewChoosing PaaS:  Cisco and Open Source Options: an overview
Choosing PaaS: Cisco and Open Source Options: an overview
 

Recently uploaded

Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
Zilliz
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 

Recently uploaded (20)

Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 

APIC-EM API Deep Dive

  • 1.
  • 2. APIC-EM API Deep Dive DevNet-1093 Adam Radford Distinguished Systems Engineer
  • 3. • Introduction • Tools • Authentication/Getting Started • Inventory/Topology • PnP • IWAN • Policy – QoS – Dynamic QoS Agenda
  • 4.
  • 5.
  • 6. ` APIC-EM - Platform Architecture Network PnP Network InventoryPath TraceIWAN Advanced Topology Visualizer APIC-EM Applications APIC-EM Controller Northbound REST APIs APIC-EM Services Grapevine Inventory Manager RBAC Policy Analysis Policy Programmer Network PnP Data Access Service Topology Services IWAN Services Elastic Service Infrastructure APIC-EM Applications APIC-EM Services Addresses Scale Out and HA Requirements
  • 11. Postman (now with JetPacks free) 11 Noun verb Body - JSON (with variables)
  • 14. Roles Based Access Control 14 Three Roles Today Scope is for future use
  • 15. Getting a Ticket 15 https://adam-iwan:443/api/v1/ticket POST (need Content-Type header) { "username":"admin", "password":"secrete" } { "response": { "serviceTicket": "ST-2-e7PF7jy6GJ43JEhmCbKi-cas" }, "version": "0.0" }
  • 19. Network-device https://sandboxapic.cisco.com:9443/api/v1/network-device GET { "family": "Switches and Hubs", "location": "e53d2525-6071-439b-b16d-17f92205a52b", "type": "Cisco Catalyst 3850-48U-E Switch", "serialNumber": "FOC1703V36B", "role": "ACCESS", "macAddress": "f0:29:29:5c:30:e2", "softwareVersion": "03.03.00.SE", "upTime": "12 days, 0:18:10.78", "hostname": "CAMPUS-Access1", "tagCount": "3", "lastUpdated": "2015-10-28 21:44:50.936", "locationName": "San Jose, CA", "roleSource": "MANUAL", "collectionStatus": "Managed", "interfaceCount": "62", "lineCardCount": "18", "series": "Cisco Catalyst 3850 Series Ethernet Stackable Switch", "apManagerInterfaceIp": "", "bootDateTime": "2015-10-16 21:23:36.065", "instanceUuid": "93a73198-850b-4002-bbf3-a224befae61d", "id": "93a73198-850b-4002-bbf3-a224befae61d "lineCardId": "6124970f-f0e8-42b9-9a3c-b3180b314729, 4066a0e5-c8ef-47dd-8db9-5bc8c11e3aab, 64e78af1-c910-4e79- 8320-ffd6f97c3192, 1ed983ae-956c-45c8-ab0b-a0fa92e2b129, aeb9c8ae-573c-4d53-9f3e-6333071a9a39, b50fffb8-4841-4e02- 948e-85fa0c0c1a60, 1e14c576-07f3-4bb6-a1d7-4e65821534ea, dc6d6fd4-8c03-45e0-96d5-dedd199fac9d, 2e543e11-71e0-4b6f- ac1a-be4afdcc4910, d83e1785-7e1c-4143-b075-decfc13caa63, 16635b81-2dba-4eed-9303-9f9fe7353e8b, 5943da96-5aeb-40f3- 85b1-ff39ffa64b14, 77d9ca1c-ce5c-4be0-8beb-d8ec3246d6bc, 5b11cd8d-1801-42b5-ab38-521171f70d0e, e763c72c-7633-4b14- 9184-87832c4c1c4d, 9ad4a2ed-a518-44a5-aa43-b3f63966dc19, d304ce80-02f6-4916-805c-65a60ba00f3e, abd72d26-f078-479e- a477-decdb259f4c9", "managementIpAddress": "212.1.10.1", "memorySize": "536870912", "platformId": "WS-C3850-48U", "reachabilityFailureReason": "Completed", "reachabilityStatus": "Reachable", "snmpContact": "", "snmpLocation": "", "tunnelUdpPort": null,
  • 20. Host https://sandboxapic.cisco.com:9443/api/v1/host?limit=100&offset=1 GET {"id": "8c989306-818e-488f-9974-1476be6ca7b5", "hostIp": "212.1.10.20", "hostMac": "5c:f9:dd:52:07:78", "hostType": "wired", "connectedNetworkDeviceId": "93a73198-850b-4002-bbf3-a224befae61d", "connectedNetworkDeviceIpAddress": "212.1.10.1", "connectedInterfaceId": "0c429f3d-776d-40c6-96b1-17f460545764", "connectedInterfaceName": "GigabitEthernet1/0/47", "vlanId": "200", "lastUpdated": "1446068511023", "source": "200"}
  • 22. Topology https://sandboxapic.cisco.com:9443/api/v1/topology/physical-topology GET { "deviceType": "wired", "label": "212.1.10.20", "ip": "212.1.10.20", "nodeType": "HOST", "family": "WIRED", "role": "HOST", "customParam":{}, "id": "8c989306-818e-488f-9974-1476be6ca7b5" } { "deviceType": "Cisco Catalyst 3850-48U-E Switch", "label": "CAMPUS-Access1", "ip": "212.1.10.1", "softwareVersion": "03.03.00.SE", "nodeType": "device", "family": "Switches and Hubs", "platformId": "WS-C3850-48U", "tags":["Company-ABC", "Campus-Site", "POC-Site"], "role": "ACCESS", "roleSource": "MANUAL", "customParam":{}, "id": "93a73198-850b-4002-bbf3-a224befae61d" } Nodes[]
  • 23. Topology https://sandboxapic.cisco.com:9443/api/v1/topology/physical-topology GET { "source": "93a73198-850b-4002-bbf3-a224befae61d", "startPortID": "0c429f3d-776d-40c6-96b1-17f460545764", "target": "8c989306-818e-488f-9974-1476be6ca7b5", "linkStatus": "UP" }, /host/8c989306-818e-488f-9974- 1476be6ca7b5 network-device/93a73198-850b-4002-bbf3- a224befae61d interface/0c429f3d-776d-40c6-96b1-17f460545764 links[] {"source": "93a73198-850b-4002-bbf3-a224befae61d", "startPortID": "ea919b9d-cf40-41b9-83bc-42e1ea07806e", "startPortName": "GigabitEthernet1/0/1", "startPortSpeed": "1000000", "target": "b3aa8311-62f5-44a3-b432-fa857324f447", "endPortID": "07132e28-404b-4335-8682-28fd294c06cf", "endPortName": "GigabitEthernet5/5", "endPortSpeed": "1000000", "linkStatus": "up", "id": "60067"},
  • 26. Path Trace 26 https://sandboxapic.cisco.com:9443/api/v1/flow-analysis POST { "sourceIP" : "65.1.1.83", "destIP" : "212.1.10.20" } { "response": { "taskId": "c7896f2e-ee65-40c7-8213-a32e314eceb2", "url": "/api/v1/task/c7896f2e-ee65-40c7-8213-a32e314eceb2" }, "version": "1.0" }
  • 27. Path Trace – get TASK 27 https://sandboxapic.cisco.com:9443/api/v1/task/c7896f2e-ee65-40c7-8213-a32e314eceb2 GET { "response": { "progress": "9238c613-b5cc-4db5-b7df-bb1c1eca6306", "version": 1454732293035, "startTime": 1454732293035, "endTime": 1454732294870, "serviceType": "Policy Analysis Service", "rootId": "c7896f2e-ee65-40c7-8213-a32e314eceb2", "isError": false, "id": "c7896f2e-ee65-40c7-8213-a32e314eceb2" }, "version": "1.0" }
  • 28. Path Trace – get result 28 https://sandboxapic.cisco.com:9443/api/v1/flow-analysis/9238c613-b5cc-4db5-b7df-bb1c1eca6306 GET { "response": { "request": { "sourceIP": "65.1.1.83","destIP": "212.1.10.20" }, "lastUpdate": "Sat Feb 06 04:18:14 UTC 2016", "properties": [], "networkElementsInfo": [ { "id": "cf05d21e-29bc-4b9d-8a32-12f7877a8355", "type": "wireless", "ip": "65.1.1.83", "linkInformationSource": "Switched" }, { "id": "0a15fd77-44ba-4858-b3b1-0df37c4328e0", "name": "AP7081.059f.19ca", "type": "Unified AP", "ip": "55.1.1.3", "role": "ACCESS", "linkInformationSource": "Switched", "tunnels": [ "CAPWAP Tunnel" ] }, { "id": "93a73198-850b-4002-bbf3-a224befae61d", "name": "CAMPUS-Access1", "type": "Switches and Hubs", "ip": "212.1.10.1", "ingressInterface": { "physicalInterface": { "id": "101550de-e72c-4071-81f7-3e2f4f3fbf62", "name": "GigabitEthernet1/0/26" } }, "egressInterface": { "physicalInterface": { "id": "ea919b9d-cf40-41b9-83bc-42e1ea07806e", "name": "GigabitEthernet1/0/1" } }, "role": "ACCESS", "linkInformationSource": "Switched", "tunnels": [ "CAPWAP Tunnel" ] },
  • 29. PnP
  • 30. 5 apps that use the PNP API today • APIC-EM GUI • IWAN App in APIC-EM • Mobile PnP App (android/iphone) • Prime Infrastructure (3.x) • ESA 30
  • 33. File upload 33 No Content-type : application/json
  • 34. Get List of Config files 34 https://sandboxapic.cisco.com:9443/api/v1/file/namespace/config GET { "response": [ { "nameSpace": "config", "name": "README.md", "downloadPath": "/file/a95f7952-7eee-40cc-8664-d1abfa560611", "fileSize": "2174", "fileFormat": "text/x-markdown", "md5Checksum": "ae20d2b1ca4302e2bd7d9d3b2bfca907", "sha1Checksum": "888b09e200c9e25e13e563df10e7a101a959e648", "id": "a95f7952-7eee-40cc-8664-d1abfa560611" } ], "version": "1.0"}
  • 35. Create a Project 35 https://sandboxapic.cisco.com:9443/api/v1/pnp-project POST [{"siteName": "Sydney"}] { "response": { "taskId": "49f44442-9808-4341-98b7-be65c8b7197d", "url": "/api/v1/task/49f44442-9808-4341-98b7-be65c8b7197d" }, "version": "1.0" }
  • 36. Look at the Task 36 https://sandboxapic.cisco.com:9443/api/v1/task/49f44442-9808-4341-98b7-be65c8b7197d GET { "response": { "progress": "{"message":"Success creating new site","siteId":"91bf82f8-99b3-4908-9145-19a435ee86e8"}", "version": 1454811170949, "startTime": 1454811170949, "endTime": 1454811170969, "serviceType": "Ztd Service", "rootId": "49f44442-9808-4341-98b7-be65c8b7197d", "isError": false, "id": "49f44442-9808-4341-98b7-be65c8b7197d" }, "version": "1.0" }
  • 37. GET list of projects 37 https://sandboxapic.cisco.com:9443/api/v1/pnp-project GET { "response": [ { "state": "PRE_PROVISIONED", "siteName": "Sydney", "deviceCount": 0, "pendingDeviceCount": 0, "provisionedBy": "admin", "provisionedOn": "2016-02-07 02:12:50.949", "id": "91bf82f8-99b3-4908-9145-19a435ee86e8" } ], "version": "1.0" }
  • 38. Create a project rule 38 https://sandboxapic.cisco.com:9443/api/v1/pnp-project/91bf82f8-99b3-4908-9145-19a435ee86e8/device POST [{ "serialNumber": "12345678901", "platformId": "C2960X", "hostName": "syd-sw1", "pkiEnabled": true }] { "response": { "taskId": "81689911-1eb4-4bf9-a98a-cb0e23be49d1", "url": "/api/v1/task/81689911-1eb4-4bf9-a98a-cb0e23be49d1" }, "version": "1.0" }
  • 39. Mobile App – create a rule with no serial number 39
  • 40. Look at the Task 40 https://sandboxapic.cisco.com:9443/api/v1/task/81689911-1eb4-4bf9-a98a-cb0e23be49d1 GET { "response": { "progress": "{"message":"Success creating new site device(rule)","ruleId":"a0ec4fe5-ba3b-49ef-8ff4- ac5b41f7c0cd"}", "version": 1454811570096, "startTime": 1454811570096, "endTime": 1454811570163, "serviceType": "Ztd Service", "rootId": "81689911-1eb4-4bf9-a98a-cb0e23be49d1", "isError": false, "id": "81689911-1eb4-4bf9-a98a-cb0e23be49d1" }, "version": "1.0"
  • 41. GET list of project rules 41 https://sandboxapic.cisco.com:9443/api/v1/pnp-project/91bf82f8-99b3-4908-9145-19a435ee86e8/device GET {"response": [{ "hostName": "syd-sw1", "platformId": "C2960X", "serialNumber": "12345678901", "site": "Sydney", "pkiEnabled": true, "sudiRequired": false, "apCount": "0", "isMobilityController": "false", "state": "PENDING", "stateDisplay": "Pending", <contined next page> <continuation> "authStatus": { "type": "Unknown", "status": "None", "errorMessage": null, "timestamp": 1454811700178, "certInfo": null }, "attributeInfo": {}, "id": "a0ec4fe5-ba3b-49ef-8ff4-ac5b41f7c0cd" }], "version": "1.0" }
  • 42. DELETE project (and rules) 42 https://sandboxapic.cisco.com:9443/api/v1/pnp-project/91bf82f8-99b3-4908-9145-19a435ee86e8 deleteRule=1&deleteDevice=1 DELETE { "response": { "taskId": "cd9d7e8a-78a8-4512-a905-14671a23d535", "url": "/api/v1/task/cd9d7e8a-78a8-4512-a905-14671a23d535" }, "version": "1.0" }
  • 43. Look at the Task 43 https://sandboxapic.cisco.com:9443/api/v1/task/cd9d7e8a-78a8-4512-a905-14671a23d535 GET { "response": { "progress": "Success Deleting ZTD Site: id# 91bf82f8-99b3-4908-9145-19a435ee86e8", "version": 1454812176855, "startTime": 1454812176855, "endTime": 1454812176907, "serviceType": "Ztd Service", "rootId": "cd9d7e8a-78a8-4512-a905-14671a23d535", "isError": false, "id": "cd9d7e8a-78a8-4512-a905-14671a23d535" }, "version": "1.0" }
  • 45. GET unclaimed devices 45 https://adam-iwan/api/v1/pnp-device?state=UNCLAIMED&matchDeviceState=true GET [{"platformId": "WS-C3650-48PQ", "hostName": "Switch", "bootVariable": "flash:packages.conf", "id": "02b0adcf-dd6b-4945-a703-44b5b0bc187e", "configReg": "0x102", "pnpProfileUsedAddr": "10.10.10.140", "state": "UNCLAIMED", "pnpProfileAutoCreated": true, "unclaimedHint": "new-device", "deviceDetailsLastUpdate": "2016-02-07 04:11:24", "lastStateTransitionTime": "2016-02-07 04:11:25", "firstContact": "2016-02-07 04:06:05.000906", "versionCompatible": "supported", "attributeInfo": {}, "topologyInfo": "neighborLink: Local Interface=null Local MacAddress=6c41.6a0d.e781 Remote Interface=null Remote MacAddress=7c95.f3bd.2a05 Remote DeviceName=null Remote Platform=null;n", "imageFile": "flash:packages.conf", "versionString": "15.2(2)E3", <continuation> "pkiEnabled": true, "stateDisplay": "Unclaimed", "returnToRomReason": "reload", "serialNumber": "FDO1732Q00B", "sudiRequired": false, "filesystemInfo": "fileSystem: name=crashinfo type=disk size=248354816 freespace=248353792;n", "certificateNeededState": "NULL_STATE", "mainMemSize": "0", "authStatus": { "status": "Unsupported", "timestamp": 1454818039783, "errorMessage": null, "type": "Unsupported", "certInfo": null }, "lastContact": "2016-02-07 04:11:25.000051", "ipAddress": "10.10.14.4", "isMobilityController": "false" },
  • 46. Claim a device -- PUT 46 https://sandboxapic.cisco.com:9443/api/v1/pnp-device PUT [{ "state" : "START_PROVISIONING", "id" : "02b0adcf-dd6b-4945-a703-44b5b0bc187e", "pkiEnabled" : true, "configId" : "ac828621-dd47-4201-856d-be605413f33b" }] { "response": { "taskId": "d8502137-5d2b-4e81-a0e6-e0e71a07abc9", "url": "/api/v1/task/d8502137-5d2b-4e81-a0e6-e0e71a07abc9" }, "version": "1.0" } Even though "pkiEnable is true by default, need to set this is want device certificate to be provisioned
  • 47. Look at the Task 47 https://adam-iwan/api/v1/task/d8502137-5d2b-4e81-a0e6-e0e71a07abc9 GET { "response": { "progress": "Success Updating Device: id# 02b0adcf-dd6b-4945-a703-44b5b0bc187e", "startTime": 1454819475470, "endTime": 1454819475594, "version": 1454819475470, "serviceType": "Ztd Service", "rootId": "d8502137-5d2b-4e81-a0e6-e0e71a07abc9", "isError": false, "id": "d8502137-5d2b-4e81-a0e6-e0e71a07abc9" }, "version": "1.0" }
  • 48. State changes 48 ./watch_provision.py FDO1732Q00B Watching unclaimed for serial:FDO1732Q00B 19:49:35: Duration (0) Unclaimed 19:49:43: Duration (9) Waiting for Resource 19:50:02: Duration (28) Start Provisioning 19:51:08: Duration (94) Deploying Device Certificate 19:52:09: Duration (155) Deploying Config 19:54:09: Duration (275) Provisioned 19:54:09: Completed (275): PROVISIONED
  • 49. GET provisioned device 49 https://adam-iwan/api/v1/pnp-device?serialNumber=FDO1732Q00B GET [{"platformId": "WS-C3650-48PQ", "hostName": "3650-dhcp", "bootVariable": "flash:packages.conf", "id": "02b0adcf-dd6b-4945-a703-44b5b0bc187e", "configId": "ac828621-dd47-4201-856d- be605413f33b", "configReg": "0x102", "pnpProfileUsedAddr": "10.10.10.140", "unclaimedHint": "new-device", "pnpProfileAutoCreated": true, "state": "PROVISIONED", "provisioningType": "new-device-adhoc", "deviceDetailsLastUpdate": "2016-02-07 04:31:39", "lastStateTransitionTime": "2016-02-07 04:34:46", "firstContact": "2016-02-07 04:06:05.000906", "versionCompatible": "supported", "attributeInfo": {}, "topologyInfo": "neighborLink: Local Interface=null Local MacAddress=6c41.6a0d.e781 Remote Interface=null Remote MacAddress=7c95.f3bd.2a05 Remote DeviceName=null Remote Platform=null;n", <continuation> "imageFile": "flash:packages.conf", "versionString": "15.2(2)E3", "apCount": "0", "pkiEnabled": false, "stateDisplay": "Provisioned", "returnToRomReason": "reload", "serialNumber": "FDO1732Q00B", "sudiRequired": false, "filesystemInfo": "fileSystem: name=crashinfo type=disk size=248354816 freespace=248353792;n", "certificateNeededState": "NULL_STATE", "mainMemSize": "0", "authStatus": {"status": "Unsupported", "timestamp": 1454818039783, "errorMessage": null, "type": "Unsupported", "certInfo": null}, "isMobilityController": "false", "ipAddress": "10.10.14.4", "lastContact": "2016-02-07 04:34:46.000425" }
  • 50. UI 50
  • 51. Iwan
  • 53. Policy Construct - IWAN /relevance/category /application /policy
  • 54. GET Policy 54 https://adam-iwan/api/v1/policy/323476c2-07d7-4065-9d01-151dfd01822f GET {"policyName": "email", "instanceUuid": "323476c2-07d7-4065-9d01-151dfd01822f", "resource": { "categories": [ { "id": "07675131-e383-4e80-97a2-9ec503b9f6a4", "name": "email" }] }, "actions": [ "SET_PROPERTY"], "state": "Active", "taskId": "f861eb13-26ad-4911-90f1-76112a58a6df", "scope": "GLOBAL", "actionProperty": { "pathControlFlag": true, "PrimaryPathPref": [ "mpls"], "SecondaryPathPref": [ "interne"], "pathPreferenceFlag": true, "relevanceLevel": "Business-Critical" }, "id": "323476c2-07d7-4065-9d01-151dfd01822f" }
  • 55. PUT Policy 55 https://adam-iwan/api/v1/policy/ PUT [{"policyName": "email", "instanceUuid": "323476c2-07d7-4065-9d01-151dfd01822f", "resource": { "categories": [ { "id": "07675131-e383-4e80-97a2-9ec503b9f6a4", "name": "email" }] }, "actions": [ "SET_PROPERTY"], "state": "Active", "taskId": "f861eb13-26ad-4911-90f1-76112a58a6df", "scope": "GLOBAL", "actionProperty": { "pathControlFlag": true, "PrimaryPathPref": [ "mpls"], "SecondaryPathPref": [ "interne"], "pathPreferenceFlag": true, "relevanceLevel": "Default" }, "id": "323476c2-07d7-4065-9d01-151dfd01822f" }]
  • 56. Get Task 56 https://adam-iwan/api/v1/task/b58dae3a-2702-4160-a6ef-5517c54af36c GET { "rootId": "b58dae3a-2702-4160-a6ef-5517c54af36c", "serviceType": "Policy Service", "id": "b58dae3a-2702-4160-a6ef-5517c54af36c", "operationIdList": [ "b3e9423c-ffa5-4869-a0db-6321310848d5" ], "version": 1454836724342, "startTime": 1454836724341, "endTime": 1454836732262, "isError": false }
  • 57. UI 57
  • 58. Get Policy count 58 https://adam-iwan/api/v1/policy/count GET { "response": 23, "version": "1.0" }
  • 59. Categories 59 https://adam-iwan/api/v1/category GET [{ "id": "03326c93-6169-46c6-8b8b-5da0a6689e83", "name": "voice-and-video" }, { "id": "07675131-e383-4e80-97a2-9ec503b9f6a4", "name": "email" }, { "id": "11d04044-74c6-4e9c-9f6a-fffa8c8bcf78", "name": "business-and-productivity-tools" }, { "id": "170f7fba-a098-4b6f-8f63-83cfb7135be6", "name": "inter-process-rpc" }, { "id": "267f0bda-e545-4bc8-825f-13df9b1ded26", "name": "backup-and-storage" }, { "id": "3c5478e6-46cc-4417-a2e4-61b9109504a6", "name": "software-updates" }, <continued>
  • 60. Applications in Category 60 https://adam-iwan/api/v1/application?categoryId=07675131-e383-4e80-97a2-9ec503b9f6a4 GET [{ "pfrThresholdOneWayDelay": 100, "tcpPorts": "143,220", "encrypted": "false", "references": "http://tools.ietf.org/html/rfc3501", "udpPorts": "143,220", "pfrThresholdJitter": 1, "applicationGroup": "imap-group", "pfrThresholdJitterPriority": 3, "category": "email", "instanceUuid": "1ba5312a-892e-4d59-b0c3- f403342766d6", "subCategory": "enterprise-transactional-apps", "pfrThresholdLossRate": 5, "helpString": "Internet Mail Access Protocol", "id": "1ba5312a-892e-4d59-b0c3-f403342766d6", "pfrThresholdLossRatePriority": 2, "indicativeUdpPorts": "143,220", "categoryId": "07675131-e383-4e80-97a2-9ec503b9f6a4", "nbarId": "17", "p2pTechnology": "false", "appProtocol": "tcp/udp", <continued> "longDescription": "Internet Message Access protocol (IMAP) allows users to acess their email servers and to receive and send emails. The protocol simulates a local use when in fact it is a connection to a server. An IMAP server usually listens on port 143.", "pfrThresholdOneWayDelayPriority": 1, "name": "imap", "globalId": "L4:143", "tunnel": "false", "popularity": 9, "enabled": "true", "trafficClass": "BULK_DATA", "indicativeTcpPorts": "143,220", "selectorId": "143", "engineId": "3" },
  • 64. Easy QoS -tags 64 https://ga-1/api/v1/policy/tag GET { "response": { "policyTags": [ "New-York-Branch", "Chicago-Campus", "San-Francisco-Branch" ] }, "version": "1.0" }
  • 65. Easy QoS –tag Association 65 https://ga-1/api/v1/policy/tag/association GET { "response": [ { "policyTag": "New-York-Branch", "networkDeviceIds": [ "69d11938-f1b6-40b5-a81c-12d19ed728b9", "b657086d-63a3-4052-bdbb-33d9638bec8b", "1cba8dd8-877b-466e-8e2d-9db83bd1c451" ] },{ "policyTag": "Chicago-Campus", "networkDeviceIds": [ "601d6cb7-a254-45cd-bb28-3193f7fc7e78", "acb3f02c-3101-478b-abed-0cba2d827c75", "0a4de2ea-23e4-4c01-a7b8-394b156c69e6", "fcd91e8e-c7ab-4e4e-87e1-aa87fa8b8756", "fbadfdb7-53b3-48c7-80fd-b06d8aac808d", "bea293d2-2b48-448a-9c2d-92074309151e", "13062fd6-4eb4-44be-b646-684015440b66", "2ac6c4f7-8975-4830-a03b-9dfe7448054a" ] }, <CONTINUED> { "policyTag": "San-Francisco-Branch", "networkDeviceIds": [ "f2a2c29c-ed9d-48ef-aab7-fa81c3035126", "219b0443-08e6-4bd6-a15c-74d9ea965ba2" ] } ], "version": "1.0" }
  • 66. Easy QoS - Relvance 66 https://ga-1/api/v1/relvance GET { "response": [ "Default", "Business-Irrelevant", "Business-Relevant" ], "version": "1.0" }
  • 67. Easy QoS – Specific Policy 67 https://ga-1/api/v1/policy/e0bd599a-2bfb-48b0-862e-dc11549c9dd8 GET { "policyName": "Enterprise-SanFran-QOS", "policyPriority": 4095, "policyScope": "San-Francisco-Branch", "resource": { "applications": [ { "id": "6fcf0f08-ad86-44bb-bffd-3eb946d5c749", "appName": "groove" },{ "id": "7172a1d9-b1eb-4629-9e3c-47ab5570882e", "appName": "streamwork" },{ "id": "6f509514-73a5-4486-a59e-499e4b5fc141", "appName": "secure-http" },{ "id": "77bfc7f7-da7d-40dd-a0d2-328a03905acb", "appName": "ripng" },{ "id": "708743aa-5033-4497-b1d5-a7d68eab157d", "appName": "xdmcp" } ]}, "actions": [ "SET_PROPERTY" ], "state": "Active", "taskId": "302da30f-11b7-438b-be58-00f51c703d9f", "instanceUuid": "e0bd599a-2bfb-48b0-862e-dc11549c9dd8", "actionProperty": { "pathControlFlag": false, "pathPreferenceFlag": false, "relevanceLevel": "Business-Relevant" }, "id": "e0bd599a-2bfb-48b0-862e-dc11549c9dd8" }
  • 68. Easy QoS – Specific Policy Task 68 https://ga-1/api/v1/task/302da30f-11b7-438b-be58-00f51c703d9f GET { "rootId": "302da30f-11b7-438b-be58-00f51c703d9f", "serviceType": "Policy Service", "version": 1454515356826, "id": "302da30f-11b7-438b-be58-00f51c703d9f", "operationIdList": [ "4e3a182f-e583-441b-bc69-a25b3169d0b3" ], "startTime": 1454515356826, "endTime": 1454515357098, "isError": false }
  • 69. Current Differences between IWAN and EQ Policy 69 IWAN EasyQoS Scope Global (until May) Tag based Relevance Categorization Per Application Category Per Application Devices Supported Routers – IWAN deployed Routers/switches/WL AN Dynamic Policy NA Yes, Voice, Video
  • 70. Dynamic QoS 70 Dynamic QoS Enabled Dynamic QoS Policies
  • 71. Dynamic QoS 71 https://ga-1/api/v1/policy/flow POST { "sourceIP" : "172.28.97.54", "destIP" : "10.10.10.51", "sourcePort" : "30952", "destPort" : "22754", "protocol" : "tcp", "flowType" : "VOICE", "averageBandwidth": "64", "peakBandwidth": "64", "qosClassName": "conversational.audio.avconf.aq", "appId": "e40d4836-45aa-39b2-e46b-84018b289e15", "codec": "g.711u" } https://ga-1/api/v1/task/5a8b0c01-b944-4ea5-aa66- 7f9c44dafc37 GET { "response": { "progress": "3c24b97b-c417-4a49-adcc-870209b81fcd", "startTime": 1455440014855, "endTime": 1455440014858, "version": 1455440014855, "serviceType": "Policy Service", "isError": false, "operationIdList": [ "4441f491-ab3b-41eb-a382-c9e6ef4ff6f5" ], "rootId": "5a8b0c01-b944-4ea5-aa66-7f9c44dafc37", "id": "5a8b0c01-b944-4ea5-aa66-7f9c44dafc37" }, "version": "1.0" }
  • 72. Dynamic Policy 72 https://ga-1/api/v1/policy/flow GET "response": [ { "id": "3c24b97b-c417-4a49-adcc-870209b81fcd", "sourceIP": "172.28.97.54", "destIP": "10.10.10.51", "sourcePort": "30952", "destPort": "22754", "protocol": "tcp", "flowType": "VOICE", "averageBandwidth": "64", "peakBandwidth": "64", "codec": "g.711u", "status": "CONFIG_ADD_SUCCESS" } ]
  • 73. Delete Dynamic Policy 73 https://ga-1/api/v1/policy/flow/3c24b97b-c417-4a49-adcc-870209b81fcd DELETE https://ga-1/api/v1/task/ce0e653c-9bc2-4ab0-9783-ef6505bd1d2f GET { "response": { "progress": "3c24b97b-c417-4a49-adcc-870209b81fcd", "startTime": 1455440274442, "endTime": 1455440274446, "version": 1455440274446, "serviceType": "Policy Service", "isError": false, "operationIdList": [ "d38a1716-2b90-4fd1-9032-17ed47dd0661" ], "rootId": "ce0e653c-9bc2-4ab0-9783-ef6505bd1d2f", "id": "ce0e653c-9bc2-4ab0-9783-ef6505bd1d2f" }, "version": "1.0" }

Editor's Notes

  1. The advantage of the APIC EM model, architecturally speaking, is that a common policy model based on a declarative model is implemented homogeneously all the way from the data center to the WAN and access network. No other vendor has the ability to implement the benefits of SDN end to end across the entire enterprise infrastructure. Furthermore, we do this for your existing infrastructure – protecting your investment. And policies, let’s reemphasize it, are the lingua franca of application enablement. We use a common SDN approach of intent-driven policies from branch to data center. However, we do use different policy language and different controllers for the data center and cloud than for WAN and access. That’s because the data center has many different data flows that we need to tame, and WAN and access networks have hundreds of complex features that we need to abstract and make easier to configure.
  2. In our SDN solution, simplifying the network infrastructure is the job of the APIC EM, an SDN controller. The controller function is represented by the graphic you see here. What network staff have had to do in the past is spend a lot of time on this infrastructure at the bottom (point to bottom part of graphic) -- the switches, the routers -- connecting them together to build a network architecture. Where people really need to be spending their time -- what digital business thrives on -- is this application layer on the top (point to top layer of graphic). The SDN controller is very important, because it reconciles the two. It presents the application layer with abstractions of the network that’s underneath. And because of that, applications can very easily consume network services, which has never been possible in the past. This is critical because the digital enterprise is entirely application driven. Right now, we are developing orchestration and automation apps. And we expect collaboration and security apps to follow. Our development partners are key here, too. They are going to innovate around the network services that we expose. What does simplification and solution orientation mean for the network…? In the past, for the network to be dynamic, applications had to deal with complex API and RFPs that were hundreds of pages long… no abstractions… now we abstract and simplify. Key message number 1 – it’s all about applications. through network wide abstractions, the controller is able to finally service applications needs more effectively. So we have established that to deliver on agility and cost efficiency, and to allow network staff to spend more time strategizing about business capabilities rather than maintaining the network, the key is to drive a simplification of the network infrastructure. In SDN, that is the role of the controller. Let’s establish one thing, first and foremost – the digital enterprise is entirely application driven. It’s the application that directly touches the business layer, and where revenue is generated by business applications, or money is saved through orchestration and automation applications. Or new capabilities are set free via collaboration apps. So the first thing I want to establish about Cisco’s approach to SDN in the Enterprise is that it is entirely geared to deliver on an overall enterprise architecture with a functioning, integrated yet loosely coupled ecosystem of applications that support business outcomes. On your existing infrastructure. Unlike some competitors that shall remain unnamed, we do not demand you upgrade your entire infrastructure and rebuild from scratch to implement SDN… In our SDN solution, simplifying the network infrastructure is the job of the APIC EM, an SDN controller. The controller function is represented by the graphic you see here. What network staff have had to do in the past is spend a lot of time on this infrastructure at the bottom (point to bottom part of graphic) -- the switches, the routers -- connecting them together to build a network architecture. Where people really need to be spending their time -- what digital business thrives on -- is this application layer on the top (point to top layer of graphic). The SDN controller is very important, because it reconciles the two. It presents the application layer with abstractions of the network that’s underneath. And because of that, applications can very easily consume network services, which has never been possible in the past. This is critical because the digital enterprise is entirely application driven. Right now, we are developing orchestration and automation apps. And we expect collaboration and security apps to follow. Our development partners are key here, too. They are going to innovate around the network services that we expose.