Management Plane API > Security > Services

Associated URIs:

API Description API Path

Get list of entities in exclude list


GET /api/v1/firewall/excludelist

Check if the object a member of the exclude list


POST /api/v1/firewall/excludelist?action=check_if_exists

Remove an existing object from the exclude list


POST /api/v1/firewall/excludelist?action=remove_member

Add a new object in the exclude list


POST /api/v1/firewall/excludelist?action=add_member

Modify exclude list


PUT /api/v1/firewall/excludelist

Get firewall profiles available.


List all the firewall profiles available by requested resource_type.
GET /api/v1/firewall/profiles

Create a firewall profile.


Create a firewall profile with values provided. It creates profile based
resource_type in the payload.
POST /api/v1/firewall/profiles

Delete a firewall profile.


Deletes a firewall profile.
DELETE /api/v1/firewall/profiles/<profile-id>

Get all firewall session timer profiles.


Return firewall session timer profile.
GET /api/v1/firewall/profiles/<profile-id>

Update a firewall profile.


Update user configurable properties of firewall profile.
PUT /api/v1/firewall/profiles/<profile-id>

Read an Existing Rule


Return existing firewall rule information.
GET /api/v1/firewall/rules/<rule-id>

Get the Realized State of a Firewall Rule


Return realized state information of a firewall rule. Returned response is same as rule's
section realization state response.
GET /api/v1/firewall/rules/<rule-id>/state

List All Firewall Sections


List all firewall section in paginated form. A default page size is limited
to 1000 firewall sections. By default list of section is filtered by LAYER3
type.
GET /api/v1/firewall/sections

Create a Section with Rules


Creates a new firewall section with rules. The limit on the number of
rules is defined by maxItems in collection types for FirewallRule
(FirewallRuleXXXList types). When invoked on a section with a large number
of rules, this API is supported only at low rates of invocation (not more
than 4-5 times per minute). The typical latency of this API with about 1024
rules is about 4-5 seconds. This API should not be invoked with large
payloads at automation speeds. More than 50 rules with a large number of
rule references is not supported.

Instead, to create sections, use:
POST /api/v1/firewall/sections

To create rules, use:
POST /api/v1/firewall/sections/<section-id>/rules
POST /api/v1/firewall/sections?action=create_with_rules

Create a New Empty Section


Creates new empty firewall section in the system.
POST /api/v1/firewall/sections

Delete an Existing Section and Its Associated Rules


Removes firewall section from the system. Firewall section with
rules can only be deleted by passing "cascade=true" parameter.
DELETE /api/v1/firewall/sections/<section-id>

Get an Existing Section


Returns information about firewall section for the identifier.
GET /api/v1/firewall/sections/<section-id>

Unlock a section


Unlock a section
POST /api/v1/firewall/sections/<section-id>?action=unlock

Get an Existing Section, Including Rules


Returns firewall section information with rules for a section identifier.
When invoked on a section with a large number of rules, this API is supported
only at low rates of invocation (not more than 4-5 times per minute). The
typical latency of this API with about 1024 rules is about 4-5 seconds. This
API should not be invoked with large payloads at automation speeds. More than
50 rules with a large number rule references is not supported.

Instead, to read firewall rules, use:
GET /api/v1/firewall/sections/<section-id>/rules with the appropriate
page_size.
POST /api/v1/firewall/sections/<section-id>?action=list_with_rules

Lock a section


Lock a section
POST /api/v1/firewall/sections/<section-id>?action=lock

Update an Existing Section, Including Its Rules


Modifies existing firewall section along with its association with rules.
When invoked on a large number of rules, this API is supported only at low
rates of invocation (not more than 2 times per minute). The typical latency
of this API with about 1024 rules is about 15 seconds in a cluster setup.
This API should not be invoked with large payloads at automation speeds.

Instead, to update rule content, use:
PUT /api/v1/firewall/sections/<section-id>/rules/<rule-id>

Simultaneous update (modify) operations on same section are not allowed to
prevent overwriting stale contents to firewall section. If a concurrent
update is performed, HTTP response code 409 will be returned to the client
operating on stale data. That client should retrieve the firewall section
again and re-apply its update.
POST /api/v1/firewall/sections/<section-id>?action=update_with_rules

Update an Existing Section, Including Its Position


Modifies an existing firewall section along with its relative position
among other firewall sections in the system. Simultaneous update (modify)
operations on same section are not allowed to prevent overwriting stale
contents to firewall section. If a concurrent update is performed, HTTP
response code 409 will be returned to the client operating on stale data.
That client should retrieve the firewall section again and re-apply its
update.
POST /api/v1/firewall/sections/<section-id>?action=revise

Update an Existing Section with Rules


Modifies an existing firewall section along with its relative position
among other firewall sections with rules. When invoked on a large number
of rules, this API is supported only at low rates of invocation (not more
than 2 times per minute). The typical latency of this API with about 1024
rules is about 15 seconds in a cluster setup. This API should not be
invoked with large payloads at automation speeds.

Instead, to move a section above or below another section, use:
POST /api/v1/firewall/sections/<section-id>?action=revise

To modify rules, use:
PUT /api/v1/firewall/sections/<section-id>/rules/<rule-id>

Simultaneous update (modify) operations on same section are not allowed to
prevent overwriting stale contents to firewall section. If a concurrent
update is performed, HTTP response code 409 will be returned to the client
operating on stale data. That client should retrieve the firewall section
again and re-apply its update.
POST /api/v1/firewall/sections/<section-id>?action=revise_with_rules

Update an Existing Section


Modifies the specified section, but does not modify the section's
associated rules. Simultaneous update (modify) operations on same section
are not allowed to prevent overwriting stale contents to firewall section.
If a concurrent update is performed, HTTP response code 409 will be
returned to the client operating on stale data. That client should retrieve
the firewall section again and re-apply its update.
PUT /api/v1/firewall/sections/<section-id>

Get All the Rules for a Section


Return all firewall rule(s) information for a given firewall section.
GET /api/v1/firewall/sections/<section-id>/rules

Add Multiple Rules in a Section


Create multiple firewall rules in existing firewall section bounded by
limit of 1000 firewall rules per section. Adding multiple firewall rules in
a section modifies parent section entity and simultaneous update (modify)
operations on same section are not allowed to prevent overwriting stale
contents to firewall section. If a concurrent update is performed, HTTP
response code 409 will be returned to the client operating on stale data.
That client should retrieve the firewall section again and re-apply its
update.
POST /api/v1/firewall/sections/<section-id>/rules?action=create_multiple

Add a Single Rule in a Section


Adds a new firewall rule in existing firewall section. Adding firewall rule
to a section modifies parent section entity and simultaneous update (modify)
operations on same section are not allowed to prevent overwriting stale
content to firewall section. If a concurrent update is performed, HTTP
response code 409 will be returned to the client operating on stale data.
That client should retrieve the firewall section again and re-apply its
update.
POST /api/v1/firewall/sections/<section-id>/rules

Delete an Existing Rule


Delete existing firewall rule in a firewall section. Deleting firewall rule
in a section modifies parent section and simultaneous update (modify)
operations on same section are not allowed to prevent overwriting stale
contents to firewall section. If a concurrent update is performed, HTTP
response code 409 will be returned to the client operating on stale data.
That client should retrieve the firewall section again and re-apply its
update.
DELETE /api/v1/firewall/sections/<section-id>/rules/<rule-id>

Read an Existing Rule


Return existing firewall rule information in a firewall section.
GET /api/v1/firewall/sections/<section-id>/rules/<rule-id>

Update an Existing Rule and Reorder the Rule


Modifies existing firewall rule along with relative position among
other firewall rules inside a firewall section. Revising firewall rule in a
section modifies parent section entity and simultaneous update (modify)
operations on same section are not allowed to prevent overwriting stale
contents to firewall section. If a concurrent update is performed, HTTP
response code 409 will be returned to the client operating on stale data.
That client should retrieve the firewall section again and re-apply its
update.
POST /api/v1/firewall/sections/<section-id>/rules/<rule-id>?action=revise

Update an Existing Rule


Modifies existing firewall rule in a firewall section. Updating firewall
rule in a section modifies parent section entity and simultaneous update
(modify) operations on same section are not allowed to prevent overwriting
stale contents to firewall section. If a concurrent update is performed,
HTTP response code 409 will be returned to the client operating on stale
data. That client should retrieve the firewall section again and re-apply
its update.
PUT /api/v1/firewall/sections/<section-id>/rules/<rule-id>

Get Firewall rule level statistics


Get aggregated statistics for a rule for given firewall section. The
API only supports access to cached (source=cached) statistical data
collected offline in the system. Data includes total number of packets,
bytes, sessions counters and popularity index for a firewall rule and
overall session count, max session count and max popularity index for
all firewall rules on transport nodes or edge nodes. Aggregated
statistics like maximum popularity index, maximum session count and
total session count are computed with lower frequency compared to
individual generic rule statistics, hence they may have a computation
delay up to 15 minutes to reflect in response to this API.
GET /api/v1/firewall/sections/<section-id>/rules/<rule-id>/stats

Get Firewall section level statistics section


Get aggregated statistics for all rules for a given firewall section. The
API only supports access to cached (source=cached) statistical data
collected offline in the system. Data includes total number of packets,
bytes, sessions counters and popularity index for a firewall rule and
overall session count, max session count and max popularity index for
all firewall rules on transport nodes or edge nodes. Aggregated
statistics like maximum popularity index, maximum session count and
total session count are computed with lower frequency compared to
individual generic rule statistics, hence they may have a computation
delay up to 15 minutes to reflect in response to this API.
GET /api/v1/firewall/sections/<section-id>/rules/stats

Get the Realized State of a Firewall Section


Return realized state information of a firewall section.
GET /api/v1/firewall/sections/<section-id>/state

Get the summary of sections in the firewall configuration.


List the summary of number of sections and number of rules for each firewall
category (L2DFW, L3DFW).
GET /api/v1/firewall/sections/summary

Reset firewall rule statistics


Sets firewall rule statistics counter to zero. This operation is supported
for given category, for example: L3DFW i.e. for all layer3 firewall
(transport nodes only) rules or L3EDGE i.e. for all layer3 edge firewall
(edge nodes only) rules or L3BRIDGEPORT i.e. for all layer3 bridge port firewall
(bridge ports only) rules.
POST /api/v1/firewall/stats?action=reset

List all firewall status for supported contexts


GET /api/v1/firewall/status

Get firewall global status for dfw context


GET /api/v1/firewall/status/<context-type>

Update global firewall status for dfw context


PUT /api/v1/firewall/status/<context-type>

Get firewall status for target resource in dfw context


GET /api/v1/firewall/status/<context-type>/<id>

Enable firewall on target resource in dfw context


POST /api/v1/firewall/status/<context-type>/<id>?action=enable_firewall

Disable firewall on target resource in dfw context


POST /api/v1/firewall/status/<context-type>/<id>?action=disable_firewall

Get list of members in exclude list


GET /api/v1/serviceinsertion/excludelist

Add a new member in the exclude list


POST /api/v1/serviceinsertion/excludelist?action=add_member

Remove an existing object from the exclude list


POST /api/v1/serviceinsertion/excludelist?action=remove_member

Modify exclude list


Modify exclude list. This includes adding/removing members in the list.
PUT /api/v1/serviceinsertion/excludelist

List All Service Insertion Sections


List all Service Insertion section in paginated form. A default page size is limited
to 1000 sections. By default, the list of section is filtered by L3REDIRECT
type.
GET /api/v1/serviceinsertion/sections

Create a New Empty Section


Creates new empty Service Insertion section in the system.
POST /api/v1/serviceinsertion/sections

Create a Section with Rules


Creates a new serviceinsertion section with rules. The limit on the number of
rules is defined by maxItems in collection types for ServiceInsertionRule
(ServiceInsertionRuleXXXList types). When invoked on a section with a large number
of rules, this API is supported only at low rates of invocation (not more
than 4-5 times per minute). The typical latency of this API with about 1024
rules is about 4-5 seconds. This API should not be invoked with large
payloads at automation speeds. More than 50 rules are not supported.

Instead, to create sections, use:
POST /api/v1/serviceinsertion/sections

To create rules, use:
POST /api/v1/serviceinsertion/sections/<section-id>/rules
POST /api/v1/serviceinsertion/sections?action=create_with_rules

Delete an Existing Section and Its Associated Rules


Removes serviceinsertion section from the system. ServiceInsertion section with
rules can only be deleted by passing "cascade=true" parameter.
DELETE /api/v1/serviceinsertion/sections/<section-id>

Get an Existing Section


Returns information about serviceinsertion section for the identifier.
GET /api/v1/serviceinsertion/sections/<section-id>

Update an Existing Section, Including Its Rules


Modifies existing serviceinsertion section along with its association with rules.
When invoked on a large number of rules, this API is supported only at low
rates of invocation (not more than 2 times per minute). The typical latency
of this API with about 1024 rules is about 15 seconds in a cluster setup.
This API should not be invoked with large payloads at automation speeds.

Instead, to update rule content, use:
PUT /api/v1/serviceinsertion/sections/<section-id>/rules/<rule-id>
POST /api/v1/serviceinsertion/sections/<section-id>?action=update_with_rules

Update an Existing Section with Rules


Modifies an existing serviceinsertion section along with its relative position
among other serviceinsertion sections with rules. When invoked on a large number
of rules, this API is supported only at low rates of invocation (not more
than 2 times per minute). The typical latency of this API with about 1024
rules is about 15 seconds in a cluster setup. This API should not be
invoked with large payloads at automation speeds.

Instead, to move a section above or below another section, use:
POST /api/v1/serviceinsertion/sections/<section-id>?action=revise

To modify rules, use:
PUT /api/v1/serviceinsertion/sections/<section-id>/rules/<rule-id>
POST /api/v1/serviceinsertion/sections/<section-id>?action=revise_with_rules

Update an Existing Section, Including Its Position


Modifies an existing serviceinsertion section along with its relative position
among other serviceinsertion sections in the system.
POST /api/v1/serviceinsertion/sections/<section-id>?action=revise

Get an Existing Section, Including Rules


Returns serviceinsertion section information with rules for a section identifier.
When invoked on a section with a large number of rules, this API is supported
only at low rates of invocation (not more than 4-5 times per minute). The
typical latency of this API with about 1024 rules is about 4-5 seconds. This
API should not be invoked with large payloads at automation speeds. More than
50 rules are not supported.

Instead, to read serviceinsertion rules, use:
GET /api/v1/serviceinsertion/sections/<section-id>/rules with the appropriate
page_size.
POST /api/v1/serviceinsertion/sections/<section-id>?action=list_with_rules

Update an Existing Section


Modifies the specified section, but does not modify the section's associated rules.
PUT /api/v1/serviceinsertion/sections/<section-id>

Get All the Rules for a Section


Return all serviceinsertion rule(s) information for a given serviceinsertion section.
GET /api/v1/serviceinsertion/sections/<section-id>/rules

Add Multiple Rules in a Section


Create multiple serviceinsertion rules in existing serviceinsertion section bounded by
limit of 1000 serviceinsertion rules per section.
POST /api/v1/serviceinsertion/sections/<section-id>/rules?action=create_multiple

Add a Single Rule in a Section


Adds a new serviceinsertion rule in existing serviceinsertion section.
POST /api/v1/serviceinsertion/sections/<section-id>/rules

Delete an Existing Rule


Delete existing serviceinsertion rule in a serviceinsertion section.
DELETE /api/v1/serviceinsertion/sections/<section-id>/rules/<rule-id>

Read an Existing Rule


Return existing serviceinsertion rule information in a serviceinsertion section.
GET /api/v1/serviceinsertion/sections/<section-id>/rules/<rule-id>

Update an Existing Rule and Reorder the Rule


Modifies existing serviceinsertion rule along with relative position among
other serviceinsertion rules inside a serviceinsertion section.
POST /api/v1/serviceinsertion/sections/<section-id>/rules/<rule-id>?action=revise

Update an Existing Rule


Modifies existing serviceinsertion rule in a serviceinsertion section.
PUT /api/v1/serviceinsertion/sections/<section-id>/rules/<rule-id>

Get all service attachments.


Returns all Service-Attachement(s) present in the system.
GET /api/v1/serviceinsertion/service-attachments

Add a Service Attachment.


Adds a new Service attachment. A service attachment represents a point
on NSX entity (Example: Logical Router) to which service instance can be
connected through an InstanceEndpoint.
POST /api/v1/serviceinsertion/service-attachments

Delete an existing service attachment


Delete existing service attachment from system.
Before deletion, please make sure that, no instance endpoints are connected
to this attachment. In turn no appliance should be connected to this attachment.
DELETE /api/v1/serviceinsertion/service-attachments/<service-attachment-id>

Get a particular service attachment.


Returns detailed Attachment information for a given service attachment.
GET /api/v1/serviceinsertion/service-attachments/<service-attachment-id>

Update an existing service attachment.


Modifies an existing service attachment. Updates to
name, description and Logical Router list only supported.
PUT /api/v1/serviceinsertion/service-attachments/<service-attachment-id>

List all ServiceChains.


List all service chains in the system.
GET /api/v1/serviceinsertion/service-chains

Add Service Chain


Adds a new service chain. Service Chains is can contain profile belonging
to same or different Service(s). It represents a redirection target for a Rule.
POST /api/v1/serviceinsertion/service-chains

Delete a Service Chain.


Delete a particular service chain.
DELETE /api/v1/serviceinsertion/service-chains/<service-chain-id>

Get a particular service chain.


Returns detailed service chain information.
GET /api/v1/serviceinsertion/service-chains/<service-chain-id>

List all service paths


List all service paths for the given service chain for the given service chain id
GET /api/v1/serviceinsertion/service-chains/<service-chain-id>/service-paths

Get all Service-Instances present in system


Returns all Service-Instance(s) of all Services present in system.
When request parameter (deployed_to or service_deployment_id) is provided as a part of request,
it will filter out Service-Instances accordingly.
GET /api/v1/serviceinsertion/service-instances

List service managers


List all service managers.
GET /api/v1/serviceinsertion/service-managers

Register service manager


Register service-manager with NSX with basic details like name, username, password.
POST /api/v1/serviceinsertion/service-managers

Delete service manager


Delete service-manager which is registered with NSX with basic details like name, username, password.
DELETE /api/v1/serviceinsertion/service-managers/<service-manager-id>

Get service manager


Retrieve service-manager details like name, username, password, vendor ID, thumbprint for a given ID.
GET /api/v1/serviceinsertion/service-managers/<service-manager-id>

Update service manager


Update service-manager which is registered with NSX with basic details like name, username, password.
PUT /api/v1/serviceinsertion/service-managers/<service-manager-id>

List all Service-Insertion Services.


List all Service-Insertion Service Definitions.
GET /api/v1/serviceinsertion/services

Create a Service-Insertion Service


Creates new Service-Insertion Service in the system.
POST /api/v1/serviceinsertion/services

Delete an existing Service and the Service-Instance associated with it.


Removes Service-Insertion Service from the system. A Service with
Service-Instances can only be deleted by passing "cascade=true" parameter.
DELETE /api/v1/serviceinsertion/services/<service-id>

Get an existing Service


Returns information about Service-Insertion Service with the given identifier.
GET /api/v1/serviceinsertion/services/<service-id>

Update an existing Service


Modifies the specified Service.
PUT /api/v1/serviceinsertion/services/<service-id>

Get all service deployments for the given service id


Returns the list of deployments for the given service
GET /api/v1/serviceinsertion/services/<service-id>/service-deployments

Deploys a particular service


This will deploy a particular service on a given cluster / host. Internally multiple service instance can be
created during the deployment. If there are no issues in the parameters, the call returns immediately,
and the service VMs will be deployed asynchronously. To get the overall status of the deployment or to get
the status of individual service vm, please use the deployment status APIs.
POST /api/v1/serviceinsertion/services/<service-id>/service-deployments

Remove service deployment


Remove the service deployment. Will remove all the Service VMs that were
created as part of this deployment. User can send optional force delete
option which will force remove the deployment, but should be used
only when the regular delete is not working. Regular delete will ensure
proper cleanup of Service VMs and related objects. Directly calling this
API without trying regular undeploy will result in unexpected results,
and orphan objects.
DELETE /api/v1/serviceinsertion/services/<service-id>/service-deployments/<service-deployment-id>

Get a particular service deployment.


Returns detail of service deployment.
GET /api/v1/serviceinsertion/services/<service-id>/service-deployments/<service-deployment-id>

Upgrade all VMs part of this service deployment to new Spec OVF.


If new deployment spec is provided, the deployment will be moved to the provided spec provided
that current deployment state is either UPGRADE_FAILED or DEPLOYMENT_SUCCESSFUL
If same deployment spec is provided, upgrade will be done only if current deployment state is
UPGRADE_FAILED
POST /api/v1/serviceinsertion/services/<service-id>/service-deployments/<service-deployment-id>?action=upgrade

Update an existing Service Deployment.


This API is deprecated since only property we can change on service deployment
is display name, which is used for the SVM name. Changing the name will
cause the name of the deployment to go out of sync with the deployed VM.
PUT /api/v1/serviceinsertion/services/<service-id>/service-deployments/<service-deployment-id> (Deprecated)

Get Service-Deployment state for Service.


Returns configuration state of deployed partner service using service insertion framework.
GET /api/v1/serviceinsertion/services/<service-id>/service-deployments/<service-deployment-id>/state

Get a particular service deployment status.


Returns current status of the deployment of partner service. Available only for EPP Services.
By default this API would return cached status. Caching happens every 3 minutes.
For realtime status, query parameter "source=realtime" needs to be passed.
GET /api/v1/serviceinsertion/services/<service-id>/service-deployments/<service-deployment-id>/status

Get all Service-Instances for Service.


Returns all Service-Instance(s) for a given Service-Insertion Service.
GET /api/v1/serviceinsertion/services/<service-id>/service-instances

Add a Service Instance for a specified Service.


Adds a new Service-Instance under the specified Service.
POST /api/v1/serviceinsertion/services/<service-id>/service-instances

Delete an existing Service-Instance


Delete existing Service-Instance for a given Service-Insertion Service.
DELETE /api/v1/serviceinsertion/services/<service-id>/service-instances/<service-instance-id>

Get Service-Instance for Service.


Returns Service-Instance information for a given Service-Insertion Service.
GET /api/v1/serviceinsertion/services/<service-id>/service-instances/<service-instance-id>

Update an existing Service-Instance.


Modifies an existing Service-Instance for a given Service-Insertion Service.
PUT /api/v1/serviceinsertion/services/<service-id>/service-instances/<service-instance-id>

Get NSgroups for a given ServiceInstance.


Returns list of NSGroups used in Service Insertion North-South rules for a given
Service Instance.
GET /api/v1/serviceinsertion/services/<service-id>/service-instances/<service-instance-id>/group-associations

List all InstanceEndpoints of a Service Instance.


List all InstanceEndpoints of a service instance.
GET /api/v1/serviceinsertion/services/<service-id>/service-instances/<service-instance-id>/instance-endpoints

Add an InstanceEndpoint for a Service Instance


Adds a new instance endpoint. It belongs to one service instance and is attached
to one service attachment. It represents a redirection target for a Rule.
POST /api/v1/serviceinsertion/services/<service-id>/service-instances/<service-instance-id>/instance-endpoints

Delete a particular InstanceEndpoint.


Delete instance endpoint information for a given instace endpoint.
Please make sure to delete all the Service Insertion Rules, which
refer to this Endpoint as 'redirect_tos' target.
DELETE /api/v1/serviceinsertion/services/<service-id>/service-instances/<service-instance-id>/instance-endpoints/<instance-endpoint-id>

Get a particular instance endpoint for a service instance.


Returns detailed Endpoint information for a given InstanceEndpoint.
GET /api/v1/serviceinsertion/services/<service-id>/service-instances/<service-instance-id>/instance-endpoints/<instance-endpoint-id>

Returns list of instance runtimes of service VM being deployed


Returns list of instance runtimes of service VMs being deployed for a given service instance id
GET /api/v1/serviceinsertion/services/<service-id>/service-instances/<service-instance-id>/instance-runtimes

Remove service VMs either as standalone or HA


Undeploy one service VM as standalone or two service VMs as HA. Associated deployment information and instance
runtime will also be deleted once service VMs have been un-deployed successfully.
POST /api/v1/serviceinsertion/services/<service-id>/service-instances/<service-instance-id>/instance-runtimes?action=delete

Deploy and set up service VMs either as standalone or HA


Deploys one service VM as standalone, or two service VMs as HA where one VM is active and another one is standby.

During the deployment of service VMs, service will be set up based on deployment events using callbacks.
POST /api/v1/serviceinsertion/services/<service-id>/service-instances/<service-instance-id>/instance-runtimes?action=deploy

Upgrade service VMs using newer version of OVF


Upgrade service VMs using newer version of OVF.
Upgrade is a 2 step process. Update the 'deployment_spec_name' in the
ServiceInstance to the new DeploymentSpec to which the service VMs will be
upgraded, folowed by this 'upgrade' api.
In case of HA, the stand-by service VM will be upgrade first. Once it has been upgraded,
it switches to be the Active one and then the other VM will be upgrade.
POST /api/v1/serviceinsertion/services/<service-id>/service-instances/<service-instance-id>/instance-runtimes?action=upgrade

Update maintenance mode or runtime state of a service VM


Set service VM either in or out of maintenance mode for maintenance mode, or in service or out
of service for runtime state. Only one value can be set at one time.
POST /api/v1/serviceinsertion/services/<service-id>/service-instances/<service-instance-id>/instance-runtimes/<instance-runtime-id>

Get statistics for a given interface identified by the interface index


Returns statistics of a specified interface via associated logical port. If the logical port is attached to
a logical router port, query parameter "source=realtime" is not supported.
GET /api/v1/serviceinsertion/services/<service-id>/service-instances/<service-instance-id>/instance-runtimes/<instance-runtime-id>/interfaces/<interface_index>/statistics

Get operational status for an interface


Returns operational status of a specified interface
GET /api/v1/serviceinsertion/services/<service-id>/service-instances/<service-instance-id>/instance-runtimes/<instance-runtime-id>/interfaces/<interface_index>/status

Get Service-Instance state for Service.


Returns configuration state of one instance of a deployed partner service using service insertion framework.
GET /api/v1/serviceinsertion/services/<service-id>/service-instances/<service-instance-id>/state

Get Service-Instance status for Service.


Returns status of one instance of a deployed partner service using service insertion framework.
By default this API would return cached status. Caching happens every 3 minutes.
For realtime status, query parameter "source=realtime" needs to be passed.
GET /api/v1/serviceinsertion/services/<service-id>/service-instances/<service-instance-id>/status

List all Service Profiles of a Service.


List all service profiles of a service.
GET /api/v1/serviceinsertion/services/<service-id>/service-profiles

Add ServiceProfile for a given Service.


Adds a new service profile.
POST /api/v1/serviceinsertion/services/<service-id>/service-profiles

Delete a particular ServiceProfile.


Delete service profile for a given service.
DELETE /api/v1/serviceinsertion/services/<service-id>/service-profiles/<service-profile-id>

Get a particular ServiceProfile for a Service.


Returns detailed service profile information for a given Service.
GET /api/v1/serviceinsertion/services/<service-id>/service-profiles/<service-profile-id>

Get NSgroups for a given ServiceProfile.


Returns list of NSGroups used in Service Insertion rules for a given Service Profile.
GET /api/v1/serviceinsertion/services/<service-id>/service-profiles/<service-profile-id>/nsgroups

List all ServiceChainMappings.


List all service chain mappings in the system for the given service profile.
GET /api/v1/serviceinsertion/services/<service-id>/service-profiles/<service-profile-id>/service-chain-mappings

Get Solution Config Information associated with a given service.


Returns Solution Config information for a given service.
GET /api/v1/serviceinsertion/services/<service-id>/solution-configs

Add Solution Config for a given Service


Adds a solution config. Solution Config are service level objects,
required for configuring the NXGI partner Service after deployment.
POST /api/v1/serviceinsertion/services/<service-id>/solution-configs

Deletes solution config information.


Deletes solution config information for a given service.
DELETE /api/v1/serviceinsertion/services/<service-id>/solution-configs/<solution-config-id>

Get Solution Config Information for a given solution config id.


Returns Solution Config information for a given solution config id.
GET /api/v1/serviceinsertion/services/<service-id>/solution-configs/<solution-config-id>

Updates Solution Config for a given Service


Updates a solution config. Solution Config are service level objects,
required for configuring the NXGI partner Service after deployment.
PUT /api/v1/serviceinsertion/services/<service-id>/solution-configs/<solution-config-id>

List all VendorTemplates of a Service.


List all vendor templates of a service.
GET /api/v1/serviceinsertion/services/<service-id>/vendor-templates

Add Vendor Template for a given Service


Adds a new vendor template. Vendor templates are service level objects,
registered to be used in Service Profiles.
POST /api/v1/serviceinsertion/services/<service-id>/vendor-templates

Delete a particular vendor tempalte.


Delete vendor template information for a given service.
Please make sure to delete all the Service Profile(s), which
refer to this vendor tempalte before deleting the template itself.
DELETE /api/v1/serviceinsertion/services/<service-id>/vendor-templates/<vendor-template-id>

Get a particular vendor template for a given service.


Returns detailed vendor template information for a given service.
GET /api/v1/serviceinsertion/services/<service-id>/vendor-templates/<vendor-template-id>

Resolve 'source node id' value to source entities.


Service insertion data path inserts unique 'source node id' value
into each packet. This API can be used to identify the source of the packet
using this value. It can be resolved to multiple source entities.
GET /api/v1/serviceinsertion/source-entities

List all service insertion status for supported contexts


GET /api/v1/serviceinsertion/status

Get ServiceInsertion global status for a context


GET /api/v1/serviceinsertion/status/<context-type>

Update global ServiceInsertion status for a context


PUT /api/v1/serviceinsertion/status/<context-type>