Download OpenAPI specification:Download
This is the spec that defines the APIs provided by the tenant service to create a tenant and add the networks to the tenant, configure network parameters and configure switches with the tenant network's specific configurations.
This API helps to get all tenants configured with tenant service
object {"group_by":"name"} Responses grouped by name {"filter":[{"name":"name","value":"Tenant1"},{"name":"id',"value":"1"}] Responses searched by name="Tenant1" and id="1" {"fuzzy":"tenant"} Responses searched using fuzzy search "tenant" | |
object {"sort_by":"asc|desc"} Responses with id in ascending or descending order {"offset" : "lt:30"} Responses searched with id less than 30 {"page_size":20} Responses searched with limit of 20 entries |
{- "paginationResponse": {
- "remaining_count": 0,
- "first_id": 0,
- "last_id": 0
}, - "tenant": [
- {
- "id": 1,
- "name": "Tenant-A",
- "type": "shared | private",
- "description": "Tenant-A's Description",
- "enable-bd": true,
- "vlan-range": "10-20,50-60",
- "l2-vni-range": "1-100",
- "num-of-vrf": 20,
- "l3-vni-range": "4096-5000",
- "fabric-list": [
- "string"
], - "port-list": [
- {
- "mgmt-ip": "10.25.25.100",
- "port": [
- {
- "int-type": "ethernet",
- "name": "0/1"
}
]
}
], - "mirror-destination-port-list": [
- {
- "mgmt-ip": "10.25.25.100",
- "port": [
- {
- "int-type": "ethernet",
- "name": "0/1"
}
]
}
], - "port-channel-list": [
- "string"
], - "vrf-list": [
- "string"
], - "epg-list": [
- "string"
], - "bgp-peer-group-list": [
- "string"
], - "bgp-peer-list": [
- "string"
], - "mirror-session-list": [
- "string"
]
}
]
}
This API helps to get the specified Tenant details
name required | string Name of the tenant to retrieve details |
{- "id": 1,
- "name": "Tenant-A",
- "type": "shared | private",
- "description": "Tenant-A's Description",
- "enable-bd": true,
- "vlan-range": "10-20,50-60",
- "l2-vni-range": "1-100",
- "num-of-vrf": 20,
- "l3-vni-range": "4096-5000",
- "fabric-list": [
- "string"
], - "port-list": [
- {
- "mgmt-ip": "10.25.25.100",
- "port": [
- {
- "int-type": "ethernet",
- "name": "0/1"
}
]
}
], - "mirror-destination-port-list": [
- {
- "mgmt-ip": "10.25.25.100",
- "port": [
- {
- "int-type": "ethernet",
- "name": "0/1"
}
]
}
], - "port-channel-list": [
- "string"
], - "vrf-list": [
- "string"
], - "epg-list": [
- "string"
], - "bgp-peer-group-list": [
- "string"
], - "bgp-peer-list": [
- "string"
], - "mirror-session-list": [
- "string"
]
}
This API helps to create a tenant and reserve resources like Physical Ports, L2VNI, L3VNI, VLAN and Number of VRFs for the tenant. Tenant Name must be a unique key while creating a tenant with the tenant service.
Create a new tenant
name required | string Unique name of the tenant |
type | string Enum: "shared" "private" POs or VRFs of shared tenant are available to other tenants. Default tenant type is private. |
description | string Description about tenant |
enable-bd | boolean Enable bridge-domain so that overlapping vlans can be supported |
vlan-range | string Range of VLANs to reserve for the tenant |
l2-vni-range | string Contiguous Range of L2 VNIs in ascending order will be reserved for the tenant within the scope of a fabric. L2 networks will consume the VNIs from this range. |
num-of-vrf | integer Number of VRFs to reserve for the tenant |
l3-vni-range | string Contiguous Range of L3 VNIs in ascending order will be reserved for the tenant within the scope of a fabric. L3 networks will consume the VNIs from this range. |
fabric-list | Array of strings unique |
Array of objects (Device) unique | |
Array of objects (Device) unique | |
port-channel-list | Array of strings unique |
vrf-list | Array of strings unique |
epg-list | Array of strings unique |
bgp-peer-group-list | Array of strings unique |
bgp-peer-list | Array of strings unique |
mirror-session-list | Array of strings unique |
{- "name": "Tenant-A",
- "type": "shared | private",
- "description": "Tenant-A's Description",
- "enable-bd": true,
- "vlan-range": "10-20,50-60",
- "l2-vni-range": "1-100",
- "num-of-vrf": 20,
- "l3-vni-range": "4096-5000",
- "fabric-list": [
- "string"
], - "port-list": [
- {
- "mgmt-ip": "10.25.25.100",
- "port": [
- {
- "int-type": "ethernet",
- "name": "0/1"
}
]
}
], - "mirror-destination-port-list": [
- {
- "mgmt-ip": "10.25.25.100",
- "port": [
- {
- "int-type": "ethernet",
- "name": "0/1"
}
]
}
], - "port-channel-list": [
- "string"
], - "vrf-list": [
- "string"
], - "epg-list": [
- "string"
], - "bgp-peer-group-list": [
- "string"
], - "bgp-peer-list": [
- "string"
], - "mirror-session-list": [
- "string"
]
}
{- "id": 1,
- "name": "Tenant-A",
- "type": "shared | private",
- "description": "Tenant-A's Description",
- "enable-bd": true,
- "vlan-range": "10-20,50-60",
- "l2-vni-range": "1-100",
- "num-of-vrf": 20,
- "l3-vni-range": "4096-5000",
- "fabric-list": [
- "string"
], - "port-list": [
- {
- "mgmt-ip": "10.25.25.100",
- "port": [
- {
- "int-type": "ethernet",
- "name": "0/1"
}
]
}
], - "mirror-destination-port-list": [
- {
- "mgmt-ip": "10.25.25.100",
- "port": [
- {
- "int-type": "ethernet",
- "name": "0/1"
}
]
}
], - "port-channel-list": [
- "string"
], - "vrf-list": [
- "string"
], - "epg-list": [
- "string"
], - "bgp-peer-group-list": [
- "string"
], - "bgp-peer-list": [
- "string"
], - "mirror-session-list": [
- "string"
]
}
This API helps to delete the tenant if no tenant network is created by this tenant. If it has any tenant network, a force option is required to delete this tenant. The delete request with force parameter will trigger a delete operation for all its networks.
name required | string Name of the tenant to delete |
force | boolean Use force parameter to remove the tenant forcefully. This will remove the relevant configurations from the devices for its tenant network and delete the relevant record with tenant service. |
{- "id": 1,
- "name": "Tenant-A",
- "type": "shared | private",
- "description": "Tenant-A's Description",
- "enable-bd": true,
- "vlan-range": "10-20,50-60",
- "l2-vni-range": "1-100",
- "num-of-vrf": 20,
- "l3-vni-range": "4096-5000",
- "fabric-list": [
- "string"
], - "port-list": [
- {
- "mgmt-ip": "10.25.25.100",
- "port": [
- {
- "int-type": "ethernet",
- "name": "0/1"
}
]
}
], - "mirror-destination-port-list": [
- {
- "mgmt-ip": "10.25.25.100",
- "port": [
- {
- "int-type": "ethernet",
- "name": "0/1"
}
]
}
], - "port-channel-list": [
- "string"
], - "vrf-list": [
- "string"
], - "epg-list": [
- "string"
], - "bgp-peer-group-list": [
- "string"
], - "bgp-peer-list": [
- "string"
], - "mirror-session-list": [
- "string"
]
}
This API helps to update existing tenant for non-conflicting changes of its resources like L2VNI, L3VNI, vlan range, port, number of vrf, description, type etc for the tenant.
tenant_name required | string Name of the tenant to update parameter |
Update the Tenant parameter
operation required | string Enum: "desc-update" "vni-update" "port-add" "port-delete" "vlan-add" "vlan-delete" "vlan-update" "num-vrf-update" "enable-bd-update" Add, delete or update tenant configuration |
force | boolean Force option which is valid only for port-delete operation is deprecated. |
object (Tenant) |
{- "operation": "desc-update | vni-update | port-add | port-delete | vlan-add | vlan-delete | vlan-update | num-vrf-update | enable-bd-update",
- "force": true,
- "tenant": {
- "name": "Tenant-A",
- "type": "shared | private",
- "description": "Tenant-A's Description",
- "enable-bd": true,
- "vlan-range": "10-20,50-60",
- "l2-vni-range": "1-100",
- "num-of-vrf": 20,
- "l3-vni-range": "4096-5000",
- "fabric-list": [
- "string"
], - "port-list": [
- {
- "mgmt-ip": "10.25.25.100",
- "port": [
- {
- "int-type": "ethernet",
- "name": "0/1"
}
]
}
], - "mirror-destination-port-list": [
- {
- "mgmt-ip": "10.25.25.100",
- "port": [
- {
- "int-type": "ethernet",
- "name": "0/1"
}
]
}
], - "port-channel-list": [
- "string"
], - "vrf-list": [
- "string"
], - "epg-list": [
- "string"
], - "bgp-peer-group-list": [
- "string"
], - "bgp-peer-list": [
- "string"
], - "mirror-session-list": [
- "string"
]
}
}
{- "id": 1,
- "name": "Tenant-A",
- "type": "shared | private",
- "description": "Tenant-A's Description",
- "enable-bd": true,
- "vlan-range": "10-20,50-60",
- "l2-vni-range": "1-100",
- "num-of-vrf": 20,
- "l3-vni-range": "4096-5000",
- "fabric-list": [
- "string"
], - "port-list": [
- {
- "mgmt-ip": "10.25.25.100",
- "port": [
- {
- "int-type": "ethernet",
- "name": "0/1"
}
]
}
], - "mirror-destination-port-list": [
- {
- "mgmt-ip": "10.25.25.100",
- "port": [
- {
- "int-type": "ethernet",
- "name": "0/1"
}
]
}
], - "port-channel-list": [
- "string"
], - "vrf-list": [
- "string"
], - "epg-list": [
- "string"
], - "bgp-peer-group-list": [
- "string"
], - "bgp-peer-list": [
- "string"
], - "mirror-session-list": [
- "string"
]
}
This API helps to get all Portchannels configured with Tenant service
tenant_name required | string Tenant to which this Portchannel belongs |
object {"group_by":"state"} Responses grouped by state {"filter":[{"name":"name","value":"samplePO"}] Responses searched by name="samplePO" {"fuzzy":"Port channel"} Responses searched using fuzzy search "Port channel" | |
object {"sort_by":"asc|desc"} Responses with id in ascending or descending order {"offset" : "lt:30"} Responses searched with id less than 30 {"page_size":20} Responses searched with limit of 20 entries |
{- "paginationResponse": {
- "remaining_count": 0,
- "first_id": 0,
- "last_id": 0
}, - "portchannel": [
- {
- "id": 1,
- "number": 1,
- "name": "po101",
- "description": "po101",
- "speed": "100Mbps | 1Gbps | 10Gbps | 25Gbps | 40Gbps | 100Gbps",
- "negotiation": "active | passive | static",
- "memberinterfaces": [
- {
- "mgmt-ip": "10.25.25.100",
- "port": [
- {
- "int-type": "ethernet",
- "name": "0/1"
}
]
}
], - "tenantName": "Tenant-1",
- "lacpTimeout": "short | long",
- "minLinkCount": 2,
- "mtu": 9100,
- "state": "po-init | po-created | po-port-delete-pending | po-delete-pending | po-lacp-timeout-set-pending | po-description-set-pending | po-min-links-count-set-pending | po-mtu-delete-pending",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err",
- "error": [
- {
- "mgmt-ip": "string",
- "error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "rollback-error-list": [
- {
- "code": 1000,
- "message": "string"
}
]
}
]
}
]
}
This API helps to get the specified Portchannel details
name | string Unique name of the Portchannel to fetch |
tenant_name | string Tenant to which this Portchannel belongs |
po_id | string Filter by Portchannel id allocated on device. This should be combined with device_ip param. |
device_ip | string Device Management IP Address to which the po_id belongs |
{- "id": 1,
- "number": 1,
- "name": "po101",
- "description": "po101",
- "speed": "100Mbps | 1Gbps | 10Gbps | 25Gbps | 40Gbps | 100Gbps",
- "negotiation": "active | passive | static",
- "memberinterfaces": [
- {
- "mgmt-ip": "10.25.25.100",
- "port": [
- {
- "int-type": "ethernet",
- "name": "0/1"
}
]
}
], - "tenantName": "Tenant-1",
- "lacpTimeout": "short | long",
- "minLinkCount": 2,
- "mtu": 9100,
- "state": "po-init | po-created | po-port-delete-pending | po-delete-pending | po-lacp-timeout-set-pending | po-description-set-pending | po-min-links-count-set-pending | po-mtu-delete-pending",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err",
- "error": [
- {
- "mgmt-ip": "string",
- "error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "rollback-error-list": [
- {
- "code": 1000,
- "message": "string"
}
]
}
]
}
This API helps to create a new Portchannel
Create Port-channel parameter
name required | string Identifier of the Portchannel unique to the tenant service |
description | string Description of the Portchannel |
speed required | string Enum: "100Mbps" "1Gbps" "10Gbps" "25Gbps" "40Gbps" "100Gbps" Configure speed for the Portchannel and its Member ports |
negotiation required | string Enum: "active" "passive" "static" Configure LACP negotiation mode for Portchannel |
required | Array of objects (Device) unique |
tenantName required | string Name of the tenant to which this Portchannel belongs |
lacpTimeout required | string Enum: "short" "long" Configure LACP timeout for Portchannel |
minLinkCount | string Minimum number of links provided for a Portchannel |
mtu | integer MTU for a Portchannel |
{- "name": "po101",
- "description": "po101",
- "speed": "100Mbps | 1Gbps | 10Gbps | 25Gbps | 40Gbps | 100Gbps",
- "negotiation": "active | passive | static",
- "memberinterfaces": [
- {
- "mgmt-ip": "10.25.25.100",
- "port": [
- {
- "int-type": "ethernet",
- "name": "0/1"
}
]
}
], - "tenantName": "Tenant-1",
- "lacpTimeout": "short | long",
- "minLinkCount": 2,
- "mtu": 9100
}
{- "id": 1,
- "number": 1,
- "name": "po101",
- "description": "po101",
- "speed": "100Mbps | 1Gbps | 10Gbps | 25Gbps | 40Gbps | 100Gbps",
- "negotiation": "active | passive | static",
- "memberinterfaces": [
- {
- "mgmt-ip": "10.25.25.100",
- "port": [
- {
- "int-type": "ethernet",
- "name": "0/1"
}
]
}
], - "tenantName": "Tenant-1",
- "lacpTimeout": "short | long",
- "minLinkCount": 2,
- "mtu": 9100,
- "state": "po-init | po-created | po-port-delete-pending | po-delete-pending | po-lacp-timeout-set-pending | po-description-set-pending | po-min-links-count-set-pending | po-mtu-delete-pending",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err",
- "error": [
- {
- "mgmt-ip": "string",
- "error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "rollback-error-list": [
- {
- "code": 1000,
- "message": "string"
}
]
}
]
}
This API helps to delete the given Portchannel
name required | string Unique name of the Portchannel to delete |
force | boolean Use force parameter to remove the tenant network forcefully. This will remove the relevant configurations from the devices in this tenant network and update the record with tenant service. |
tenant_name required | string Tenant to which this Portchannel belongs |
{- "id": 1,
- "number": 1,
- "name": "po101",
- "description": "po101",
- "speed": "100Mbps | 1Gbps | 10Gbps | 25Gbps | 40Gbps | 100Gbps",
- "negotiation": "active | passive | static",
- "memberinterfaces": [
- {
- "mgmt-ip": "10.25.25.100",
- "port": [
- {
- "int-type": "ethernet",
- "name": "0/1"
}
]
}
], - "tenantName": "Tenant-1",
- "lacpTimeout": "short | long",
- "minLinkCount": 2,
- "mtu": 9100,
- "state": "po-init | po-created | po-port-delete-pending | po-delete-pending | po-lacp-timeout-set-pending | po-description-set-pending | po-min-links-count-set-pending | po-mtu-delete-pending",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err",
- "error": [
- {
- "mgmt-ip": "string",
- "error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "rollback-error-list": [
- {
- "code": 1000,
- "message": "string"
}
]
}
]
}
This API helps to update the parameters of the Portchannel
Update the Port-channel parameter
name required | string Identifier of the Portchannel unique to the tenant service |
operation required | string Enum: "port-add" "port-delete" "lacp-timeout" "description" "min-link-count" "mtu-add" "mtu-delete" Add ports, Delete ports, modify lacp-timeout, description, minimum links, add mtu and delete mtu for Portchannel |
required | Array of objects (Device) unique |
tenantName required | string Tenant to which this Portchannel belongs |
lacpTimeout | string Enum: "short" "long" Configure LACP timeout for Portchannel |
description | string Description of the Portchannel |
minLinkCount | string Minimum number of links provided for a Portchannel |
mtu | integer MTU for a Portchannel |
{- "name": "po101",
- "operation": "port-add | port-delete | lacp-timeout | description | min-link-count | mtu-add | mtu-delete",
- "memberinterfaces": [
- {
- "mgmt-ip": "10.25.25.100",
- "port": [
- {
- "int-type": "ethernet",
- "name": "0/1"
}
]
}
], - "tenantName": "Tenant-1",
- "lacpTimeout": "short | long",
- "description": "po101",
- "minLinkCount": 2,
- "mtu": 9100
}
{- "id": 1,
- "number": 1,
- "name": "po101",
- "description": "po101",
- "speed": "100Mbps | 1Gbps | 10Gbps | 25Gbps | 40Gbps | 100Gbps",
- "negotiation": "active | passive | static",
- "memberinterfaces": [
- {
- "mgmt-ip": "10.25.25.100",
- "port": [
- {
- "int-type": "ethernet",
- "name": "0/1"
}
]
}
], - "tenantName": "Tenant-1",
- "lacpTimeout": "short | long",
- "minLinkCount": 2,
- "mtu": 9100,
- "state": "po-init | po-created | po-port-delete-pending | po-delete-pending | po-lacp-timeout-set-pending | po-description-set-pending | po-min-links-count-set-pending | po-mtu-delete-pending",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err",
- "error": [
- {
- "mgmt-ip": "string",
- "error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "rollback-error-list": [
- {
- "code": 1000,
- "message": "string"
}
]
}
]
}
This API helps to configure the given Portchannel
name required | string Name of the Portchannel to configure |
tenant_name required | string Tenant to which this Portchannel belongs |
{- "id": 1,
- "number": 1,
- "name": "po101",
- "description": "po101",
- "speed": "100Mbps | 1Gbps | 10Gbps | 25Gbps | 40Gbps | 100Gbps",
- "negotiation": "active | passive | static",
- "memberinterfaces": [
- {
- "mgmt-ip": "10.25.25.100",
- "port": [
- {
- "int-type": "ethernet",
- "name": "0/1"
}
]
}
], - "tenantName": "Tenant-1",
- "lacpTimeout": "short | long",
- "minLinkCount": 2,
- "mtu": 9100,
- "state": "po-init | po-created | po-port-delete-pending | po-delete-pending | po-lacp-timeout-set-pending | po-description-set-pending | po-min-links-count-set-pending | po-mtu-delete-pending",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err",
- "error": [
- {
- "mgmt-ip": "string",
- "error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "rollback-error-list": [
- {
- "code": 1000,
- "message": "string"
}
]
}
]
}
This API helps to get all Vrfs configured with tenant service
tenant_name required | string Tenant to which this Vrf belongs |
object {"group_by":"routing-type"} Responses grouped by routing-type centralized or distributed {"filter":[{"name":"name","value":"VRF"}]} Responses searched by name="VRF" {"fuzzy":"VRF"} Responses searched using fuzzy search "VRF" | |
object {"sort_by":"asc|desc"} Responses with id in ascending or descending order {"offset" : "lt:30"} Responses searched with id less than 30 {"page_size":20} Responses searched with limit of 20 entries |
{- "tenant_name": "Tenant-A",
- "paginationResponse": {
- "remaining_count": 0,
- "first_id": 0,
- "last_id": 0
}, - "vrf-list": [
- {
- "id": 1,
- "name": "vrf-red",
- "tenantName": "Tenant-1",
- "routing-type": "distributed",
- "centralized-router": [
- {
- "mgmt-ip": "10.25.25.100"
}
], - "layer3-extension-enable": "true | false",
- "vrf-type": "shared | private",
- "vrf-state": "vrf-init | vrf-created | vrf-device-created | vrf-device-static-route-delete-pending | vrf-device-static-route-bfd-delete-pending",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err",
- "l3-vni": 1024,
- "irb-bd": 1024,
- "irb-ve": 1024,
- "br-bd": 1024,
- "br-ve": 1024,
- "br-vni": 1025,
- "local-asn": 1024,
- "route-target": [
- {
- "route-target": "100:100",
- "route-target-type": "both | import | export"
}
], - "static-route": [
- {
- "mgmt-ip": "10.25.25.100",
- "static-route-list": [
- {
- "afi": "ipv4 | ipv6",
- "network": "20.0.0.0/24 | 2001:1::/64",
- "nexthopIP": "16.0.0.2 | 3001::2",
- "distance": 3,
- "metric": 2
}
]
}
], - "static-route-bfd": [
- {
- "mgmt-ip": "10.25.25.100",
- "static-route-bfd-list": [
- {
- "afi": "ipv4 | ipv6",
- "DestIPAddr": "16.0.0.2 | 3001::2",
- "SrcIPAddr": "16.0.0.2 | 3001::2",
- "interval": 300,
- "minRx": 300,
- "multiplier": 3
}
]
}
], - "max-path": 8,
- "redistribute": [
- "static | connected"
], - "rh-max-path": 8,
- "rh-ecmp-enable": true,
- "graceful-restart-enable": true,
- "network": [
- {
- "mgmt-ip": "10.25.25.100",
- "network-list": [
- {
- "afi": "ipv4 | ipv6",
- "network": "20.0.0.0/24 | 2001:1::/64",
- "backdoor": "true | false",
- "route_map": "rm1",
- "weight": 30
}
]
}
], - "static-network": [
- {
- "mgmt-ip": "10.25.25.100",
- "static-network-list": [
- {
- "afi": "ipv4",
- "network": "11.20.30.40/30",
- "distance": 3
}
]
}
], - "aggregate-address": [
- {
- "mgmt-ip": "10.25.25.100",
- "aggregate-address-list": [
- {
- "afi": "ipv4 | ipv6",
- "aggregated-address": "20.0.0.0/24 | 2001:1::/64",
- "summary-only": "true | false",
- "as-set": "true | false",
- "addvertise-map": "routeMap1",
- "suppress-map": "routeMap1"
}
]
}
], - "error": [
- {
- "mgmt-ip": "string",
- "error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "rollback-error-list": [
- {
- "code": 1000,
- "message": "string"
}
]
}
]
}
]
}
This API helps to get specified Vrf details
name required | string Vrf name to delete |
tenant_name required | string Tenant to which this Vrf belongs |
{- "id": 1,
- "name": "vrf-red",
- "tenantName": "Tenant-1",
- "routing-type": "distributed",
- "centralized-router": [
- {
- "mgmt-ip": "10.25.25.100"
}
], - "layer3-extension-enable": "true | false",
- "vrf-type": "shared | private",
- "vrf-state": "vrf-init | vrf-created | vrf-device-created | vrf-device-static-route-delete-pending | vrf-device-static-route-bfd-delete-pending",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err",
- "l3-vni": 1024,
- "irb-bd": 1024,
- "irb-ve": 1024,
- "br-bd": 1024,
- "br-ve": 1024,
- "br-vni": 1025,
- "local-asn": 1024,
- "route-target": [
- {
- "route-target": "100:100",
- "route-target-type": "both | import | export"
}
], - "static-route": [
- {
- "mgmt-ip": "10.25.25.100",
- "static-route-list": [
- {
- "afi": "ipv4 | ipv6",
- "network": "20.0.0.0/24 | 2001:1::/64",
- "nexthopIP": "16.0.0.2 | 3001::2",
- "distance": 3,
- "metric": 2
}
]
}
], - "static-route-bfd": [
- {
- "mgmt-ip": "10.25.25.100",
- "static-route-bfd-list": [
- {
- "afi": "ipv4 | ipv6",
- "DestIPAddr": "16.0.0.2 | 3001::2",
- "SrcIPAddr": "16.0.0.2 | 3001::2",
- "interval": 300,
- "minRx": 300,
- "multiplier": 3
}
]
}
], - "max-path": 8,
- "redistribute": [
- "static | connected"
], - "rh-max-path": 8,
- "rh-ecmp-enable": true,
- "graceful-restart-enable": true,
- "network": [
- {
- "mgmt-ip": "10.25.25.100",
- "network-list": [
- {
- "afi": "ipv4 | ipv6",
- "network": "20.0.0.0/24 | 2001:1::/64",
- "backdoor": "true | false",
- "route_map": "rm1",
- "weight": 30
}
]
}
], - "static-network": [
- {
- "mgmt-ip": "10.25.25.100",
- "static-network-list": [
- {
- "afi": "ipv4",
- "network": "11.20.30.40/30",
- "distance": 3
}
]
}
], - "aggregate-address": [
- {
- "mgmt-ip": "10.25.25.100",
- "aggregate-address-list": [
- {
- "afi": "ipv4 | ipv6",
- "aggregated-address": "20.0.0.0/24 | 2001:1::/64",
- "summary-only": "true | false",
- "as-set": "true | false",
- "addvertise-map": "routeMap1",
- "suppress-map": "routeMap1"
}
]
}
], - "error": [
- {
- "mgmt-ip": "string",
- "error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "rollback-error-list": [
- {
- "code": 1000,
- "message": "string"
}
]
}
]
}
This API helps to create a new Vrf for a tenant
Create Vrf
tenant_name required | string Tenant Name |
object | |
Array of objects (Vrf) |
{- "tenant_name": "Tenant-A",
- "paginationResponse": {
- "remaining_count": 0,
- "first_id": 0,
- "last_id": 0
}, - "vrf-list": [
- {
- "name": "vrf-red",
- "tenantName": "Tenant-1",
- "routing-type": "distributed",
- "centralized-router": [
- {
- "mgmt-ip": "10.25.25.100"
}
], - "layer3-extension-enable": "true | false",
- "vrf-type": "shared | private",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err",
- "local-asn": 1024,
- "route-target": [
- {
- "route-target": "100:100",
- "route-target-type": "both | import | export"
}
], - "static-route": [
- {
- "mgmt-ip": "10.25.25.100",
- "static-route-list": [
- {
- "afi": "ipv4 | ipv6",
- "network": "20.0.0.0/24 | 2001:1::/64",
- "nexthopIP": "16.0.0.2 | 3001::2",
- "distance": 3,
- "metric": 2
}
]
}
], - "static-route-bfd": [
- {
- "mgmt-ip": "10.25.25.100",
- "static-route-bfd-list": [
- {
- "afi": "ipv4 | ipv6",
- "DestIPAddr": "16.0.0.2 | 3001::2",
- "SrcIPAddr": "16.0.0.2 | 3001::2",
- "interval": 300,
- "minRx": 300,
- "multiplier": 3
}
]
}
], - "max-path": 8,
- "redistribute": [
- "static | connected"
], - "rh-max-path": 8,
- "rh-ecmp-enable": true,
- "graceful-restart-enable": true,
- "network": [
- {
- "mgmt-ip": "10.25.25.100",
- "network-list": [
- {
- "afi": "ipv4 | ipv6",
- "network": "20.0.0.0/24 | 2001:1::/64",
- "backdoor": "true | false",
- "route_map": "rm1",
- "weight": 30
}
]
}
], - "static-network": [
- {
- "mgmt-ip": "10.25.25.100",
- "static-network-list": [
- {
- "afi": "ipv4",
- "network": "11.20.30.40/30",
- "distance": 3
}
]
}
], - "aggregate-address": [
- {
- "mgmt-ip": "10.25.25.100",
- "aggregate-address-list": [
- {
- "afi": "ipv4 | ipv6",
- "aggregated-address": "20.0.0.0/24 | 2001:1::/64",
- "summary-only": "true | false",
- "as-set": "true | false",
- "addvertise-map": "routeMap1",
- "suppress-map": "routeMap1"
}
]
}
]
}
]
}
{- "tenant_name": "Tenant-A",
- "paginationResponse": {
- "remaining_count": 0,
- "first_id": 0,
- "last_id": 0
}, - "vrf-list": [
- {
- "id": 1,
- "name": "vrf-red",
- "tenantName": "Tenant-1",
- "routing-type": "distributed",
- "centralized-router": [
- {
- "mgmt-ip": "10.25.25.100"
}
], - "layer3-extension-enable": "true | false",
- "vrf-type": "shared | private",
- "vrf-state": "vrf-init | vrf-created | vrf-device-created | vrf-device-static-route-delete-pending | vrf-device-static-route-bfd-delete-pending",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err",
- "l3-vni": 1024,
- "irb-bd": 1024,
- "irb-ve": 1024,
- "br-bd": 1024,
- "br-ve": 1024,
- "br-vni": 1025,
- "local-asn": 1024,
- "route-target": [
- {
- "route-target": "100:100",
- "route-target-type": "both | import | export"
}
], - "static-route": [
- {
- "mgmt-ip": "10.25.25.100",
- "static-route-list": [
- {
- "afi": "ipv4 | ipv6",
- "network": "20.0.0.0/24 | 2001:1::/64",
- "nexthopIP": "16.0.0.2 | 3001::2",
- "distance": 3,
- "metric": 2
}
]
}
], - "static-route-bfd": [
- {
- "mgmt-ip": "10.25.25.100",
- "static-route-bfd-list": [
- {
- "afi": "ipv4 | ipv6",
- "DestIPAddr": "16.0.0.2 | 3001::2",
- "SrcIPAddr": "16.0.0.2 | 3001::2",
- "interval": 300,
- "minRx": 300,
- "multiplier": 3
}
]
}
], - "max-path": 8,
- "redistribute": [
- "static | connected"
], - "rh-max-path": 8,
- "rh-ecmp-enable": true,
- "graceful-restart-enable": true,
- "network": [
- {
- "mgmt-ip": "10.25.25.100",
- "network-list": [
- {
- "afi": "ipv4 | ipv6",
- "network": "20.0.0.0/24 | 2001:1::/64",
- "backdoor": "true | false",
- "route_map": "rm1",
- "weight": 30
}
]
}
], - "static-network": [
- {
- "mgmt-ip": "10.25.25.100",
- "static-network-list": [
- {
- "afi": "ipv4",
- "network": "11.20.30.40/30",
- "distance": 3
}
]
}
], - "aggregate-address": [
- {
- "mgmt-ip": "10.25.25.100",
- "aggregate-address-list": [
- {
- "afi": "ipv4 | ipv6",
- "aggregated-address": "20.0.0.0/24 | 2001:1::/64",
- "summary-only": "true | false",
- "as-set": "true | false",
- "addvertise-map": "routeMap1",
- "suppress-map": "routeMap1"
}
]
}
], - "error": [
- {
- "mgmt-ip": "string",
- "error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "rollback-error-list": [
- {
- "code": 1000,
- "message": "string"
}
]
}
]
}
]
}
This API helps to delete the given Vrf
Delete Vrf.
tenant_name | string Tenant Name |
vrf-name-list | Array of strings List of VRFs. |
{- "tenant_name": "Tenant-A",
- "vrf-name-list": [
- "VRF-GREEN",
- "VRF-RED"
]
}
{- "tenant_name": "Tenant-A",
- "paginationResponse": {
- "remaining_count": 0,
- "first_id": 0,
- "last_id": 0
}, - "vrf-list": [
- {
- "id": 1,
- "name": "vrf-red",
- "tenantName": "Tenant-1",
- "routing-type": "distributed",
- "centralized-router": [
- {
- "mgmt-ip": "10.25.25.100"
}
], - "layer3-extension-enable": "true | false",
- "vrf-type": "shared | private",
- "vrf-state": "vrf-init | vrf-created | vrf-device-created | vrf-device-static-route-delete-pending | vrf-device-static-route-bfd-delete-pending",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err",
- "l3-vni": 1024,
- "irb-bd": 1024,
- "irb-ve": 1024,
- "br-bd": 1024,
- "br-ve": 1024,
- "br-vni": 1025,
- "local-asn": 1024,
- "route-target": [
- {
- "route-target": "100:100",
- "route-target-type": "both | import | export"
}
], - "static-route": [
- {
- "mgmt-ip": "10.25.25.100",
- "static-route-list": [
- {
- "afi": "ipv4 | ipv6",
- "network": "20.0.0.0/24 | 2001:1::/64",
- "nexthopIP": "16.0.0.2 | 3001::2",
- "distance": 3,
- "metric": 2
}
]
}
], - "static-route-bfd": [
- {
- "mgmt-ip": "10.25.25.100",
- "static-route-bfd-list": [
- {
- "afi": "ipv4 | ipv6",
- "DestIPAddr": "16.0.0.2 | 3001::2",
- "SrcIPAddr": "16.0.0.2 | 3001::2",
- "interval": 300,
- "minRx": 300,
- "multiplier": 3
}
]
}
], - "max-path": 8,
- "redistribute": [
- "static | connected"
], - "rh-max-path": 8,
- "rh-ecmp-enable": true,
- "graceful-restart-enable": true,
- "network": [
- {
- "mgmt-ip": "10.25.25.100",
- "network-list": [
- {
- "afi": "ipv4 | ipv6",
- "network": "20.0.0.0/24 | 2001:1::/64",
- "backdoor": "true | false",
- "route_map": "rm1",
- "weight": 30
}
]
}
], - "static-network": [
- {
- "mgmt-ip": "10.25.25.100",
- "static-network-list": [
- {
- "afi": "ipv4",
- "network": "11.20.30.40/30",
- "distance": 3
}
]
}
], - "aggregate-address": [
- {
- "mgmt-ip": "10.25.25.100",
- "aggregate-address-list": [
- {
- "afi": "ipv4 | ipv6",
- "aggregated-address": "20.0.0.0/24 | 2001:1::/64",
- "summary-only": "true | false",
- "as-set": "true | false",
- "addvertise-map": "routeMap1",
- "suppress-map": "routeMap1"
}
]
}
], - "error": [
- {
- "mgmt-ip": "string",
- "error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "rollback-error-list": [
- {
- "code": 1000,
- "message": "string"
}
]
}
]
}
]
}
This API helps to update the parameters of the Vrf
Update the Vrf parameter
name required | string Identifier of the Vrf unique to the tenant service |
operation required | string Enum: "local-asn-add" "local-asn-delete" "static-route-bfd-add" "static-route-bfd-delte" "static-route-add" "static-route-delete" "max-path-add" "max-path-delete" "redistribute-add" "redistribute-delete" "rh-max-path-add" "rh-max-path-delete" "centralized-router-add" "centralized-router-delete" "rh-ecmp-update" "graceful-restart-update" "network-add" "network-delete" "static-network-add" "static-network-delete" "aggregate-address-add" "aggregate-address-delete" Below operations are supported -
|
localAsn | integer <int64> Local Asn for Vrf |
tenantName required | string Tenant to which this Vrf belongs |
Array of objects (StaticRouteBfd) | |
Array of objects (StaticRoute) | |
max-path | integer <int> Maximum-path for Vrf |
redistribute | Array of strings Items Enum: "static" "connected" |
rh-max-path | integer <int> Resilient hashing maximum-path for Vrf |
rh-ecmp-enable | boolean Enable/disable resilient hashing for Vrf |
Array of objects Users can provide only one multi-homed BL pair or one single-homed BL device as centralized-routers | |
graceful-restart-enable | boolean Enable/disable graceful restart for Vrf |
Array of objects (BgpNetworkRoute) List of bgp networks to be advertised to the BGP peers. | |
Array of objects (BgpStaticNetwork) List of static networks to be advertised to the BGP peers | |
Array of objects (BgpAggregateAddress) List of BGP aggregate-address to be advertised to the BGP peers. |
{- "name": "vrf-red",
- "operation": "local-asn-add | local-asn-delete | static-route-bfd-add | static-route-bfd-delete | static-route-add | static-route-delete | | max-path-add | max-path-delete | redistribute-add | redistribute-delete | rh-max-path-add | rh-max-path-delete | centralized-router-add | centralized-router-delete | rh-ecmp-update | graceful-restart-update | network-add | network-delete | static-network-add | static-network-delete | aggregate-address-add | aggregate-address-delete ",
- "localAsn": 1024,
- "tenantName": "Tenant-1",
- "static-route-bfd": [
- {
- "mgmt-ip": "10.25.25.100",
- "static-route-bfd-list": [
- {
- "afi": "ipv4 | ipv6",
- "DestIPAddr": "16.0.0.2 | 3001::2",
- "SrcIPAddr": "16.0.0.2 | 3001::2",
- "interval": 300,
- "minRx": 300,
- "multiplier": 3
}
]
}
], - "static-route": [
- {
- "mgmt-ip": "10.25.25.100",
- "static-route-list": [
- {
- "afi": "ipv4 | ipv6",
- "network": "20.0.0.0/24 | 2001:1::/64",
- "nexthopIP": "16.0.0.2 | 3001::2",
- "distance": 3,
- "metric": 2
}
]
}
], - "max-path": 8,
- "redistribute": [
- "static | connected"
], - "rh-max-path": 8,
- "rh-ecmp-enable": true,
- "centralized-router": [
- {
- "mgmt-ip": "10.25.25.100"
}
], - "graceful-restart-enable": true,
- "network": [
- {
- "mgmt-ip": "10.25.25.100",
- "network-list": [
- {
- "afi": "ipv4 | ipv6",
- "network": "20.0.0.0/24 | 2001:1::/64",
- "backdoor": "true | false",
- "route_map": "rm1",
- "weight": 30
}
]
}
], - "static-network": [
- {
- "mgmt-ip": "10.25.25.100",
- "static-network-list": [
- {
- "afi": "ipv4",
- "network": "11.20.30.40/30",
- "distance": 3
}
]
}
], - "aggregate-address": [
- {
- "mgmt-ip": "10.25.25.100",
- "aggregate-address-list": [
- {
- "afi": "ipv4 | ipv6",
- "aggregated-address": "20.0.0.0/24 | 2001:1::/64",
- "summary-only": "true | false",
- "as-set": "true | false",
- "addvertise-map": "routeMap1",
- "suppress-map": "routeMap1"
}
]
}
]
}
{- "id": 1,
- "name": "vrf-red",
- "tenantName": "Tenant-1",
- "routing-type": "distributed",
- "centralized-router": [
- {
- "mgmt-ip": "10.25.25.100"
}
], - "layer3-extension-enable": "true | false",
- "vrf-type": "shared | private",
- "vrf-state": "vrf-init | vrf-created | vrf-device-created | vrf-device-static-route-delete-pending | vrf-device-static-route-bfd-delete-pending",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err",
- "l3-vni": 1024,
- "irb-bd": 1024,
- "irb-ve": 1024,
- "br-bd": 1024,
- "br-ve": 1024,
- "br-vni": 1025,
- "local-asn": 1024,
- "route-target": [
- {
- "route-target": "100:100",
- "route-target-type": "both | import | export"
}
], - "static-route": [
- {
- "mgmt-ip": "10.25.25.100",
- "static-route-list": [
- {
- "afi": "ipv4 | ipv6",
- "network": "20.0.0.0/24 | 2001:1::/64",
- "nexthopIP": "16.0.0.2 | 3001::2",
- "distance": 3,
- "metric": 2
}
]
}
], - "static-route-bfd": [
- {
- "mgmt-ip": "10.25.25.100",
- "static-route-bfd-list": [
- {
- "afi": "ipv4 | ipv6",
- "DestIPAddr": "16.0.0.2 | 3001::2",
- "SrcIPAddr": "16.0.0.2 | 3001::2",
- "interval": 300,
- "minRx": 300,
- "multiplier": 3
}
]
}
], - "max-path": 8,
- "redistribute": [
- "static | connected"
], - "rh-max-path": 8,
- "rh-ecmp-enable": true,
- "graceful-restart-enable": true,
- "network": [
- {
- "mgmt-ip": "10.25.25.100",
- "network-list": [
- {
- "afi": "ipv4 | ipv6",
- "network": "20.0.0.0/24 | 2001:1::/64",
- "backdoor": "true | false",
- "route_map": "rm1",
- "weight": 30
}
]
}
], - "static-network": [
- {
- "mgmt-ip": "10.25.25.100",
- "static-network-list": [
- {
- "afi": "ipv4",
- "network": "11.20.30.40/30",
- "distance": 3
}
]
}
], - "aggregate-address": [
- {
- "mgmt-ip": "10.25.25.100",
- "aggregate-address-list": [
- {
- "afi": "ipv4 | ipv6",
- "aggregated-address": "20.0.0.0/24 | 2001:1::/64",
- "summary-only": "true | false",
- "as-set": "true | false",
- "addvertise-map": "routeMap1",
- "suppress-map": "routeMap1"
}
]
}
], - "error": [
- {
- "mgmt-ip": "string",
- "error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "rollback-error-list": [
- {
- "code": 1000,
- "message": "string"
}
]
}
]
}
This API helps to fetch Vrf errors
name required | string Name of the Vrf to retrieve errors |
tenant_name required | string Tenant to which this Vrf belongs |
{- "name": "VRF-1",
- "error": [
- {
- "mgmt-ip": "string",
- "error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "rollback-error-list": [
- {
- "code": 1000,
- "message": "string"
}
]
}
]
}
This API helps to get all EndpointGroups configured with tenant service
tenant_name | string Tenant to which this EndpointGroup belongs |
object {"group_by":"name"} Responses grouped by name {"filter":[{"name":"type","value":"port-profile"}] Responses searched by type="port-profile" {"fuzzy":"20.0.0.0/24"} Responses searched using fuzzy search "20.0.0.0/24" | |
object {"sort_by":"asc|desc"} Responses with id in ascending or descending order {"offset" : "lt:30"} Responses searched with id less than 30 {"page_size":20} Responses searched with limit of 20 entries |
{- "paginationResponse": {
- "remaining_count": 0,
- "first_id": 0,
- "last_id": 0
}, - "epg": [
- {
- "id": 1,
- "name": "EndpointGroup-1",
- "description": "EndpointGroup-Sales",
- "type": "l3-hand-off | extension | port-profile",
- "tenantName": "Tenant-1",
- "state": "epg-empty | epg-with-port-group | epg-with-ctag-range | epg-with-port-group-and-ctag-range | epg-port-group-delete-pending | epg-ctag-range-delete-pending | epg-vrf-delete-pending | epg-delete-pending | epg-migration-pending | epg-local-ip-delete-pending | epg-anycast-ip-delete-pending",
- "port-group": {
- "physical-port": [
- {
- "mgmt-ip": "10.25.25.100",
- "port": [
- {
- "int-type": "ethernet",
- "name": "0/1"
}
]
}
], - "port-channel": "po101 | po102",
- "port-channel-states": [
- {
- "po": "po101",
- "po-state": "po-init | po-created | po-port-delete-pending | po-delete-pending | po-lacp-timeout-set-pending | po-description-set-pending | po-min-links-count-set-pending | po-mtu-delete-pending",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
], - "physical-port-states": [
- {
- "port": "10.10.10.1[0/1]",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
]
}, - "port-property": {
- "switchport-mode": "trunk | access | trunk-no-default-native",
- "enable-switchport-native-vlan": false,
- "single-homed-bfd-session-type": "auto | hardware | software",
- "access-list": [
- {
- "name": "ext-mac-permit-any-mirror-acl | ext-ip-permit-any-mirror-acl | ext-ipv6-permit-any-mirror-acl",
- "type": "mac | ip | ipv6",
- "direction": "in | out"
}
]
}, - "network-policy": {
- "ctag-range": "101-102",
- "vrf": "VRF-GREEN",
- "vrf-state": "vrf-init | vrf-created | vrf-device-created | vrf-device-static-route-delete-pending | vrf-device-static-route-bfd-delete-pending",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err",
- "l3-vni": 201,
- "network-property": [
- {
- "ctag": 101,
- "is-native-vlan": true,
- "l2-vni": 101,
- "bridge-domain-name": "BD-101-201",
- "ctag-description": "Tenant L3 Hand-off VLAN | Tenant L3 Hand-off BD | Tenant L2 Extended VLAN | Tenant L3 Extended VLAN | Tenant L2 Extended BD | Tenant L3 Extended BD | Tenant L3 Hand-off BR BD | Tenant L3 Hand-off IRB BD | Tenant L3 Extended BR BD | Tenant L3 Extended IRB BD",
- "access-list": [
- {
- "name": "ext-mac-permit-any-mirror-acl | ext-ip-permit-any-mirror-acl | ext-ipv6-permit-any-mirror-acl",
- "type": "mac | ip | ipv6",
- "direction": "in | out"
}
], - "suppress-arp": true,
- "suppress-nd": true,
- "ip-mtu": 9100,
- "anycast": {
- "ipv4-address": "20.0.0.0/24",
- "ipv6-address": "2000:1::/64"
}, - "anycast-ip-address": [
- {
- "ip-address": [
- {
- "afi": null,
- "ip-address": null
}
]
}
], - "local-ip-address": [
- {
- "mgmt-ip": "10.10.10.10",
- "ip-address": [
- {
- "afi": null,
- "ip-address": null
}
]
}
], - "dhcp-relay": [
- {
- "mgmt-ip": "10.10.10.10",
- "DhcpRelayServerIp": [
- {
- "afi": null,
- "ip-address": null,
- "vrf": null,
- "interfaceType": null,
- "interfaceName": null
}
], - "DhcpRelayGatewayIp": [
- {
- "afi": null,
- "ip-address": null,
- "interfaceType": null,
- "interfaceName": null
}
]
}
], - "ipv6-nd": {
- "ipv6-nd-mtu": 101,
- "ipv6-nd-managed-config": true,
- "ipv6-nd-other-config": true,
- "ipv6-nd-prefix": [
- {
- "ipv6-address": "2000:1::/64",
- "valid-lifetime": 259200,
- "preferred-lifetime": 259200,
- "no-advertise": true,
- "config-type": "no-autoconfig | no-onlink | off-link"
}
]
}, - "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
]
}
}
]
}
This API helps to create EndpointGroup which is a collection of ports and Portchannels on which a tenant can apply policies - port-property and network-policy. The validation includes that the port should belong to only one fabric. The parameters like ctag, swithport mode must be non-conflicting.
Create EndpointGroup
tenant_name required | string Tenant Name |
Array of objects (EndpointGroup) |
{- "tenant_name": "Tenant-A",
- "endpoint-group-list": [
- {
- "name": "EndpointGroup-1",
- "description": "EndpointGroup-Sales",
- "type": "l3-hand-off | extension | port-profile",
- "port-group": {
- "physical-port": [
- {
- "mgmt-ip": "10.25.25.100",
- "port": [
- {
- "int-type": "ethernet",
- "name": "0/1"
}
]
}
], - "port-channel": "po101 | po102"
}, - "port-property": {
- "switchport-mode": "trunk | access | trunk-no-default-native",
- "enable-switchport-native-vlan": false,
- "single-homed-bfd-session-type": "auto | hardware | software",
- "access-list": [
- {
- "name": "ext-mac-permit-any-mirror-acl | ext-ip-permit-any-mirror-acl | ext-ipv6-permit-any-mirror-acl",
- "type": "mac | ip | ipv6",
- "direction": "in | out"
}
]
}, - "network-policy": {
- "ctag-range": "101-102",
- "vrf": "VRF-GREEN",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err",
- "l3-vni": 201,
- "network-property": [
- {
- "ctag": 101,
- "is-native-vlan": true,
- "l2-vni": 101,
- "bridge-domain-name": "BD-101-201",
- "ctag-description": "Tenant L3 Hand-off VLAN | Tenant L3 Hand-off BD | Tenant L2 Extended VLAN | Tenant L3 Extended VLAN | Tenant L2 Extended BD | Tenant L3 Extended BD | Tenant L3 Hand-off BR BD | Tenant L3 Hand-off IRB BD | Tenant L3 Extended BR BD | Tenant L3 Extended IRB BD",
- "access-list": [
- {
- "name": "ext-mac-permit-any-mirror-acl | ext-ip-permit-any-mirror-acl | ext-ipv6-permit-any-mirror-acl",
- "type": "mac | ip | ipv6",
- "direction": "in | out"
}
], - "suppress-arp": true,
- "suppress-nd": true,
- "ip-mtu": 9100,
- "anycast": {
- "ipv4-address": "20.0.0.0/24",
- "ipv6-address": "2000:1::/64"
}, - "anycast-ip-address": [
- {
- "ip-address": [
- {
- "afi": null,
- "ip-address": null
}
]
}
], - "local-ip-address": [
- {
- "mgmt-ip": "10.10.10.10",
- "ip-address": [
- {
- "afi": null,
- "ip-address": null
}
]
}
], - "dhcp-relay": [
- {
- "mgmt-ip": "10.10.10.10",
- "DhcpRelayServerIp": [
- {
- "afi": null,
- "ip-address": null,
- "vrf": null,
- "interfaceType": null,
- "interfaceName": null
}
], - "DhcpRelayGatewayIp": [
- {
- "afi": null,
- "ip-address": null,
- "interfaceType": null,
- "interfaceName": null
}
]
}
], - "ipv6-nd": {
- "ipv6-nd-mtu": 101,
- "ipv6-nd-managed-config": true,
- "ipv6-nd-other-config": true,
- "ipv6-nd-prefix": [
- {
- "ipv6-address": "2000:1::/64",
- "valid-lifetime": 259200,
- "preferred-lifetime": 259200,
- "no-advertise": true,
- "config-type": "no-autoconfig | no-onlink | off-link"
}
]
}
}
]
}
}
]
}
{- "tenant_name": "Tenant-A",
- "endpoint-group-list": [
- {
- "id": 1,
- "name": "EndpointGroup-1",
- "description": "EndpointGroup-Sales",
- "type": "l3-hand-off | extension | port-profile",
- "port-group": {
- "physical-port": [
- {
- "mgmt-ip": "10.25.25.100",
- "port": [
- {
- "int-type": "ethernet",
- "name": "0/1"
}
]
}
], - "port-channel": "po101 | po102",
- "port-channel-states": [
- {
- "po": "po101",
- "po-state": "po-init | po-created | po-port-delete-pending | po-delete-pending | po-lacp-timeout-set-pending | po-description-set-pending | po-min-links-count-set-pending | po-mtu-delete-pending",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
], - "physical-port-states": [
- {
- "port": "10.10.10.1[0/1]",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
]
}, - "port-property": {
- "switchport-mode": "trunk | access | trunk-no-default-native",
- "enable-switchport-native-vlan": false,
- "single-homed-bfd-session-type": "auto | hardware | software",
- "access-list": [
- {
- "name": "ext-mac-permit-any-mirror-acl | ext-ip-permit-any-mirror-acl | ext-ipv6-permit-any-mirror-acl",
- "type": "mac | ip | ipv6",
- "direction": "in | out"
}
]
}, - "network-policy": {
- "ctag-range": "101-102",
- "vrf": "VRF-GREEN",
- "vrf-state": "vrf-init | vrf-created | vrf-device-created | vrf-device-static-route-delete-pending | vrf-device-static-route-bfd-delete-pending",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err",
- "l3-vni": 201,
- "network-property": [
- {
- "ctag": 101,
- "is-native-vlan": true,
- "l2-vni": 101,
- "bridge-domain-name": "BD-101-201",
- "ctag-description": "Tenant L3 Hand-off VLAN | Tenant L3 Hand-off BD | Tenant L2 Extended VLAN | Tenant L3 Extended VLAN | Tenant L2 Extended BD | Tenant L3 Extended BD | Tenant L3 Hand-off BR BD | Tenant L3 Hand-off IRB BD | Tenant L3 Extended BR BD | Tenant L3 Extended IRB BD",
- "access-list": [
- {
- "name": "ext-mac-permit-any-mirror-acl | ext-ip-permit-any-mirror-acl | ext-ipv6-permit-any-mirror-acl",
- "type": "mac | ip | ipv6",
- "direction": "in | out"
}
], - "suppress-arp": true,
- "suppress-nd": true,
- "ip-mtu": 9100,
- "anycast": {
- "ipv4-address": "20.0.0.0/24",
- "ipv6-address": "2000:1::/64"
}, - "anycast-ip-address": [
- {
- "ip-address": [
- {
- "afi": null,
- "ip-address": null
}
]
}
], - "local-ip-address": [
- {
- "mgmt-ip": "10.10.10.10",
- "ip-address": [
- {
- "afi": null,
- "ip-address": null
}
]
}
], - "dhcp-relay": [
- {
- "mgmt-ip": "10.10.10.10",
- "DhcpRelayServerIp": [
- {
- "afi": null,
- "ip-address": null,
- "vrf": null,
- "interfaceType": null,
- "interfaceName": null
}
], - "DhcpRelayGatewayIp": [
- {
- "afi": null,
- "ip-address": null,
- "interfaceType": null,
- "interfaceName": null
}
]
}
], - "ipv6-nd": {
- "ipv6-nd-mtu": 101,
- "ipv6-nd-managed-config": true,
- "ipv6-nd-other-config": true,
- "ipv6-nd-prefix": [
- {
- "ipv6-address": "2000:1::/64",
- "valid-lifetime": 259200,
- "preferred-lifetime": 259200,
- "no-advertise": true,
- "config-type": "no-autoconfig | no-onlink | off-link"
}
]
}, - "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
]
}, - "error": [
- {
- "mgmt-ip": "string",
- "network-policy-error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "port-property-error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "rollback-error-list": [
- {
- "code": 1000,
- "message": "string"
}
]
}
]
}
]
}
This API helps to fetch the configured details and not the operational state of the ports belonging to this EndpointGroup
name required | string Name of the EndpointGroup to retrieve |
tenant_name required | string Tenant to which this EndpointGroup belongs |
{- "id": 1,
- "name": "EndpointGroup-1",
- "description": "EndpointGroup-Sales",
- "type": "l3-hand-off | extension | port-profile",
- "tenantName": "Tenant-1",
- "state": "epg-empty | epg-with-port-group | epg-with-ctag-range | epg-with-port-group-and-ctag-range | epg-port-group-delete-pending | epg-ctag-range-delete-pending | epg-vrf-delete-pending | epg-delete-pending | epg-migration-pending | epg-local-ip-delete-pending | epg-anycast-ip-delete-pending",
- "port-group": {
- "physical-port": [
- {
- "mgmt-ip": "10.25.25.100",
- "port": [
- {
- "int-type": "ethernet",
- "name": "0/1"
}
]
}
], - "port-channel": "po101 | po102",
- "port-channel-states": [
- {
- "po": "po101",
- "po-state": "po-init | po-created | po-port-delete-pending | po-delete-pending | po-lacp-timeout-set-pending | po-description-set-pending | po-min-links-count-set-pending | po-mtu-delete-pending",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
], - "physical-port-states": [
- {
- "port": "10.10.10.1[0/1]",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
]
}, - "port-property": {
- "switchport-mode": "trunk | access | trunk-no-default-native",
- "enable-switchport-native-vlan": false,
- "single-homed-bfd-session-type": "auto | hardware | software",
- "access-list": [
- {
- "name": "ext-mac-permit-any-mirror-acl | ext-ip-permit-any-mirror-acl | ext-ipv6-permit-any-mirror-acl",
- "type": "mac | ip | ipv6",
- "direction": "in | out"
}
]
}, - "network-policy": {
- "ctag-range": "101-102",
- "vrf": "VRF-GREEN",
- "vrf-state": "vrf-init | vrf-created | vrf-device-created | vrf-device-static-route-delete-pending | vrf-device-static-route-bfd-delete-pending",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err",
- "l3-vni": 201,
- "network-property": [
- {
- "ctag": 101,
- "is-native-vlan": true,
- "l2-vni": 101,
- "bridge-domain-name": "BD-101-201",
- "ctag-description": "Tenant L3 Hand-off VLAN | Tenant L3 Hand-off BD | Tenant L2 Extended VLAN | Tenant L3 Extended VLAN | Tenant L2 Extended BD | Tenant L3 Extended BD | Tenant L3 Hand-off BR BD | Tenant L3 Hand-off IRB BD | Tenant L3 Extended BR BD | Tenant L3 Extended IRB BD",
- "access-list": [
- {
- "name": "ext-mac-permit-any-mirror-acl | ext-ip-permit-any-mirror-acl | ext-ipv6-permit-any-mirror-acl",
- "type": "mac | ip | ipv6",
- "direction": "in | out"
}
], - "suppress-arp": true,
- "suppress-nd": true,
- "ip-mtu": 9100,
- "anycast": {
- "ipv4-address": "20.0.0.0/24",
- "ipv6-address": "2000:1::/64"
}, - "anycast-ip-address": [
- {
- "ip-address": [
- {
- "afi": "ipv4",
- "ip-address": "20.0.0.0/24 | 2001:1::/64"
}
]
}
], - "local-ip-address": [
- {
- "mgmt-ip": "10.10.10.10",
- "ip-address": [
- {
- "afi": "ipv4",
- "ip-address": "20.0.0.0/24 | 2001:1::/64"
}
]
}
], - "dhcp-relay": [
- {
- "mgmt-ip": "10.10.10.10",
- "DhcpRelayServerIp": [
- {
- "afi": "ipv4 | ipv6",
- "ip-address": "10.10.10.1 | 2001::1",
- "vrf": "vrf1",
- "interfaceType": "eth | port-channel",
- "interfaceName": "0/21 | po1"
}
], - "DhcpRelayGatewayIp": [
- {
- "afi": "ipv4 | ipv6",
- "ip-address": "10.10.10.1 | 3::3",
- "interfaceType": "eth",
- "interfaceName": "0/21 | 8096"
}
]
}
], - "ipv6-nd": {
- "ipv6-nd-mtu": 101,
- "ipv6-nd-managed-config": true,
- "ipv6-nd-other-config": true,
- "ipv6-nd-prefix": [
- {
- "ipv6-address": "2000:1::/64",
- "valid-lifetime": 259200,
- "preferred-lifetime": 259200,
- "no-advertise": true,
- "config-type": "no-autoconfig | no-onlink | off-link"
}
]
}, - "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
]
}
}
This API helps to delete the endpoint if EndpointGroup is not attached to a tenant network. If it is attached to a tenant network then a force option is required to delete this EndpointGroup. The delete request with force parameter will trigger a delete operation for the network to which this EndpointGroup was attached.
Delete end point group.
tenant_name required | string Tenant Name |
force | boolean Set to true if EndpointGroup delete will require deconfiguring networks also |
required | Array of objects (EndpointGroupName) |
{- "tenant_name": "Tenant-A",
- "force": true,
- "endpoint-group-list": [
- {
- "name": "EPG-1"
}
]
}
{- "tenant_name": "Tenant-A",
- "force": true,
- "endpoint-group-list": [
- {
- "name": "EPG-1"
}
]
}
This API helps in addition of new port(s) and/or Portchannel(s) to EndpointGroup or deletion of port(s) and/or Portchannel(s) from EndpointGroup. If the EndpointGroup is linked to any tenant network, the newly added port or Portchannel will become the part of the tenant network and its appropriate L2/L3 configurations will be applied on the newly added port, Portchannel and record will be updated with tenant automation service. For deleted port and/or Portchannel from EndpointGroup, appropriate configurations will be removed from the device and record will be updated with tenant automation service.
Update the EndpointGroup PortGroup
tenant_name | string Tenant Name |
operation required | string Enum: "port-group-add" "port-group-delete" Add or delete ports from the port group |
Array of objects (EndpointGroupPortGroup) |
{- "tenant_name": "Tenant-A",
- "operation": "port-group-add | port-group-delete",
- "endpoint-group-list": [
- {
- "name": "EndpointGroup-1",
- "port-group": {
- "physical-port": [
- {
- "mgmt-ip": "10.25.25.100",
- "port": [
- {
- "int-type": "ethernet",
- "name": "0/1"
}
]
}
], - "port-channel": "po101 | po102"
}, - "port-property": {
- "switchport-mode": "trunk | access | trunk-no-default-native",
- "enable-switchport-native-vlan": false,
- "single-homed-bfd-session-type": "auto | hardware | software",
- "access-list": [
- {
- "name": "ext-mac-permit-any-mirror-acl | ext-ip-permit-any-mirror-acl | ext-ipv6-permit-any-mirror-acl",
- "type": "mac | ip | ipv6",
- "direction": "in | out"
}
]
}
}
]
}
{- "epg": [
- {
- "id": 1,
- "name": "EndpointGroup-1",
- "description": "EndpointGroup-Sales",
- "type": "l3-hand-off | extension | port-profile",
- "port-group": {
- "physical-port": [
- {
- "mgmt-ip": "10.25.25.100",
- "port": [
- {
- "int-type": "ethernet",
- "name": "0/1"
}
]
}
], - "port-channel": "po101 | po102",
- "port-channel-states": [
- {
- "po": "po101",
- "po-state": "po-init | po-created | po-port-delete-pending | po-delete-pending | po-lacp-timeout-set-pending | po-description-set-pending | po-min-links-count-set-pending | po-mtu-delete-pending",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
], - "physical-port-states": [
- {
- "port": "10.10.10.1[0/1]",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
]
}, - "port-property": {
- "switchport-mode": "trunk | access | trunk-no-default-native",
- "enable-switchport-native-vlan": false,
- "single-homed-bfd-session-type": "auto | hardware | software",
- "access-list": [
- {
- "name": "ext-mac-permit-any-mirror-acl | ext-ip-permit-any-mirror-acl | ext-ipv6-permit-any-mirror-acl",
- "type": "mac | ip | ipv6",
- "direction": "in | out"
}
]
}, - "network-policy": {
- "ctag-range": "101-102",
- "vrf": "VRF-GREEN",
- "vrf-state": "vrf-init | vrf-created | vrf-device-created | vrf-device-static-route-delete-pending | vrf-device-static-route-bfd-delete-pending",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err",
- "l3-vni": 201,
- "network-property": [
- {
- "ctag": 101,
- "is-native-vlan": true,
- "l2-vni": 101,
- "bridge-domain-name": "BD-101-201",
- "ctag-description": "Tenant L3 Hand-off VLAN | Tenant L3 Hand-off BD | Tenant L2 Extended VLAN | Tenant L3 Extended VLAN | Tenant L2 Extended BD | Tenant L3 Extended BD | Tenant L3 Hand-off BR BD | Tenant L3 Hand-off IRB BD | Tenant L3 Extended BR BD | Tenant L3 Extended IRB BD",
- "access-list": [
- {
- "name": "ext-mac-permit-any-mirror-acl | ext-ip-permit-any-mirror-acl | ext-ipv6-permit-any-mirror-acl",
- "type": "mac | ip | ipv6",
- "direction": "in | out"
}
], - "suppress-arp": true,
- "suppress-nd": true,
- "ip-mtu": 9100,
- "anycast": {
- "ipv4-address": "20.0.0.0/24",
- "ipv6-address": "2000:1::/64"
}, - "anycast-ip-address": [
- {
- "ip-address": [
- {
- "afi": null,
- "ip-address": null
}
]
}
], - "local-ip-address": [
- {
- "mgmt-ip": "10.10.10.10",
- "ip-address": [
- {
- "afi": null,
- "ip-address": null
}
]
}
], - "dhcp-relay": [
- {
- "mgmt-ip": "10.10.10.10",
- "DhcpRelayServerIp": [
- {
- "afi": null,
- "ip-address": null,
- "vrf": null,
- "interfaceType": null,
- "interfaceName": null
}
], - "DhcpRelayGatewayIp": [
- {
- "afi": null,
- "ip-address": null,
- "interfaceType": null,
- "interfaceName": null
}
]
}
], - "ipv6-nd": {
- "ipv6-nd-mtu": 101,
- "ipv6-nd-managed-config": true,
- "ipv6-nd-other-config": true,
- "ipv6-nd-prefix": [
- {
- "ipv6-address": "2000:1::/64",
- "valid-lifetime": 259200,
- "preferred-lifetime": 259200,
- "no-advertise": true,
- "config-type": "no-autoconfig | no-onlink | off-link"
}
]
}, - "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
]
}, - "error": [
- {
- "mgmt-ip": "string",
- "network-policy-error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "port-property-error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "rollback-error-list": [
- {
- "code": 1000,
- "message": "string"
}
]
}
]
}
]
}
This API helps to add, delete and update port property belonging to the EndpointGroups.
Update the EndpointGroup Port Property
tenant_name required | string Tenant Name |
operation required | string Enum: "port-property-add" "port-property-delete" "port-property-update" Add, delete or update property of port |
Array of objects (EndpointGroupUpdatePortProperty) |
{- "tenant_name": "Tenant-A",
- "operation": "port-property-add | port-property-delete | port-property-update",
- "endpoint-group-list": [
- {
- "name": "EndpointGroup-1",
- "port-property": {
- "switchport-mode": "trunk | access | trunk-no-default-native",
- "enable-switchport-native-vlan": false,
- "single-homed-bfd-session-type": "auto | hardware | software",
- "access-list": [
- {
- "name": "ext-mac-permit-any-mirror-acl | ext-ip-permit-any-mirror-acl | ext-ipv6-permit-any-mirror-acl",
- "type": "mac | ip | ipv6",
- "direction": "in | out"
}
]
}
}
]
}
{- "epg": [
- {
- "id": 1,
- "name": "EndpointGroup-1",
- "description": "EndpointGroup-Sales",
- "type": "l3-hand-off | extension | port-profile",
- "port-group": {
- "physical-port": [
- {
- "mgmt-ip": "10.25.25.100",
- "port": [
- {
- "int-type": "ethernet",
- "name": "0/1"
}
]
}
], - "port-channel": "po101 | po102",
- "port-channel-states": [
- {
- "po": "po101",
- "po-state": "po-init | po-created | po-port-delete-pending | po-delete-pending | po-lacp-timeout-set-pending | po-description-set-pending | po-min-links-count-set-pending | po-mtu-delete-pending",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
], - "physical-port-states": [
- {
- "port": "10.10.10.1[0/1]",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
]
}, - "port-property": {
- "switchport-mode": "trunk | access | trunk-no-default-native",
- "enable-switchport-native-vlan": false,
- "single-homed-bfd-session-type": "auto | hardware | software",
- "access-list": [
- {
- "name": "ext-mac-permit-any-mirror-acl | ext-ip-permit-any-mirror-acl | ext-ipv6-permit-any-mirror-acl",
- "type": "mac | ip | ipv6",
- "direction": "in | out"
}
]
}, - "network-policy": {
- "ctag-range": "101-102",
- "vrf": "VRF-GREEN",
- "vrf-state": "vrf-init | vrf-created | vrf-device-created | vrf-device-static-route-delete-pending | vrf-device-static-route-bfd-delete-pending",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err",
- "l3-vni": 201,
- "network-property": [
- {
- "ctag": 101,
- "is-native-vlan": true,
- "l2-vni": 101,
- "bridge-domain-name": "BD-101-201",
- "ctag-description": "Tenant L3 Hand-off VLAN | Tenant L3 Hand-off BD | Tenant L2 Extended VLAN | Tenant L3 Extended VLAN | Tenant L2 Extended BD | Tenant L3 Extended BD | Tenant L3 Hand-off BR BD | Tenant L3 Hand-off IRB BD | Tenant L3 Extended BR BD | Tenant L3 Extended IRB BD",
- "access-list": [
- {
- "name": "ext-mac-permit-any-mirror-acl | ext-ip-permit-any-mirror-acl | ext-ipv6-permit-any-mirror-acl",
- "type": "mac | ip | ipv6",
- "direction": "in | out"
}
], - "suppress-arp": true,
- "suppress-nd": true,
- "ip-mtu": 9100,
- "anycast": {
- "ipv4-address": "20.0.0.0/24",
- "ipv6-address": "2000:1::/64"
}, - "anycast-ip-address": [
- {
- "ip-address": [
- {
- "afi": null,
- "ip-address": null
}
]
}
], - "local-ip-address": [
- {
- "mgmt-ip": "10.10.10.10",
- "ip-address": [
- {
- "afi": null,
- "ip-address": null
}
]
}
], - "dhcp-relay": [
- {
- "mgmt-ip": "10.10.10.10",
- "DhcpRelayServerIp": [
- {
- "afi": null,
- "ip-address": null,
- "vrf": null,
- "interfaceType": null,
- "interfaceName": null
}
], - "DhcpRelayGatewayIp": [
- {
- "afi": null,
- "ip-address": null,
- "interfaceType": null,
- "interfaceName": null
}
]
}
], - "ipv6-nd": {
- "ipv6-nd-mtu": 101,
- "ipv6-nd-managed-config": true,
- "ipv6-nd-other-config": true,
- "ipv6-nd-prefix": [
- {
- "ipv6-address": "2000:1::/64",
- "valid-lifetime": 259200,
- "preferred-lifetime": 259200,
- "no-advertise": true,
- "config-type": "no-autoconfig | no-onlink | off-link"
}
]
}, - "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
]
}, - "error": [
- {
- "mgmt-ip": "string",
- "network-policy-error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "port-property-error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "rollback-error-list": [
- {
- "code": 1000,
- "message": "string"
}
]
}
]
}
]
}
This API helps in updating networks belonging to EndpointGroups. Below operations are supported -
Update the EndpointGroup NetworkPolicy
tenant_name | string Tenant Name |
operation | string Enum: "ctag-range-add" "ctag-range-delete" "vrf-add" "vrf-delete" Add or delete ctag-range and/or vrf |
Array of objects (EndpointGroupNetworkPolicy) |
{- "tenant_name": "Tenant-A",
- "operation": "ctag-range-add | ctag-range-delete | vrf-add | vrf-delete",
- "endpoint-group-list": [
- {
- "name": "EndpointGroup-1",
- "network-policy": {
- "ctag-range": "101-102",
- "vrf": "VRF-GREEN",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err",
- "l3-vni": 201,
- "network-property": [
- {
- "ctag": 101,
- "is-native-vlan": true,
- "l2-vni": 101,
- "bridge-domain-name": "BD-101-201",
- "ctag-description": "Tenant L3 Hand-off VLAN | Tenant L3 Hand-off BD | Tenant L2 Extended VLAN | Tenant L3 Extended VLAN | Tenant L2 Extended BD | Tenant L3 Extended BD | Tenant L3 Hand-off BR BD | Tenant L3 Hand-off IRB BD | Tenant L3 Extended BR BD | Tenant L3 Extended IRB BD",
- "access-list": [
- {
- "name": "ext-mac-permit-any-mirror-acl | ext-ip-permit-any-mirror-acl | ext-ipv6-permit-any-mirror-acl",
- "type": "mac | ip | ipv6",
- "direction": "in | out"
}
], - "suppress-arp": true,
- "suppress-nd": true,
- "ip-mtu": 9100,
- "anycast": {
- "ipv4-address": "20.0.0.0/24",
- "ipv6-address": "2000:1::/64"
}, - "anycast-ip-address": [
- {
- "ip-address": [
- {
- "afi": null,
- "ip-address": null
}
]
}
], - "local-ip-address": [
- {
- "mgmt-ip": "10.10.10.10",
- "ip-address": [
- {
- "afi": null,
- "ip-address": null
}
]
}
], - "dhcp-relay": [
- {
- "mgmt-ip": "10.10.10.10",
- "DhcpRelayServerIp": [
- {
- "afi": null,
- "ip-address": null,
- "vrf": null,
- "interfaceType": null,
- "interfaceName": null
}
], - "DhcpRelayGatewayIp": [
- {
- "afi": null,
- "ip-address": null,
- "interfaceType": null,
- "interfaceName": null
}
]
}
], - "ipv6-nd": {
- "ipv6-nd-mtu": 101,
- "ipv6-nd-managed-config": true,
- "ipv6-nd-other-config": true,
- "ipv6-nd-prefix": [
- {
- "ipv6-address": "2000:1::/64",
- "valid-lifetime": 259200,
- "preferred-lifetime": 259200,
- "no-advertise": true,
- "config-type": "no-autoconfig | no-onlink | off-link"
}
]
}
}
]
}
}
]
}
{- "id": 1,
- "name": "EndpointGroup-1",
- "description": "EndpointGroup-Sales",
- "type": "l3-hand-off | extension | port-profile",
- "port-group": {
- "physical-port": [
- {
- "mgmt-ip": "10.25.25.100",
- "port": [
- {
- "int-type": "ethernet",
- "name": "0/1"
}
]
}
], - "port-channel": "po101 | po102",
- "port-channel-states": [
- {
- "po": "po101",
- "po-state": "po-init | po-created | po-port-delete-pending | po-delete-pending | po-lacp-timeout-set-pending | po-description-set-pending | po-min-links-count-set-pending | po-mtu-delete-pending",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
], - "physical-port-states": [
- {
- "port": "10.10.10.1[0/1]",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
]
}, - "port-property": {
- "switchport-mode": "trunk | access | trunk-no-default-native",
- "enable-switchport-native-vlan": false,
- "single-homed-bfd-session-type": "auto | hardware | software",
- "access-list": [
- {
- "name": "ext-mac-permit-any-mirror-acl | ext-ip-permit-any-mirror-acl | ext-ipv6-permit-any-mirror-acl",
- "type": "mac | ip | ipv6",
- "direction": "in | out"
}
]
}, - "network-policy": {
- "ctag-range": "101-102",
- "vrf": "VRF-GREEN",
- "vrf-state": "vrf-init | vrf-created | vrf-device-created | vrf-device-static-route-delete-pending | vrf-device-static-route-bfd-delete-pending",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err",
- "l3-vni": 201,
- "network-property": [
- {
- "ctag": 101,
- "is-native-vlan": true,
- "l2-vni": 101,
- "bridge-domain-name": "BD-101-201",
- "ctag-description": "Tenant L3 Hand-off VLAN | Tenant L3 Hand-off BD | Tenant L2 Extended VLAN | Tenant L3 Extended VLAN | Tenant L2 Extended BD | Tenant L3 Extended BD | Tenant L3 Hand-off BR BD | Tenant L3 Hand-off IRB BD | Tenant L3 Extended BR BD | Tenant L3 Extended IRB BD",
- "access-list": [
- {
- "name": "ext-mac-permit-any-mirror-acl | ext-ip-permit-any-mirror-acl | ext-ipv6-permit-any-mirror-acl",
- "type": "mac | ip | ipv6",
- "direction": "in | out"
}
], - "suppress-arp": true,
- "suppress-nd": true,
- "ip-mtu": 9100,
- "anycast": {
- "ipv4-address": "20.0.0.0/24",
- "ipv6-address": "2000:1::/64"
}, - "anycast-ip-address": [
- {
- "ip-address": [
- {
- "afi": "ipv4",
- "ip-address": "20.0.0.0/24 | 2001:1::/64"
}
]
}
], - "local-ip-address": [
- {
- "mgmt-ip": "10.10.10.10",
- "ip-address": [
- {
- "afi": "ipv4",
- "ip-address": "20.0.0.0/24 | 2001:1::/64"
}
]
}
], - "dhcp-relay": [
- {
- "mgmt-ip": "10.10.10.10",
- "DhcpRelayServerIp": [
- {
- "afi": "ipv4 | ipv6",
- "ip-address": "10.10.10.1 | 2001::1",
- "vrf": "vrf1",
- "interfaceType": "eth | port-channel",
- "interfaceName": "0/21 | po1"
}
], - "DhcpRelayGatewayIp": [
- {
- "afi": "ipv4 | ipv6",
- "ip-address": "10.10.10.1 | 3::3",
- "interfaceType": "eth",
- "interfaceName": "0/21 | 8096"
}
]
}
], - "ipv6-nd": {
- "ipv6-nd-mtu": 101,
- "ipv6-nd-managed-config": true,
- "ipv6-nd-other-config": true,
- "ipv6-nd-prefix": [
- {
- "ipv6-address": "2000:1::/64",
- "valid-lifetime": 259200,
- "preferred-lifetime": 259200,
- "no-advertise": true,
- "config-type": "no-autoconfig | no-onlink | off-link"
}
]
}, - "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
]
}, - "error": [
- {
- "mgmt-ip": "string",
- "network-policy-error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "port-property-error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "rollback-error-list": [
- {
- "code": 1000,
- "message": "string"
}
]
}
]
}
This API helps in updating properties of the networks belonging to the EndpointGroups. Below operation are supported -
Update the EndpointGroup NetworkProperty
tenant_name | string Tenant Name |
operation | string Enum: "local-ip-add" "local-ip-delete" "anycast-ip-add" "anycast-ip-delete" "dhcp-relay-address-ip-add" "dhcp-relay-address-ip-delete" "dhcp-relay-gateway-ip-add" "dhcp-relay-gateway-ip-delete" Add or delete local-ip and/or anycast-ip and/or dhcp-relay-address-ip and/or dhcp-relay-gateway-ip |
Array of objects (EndpointGroupNetworkProperty) |
{- "tenant_name": "Tenant-A",
- "operation": "local-ip-add | local-ip-delete | anycast-ip-add | anycast-ip-delete | dhcp-relay-address-ip-add | dhcp-relay-address-ip-delete | dhcp-relay-gateway-ip-add | dhcp-relay-gateway-ip-delete",
- "endpoint-group-list": [
- {
- "name": "EndpointGroup-1",
- "network-property": [
- {
- "ctag": 101,
- "suppress-arp": true,
- "suppress-nd": true,
- "ip-mtu": 9100,
- "anycast": {
- "ipv4-address": "20.0.0.0/24",
- "ipv6-address": "2000:1::/64"
}, - "anycast-ip-address": [
- {
- "ip-address": [
- {
- "afi": "ipv4",
- "ip-address": "20.0.0.0/24 | 2001:1::/64"
}
]
}
], - "local-ip-address": [
- {
- "mgmt-ip": "10.10.10.10",
- "ip-address": [
- {
- "afi": "ipv4",
- "ip-address": "20.0.0.0/24 | 2001:1::/64"
}
]
}
], - "dhcp-relay": [
- {
- "mgmt-ip": "10.10.10.10",
- "DhcpRelayServerIp": [
- {
- "afi": "ipv4 | ipv6",
- "ip-address": "10.10.10.1 | 2001::1",
- "vrf": "vrf1",
- "interfaceType": "eth | port-channel",
- "interfaceName": "0/21 | po1"
}
], - "DhcpRelayGatewayIp": [
- {
- "afi": "ipv4 | ipv6",
- "ip-address": "10.10.10.1 | 3::3",
- "interfaceType": "eth",
- "interfaceName": "0/21 | 8096"
}
]
}
], - "ipv6-nd": {
- "ipv6-nd-mtu": 101,
- "ipv6-nd-managed-config": true,
- "ipv6-nd-other-config": true,
- "ipv6-nd-prefix": [
- {
- "ipv6-address": "2000:1::/64",
- "valid-lifetime": 259200,
- "preferred-lifetime": 259200,
- "no-advertise": true,
- "config-type": "no-autoconfig | no-onlink | off-link"
}
]
}
}
]
}
]
}
{- "id": 1,
- "name": "EndpointGroup-1",
- "description": "EndpointGroup-Sales",
- "type": "l3-hand-off | extension | port-profile",
- "port-group": {
- "physical-port": [
- {
- "mgmt-ip": "10.25.25.100",
- "port": [
- {
- "int-type": "ethernet",
- "name": "0/1"
}
]
}
], - "port-channel": "po101 | po102",
- "port-channel-states": [
- {
- "po": "po101",
- "po-state": "po-init | po-created | po-port-delete-pending | po-delete-pending | po-lacp-timeout-set-pending | po-description-set-pending | po-min-links-count-set-pending | po-mtu-delete-pending",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
], - "physical-port-states": [
- {
- "port": "10.10.10.1[0/1]",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
]
}, - "port-property": {
- "switchport-mode": "trunk | access | trunk-no-default-native",
- "enable-switchport-native-vlan": false,
- "single-homed-bfd-session-type": "auto | hardware | software",
- "access-list": [
- {
- "name": "ext-mac-permit-any-mirror-acl | ext-ip-permit-any-mirror-acl | ext-ipv6-permit-any-mirror-acl",
- "type": "mac | ip | ipv6",
- "direction": "in | out"
}
]
}, - "network-policy": {
- "ctag-range": "101-102",
- "vrf": "VRF-GREEN",
- "vrf-state": "vrf-init | vrf-created | vrf-device-created | vrf-device-static-route-delete-pending | vrf-device-static-route-bfd-delete-pending",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err",
- "l3-vni": 201,
- "network-property": [
- {
- "ctag": 101,
- "is-native-vlan": true,
- "l2-vni": 101,
- "bridge-domain-name": "BD-101-201",
- "ctag-description": "Tenant L3 Hand-off VLAN | Tenant L3 Hand-off BD | Tenant L2 Extended VLAN | Tenant L3 Extended VLAN | Tenant L2 Extended BD | Tenant L3 Extended BD | Tenant L3 Hand-off BR BD | Tenant L3 Hand-off IRB BD | Tenant L3 Extended BR BD | Tenant L3 Extended IRB BD",
- "access-list": [
- {
- "name": "ext-mac-permit-any-mirror-acl | ext-ip-permit-any-mirror-acl | ext-ipv6-permit-any-mirror-acl",
- "type": "mac | ip | ipv6",
- "direction": "in | out"
}
], - "suppress-arp": true,
- "suppress-nd": true,
- "ip-mtu": 9100,
- "anycast": {
- "ipv4-address": "20.0.0.0/24",
- "ipv6-address": "2000:1::/64"
}, - "anycast-ip-address": [
- {
- "ip-address": [
- {
- "afi": "ipv4",
- "ip-address": "20.0.0.0/24 | 2001:1::/64"
}
]
}
], - "local-ip-address": [
- {
- "mgmt-ip": "10.10.10.10",
- "ip-address": [
- {
- "afi": "ipv4",
- "ip-address": "20.0.0.0/24 | 2001:1::/64"
}
]
}
], - "dhcp-relay": [
- {
- "mgmt-ip": "10.10.10.10",
- "DhcpRelayServerIp": [
- {
- "afi": "ipv4 | ipv6",
- "ip-address": "10.10.10.1 | 2001::1",
- "vrf": "vrf1",
- "interfaceType": "eth | port-channel",
- "interfaceName": "0/21 | po1"
}
], - "DhcpRelayGatewayIp": [
- {
- "afi": "ipv4 | ipv6",
- "ip-address": "10.10.10.1 | 3::3",
- "interfaceType": "eth",
- "interfaceName": "0/21 | 8096"
}
]
}
], - "ipv6-nd": {
- "ipv6-nd-mtu": 101,
- "ipv6-nd-managed-config": true,
- "ipv6-nd-other-config": true,
- "ipv6-nd-prefix": [
- {
- "ipv6-address": "2000:1::/64",
- "valid-lifetime": 259200,
- "preferred-lifetime": 259200,
- "no-advertise": true,
- "config-type": "no-autoconfig | no-onlink | off-link"
}
]
}, - "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
]
}, - "error": [
- {
- "mgmt-ip": "string",
- "network-policy-error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "port-property-error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "rollback-error-list": [
- {
- "code": 1000,
- "message": "string"
}
]
}
]
}
This API helps to add, delete and update network property belonging to the EndpointGroups.
Update EndpointGroup Network Policy Network Property
tenant_name required | string Tenant Name |
operation required | string Enum: "network-property-add" "network-property-delete" "network-property-update" Add, delete or update property of network |
Array of objects (EndpointGroupUpdateNetworkProperty) |
{- "tenant_name": "Tenant-A",
- "operation": "network-property-add | network-property-delete | network-property-update",
- "endpoint-group-list": [
- {
- "name": "EndpointGroup-1",
- "network-property": [
- {
- "ctag": 101,
- "is-native-vlan": true,
- "l2-vni": 101,
- "bridge-domain-name": "BD-101-201",
- "ctag-description": "Tenant L3 Hand-off VLAN | Tenant L3 Hand-off BD | Tenant L2 Extended VLAN | Tenant L3 Extended VLAN | Tenant L2 Extended BD | Tenant L3 Extended BD | Tenant L3 Hand-off BR BD | Tenant L3 Hand-off IRB BD | Tenant L3 Extended BR BD | Tenant L3 Extended IRB BD",
- "access-list": [
- {
- "name": "ext-mac-permit-any-mirror-acl | ext-ip-permit-any-mirror-acl | ext-ipv6-permit-any-mirror-acl",
- "type": "mac | ip | ipv6",
- "direction": "in | out"
}
], - "suppress-arp": true,
- "suppress-nd": true,
- "ip-mtu": 9100,
- "anycast": {
- "ipv4-address": "20.0.0.0/24",
- "ipv6-address": "2000:1::/64"
}, - "anycast-ip-address": [
- {
- "ip-address": [
- {
- "afi": "ipv4",
- "ip-address": "20.0.0.0/24 | 2001:1::/64"
}
]
}
], - "local-ip-address": [
- {
- "mgmt-ip": "10.10.10.10",
- "ip-address": [
- {
- "afi": "ipv4",
- "ip-address": "20.0.0.0/24 | 2001:1::/64"
}
]
}
], - "dhcp-relay": [
- {
- "mgmt-ip": "10.10.10.10",
- "DhcpRelayServerIp": [
- {
- "afi": "ipv4 | ipv6",
- "ip-address": "10.10.10.1 | 2001::1",
- "vrf": "vrf1",
- "interfaceType": "eth | port-channel",
- "interfaceName": "0/21 | po1"
}
], - "DhcpRelayGatewayIp": [
- {
- "afi": "ipv4 | ipv6",
- "ip-address": "10.10.10.1 | 3::3",
- "interfaceType": "eth",
- "interfaceName": "0/21 | 8096"
}
]
}
], - "ipv6-nd": {
- "ipv6-nd-mtu": 101,
- "ipv6-nd-managed-config": true,
- "ipv6-nd-other-config": true,
- "ipv6-nd-prefix": [
- {
- "ipv6-address": "2000:1::/64",
- "valid-lifetime": 259200,
- "preferred-lifetime": 259200,
- "no-advertise": true,
- "config-type": "no-autoconfig | no-onlink | off-link"
}
]
}
}
]
}
]
}
{- "epg": [
- {
- "id": 1,
- "name": "EndpointGroup-1",
- "description": "EndpointGroup-Sales",
- "type": "l3-hand-off | extension | port-profile",
- "port-group": {
- "physical-port": [
- {
- "mgmt-ip": "10.25.25.100",
- "port": [
- {
- "int-type": "ethernet",
- "name": "0/1"
}
]
}
], - "port-channel": "po101 | po102",
- "port-channel-states": [
- {
- "po": "po101",
- "po-state": "po-init | po-created | po-port-delete-pending | po-delete-pending | po-lacp-timeout-set-pending | po-description-set-pending | po-min-links-count-set-pending | po-mtu-delete-pending",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
], - "physical-port-states": [
- {
- "port": "10.10.10.1[0/1]",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
]
}, - "port-property": {
- "switchport-mode": "trunk | access | trunk-no-default-native",
- "enable-switchport-native-vlan": false,
- "single-homed-bfd-session-type": "auto | hardware | software",
- "access-list": [
- {
- "name": "ext-mac-permit-any-mirror-acl | ext-ip-permit-any-mirror-acl | ext-ipv6-permit-any-mirror-acl",
- "type": "mac | ip | ipv6",
- "direction": "in | out"
}
]
}, - "network-policy": {
- "ctag-range": "101-102",
- "vrf": "VRF-GREEN",
- "vrf-state": "vrf-init | vrf-created | vrf-device-created | vrf-device-static-route-delete-pending | vrf-device-static-route-bfd-delete-pending",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err",
- "l3-vni": 201,
- "network-property": [
- {
- "ctag": 101,
- "is-native-vlan": true,
- "l2-vni": 101,
- "bridge-domain-name": "BD-101-201",
- "ctag-description": "Tenant L3 Hand-off VLAN | Tenant L3 Hand-off BD | Tenant L2 Extended VLAN | Tenant L3 Extended VLAN | Tenant L2 Extended BD | Tenant L3 Extended BD | Tenant L3 Hand-off BR BD | Tenant L3 Hand-off IRB BD | Tenant L3 Extended BR BD | Tenant L3 Extended IRB BD",
- "access-list": [
- {
- "name": "ext-mac-permit-any-mirror-acl | ext-ip-permit-any-mirror-acl | ext-ipv6-permit-any-mirror-acl",
- "type": "mac | ip | ipv6",
- "direction": "in | out"
}
], - "suppress-arp": true,
- "suppress-nd": true,
- "ip-mtu": 9100,
- "anycast": {
- "ipv4-address": "20.0.0.0/24",
- "ipv6-address": "2000:1::/64"
}, - "anycast-ip-address": [
- {
- "ip-address": [
- {
- "afi": null,
- "ip-address": null
}
]
}
], - "local-ip-address": [
- {
- "mgmt-ip": "10.10.10.10",
- "ip-address": [
- {
- "afi": null,
- "ip-address": null
}
]
}
], - "dhcp-relay": [
- {
- "mgmt-ip": "10.10.10.10",
- "DhcpRelayServerIp": [
- {
- "afi": null,
- "ip-address": null,
- "vrf": null,
- "interfaceType": null,
- "interfaceName": null
}
], - "DhcpRelayGatewayIp": [
- {
- "afi": null,
- "ip-address": null,
- "interfaceType": null,
- "interfaceName": null
}
]
}
], - "ipv6-nd": {
- "ipv6-nd-mtu": 101,
- "ipv6-nd-managed-config": true,
- "ipv6-nd-other-config": true,
- "ipv6-nd-prefix": [
- {
- "ipv6-address": "2000:1::/64",
- "valid-lifetime": 259200,
- "preferred-lifetime": 259200,
- "no-advertise": true,
- "config-type": "no-autoconfig | no-onlink | off-link"
}
]
}, - "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
]
}, - "error": [
- {
- "mgmt-ip": "string",
- "network-policy-error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "port-property-error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "rollback-error-list": [
- {
- "code": 1000,
- "message": "string"
}
]
}
]
}
]
}
This API helps user to split network or range of networks from the EndpointGroup into another EndpointGroup for allowing user to do operations on the newly created EndpointGroup
Detach EndpointGroup
tenant_name required | string Name of the tenant to which this EndpointGroup belongs |
from-epg required | string Unique name of the EndpointGroup |
to-epg required | string New EndpointGroup name on which these network(s) will be created |
to-epg-description | string Description about EndpointGroup |
ctag-range | string Range of Ctags to detach |
{- "tenant_name": "Tenant-1",
- "from-epg": "EndpointGroup-1",
- "to-epg": "EndpointGroup-2",
- "to-epg-description": "EndpointGroup-Finance",
- "ctag-range": "2-30"
}
{- "id": 1,
- "name": "EndpointGroup-1",
- "description": "EndpointGroup-Sales",
- "type": "l3-hand-off | extension | port-profile",
- "port-group": {
- "physical-port": [
- {
- "mgmt-ip": "10.25.25.100",
- "port": [
- {
- "int-type": "ethernet",
- "name": "0/1"
}
]
}
], - "port-channel": "po101 | po102",
- "port-channel-states": [
- {
- "po": "po101",
- "po-state": "po-init | po-created | po-port-delete-pending | po-delete-pending | po-lacp-timeout-set-pending | po-description-set-pending | po-min-links-count-set-pending | po-mtu-delete-pending",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
], - "physical-port-states": [
- {
- "port": "10.10.10.1[0/1]",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
]
}, - "port-property": {
- "switchport-mode": "trunk | access | trunk-no-default-native",
- "enable-switchport-native-vlan": false,
- "single-homed-bfd-session-type": "auto | hardware | software",
- "access-list": [
- {
- "name": "ext-mac-permit-any-mirror-acl | ext-ip-permit-any-mirror-acl | ext-ipv6-permit-any-mirror-acl",
- "type": "mac | ip | ipv6",
- "direction": "in | out"
}
]
}, - "network-policy": {
- "ctag-range": "101-102",
- "vrf": "VRF-GREEN",
- "vrf-state": "vrf-init | vrf-created | vrf-device-created | vrf-device-static-route-delete-pending | vrf-device-static-route-bfd-delete-pending",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err",
- "l3-vni": 201,
- "network-property": [
- {
- "ctag": 101,
- "is-native-vlan": true,
- "l2-vni": 101,
- "bridge-domain-name": "BD-101-201",
- "ctag-description": "Tenant L3 Hand-off VLAN | Tenant L3 Hand-off BD | Tenant L2 Extended VLAN | Tenant L3 Extended VLAN | Tenant L2 Extended BD | Tenant L3 Extended BD | Tenant L3 Hand-off BR BD | Tenant L3 Hand-off IRB BD | Tenant L3 Extended BR BD | Tenant L3 Extended IRB BD",
- "access-list": [
- {
- "name": "ext-mac-permit-any-mirror-acl | ext-ip-permit-any-mirror-acl | ext-ipv6-permit-any-mirror-acl",
- "type": "mac | ip | ipv6",
- "direction": "in | out"
}
], - "suppress-arp": true,
- "suppress-nd": true,
- "ip-mtu": 9100,
- "anycast": {
- "ipv4-address": "20.0.0.0/24",
- "ipv6-address": "2000:1::/64"
}, - "anycast-ip-address": [
- {
- "ip-address": [
- {
- "afi": "ipv4",
- "ip-address": "20.0.0.0/24 | 2001:1::/64"
}
]
}
], - "local-ip-address": [
- {
- "mgmt-ip": "10.10.10.10",
- "ip-address": [
- {
- "afi": "ipv4",
- "ip-address": "20.0.0.0/24 | 2001:1::/64"
}
]
}
], - "dhcp-relay": [
- {
- "mgmt-ip": "10.10.10.10",
- "DhcpRelayServerIp": [
- {
- "afi": "ipv4 | ipv6",
- "ip-address": "10.10.10.1 | 2001::1",
- "vrf": "vrf1",
- "interfaceType": "eth | port-channel",
- "interfaceName": "0/21 | po1"
}
], - "DhcpRelayGatewayIp": [
- {
- "afi": "ipv4 | ipv6",
- "ip-address": "10.10.10.1 | 3::3",
- "interfaceType": "eth",
- "interfaceName": "0/21 | 8096"
}
]
}
], - "ipv6-nd": {
- "ipv6-nd-mtu": 101,
- "ipv6-nd-managed-config": true,
- "ipv6-nd-other-config": true,
- "ipv6-nd-prefix": [
- {
- "ipv6-address": "2000:1::/64",
- "valid-lifetime": 259200,
- "preferred-lifetime": 259200,
- "no-advertise": true,
- "config-type": "no-autoconfig | no-onlink | off-link"
}
]
}, - "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
]
}, - "error": [
- {
- "mgmt-ip": "string",
- "network-policy-error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "port-property-error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "rollback-error-list": [
- {
- "code": 1000,
- "message": "string"
}
]
}
]
}
This API helps to configure EndpointGroup
name required | string Name of the EndpointGroup to configure |
tenant_name required | string Tenant to which this EndpointGroup belongs |
{- "id": 1,
- "name": "EndpointGroup-1",
- "error": [
- {
- "mgmt-ip": "string",
- "network-policy-error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "port-property-error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "rollback-error-list": [
- {
- "code": 1000,
- "message": "string"
}
]
}
]
}
This API helps to fetch EndpointGroup errors
name required | string Name of the EndpointGroup to retrieve errors |
tenant_name required | string Tenant to which this EndpointGroup belongs |
{- "id": 1,
- "name": "EndpointGroup-1",
- "error": [
- {
- "mgmt-ip": "string",
- "network-policy-error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "port-property-error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "rollback-error-list": [
- {
- "code": 1000,
- "message": "string"
}
]
}
]
}
This API helps to get all BGP Peer-Group configured with tenant service
tenant_name | string Tenant to which this BGP Peer-Group belongs |
{- "tenant_name": "Tenant-A",
- "bgp-service-peer-group-list": [
- {
- "id": 1,
- "name": "bgp-peer-group-1",
- "state": "bgp-pg-init | bgp-pg-created | bgp-pg-delete-pending | bgp-pg-peer-group-delete-pending",
- "description": "bgp-peer-group-ext-gw1",
- "bgp-service-peer-group": [
- {
- "mgmt-ip": "10.25.25.100",
- "peer-group-list": [
- {
- "peer-group-name": "bgp-peer-group-1",
- "remote-as": 65000,
- "bfd-enable": true,
- "bfd-interval": 300,
- "bfd-rx": 300,
- "bfd-multiplier": 5,
- "next-hop-self": true,
- "update-source-type": "ip",
- "update-source-value": "192.168.1.1",
- "md5-password": "password",
- "encrypted-md5-password": "$9$MCgKGaNt6OASX68/7TC6Lw==",
- "remove-private-as": true,
- "vrf-list": [
- {
- "vrf": "default-vrf",
- "afi": "ipv4 | ipv6",
- "safi": "unicast",
- "af-bgp-peer-group": [
- null
]
}
], - "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
]
}
], - "error": [
- {
- "mgmt-ip": "string",
- "bgp-peer-group-config-error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "rollback-error-list": [
- {
- "code": 1000,
- "message": "string"
}
]
}
]
}
]
}
This API helps to create BGP Peer-Group which is a collection of BGP Peer-Group configuration done on router bgp instance of a device
Create BGP Peer-Group
tenant_name required | string Tenant Name |
Array of objects (BgpServicePeerGroup) |
{- "tenant_name": "Tenant-A",
- "bgp-service-peer-group-list": [
- {
- "name": "bgp-peer-group-1",
- "description": "bgp-peer-group-ext-gw1",
- "bgp-service-peer-group": [
- {
- "mgmt-ip": "10.25.25.100",
- "peer-group-list": [
- {
- "peer-group-name": "bgp-peer-group-1",
- "remote-as": 65000,
- "bfd-enable": true,
- "bfd-interval": 300,
- "bfd-rx": 300,
- "bfd-multiplier": 5,
- "next-hop-self": true,
- "update-source-type": "ip",
- "update-source-value": "192.168.1.1",
- "md5-password": "password",
- "remove-private-as": true,
- "vrf-list": [
- {
- "vrf": "default-vrf",
- "afi": "ipv4 | ipv6",
- "safi": "unicast",
- "af-bgp-peer-group": [
- null
]
}
]
}
]
}
]
}
]
}
{- "tenant_name": "Tenant-A",
- "bgp-service-peer-group-list": [
- {
- "id": 1,
- "name": "bgp-peer-group-1",
- "state": "bgp-pg-init | bgp-pg-created | bgp-pg-delete-pending | bgp-pg-peer-group-delete-pending",
- "description": "bgp-peer-group-ext-gw1",
- "bgp-service-peer-group": [
- {
- "mgmt-ip": "10.25.25.100",
- "peer-group-list": [
- {
- "peer-group-name": "bgp-peer-group-1",
- "remote-as": 65000,
- "bfd-enable": true,
- "bfd-interval": 300,
- "bfd-rx": 300,
- "bfd-multiplier": 5,
- "next-hop-self": true,
- "update-source-type": "ip",
- "update-source-value": "192.168.1.1",
- "md5-password": "password",
- "encrypted-md5-password": "$9$MCgKGaNt6OASX68/7TC6Lw==",
- "remove-private-as": true,
- "vrf-list": [
- {
- "vrf": "default-vrf",
- "afi": "ipv4 | ipv6",
- "safi": "unicast",
- "af-bgp-peer-group": [
- null
]
}
], - "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
]
}
], - "error": [
- {
- "mgmt-ip": "string",
- "bgp-peer-group-config-error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "rollback-error-list": [
- {
- "code": 1000,
- "message": "string"
}
]
}
]
}
]
}
This API helps to add and delete of BGP Peer-Group config on router bgp instance on device(s). Below operation are supported -
Update BGP Service.
tenant_name required | string Tenant Name |
operation required | string Enum: "peer-group-add" "peer-group-delete" "desc-update" |
object (BgpServicePeerGroup) |
{- "tenant_name": "Tenant-A",
- "operation": "peer-group-add | peer-group-delete | desc-update",
- "bgp-service-peer-group-update": {
- "name": "bgp-peer-group-1",
- "description": "bgp-peer-group-ext-gw1",
- "bgp-service-peer-group": [
- {
- "mgmt-ip": "10.25.25.100",
- "peer-group-list": [
- {
- "peer-group-name": "bgp-peer-group-1",
- "remote-as": 65000,
- "bfd-enable": true,
- "bfd-interval": 300,
- "bfd-rx": 300,
- "bfd-multiplier": 5,
- "next-hop-self": true,
- "update-source-type": "ip",
- "update-source-value": "192.168.1.1",
- "md5-password": "password",
- "remove-private-as": true,
- "vrf-list": [
- {
- "vrf": "default-vrf",
- "afi": "ipv4 | ipv6",
- "safi": "unicast",
- "af-bgp-peer-group": [
- {
- "route-map": [ ],
- "prefix-list": [ ],
- "send-community": null
}
]
}
]
}
]
}
]
}
}
{- "id": 1,
- "name": "bgp-peer-group-1",
- "state": "bgp-pg-init | bgp-pg-created | bgp-pg-delete-pending | bgp-pg-peer-group-delete-pending",
- "description": "bgp-peer-group-ext-gw1",
- "bgp-service-peer-group": [
- {
- "mgmt-ip": "10.25.25.100",
- "peer-group-list": [
- {
- "peer-group-name": "bgp-peer-group-1",
- "remote-as": 65000,
- "bfd-enable": true,
- "bfd-interval": 300,
- "bfd-rx": 300,
- "bfd-multiplier": 5,
- "next-hop-self": true,
- "update-source-type": "ip",
- "update-source-value": "192.168.1.1",
- "md5-password": "password",
- "encrypted-md5-password": "$9$MCgKGaNt6OASX68/7TC6Lw==",
- "remove-private-as": true,
- "vrf-list": [
- {
- "vrf": "default-vrf",
- "afi": "ipv4 | ipv6",
- "safi": "unicast",
- "af-bgp-peer-group": [
- {
- "route-map": [
- null
], - "prefix-list": [
- null
], - "send-community": "extended"
}
]
}
], - "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
]
}
], - "error": [
- {
- "mgmt-ip": "string",
- "bgp-peer-group-config-error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "rollback-error-list": [
- {
- "code": 1000,
- "message": "string"
}
]
}
]
}
This API helps to delete the BGP Peer-Group
name required | string Name of the BGP Peer-Group to delete |
tenant_name required | string Tenant to which this BGP Peer-Group belongs |
force | boolean Use force parameter to remove the BGP Peer-Group forcefully. This will remove the relevant configurations from the devices by ignoring errors during deletion or in case of device not reachable. Some configuration may be left on the device if force de-configuration fails. |
{- "id": 1,
- "name": "bgp-peer-group-1",
- "state": "bgp-pg-init | bgp-pg-created | bgp-pg-delete-pending | bgp-pg-peer-group-delete-pending",
- "description": "bgp-peer-group-ext-gw1",
- "bgp-service-peer-group": [
- {
- "mgmt-ip": "10.25.25.100",
- "peer-group-list": [
- {
- "peer-group-name": "bgp-peer-group-1",
- "remote-as": 65000,
- "bfd-enable": true,
- "bfd-interval": 300,
- "bfd-rx": 300,
- "bfd-multiplier": 5,
- "next-hop-self": true,
- "update-source-type": "ip",
- "update-source-value": "192.168.1.1",
- "md5-password": "password",
- "encrypted-md5-password": "$9$MCgKGaNt6OASX68/7TC6Lw==",
- "remove-private-as": true,
- "vrf-list": [
- {
- "vrf": "default-vrf",
- "afi": "ipv4 | ipv6",
- "safi": "unicast",
- "af-bgp-peer-group": [
- {
- "route-map": [
- null
], - "prefix-list": [
- null
], - "send-community": "extended"
}
]
}
], - "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
]
}
], - "error": [
- {
- "mgmt-ip": "string",
- "bgp-peer-group-config-error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "rollback-error-list": [
- {
- "code": 1000,
- "message": "string"
}
]
}
]
}
This API helps to fetch the configured details of the peer-config belonging to this BGP Service
name required | string Name of the BGP Peer-Group to retrieve |
tenant_name required | string Tenant to which this BGP Peer-Group belongs |
{- "id": 1,
- "name": "bgp-peer-group-1",
- "state": "bgp-pg-init | bgp-pg-created | bgp-pg-delete-pending | bgp-pg-peer-group-delete-pending",
- "description": "bgp-peer-group-ext-gw1",
- "bgp-service-peer-group": [
- {
- "mgmt-ip": "10.25.25.100",
- "peer-group-list": [
- {
- "peer-group-name": "bgp-peer-group-1",
- "remote-as": 65000,
- "bfd-enable": true,
- "bfd-interval": 300,
- "bfd-rx": 300,
- "bfd-multiplier": 5,
- "next-hop-self": true,
- "update-source-type": "ip",
- "update-source-value": "192.168.1.1",
- "md5-password": "password",
- "encrypted-md5-password": "$9$MCgKGaNt6OASX68/7TC6Lw==",
- "remove-private-as": true,
- "vrf-list": [
- {
- "vrf": "default-vrf",
- "afi": "ipv4 | ipv6",
- "safi": "unicast",
- "af-bgp-peer-group": [
- {
- "route-map": [
- null
], - "prefix-list": [
- null
], - "send-community": "extended"
}
]
}
], - "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
]
}
], - "error": [
- {
- "mgmt-ip": "string",
- "bgp-peer-group-config-error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "rollback-error-list": [
- {
- "code": 1000,
- "message": "string"
}
]
}
]
}
This API helps to configure BGP Peer-Group
name required | string Name of the BGP Peer-Group to configure |
tenant_name required | string Tenant to which this BGP Peer-Group belongs |
{- "id": 1,
- "name": "bgp-peer-group-1",
- "state": "bgp-pg-init | bgp-pg-created | bgp-pg-delete-pending | bgp-pg-peer-group-delete-pending",
- "description": "bgp-peer-group-ext-gw1",
- "bgp-service-peer-group": [
- {
- "mgmt-ip": "10.25.25.100",
- "peer-group-list": [
- {
- "peer-group-name": "bgp-peer-group-1",
- "remote-as": 65000,
- "bfd-enable": true,
- "bfd-interval": 300,
- "bfd-rx": 300,
- "bfd-multiplier": 5,
- "next-hop-self": true,
- "update-source-type": "ip",
- "update-source-value": "192.168.1.1",
- "md5-password": "password",
- "encrypted-md5-password": "$9$MCgKGaNt6OASX68/7TC6Lw==",
- "remove-private-as": true,
- "vrf-list": [
- {
- "vrf": "default-vrf",
- "afi": "ipv4 | ipv6",
- "safi": "unicast",
- "af-bgp-peer-group": [
- {
- "route-map": [
- null
], - "prefix-list": [
- null
], - "send-community": "extended"
}
]
}
], - "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
]
}
], - "error": [
- {
- "mgmt-ip": "string",
- "bgp-peer-group-config-error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "rollback-error-list": [
- {
- "code": 1000,
- "message": "string"
}
]
}
]
}
This API helps to get all BGP Peer configured with tenant service
object {"group_by":"name"} Responses grouped by name {"filter":[{"name":"state","value":"bgp-peer-created"}] Responses searched by state="bgp-peer-created" {"fuzzy":"sampleBGP"} Responses searched using fuzzy search "sampleBGP" | |
object {"sort_by":"asc|desc"} Responses with id in ascending or descending order {"offset" : "lt:30"} Responses searched with id less than 30 {"page_size":20} Responses searched with limit of 20 entries | |
tenant_name | string Tenant to which this BGP Peer-Group belongs |
{- "paginationResponse": {
- "remaining_count": 0,
- "first_id": 0,
- "last_id": 0
}, - "tenant_name": "Tenant-A",
- "peer-list": [
- {
- "id": 1,
- "name": "bgp-peer-1",
- "tenantName": "Tenant-1",
- "state": "bgp-peer-init | bgp-peer-created | bgp-peer-delete-pending | bgp-peer-peer-delete-pending",
- "description": "bgp-peer-ext-gw1",
- "peer": [
- {
- "mgmt-ip": "10.25.25.100",
- "vrf-list": [
- {
- "vrf": "VRF-GREEN",
- "afi": "ipv4 | ipv6",
- "safi": "unicast",
- "af-ip-neighbor": [
- {
- "neighbor-address": "10.25.25.100",
- "remote-as": 65000,
- "next-hop-self": "true | false | always",
- "update-source-ip": "10.25.25.100",
- "bfd-enable": true,
- "bfd-interval": 300,
- "bfd-rx": 300,
- "bfd-multiplier": 5,
- "md5-password": "password",
- "encrypted-md5-password": "$9$MCgKGaNt6OASX68/7TC6Lw==",
- "remove-private-as": true,
- "default-originate": true,
- "default-originate-route-map": "routeMap1",
- "prefix-list": [
- null
], - "route-map": [
- null
], - "send-community": "extended",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
], - "af-ip-dynamic-neighbor": [
- {
- "listen-range": "10.10.10.10/24",
- "peer-group-name": "pg1",
- "listen-limit": 10,
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
]
}
]
}
], - "error": [
- {
- "mgmt-ip": "string",
- "bgp-peer-config-error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "rollback-error-list": [
- {
- "code": 1000,
- "message": "string"
}
]
}
]
}
]
}
This API helps to create BGP Peer which is a collection of BGP Peer configuration done on router bgp instance of a device for a provided Vrf. This provides the means to extend networks created by EndpointGroup to establish bgp session with its peer towards the external gateway and compute.
Create BGP Peer
object | |
tenant_name required | string Tenant Name |
Array of objects (BgpPeer) |
{- "paginationResponse": {
- "remaining_count": 0,
- "first_id": 0,
- "last_id": 0
}, - "tenant_name": "Tenant-A",
- "peer-list": [
- {
- "name": "bgp-peer-1",
- "tenantName": "Tenant-1",
- "description": "bgp-peer-ext-gw1",
- "peer": [
- {
- "mgmt-ip": "10.25.25.100",
- "vrf-list": [
- {
- "vrf": "VRF-GREEN",
- "afi": "ipv4 | ipv6",
- "safi": "unicast",
- "af-ip-neighbor": [
- {
- "neighbor-address": "10.25.25.100",
- "remote-as": 65000,
- "next-hop-self": "true | false | always",
- "update-source-ip": "10.25.25.100",
- "bfd-enable": true,
- "bfd-interval": 300,
- "bfd-rx": 300,
- "bfd-multiplier": 5,
- "md5-password": "password",
- "remove-private-as": true,
- "default-originate": true,
- "default-originate-route-map": "routeMap1",
- "prefix-list": [
- null
], - "route-map": [
- null
], - "send-community": "extended"
}
], - "af-ip-dynamic-neighbor": [
- {
- "listen-range": "10.10.10.10/24",
- "peer-group-name": "pg1",
- "listen-limit": 10
}
]
}
]
}
]
}
]
}
{- "paginationResponse": {
- "remaining_count": 0,
- "first_id": 0,
- "last_id": 0
}, - "tenant_name": "Tenant-A",
- "peer-list": [
- {
- "id": 1,
- "name": "bgp-peer-1",
- "tenantName": "Tenant-1",
- "state": "bgp-peer-init | bgp-peer-created | bgp-peer-delete-pending | bgp-peer-peer-delete-pending",
- "description": "bgp-peer-ext-gw1",
- "peer": [
- {
- "mgmt-ip": "10.25.25.100",
- "vrf-list": [
- {
- "vrf": "VRF-GREEN",
- "afi": "ipv4 | ipv6",
- "safi": "unicast",
- "af-ip-neighbor": [
- {
- "neighbor-address": "10.25.25.100",
- "remote-as": 65000,
- "next-hop-self": "true | false | always",
- "update-source-ip": "10.25.25.100",
- "bfd-enable": true,
- "bfd-interval": 300,
- "bfd-rx": 300,
- "bfd-multiplier": 5,
- "md5-password": "password",
- "encrypted-md5-password": "$9$MCgKGaNt6OASX68/7TC6Lw==",
- "remove-private-as": true,
- "default-originate": true,
- "default-originate-route-map": "routeMap1",
- "prefix-list": [
- null
], - "route-map": [
- null
], - "send-community": "extended",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
], - "af-ip-dynamic-neighbor": [
- {
- "listen-range": "10.10.10.10/24",
- "peer-group-name": "pg1",
- "listen-limit": 10,
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
]
}
]
}
], - "error": [
- {
- "mgmt-ip": "string",
- "bgp-peer-config-error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "rollback-error-list": [
- {
- "code": 1000,
- "message": "string"
}
]
}
]
}
]
}
This API helps to add and delete of BGP Peer config on a Vrf for device(s). Below operation are supported -
Update the BGP Peer
tenant_name required | string Tenant Name |
operation required | string Enum: "peer-add" "peer-delete" "desc-update" |
object (BgpPeer) |
{- "tenant_name": "Tenant-A",
- "operation": "peer-add | peer-delete | desc-update",
- "peer-list": {
- "name": "bgp-peer-1",
- "tenantName": "Tenant-1",
- "description": "bgp-peer-ext-gw1",
- "peer": [
- {
- "mgmt-ip": "10.25.25.100",
- "vrf-list": [
- {
- "vrf": "VRF-GREEN",
- "afi": "ipv4 | ipv6",
- "safi": "unicast",
- "af-ip-neighbor": [
- {
- "neighbor-address": "10.25.25.100",
- "remote-as": 65000,
- "next-hop-self": "true | false | always",
- "update-source-ip": "10.25.25.100",
- "bfd-enable": true,
- "bfd-interval": 300,
- "bfd-rx": 300,
- "bfd-multiplier": 5,
- "md5-password": "password",
- "remove-private-as": true,
- "default-originate": true,
- "default-originate-route-map": "routeMap1",
- "prefix-list": [
- {
- "name": null,
- "direction": null
}
], - "route-map": [
- {
- "name": null,
- "direction": null
}
], - "send-community": "extended"
}
], - "af-ip-dynamic-neighbor": [
- {
- "listen-range": "10.10.10.10/24",
- "peer-group-name": "pg1",
- "listen-limit": 10
}
]
}
]
}
]
}
}
{- "id": 1,
- "name": "bgp-peer-1",
- "tenantName": "Tenant-1",
- "state": "bgp-peer-init | bgp-peer-created | bgp-peer-delete-pending | bgp-peer-peer-delete-pending",
- "description": "bgp-peer-ext-gw1",
- "peer": [
- {
- "mgmt-ip": "10.25.25.100",
- "vrf-list": [
- {
- "vrf": "VRF-GREEN",
- "afi": "ipv4 | ipv6",
- "safi": "unicast",
- "af-ip-neighbor": [
- {
- "neighbor-address": "10.25.25.100",
- "remote-as": 65000,
- "next-hop-self": "true | false | always",
- "update-source-ip": "10.25.25.100",
- "bfd-enable": true,
- "bfd-interval": 300,
- "bfd-rx": 300,
- "bfd-multiplier": 5,
- "md5-password": "password",
- "encrypted-md5-password": "$9$MCgKGaNt6OASX68/7TC6Lw==",
- "remove-private-as": true,
- "default-originate": true,
- "default-originate-route-map": "routeMap1",
- "prefix-list": [
- {
- "name": "ipprefix1",
- "direction": "in"
}
], - "route-map": [
- {
- "name": "routeMap1",
- "direction": "out"
}
], - "send-community": "extended",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
], - "af-ip-dynamic-neighbor": [
- {
- "listen-range": "10.10.10.10/24",
- "peer-group-name": "pg1",
- "listen-limit": 10,
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
]
}
]
}
], - "error": [
- {
- "mgmt-ip": "string",
- "bgp-peer-config-error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "rollback-error-list": [
- {
- "code": 1000,
- "message": "string"
}
]
}
]
}
This API helps to delete the BGP Peer
name required | string Name of the BGP Peer to delete |
tenant_name required | string Tenant to which this BGP Peer belongs |
force | boolean Use force parameter to remove the BGP Peer forcefully. This will remove the relevant configurations from the devices by ignoring errors during deletion or in case of device not reachable. Some configuration may be left on the device if force de-configuration fails. |
{- "id": 1,
- "name": "bgp-peer-1",
- "tenantName": "Tenant-1",
- "state": "bgp-peer-init | bgp-peer-created | bgp-peer-delete-pending | bgp-peer-peer-delete-pending",
- "description": "bgp-peer-ext-gw1",
- "peer": [
- {
- "mgmt-ip": "10.25.25.100",
- "vrf-list": [
- {
- "vrf": "VRF-GREEN",
- "afi": "ipv4 | ipv6",
- "safi": "unicast",
- "af-ip-neighbor": [
- {
- "neighbor-address": "10.25.25.100",
- "remote-as": 65000,
- "next-hop-self": "true | false | always",
- "update-source-ip": "10.25.25.100",
- "bfd-enable": true,
- "bfd-interval": 300,
- "bfd-rx": 300,
- "bfd-multiplier": 5,
- "md5-password": "password",
- "encrypted-md5-password": "$9$MCgKGaNt6OASX68/7TC6Lw==",
- "remove-private-as": true,
- "default-originate": true,
- "default-originate-route-map": "routeMap1",
- "prefix-list": [
- {
- "name": "ipprefix1",
- "direction": "in"
}
], - "route-map": [
- {
- "name": "routeMap1",
- "direction": "out"
}
], - "send-community": "extended",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
], - "af-ip-dynamic-neighbor": [
- {
- "listen-range": "10.10.10.10/24",
- "peer-group-name": "pg1",
- "listen-limit": 10,
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
]
}
]
}
], - "error": [
- {
- "mgmt-ip": "string",
- "bgp-peer-config-error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "rollback-error-list": [
- {
- "code": 1000,
- "message": "string"
}
]
}
]
}
This API helps to fetch the configured details state of the peer-config belonging to this BGP Service
name required | string Name of the BGP Peer to retrieve |
tenant_name required | string Tenant to which this BGP Peer belongs |
{- "id": 1,
- "name": "bgp-peer-1",
- "tenantName": "Tenant-1",
- "state": "bgp-peer-init | bgp-peer-created | bgp-peer-delete-pending | bgp-peer-peer-delete-pending",
- "description": "bgp-peer-ext-gw1",
- "peer": [
- {
- "mgmt-ip": "10.25.25.100",
- "vrf-list": [
- {
- "vrf": "VRF-GREEN",
- "afi": "ipv4 | ipv6",
- "safi": "unicast",
- "af-ip-neighbor": [
- {
- "neighbor-address": "10.25.25.100",
- "remote-as": 65000,
- "next-hop-self": "true | false | always",
- "update-source-ip": "10.25.25.100",
- "bfd-enable": true,
- "bfd-interval": 300,
- "bfd-rx": 300,
- "bfd-multiplier": 5,
- "md5-password": "password",
- "encrypted-md5-password": "$9$MCgKGaNt6OASX68/7TC6Lw==",
- "remove-private-as": true,
- "default-originate": true,
- "default-originate-route-map": "routeMap1",
- "prefix-list": [
- {
- "name": "ipprefix1",
- "direction": "in"
}
], - "route-map": [
- {
- "name": "routeMap1",
- "direction": "out"
}
], - "send-community": "extended",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
], - "af-ip-dynamic-neighbor": [
- {
- "listen-range": "10.10.10.10/24",
- "peer-group-name": "pg1",
- "listen-limit": 10,
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
]
}
]
}
], - "error": [
- {
- "mgmt-ip": "string",
- "bgp-peer-config-error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "rollback-error-list": [
- {
- "code": 1000,
- "message": "string"
}
]
}
]
}
This API helps to configure BGP Peer
name required | string Name of the BGP Peer to configure |
tenant_name required | string Tenant to which this BGP Peer belongs |
{- "id": 1,
- "name": "bgp-peer-1",
- "tenantName": "Tenant-1",
- "state": "bgp-peer-init | bgp-peer-created | bgp-peer-delete-pending | bgp-peer-peer-delete-pending",
- "description": "bgp-peer-ext-gw1",
- "peer": [
- {
- "mgmt-ip": "10.25.25.100",
- "vrf-list": [
- {
- "vrf": "VRF-GREEN",
- "afi": "ipv4 | ipv6",
- "safi": "unicast",
- "af-ip-neighbor": [
- {
- "neighbor-address": "10.25.25.100",
- "remote-as": 65000,
- "next-hop-self": "true | false | always",
- "update-source-ip": "10.25.25.100",
- "bfd-enable": true,
- "bfd-interval": 300,
- "bfd-rx": 300,
- "bfd-multiplier": 5,
- "md5-password": "password",
- "encrypted-md5-password": "$9$MCgKGaNt6OASX68/7TC6Lw==",
- "remove-private-as": true,
- "default-originate": true,
- "default-originate-route-map": "routeMap1",
- "prefix-list": [
- {
- "name": "ipprefix1",
- "direction": "in"
}
], - "route-map": [
- {
- "name": "routeMap1",
- "direction": "out"
}
], - "send-community": "extended",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
], - "af-ip-dynamic-neighbor": [
- {
- "listen-range": "10.10.10.10/24",
- "peer-group-name": "pg1",
- "listen-limit": 10,
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
]
}
]
}
], - "error": [
- {
- "mgmt-ip": "string",
- "bgp-peer-config-error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "rollback-error-list": [
- {
- "code": 1000,
- "message": "string"
}
]
}
]
}
This API helps to fetch the operational details state of the peer-config belonging to this BGP Service
tenant_name required | string Tenant to which this BGP Peer belongs |
vrf_name | string Name of the Vrf |
{- "items": [
- {
- "tenant-name": "tenant-name",
- "vrf-name": "vrf-name",
- "destination-device-router-id": "destination-device-router-id",
- "destination-device-ip": "destination-device-ip",
- "bgp-session-state": "IDLE",
- "source-device-ip": "source-device-ip",
- "source-device-router-id": "source-device-router-id",
- "source-device-asn": "source-device-asn",
- "destination-device-asn": "destination-device-asn"
}, - {
- "tenant-name": "tenant-name",
- "vrf-name": "vrf-name",
- "destination-device-router-id": "destination-device-router-id",
- "destination-device-ip": "destination-device-ip",
- "bgp-session-state": "IDLE",
- "source-device-ip": "source-device-ip",
- "source-device-router-id": "source-device-router-id",
- "source-device-asn": "source-device-asn",
- "destination-device-asn": "destination-device-asn"
}
]
}
This API helps to get all the Mirror Service Session owned by a given tenant.
tenant_name required | string Tenant to which this Mirror Service Session belongs |
{- "tenant_name": "Tenant-A",
- "mirror-service-session-list": [
- {
- "id": 1,
- "name": "mirror-service-1",
- "description": "mirror-session-description",
- "mirror-service-session-config": [
- {
- "mirror-type": "port-based | flow-based",
- "mirror-source": {
- "mgmt-ip": "10.25.25.100",
- "if-type": "eth | po | vlan | ve",
- "if-name": "0/1"
}, - "mirror-destination": {
- "destination-type": "span | rspan | erspan",
- "span": [
- {
- "mgmt-ip": "10.25.25.100",
- "if-type": "eth | po",
- "if-name": "0/1",
- "mirror-session-id": 1
}
]
}, - "mirror-direction": "tx | rx | both",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
], - "state": "mirror-session-init | mirror-session-created | mirror-session-delete-pending",
- "error": [
- {
- "mgmt-ip": "string",
- "mirror-service-session-error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "rollback-error-list": [
- {
- "code": 1000,
- "message": "string"
}
]
}
]
}
]
}
This API helps to create Mirror Service Session.
Create Mirror Service Session
tenant_name required | string Tenant Name |
Array of objects (MirrorServiceSession) |
{- "tenant_name": "Tenant-A",
- "mirror-service-session-list": [
- {
- "name": "mirror-service-1",
- "description": "mirror-session-description",
- "mirror-service-session-config": [
- {
- "mirror-type": "port-based | flow-based",
- "mirror-source": {
- "mgmt-ip": "10.25.25.100",
- "if-type": "eth | po | vlan | ve",
- "if-name": "0/1"
}, - "mirror-destination": {
- "destination-type": "span | rspan | erspan",
- "span": [
- {
- "mgmt-ip": "10.25.25.100",
- "if-type": "eth | po",
- "if-name": "0/1"
}
]
}, - "mirror-direction": "tx | rx | both"
}
]
}
]
}
{- "tenant_name": "Tenant-A",
- "mirror-service-session-list": [
- {
- "id": 1,
- "name": "mirror-service-1",
- "description": "mirror-session-description",
- "mirror-service-session-config": [
- {
- "mirror-type": "port-based | flow-based",
- "mirror-source": {
- "mgmt-ip": "10.25.25.100",
- "if-type": "eth | po | vlan | ve",
- "if-name": "0/1"
}, - "mirror-destination": {
- "destination-type": "span | rspan | erspan",
- "span": [
- {
- "mgmt-ip": "10.25.25.100",
- "if-type": "eth | po",
- "if-name": "0/1",
- "mirror-session-id": 1
}
]
}, - "mirror-direction": "tx | rx | both",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
], - "state": "mirror-session-init | mirror-session-created | mirror-session-delete-pending",
- "error": [
- {
- "mgmt-ip": "string",
- "mirror-service-session-error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "rollback-error-list": [
- {
- "code": 1000,
- "message": "string"
}
]
}
]
}
]
}
This API helps to delete the Mirror Service Session.
name required | string Name of the Mirror Service Session to delete |
tenant_name required | string Tenant to which this Mirror Service Session belongs |
force | boolean Use force parameter to remove the Mirror Service Session forcefully. This will remove the relevant configurations from the devices. However, configuration can remain on device if request fail due to device connectivity issues or any other failure |
{- "id": 1,
- "name": "mirror-service-1",
- "description": "mirror-session-description",
- "mirror-service-session-config": [
- {
- "mirror-type": "port-based | flow-based",
- "mirror-source": {
- "mgmt-ip": "10.25.25.100",
- "if-type": "eth | po | vlan | ve",
- "if-name": "0/1"
}, - "mirror-destination": {
- "destination-type": "span | rspan | erspan",
- "span": [
- {
- "mgmt-ip": "10.25.25.100",
- "if-type": "eth | po",
- "if-name": "0/1",
- "mirror-session-id": 1
}
]
}, - "mirror-direction": "tx | rx | both",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
], - "state": "mirror-session-init | mirror-session-created | mirror-session-delete-pending",
- "error": [
- {
- "mgmt-ip": "string",
- "mirror-service-session-error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "rollback-error-list": [
- {
- "code": 1000,
- "message": "string"
}
]
}
]
}
This API helps to fetch the configuration details of the sessions belonging to this Mirror Service Session
name required | string Name of the Mirror Service Session to retrieve |
tenant_name required | string Tenant to which this Mirror Service Session belongs |
{- "id": 1,
- "name": "mirror-service-1",
- "description": "mirror-session-description",
- "mirror-service-session-config": [
- {
- "mirror-type": "port-based | flow-based",
- "mirror-source": {
- "mgmt-ip": "10.25.25.100",
- "if-type": "eth | po | vlan | ve",
- "if-name": "0/1"
}, - "mirror-destination": {
- "destination-type": "span | rspan | erspan",
- "span": [
- {
- "mgmt-ip": "10.25.25.100",
- "if-type": "eth | po",
- "if-name": "0/1",
- "mirror-session-id": 1
}
]
}, - "mirror-direction": "tx | rx | both",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
], - "state": "mirror-session-init | mirror-session-created | mirror-session-delete-pending",
- "error": [
- {
- "mgmt-ip": "string",
- "mirror-service-session-error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "rollback-error-list": [
- {
- "code": 1000,
- "message": "string"
}
]
}
]
}
This API helps to configure the given Mirror Service Session
name required | string Name of the Mirror Service Session to configure |
tenant_name required | string Tenant to which this Mirror Service Session belongs |
{- "id": 1,
- "name": "mirror-service-1",
- "description": "mirror-session-description",
- "mirror-service-session-config": [
- {
- "mirror-type": "port-based | flow-based",
- "mirror-source": {
- "mgmt-ip": "10.25.25.100",
- "if-type": "eth | po | vlan | ve",
- "if-name": "0/1"
}, - "mirror-destination": {
- "destination-type": "span | rspan | erspan",
- "span": [
- {
- "mgmt-ip": "10.25.25.100",
- "if-type": "eth | po",
- "if-name": "0/1",
- "mirror-session-id": 1
}
]
}, - "mirror-direction": "tx | rx | both",
- "dev-state": "provisioned | provisioning-failed | not-provisioned",
- "app-state": "cfg-ready | cfg-in-sync | cfg-refreshed | cfg-refresh-err"
}
], - "state": "mirror-session-init | mirror-session-created | mirror-session-delete-pending",
- "error": [
- {
- "mgmt-ip": "string",
- "mirror-service-session-error-list": [
- {
- "code": 1000,
- "message": "string"
}
], - "rollback-error-list": [
- {
- "code": 1000,
- "message": "string"
}
]
}
]
}
This API helps to get the detailed output of the given execution ID
id required | string Detailed output of the given execution ID |
{- "id": "id",
- "entity": "Tenant",
- "command": "Create",
- "status": "Completed",
- "start_time": "2000-01-23T04:56:07.000+00:00",
- "end_time": "2000-01-23T04:56:09.000+00:00",
- "user_name": "root",
- "parameters": "{\"description\":\"Tenant1\",\"l2-vni-range\":\"10002-14190\",\"name\":\"tenant1\", \"num-of-vrf\":10,\"port-list\":[{\"mgmt-ip\":\"10.25.25.100\",\"port\":[{\"int-type\": \"ethernet\",\"name\":\"0/30\"}]},{\"mgmt-ip\":\"10.25.25.101\",\"port\": [{\"int-type\":\"ethernet\",\"name\":\"0/30\"},\"vlan-range\":\"2-4090\"}",
- "error": "Error message"
}
This API helps to get the list of all the previous executions
limit required | integer Default: 10 Limit the number of executions that will be sent in the response. Default is 10 |
status | string Default: "all" Filter the executions based on the status(failed/succeeded/all) |
{- "items": [
- {
- "id": "id",
- "entity": "Tenant",
- "command": "Create",
- "status": "Completed",
- "start_time": "2000-01-23T04:56:07.000+00:00",
- "end_time": "2000-01-23T04:56:09.000+00:00",
- "user_name": "root",
- "parameters": "{\"description\":\"Tenant1\",\"l2-vni-range\":\"10002-14190\",\"name\":\"tenant1\", \"num-of-vrf\":10,\"port-list\":[{\"mgmt-ip\":\"10.25.25.100\",\"port\":[{\"int-type\": \"ethernet\",\"name\":\"0/30\"}]},{\"mgmt-ip\":\"10.25.25.101\",\"port\": [{\"int-type\":\"ethernet\",\"name\":\"0/30\"},\"vlan-range\":\"2-4090\"}",
- "error": "Error message"
}, - {
- "id": "id",
- "entity": "Tenant",
- "command": "Delete",
- "status": "Completed",
- "start_time": "2000-01-23T04:56:07.000+00:00",
- "end_time": "2000-01-23T04:56:09.000+00:00",
- "user_name": "root",
- "parameters": "{\"force\":[\"true\"],\"name\":[\"tenant1\"]}",
- "error": "Error message"
}
]
}
This API helps to delete the execution older than specific number of days
days_older_by required | integer Default: 30 Deletes execution entries older than specified number of days |
{- "code": 1000,
- "message": "string"
}
This API helps to get the list of all the event histories
execution_uuid | string Execution UUID for filtering |
device_ip | string Device IP for filtering |
{- "items": [
- {
- "id": "string",
- "execution_uuid": "123e4567-e89b-12d3-a456-426655440000",
- "service": "tenant",
- "date": "2019-08-24T14:15:22Z",
- "event": "epg-create",
- "device": "10.25.25.100",
- "message_type": "EPG",
- "message_object": "EPG-1231",
- "message": "EPG creation failed",
- "error_text": "Failed at 10.25.25.100"
}
]
}
This API helps to sync devices for the given Device IP Addresses with inventory
device_ips required | Array of strings non-empty unique Device Management IP Addresses to sync with inventory |
[- {
- "ip_address": "10.25.25.100",
- "role": "Spine",
- "state": "READY",
- "status": "Success"
}
]
This API helps to generate the config-drift between EFA intended configuration and device configuration. If reconcile flag is set then generated config-drift will be pushed to the device.
device_ip required | string Device Management IP Address for which config drift will be generated |
reconcile | boolean If flag is set to true, then generated config-drift will be pushed to the device |
{- "mgmt-ip": "10.25.25.100",
- "reconciliation-status": [
- {
- "config-type": "Vlan",
- "status": "Success",
- "error-list": [
- {
- "code": 1000,
- "message": "string"
}
]
}
], - "config-drift": {
- "Vlan": [
- {
- "vlan_id": 1001,
- "app_state": "cfg-ready",
- "interface": [
- {
- "app_state": "cfg-ready",
- "int_type": "ethernet",
- "name": "0/1"
}
]
}
], - "Vrf": [
- {
- "app_state": "cfg-ready",
- "name": "vrf_red"
}
], - "Ve": [
- {
- "app_state": "cfg-ready",
- "name": 100
}
], - "PortProperties": [
- {
- "app_state": "cfg-ready",
- "int_type": "ethernet",
- "name": "0/1"
}
], - "mct_client": [
- {
- "app_state": "cfg-ready",
- "client_name": "cluster_1",
- "interface": {
- "app_state": "cfg-ready",
- "int_type": "ethernet",
- "name": "0/1"
}
}
], - "PwProfile": [
- {
- "app_state": "cfg-ready",
- "name": "Tenant_profile"
}
], - "BridgeDomain": [
- {
- "bd_id": 1001,
- "app_state": "cfg-ready",
- "Lif": [
- {
- "app_state": "cfg-ready",
- "int_type": "ethernet",
- "name": "0/1"
}
]
}
], - "Lif": [
- {
- "app_state": "cfg-ready",
- "int_type": "ethernet",
- "name": "0/1"
}
], - "OverlayGateway": {
- "app_state": "cfg-ready",
- "gw_name": "string",
- "Vlan": [
- {
- "app_state": "cfg-ready",
- "name": "string"
}
], - "BridgeDomain": [
- {
- "app_state": "cfg-ready",
- "name": "string"
}
]
}, - "Epvn": {
- "app_state": "cfg-ready",
- "evpn_name": "string",
- "Vlan": [
- {
- "app_state": "cfg-ready",
- "name": "string"
}
], - "BridgeDomain": [
- {
- "app_state": "cfg-ready",
- "name": "string"
}
]
}, - "RouterBgp": {
- "peer-group": [
- {
- "app_state": "cfg-ready",
- "name": "string"
}
], - "bgpAddressFamily": [
- {
- "vrf_name": "string",
- "address_family": "ipv4 | ipv6",
- "app_state": "cfg-ready"
}
]
}, - "Portchannel": [
- {
- "app_state": "cfg-ready",
- "number": 101,
- "name": "po101",
- "memberInterface": [
- {
- "app_state": "cfg-ready",
- "name": "0/1"
}
]
}
], - "MctCluster": {
- "cluster_id": 0,
- "cluster_name": "string",
- "VlanMapping": [
- {
- "app_state": "cfg-ready",
- "name": "string"
}
], - "BridgeDomainMapping": [
- {
- "app_state": "cfg-ready",
- "name": "string"
}
]
}, - "MirrorSession": [
- {
- "name": "mirror-service-1",
- "app_state": "cfg-ready"
}
]
}, - "error": [
- {
- "error-type": "Drift-Generation",
- "error-list": [
- {
- "code": 1000,
- "message": "string"
}
]
}
]
}
This API helps user to get lock details
type | string Enum: "service" "device" "port" "vlan" "vrf" "epg" Object type for locks to show |
{- "lock": [
- {
- "type": "service | device | port | vlan | vrf | epg",
- "device-ip": "10.25.25.100",
- "name": "0/1",
- "reason": "backup"
}
]
}