Create Device Interfaces

post

/deviceInterface

Creates one or more device interfaces for a given logical device. To create multiple device interfaces, use the quantity parameter to specify the number to create.

The following fields are mandatory fields for successful creation:

  • @type
  • name
  • logicalDeviceRef or parentDeviceInterfaceRef
  • resourceSpecification

To create a resource relationship, the resourceRelationship.type and resourceRelationship.resourceRef fields are mandatory. The created logical device account will be shown in the response along with the location URL, except when "fields=none" is provided in the request.

Request

Query Parameters
Supported Media Types
Request Body - application/json ()
The device interface to be created
Root Schema : schema
A device interface.
Match All
Show Source
Nested Schema : LogicalResource
Type: object
The base class for logical resources.
Match All
Show Source
Nested Schema : Discriminator: @type
Type: object
A base resource Class.
Show Source
Nested Schema : LogicalResource-allOf[1]
Type: object
Nested Schema : type
Type: object
Show Source
Nested Schema : schema
A logical device.
Match All
Show Source
Nested Schema : roles
Type: array
The list of device interface roles.
Show Source
Nested Schema : type
Type: object
Show Source
Nested Schema : PlaceRef
Type: object
A place to associate with the resource/service.
Show Source
Nested Schema : roles
Type: array
The list of logical device roles.
Show Source
Nested Schema : Role
Type: object
A role.
Show Source
Back to Top

Response

Supported Media Types

201 Response

The device interface were created successfully.
Body ()
Root Schema : schema
Type: array
Show Source
Nested Schema : schema
A device interface.
Match All
Show Source
Nested Schema : LogicalResource
Type: object
The base class for logical resources.
Match All
Show Source
Nested Schema : Discriminator: @type
Type: object
A base resource Class.
Show Source
Nested Schema : LogicalResource-allOf[1]
Type: object
Nested Schema : type
Type: object
Show Source
Nested Schema : schema
A logical device.
Match All
Show Source
Nested Schema : roles
Type: array
The list of device interface roles.
Show Source
Nested Schema : type
Type: object
Show Source
Nested Schema : PlaceRef
Type: object
A place to associate with the resource/service.
Show Source
Nested Schema : roles
Type: array
The list of logical device roles.
Show Source
Nested Schema : Role
Type: object
A role.
Show Source

400 Response

The request isn't valid.
Body ()
Root Schema : Error
Type: object
Used when an API throws an error. This is typically used with HTTP error response codes (3xx, 4xx, 5xx).
Show Source
  • The error code.
  • Allowed Values: [ "CustomObject", "CustomNetworkAddress", "DeviceInterface", "Equipment", "EquipmentHolder", "FlowIdentifier", "GeographicLocation", "GeographicSite", "GeographicAddress", "PropertyLocation", "LogicalDevice", "LogicalDeviceAccount", "MediaStream", "Network", "PhysicalConnector", "PhysicalDevice", "PhysicalPort", "Pipe", "Service", "TelephoneNumber", "IPV4Address", "IPV6Address", "IPSubnet", "NetworkAddressDomain", "Connectivity", "Party" ]
    The list of valid values for an entity class.
  • message
    The text that provides more details about the error as well as corrective actions.
  • The short, user-friendly summary of the problem, which does not change for subsequent occurrences of the problem.
  • The URL pointing to the documentation that describes the error.
  • The HTTP error code extension, such as 400-2.
Nested Schema : message
Type: array
The text that provides more details about the error as well as corrective actions.
Show Source

401 Response

You aren't authorized to make this request.
Body ()
Root Schema : Error
Type: object
Used when an API throws an error. This is typically used with HTTP error response codes (3xx, 4xx, 5xx).
Show Source
  • The error code.
  • Allowed Values: [ "CustomObject", "CustomNetworkAddress", "DeviceInterface", "Equipment", "EquipmentHolder", "FlowIdentifier", "GeographicLocation", "GeographicSite", "GeographicAddress", "PropertyLocation", "LogicalDevice", "LogicalDeviceAccount", "MediaStream", "Network", "PhysicalConnector", "PhysicalDevice", "PhysicalPort", "Pipe", "Service", "TelephoneNumber", "IPV4Address", "IPV6Address", "IPSubnet", "NetworkAddressDomain", "Connectivity", "Party" ]
    The list of valid values for an entity class.
  • message
    The text that provides more details about the error as well as corrective actions.
  • The short, user-friendly summary of the problem, which does not change for subsequent occurrences of the problem.
  • The URL pointing to the documentation that describes the error.
  • The HTTP error code extension, such as 400-2.
Nested Schema : message
Type: array
The text that provides more details about the error as well as corrective actions.
Show Source

403 Response

The request is forbidden.
Body ()
Root Schema : Error
Type: object
Used when an API throws an error. This is typically used with HTTP error response codes (3xx, 4xx, 5xx).
Show Source
  • The error code.
  • Allowed Values: [ "CustomObject", "CustomNetworkAddress", "DeviceInterface", "Equipment", "EquipmentHolder", "FlowIdentifier", "GeographicLocation", "GeographicSite", "GeographicAddress", "PropertyLocation", "LogicalDevice", "LogicalDeviceAccount", "MediaStream", "Network", "PhysicalConnector", "PhysicalDevice", "PhysicalPort", "Pipe", "Service", "TelephoneNumber", "IPV4Address", "IPV6Address", "IPSubnet", "NetworkAddressDomain", "Connectivity", "Party" ]
    The list of valid values for an entity class.
  • message
    The text that provides more details about the error as well as corrective actions.
  • The short, user-friendly summary of the problem, which does not change for subsequent occurrences of the problem.
  • The URL pointing to the documentation that describes the error.
  • The HTTP error code extension, such as 400-2.
Nested Schema : message
Type: array
The text that provides more details about the error as well as corrective actions.
Show Source

500 Response

An internal server error occurred.
Body ()
Root Schema : Error
Type: object
Used when an API throws an error. This is typically used with HTTP error response codes (3xx, 4xx, 5xx).
Show Source
  • The error code.
  • Allowed Values: [ "CustomObject", "CustomNetworkAddress", "DeviceInterface", "Equipment", "EquipmentHolder", "FlowIdentifier", "GeographicLocation", "GeographicSite", "GeographicAddress", "PropertyLocation", "LogicalDevice", "LogicalDeviceAccount", "MediaStream", "Network", "PhysicalConnector", "PhysicalDevice", "PhysicalPort", "Pipe", "Service", "TelephoneNumber", "IPV4Address", "IPV6Address", "IPSubnet", "NetworkAddressDomain", "Connectivity", "Party" ]
    The list of valid values for an entity class.
  • message
    The text that provides more details about the error as well as corrective actions.
  • The short, user-friendly summary of the problem, which does not change for subsequent occurrences of the problem.
  • The URL pointing to the documentation that describes the error.
  • The HTTP error code extension, such as 400-2.
Nested Schema : message
Type: array
The text that provides more details about the error as well as corrective actions.
Show Source
Back to Top

Examples

Create a Single Device Interface

This example shows how to create a single device interface with a given specification by submitting a POST request on the REST resource using cURL. For more information about cURL, see "Install and Use cURL".

cURL Command

curl -X POST "http://hostname:port/InventoryRSOpenAPI/resourceInventoryManagement/version/deviceInterface -H 'content-type: application/json' -H credentials -d @dicreate.json

where:

  • hostname is the URL for the UIM REST server.
  • port is the port for the UIM REST server.
  • version is the version of the API you're using.
  • credentials is the base64 encoding of the user ID and password joined by a single colon (ID:password). See "Authentication and Authorization".
  • dicreate.json is the JSON file that specifies the device interface to create.

Example of Request Body

This shows an example of the contents of the dicreate.json file sent as the request body.

{
   "@type": "DeviceInterface",
   "@baseType": "LogicalResource",
   "name": "DI_Name",
   "resourceSpecification": {
      "id": "DS1 Logical Interface",
      "name": "DS1 Logical Interface"
   },
   "deviceInterfaceRef": {
      "id": "1-450004",
      "href": "http://hostname:port/InventoryRSOpenAPI/resourceInventoryManagement/version/resource/1-450004",
      "@type": "LogicalDevice"
   } 
}

Example of Response Body

This example shows the contents of the response body in JSON format. The ID is auto-generated and returned in the response, because the input specification indicates auto-generation.

[
   {
      "id": "20-450004-3",
      "href": "http://hostname:port/InventoryRSOpenAPI/resourceInventoryManagement/version/resource/20-450004-3",
      "@type": "DeviceInterface",
      "@baseType": "LogicalResource",
      "name": "DI_Name",
      "version": "1",
      "lifecycleState": "INSTALLED",
      "lifecycleSubState": "UNASSIGNED",
      "startDate": "2020-01-16T14:39:58.195Z",
      "endDate": "2038-01-19T08:44:07.000Z",
      "resourceSpecification": {
         "id": "DS1 Logical Interface",
         "href": "http://hostname:port/InventoryRSOpenAPI/specification/DS1 Logical Interface",
         "name": "DS1 Logical Interface",
         "version": "1",
         "entityType": "DeviceInterface",
         "startDate": "2020-01-07T00:00:01.000Z",
         "endDate": "2038-01-19T08:44:07.000Z"
      },
      "deviceInterfaceRef": {
         "id": "1-450004",
         "href": "http://hostname:port/InventoryRSOpenAPI/resourceInventoryManagement/version/resource/1-450004",
         "@type": "LogicalDevice"
      }
   }
]

Create Multiple Device Interfaces

This example shows how to create multiple device interfaces with the same details by submitting a POST request on the REST resource using cURL. For more information about cURL, see "Install and Use cURL".

cURL Command

curl -X POST "http://hostname:port/InventoryRSOpenAPI/resourceInventoryManagement/version/deviceInterface?quantity=qty -H 'content-type: application/json' -H credentials -d @dicreate.json

where:

  • hostname is the URL for the UIM REST server.
  • port is the port for the UIM REST server.
  • version is the version of the API you're using.
  • credentials is the base64 encoding of the user ID and password joined by a single colon (ID:password). See "Authentication and Authorization".
  • qty is the number of device interfaces to create.
  • dicreate.json is the JSON file that specifies the device interface details.

Example of Request Body

This shows an example of the contents of the dicreate.json file sent as the request body.

{
   "@type": "DeviceInterface",
   "@baseType": "LogicalResource",
   "name": "DI_Name",
   "resourceSpecification": {
      "id": "DS1 Logical Interface",
      "name": "DS1 Logical Interface"
   },
   "logicalDeviceRef": {
      "id": "1-450004",
      "href": "http://hostname:port/InventoryRSOpenAPI/resourceInventoryManagement/version/resource/1-450004",
      "@type": "LogicalDevice"
   } 
}

Example of Response Body

This example shows the contents of the response body in JSON format. The ID is auto-generated and returned in the response, because the input specification indicates auto-generation.

[
   {
      "id": "20-450004-3",
      "href": "http://hostname:port/InventoryRSOpenAPI/resourceInventoryManagement/version/resource/20-450004-3",
      "@type": "DeviceInterface",
      "@baseType": "LogicalResource",
      "name": "DS1_1",
      "version": "1",
      "lifecycleState": "INSTALLED",
      "lifecycleSubState": "UNASSIGNED",
      "startDate": "2020-01-16T14:41:48.874Z",
      "endDate": "2038-01-19T08:44:07.000Z",
      "resourceSpecification": {
         "id": "DS1 Logical Interface",
         "href": "http://hostname:port/InventoryRSOpenAPI/specification/DS1 Logical Interface",
         "name": "DS1 Logical Interface",
         "version": "1",
         "entityType": "DeviceInterface",
         "startDate": "2020-01-07T00:00:01.000Z",
         "endDate": "2038-01-19T08:44:07.000Z"
      },
      "logicalDeviceRef": {
         "id": "1-450004",
         "href": "http://hostname:port/InventoryRSOpenAPI/resourceInventoryManagement/version/resource/1-450004",
         "@type": "LogicalDevice"
      }
   },
   {
      "id": "20-450004-4",
      "href": "http://hostname:port/InventoryRSOpenAPI/resourceInventoryManagement/version/resource/20-450004-4",
      "@type": "DeviceInterface",
      "@baseType": "LogicalResource",
      "name": "DS1_2",
      "version": "1",
      "lifecycleState": "INSTALLED",
      "lifecycleSubState": "UNASSIGNED",
      "startDate": "2020-01-16T14:41:48.898Z",
      "endDate": "2038-01-19T08:44:07.000Z",
      "resourceSpecification": {
         "id": "DS1 Logical Interface",
         "href": "http://hostname:port/InventoryRSOpenAPI/specification/DS1 Logical Interface",
         "name": "DS1 Logical Interface",
         "version": "1",
         "entityType": "DeviceInterface",
         "startDate": "2020-01-07T00:00:01.000Z",
         "endDate": "2038-01-19T08:44:07.000Z"
      },
      "logicalDeviceRef": {
         "id": "1-450004",
         "href": "http://hostname:port/InventoryRSOpenAPI/resourceInventoryManagement/version/resource/1-450004",
         "@type": "LogicalDevice"
      }
   }
]
Back to Top