Active System Manager Release 8.3.
Notes, cautions, and warnings NOTE: A NOTE indicates important information that helps you make better use of your product. CAUTION: A CAUTION indicates either potential damage to hardware or loss of data and tells you how to avoid the problem. WARNING: A WARNING indicates a potential for property damage, personal injury, or death. Copyright © 2017 Dell Inc. or its subsidiaries. All rights reserved. Dell, EMC, and other trademarks are trademarks of Dell Inc. or its subsidiaries.
Contents 1 Overview........................................................................................................................ 10 Other Documents You May Need......................................................................................................................................10 2 Resource URI Endpoints.................................................................................................11 3 Authentication Headers.......................................................
/Chassis/......................................................................................................................................................................... 26 /Chassis/{refId}............................................................................................................................................................... 27 /Chassis/{refId}.......................................................................................................................................
/FirmwareRepository/{id}................................................................................................................................................ 56 /FirmwareRepository/{id}................................................................................................................................................ 57 /FirmwareRepository/connection.....................................................................................................................................
/Server/{refId}.................................................................................................................................................................85 /Server/{refId}.................................................................................................................................................................86 /Server/serviceTag/{serviceTag}...........................................................................................................................
HotSpareStatus .............................................................................................................................................................. 110 IOMLocationType ............................................................................................................................................................ 111 IdentityType ................................................................................................................................................
logEntry ......................................................................................................................................................................... 124 ntpSettings .................................................................................................................................................................... 124 proxySettings ......................................................................................................................................
FirmwareRepository ........................................................................................................................................................141 ServiceTemplate .............................................................................................................................................................142 Deployment .....................................................................................................................................................
1 Overview This document is intended for a technical audience. It is assumed that the reader is familiar with REST, and programmatic interaction with REST APIs. In reality, any programming languages can be used with these APIs, however, the code examples contained in this guide are written in Ruby. XML is also used extensively for these examples.
2 Resource URI Endpoints An example of resource endpoint is:https://Api/V1/ServiceTemplate From this example, API endpoints are accessible over https (at port 443 ). All URI paths are prefixed with /Api/V1/ where V1 is the current API version. Following the prefix above the remainder of the URI path (endpoint) will have the form //?.
3 Authentication Headers All API requests require 3 custom HTTP headers for authentication. • X-dell-auth-key • X-dell-auth-signature • X-dell-auth-timestamp In order to compute the authentication headers, first a REST call must be made to the /Authenticate endpoint. The Full URI is /Api/V1/Authenticate. This call must be a POST request supplying either an XML or JSON payload.
NOTE: Due to the timestamp component, authentication of future requests may fail if the 2 systems communicating with each other have system clocks that are not well synchronized. So, this is essential before anything else, to synchronize the system clocks of 2 different systems.
4 Generic Query Parameters Many GET methods which return a list of objects support generic query parameters for filtering, sorting, and pagination. These methods are indicated in the API reference section but the detailed syntax is described here.
5 HTTP Message Bodies All HTTP Requests and Responses support both XML and JSON content types. The examples used throughout this document show HTTP body content in XML form. The represented data models accepted and returned by the API calls can be quite complex. The structure of these data models is detailed in Appendix B in a language independent representation.
6 Usage Examples The following examples use a simple Ruby module called ASM which utilizes the publicly available RestClient gem to perform the HTTP requests. This module contains utilities to generate the security headers so we can focus on the API calls themselves. See Appendix C for detailed information on using and configuring the ASM module. In addition to the API requests, there is sometimes significant XML processing required to prepare the request bodies or parse the responses.
} url = ASM::API::URI("/Timezone") RestClient.put url, payload.to_xml, :content_type => :xml Credential Credential objects can be created and referenced in ASM. These named credentials are used to gain access to the various Resources during the Discovery process. Credentials are also typed according to their target resource such as, Server, Storage, VCenter, IOM, Chassis, and SCVMM. Get all defined Credentials Default credentials are defined for several hardware types.
Discover Chassis and contained Blade Servers Using the predefined chassis and server credentials, initiate a discovery request against an IP address that is known to belong to a Chassis. require 'ASMConfig' url = ASM::API::URI('/DiscoveryRequest') # Get credential ids creds = ASM::Payload::load_xml('credentials.xml') server_cred = creds.doc.xpath('//serverCredential').select{|c| c.at_xpath('label').text == 'Dell PowerEdge Default'}.first.xpath('id').text chassis_cred = creds.doc.
"---------------------------------------------------------------------------------------------------\n" doc.xpath('//ManagedDevice').sort_by{|d| d.at_xpath('deviceType').content}.each do |device| svc_tag = device.at_xpath('serviceTag').content state = device.at_xpath('state').content ip_addr = device.at_xpath('ipAddress').content model = device.at_xpath('model').content dev_type = device.at_xpath('deviceType').content print "%30s%15s%20s%20s%15s\n" % [svc_tag,state,ip_addr,model,dev_type] end ServiceTempla
ServiceTemplate is deployed. Otherwise the parameter is optional. For example, the server host name is required in this extracted snippet of the ServiceTemplate. Save the result above to a file inspect the full XML for a ServiceTemplate.
After getting all Services we print the id, name, and status of each. Services that are still in the act of being deployed will have a status of IN_PROGRESS. So calling this method with the Deployment Id as a path parameter can also be used to periodically poll a Deployment to find out when it has finished.
Firmware Firmware versions reported by individual resource components are compared against a firmware repository to determine if component firmware is up-to-date with the latest required versions. Check Firmware compliance of all Resources Here we check the firmware compliance state of all resources. Note this is done by the POST method and supplying a ManagedDevice as the request body. The response is the same ManagedDevice with the addition of a compliance field.
7 Exception Handling When an HTTP error code is returned the response payload will contain information about the error that occurred. For the purpose of illustration the following exception response was intentionally generated by trying to get a ServiceTemplate with an id that doesn't exist. In this case the HTTP response was 404 and the XML response is below. See the API reference section for the relevant HTTP responses that may be returned by each REST endpoint.
8 Appendix A - API Reference /AddOnModule Description Retrieve all AddOnModule with filter, sort, paginate which returns Array of AddOnModule.class Method get Response Class Response Content-Type: application/json, application/xml Parameters Table 1.
Response Class Response Content-Type: application/xml, application/json Parameters Table 3. Parameters Parameter Value Description Default Value Parameter Type Data Type body (required) AddOnModule N/A body AddOnModule Response Status Codes Table 4.
/Authenticate/ Description Confirm User access credentials Method post Response Class AuthenticateResponse Response Content-Type: application/json, application/xml Parameters Table 7. Parameters Parameter Value Description Default Value Parameter Type Data Type body (required) Description of user to be authenticated N/A body AuthenticateReques t Response Status Codes Table 8.
Parameters Table 9. Parameters Parameter Value Description sort N/A filter Default Value Parameter Type Data Type Valid sort columns: N/A health,managementI P,serviceTag,creden tialRefId query string N/A Valid filter columns: N/A health,managementI P,serviceTag,creden tialRefId query array offset N/A Specify pagination offset 0 query integer limit N/A Specify page limit 50 query integer Response Status Codes Table 10.
Response Status Codes Table 12. Response Status Codes HTTP Status Code Reason 200 retrieved 400 Bad Request, verify Device id is correct 404 Bad Request, verify Device id is correct /Chassis/{refId} Description Update The Chasis configuration Method put Response Class Chassis Response Content-Type: application/xml, application/json Parameters Table 13.
Method delete Response Class void Response Content-Type: application/xml, application/json Parameters Table 15. Parameters Parameter Value Description Default Value Parameter Type Data Type refId (required) Device Id N/A path string Response Status Codes Table 16. Response Status Codes HTTP Status Code Reason 204 deleted 400 Bad Request, verify Device id is correct.
Response Status Codes Table 18. Response Status Codes HTTP Status Code Reason 200 retrieved 400 Bad Request, verify Device IP is correct 404 Bad Request, verify Device IP is correct /Chassis/{refId}/sensorlog Description Retrieve an individual Chassis Device Sensor Event Logs Method get Response Class [ ChassisLogEntry ] Response Content-Type: application/xml, application/json Parameters Table 19.
Response Class void Response Content-Type: application/xml, application/json Parameters Table 21. Parameters Parameter Value Description Default Value Parameter Type Data Type refId (required) Device Id N/A path string Response Status Codes Table 22.
Response Status Codes Table 24. Response Status Codes HTTP Status Code Reason 200 retrieved 400 Bad Request, verify Service tag and Type are correct 404 Bad Request, verify Service tag and Type are correct /Chassis/{serviceTag}/{type} Description Deletes an existing server or IOA in chassis Method delete Response Class void Response Content-Type: application/xml, application/json Parameters Table 25.
Response Class credentialList Response Content-Type: application/xml, application/json Parameters Table 27. Parameters Parameter Value Description Default Value Parameter Type Data Type type N/A filter on credential type N/A query com.dell.asm.encryp tionmgr.client.Crede ntialType sort N/A Specify sort N/A columns in a comma separated list of column names to sort. Default order is ascending. Column name can be prefixed with a minus sign to indicate descending for that column.
Response Class asmCredential Response Content-Type: application/xml, application/json Parameters Table 29. Parameters Parameter Value Description Default Value Parameter Type Data Type body (required) ASM credential to create N/A body asmCredential Response Status Codes Table 30.
/Credential/{id} Description Updates an existing ASM credential Method put Response Class asmCredential Response Content-Type: application/xml, application/json Parameters Table 33. Parameters Parameter Value Description Default Value Parameter Type Data Type body (required) ASM credential to update N/A body asmCredential id (required) Id of credential to update N/A path string Response Status Codes Table 34.
Parameters Table 35. Parameters Parameter Value Description Default Value Parameter Type Data Type id (required) Id of credential to delete N/A path string Response Status Codes Table 36.
Response Content-Type: application/json, application/xml Parameters Table 38. Parameters Parameter Value Description Default Value body (required) DHCPEntity object N/A that needs to be set on ASM appliance Parameter Type Data Type body dhcpSettings Response Status Codes Table 39. Response Status Codes HTTP Status Code Reason 204 Successfully changed the DHCP settings. 500 Unable to change DHCP settings on the ASM appliance.
Parameter Value Description Default Value Parameter Type Data Type offset N/A Pagination Offset 0 query integer limit N/A Page Limit 50 query integer full N/A Use full templates including resources in response false query boolean Response Status Codes Table 41.
/Deployment/{id} Description Retrieve Deployment based on deployment ID Method get Response Class Deployment Response Content-Type: application/xml, application/json Parameters Table 44. Parameters Parameter Value Description Default Value Parameter Type Data Type id (required) Deployment Id (String) N/A path string Response Status Codes Table 45.
Parameters Table 46. Parameters Parameter Value Description Default Value Parameter Type Data Type body N/A Deployment to be updated to N/A body Deployment id (required) Deployment Id (String) N/A path string Response Status Codes Table 47.
/Deployment/users Description Delete Users from Deployments Method delete Response Class void Response Content-Type: application/xml, application/json Parameters Table 50. Parameters Paramete Value r Description Default Value Parameter Type Data Type userId Valid UserIds N/A query array N/A Response Status Codes Table 51. Response Status Codes HTTP Status Code Reason 204 Users deleted from Deployments 500 Unable to delete User from Deployments.
Response Status Codes Table 52. Response Status Codes HTTP Status Code Reason 401 No login information specified in the request 403 User doesn't have privileges to access this operation 500 User Log Internal Error, contact your system administrator /Deployment/defineService Description Defines a brownfield service that may be a Deployment Method post Response Class Deployment Response Content-Type: application/xml, application/json Parameters Table 53.
Method post Response Class Deployment Response Content-Type: application/xml, application/json Parameters Table 55. Parameters Parameter Value serviceId N/A Description Default Value Parameter Type Data Type N/A query string Response Status Codes Table 56. Response Status Codes HTTP Status Code Reason 201 ServiceTemplate Defined 400 Invalid service. Either service does not exist or it is not a brownfield service.
Response Status Codes Table 58. Response Status Codes HTTP Status Code Reason 200 Deployments retrieved 404 Deployments not found /Deployment/device/{deviceId} Description Retrieve all Deployments for device Method get Response Class [ Deployment ] Response Content-Type: application/xml, application/json Parameters Table 59. Parameters Parameter Value deviceId (required) Description Default Value Parameter Type Data Type N/A path string Response Status Codes Table 60.
Response Content-Type: application/xml, application/json Parameters Table 61. Parameters Parameter Value Description Default Value Parameter Type Data Type body N/A Service template N/A body ServiceTemplate numOfDeployments N/A Number of deployments N/A path integer unique If true (the default), true only assign a server to one component per deployment. Otherwise the same server may be assigned to multiple components. query boolean N/A Response Status Codes Table 62.
Parameter Value Description Default Value Parameter Type Data Type serverId (required) Template server component ID N/A path string Response Status Codes Table 64. Response Status Codes HTTP Status Code Reason 200 Deployment migrated 404 Deployment not found /Deployment/{id}/firmware/compliancereport/ Description Returns an array of firmware compliance reports for devices that are in deployment.
Response Class Deployment Response Content-Type: application/xml, application/json Parameters Table 67. Parameters Parameter Value serviceId componentId Description Default Value Parameter Type Data Type (required) N/A path string (required) N/A path string Response Status Codes Table 68.
Response Status Codes Table 70.
/DeviceGroup/ Description Create Device Group in Inventory Method post Response Class DeviceGroup Response Content-Type: application/xml, application/json Parameters Table 73. Parameters Parameter Value body N/A Description Default Value Parameter Type Data Type N/A body DeviceGroup Response Status Codes Table 74.
Parameters Table 75. Parameters Parameter Value Description Default Value Parameter Type Data Type refId (required) Reference Id N/A path string Response Status Codes Table 76. Response Status Codes HTTP Status Code Reason 200 Device Group retrieved from inventory 404 Device Group not found in inventory /DeviceGroup/{refId} Description Update Device Group in Inventory Method put Response Class DeviceGroup Response Content-Type: application/xml, application/json Parameters Table 77.
/DeviceGroup/{refId} Description Delete Device Group from Inventory Method delete Response Class Response Response Content-Type: application/xml, application/json Parameters Table 79. Parameters Parameter Value Description Default Value Parameter Type Data Type refId (required) Reference Id N/A path string Response Status Codes Table 80.
Parameters Table 81. Parameters Parameter Value Description sort N/A filter Default Value Parameter Type Data Type Valid sort columns: N/A id,status,statusMess age query string N/A Valid filter columns: N/A id,status,statusMess age query array offset N/A pagination offset N/A query integer limit N/A page limit N/A query integer Response Status Codes Table 82.
/DiscoveryRequest/{id} Description Retrieve Device from Inventory based on Id Method get Response Class DiscoveryRequest Response Content-Type: application/xml, application/json Parameters Table 85. Parameters Parameter Value Description Default Value Parameter Type Data Type id (required) Discovery ID N/A path string Response Status Codes Table 86.
Parameters Table 87. Parameters Parameter Value Description Default Value Parameter Type Data Type id (required) Discovery ID N/A path string Response Status Codes Table 88. Response Status Codes HTTP Status Code Reason 204 Job deleted from inventory /DiscoveryRequest/chassislist Description discover devices of Ip range Method post Response Class DiscoveryRequest Response Content-Type: application/xml, application/json Parameters Table 89.
Method get Response Class [ DiscoveryResult ] Response Content-Type: application/xml, application/json Parameters Table 91. Parameters Parameter Value Description Default Value Parameter Type Data Type id (required) ref_id N/A path string Response Status Codes Table 92.
Parameter Value Description Default Value Parameter Type Data Type bundles N/A Hydrate software bundle objects N/A query boolean Response Status Codes Table 94. Response Status Codes HTTP Status Code Reason 200 All FirmwareRepository Retrived on filter, sort, paginate /FirmwareRepository/ Description Add a new Method post Response Class FirmwareInventory Response Content-Type: application/xml, application/json Parameters Table 95.
Response Class FirmwareRepository Response Content-Type: application/xml, application/json Parameters Table 97. Parameters Parameter Value Description Default Value Parameter Type Data Type id (required) Repo Id N/A path string related N/A Hydrate related objects N/A query boolean bundles N/A Hydrate software bundle objects N/A query boolean components N/A Hydrate software component objects N/A query boolean Response Status Codes Table 98.
Parameters Table 99. Parameters Parameter Value Description body (required) id (required) Default Value Parameter Type Data Type ASM N/A FirmwareRepository to update body FirmwareRepository Id of N/A FirmwareRepository to update path string Response Status Codes Table 100. Response Status Codes HTTP Status Code Reason 200 Update completed successfully 400 Bad Request, verify credential data object is correct 404 Credential to be updated was not found.
/FirmwareRepository/softwarecomponent Description Retrieve all FirmwareRepository with filter, sort, paginate which returns Array of firmwarerepository.class Method get Response Class [ FirmwareRepository ] Response Content-Type: application/xml, application/json Parameters Table 103.
Response Content-Type: application/xml, application/json Parameters Table 105. Parameters Parameter Value Description Default Value Parameter Type Data Type id (required) Id N/A path string Response Status Codes Table 106. Response Status Codes HTTP Status Code Reason 200 retrieved 400 Bad Request, verify id is correct 404 Bad Request, verify id is correct /ManagedDevice/ Description Retrieve all Devices from Inventory with filter.
Parameter Value Description Default Value Parameter Type Data Type mplateId,serverTemplateDate,serverTemplateId,i nventoryDate,complianceCheckDate,discovered Date,identityRef,vendor,credId,service offset N/A Pagination Offset 0 query integer limit N/A Page Limit 50 query integer Response Status Codes Table 108.
HTTP Status Code Reason 409 Device already exists in inventory, first error encountered error causes an error response to return. Call will not return a list of errors. /ManagedDevice/count Description Retrieve Device total count Method get Response Class ManagedDevice Response Content-Type: application/xml, application/json Parameters Table 111.
Response Status Codes HTTP Status Code Reason 201 Device Inventory jobs scheduled 400 Invalid Device 404 Device not found in inventory /ManagedDevice/{refId} Description Retrieve Device from Inventory based on refId Method get Response Class ManagedDevice Response Content-Type: application/xml, application/json Parameters Table 113.
Parameters Table 115. Parameters Parameter Value Description Default Value Parameter Type Data Type body N/A Device to be updated to N/A body ManagedDevice refId (required) Reference Id N/A path string Response Status Codes Table 116.
/ManagedDevice/firmware Description Update Device Firmware Method put Response Class void Response Content-Type: application/xml, application/json Parameters Table 119. Parameters Parameter Value body N/A Description Default Value Parameter Type Data Type N/A body FirmwareUpdateRe quest Response Status Codes Table 120.
Response Status Codes Table 121. Response Status Codes HTTP Status Code Reason 400 Bad Request, verify input parameters are correct 401 No login information specified in the request 403 User doesn't have privileges to access this operation 500 User Log Internal Error, contact your system administrator /ManagedDevice/withcompliance Description Retrieve all Devices from Inventory with filter.
Method get Response Class Response Content-Type: application/xml, application/json Parameters Table 124. Parameters Parameter Value Description Default Value Parameter Type Data Type refId (required) Reference Id N/A path string Response Status Codes Table 125.
/ManagedDevice/puppet/{certName} Description Update Device in Inventory Method put Response Class void Response Content-Type: application/xml, application/json Parameters Table 128. Parameters Parameter Value Description Default Value Parameter Type Data Type body N/A Device to be updated to N/A body ManagedDevice certName (required) Certificate Name N/A path string Response Status Codes Table 129.
Parameters Table 130. Parameters Parameter Value Description Default Value Parameter Type Data Type refId (required) N/A N/A path string Response Status Codes Table 131.
Method get Response Class ntpSettings Response Content-Type: application/json, application/xml Response Status Codes Table 134. Response Status Codes HTTP Status Code Reason 200 Retrieved NTP settings from ASM appliance successfully. 500 Unable to get NTP settings from the ASM appliance. /NTP/ Description Apply NTP settings on ASM appliance Method put Response Class void Response Content-Type: application/json, application/xml Parameters Table 135.
/NTP/ Description Turn off NTP settings on ASM appliance Method delete Response Class void Response Content-Type: application/json, application/xml Response Status Codes Table 137. Response Status Codes HTTP Status Code Reason 204 Successfully set the NTP settings to off. 500 Unable to turn off NTP settings on the ASM appliance. /Network/ Description Retrieve networks Method get Response Class [ Network ] Response Content-Type: application/json, application/xml Parameters Table 138.
Parameter Value Description Default Value Parameter Type Data Type name,description,ty pe,vlanId,createdBy, updatedBy,createdD ate,updatedDate offset N/A Specify pagination offset 0 query integer limit N/A Specify page limit 50 query integer Response Status Codes Table 139.
HTTP Status Code Reason 409 Network already exists /Network/export/csv Description Exports all Networks in csv format Method get Response Class void Response Content-Type: application/octet-stream Response Status Codes Table 142.
Response Status Codes Table 144. Response Status Codes HTTP Status Code Reason 200 Network retrieved successfully 404 Network not found /Network/{networkId} Description Update an existing network Method put Response Class void Response Content-Type: application/xml, application/json Parameters Table 145.
Method delete Response Class void Response Content-Type: application/xml, application/json Parameters Table 147. Parameters Parameter Value Description Default Value Parameter Type Data Type networkId (required) Id of network to delete N/A path string Response Status Codes Table 148.
Parameter Value Description Default Value Parameter Type Data Type usageGUID (required) Usage GUID to associate with ipAddress N/A query string Response Status Codes Table 150. Response Status Codes HTTP Status Code Reason 204 IP Addresses assigned successfully 400 Invalid network id supplied /Network/ipAddress/release Description Releases ip addresses assigned to a usage guid Method put Response Class void Response Content-Type: application/xml, application/json Parameters Table 151.
Method get Response Class UsageIdList Response Content-Type: application/json, application/xml Parameters Table 153. Parameters Parameter Value Description Default Value Parameter Type Data Type networkId (required) Id of network to retrieve from N/A path string Response Status Codes Table 154.
Response Status Codes Table 156. Response Status Codes HTTP Status Code Reason 200 Network IPs retrieved successfully 404 Network IPs not found /OSRepository/ Description Gets a list of existing ASM OS Repositories Method get Response Class OSRepository Response Content-Type: application/xml, application/json Response Status Codes Table 157.
Response Status Codes Table 159. Response Status Codes HTTP Status Code Reason 201 OS repository created 400 Bad Request, verify OS repository data object is correct /OSRepository/{id} Description Gets the ASM OS Repository by its ID Method get Response Class OSRepository Response Content-Type: application/xml, application/json Parameters Table 160.
Parameters Table 162. Parameters Parameter Value body Description Default Value Parameter Type Data Type N/A N/A body OSRepository id (required) N/A path string sync N/A false query boolean Sync ISO Response Status Codes Table 163.
/OSRepository/sync/{id} Description Syncs the ASM OS Repository by its ID Method put Response Class OSRepository Response Content-Type: application/xml, application/json Parameters Table 166. Parameters Parameter Value Description Default Value Parameter Type Data Type body N/A osRepo N/A body OSRepository id (required) N/A path string Default Value Parameter Type Data Type N/A body OSRepository Response Status Codes Table 167.
Response Status Codes Table 169. Response Status Codes HTTP Status Code Reason 201 Connection to remote path successful /Proxy/ Description Retrieve proxy settings from ASM appliance Method get Response Class proxySettings Response Content-Type: application/json, application/xml Response Status Codes Table 170.
Parameters Table 171. Parameters Parameter Value Description Default Value body (required) ProxySetting object N/A that needs to be set on ASM appliance Parameter Type Data Type body proxySettings Response Status Codes Table 172.
/Server/ Description Gets a list of servers Method get Response Class [ Server ] Response Content-Type: application/xml, application/json Parameters Table 175.
Method get Response Class integer Response Content-Type: application/xml, application/json Parameters Table 177. Parameters Parameter Value Description Default Value filter N/A Valid filter columns: N/A health,managementI P,serviceTag,power State,credentialId Parameter Type Data Type query array Response Status Codes Table 178.
Parameters Table 179. Parameters Parameter Value Description Default Value Parameter Type Data Type refId (required) Reference id of server N/A path string Response Status Codes Table 180.
Response Status Codes Table 182.
/ServiceTemplate/ Description Retrieve all ServiceTemplates with filter, sort, paginate which returns Array of ServiceTemplate.class Method get Response Class [ ServiceTemplate ] Response Content-Type: application/xml, application/json Parameters Table 185.
Response Class ServiceTemplate Response Content-Type: application/xml, application/json Parameters Table 187. Parameters Parameter Value Description Default Value Parameter Type Data Type body N/A Infrastructure Template to be created N/A body ServiceTemplate Response Status Codes Table 188.
Parameter Value Description Default Value Parameter Type Data Type true, other wise only returns Discovered. Response Status Codes Table 190. Response Status Codes HTTP Status Code Reason 200 ServiceTemplate retrieved 404 ServiceTemplate not found /ServiceTemplate/{id} Description Update Template Method put Response Class ServiceTemplate Response Content-Type: application/xml, application/json Parameters Table 191.
/ServiceTemplate/{id} Description Delete ServiceTemplate -- this operation is idempotent Method delete Response Class void Response Content-Type: application/xml, application/json Parameters Table 193. Parameters Parameter Value Description Default Value id (required) Infrastructure N/A Template Id (String) Parameter Type Data Type path string Response Status Codes Table 194. Response Status Codes HTTP Status Code Reason 204 ServiceTemplate deleted 500 Unable to delete ServiceTemplate.
Parameters Table 195. Parameters Parameter Value Description Default Value Parameter Type Data Type userId N/A Valid UserIds N/A query array Response Status Codes Table 196. Response Status Codes HTTP Status Code Reason 204 Users deleted from Templates 500 Unable to delete User from Templates. /ServiceTemplate/upload Description Upload a ServiceTemplate Method post Response Class ServiceTemplate Response Content-Type: application/xml, application/json Parameters Table 197.
Method post Response Class ServiceTemplate Response Content-Type: application/xml, application/json Parameters Table 199. Parameters Parameter Value Description Default Value Parameter Type Data Type body N/A Service Template N/A body ServiceTemplate encPassword N/A Encryption password N/A query string useEncPwdFromBa ckup N/A use password from backup N/A query boolean Response Status Codes Table 200.
Parameters Table 201. Parameters Parameter Value Description Default Value Parameter Type Data Type body N/A Infrastructure Template settings N/A body ServiceTemplate id (required) Infrastructure N/A Template Id (String) path string Response Status Codes Table 202.
Method get Response Class ServiceTemplate Response Content-Type: application/xml, application/json Parameters Table 204. Parameters Parameter Value Description Default Value configPath N/A Uploaded Config N/A Path importConfig(String ) Parameter Type Data Type query string Response Status Codes Table 205.
Response Status Codes Table 207. Response Status Codes HTTP Status Code Reason 201 ServiceTemplate created 400 Invalid Parameters to create ServiceTemplate 409 Template already exists /ServiceTemplate/updateParameters Description Create new ServiceTemplate Method post Response Class ServiceTemplate Response Content-Type: application/xml, application/json Parameters Table 208.
Response Class ServiceTemplate Response Content-Type: application/xml, application/json Parameters Table 210. Parameters Parameter Value Description Default Value Parameter Type Data Type deviceId (required) Device Id (String) N/A path string Response Status Codes Table 211.
HTTP Status Code Reason 409 Template already exists /ServiceTemplate/components/service/{serviceId} Description Update Template by analysing related components. Method put Response Class ServiceTemplate Response Content-Type: application/xml, application/json Parameters Table 214.
Parameters Table 216. Parameters Parameter Value Description Default Value Parameter Type Data Type body N/A Template to update N/A body ServiceTemplate templateId (required) Template Id N/A path string Response Status Codes Table 217.
/ServiceTemplate/template/{templateId}/{componentType} Description Retrieve Default Template with components refined for specified template ID Method get Response Class ServiceTemplate Response Content-Type: application/xml, application/json Parameters Table 220.
Response Status Codes Table 222. Response Status Codes HTTP Status Code Reason 200 ASM appliance timezone retrieved successfully. 500 Unable to retrieve ASM appliance Time Zone /Timezone/ Description Sets the appliance timezone Method put Response Class Response Response Content-Type: application/json, application/xml Parameters Table 223.
Response Class availableTimeZones Response Content-Type: application/json, application/xml Parameters Table 225. Parameters Parameter Value Description Default Value Parameter Type Data Type offset N/A Specify pagination offset N/A query integer limit N/A Specify page limit, can not exceed system maximum limit. N/A query integer Response Status Codes Table 226. Response Status Codes HTTP Status Code Reason 200 Available timezones list retrieved successfully.
Parameter Value Description Default Value Parameter Type Data Type te,createdBy,update dDate,updatedBy offset N/A Specify pagination offset 0 query integer limit N/A Specify page limit 50 query integer sort N/A Valid sort columns: N/A userName,domainN ame,firstName,lastN ame,enabled,email,p honeNumber,role,cr eatedDate,createdB y,updatedDate,upda tedBy query string Response Status Codes Table 228.
Response Status Codes Table 230. Response Status Codes HTTP Status Code Reason 201 User created 400 Invalid input 409 User already exists /User/{userId} Description Find a user by Id Method get Response Class User Response Content-Type: application/json, application/xml Parameters Table 231. Parameters Parameter Value Description Default Value userId (required) Id of user to retrieve N/A Response Status Codes Table 232.
Response Class User Response Content-Type: application/json, application/xml Parameters Table 233. Parameters Parameter Value Description Default Value Parameter Type Data Type body (required) User object that contains update fields N/A body User userId (required) ID of user to update N/A path integer Response Status Codes Table 234.
Response Status Codes Table 236. Response Status Codes HTTP Status Code Reason 204 Delete completed successfully 404 User not found /WizardStatus/ Description Retrieve ASM Setup Status Method get Response Class wizardStatus Response Content-Type: application/json, application/xml Response Status Codes Table 237. Response Status Codes HTTP Status Code Reason 204 Initial Wizard Status retrieved successfully.
Parameters Table 238. Parameters Parameter Value Description Default Value body (required) Initial Wiazrd status N/A that needs to be set in ALCM Parameter Type Data Type body wizardStatus Response Status Codes Table 239. Response Status Codes HTTP Status Code Reason 204 Initial Wiazrd Status updated successfully. 400 Request parameter is invalid.
9 Appendix B - Model Reference BrownfieldStatus Enum: BrownfieldStatus Table 240.
DeploymentHealthStatusType Enum: DeploymentHealthStatusType Table 243. DeploymentHealthStatusType Property Name Property Type values ["green", "yellow", "red"] DeploymentStatusType Enum: DeploymentStatusType Table 244. DeploymentStatusType Property Name Property Type values ["Pending", "In Progress", "Deployed", "Error", "Cancelled", "Firmware Updating"] DeviceHealth Enum: DeviceHealth Table 245.
DiscoverDeviceType Enum: DiscoverDeviceType Table 248.
IOMLocationType Enum: IOMLocationType Table 253. IOMLocationType Property Name Property Type values ["A1", "A2", "B1", "B2", "C1", "C2", "UNKNOWN"] IdentityType Enum: IdentityType Table 254. IdentityType Property Name Property Type values ["UNKNOWN", "WWPN", "WWNN", "ISCSI_MAC", "FIPS_MAC", "LAN_MAC", "IQN_INITIATOR", "IP_INITIATOR", "BOOTLUN", "IQN_TARGET", "IP_TARGET", "WWPN_TARGET"] LogSeverity Enum: LogSeverity Table 255.
Table 258. PhysicalType Property Name Property Type values ["BLADE", "RACK", "SLED"] RepositoryState Enum: RepositoryState Table 259. RepositoryState Property Name Property Type values ["copying", "errors", "available"] RepositoryStatus Enum: RepositoryStatus Table 260. RepositoryStatus Property Name Property Type values ["pending", "copying", "error", "available"] ServerSlotType Enum: ServerSlotType Table 261.
ServiceTemplateSettingType Enum: ServiceTemplateSettingType Table 264. ServiceTemplateSettingType Property Name Property Type values ["BOOLEAN", "STRING", "PASSWORD", "INTEGER", "LIST", "TEXT", "NETWORKCONFIGURATION", "ENUMERATED", "RAIDCONFIGURATION", "BIOSCONFIGURATION", "RADIO"] UIRaidLevel Enum: UIRaidLevel Table 265. UIRaidLevel Property Name Property Type values ["raid0", "raid1", "raid5", "raid6", "raid10", "raid50", "raid60"] UpdateType Enum: UpdateType Table 266.
Property Name Property Type Required detailedMessage string false Property Name Property Type Required userName string false domain string false password string false Property Name Property Type Required userName string true apiSecret string true domain string true role string true apiKey string true Property Name Property Type Required controllerPresent boolean false controllerPrimary boolean false controllerName string false controllerFWVersion string fals
Table 271.
GroupUser Name: GroupUser Table 274.
IpRange Name: IpRange Table 277.
Property Name Property Type Required lastSystemInventoryTime string false manufactureDate string false memoryType string false primaryStatus string false rank string false speed integer false serialNumber string false lastUpdateTime string false id string false size integer false Property Name Property Type Required createdDate string false imageType string false sourcePath string false razorName string false inUse boolean false username string false cre
ProcessorInventory Name: ProcessorInventory Table 283.
Table 286. ServerJobStatus Property Name Property Type Required createdDate string false jobType string false jobStatus string false jobName string false startedBy string false Property Name Property Type Required dependencyValue string false dependencyTarget string false name string false value string false ServiceTemplateOption Name: ServiceTemplateOption Table 287. ServiceTemplateOption ServiceTemplateUploadRequest Name: ServiceTemplateUploadRequest Table 288.
SoftwareComponent Name: SoftwareComponent Table 289.
URL Name: URL Table 291. URL Property Name Property Type Required hashCode integer false path string false authority string false query string false protocol string false file string false host string false ref string false userInfo string false port integer false defaultPort integer false content object false UsageIdList Name: UsageIdList Table 292.
connected_switch Name: connected_switch Table 294.
Property Name Property Type Required connectedSwitch string false Property Name Property Type Required componentId string false executionId string false level string false timestamp string false message string false Property Name Property Type Required preferredNTPServer string false secondaryNTPServer string false Property Name Property Type Required userName string false proxyServer string false userCredentialEnabled boolean false enabled boolean false passw
Table 300. references Property Name Property Type Required policies integer false devices integer false totalReferences integer false Property Name Property Type Required testProxyResult boolean false testProxyDescription string false Property Name Property Type Required rawOffset integer false dSTSavings integer false displayName string false iD string false testProxyResponse Name: testProxyResponse Table 301. testProxyResponse timeZone Name: timeZone Table 302.
Property Name Property Type Required ipAddress string false statusMessage string false healthMessage string false brownfield boolean false componentId string false brownfieldStatus BrownfieldStatus false deviceHealth DeviceHealth false compliantState CompliantState false statusEndTime string false statusStartTime string false logDump string false status DeploymentStatusType false refType string false DeviceDiscoveryRequest Name: DeviceDiscoveryRequest Table 305.
FirmwareComplianceComponents Name: FirmwareComplianceComponents Table 306. FirmwareComplianceComponents Property Name Property Type Required embeddedRepoComponents [ SoftwareComponent ] false defaultRepoComponents [ SoftwareComponent ] false compliantState CompliantState false FirmwareUpdateRequest Name: FirmwareUpdateRequest Table 307.
GroupUserList Name: GroupUserList Table 309. GroupUserList Property Name Property Type Required totalRecords integer false groupUsers [ GroupUser ] false Property Name Property Type Required managementIP string false managementIPStatic boolean false serviceTag string false health Health false model string false location IOMLocationType false id string false slot integer false supported boolean false IOM Name: IOM Table 310.
Table 312.
Table 315.
Table 317.
Property Name Property Type Required isNetworkCompleted boolean false isTemplateCompleted boolean false seqId integer false isSetupCompleted boolean false showGettingStarted boolean false link Link false Property Name Property Type Required managementIP string false deviceId string false managementIPStatic boolean false credentialRefId string false serviceTag string false assetTag string false health Health false controllers [ ChassisController ] false powerSu
Property Name Property Type Required defaultPowerCapUpperBoundWatts integer false midPlaneVersion string false lastUpdateTime GregorianCalendar false servers [ Server ] false name string false refId string false deviceType string false url Link false refType string false displayName string false Property Name Property Type Required logTime GregorianCalendar false severity LogSeverity false message string false ChassisLogEntry Name: ChassisLogEntry Table 322.
Property Name Property Type Required identityList [ LogicalNetworkIdentityInventory ] false productId string false networkMode NetworkMode false relativeBandwidthWeight integer false maxBandwidth number false portId string false id string false Property Name Property Type Required vlanId integer false staticNetworkConfiguration StaticNetworkConfiguration false description string false name string false id string false type string false static boolean false Pro
Property Name Property Type Required groupDN string false firstName string false lastName string false enabled boolean false link Link false role string true createdBy string false password string true Property Name Property Type Required raidLevel UIRaidLevel false physicalDisks [string] false mediaType MediaType false controller string false configuration VirtualDiskConfiguration false Property Name Property Type Required credential Credential true refere
Property Name Property Type Required physicalDisks [ PhysicalDisk ] false numPhysDisks integer false id string false Property Name Property Type Required maximum integer false minimum integer false networks [string] false fqdd string false wwpn string false networkObjects [ Network ] false iscsiMacAddress string false macAddress string false partitionNo integer false partitionIndex integer false lanMacAddress string false iscsiIQN string false wwnn string
credentialList Name: credentialList Table 332.
DeploymentFilterResponse Name: DeploymentFilterResponse Table 335.
Property Name Property Type Required usedInterfaces [ Interface ] false servertype string false allUsedInterfaces [ Interface ] false allNetworkIds [string] false interfaces [ Fabric ] false id string false Property Name Property Type Required physicalType PhysicalType false razorPolicyName string false networkConfig NetworkConfiguration false relatedSwitches [string] false portConnections [ connected_switch ] false fcInterfaces [ fc_interface ] false fcoeInterfaces
Property Name Property Type Required infoIcon boolean false possibleValues [string] false possibleValuesDisplayName [string] false maxLength integer false networkConfiguration NetworkConfiguration false raidConfiguration RAIDConfiguration false max integer false group string false options [ ServiceTemplateOption ] false generated boolean false required boolean false value string false id string false type ServiceTemplateSettingType false readOnly boolean false
Property Name Property Type Required helpText string false componentValid ServiceTemplateValid false cloned boolean false subType ServiceTemplateComponentSubType false puppetCertName string false associatedComponents Map> false clonedFromId string false relatedComponents Map false iP string false serialNumber string false configFile string false name string false resources [ ServiceTemplateCategory ] false id string false
Property Name Property Type Required createdBy string false filename string false password string false embedded boolean false name string false id string false state RepositoryState false Property Name Property Type Required createdDate GregorianCalendar false updatedBy string false updatedDate GregorianCalendar false firmwareRepository FirmwareRepository false draft boolean false templateName string false templateDescription string false wizardPageNumber in
Property Name Property Type Required attachments [string] false id string false Property Name Property Type Required createdDate GregorianCalendar false updatedBy string false updatedDate GregorianCalendar false firmwareRepository FirmwareRepository false assignedUsers [ User ] false allUsersAllowed boolean false teardown boolean false templateValid boolean false brownfield boolean false vDS boolean false deploymentHealthStatusType DeploymentHealthStatusType false
Property Name Property Type Required serviceTemplate ServiceTemplate false deploymentDevice [ DeploymentDevice ] false vms [ VM ] false jobDetails [ logEntry ] false retry boolean false updateServerFirmware boolean false individualTeardown boolean false overallDeviceHealth DeviceHealth false compliant boolean false createdBy string false status DeploymentStatusType false id string false owner string false AddOnModule Name: AddOnModule Table 345.
Property Name Property Type Required active boolean false uploadUrl URL false DiscoveredDevices Name: DiscoveredDevices Table 346.
Property Name Property Type Required displayName string false Property Name Property Type Required refId string false deviceType DeviceType false serviceTag string false ipAddress string false iomCount integer false serverCount integer false model string false serverType string false discoverDeviceType DiscoverDeviceType false firmwareDeviceInventories [ FirmwareDeviceInventory ] false statusMessage string false deviceRefId string false healthState string false
Property Name Property Type Required componentID string false deviceID string false vendorID string false subdeviceID string false subvendorID string false ipaddress string false firmwareComplianceComponents FirmwareComplianceComponents false servicetag string false parent_job_id string false version string false systemId string false jobId string false lastUpdateTime string false componentType string false name string false id string false Property Name P
Property Name Property Type Required compliance CompliantState false serviceTag string true health DeviceHealth false ipAddress string true model string false infraTemplateDate GregorianCalendar false infraTemplateId string false serverTemplateDate GregorianCalendar false serverTemplateId string false inventoryDate GregorianCalendar false complianceCheckDate GregorianCalendar false discoveredDate GregorianCalendar false deviceGroupList DeviceGroupList false detailLi
ManagedDeviceList Name: ManagedDeviceList Table 351.
10 Appendix C -Ruby Code Usage Several configuration options are available for the ASM Ruby module. In order to run the code examples, minimally one will need to set the username, password, and baseURI in the file AsmConfig.
ASM::API::sign do result = RestClient.get url, {:params=>{:filter=>template_filter}} result = RestClient.get url, {:params=>{:filter=>template_filter}} end # Logout to demo automatic login below ASM::API::logout # Sign a single request with supplied creds ASM::API::sign('admin','admin') { RestClient.