Passing input parameters with an API request
Some API requests take input parameters. You pass the input parameters via an array object named operationParams that you include in the HTTP request message body JSON document. Each array element is an OperationParameter object that specifies one input parameter.
OperationParameter object
The OperationParameter object is a wrapper for an input parameter passed to an operation via an operationParams array. The following table describes the components of an OperationParameter object.
OperationParameter object components
Example requests with input parameters
The following example shows two service offering instance onboard requests using different formatting for enrolling servers in BMC Server Automation either manually or automatically.
The following example shows an HTTP request that onboards a single-tier service offering instance using Format 1, which requires manual steps to onboard servers in BMC Server Automation.
To retrieve LogicalHostingEnvironmentId, use the example shown on LogicalHostingEnvironment search request.
"timeout": -1,
"preCallout": "",
"postCallout": "",
"operationParams": [
{
"name": "computeContainers",
"type": "com.bmc.cloud.model.beans.ComputeContainer",
"multiplicity": "1..*",
"value": [
{
"cloudClass": "com.bmc.cloud.model.beans.ComputeContainer",
"serverObject": {
"cloudClass": "com.bmc.cloud.model.beans.VirtualGuest",
"hostName": "EPDONB1",
"name": "EPDONB1",
"provider": "/provider/0eb5f0bd-222d-481e-969f-30ada8629541",
"externalID": "/id/SystemObject/Server/340f7114-b513-429a-9425
-f70a95cc1955,/id/SystemObject/Server/bd72d0da-9028-4a95-9cda
-09c42e0f8bfe"
},
"resourceSetObject": {
"cloudClass": "com.bmc.cloud.model.beans.ResourceSet",
"name": "RS1"
}
}
]
},
{
"name": "serviceOfferingReconId",
"type": "java.lang.String",
"multiplicity": "1",
"value": "7467D7C5-D395-7133-3271-D38CF73071FA"
},
{
"name": "LogicalHostingEnvironmentId",
"type": "java.lang.String",
"multiplicity": "1",
"value": "12dd53a6-f6a8-4116-8b6d-880bf436e236"
},
{
"name": "tenant",
"type": "java.lang.String",
"multiplicity": "1",
"value": "BMC_Tenant"
},
{
"name": "decommissionDate",
"type": "java.util.Date",
"multiplicity": "1",
"value": 1402165833138
},
{
"name": "name",
"type": "java.lang.String",
"multiplicity": "0..1",
"value": "MultiONB"
},
{
"name": "owner",
"type": "java.lang.String",
"multiplicity": "1",
"value": "pg_enduser"
}
]
}
The following example shows an HTTP request that onboards a multi-tier service offering instance using Format 1, which requires manual steps to onboard servers in BMC Server Automation:
"timeout": -1,
"preCallout": "",
"postCallout": "",
"operationParams": [
{
"name": "computeContainers",
"type": "com.bmc.cloud.model.beans.ComputeContainer",
"multiplicity": "1..*",
"value": [
{
"cloudClass": "com.bmc.cloud.model.beans.ComputeContainer",
"serverObject": {
"cloudClass": "com.bmc.cloud.model.beans.VirtualGuest",
"hostName": "EPDONB1",
"name": "EPDONB1",
"provider": "/provider/0eb5f0bd-222d-481e-969f-30ada8629541",
"externalID": "/id/SystemObject/Server/9808b979-61ad-4f72-ad05
-d59f6bb316d8,/id/SystemObject/Server/bd72d0da-9028-4a95
-9cda-09c42e0f8bfe"
},
"resourceSetObject": {
"cloudClass": "com.bmc.cloud.model.beans.ResourceSet",
"name": "RS1"
}
},
{
"cloudClass": "com.bmc.cloud.model.beans.ComputeContainer",
"serverObject": {
"cloudClass": "com.bmc.cloud.model.beans.VirtualGuest",
"hostName": "EPDONB2",
"name": "EPDONB2",
"provider": "/provider/0eb5f0bd-222d-481e-969f-30ada8629541",
"externalID": "/id/SystemObject/Server/fe0b0d96-639a-4d4d
-af34-061784567fcc,/id/SystemObject/Server/bd72d0da-9028
-4a95-9cda-09c42e0f8bfe"
},
"resourceSetObject": {
"cloudClass": "com.bmc.cloud.model.beans.ResourceSet",
"name": "RS2"
}
}
]
},
{
"name": "serviceOfferingReconId",
"type": "java.lang.String",
"multiplicity": "1",
"value": "42E5E490-D070-FF0D-A2B1-F3036AAA3DF1"
},
{
"name": "LogicalHostingEnvironmentId",
"type": "java.lang.String",
"multiplicity": "1",
"value": "12dd53a6-f6a8-4116-8b6d-880bf436e236"
},
{
"name": "tenant",
"type": "java.lang.String",
"multiplicity": "1",
"value": "BMC_Tenant"
},
{
"name": "decommissionDate",
"type": "java.util.Date",
"multiplicity": "1",
"value": 1402165833138
},
{
"name": "name",
"type": "java.lang.String",
"multiplicity": "0..1",
"value": "MultiONB"
},
{
"name": "owner",
"type": "java.lang.String",
"multiplicity": "1",
"value": "pg_enduser"
}
]
}
The following example shows an HTTP request that onboards a single-tier service offering instance using Format 2, in which servers are onboarded automatically in BMC Server Automation.
To derive serverNetworkInterfaceObject, which holds ipAddressesObject, you must perform the following searches:
- Perform a REST search for the Resource Manager (RM) provider. For an example, see Provider search request.
- Perform a REST search on the VirtualInfrastructureManager class with "name" as the search criteria. For an example, see VirtualInfrastructureManager search request.
- Use the guid the of RM provider and externalID of the Virtual Center (VC) from the responses received in the earlier steps, and search the compute container in the VC. For an example, see ComputeContainer search request.
"timeout": -1,
"preCallout": "",
"postCallout": "",
"operationParams": [
{
"name": "computeContainers",
"type": "com.bmc.cloud.model.beans.ComputeContainer",
"multiplicity": "1..*",
"value": [
{
"cloudClass": "com.bmc.cloud.model.beans.ComputeContainer",
"serverObject" : {
"cloudClass" : "com.bmc.cloud.model.beans.VirtualGuest",
"provider": "/provider/0235987b-11e7-4760-ba1f-d42de6a0f7df",
"externalID" : "/id/SystemObject/Server/195a7ba9-1124-42d2
-ba4b-5704708f21a0/Assets/BMC_VMware_
VirtualInfrastructureManager/VirtualMachines/MDC1,/
id/SystemObject/Server/195a7ba9-1124-42d2-ba4b-5704708f21a0",
"name" : "MDC1",
"serverNetworkInterfaceObject" : [ {
"cloudClass" : "com.bmc.cloud.model.beans.ServerNetworkInterface",
"guid" : "123bc558-ed94-433e-b1d0-9810e0b9b97e",
"ipAddressesObject" : [ {
"cloudClass" : "com.bmc.cloud.model.beans.IPAddress",
"guid" : "5d7619a3-cca5-4799-b00f-ef7dd6cfd454",
"ipAddress" : "10.21.15.131",
"isPublic" : false
} ],
"isAttachedToManagementNetwork" : false,
"isDHCP" : false,
"isPublicIP" : false
}, {
"cloudClass" : "com.bmc.cloud.model.beans.ServerNetworkInterface",
"guid" : "bde88a2d-2b7e-4b26-837d-fef962b3961a",
"ipAddressesObject" : [ {
"cloudClass" : "com.bmc.cloud.model.beans.IPAddress",
"guid" : "a51d71d6-e704-464b-a3b5-46ec963dca31",
"ipAddress" : "10.1.23.93",
"isPublic" : false
} ],
"isAttachedToManagementNetwork" : false,
"isDHCP" : false,
"isPublicIP" : false
} ]
},
"resourceSetObject": {
"cloudClass": "com.bmc.cloud.model.beans.ResourceSet",
"name": "RS1"
}
}
]
},
{
"name": "serviceOfferingReconId",
"type": "java.lang.String",
"multiplicity": "1",
"value": "C86D47F7-AADA-5A8E-8ED9-4882B513B0E0"
},
{
"name": "LogicalHostingEnvironmentId",
"type": "java.lang.String",
"multiplicity": "1",
"value": "3e25d184-b207-45ff-a310-aaeb4bc02cbf"
},
{
"name": "tenant",
"type": "java.lang.String",
"multiplicity": "1",
"value": "MD_Tenant"
},
{
"name": "owner",
"type": "java.lang.String",
"multiplicity": "1",
"value": "md_user1"
},
{
"name": "name",
"type": "java.lang.String",
"multiplicity": "0..1",
"value": "SingleONB"
}
]
}
The following example shows an HTTP request that onboards a multi-tier service offering instance using Format 2, in which servers are onboarded automatically in BMC Server Automation:
"timeout": -1,
"preCallout": "",
"postCallout": "",
"operationParams": [
{
"name": "computeContainers",
"type": "com.bmc.cloud.model.beans.ComputeContainer",
"multiplicity": "1..*",
"value": [
{
"cloudClass": "com.bmc.cloud.model.beans.ComputeContainer",
"serverObject": {
"cloudClass": "com.bmc.cloud.model.beans.VirtualGuest",
"provider": "/provider/0eb5f0bd-222d-481e-969f-30ada8629541",
"externalID": "/id/SystemObject/Server/bd72d0da-9028-4a95-9cda-09c42e0f8bfe/Assets/BMC_VMware_VirtualInfrastructureManager/Virtual Machines/EPDONB1,/id/SystemObject/Server/bd72d0da-9028-4a95-9cda-09c42e0f8bfe",
"name": "EPDONB1",
"serverNetworkInterfaceObject": [
{
"cloudClass": "com.bmc.cloud.model.beans.ServerNetworkInterface",
"guid": "42240588-5aa5-4f3d-acfd-f7f98616ce3a",
"ipAddressesObject": [
{
"cloudClass": "com.bmc.cloud.model.beans.IPAddress",
"guid": "bcbde380-fe56-4f81-85d4-6b26cc47cd7b",
"ipAddress": "169.254.48.17",
"isPublic": false
}
],
"isAttachedToManagementNetwork": false,
"isDHCP": false,
"isPublicIP": false
},
{
"cloudClass": "com.bmc.cloud.model.beans.ServerNetworkInterface",
"guid": "a58c2ad6-1765-4cfe-8a0a-85eb814b861c",
"ipAddressesObject": [
{
"cloudClass": "com.bmc.cloud.model.beans.IPAddress",
"guid": "1a3afe69-d2ac-4c4c-9409-f80af58f46bd",
"ipAddress": "10.1.23.12",
"isPublic": false
}
],
"isAttachedToManagementNetwork": false,
"isDHCP": false,
"isPublicIP": false
}
]
},
"resourceSetObject": {
"cloudClass": "com.bmc.cloud.model.beans.ResourceSet",
"name": "RS1"
}
},
{
"cloudClass": "com.bmc.cloud.model.beans.ComputeContainer",
"serverObject": {
"cloudClass": "com.bmc.cloud.model.beans.VirtualGuest",
"provider": "/provider/0eb5f0bd-222d-481e-969f-30ada8629541",
"externalID": "/id/SystemObject/Server/bd72d0da-9028-4a95-9cda-09c42e0f8bfe/Assets/BMC_VMware_VirtualInfrastructureManager/Virtual Machines/EPDONB2,/id/SystemObject/Server/bd72d0da-9028-4a95-9cda-09c42e0f8bfe",
"name": "EPDONB2",
"serverNetworkInterfaceObject": [
{
"cloudClass": "com.bmc.cloud.model.beans.ServerNetworkInterface",
"guid": "b2030712-b5ee-4184-9e5a-4c2e448efbd6",
"ipAddressesObject": [
{
"cloudClass": "com.bmc.cloud.model.beans.IPAddress",
"guid": "59b3add0-0c2c-44ca-89ab-d08cab4e45e6",
"ipAddress": "169.254.169.235",
"isPublic": false
}
],
"isAttachedToManagementNetwork": false,
"isDHCP": false,
"isPublicIP": false
},
{
"cloudClass": "com.bmc.cloud.model.beans.ServerNetworkInterface",
"guid": "b7d6b631-7d7a-458d-b7ff-1e4b71a77fd7",
"ipAddressesObject": [
{
"cloudClass": "com.bmc.cloud.model.beans.IPAddress",
"guid": "39de4605-f5aa-455a-9e72-b88509f60f6e",
"ipAddress": "10.1.23.33",
"isPublic": false
}
],
"isAttachedToManagementNetwork": false,
"isDHCP": false,
"isPublicIP": false
}
]
},
"resourceSetObject": {
"cloudClass": "com.bmc.cloud.model.beans.ResourceSet",
"name": "RS2"
}
}
]
},
{
"name": "serviceOfferingReconId",
"type": "java.lang.String",
"multiplicity": "1",
"value": "42E5E490-D070-FF0D-A2B1-F3036AAA3DF1"
},
{
"name": "LogicalHostingEnvironmentId",
"type": "java.lang.String",
"multiplicity": "1",
"value": "12dd53a6-f6a8-4116-8b6d-880bf436e236"
},
{
"name": "tenant",
"type": "java.lang.String",
"multiplicity": "1",
"value": "BMC_Tenant"
},
{
"name": "decommissionDate",
"type": "java.util.Date",
"multiplicity": "1",
"value": 1402165833138
},
{
"name": "name",
"type": "java.lang.String",
"multiplicity": "0..1",
"value": "MultiONB"
},
{
"name": "owner",
"type": "java.lang.String",
"multiplicity": "1",
"value": "pg_enduser"
}
]
}
The following example shows an HTTP response to the request. The response returns a Task object because the request is still being processed and is only 95% complete.
Date: Wed, 28 Mar 2012 08:41:47 GMT
BMC-Transaction-ID: 7206a3c3-b3f1-4ce9-8eb2-7c6622b790a6
Content-Type: application/json; charset=UTF-8
Content-Length: 680
Server: Jetty(6.1.x)
[
{
"cloudClass": "com.bmc.cloud.model.beans.Task",
"className": "ServiceOfferingInstance",
"completionTime": "-1",
"creationTime": "2012/03/28 01:41:47 PDT",
"errors": [ ],
"guid": "c003cf0e-70b9-4621-b1b9-618dd297a35f",
"isCallout": false,
"isError": false,
"isSuccess": false,
"operationName": "onboard",
"parentTaskInternalUUID": "37ebe4bf-49b0-4b06-a2da-26bd4d2f1cb8",
"taskInternalUUID": "dabfd81b-ff40-49f6-8511-f1755cd27bfd",
"taskProgress": 95,
"taskState": "SUSPENDED",
"taskStatusURI": "http://10.1.8.49:8080/csm/task/dabfd81b-ff40-49f6-8511-f1755cd27bfd/status",
"taskSubState": "createResourceSets"
}
]