The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
The Cisco ICFPP APIs are compatible with any HTTPS browser. The APIs use code formatted in XML.
For information about using XML-formatted Representational State Transfer (REST) API requests, see Installing or Upgrading an Adapter.
The Cisco ICFPP APIs use HTTPS. Any compatible browser or client with a user account access can be used to submit requests to the Cisco ICFPP API. Most programming languages have built-in or open source libraries that provide REST API access and parsing of XML.
To test the APIs, we recommend that you use the Mozilla Firefox RESTClient add-on. The RESTClient is a Mozilla FireFox add-on that provides useful options for parsing and viewing API requests and responses. See https://addons.mozilla.org/en-US/firefox/addon/restclient/?src=ss, although you should check for more recent releases.
Enables a user to log in to Cisco ICFPP. Use an administrator account to provision a tenant and cloud.
URL Type |
Value |
---|---|
Resource URL | /capi/v1/login |
Sample URL | https://myserver/capi/v1/login |
Method |
Description |
---|---|
POST |
Allows a user to log in to Cisco ICFPP and returns the session key value pair that is used to form the header for subsequent requests. |
<GetKeys username='admin' password='abc123' expiration='90' />
Status |
Response |
---|---|
200 |
User is authenticated. <GetKeys status="valid" value="A6665E4664FD416EA903774A5103D760" name="X-Capi-Request" username="admin" /> |
400 |
Invalid input. |
403 |
Account login failed. |
500 |
Internal server error. |
Tag |
Attribute |
Description |
Format |
Presence |
---|---|---|---|---|
GetKeys |
username |
Use "admin" for the username to log in through an administrator account. This is used only for the service provider APIs. Use "username@tenant" to log in through a tenant account. The tenant username is the same string that was provisioned by the service provider. This username is expected to be passed by the service provider to the Intercloud Fabric administrator on the customer portal. |
String |
Mandatory |
password |
The password that is associated with the specified account. |
String |
Mandatory |
|
expiration |
The time in minutes after which a new key must be requested. The maximum allowed expiration time is 120 minutes. |
String |
Mandatory |
A cloud instance is a unique identifier that ties the back-end cloud URI with a southbound adapter that is installed by the service provider. Multiple back-end URIs should have multiple cloud instances. A tenant is part of only one cloud instance. The Cisco Intercloud Fabric Provider Platform (ICFPP) provides APIs that can manage cloud instances.
Provisions (adds) a cloud instance. The caller must save the response cloud instance ID to make subsequent modifications to the cloud instance, such as a URI change.
To provision a cloud instance using the GUI, see Adding a Cloud Instance.
URL Type |
Value |
---|---|
Resource URL |
/capi/v1/cloudinstances |
Sample URL |
https://myserver/capi/v1/cloudinstances |
Method |
Description |
---|---|
POST |
Creates a new cloud instance. |
Header Name |
Value |
Description |
---|---|---|
X-Capi-Request |
A6665E4664FD416EA903774A5103D760 |
The API session key. |
<CloudInstances instanceName="mycloud" type="cisco" moduleName="CSP" > <CloudCredentials endpointURI="http://csserver:8080/client/api" /> </CloudInstances>
Status |
Response |
---|---|
201 |
Cloud instance is created. <CloudInstances status="ACTIVE" instanceName="mycloud" cloudId="a7e4a384-afb8-418e-a958-a978496fa95c"/> |
400 |
Invalid input. |
401 |
Resource not authorized. |
401 |
User is not allowed to perform this operation. |
403 |
Module module-name is not supported. |
403 |
Cloud instance instance-name already exists. |
403 |
Required fields error. |
500 |
Internal server error. |
Tag |
Attribute |
Description |
Format |
Presence |
---|---|---|---|---|
CloudInstances |
instanceName |
A unique name that ties a moduleName to a back-end cloud URI address. This name is used for provisioning a new tenant. |
String |
Mandatory |
type |
The following values are valid: The type also serves to make sure that the moduleName is unique in the system. |
String |
Mandatory |
|
moduleName |
A unique string that maps a plugin to Cisco ICFPP. This must be the same name by which the plugin has been developed as a prefix for all the code/classes. |
String |
Mandatory |
|
CloudCredentials |
|
CloudCredentials tag inside the CloudInstances tag. |
Mandatory |
|
endpointURI |
The endpoint to reach the cloud provider server. The value can be an IP address, hostname, or URI. |
String |
Mandatory |
|
ParameterList |
ParameterList tag inside CloudInstances tag. This tag allows an API user to pass additional parameters. |
Optional |
||
Parameter |
Parameter tag under ParameterList tag. |
Optional |
||
name |
Parameter name. For a Dimension Data cloud, a parameter with the name "ftpservername" must be passed in ParameterList. |
String |
Optional |
|
value |
Parameter value. |
String |
Optional |
Updates (edits) the URI of a cloud instance.
To update a cloud instance using the GUI, see Editing a Cloud Instance.
URL Type |
Value |
---|---|
Resource URL |
/capi/v1/cloudinstances/cloudId |
Sample URL |
https://myserver/capi/v1/cloudinstances/a7e4a384-afb8-418e-a958-a978496fa95c |
Method |
Description |
---|---|
PUT |
Updates an existing cloud instance. |
Header Name |
Value |
Description |
---|---|---|
X-Capi-Request |
A6665E4664FD416EA903774A5103D760 |
The API session key. |
<CloudInstances> <CloudCredentials endpointURI="http://newcsserver:8080/client/api" /> </CloudInstances>
Status |
Response |
---|---|
200 |
Cloud instance is updated. <CloudInstances status="ACTIVE" instanceName="mycloud" cloudId="a7e4a384-afb8-418e-a958-a978496fa95c"/> |
400 |
Invalid input. |
401 |
Resource not authorized. |
401 |
User is not allowed to perform this operation. |
403 |
Required fields error. |
404 |
Cloud instance does not exist. |
500 |
Internal server error. |
Tag |
Attribute |
Description |
Format |
Presence |
---|---|---|---|---|
CloudCredentials |
CloudCredentials tag inside CloudInstances tag. |
Mandatory |
||
endpointURI |
The endpoint to reach the cloud provider server. The value can be an IP address, hostname, or URI. |
String |
Mandatory |
|
ParameterList |
ParameterList tag inside CloudInstances tag. This tag allows the API user to pass additional parameters. |
Optional |
||
Parameter |
Parameter tag under the ParameterList tag. |
Optional |
||
name |
Parameter name. |
String |
Optional |
|
value |
Parameter value. |
String |
Optional |
Retrieves the details of the specified cloud instance. The cloud identifier is obtained as part of creating a cloud instance.
URL Type |
Value |
---|---|
Resource URL |
/capi/v1/cloudinstances/cloudId |
Sample URL |
https://myserver/capi/v1/cloudinstances/a7e4a384-afb8-418e-a958-a978496fa95c |
Method |
Description |
---|---|
GET |
Queries the specified cloud instance. |
Header Name |
Value |
Description |
---|---|---|
X-Capi-Request |
A6665E4664FD416EA903774A5103D760 |
The API session key. |
No Body
Status |
Response |
---|---|
200 |
<CloudInstances moduleName="CSP" type="CISCO" instanceName="mycloud" cloudId="a7e4a384-afb8-418e-a958-a978496fa95c "/> |
400 |
Invalid input. |
401 |
Resource is not authorized. |
401 |
User is not allowed to perform this operation. |
404 |
Cloud instance does not exist. |
500 |
Internal server error. |
Retrieves a list of all cloud instances provisioned on Cisco ICFPP.
URL Type |
Value |
---|---|
Resource URL |
/capi/v1/cloudinstances |
Sample URL |
https://myserver/capi/v1/cloudinstances |
Method |
Description |
---|---|
GET |
Returns a list of all cloud instances. |
Header Name |
Value |
Description |
---|---|---|
X-Capi-Request |
A6665E4664FD416EA903774A5103D760 |
The API session key. |
No Body
Status |
Response |
---|---|
200 |
<CloudInstancesList> <CloudInstances moduleName="CSP" type="CISCO" instanceName="mycloud" cloudId="a7e4a384-afb8-418e-a958-a978496fa95c" /> <CloudInstances moduleName="OSP" type="CISCO" instanceName="ci2" cloudId="baaffdf95-4dd6-5103-0db2-ab3cd8dfca65" /> </CloudInstancesList> |
400 |
Invalid input. |
401 |
Resource is not authorized. |
401 |
User is not allowed to perform this operation. |
404 |
Cloud instance does not exist. |
500 |
Internal server error. |
Deletes a cloud instance. A cloud instance cannot be deleted if one or more tenants are associated with it.
To delete a cloud instance using the GUI, see Deleting a Cloud Instance.
URL Type |
Value |
---|---|
Resource URL |
/capi/v1/cloudinstances/cloudId |
Sample URL |
https://myserver/capi/v1/cloudinstances/a7e4a384-afb8-418e-a958-a978496fa95c |
Method |
Description |
---|---|
DELETE |
Deletes an existing cloud instance. |
Header Name |
Value |
Description |
---|---|---|
X-Capi-Request |
A6665E4664FD416EA903774A5103D760 |
The API session key. |
No Body
Status |
Response |
---|---|
200 |
Cloud instance is deleted. <CloudInstances status="DELETED" cloudId="a7e4a384-afb8-418e-a958-a978496fa95c"/> |
401 |
Resource is not authorized. |
401 |
User is not allowed to perform this operation. |
403 |
Cannot delete. One or more tenants are associated with the cloud instance. |
404 |
Cloud instance does not exist. |
500 |
Internal server error. |
Cisco Intercloud Fabric Provider Platform (ICFPP) provides APIs that can provision tenants and add users.
Provisions (adds) a tenant. You must provision a cloud instance before you can provision a tenant.
To provision a tenant using the GUI, see Adding a Tenant.
URL Type |
Value |
---|---|
Resource URL |
/capi/v1/tenants |
Sample URL |
https://myserver/capi/v1/tenants |
Method |
Description |
---|---|
POST |
Creates a new tenant. |
Header Name |
Value |
Description |
---|---|---|
X-Capi-Request |
A6665E4664FD416EA903774A5103D760 |
The API session key. |
<Tenants tenantName="acme" instanceName="mycloud"> <ResourceLimits maxServers="100"/> <ParameterList> <Parameter name="paramone" value="param_one_value"/> <Parameter name="paramtwo" value="param_two_value"/> </ParameterList> <AccountsList> <Accounts username="peter" apiKey="ABCDEF" secretKey="AB12345"/> </AccountsList> </Tenants>
Status |
Response |
---|---|
201 |
Tenant is created. <Tenants status=”ACTIVE” tenantId="8116a2f7-7f8c-4961-8ee1-9e486b6b2aa4" tenantName="acme" instanceName="mycloud"> <ResourceLimits maxServers="100"/> <ParameterList> <Parameter name="paramone" value="param_one_value"/> <Parameter name="paramtwo" value="param_two_value"/> </ParameterList> <AccountsList> <Accounts username="peter" passkey=”23455#adfcc” apiKey="ABCDEF" secretKey="AB12345” /> </AccountsList> </Tenants> |
400 |
Invalid input. |
401 |
Resource is not authorized. |
401 |
User is not allowed to perform this operation. |
403 |
Required fields error. |
403 |
Validation error. @ is not allowed in tenant name. Cloud instance instance-name does not exist. Required: Org name. Required: API Key and Secret Key. |
403 |
Tenant tenant-name already exists. |
500 |
Internal server error. |
Tag |
Attribute |
Description |
Format |
Presence |
---|---|---|---|---|
Tenants |
tenantName |
A unique name associated with the tenant. |
String |
Mandatory |
instanceName |
The cloud instance name. |
String |
Mandatory |
|
enabled |
Indicates whether the tenant is enabled or disabled. To disable the tenant and any accounts under it, set the value to "false". The default value is "true". |
String |
Optional |
|
orgName |
The name of the organization that is associated with the tenant. Different back-end cloud providers have parallel concepts. For CloudStack, this name need not be passed as it can be dynamically provisioned. |
String |
Optional |
|
ResourceLimits |
The resource limits tag. |
Optional |
||
maxServers |
The maximum server count. The default value is 1000. |
Integer |
Mandatory |
|
ParameterList |
ParameterList tag inside the Tenants tag. This tag allows the API user to pass additional parameters. |
Optional |
||
Parameter |
Parameter tag under ParameterList tag. |
Optional |
||
name |
Parameter name. |
String |
Optional |
|
value |
Parameter value. |
String |
Optional |
|
AccountsList |
A list of accounts. |
Mandatory |
||
Accounts |
The accounts tag. |
Mandatory |
||
username |
The username of the tenant account. The name is used to log in to the Cisco ICFPP REST API. For example, username@tenant |
String |
Mandatory |
|
apiKey |
This attribute is specific to some cloud providers that require a key for any back-end API access. This attribute is mandatory for CloudStack-based tenants. |
String |
Optional |
|
secretKey |
This attribute is used with the apiKey parameter for some cloud providers. This attribute is mandatory for CloudStack-based tenants. |
String |
Optional |
|
enabled |
Indicates whether the account is enabled or disabled. To disable the account, set the value to "false". The default value is "true". |
String |
Optional |
|
|
The email address that is associated with the user. If this attribute is not provided, the value defaults to the following: username@tenantName |
String |
Optional |
|
passkey |
Password key generated as a response for the apiKey and secretKey. This attribute is mandatory for CloudStack-based tenants. For cloud providers that use usernames and passwords, this attribute will not be created or presented to the API. |
String |
Optional |
Updates (edits) the attributes of an existing tenant.
To update a tenant using the GUI, see Editing a Tenant.
URL Type |
Value |
---|---|
Resource URL |
/capi/v1/tenants/tenantId |
Sample URL |
https://myserver/capi/v1/tenants/8116a2f7-7f8c-4961-8ee1-9e486b6b2aa4 |
Method |
Description |
---|---|
PUT |
Updates an existing tenant. |
Header Name |
Value |
Description |
---|---|---|
X-Capi-Request |
A6665E4664FD416EA903774A5103D760 |
The API session key. |
<Tenants> <ResourceLimits maxServers="200"/> <ParameterList> <Parameter name="paramone" value="param_one_new_value"/> </ParameterList> <AccountsList> <Accounts username="peter" email="peter@acme" apiKey="ABCDEFXYZ" secretKey="AB12345678"/> </AccountsList> </Tenants>
<Tenants enabled=”false” > <AccountsList> <Accounts username="peter" email="peter@acme" apiKey="ABCDEFXYZ" secretKey="AB12345678"/> </AccountsList> </Tenants>
Status |
Response |
---|---|
200 |
Tenant is updated. <Tenants status=”ACTIVE” tenantId="8116a2f7-7f8c-4961-8ee1-9e486b6b2aa4" tenantName="acme" instanceName="mycloud"> <ResourceLimits maxServers="100" /> <ParameterList> <Parameter name="paramone" value="param_one_value" /> <Parameter name="paramtwo" value="param_two_value" /> </ParameterList> <AccountsList> <Accounts username="peter" passkey=”1255#adfbc” apiKey="ABCDEFXYZ" secretKey="AB12345678" /> </AccountsList> </Tenants> |
400 |
Invalid input. |
401 |
Resource is not authorized. |
401 |
User is not allowed to perform this operation. |
404 |
Tenant with the tenant ID does not exist. |
500 |
Internal server error. |
Tag |
Attribute |
Description |
Format |
Presence |
---|---|---|---|---|
Tenants |
Mandatory |
|||
enabled |
Indicates whether the tenant is enabled or disabled. To disable this tenant for a period of time, set the value to "false". This attribute is set to "true" by default. |
String |
Optional |
|
ResourceLimits |
The resource limits tag. |
Optional |
||
maxServers |
The maximum server count. |
Integer |
Optional |
|
ParameterList |
ParameterList tag inside Tenants tag. This attribute allows the API user to pass additional parameters. |
Optional |
||
Parameter |
Parameter tag inside the ParameterList tag. |
Optional |
||
name |
The parameter name. |
String |
Optional |
|
value |
The parameter value. |
String |
Optional |
|
AccountsList |
A list of accounts. |
Mandatory |
||
Accounts |
The accounts tag. |
Mandatory |
||
username |
The username of the tenant account. |
String |
Mandatory |
|
apiKey |
This attribute is specific to some cloud providers that require a key for any back-end API access. This attribute is mandatory for CloudStack-based tenants. |
String |
Optional |
|
secretKey |
This attribute is used in combination with the apiKey attribute for some cloud providers. This attribute is mandatory for CloudStack-based tenants. |
String |
Optional |
|
enabled |
Indicates whether the account is enabled or disabled. To disable an account for a period of time, set the value to "false". This attribute is set to "true" by default. |
String |
Optional |
|
|
The email address of the tenant account. |
String |
Optional |
|
passkey |
The password key is generated in response to the apiKey and secretKey attributes. This attribute is mandatory for CloudStack-based tenant.s |
String |
Optional |
Retrieves the tenant details of the specified tenant ID.
URL Type |
Value |
---|---|
Resource URL |
/capi/v1/tenants/tenantId |
Sample URL |
https://myserver/capi/v1/tenants/8116a2f7-7f8c-4961-8ee1-9e486b6b2aa4 |
Method |
Description |
---|---|
GET |
Returns tenant details. |
Header Name |
Value |
Description |
---|---|---|
X-Capi-Request |
A6665E4664FD416EA903774A5103D760 |
The API session key. |
No Body
Status |
Response |
---|---|
200 |
Response for an existing tenant. <Tenants tenantId="8116a2f7-7f8c-4961-8ee1-9e486b6b2aa4" status=”ACTIVE” instanceName="mycloud" tenantName="acme"> <ResourceLimits maxServers="200"/> <ParameterList> <Parameter name="paramone" value="param_one_new_value"/> <Parameter name="paramtwo" value="param_two_value"/> </ParameterList> <AccountsList> <Accounts secretKey="AB12345678" apiKey="ABCDEFXYZ" username="peter" passkey=”123#2445” accountId="141a5ce8-e9b8-45d6-88e9-dbf851634786" email="peter@acme"> <Servers inactiveServers="0" activeServers="0"/> </Accounts> </AccountsList> </Tenants> |
200 |
Response for a tenant that has been deleted. <Tenants tenantId="8116a2f7-7f8c-4961-8ee1-9e486b6b2aa4" status="DELETED" tenantName="acme"> <AccountList> <Accounts username="abcuser" <FaultList> <!-- Information from CapiFaults --> <Fault locationId="867a374b-b5ff-4190-9b7b-d9f602bea503" locationName="Zone-1" resource="server" resourceName="myserver" resourceId="abc-xyz-123" backendResourceId="defal-1020" errorCode="ICFPP specific error" errorMessage="can be anything, exception from backend" /> <Fault locationId="867a374b-b5ff-4190-9b7b-d9f602bea503" locationName="Zone-1" resource="server" resourceName="myserver2" resourceId="abc-def-456" backendResourceId="defal-5678" errorCode="ICFPP specific error" errorMessage="can be anything, exception from backend" /> </FaultList> </Accounts> </AccountsList> </Tenants> |
400 |
Invalid input. |
401 |
Resource is not authorized. |
401 |
User is not allowed to perform this operation. |
404 |
The specified tenant does not exist. |
500 |
Internal server error. |
Tag |
Attribute |
Description |
Format |
Presence |
---|---|---|---|---|
Servers |
The server tag. |
Mandatory |
||
inactiveServers |
Number of servers that are not in Running state (such as stopped, failed, or any other indeterminate state). |
String |
Mandatory |
|
activeServers |
Number of servers that are in Running state, and with a private IP address assigned. |
String |
Mandatory |
Retrieves the details of the tenant and any servers that are associated with the specified tenant.
URL Type |
Value |
---|---|
Resource URL |
/capi/v1/tenants/tenantId /details |
Sample URL |
https://myserver/capi/v1/tenants/8116a2f7-7f8c-4961-8ee1-9e486b6b2aa4/details |
Pagination options limit the number of records (servers) displayed per tenant. The pageSize option sets the number of records in each query and the page option identifies the index of the page being fetched.
URL Type |
Value |
---|---|
Resource URL |
/capi/v1/tenants/tenantId /details?pageSize=size &page=index |
Sample URL |
|
The date filter options retrieve all VM activity for the tenant between the specified startDate and time and endDate and time.
URL Type |
Value |
---|---|
Resource URL |
|
Sample URL |
|
Method |
Description |
---|---|
GET |
Returns tenant details. |
Header Name |
Value |
Description |
---|---|---|
X-Capi-Request |
A6665E4664FD416EA903774A5103D760 |
The API session key. |
No Body
Status |
Response |
---|---|
200 |
<Tenants tenantId="8116a2f7-7f8c-4961-8ee1-9e486b6b2aa4" status=”ACTIVE” instanceName="mycloud" tenantName="acme"> <ResourceLimits maxServers="100" /> <AccountsList> <Accounts secretKey="AB12345678" apiKey="ABCDEFXYZ" username="peter" accountId="141a5ce8-e9b8-45d6-88e9-dbf851634786" email="peter@acme"> <ServerList> <Servers type="APPLICATION" inactiveServers="2" activeServers="1"> <Server startTime="09/05/2014 08:40:51 GMT-0700" activeHours="04:05:35" status="Running" serverid="c0aafcd9-d65daa0e-2f38-a49e42af1758" name="myserver" backendServerId="12345-232accaa-ccd-ddd" serviceOffering="abcd12345-efghi-sdfsdfsd-098765" locationId="c0aafcd9-d65daa0e-abc12-a49e42af1758" resourceCpu="2" resourceMem="2048" /> <Server startTime="09/07/2014 08:40:51 GMT-0700" activeHours="12:45:59" status="Stopped" serverid="dec44172-35fd-7900-fde7-d9bed5edca5e" name="myserver2" backendServerId="12345-232accee-ccd-ddd" serviceOffering="abcd12345-efghi-sdfsdfsd-098765" locationId="c0aafcd9-d65daa0e-abc12-a49e42af1758" resourceCpu="2" resourceMem="4096" /> <Server startTime="09/07/2014 08:40:51 GMT-0700" deleteTime="09/07/2014 09:40:51 GMT-0700" activeHours="1:00:00" status="Deleted" serverid="deaa172-35fd-7900-fde7-d9bed5edca5e" backendServerId="12345-232accdd-ccd-ddd" name="mydelServer" serviceOffering="abcd12345-efghi-sdfsdfsd-098765" locationId="c0aafcd9-d65daa0e-abc12-a49e42af1758" resourceCpu="2" resourceMem="4096" /> </Servers> <Servers type="INFRA_CSR" inactiveServers="0" activeServers="1"> <Server startTime="09/15/2014 11:40:51 GMT-0700" activeHours="04:05:35" status="Running" serverid="t1aafcd9-d65daa0e-2f38-b49e42af1758" name="mycsr" backendServerId="12345-232acccc-ccd-ddd" serviceOffering="xyzd12335-efghi-sdfsdfsd-098765" locationId="c0aafcd9-d65daa0e-abc12-a49e42af1758" resourceCpu="2" resourceMem="4096" /> </Servers> </ServerList> </Accounts> <Accounts> ....... </Accounts> </AccountsList> </Tenants> |
400 |
Invalid input. |
401 |
Resource is not authorized. |
401 |
User is not allowed to perform the operation. |
404 |
The specified tenant does not exist. |
500 |
Internal server error. |
Retrieves a list of all tenants.
URL Type |
Value |
---|---|
Resource URL |
/capi/v1/tenants |
Sample URL |
https://myserver/capi/v1/tenants |
Pagination options limit the number of records to be displayed for each entry. The pageSize option sets the number of records in each query, and the page option identifies the index of the page being fetched.
URL Type |
Value |
---|---|
Resource URL |
/capi/v1/tenants?pageSize=size&page=index |
Sample URL |
https://myserver/capi/v1/tenants?pageSize=5&page=3 |
Method |
Description |
---|---|
GET |
Returns a list of all tenants. |
Header Name |
Value |
Description |
---|---|---|
X-Capi-Request |
A6665E4664FD416EA903774A5103D760 |
The API session key. |
No Body
Status |
Response |
---|---|
200 |
<TenantsList> <Tenants tenantId="8116a2f7-7f8c-4961-8ee1-9e486b6b2aa4" status=”ACTIVE” instanceName="mycloud" tenantName="acme"> <ResourceLimits maxServers="100"/> <AccountsList> <Accounts secretKey="AB12345678" apiKey="ABCDEFXYZ" username="peter" passkey=”fff1243343#” accountId="141a5ce8-e9b8-45d6-88e9-dbf851634786" email="peter@acme"> <ServerList> <Servers type="APPLICATION" inactiveServers="0" activeServers="0" /> </ServerList> </Accounts> </AccountsList> </Tenants> <Tenants tenantId="d4af5cbc-a2dd-430e-b3cd-205846784feb" status=”ACTIVE” instanceName="mycloud" tenantName="mytenant"> <ResourceLimits maxServers="50"/> <AccountsList> <Accounts secretKey="DEF98765" apiKey="ABCXYZ" username="parker" passkey=”fff12456343#” accountId="c9cb6428-f295-43ca-929e-4e314f6181fc" email="parker@mytenant"> <ServerList> <Servers type="INFRA_ICS" inactiveServers="0" activeServers="0" totalServers="0"/> </ServerList> </Accounts> </AccountsList> </Tenants> </TenantsList> |
400 |
Invalid input. |
401 |
Resource is not authorized. |
401 |
User is not allowed to perform the operation. |
500 |
Internal server error. |
Deletes a tenant and all servers associated with the tenant.
The initial response of this call is "DELETING". Subsequent queries using the Get Tenant API call will eventually result with the status of "DELETED".
To delete a tenant using the GUI, see Deleting a Tenant.
URL Type |
Value |
---|---|
Resource URL |
/capi/v1/tenants/tenantId |
Sample URL |
https://myserver/capi/v1/tenants/8116a2f7-7f8c-4961-8ee1-9e486b6b2aa4 |
Method |
Description |
---|---|
DELETE |
Deletes an existing tenant. |
Header Name |
Value |
Description |
---|---|---|
X-Capi-Request |
A6665E4664FD416EA903774A5103D760 |
The API session key. |
No Body
Status |
Response |
---|---|
200 |
Tenant is deleting. <Tenants status="DELETING" tenantName="acme" tenantId="8116a2f7-7f8c-4961-8ee1-9e486b6b2aa4"/> |
400 |
Invalid input. |
401 |
Resource is not authorized. |
401 |
User is not allowed to perform the operation. |
404 |
Tenant is currently being deleted. |
404 |
Tenant is already deleted. |
404 |
The specified tenant does not exist. |
500 |
Internal server error. |
Purges a tenant and all of its resources (such as servers, images, and templates) from the database. Run the delete tenant request before issuing the purge tenant request. If the tenant is deleted before the purge request, all of the tenant's resources will be removed from the database. If the tenant is active when the purge tenant request is issued, only the inactive servers will be deleted and removed from the database.
The response of this call shows the status of "PURGED".
URL Type |
Value |
---|---|
Resource URL |
/capi/v1/tenants/tenantId/purge |
Sample URL |
https://myserver/capi/v1/tenants/8116a2f7-7f8c-4961-8ee1-9e486b6b2aa4/purge |
Method |
Description |
---|---|
DELETE |
Purges an existing tenant. |
Header Name |
Value |
Description |
---|---|---|
X-Capi-Request |
A6665E4664FD416EA903774A5103D760 |
The API session key. |
No Body
Status |
Response |
---|---|
200 |
Tenant is purged. <Tenants status="PURGED" tenantName="acme" tenantId="8116a2f7-7f8c-4961-8ee1-9e486b6b2aa4"/> |
400 |
Invalid input |
401 |
Resource is not authorized. |
401 |
User is not allowed to perform the operation. |
404 |
The specified tenant does not exist. |
500 |
Internal server error. |
Retrieves the server details of the specified server ID.
URL Type |
Value |
---|---|
Resource URL |
/capi/v1/servers/serverId |
Sample URL |
https://myserver/capi/v1/servers/dec44172-35fd-7900-fde7-d9bed5edca5e |
Method |
Description |
---|---|
GET |
Returns server details. |
Header Name |
Value |
Description |
---|---|---|
X-Capi-Request |
A6665E4664FD416EA903774A5103D760 |
The API session key. |
No Body
Status |
Response |
---|---|
200 |
<Server status="Stopped" serverid="dec44172-35fd-7900-fde7-d9bed5edca5e" name="mytestvm-5F7E1410264747593" providerVpcId="cd58fd3c-ad28-8dd8-4f5d-fe39c5b1bdb7" templateId="943c3728-4799-07ab-918e-45f7c7fe1731" locationId="867a374b-b5ff-4190-9b7b-d9f602bea503" resourceCpu="2" resourceMem”4096” > <VnicInfoList> <VnicInfo providerVpcNetworkId="39c4d1d1-9d0e-d5f4-651e-4ac2353dbdfd"> <VnicIpInfoList> <VnicIpInfo assignPublicIp="false" privateIpNetmask="255.255.255.0" privateIp="10.0.0.186" isPrimary="true"/> </VnicIpInfoList> </VnicInfo> </VnicInfoList> <Disks> <Disk downloadStatus="none" size="33554432" diskId="97952a38-729b-4277-b09e-95efdeac685a" index="0"/> </Disks> <Tags> <Tag>VNMC_RES_ID-0004f5b6-4000-4273-0004-f5b640004273</Tag> </Tags> <ParameterList> <Parameter value="0004f5b6-4000-4273-0004-f5b640004273" name="resource-id"/> </ParameterList> </Server> |
400 |
Invalid input. |
401 |
Resource is not authorized. |
404 |
The specified server does not exist. |
500 |
Internal server error. |
You can configure Cisco ICFPP to send messages to remote syslog servers. If remote syslog is enabled, Cisco ICFPP sends messages to the remote syslog server whenever a tenant, cloud instance, template, or server is created or deleted.
Configures remote syslog servers in Cisco ICFPP. This API also enables, disables, or updates remote syslog server configurations in Cisco ICFPP.
URL Type |
Value |
---|---|
Resource URL |
/capi/v1/logs/syslogconfig |
Sample URL |
https://myserver/capi/v1/logs/syslogconfig |
Method |
Description |
---|---|
POST |
Posts the remote syslog configuration. |
Header Name |
Value |
Description |
---|---|---|
X-Capi-Request |
A6665E4664FD416EA903774A5103D760 |
The API session key. |
<SyslogConfig logLevel="MINOR" enabled="true"> <PrimaryServer protocol="UDP" port="514" host="192.168.10.101"/> <SecondaryServer protocol="UDP" port="514" host="192.168.10.102"/> </SyslogConfig>
Status |
Response |
---|---|
200 |
Configures the remote syslog servers in Cisco ICFPP and returns the current configuration. <SyslogConfig logLevel="MINOR" enabled="true"> <PrimaryServer protocol="UDP" port="514" host="192.168.10.101"/> <SecondaryServer protocol="UDP" port="514" host="192.168.10.102"/> </SyslogConfig> |
400 |
Invalid input. |
401 |
Resource is not authorized. |
401 |
User is not allowed to perform this operation. |
403 |
Required: Primary server address. Primary and Secondary server address mst be different. Required: Syslog Level. Invalid Syslog Level. |
500 |
Internal server error. |
Tag |
Attribute |
Description |
Format |
Presence |
---|---|---|---|---|
SyslogConfig |
enabled |
Enable syslog configuration. Allowed values are "true" or "false". If enabled is "false", the PrimaryServer configuration is not required. |
String |
Mandatory |
logLevel |
Allowed values: DEBUG, NORMAL, MINOR, or MAJOR. |
String |
Mandatory |
|
PrimaryServer |
Primary syslog server configuration. |
|
Mandatory |
|
host |
Primary syslog server hostname or IP address. |
String |
Mandatory |
|
port |
Primary syslog server port. Allowed port: 514. |
Mandatory |
||
protocol |
Remote syslog messaging protocol. Allowed protocol: UDP. |
Mandatory |
||
SecondaryServer |
Secondary syslog server configuration. |
Optional |
||
host |
Secondary syslog server hostname or IP address. |
String |
Optional |
|
port |
Primary syslog server port. Allowed port: 514. |
Optional |
||
protocol |
Remote syslog messaging protocol. Allowed protocol: UDP. |
Optional |
Retrieves the remote syslog configuration from Cisco ICFPP.
URL Type |
Value |
---|---|
Resource URL |
/capi/v1/logs/syslogconfig |
Sample URL |
https://myserver/capi/v1/logs/syslogconfig |
Method |
Description |
---|---|
GET |
Get syslog configuration. |
Header Name |
Value |
Description |
---|---|---|
X-Capi-Request |
A6665E4664FD416EA903774A5103D760 |
The API session key. |
No Body
Status |
Response |
---|---|
200 |
<SyslogConfig logLevel="MINOR" enabled="true"> <PrimaryServer protocol="UDP" port="514" host="192.168.10.101"/> <SecondaryServer protocol="UDP" port="514" host="192.168.10.102"/> </SyslogConfig> |
401 |
Resource is not authorized. |
401 |
User is not allowed to perform this operation. |
500 |
Internal server error. |
Cisco ICFPP provides APIs that enable you to download the current logs or all logs.
Downloads the current Cisco ICFPP logs in a zipped file.
URL Type |
Value |
---|---|
Resource URL |
/capi/v1/logs/current |
Sample URL |
https://myserver/capi/v1/logs/current |
Method |
Description |
---|---|
GET |
Returns the Cisco ICFPP application and web server logs. |
Header Name |
Value |
Description |
---|---|---|
X-Capi-Request |
A6665E4664FD416EA903774A5103D760 |
The API session key. |
No Body
Status |
Response |
---|---|
200 |
reply: 'HTTP/1.1 200 OK\r\n' header: Content-Disposition: attachment; filename="CurrentLogs.zip" header: Content-Type: application/zip |
400 |
Invalid input. |
401 |
Resource is not authorized. |
401 |
User is not allowed to perform this operation. |
500 |
Internal server error. |
Downloads all Cisco ICFPP in a zipped file.
URL Type |
Value |
---|---|
Resource URL |
/capi/v1/logs/all |
Sample URL |
https://myserver/capi/v1/logs/all |
Method |
Description |
---|---|
GET |
Returns all Cisco ICFPP logs. |
Header Name |
Value |
Description |
---|---|---|
X-Capi-Request |
A6665E4664FD416EA903774A5103D760 |
The API session key. |
No Body
Status |
Response |
---|---|
200 |
reply: 'HTTP/1.1 200 OK\r\n' header: Content-Disposition: attachment; filename="AllLogs.zip" header: Content-Type: application/zip |
400 |
Invalid input. |
401 |
Resource is not authorized. |
402 |
User is not allowed to perform this operation. |
500 |
Internal server error. |