Active System Manager Release 8.
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. © 2016 Dell Inc. All rights reserved. This product is protected by U.S. and international copyright and intellectual property laws.
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/connection.....................................................................................................................................57 /FirmwareRepository/compliance....................................................................................................................................
/Server/serviceTag/{serviceTag}..................................................................................................................................... 86 /ServiceTemplate/........................................................................................................................................................... 87 /ServiceTemplate/.......................................................................................................................................................
LogSeverity ....................................................................................................................................................................109 MediaType ..................................................................................................................................................................... 109 NetworkMode ............................................................................................................................................
references ......................................................................................................................................................................122 testProxyResponse ........................................................................................................................................................ 123 timeZone ...................................................................................................................................................
AddOnModule.................................................................................................................................................................142 DiscoveredDevices .........................................................................................................................................................143 DiscoveryResult .................................................................................................................................................
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 AddOnModule Response Content-Type: application/json, application/xml Parameters Table 1.
Method post 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.
HTTP Status Code Reason 404 Bad Request, verify id is correct /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.
Method get Response Class ServerNetworkObjects Response Content-Type: application/xml, application/json Parameters Table 67. Parameters Parameter Value serviceId serverId Description Default Value Parameter Type Data Type (required) N/A path string (required) N/A path string Response Status Codes Table 68.
Parameter Value Description Default Value Parameter Type Data Type e,updatedBy,update dDate filter N/A Valid filter columns: N/A name,description,us ers,devices,created By,updatedBy,create dDate,updatedDate query array offset N/A Pagination Offset 0 query integer limit N/A Page Limit 50 query integer Response Status Codes Table 70.
HTTP Status Code Reason 409 Group already exists in inventory, first error encountered error causes an error response to return. Call will not return a list of errors. /DeviceGroup/{refId} Description Retrieve Device Group from Inventory based on refId Method get Response Class DeviceGroup Response Content-Type: application/xml, application/json Parameters Table 73.
Parameters Table 75. Parameters Parameter Value Description Default Value Parameter Type Data Type body N/A Device Group to be updated N/A body DeviceGroup refId (required) Reference Id N/A path string Response Status Codes Table 76.
/DiscoveryRequest/ Description Retrieve a Array of DiscoveryRequest Method get Response Class [ DiscoveryRequest ] Response Content-Type: application/xml, application/json Parameters Table 79.
Parameters Table 81. Parameters Parameter Value body N/A Description Default Value Parameter Type Data Type N/A body DiscoveryRequest Response Status Codes Table 82.
Method delete Response Class void 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.
Response Status Codes Table 88. Response Status Codes HTTP Status Code Reason 202 Create the discovery resource 400 Bad Request, verify Discovery request object is correct /DiscoveryRequest/discoveryresult/{id} Description Retrieve a Array of DiscoveryResults Method get Response Class [ DiscoveryResult ] Response Content-Type: application/xml, application/json Parameters Table 89.
Parameters Table 91. Parameters Parameter Value Description Default Value Parameter Type Data Type sort N/A Sort Column N/A query string filter N/A Filter Criteria N/A query array offset N/A Pagination Offset 0 query integer limit N/A Page Limit 50 query integer related N/A Hydrate related objects N/A query boolean bundles N/A Hydrate software bundle objects N/A query boolean Response Status Codes Table 92.
Response Status Codes Table 94. Response Status Codes HTTP Status Code Reason 201 Firmware repository created 400 Bad Request, verify firmware repository data object is correct /FirmwareRepository/{id} Description Retrieve an individual Chassis Device Method get Response Class FirmwareRepository Response Content-Type: application/xml, application/json Parameters Table 95.
Method put Response Class FirmwareRepository Response Content-Type: application/xml, application/json Parameters Table 97. 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 98.
Response Status Codes Table 100. Response Status Codes HTTP Status Code Reason 201 Connection to remote path successful /FirmwareRepository/compliance Description Get the comliance level for the specified evice Method post Response Class ManagedDevice Response Content-Type: application/xml, application/json Parameters Table 101.
Parameters Table 103. Parameters Parameter Value Description Default Value Parameter Type Data Type body (required) Managed device to get compliance for N/A body ManagedDevice id (required) Id of the firmware to compare against instead of default N/A path string Response Status Codes Table 104.
Response Status Codes Table 106. Response Status Codes HTTP Status Code Reason 200 All FirmwareRepository Retrived on filter, sort, paginate /FirmwareRepository/softwarebundle/{id} Description Retrieve an individual Software Bundle Method get Response Class SoftwareBundle Response Content-Type: application/xml, application/json Parameters Table 107.
Response Content-Type: application/xml, application/json Parameters Table 109.
Parameters Table 111. Parameters Parameter Value body N/A Description Default Value Parameter Type Data Type N/A body [Lcom.dell.asm.asm core.asmmanager.cli ent.deviceinventory. ManagedDevice; Response Status Codes Table 112. Response Status Codes HTTP Status Code Reason 201 Devices created in inventory 400 Invalid Device to create in inventory, first error encountered error causes an error response to return. Call will not return a list of errors.
/ManagedDevice/{refId} Description Retrieve Device from Inventory based on refId Method get Response Class ManagedDevice Response Content-Type: application/xml, application/json Parameters Table 115. Parameters Parameter Value Description Default Value Parameter Type Data Type refId (required) Reference Id N/A path string Response Status Codes Table 116.
Parameters Table 117. 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 118.
/ManagedDevice/firmware Description Update Device Firmware Method put Response Class void Response Content-Type: application/xml, application/json Parameters Table 121. Parameters Parameter Value body N/A Description Default Value Parameter Type Data Type N/A body FirmwareUpdateRe quest Response Status Codes Table 122.
Response Status Codes Table 123. 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 ManagedDevice Response Content-Type: application/xml, application/json Parameters Table 126. Parameters Parameter Value Description Default Value Parameter Type Data Type certName (required) Certificate Name N/A path string Response Status Codes Table 127.
Response Status Codes Table 129. Response Status Codes HTTP Status Code Reason 201 Device updated in inventory 400 Invalid Device 404 Device not found in inventory /ManagedDevice/withcompliance/{refId} Description Retrieve Device from Inventory based on refId Method get Response Class ManagedDevice Response Content-Type: application/xml, application/json Parameters Table 130.
Response Class ntpSettings Response Content-Type: application/json, application/xml Response Status Codes Table 132. 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 133.
Method delete Response Class void Response Content-Type: application/json, application/xml Response Status Codes Table 135. 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 136.
Parameter Value Description Default Value Parameter Type Data Type limit N/A Specify page limit 50 query integer Response Status Codes Table 137. Response Status Codes HTTP Status Code Reason 200 Networks is retrieved 400 Problem with a query parameter, check response for details 404 Networks not found /Network/ Description Add a new network Method post Response Class Network Response Content-Type: application/json, application/xml Parameters Table 138.
Method get Response Class void Response Content-Type: application/octet-stream Response Status Codes Table 140.
/Network/{networkId} Description Update an existing network Method put Response Class void Response Content-Type: application/xml, application/json Parameters Table 143. Parameters Parameter Value Description body (required) networkId (required) Default Value Parameter Type Data Type Network object that N/A contains update fields body Network Id of network to update path string N/A Response Status Codes Table 144.
Response Content-Type: application/xml, application/json Parameters Table 145. 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 146.
Response Status Codes Table 148. 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 149.
Response Class UsageIdList Response Content-Type: application/json, application/xml Parameters Table 151. 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 152.
/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 155. Response Status Codes HTTP Status Code Reason 200 All OSRepository Retrieved /OSRepository/ Description Creates a new ASM OS Repository Method post Response Class OSRepository Response Content-Type: application/xml, application/json Parameters Table 156.
/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 158. Parameters Parameter Value id (required) Description Default Value Parameter Type Data Type N/A path string Response Status Codes Table 159.
Parameter Value Description Default Value Parameter Type Data Type sync N/A Sync ISO false query boolean Response Status Codes Table 161.
Method put Response Class OSRepository Response Content-Type: application/xml, application/json Parameters Table 164. 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 165.
Response Status Codes Table 167. 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 168.
Parameters Table 169. 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 170.
/Server/ Description Gets a list of servers Method get Response Class [ Server ] Response Content-Type: application/xml, application/json Parameters Table 173.
Method get Response Class integer Response Content-Type: application/xml, application/json Parameters Table 175. 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 176.
Parameters Table 177. Parameters Parameter Value Description Default Value Parameter Type Data Type refId (required) Reference id of server N/A path string Response Status Codes Table 178.
Response Status Codes Table 180.
/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 183.
Response Class ServiceTemplate Response Content-Type: application/xml, application/json Parameters Table 185. 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 186.
Parameter Value Description Default Value Parameter Type Data Type true, other wise only returns Discovered. Response Status Codes Table 188. 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 189.
/ServiceTemplate/{id} Description Delete ServiceTemplate -- this operation is idempotent Method delete Response Class void Response Content-Type: application/xml, application/json Parameters Table 191. Parameters Parameter Value Description Default Value id (required) Infrastructure N/A Template Id (String) Parameter Type Data Type path string Response Status Codes Table 192. Response Status Codes HTTP Status Code Reason 204 ServiceTemplate deleted 500 Unable to delete ServiceTemplate.
Parameters Table 193. Parameters Parameter Value Description Default Value Parameter Type Data Type userId N/A Valid UserIds N/A query array Response Status Codes Table 194. 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 195.
Method post Response Class ServiceTemplate Response Content-Type: application/xml, application/json Parameters Table 197. 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 198.
Parameters Table 199. 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 200.
Method get Response Class ServiceTemplate Response Content-Type: application/xml, application/json Parameters Table 202. 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 203.
Response Status Codes Table 205. Response Status Codes HTTP Status Code Reason 200 Parameters updated /ServiceTemplate/device/{deviceId} Description Retrieve Default Template customized for specified device Method get Response Class ServiceTemplate Response Content-Type: application/xml, application/json Parameters Table 206.
Parameters Table 208. Parameters Parameter Value Description Default Value id (required) Infrastructure N/A Template Id (String) Parameter Type Data Type path string Response Status Codes Table 209.
/ServiceTemplate/components/template/{templateId} Description Update Template by analysing related components. Method put Response Class ServiceTemplate Response Content-Type: application/xml, application/json Parameters Table 212. 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 213.
Parameters Table 214. Parameters Parameter Value Description Default Value Parameter Type Data Type serviceId (required) Service Id (String) N/A path string componentType (required) Template Component Type (String) N/A path string Response Status Codes Table 215.
/Timezone/ Description Retrieve ASM appliance timezone Method get Response Class timeZone Response Content-Type: application/json, application/xml Response Status Codes Table 218. 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 219.
Response Status Codes Table 220. Response Status Codes HTTP Status Code Reason 200 ASM appliance timezone set successfully. 500 Unable to set the ASM appliance Time Zone /Timezone/all Description Retrieve list of available timezones Method get Response Class availableTimeZones Response Content-Type: application/json, application/xml Parameters Table 221.
Method get Response Class [ User ] Response Content-Type: application/json, application/xml Parameters Table 223.
Response Class User Response Content-Type: application/json, application/xml Parameters Table 225. Parameters Parameter Value Description Default Value Parameter Type Data Type body (required) User object that needs to be added to ASM N/A body User Parameter Type Data Type path integer Response Status Codes Table 226.
Response Status Codes Table 228. Response Status Codes HTTP Status Code Reason 200 OK 404 User not found /User/{userId} Description Update an existing user Method put Response Class User Response Content-Type: application/json, application/xml Parameters Table 229.
Response Class void Response Content-Type: application/xml, application/json Parameters Table 231. Parameters Parameter Value Description Default Value Parameter Type Data Type userId (required) Id of user to delete N/A path integer Response Status Codes Table 232.
Method put Response Class wizardStatus Response Content-Type: application/json, application/xml Parameters Table 234. 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 235. 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 236.
DeploymentHealthStatusType Enum: DeploymentHealthStatusType Table 239. DeploymentHealthStatusType Property Name Property Type values ["green", "yellow", "red"] DeploymentStatusType Enum: DeploymentStatusType Table 240. DeploymentStatusType Property Name Property Type values ["Pending", "In Progress", "Deployed", "Error", "Cancelled", "Firmware Updating"] DeviceHealth Enum: DeviceHealth Table 241.
DiscoverDeviceType Enum: DiscoverDeviceType Table 244.
IOMLocationType Enum: IOMLocationType Table 249. IOMLocationType Property Name Property Type values ["A1", "A2", "B1", "B2", "C1", "C2", "UNKNOWN"] IdentityType Enum: IdentityType Table 250. 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 251.
Table 254. PhysicalType Property Name Property Type values ["BLADE", "RACK", "SLED"] RepositoryState Enum: RepositoryState Table 255. RepositoryState Property Name Property Type values ["copying", "errors", "available"] RepositoryStatus Enum: RepositoryStatus Table 256. RepositoryStatus Property Name Property Type values ["pending", "copying", "error", "available"] ServerSlotType Enum: ServerSlotType Table 257.
ServiceTemplateSettingType Enum: ServiceTemplateSettingType Table 260. ServiceTemplateSettingType Property Name Property Type values ["BOOLEAN", "STRING", "PASSWORD", "INTEGER", "LIST", "TEXT", "NETWORKCONFIGURATION", "ENUMERATED", "RAIDCONFIGURATION", "BIOSCONFIGURATION", "RADIO"] UIRaidLevel Enum: UIRaidLevel Table 261. UIRaidLevel Property Name Property Type values ["raid0", "raid1", "raid5", "raid6", "raid10", "raid50", "raid60"] UpdateType Enum: UpdateType Table 262.
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 267.
GroupUser Name: GroupUser Table 270.
IpRange Name: IpRange Table 273.
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 279.
Table 282. 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 283. ServiceTemplateOption ServiceTemplateUploadRequest Name: ServiceTemplateUploadRequest Table 284.
SoftwareComponent Name: SoftwareComponent Table 285.
URL Name: URL Table 287. 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 288.
connected_switch Name: connected_switch Table 290.
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 296. 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 297. testProxyResponse timeZone Name: timeZone Table 298.
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 301.
FirmwareComplianceComponents Name: FirmwareComplianceComponents Table 302. FirmwareComplianceComponents Property Name Property Type Required embeddedRepoComponents [ SoftwareComponent ] false defaultRepoComponents [ SoftwareComponent ] false compliantState CompliantState false FirmwareUpdateRequest Name: FirmwareUpdateRequest Table 303.
GroupUserList Name: GroupUserList Table 305. 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 306.
Table 308.
Table 311.
Table 313.
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 318.
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 328.
DeploymentFilterResponse Name: DeploymentFilterResponse Table 331.
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 341.
Property Name Property Type Required active boolean false uploadUrl URL false DiscoveredDevices Name: DiscoveredDevices Table 342.
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 347.
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.