Tenant Service (2.2.0)

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.

Port Channel

getPortchannels

Get all portchannels configured with tenant service.

query Parameters
tenant_name
required
string

tenant to which this port channel belongs.

Responses

200

OK

401

Authorization information is missing or invalid.

500

Unexpected error

default

Unexpected error

get/portchannels
http://gotenant-service:8083/v1/tenant/portchannels

getPortchannel

Get specified Port-channel details.

query Parameters
name
string

Unique name of the Port-channel to be fetched.

tenant_name
string

tenant to which this port channel belongs.

po_id
string

filter by port-channel id allocated on device. This should be combined with device_ip param.

device_ip
string

device ip to which the po_id belongs

Responses

200

OK

401

Authorization information is missing or invalid.

404

Port-channel with the specified ID or number is not found.

500

Unexpected error

default

Unexpected error

get/portchannel
http://gotenant-service:8083/v1/tenant/portchannel

createPortchannel

Create a new Port-channel.

Request Body schema: application/json

Create Port-channel parameter.

name
required
string

Identifier of the Port-channel unique to the tenant service.

speed
required
string
Enum: "100Mbps" "1Gbps" "10Gbps" "25Gbps" "40Gbps" "100Gbps"

Configure speed for the Port-channel and its Member ports.

negotiation
required
string
Enum: "active" "passive" "static"

Configure LACP negotiation mode for Port-channel.

memberinterfaces
required
Array of objects (Device)
tenantName
required
string

Name of tenant to which this Port-channel belongs.

lacpTimeout
required
string
Enum: "short" "long"

Configure LACP timeout for Port-channel.

Responses

200

OK

401

Authorization information is missing or invalid.

409

Port-channel with the specified Number already exists.

500

Unexpected error.

default

Unexpected error

post/portchannel
http://gotenant-service:8083/v1/tenant/portchannel

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "po101",
  • "speed": "<100Mbps|1Gbps|10Gbps|25Gbps|40Gbps|100Gbps>",
  • "negotiation": "<active|passive|static>",
  • "memberinterfaces":
    [
    ],
  • "tenantName": "Tenant-1",
  • "lacpTimeout": "<short|long>"
}

deletePortchannel

Delete the given Port-channel.

query Parameters
name
required
string

Unique name of the Port-channel unique to a device to be deleted.

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 port channel belongs.

Responses

200

OK

401

Authorization information is missing or invalid.

404

Port-channel with the specified ID or number is not found.

500

Unexpected error

default

Unexpected error

delete/portchannel
http://gotenant-service:8083/v1/tenant/portchannel

updatePortchannel

Update the parameters of Port-channel.

Request Body schema: application/json

Update the Port-channel parameter.

name
required
string

Identifier of the Port-channel unique to the tenant service.

operation
required
string
Enum: "port-add" "port-delete" "lacp-timeout"

Add ports, Delete ports or modify lacp-timeout for Portchannel.

memberinterfaces
required
Array of objects (Device)
tenantName
required
string

Tenant to which this Port-channel belongs.

lacpTimeout
string
Enum: "short" "long"

Configure LACP timeout for Port-channel.

Responses

200

OK

401

Authorization information is missing or invalid.

404

Port-channel with the specified ID or number is not found.

500

Unexpected error

default

Unexpected error

put/portchannel
http://gotenant-service:8083/v1/tenant/portchannel

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "po101",
  • "operation": "port-add | port-delete | lacp-timeout",
  • "memberinterfaces":
    [
    ],
  • "tenantName": "Tenant-1",
  • "lacpTimeout": "<short|long>"
}

configurePortchannel

Configure Portchannel

query Parameters
name
required
string

Name of the Portchannel to retrieve

tenant_name
required
string

tenant to which this portchannel belongs

Responses

200

OK

401

Authorization information is missing or invalid.

404

An EndpointGroup with the specified name is not found.

500

Unexpected error.

default

Unexpected error

post/portchannel/configure
http://gotenant-service:8083/v1/tenant/portchannel/configure

Vrf

getVrfs

Get all routers configured with tenant service.

query Parameters
tenant_name
required
string

tenant to which these routers belongs.

Responses

200

OK

401

Authorization information is missing or invalid.

500

Unexpected error.

default

Unexpected error

get/vrfs
http://gotenant-service:8083/v1/tenant/vrfs

getVrf

Get Vrf details by name.

query Parameters
name
required
string

Vrf name to be deleted.

tenant_name
required
string

tenant to which this router belongs.

Responses

200

OK

401

Authorization information is missing or invalid.

404

Vrf with the specified name is not found.

500

Unexpected error.

default

Unexpected error

get/vrf
http://gotenant-service:8083/v1/tenant/vrf

createVrf

Create a new router for a tenant.

Request Body schema: application/json

Create Vrf.

tenant_name
required
string

Tenant Name.

vrf-list
Array of objects (Vrf)

Responses

200

OK

401

Authorization information is missing or invalid.

409

Vrf with name already exists.

500

Unexpected error.

default

Unexpected error

post/vrf
http://gotenant-service:8083/v1/tenant/vrf

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "tenant_name": "Tenant-A",
  • "vrf-list":
    [
    ]
}

deleteVrf

Delete a Vrf by name.

Request Body schema: application/json

Delete Vrf.

tenant_name
string

Tenant Name

vrf-name-list
Array of strings

List of VRFs.

Responses

200

OK

401

Authorization information is missing or invalid.

404

Vrf with the specified name is not found.

500

Unexpected error.

default

Unexpected error

delete/vrf
http://gotenant-service:8083/v1/tenant/vrf

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "tenant_name": "Tenant-A",
  • "vrf-name-list":
    [
    ]
}

updateVrf

Update the parameters of vrf

Request Body schema: application/json

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-add" "static-route-delete" "static-route-bfd-add" "static-route-bfd-delte"

Add or Delete local-asn from Vrf.

localAsn
integer <int64>

Local Asn for vrf

tenantName
required
string

Tenant to which this Vrf belongs.

static-route-bfd
Array of objects (StaticRouteBfd)
static-route
Array of objects (StaticRoute)

Responses

200

OK

401

Authorization information is missing or invalid.

404

Vrf with specified name is not found.

500

Unexpected error

default

Unexpected error

put/vrf
http://gotenant-service:8083/v1/tenant/vrf

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "vrf-red",
  • "operation": "local-asn-add | local-asn-delete | static-route-add | static-route-delete | static-route-bfd-add | static-route-bfd-delete",
  • "localAsn": 1024,
  • "tenantName": "Tenant-1",
  • "static-route-bfd":
    [
    ],
  • "static-route":
    [
    ]
}

Tenant

getTenants

Get all tenants configured with tenant service.

Responses

200

OK

401

Authorization information is missing or invalid.

500

Unexpected error.

default

Unexpected error

get/tenants