Create Pipes

post

/pipe

Creates one or more pipes with given details. To create multiple child pipes, use the quantity parameter to specify the number to create and the parent pipe parentPipeRef. The following fields are mandatory fields for successful pipe creation:

  • @type
  • name
  • resourceSpecification

To create resource relationships, resourceRelationship.type and resourceRelationship.resourceRef are mandatory. ResourceRef should contain the minimum details of id and @type.

The created pipe will be shown in the response along with the location URL, except when "fields=none" is provided in the request.

During creation of pipe, both aendTerminationPoint and zendTerminationPoint will be auto created. Pipe Enablement has to be done via PATCH Request.

Request

Query Parameters
Supported Media Types
Request Body - application/json ()
The pipe to be created.
Root Schema : schema
A pipe resource.
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 : CapacityConsumed
Type: object
Consumed capacity of pipe.
Show Source
Nested Schema : CapacityProvided
Type: object
A capacity provided.
Show Source
Nested Schema : CapacityRequired
Type: object
Required capacity of pipe.
Show Source
Nested Schema : pipeDirectionalityRef
Type: array
The list of pipe directionalities.
Show Source
Nested Schema : PipeEnablement
Type: object
Segment details that are enabling current Connectivity.
Show Source
Nested Schema : roles
Type: array
The list of pipe inventory roles.
Show Source
Nested Schema : PipeDirectionality
Type: object
A Pipe Directionality .
Show Source
Nested Schema : pipeSegmentRef
Type: array
The list of pipe segments.
Show Source
Nested Schema : Segment
Type: object
Segment details that are enabling current Connectivity.
Show Source
Nested Schema : flowIdentifiers
Type: array
Show Source
Nested Schema : segmentRef
Match One Schema
Show Source
Nested Schema : schema
A flow identifier.
Match All
Show Source
Nested Schema : type
Type: object
Show Source
Nested Schema : schema
A network address domain.
Match All
Show Source
Nested Schema : type
Type: object
Show Source
Nested Schema : RelatedPartyRef
Type: object
A related party, which defines a party or party role linked to a specific entity.
Show Source
Nested Schema : Connectivity
A Connectivity resource.
Match All
Show Source
Nested Schema : Connectivity-allOf[1]
Type: object
Show Source
Nested Schema : PlaceRef
Type: object
A place to associate with the resource/service.
Show Source
Nested Schema : ConnectivityDesign
Type: object
Gives the details of latest connectivity design version.
Show Source
Nested Schema : asideFlowIdentifiers
Type: array
Show Source
Nested Schema : paths
Type: array
Show Source
Nested Schema : zsideFlowIdentifiers
Type: array
Show Source
Nested Schema : ConnectivityPath
Type: object
Paths that are enabling current Connectivity.
Show Source
Nested Schema : segments
Type: array
Show Source
Nested Schema : Role
Type: object
A role.
Show Source
Back to Top

Response

Supported Media Types

201 Response

The pipe was created successfully.
Body ()
Root Schema : schema
A pipe resource.
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 : CapacityConsumed
Type: object
Consumed capacity of pipe.
Show Source
Nested Schema : CapacityProvided
Type: object
A capacity provided.
Show Source
Nested Schema : CapacityRequired
Type: object
Required capacity of pipe.
Show Source
Nested Schema : pipeDirectionalityRef
Type: array
The list of pipe directionalities.
Show Source
Nested Schema : PipeEnablement
Type: object
Segment details that are enabling current Connectivity.
Show Source
Nested Schema : roles
Type: array
The list of pipe inventory roles.
Show Source
Nested Schema : PipeDirectionality
Type: object
A Pipe Directionality .
Show Source
Nested Schema : pipeSegmentRef
Type: array
The list of pipe segments.
Show Source
Nested Schema : Segment
Type: object
Segment details that are enabling current Connectivity.
Show Source
Nested Schema : flowIdentifiers
Type: array
Show Source
Nested Schema : segmentRef
Match One Schema
Show Source
Nested Schema : schema
A flow identifier.
Match All
Show Source
Nested Schema : type
Type: object
Show Source
Nested Schema : schema
A network address domain.
Match All
Show Source
Nested Schema : type
Type: object
Show Source
Nested Schema : RelatedPartyRef
Type: object
A related party, which defines a party or party role linked to a specific entity.
Show Source
Nested Schema : Connectivity
A Connectivity resource.
Match All
Show Source
Nested Schema : Connectivity-allOf[1]
Type: object
Show Source
Nested Schema : PlaceRef
Type: object
A place to associate with the resource/service.
Show Source
Nested Schema : ConnectivityDesign
Type: object
Gives the details of latest connectivity design version.
Show Source
Nested Schema : asideFlowIdentifiers
Type: array
Show Source
Nested Schema : paths
Type: array
Show Source
Nested Schema : zsideFlowIdentifiers
Type: array
Show Source
Nested Schema : ConnectivityPath
Type: object
Paths that are enabling current Connectivity.
Show Source
Nested Schema : segments
Type: array
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

Creating a Single Pipe

This example shows how to create a single pipe 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/pipe -H 'content-type: application/json' -H credentials -d @pipecreate.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".
  • pipecreate.json is the JSON file that specifies the pipe to create.

Example of Request Body

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

{
    "@type": "Pipe",
    "name": "pipe1",
    "description": "pipeDescription",
    "resourceRelationship": [
        {
            "relationshipType": "INVOLVE",
            "resourceRef": {
                "id": "1-75001",
                "href": "http://hostname:port/InventoryRSOpenAPI/resourceInventoryManagement/v3/resource/1-75001",
                "@type": "LogicalDevice"
            }
        }
    ],
    "resourceCharacteristic": [],
    "resourceSpecification": {
        "id": "BATTrailPipeSpec",
        "name": "BATTrailPipeSpec",
        "version": "1",
        "entityType": "Pipe"
    },
    "place": [
        {
            "id": "1",
            "name": "place1",
            "@referredType": "GeographicLocation"
        }
    ],
    "roles": [
        {
            "roleName": "BATRoleSpec",
            "roleType": "TOPOLOGY"
        }
    ]
}

Example of Response Body

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

[
    {
        "id": "30-900001",
        "href": "http://hostname:port/InventoryRSOpenAPI/resourceInventoryManagement/v3/resource/30-900001",
        "@type": "Pipe",
        "@baseType": "LogicalResource",
        "name": "pipe1",
        "description": "pipeDescription",
        "resourceVersion": "1",
        "lifecycleState": "INSTALLED",
        "lifecycleSubState": "UNASSIGNED",
        "startOperatingDate": "2022-05-06T09:55:51.138Z",
        "endOperatingDate": "2038-01-19T08:44:07.000Z",
        "resourceRelationship": [
            {
                "relationshipType": "INVOLVE",
                "resourceRef": {
                    "id": "1-75001",
                    "href": "http://hostname:port/InventoryRSOpenAPI/resourceInventoryManagement/v3/resource/1-75001",
                    "@type": "LogicalDevice"
                }
            }
        ],
        "resourceCharacteristic": [],
        "resourceSpecification": {
            "id": "BATTrailPipeSpec",
            "href": "http://hostname:port/InventoryRSOpenAPI/specification/BATTrailPipeSpec",
            "name": "BATTrailPipeSpec",
            "version": "1",
            "entityType": "Pipe",
            "startDate": "2022-04-08T00:00:01.000Z",
            "endDate": "2038-01-19T08:44:07.000Z"
        },
        "place": [
            {
                "id": "1",
                "href": "http://hostname:port/InventoryRSOpenAPI/place/1",
                "name": "place1",
                "@referredType": "GeographicLocation"
            }
        ],
        "capacityProvidedRef": {},
        "capacityRequiredRef": {
            "capacityType": "Bandwidth",
            "requiredAmount": "51.84",
            "unitOfMeasure": "Mbps",
            "quantity": 1
        },
        "capacityConsumedRef": {},
        "allowSecondaryEnablement": false,
        "isVersioned": false,
        "aendTerminationPoint": "http://hostname:port/InventoryRSOpenAPI/resourceInventoryManagement/v3/pipeTerminationPoint/32-450001",
        "zendTerminationPoint": "http://hostname:port/InventoryRSOpenAPI/resourceInventoryManagement/v3/pipeTerminationPoint/32-450002",
 "roles": [
            {
                "roleName": "BATRoleSpec",
                "roleType": "TOPOLOGY"
            }
        ]
    }
]

Creating Multiple Pipes

This example shows how to create multiple pipes 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/pipe?quantity=qty"  -H 'content-type: application/json' -H credentials -d @pipecreate.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 pipes to create.
  • pipecreate.json is the JSON file that specifies the pipe to create.

Example of Request Body

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

{
    "@type": "Pipe",
    "name": "ChildUTPItems",
    "parentPipeRef":{
        "id": "30-UTPSpecId",
        "@type": "Pipe"
    },
    "resourceSpecification": {
        "id": "ChildUTP",
        "entityType": "Pipe"
    }
}

Example of Response Body

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

[
    {
        "id": "30-900004",
        "href": "http://hostname:port/InventoryRSOpenAPI/resourceInventoryManagement/v3/resource/30-900004",
        "@type": "Pipe",
        "@baseType": "LogicalResource",
        "name": "ChildUTPItems",
        "resourceVersion": "1",
        "lifecycleState": "INSTALLED",
        "lifecycleSubState": "UNASSIGNED",
        "startOperatingDate": "2022-05-06T11:27:10.480Z",
        "endOperatingDate": "2038-01-19T08:44:07.000Z",
        "resourceRelationship": [],
        "resourceCharacteristic": [],
        "resourceSpecification": {
            "id": "ChildUTP",
            "href": "http://hostname:port/InventoryRSOpenAPI/specification/ChildUTP",
            "name": "ChildUTP",
            "version": "1",
            "entityType": "Pipe",
            "startDate": "2022-05-06T00:00:01.000Z",
            "endDate": "2038-01-19T08:44:07.000Z"
        },
        "capacityProvidedRef": {},
        "capacityRequiredRef": {},
        "capacityConsumedRef": {},
        "allowSecondaryEnablement": false,
        "isVersioned": false,
        "aendTerminationPoint": "http://hostname:port/InventoryRSOpenAPI/resourceInventoryManagement/v3/pipeTerminationPoint/32-450021",
        "zendTerminationPoint": "http://hostname:port/InventoryRSOpenAPI/resourceInventoryManagement/v3/pipeTerminationPoint/32-450022",
        "pipeDirectionalityRef": [],
        "parentPipeRef": {
            "id": "30-UTPSpecId",
            "href": "http://hostname:port/InventoryRSOpenAPI/resourceInventoryManagement/v3/resource/30-UTPSpecId",
            "@type": "Pipe"
        }
    },
    {
        "id": "30-900005",
        "href": "http://hostname:port/InventoryRSOpenAPI/resourceInventoryManagement/v3/resource/30-900005",
        "@type": "Pipe",
        "@baseType": "LogicalResource",
        "name": "ChildUTPItems",
        "resourceVersion": "1",
        "lifecycleState": "INSTALLED",
        "lifecycleSubState": "UNASSIGNED",
        "startOperatingDate": "2022-05-06T11:27:10.484Z",
        "endOperatingDate": "2038-01-19T08:44:07.000Z",
        "resourceRelationship": [],
        "resourceCharacteristic": [],
        "resourceSpecification": {
            "id": "ChildUTP",
            "href": "http://hostname:port/InventoryRSOpenAPI/specification/ChildUTP",
            "name": "ChildUTP",
            "version": "1",
            "entityType": "Pipe",
            "startDate": "2022-05-06T00:00:01.000Z",
            "endDate": "2038-01-19T08:44:07.000Z"
        },
        "capacityProvidedRef": {},
        "capacityRequiredRef": {},
        "capacityConsumedRef": {},
        "allowSecondaryEnablement": false,
        "isVersioned": false,
        "aendTerminationPoint": "http://hostname:port/InventoryRSOpenAPI/resourceInventoryManagement/v3/pipeTerminationPoint/32-450023",
        "zendTerminationPoint": "http://hostname:port/InventoryRSOpenAPI/resourceInventoryManagement/v3/pipeTerminationPoint/32-450024",
        "pipeDirectionalityRef": [],
        "parentPipeRef": {
            "id": "30-UTPSpecId",
            "href": "http://hostname:port/InventoryRSOpenAPI/resourceInventoryManagement/v3/resource/30-UTPSpecId",
            "@type": "Pipe"
        }
    }
]
Back to Top