HP OneView 1.05 REST API scripting Abstract This document provides scripting scenarios that list the sequence of REST API operations you must invoke for each task and include links into the HP OneView REST API Reference (included in this document) to provide details about the resource model schema and JSON (JavaScript Object Notation) examples. The reference includes the attributes of each resource and the parameters, request headers, response headers, and response codes that apply to all REST APIs. HP Part Number: 5900-3736 Published: March 2014 Edition: 1 © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. The only warranties for HP products and services are set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed as constituting an additional warranty. HP shall not be liable for technical or editorial errors or omissions contained herein. Acknowledgments Java® is a registered trademark of Oracle and/or its affiliates. Microsoft® is a U.S. registered trademark of Microsoft Corporation. HP OneView 1.05 REST API scripting Copyright and legal notices Abstract The HP OneView REST API help topics document the REST APIs and State-Change Message Bus. Published: March 2014 Edition: 1 Copyright © 2013-2014 Hewlett-Packard Development Company, L.P. Confidential computer software. Valid license from HP required for possession, use or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor's standard commercial license. The information contained herein is subject to change without notice. The only warranties for HP products and services are set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed as constituting an additional warranty. HP shall not be liable for technical or editorial errors or omissions contained herein. Acknowledgements Google™ is a trademark of Google Inc. Java is a trademark of Oracle or its affiliates. Microsoft® is a US registered trademark of Microsoft Corporation. index.html[2/20/2014 10:05:46 AM] Chapter 1 Welcome to HP OneView REST API scripting Chapter 1 Welcome to HP OneView REST API scripting The REST API scripting documentation is designed to work in tandem with the HP OneView REST API Reference. The scripting scenarios list the sequence of REST API operations you must invoke for each task and include links into the HP OneView REST API Reference to provide details about the resource model schema and JSON (JavaScript Object Notation) examples. Topic Where to find the information Where can I learn about the REST interface? Learning about REST APIs What tasks can I perform using the REST APIs? What can I do with HP OneView REST APIs? Where can I find detailed reference information about the REST API resource model schema and JSON examples? HP OneView REST API Reference What tasks can I perform using the appliance UI? UI help How do I subscribe to messages on the State-Change Message Bus? State-Change Message Bus Where can I download code samples and a technical preview of PowerShell and Python libraries? PowerShell and Python code sample libraries Where can I find HP OneView user guides and other manuals? http://www.hp.com/go/oneview/docs How do I submit documentation feedback to HP? [email protected] Legal notices To see the publication date, help system version and edition, and copyright and legal information, see the legal notices. home.html[2/20/2014 10:05:49 AM] Where to find HP OneView documentation Where to find HP OneView documentation HP OneView release notes, user manuals, and other technical documentation is available on the Enterprise Information Library and help is available on the appliance. NOTE: To submit feedback about HP OneView documentation to HP, send email to [email protected]. Enterprise Information Library The following documentation is available to view or download from the information library at http://www.hp.com/go/oneview/docs HP OneView Release Notes HP OneView Support Matrix HP OneView Installation Guide HP OneView User Guide HP OneView REST API Reference zip file containing the HP OneView user interface HTML help files zip file containing the HP OneView REST API HTML help files White papers UI and REST API help on the appliance To view the help delivered on the appliance, open the appliance in a browser. Click the icon in the banner to open the Help sidebar, which provides hyperlinks to the UI help and REST API scripting help. See also Enabling off-appliance browsing of UI HTML help and REST API HTML help s_access-docs-fusion.html[2/20/2014 10:05:49 AM] Enabling off-appliance browsing of UI HTML help and REST API HTML help Enabling off-appliance browsing of UI HTML help and REST API HTML help To enable your users and developers to browse the HP OneView help and HP OneView REST API Reference locally on their own computer or from a local web server, download the hp-oneview-help.zip file and the hp-oneviewrestapi.zip file from the Enterprise Information Library. The off-appliance versions of the HP OneView help systems are useful for developers who are writing REST API scripts or other users that prefer the convenience of accessing help without logging in to the appliance. Downloading HTML UI help and HTML REST help 1. Go to the Enterprise Information Library: http://www.hp.com/go/oneview/docs 2. Select the hp-oneview-help.zip file for UI help or the hp-oneview-restapi.zip file for REST API help and save it to your computer or a local directory on a web server. 3. Use the utility of your choice to extract the contents of the .zip file. 4. Navigate to the hp-oneview-help/content or hp-oneview-restapi/content directory. 5. Double-click the index.html file to open the HP OneView help system. 6. If you are serving the files from a web server, communicate the full URL to the index.html file to your user community to enable them to browse to the UI and REST API help and reference information. s_accessing-OLH-offline-fusion.html[2/20/2014 10:05:49 AM] Chapter 2 Learning about HP OneView Chapter 2 Learning about HP OneView Designed for converged infrastructure environments, HP OneView is a single integrated platform, packaged as an appliance, that implements a software-defined approach to managing your physical infrastructure through its entire life cycle. To learn more about HP OneView, start with the introduction or select a topic from the following list. High-level overview HP OneView for converged infrastructure management Core enterprise management capabilities Security features Availability features Provisioning features Graphical and programmatic interfaces Server profiles Integration with other HP management software Groups, templates, and sets Open integration Streamlined process for bringing hardware under management Convenient licensing model Networking features Operating system deployment Learn more Firmware and configuration change management features Simplified firmware management Simplified configuration change management Monitoring and response features Simplified interface and automatic configuration of resources for monitoring Data center environmental management Resource utilization monitoring Activity and health management Appliance backup and restore features Backup and restore features c_cic-overview.html[2/20/2014 10:05:50 AM] Understanding the resource model Understanding the security features of HP OneView HP OneView for converged infrastructure management HP OneView for converged infrastructure management Optimized for collaboration, productivity, and reliability, the HP OneView appliance is designed to provide simple, single-pane-of-glass lifecycle management for the complex aspects of enterprise IT—servers, networking, software, power and cooling, and storage. HP OneView is purpose-built to manage your converged infrastructure and support key scenarios such as deploying bare-metal servers, deploying hypervisor clusters from bare metal, performing ongoing hardware maintenance, and responding to alerts and outages. It is designed for the physical infrastructure needed to support virtualization, cloud computing, big data, and mixed computing environments. Architecture HP OneView is delivered as a virtual appliance running in a VMware vSphere virtual machine. In contrast to management environments that require predefined serialized workflows and different tools for different tasks, HP OneView is a scalable resource-oriented solution focused on the entire life cycle—from initial configuration to on-going monitoring and maintenance—of both logical and physical resources: Logical resources are items such as networks, server profiles, and connections. Physical resources are items you can touch, such as server hardware, interconnects, and enclosures. Software-defined flexibility—your experts design configurations for efficient and consistent deployment The appliance provides several software-defined resources, such as groups and server profiles, to enable you to capture the best practices of your experts across a variety of disciplines, including networking, storage, hardware configuration, and operating system build and configuration. By having your experts define the server profiles and the networking groups and resources, you can eliminate cross-silo disconnects. By using RBAC (role-based access control) and the groups, sets, and server profiles established by your experts, you can enable system administrators to provision and manage thousands of servers without requiring that your experts be involved with every server deployment. One tool and one data set—one view s_cic_intro_overall-fusion.html[2/20/2014 10:05:50 AM] HP OneView for converged infrastructure management HP OneView combines complex and interdependent data center provisioning and management into one simplified and unified interface. You use one tool and one model to: Provision the data center Manage and maintain firmware and configuration changes Monitor the data center and respond to issues The solution also provides core enterprise management capabilities, including: Availability features Security features Graphical and programmatic interfaces Integration with other HP management software The appliance manages servers and enclosure networking resources, supports connections from enclosures to storage, and provides information to help you manage data center power and cooling: Servers are represented and managed through their server profiles. For a brief overview of server profiles, see Server profiles. For detailed information about server profiles, see the REST API scripting help for Server Profiles Storage devices connect to the enclosures using either Fibre Channel Fabric attach (SAN switch) connections or Fibre Channel Direct attach (flat SAN) connections. For more information about Fibre Channel network connections for storage, see the REST API scripting help for Networks. Networking is an essential component to provisioning and managing data center servers. For an overview of the networking features of the appliance, see Networking features. For detailed information about networking and the resource model, see Understanding the resource model. If you are migrating a Virtual Connect configuration to HP OneView, see the white paper in the Enterprise Information Library. Environmental management—such as power, cooling, and space planning—requires that you consider all the equipment in the entire data center, including equipment not managed by HP OneView. HP OneView consolidates data center power and cooling information into one interface view. For an overview of the power and cooling management features, see Data center environmental management. The HP OneView User Guide provides an example of using the appliance to manage a data center. See also Learning about HP OneView (top of chapter) s_cic_intro_overall-fusion.html[2/20/2014 10:05:50 AM] Hardware and software provisioning features Hardware and software provisioning features After you install the HP OneView appliance and perform the initial configuration tasks, you can quickly bring existing hardware under management and, using server profiles and other resource templates, groups, and sets, prepare for and deploy hardware to be added to your data center. Features for provisioning hardware and bringing resources under management include: Server profiles Groups, templates, and sets Streamlined process for bringing hardware under management Operating system deployment Server profiles A server profile captures key aspects of a server configuration in one place, including firmware levels, BIOS settings, network connectivity, boot order configuration, iLO settings, and unique IDs. Server profiles are one of the features that enable you to provision converged infrastructure hardware quickly and consistently according to your best practices. Server profiles enable your experts to specify a server configuration before the server arrives, enabling your administrators to quickly bring a new server under management when the server hardware is installed. For example, you can create a server profile that is not assigned to a particular server, but specifies all the configuration aspects—such as BIOS settings, network connections, and boot order—to use for a type of server hardware. After the server is installed in an enclosure bay, you can do one of the following: Directly assign the server profile to the enclosure bay. Copy the server profile and assign the copy to the enclosure bay. You can copy or move a server profile that has been assigned to hardware in an enclosure bay. If you copy a server profile, you can save it for future use by not assigning the copy to an enclosure bay. You can also assign a server profile to an empty bay and the server profile is automatically applied to the server hardware when an appropriate server is inserted into the bay, or set the association of the server profile to either a device bay or a device bay and a server hardware physical UUID when you remove or replace the server hardware. For more information, see About server profiles. Groups, templates, and sets Software-defined infrastructure—such as server profiles, groups, templates, and sets—enable you to: Use your experts to define server and networking configurations for specific environments before you install data center hardware. Provision hundreds of servers quickly and consistently without requiring that your experts take action for every server you deploy. s_cicug-intro-functions-provision-fusion.html[2/20/2014 10:05:51 AM] Hardware and software provisioning features Simplify the distribution of configuration changes across your data center. Expert design with consistent deployment Your experts in different technical areas can create templates, groups, and sets with their configuration best practices built in. Using these resources and server profiles, you can ensure that the infrastructure for thousands of workloads is provisioned consistently, regardless of who does the provisioning. Server profiles capture the server configuration in once place. You can use unassigned server profiles to rapidly deploy multiple servers with the same configuration. For more information about server profiles, see Server profiles. Types of groups and sets Group or set Description Enclosure group A group of enclosures that use the same configuration, such network connectivity and firmware versions for the Onboard Administrator and interconnect modules. All members of an enclosure group use the same logical interconnect group. When you add an enclosure to the appliance and assign an enclosure group, the interconnects in the enclosure are configured automatically according to the logical interconnect group associated with the enclosure group. Enclosure groups enable administrators to provision multiple enclosures in a consistent, predictable manner in seconds. A group of logical interconnects that share the same configuration for network connectivity. A logical interconnect is the set of physical interconnects and their links, including the following: Uplinks to data center networks as mapped by their uplink sets Downlinks to the servers Logical interconnect group Stacking links (connections to each other) When you or your experts define configurations using logical interconnect groups and enclosure groups: Administrators can provision multiple enclosures with consistent network configurations in seconds Network administrators are not required to take action every time an enclosure is installed because the network configuration is defined by the enclosure group. A set of physical uplink ports in a logical interconnect that connect to a common set of networks. All member interconnects of a logical interconnect can contribute physical uplinks to an uplink set. Uplink set Uplink sets can be defined as part of a logical interconnect or a logical interconnect group. When uplink sets are defined as part of a logical interconnect group, they act as the template for the uplink sets that are configured automatically when a logical interconnect is added to the logical interconnect group. A set of Ethernet networks, designated by a single name. You can specify a network set s_cicug-intro-functions-provision-fusion.html[2/20/2014 10:05:51 AM] Hardware and software provisioning features Network set instead of an individual network when you define a connection to data center Ethernet networks in a server profile. When you specify a network set in a connection, the server can access any of the networks in that set, including any networks that are subsequently added to that network set. Define configurations for specific environments Groups and templates enable you to define configurations that are specific to the environment you want to build, such as VMware vSphere virtual hosts, Microsoft Exchange environments, external or internal web servers, or financial database servers. For example, to build multiple external web servers: 1. Your networking expert can create logical interconnect groups, uplink sets, networks, and network sets to establish all of the connection policies between data center networks and the interconnects managed by the appliance. 2. Your server expert can create enclosure groups, add enclosures, and create server profiles to establish all of the settings required by an external web server. 3. Your server operators can copy server profiles whenever they need to deploy this type of server. Flexibility in design and deployment HP OneView provides flexibility in the creation of groups, templates, and sets. For example, you can create a logical interconnect group in these ways: Before you add an enclosure to the appliance, you can create a logical interconnect group that specifies how you want the interconnects to be configured, and an enclosure group that specifies how you want the enclosure to be configured. You can add an enclosure to the appliance and, after the appliance discovers and adds the interconnect hardware in the enclosure, you can use or modify the default logical interconnect group that the appliance creates. Groups, templates, and sets also simplify the distribution of configuration changes across your data center. For more information about configuration changes, see Simplified configuration change management. For more information about resources, including groups, templates, and sets, see Understanding the resource model. Streamlined process for bringing hardware under management HP OneView simplifies the process of bringing the enclosures, interconnects, and server hardware under management. For example: When you add an enclosure, the appliance automatically detects all of the hardware seated in the enclosure and prepares it for you to bring under management. For example, the appliance: s_cicug-intro-functions-provision-fusion.html[2/20/2014 10:05:51 AM] Hardware and software provisioning features Updates the enclosure Onboard Administrator, Virtual Connect interconnect module, and server iLO firmware to the minimum version required Configures each Virtual Connect interconnect module Configures the Onboard Administrator, which includes configuring NTP (Network Time Protocol) and configuring an SSO (single sign-on) certificate for UI access Configures each server iLO, which includes configuring an SSO certificate for UI access Configures the hardware for monitoring, which includes configuring the automatic registration of SNMP (Simple Network Management Protocol) traps When you add an HP Intelligent Power Distribution Unit (iPDU) power device, the appliance automatically detects and presents the connected devices so that you can bring the devices under management. Operating system deployment Server profiles and enclosure groups make it easier to prepare a bare-metal server for operating system deployment. For example, you can use server profiles in conjunction with deployment tools such as: HP Insight Control server provisioning to install an operating system on the server VMware vSphere Autodeploy to deploy hypervisors from bare metal and add them to existing clusters automatically See also Learning about HP OneView (top of chapter) s_cicug-intro-functions-provision-fusion.html[2/20/2014 10:05:51 AM] Firmware and configuration change management features Firmware and configuration change management features Simplified firmware management The appliance provides fast, reliable, and simple firmware management across the data center. When you add a resource to the appliance, to ensure compatibility and seamless operation, the appliance automatically updates the resource firmware to the minimum version required to be managed by the appliance. An HP firmware bundle, also known as an SPP (Service Pack for ProLiant), is a tested update package of firmware, drivers, and utilities. Firmware bundles enable you to update firmware on server blades, and infrastructure (enclosures and interconnects). An on-appliance firmware repository enables you to upload SPP firmware bundles and deploy them across your environment according to your best practices. For example you can: View the versions and contents of firmware bundles stored in the firmware repository. View the settings of the enclosures and interconnects, if any, that have a specific firmware bundle installed. Set a firmware baseline—a desired state for firmware versions—on a resource, such as a server profile, or on a group of resources, such as all of the interconnects in a logical interconnect group. Detect when a resource does not comply with the firmware baseline. Identify firmware compatibility issues. Update firmware for an entire enclosure in minutes. Update firmware for individual resources or for groups of resources, such as logical interconnect groups.[1] Simplified configuration change management Templates and groups simplify the distribution of configuration changes across your data center. For example: If you add a network to a network set, the network is available for immediate use by all of the server profiles that have a connection to the network set. You do not need to change or reapply a server profile. You can reduce errors by making multiple and complex changes to a group. Then, for each member of the group, you can use a single action to update the configuration to match the configuration of the group. The appliance notifies you when it detects that a device does not comply with the current template or group. You control when and if a device configuration is updated. The firmware for physical interconnects is managed using the logical interconnects, ensuring that the member interconnects have compatible firmware. See also Learning about HP OneView (top of chapter) s_cicug-intro-functions-maintain-fusion.html[2/20/2014 10:05:51 AM] Firmware and configuration change management features [1] Enclosure groups do not include a firmware baseline; therefore, updates to enclosure firmware are managed on a per-enclosure basis. s_cicug-intro-functions-maintain-fusion.html[2/20/2014 10:05:51 AM] Monitoring and response features Monitoring and response features One user interface You use the same interface you use to provision resources. There are no additional tools or interfaces to learn. Isolated management network The appliance architecture is designed to separate the management traffic from the production network, which increases reliability of the overall solution. For example, your data center resources remain operational even in the unlikely event of an appliance outage. Automatic configuration for monitoring When you add resources to the appliance, they are automatically configured for monitoring, and the appliance is automatically registered to receive SNMP traps. You can monitor resources immediately without performing additional configuration or discovery steps. Agentless and out-of-band management All monitoring and management of HP ProLiant Gen8 (or later) servers is agentless and out-of-band for increased security and reliability. For these servers: There are no agents to monitor or update. The appliance does not require open SNMP ports on the host operating system. The appliance does not require an operating system on the host, which frees memory and processor resources on the host for use by server applications, and enables you to manage servers that have no host operating system installed. Management from other platforms using the REST APIs and the SCMB The REST APIs and the SCMB (State-Change Message Bus) also enable you to monitor the HP OneView environment from other management platforms. For more information about the SCMB, see State-Change Message Bus Monitoring the environment and responding to issues Features for monitoring the environment and responding to issues include the following: Data center environmental management Resource utilization monitoring Activity and health management Hardware and firmware inventory information Data center environmental management s_cicug-intro-functions-respond-fusion.html[2/20/2014 10:05:51 AM] Monitoring and response features HP OneView integrates these critical areas for environmental management of the data center: Thermal data visualization in 3D Power delivery infrastructure representation Physical asset location in 3D Feature Description Thermal data visualization 3D data center thermal mapping provides a view of the thermal status of your entire data center. The appliance collects thermal data from the managed resources in each data center rack and presents the data graphically, enabling easy identification of hot spots in a rack. HP OneView collects and reports processor utilization and power and temperature history for your data center hardware. The appliance monitors power, automatically detects and reports power delivery errors, and provides precise power requirement information for HP ProLiant Gen8 servers and HP BladeSystem enclosures that you can use for planning rack and power usage. Power delivery infrastructure representation Power Discovery Services enable automatic discovery and visualization of the power delivery topology for your data center. HP iPDUs enable the appliance to map the rack power topology automatically. The appliance detects wiring errors—such as lack of redundancy—and updates electrical inventory automatically when new servers are installed. The appliance also supports per-outlet power control for remote power cycling of each iPDU outlet. You can manually define the power requirements and power topology for devices that do not support Power Discovery Services. Physical asset location Location Discovery Services enable the appliance to automatically display the exact 3D location of HP ProLiant Gen8 servers in HP Intelligent Series Racks, reducing labor time, lowering operational costs, and eliminating human errors associated with inventory and asset management. You can manually define the positions of racks and devices that do not support Location Discovery Services. Resource utilization monitoring HP OneView periodically collects and maintains CPU utilization information for all of the servers it manages. HP OneView also collects port-level statistics for networking, including transmit, receive, and error counters. HP OneView displays all of this data using rich UIs and makes the data available through the REST APIs. Activity and health management HP OneView provides streamlined activity monitoring and management. The appliance automatically registers to receive SNMP traps from all managed resources, and resources added to the appliance are immediately available for monitoring and management. When the appliance notifies you of a problem, when possible, it suggests a way to correct the problem. Using the UI and REST APIs, you can: s_cicug-intro-functions-respond-fusion.html[2/20/2014 10:05:51 AM] Monitoring and response features View all activities (alerts and tasks) by description or source, and filter activities using multiple filter criteria. Assign alerts to specific users. Annotate activities with notes from administrators, enabling the administrators of the data center to collaborate through the appliance instead of through outside tools such as email. View alerts for a specific resource from the UI screen for that resource or using the REST API for that resource. Automatically forward SNMP traps from managed resources to enterprise monitoring consoles or centralized SNMP trap collectors. Hardware and firmware inventory information HP OneView provides detailed hardware and firmware inventory information about the resources it manages. You can access the following data through the UI and the REST APIs: Summary and detailed views of managed hardware, such as servers, enclosures, and interconnects. Summary and detailed views of firmware bundle contents. You can use the Smart Search feature of the UI to find specific items in the inventory. See also Learning about HP OneView (top of chapter) s_cicug-intro-functions-respond-fusion.html[2/20/2014 10:05:51 AM] Backup and restore features Backup and restore features HP OneView provides services to backup an appliance to a backup file, and to restore an appliance from a backup file. One encrypted backup file for both the appliance and its database Backup files are encrypted and contain configuration settings and management data—there is no need to create separate backup files for the appliance and its database. Flexible scheduling and an open interface for backup operations You can create backup files while the appliance is online. Also, you can use REST APIs to: Schedule a backup process from outside the appliance. Collect backup files according to your site policies. Integrate with enterprise backup and restore products. A backup file is a snapshot of the appliance configuration and management data at the time the backup file was created. HP recommends that you create regular backups, preferably once a day and after you make hardware or software configuration changes in the managed environment. Specialized user role for creating backup files HP OneView provides a user role specifically for backing up the appliance by permitting access to other resource views without permitting actions on those resources, or other tasks. Recovery from catastrophic failures You can recover from a catastrophic failure by restoring your appliance from the backup file. When you restore an appliance from a backup file, all management data and most configuration settings on the appliance are replaced with the data and settings in the backup file, including things like user names and passwords, audit logs, and available networks. The state of the managed environment is likely to be different from the state of that environment at the time the backup file was created. During a restore operation, the appliance reconciles the data in the backup file with the current state of the managed environment. After the restore operation, the appliance uses alerts to report any discrepancies that it cannot resolve automatically. For more information about backing up and restoring an appliance, see About backing up the appliance and About restoring the appliance. See also Learning about HP OneView (top of chapter) s_cicug-intro-backup-fusion.html[2/20/2014 10:05:52 AM] Security features Security features CATA (Comprehensive Applications Threat Analysis) is a powerful HP security quality assessment tool designed to substantially reduce the number of latent security defects. The design of the HP OneView appliance employed CATA fundamentals and underwent CATA review. To ensure a secure platform for data center management, the appliance includes feature such as the following: Separation of the data and management environments, which is critical to avoid takeover in DoS (Denial of Service) attacks. For example, the appliance is designed to operate entirely on an isolated management LAN; access to the production LAN is not required. The managed devices remain online in the event of an appliance outage. RBAC (role-based access control), which enables an administrator to quickly establish authentication and authorization for users based on their responsibilities for specific resources. RBAC also simplifies what is shown in the UI: Users can only view the resources for which they are authorized. For example, the appliance does not display screens that do not apply to users with the role of Network administrator, such as the Server Profiles and Server Hardware screens. Users can initiate actions only for the resources for which they are authorized. For example users with the role of Network administrator can initiate actions for the network resources only, and users with the role of Server administrator can initiate actions for the server resources only. Users with the role of Infrastructure administrator have full access to all screens and actions. Single sign-on to iLO and Onboard Administrator without storing user-created iLO or Onboard Administrator credentials. Audit logging for all user actions. Support for authentication and authorization using an optional directory service such as Microsoft Active Directory. Use of certificates for authentication over SSL (Secure Sockets Layer). A firewall that allows traffic on specific ports and blocks all unused ports. A UI that restricts access from host operating system users. Data downloads that are restricted to support dump files (encrypted by default), encrypted backup files, audit Learning about HP OneView (top of chapter) s_cicug-intro-security-features-short-fusion.html[2/20/2014 10:05:52 AM] Availability features Availability features HP OneView separates the management appliance from the managed resources. In the unlikely event that the appliance experiences an outage, the managed resources continue to run. HP OneView is delivered as a virtual appliance running in a VMware vSphere virtual machine. The VMware vSphere Hypervisor provides the virtual machine with high-availability and recovery capabilities that allow the virtual machine to be restarted on another host in the cluster and to resume management without disruption to the managed resources. Configuring the appliance for availability is described in the HP OneView User Guide. See also Learning about HP OneView (top of chapter) s_cicug-intro-availability-features-fusion.html[2/20/2014 10:05:53 AM] Graphical and programmatic interfaces Graphical and programmatic interfaces The HP OneView appliance was developed to use a single, consistent resource model embodied in a fast, modern, and scalable HTML5 user interface and industry-standard REST APIs for mobile, secure access and open integration with other management software. User interface—efficiency and simplicity by design The UI is designed for the way you work, providing powerful, easy-to use tools, including the following: Feature Description Dashboard screen Provides a graphical representation of the general health and capacity of the resources in your data center. From the Dashboard you can immediately see the areas that need your attention Map view Available from each resource, the Map view enables you to examine the configuration and understand the relationships between logical and physical resources in your data center. Smart Search box The banner of every screen includes the Smart Search feature, which enables you to find resource-specific information such as specific instances of resource names, serial numbers, WWNs, and IP and MAC addresses. Activity feed The Activity feed gives you a unique perspective into the health of your environment by interleaving the tasks, alerts, and administrator's notes into a single view. The Activity feed simplifies the correlation of user activity with system health, allowing for timely resolution of issues. Resource-specific management screens These screens enable you to focus on the resources you are authorized to view and manage. Resource group screens enhance scalability by enabling you to manage multiple resources as one The UI provides on-screen hints and tips to help you avoid and correct errors, and provides links to learn more about the tasks. At the top of each screen, the help icon gives you access to the entire help system. REST APIs—automation and integration HP OneView has a resource-oriented architecture that provides a uniform REST interface. The REST APIs: Provide an industry-standard interface for open integration with other management platforms. Are designed to be ubiquitous—every resource has one URI (Uniform Resource Identifier) and represents a physical device or logical construct. Enable you to automate anything you can do from the UI using your favorite scripting or programming language. Are designed to be highly scalable. For more information about finding online help and other documentation, see Where to find HP OneView s_cicug-intro-user-prog-interfaces-fusion.html[2/20/2014 10:05:53 AM] Graphical and programmatic interfaces documentation. See also Learning about HP OneView (top of chapter) s_cicug-intro-user-prog-interfaces-fusion.html[2/20/2014 10:05:53 AM] Integration with other HP management software Integration with other HP management software Onboard Administrator HP OneView interacts seamlessly with the Onboard Administrator to provide complete management of HP BladeSystem c7000 enclosures. A user’s Onboard Administrator privileges are determined by the role assigned to the user’s HP OneView appliance account. HP Integrated Lights-Out HP OneView interacts seamlessly with the iLO management processor to provide complete management of HP servers. HP OneView automatically configures the iLO according to the settings specified by the server profile. HP OneView configures seamless access to the iLO graphical remote console, enabling you to launch the iLO remote console from the HP OneView UI in a single click. Your iLO privileges are determined by the role assigned to your HP OneView appliance account. HP Insight Control server provisioning HP OneView server profiles enable you to configure servers for PXE boot. Insight Control server provisioning, an optional product, can then install an operating system on the server using either scripted installation or captured image deployment. See also Learning about HP OneView (top of chapter) s_cicug-intro-other-sw-fusion.html[2/20/2014 10:05:53 AM] Open integration Open integration The single, consistent resource model, REST APIs, and SCMB (State-Change Message Bus) enable you to use scripting to integrate HP OneView with other enterprise applications to address user needs and perform tasks such as: Automating standard workflows and troubleshooting steps Automating integrations with other software, such as a CMDB (content management database) Connecting to service desks Monitoring resources, collecting data, and mapping and modeling systems Exporting data to formats that suit your needs Attaching custom databases, data warehouses, or third-party business intelligence tools Integrating in-house user customizations The SCMB is an interface that uses asynchronous messaging to notify subscribers of changes to managed resources —both logical and physical. For example, you can program applications to receive notifications when new server hardware is added to the managed environment or when the health status of physical resources changes—without having to continuously poll the appliance for status using the REST APIs. See also Learning about HP OneView (top of chapter) s_cicug-intro-open-integration-fusion.html[2/20/2014 10:05:54 AM] Convenient licensing model Convenient licensing model HP OneView provides a convenient and flexible licensing model: Purchasing HP OneView integrated with your hardware provides the best experience—a fully automatic approach to license redemption and registration. Your software license for HP OneView and iLO Advanced is delivered embedded in the hardware you purchase, including these options: A license bundle for 16 servers embedded in the enclosure Onboard Administrator. A license for a single server embedded in the server iLO. When you add hardware with an embedded license to the appliance, the appliance automatically applies the license. Your software license is also automatically registered for support when the hardware is registered. You can also purchase and activate licenses separately, enabling you to add licenses for existing hardware. If you already have an iLO Advanced license for a server, you can purchase an HP OneView license that does not include the iLO Advanced license. The appliance stores licenses in a pool and applies licenses to server hardware as needed. You can view information about the number of licenses available, the number of licensed servers, and the number of servers that require a license. See also Learning about HP OneView (top of chapter) s_cicug-intro-licensing-fusion.html[2/20/2014 10:05:54 AM] Networking features Networking features The HP OneView appliance provides several networking features to streamline the provisioning of networking resources for server blades and to manage configuration changes, including firmware updates, to Virtual Connect interconnect modules. Supported networks The Virtual Connect interconnect modules in enclosures support the following types of data center networks: Ethernet for data networks Fibre Channel for storage networks, including Fibre Channel Fabric attach (SAN switch) connections, and Fibre Channel Direct attach (Flat SAN) connections to supported HP 3PAR storage systems. Logical interconnects The appliance enables you to define multiple enclosure interconnect modules as a single administrative entity called a logical interconnect, which provides universal access to data center Ethernet networks from all servers connected to any member interconnect. A logical interconnect is the set of physical interconnects and their links, including the following: Uplinks to data center networks as mapped by their uplink sets Downlinks to the servers Stacking links (connections to each other) Logical interconnect groups A logical interconnect group is a collection of logical interconnects that have the same configuration for features such as the following: Stacking domain Firmware Uplink sets Uplink port redundancy and fault tolerance When you add an enclosure and associate it with an enclosure group, the enclosure is automatically configured according to the logical interconnect group associated with the enclosure group. This feature enables you to provision hundreds of enclosures consistently and efficiently. After you create a logical interconnect, it continues to be associated with the logical interconnect group and reports if its configuration differs from the group. Network sets s_cicug-network-overview-short-fusion.html[2/20/2014 10:05:54 AM] Networking features You can define a collection of Ethernet data center networks to be identified by a single name, called a network set. You can specify a network set instead of an individual network when you define a connection from a server to the data center networks. By using network sets, you can make changes to networks that are members of a network set without having to make changes to each server profile that uses that network set. Network sets are useful in virtual machine environments where each server profile connection must access multiple networks. For example, you can configure a hypervisor with a vSwitch to access multiple network VLAN IDs by creating a network set as a trunk that includes the networks that have these VLAN IDs. For more information about networking resources, see Understanding the resource model. For detailed information about the networking model for the HP OneView appliance, see the HP OneView User Guide. See also Learning about HP OneView (top of chapter) s_cicug-network-overview-short-fusion.html[2/20/2014 10:05:54 AM] Chapter 3 Understanding the resource model Chapter 3 Understanding the resource model The HP OneView appliance uses a resource model that reduces complexity and simplifies the management of your data center. This model provides logical resources, including templates, groups, and sets, that when applied to physical resources, provides a common structure across your data center. High-level overview Resource model summary diagram Network resources Networks Network sets Server resources Server profiles Appliance resources Connections Appliance Connection templates Domains Server hardware Data center power and cooling management resources Server hardware types Data centers Network provisioning resources Racks Enclosure groups Power delivery devices Enclosure types Unmanaged devices Enclosures Learn more Interconnect types Interconnects Logical interconnect groups Logical interconnects Uplink sets c_cic-resource-model-fusion.html[2/20/2014 10:05:55 AM] For information about using this appliance, see What can I do with HP OneView REST APIs? Resource model summary diagram Resource model summary diagram The following figure summarizes some of the most frequently used resources and shows the relationships between them. Resource model summary diagram The UI and REST APIs are organized by resource. The documentation for the UI and REST APIs are also organized by resource. To view the complete list of resources, see the HP OneView REST API Reference. See also Understanding the resource model (top of chapter) s_cicug_resource-model.html[2/21/2014 2:18:31 PM] Server profiles Server profiles Server profiles capture key aspects of the server configuration in one place, enabling you to provision converged infrastructure hardware quickly and consistently according to your best practices. A server profile can contain the following configuration information about the server hardware: Basic server identification information Connections to Ethernet networks, Ethernet network sets, and Fibre Channel networks Firmware versions BIOS settings Boot order Physical or virtual UUIDs (universally unique identifiers), MAC (media access control) addresses and WWN (World Wide Name) addresses Relationship to other resources A server profile is associated with the following resources in the resource summary diagram: Zero or more connection resources. You use a connection resource to specify connection from the server to a network or network set. If you do not specify at least one connection, the server cannot connect to data center networks. The networks and network sets that are available to a server profile connection depend on the configuration of the logical interconnect of the enclosure that contains the server hardware. Exactly one server hardware resource, which can be either unassigned or can be located in a specific enclosure and enclosure bay. Exactly one server hardware type resource. Exactly one enclosure group resource. To enable portability of server profiles, a server profile is associated with an enclosure group resource instead of an enclosure resource. Because enclosures in the enclosure group are configured identically, you can assign a server profile to any appropriate server hardware, regardless of which enclosure and bay in the enclosure group contains that server hardware. UI screens and REST API resources UI screen REST API resource Server Profiles server-profiles s_cicug-rm-server-profile.html[2/20/2014 10:05:56 AM] Server profiles Resource model summary diagram Understanding the resource model (top of chapter) s_cicug-rm-server-profile.html[2/20/2014 10:05:56 AM] Connection templates Connection templates A connection template defines default configuration characteristics, such as the preferred bandwidth and maximum bandwidth, for a network or network set. When you create a network or network set, the appliance creates a default connection template for the network or network set. Relationship to other resources A connection template resource is associated with zero or more connection resources. A connection resource is associated with the appropriate connection template for a type of network or network set. UI screens and REST API resources UI screen None REST API resource Notes connection-templates The UI does not display or refer to connection templates, but connection templates determine the default values displayed for the connection when you select a network or network set. See also Resource model summary diagram Understanding the resource model (top of chapter) s_cicug-rm-connection-template.html[2/20/2014 10:05:56 AM] Connections Connections A connection is the logical representation of a connection between a server and a network or network set. Connections are part of server profiles. A connection specifies the following: The network or network set to which the server is to be connected Configuration overrides (such as a change to the preferred bandwidth) to be made to the default configuration for the specified network or network set Boot order Relationship to other resources A connection resource is associated with the following resources in the resource summary diagram: Exactly one server profile resource. Exactly one connection template resource. Exactly one network or network set resource. The resources that are available to the connection depend on the configuration of the logical interconnect of the enclosure that contains the server hardware. UI screens and REST API resources UI screen REST API resources Server Profiles connections and server-profiles Resource model summary diagram Understanding the resource model (top of chapter) s_cicug-rm-connection.html[2/20/2014 10:05:56 AM] Server hardware types Server hardware types A server hardware type captures details about the physical configuration of server hardware, and defines which settings are available to the server profiles assigned to that type of server hardware. For example, the server hardware type for the HP ProLiant BL460c Gen8 Server Blade includes a complete set of default BIOS settings for that server blade hardware configuration. When you add an enclosure to the appliance, the appliance detects the servers installed in the enclosure and creates a server hardware type for each unique server configuration it discovers. When you add a unique rack mount server model, the appliance creates a new server hardware type for that server configuration. Relationship to other resources A server hardware type resource is associated with the following resources in the resource summary diagram: Zero or more server profiles Zero or more servers of the type defined by that server hardware type UI screens and REST API resources UI screen REST API resource Server Hardware Types server-hardware-types Resource model summary diagram Understanding the resource model (top of chapter) s_cicug-rm-server-hw-type.html[2/20/2014 10:05:57 AM] Server hardware Server hardware Server hardware represents an instance of server hardware, such as a physical HP ProLiant BL460c Gen8 Server Blade installed in an enclosure, or a physical HP ProLiant DL380p rack server. For information about the supported server hardware, see the HP OneView Support Matrix. Relationship to other resources A server hardware resource is associated with the following resources in the resource summary diagram: Zero or one server profile. If a server does not have a server profile assigned, you cannot perform actions that require the server profile resource, such as managing firmware or connecting to data center networks. However, you can: Add the server hardware to the appliance, including automatically updating the server firmware to the minimum version required for management by the appliance. View inventory data. Power on or power off the server. Launch the iLO remote console. Monitor power, cooling, and utilization. Monitor health and alerts. If the server hardware is a server blade, exactly one device bay of an enclosure. This association also applies to full-height server blades, which occupy two device bays but are associated with the top bay only. If the server hardware is a rack mount server, zero or one rack resource and zero or more power delivery devices. If the appliance discovers an instance of supported server hardware for which it does not have a matching server hardware type, the appliance creates a server hardware type for that server hardware configuration. UI screens and REST API resources UI screen Server Hardware s_cicug-rm-server-hw.html[2/20/2014 10:05:57 AM] REST API resource Notes server-hardware You use the server hardware resource, not the server profile resource, to perform actions such as powering off or powering on the server, resetting the server, and launching the HP iLO remote console. You can launch the HP iLO remote console through the UI. The REST APIs do not include an API to launch the HP iLO remote console. Server hardware For more information about server hardware, see Server Hardware. s_cicug-rm-server-hw.html[2/20/2014 10:05:57 AM] Enclosure groups Enclosure groups An enclosure group is a logical resource that defines a set of enclosures that use the same configuration for network connectivity. The same logical interconnect group is used for every enclosure that is a member of the enclosure group, resulting in identically configured enclosures and uplinks to data center networks. By creating enclosure groups and adding enclosures to the group, you can quickly add and manage many identically configured enclosures. Relationship to other resources An enclosure group resource is associated with the following resources in the resource summary diagram: Zero or more enclosures Zero or more server profiles Exactly one logical interconnect group UI screens and REST API resources UI screen REST API resource Enclosure Groups enclosure-groups Resource model summary diagram Understanding the resource model (top of chapter) s_cicug-rm-enclosure-group.html[2/20/2014 10:05:57 AM] Enclosure types Enclosure types An enclosure type defines characteristics of a specific HP enclosure hardware model, such as an HP BladeSystem c7000 Enclosure. Relationship to other resources An enclosure type resource is associated with zero or more enclosures. UI screens and REST API resources UI screen None REST API resource Notes None The UI does not refer to enclosure type, but the enclosure type is used by the appliance when you add an enclosure. The enclosures REST resource includes an enclosureType attribute. See also Resource model summary diagram Understanding the resource model (top of chapter) s_cicug-rm-enclosure-type.html[2/20/2014 10:05:58 AM] Enclosures Enclosures An enclosure is a physical structure that contains server blades, the Onboard Administrator, and interconnects. For information about the supported enclosure models, see the HP OneView Support Matrix. The enclosure provides the hardware connections between the interconnect downlinks and the installed server blades. The enclosure interconnects provide the physical uplinks to the data center networks. When you add an enclosure, the appliance discovers and adds all of the components within the enclosure, including any installed server blades and any installed interconnects. Relationship to other resources An enclosure resource is associated with the following resources in the resource summary diagram: Exactly one enclosure group Zero or more physical interconnects One logical interconnect and one logical interconnect group (through the enclosure’s association with enclosure groups and interconnects) Zero or one rack resource Zero or more power delivery devices UI screens and REST API resources UI screen REST API resource Enclosures enclosures Resource model summary diagram Understanding the resource model (top of chapter) s_cicug-rm-enclosure.html[2/20/2014 10:05:58 AM] Interconnect types Interconnect types The interconnect type resource defines the characteristics of a model of interconnect, such as the following: Downlink capabilities and the number of downlink ports Uplink port capabilities and the number of uplink ports Supported firmware versions Relationship to other resources An interconnect type resource is associated with the following resources in the resource summary diagram: Zero or more interconnects UI screens and REST API resources UI screen Interconnects REST API resource Notes interconnect-types The UI does not display or refer to the interconnect type resource specifically, but the information is used by the appliance when you add or manage an interconnect using the Interconnects screen. See also Resource model summary diagram Understanding the resource model (top of chapter) s_cicug-rm-interconnect-type.html[2/20/2014 10:05:59 AM] Interconnects Interconnects An interconnect is a physical resource that enables communication between hardware in the enclosure and the data center Ethernet LANs and Fibre Channel SANs. The HP Virtual Connect FlexFabric 10Gb/24-port Module is an example of a supported interconnect. For a list of supported interconnects, see the HP OneView Support Matrix. An interconnect has the following types of ports: Port type Description Uplinks Uplinks are physical ports that connect the interconnect to the data center networks. For example, the X2 port of an HP Virtual Connect FlexFabric 10Gb/24-port Module is an uplink. Downlinks Downlinks are physical ports that connect the interconnect to the server hardware through the enclosure midplane. Stacking links Stacking links are internal or external physical ports that join interconnects to provide redundant paths for Ethernet traffic from servers to the data center networks. In the resource model: Interconnects are an integral part of enclosures and enclosure groups. The interconnects installed in an enclosure are added automatically when the enclosure is added to the appliance. To remove an interconnect from the appliance, you must remove the enclosure from the appliance. Interconnects can also be defined by a logical interconnect group, which in turn defines the logical interconnect configuration to be used for an enclosure. When you associate an enclosure with an enclosure group during an add operation, the appliance uses the interconnect configuration defined by the logical interconnect group that is associated with the enclosure group. The physical interconnect configuration in the enclosure must match the logical interconnect group configuration before an interconnect can be managed. An interconnect must be a member of a logical interconnect. For an interconnect to be usable, it must be installed in an enclosure and must be defined as part of a logical interconnect. Each physical interconnect can contribute physical uplink ports to an uplink set. Firmware baselines and firmware updates for physical interconnects are managed by the logical interconnect. Relationship to other resources An interconnect resource is associated with the following resources in the resource summary diagram: Exactly one enclosure Exactly one logical interconnect, and, through that logical interconnect, exactly one logical interconnect group UI screens and REST API resources UI screen REST API resources Interconnects interconnects, interconnect-types, and logicalinterconnects s_cicug-rm-interconnect.html[2/20/2014 10:05:59 AM] Interconnects For more information about interconnects, see Interconnects. s_cicug-rm-interconnect.html[2/20/2014 10:05:59 AM] Logical interconnect groups Logical interconnect groups The logical interconnect group represents the physical and logical configuration of connections to data center networks for each logical interconnect in the group. This configuration includes the following: The interconnect types, interconnect configurations, and interconnect downlink capabilities The stacking mode, which reserves the interconnect ports to be used for stacking links The uplink sets, which map uplink ports to Ethernet or Fibre Channel networks The available networks In the resource model: A logical interconnect group is associated with an enclosure group instead of an individual enclosure. Every enclosure that is a member of an enclosure group has the same network connectivity as all other enclosures in the enclosure group because their logical interconnects are identically configured. You can create a logical interconnect group either automatically during an enclosure add operation, or independently of enclosure add operations. If you add an enclosure without specifying an existing enclosure group, the appliance creates both an enclosure group and a logical interconnect group based on the physical interconnects in that enclosure. You can then edit that enclosure group and that logical interconnect group. The uplink sets defined by the logical interconnect group establish the initial configuration of the uplink sets of each logical interconnect associated with the logical interconnect group. If you change uplink sets for an existing logical interconnect group: The updated uplink sets are applied to any new logical interconnects that are added to the existing logical interconnect group. Existing logical interconnects are reported as not being consistent with the logical interconnect group. You can then request that those existing logical interconnects be updated with the new configuration. After a logical interconnect has been created and associated with a logical interconnect group, it continues to be associated with that group and reports if its configuration differs from the group. You can then change the configuration of the logical interconnect to match the group. Relationship to other resources A logical interconnect group resource is associated with the following resources in the resource summary diagram: Zero or more logical interconnects Zero or more enclosure groups The uplink sets defined by a logical interconnect group specify the initial configuration of the uplink sets of each logical interconnect in the group. s_cicug-rm-logical-interconnect-group.html[2/20/2014 10:05:59 AM] Logical interconnect groups UI screens and REST API resources UI screen REST API resource Logical Interconnect Groups logical-interconnect-groups Resource model summary diagram Understanding the resource model (top of chapter) s_cicug-rm-logical-interconnect-group.html[2/20/2014 10:05:59 AM] Logical interconnects Logical interconnects A logical interconnect is a single entity for multiple physical interconnects A logical interconnect is a single administrative entity that consists of the configuration of the interconnects in an enclosure. This configuration includes: Interconnects, which are required for the enclosure to connect to data center networks. Uplink sets, which map data center networks to physical uplink ports. If no uplink sets are defined, the logical interconnect cannot connect to data center networks, and the servers attached to the downlinks of the logical interconnect cannot connect to data center networks. Downlink ports, which connect through the enclosure midplane to the servers in the enclosure. A logical interconnect includes all of the physical downlinks of all of the member interconnects. The downlinks connect the interconnects to physical servers. The set of downlinks that share access to a common set of networks is called logical downlinks. Stacking links, which join interconnects either through connections inside the enclosure or external cables between the stacking ports of the interconnects. The firmware baseline, which specifies the firmware version to be used by all of the member interconnects. The firmware baseline for physical interconnects is managed by the logical interconnect. The Network administrator configures multiple paths from server bays to networks The Network administrator can ensure that every server bay of an enclosure has two independent paths to an Ethernet data center network by creating a logical interconnect for which the following conditions are true: The logical interconnect has at least two interconnects that are joined by stacking links. The logical interconnect has at least one uplink set that includes uplinks to the network from at least two physical interconnects. The appliance detects and reports a configuration or state in which there is only one path (no redundant paths) to a network or in which there are no paths to a network. The Server administrator is not required to know the details about interconnect configurations Because a logical interconnect is managed as a single entity, the server administrator is isolated from the details of interconnect configurations. For example, if the network administrator configures the logical interconnect to ensure redundant access from each server bay in the enclosure to each Ethernet data center network, the server administrator must only ensure that a server profile includes two connections to a network or to a network set that includes that network. Relationship to other resources A logical interconnect resource is associated with the following resources in the resource summary diagram: s_cicug-rm-logical-interconnect.html[2/20/2014 10:06:00 AM] Logical interconnects Zero or more interconnects. For a logical interconnect to be usable, it must include at least one interconnect. If there are zero interconnects, the enclosure and its contents do not have any uplinks to the data center networks. Exactly one logical interconnect group, which defines the initial configuration of the logical interconnect, including its uplink sets. Using logical interconnect groups, you can easily and quickly replicate the same logical interconnect configuration across multiple enclosures. After a logical interconnect is created and associated with a logical interconnect group, it continues to be associated with that group and reports if its configuration differs from the configuration of the group. This feature enables you to manage any number of logical interconnects as though they were one by making all the configuration changes to the logical interconnect group, and then, for each logical interconnect, using a single action to update the configuration from the group. Zero or more uplink sets, which associate zero or more uplink ports and zero or more networks. UI screens and REST API resources UI screen REST API resource Logical Interconnects logical-interconnects logical-downlinks Notes and You use the logical-downlinks REST API to obtain information about the common set of networks and capabilities available to a downlink. Resource model summary diagram Understanding the resource model (top of chapter) s_cicug-rm-logical-interconnect.html[2/20/2014 10:06:00 AM] Uplink sets Uplink sets An uplink set assigns data center networks to uplink ports of interconnects. The uplinks must be from physical interconnects that are members of the logical interconnect to which the uplink set belongs. An uplink set is part of a logical interconnect. For each logical interconnect: An uplink set cannot include a network set. A network can be a member of one uplink set. An uplink set can contain one Fibre Channel network. An uplink set can contain multiple Ethernet networks. You cannot assign two instances of the same network to the same physical port. Relationship to other resources An uplink set is part of a logical interconnect or a logical interconnect group. The uplink sets defined by a logical interconnect group specify the configuration for uplink sets used by logical interconnects that are members of the group. If the uplink sets of a logical interconnect do not match the uplink sets of the logical interconnect group, the appliance notifies you that the logical interconnect is not consistent with its group. UI screens and REST API resources UI screen REST API resource Logical Interconnects or Logical Interconnect Groups uplink-sets For more information about uplink sets, see Logical Interconnects and Logical Interconnect Groups. Resource model summary diagram Understanding the resource model (top of chapter) s_cicug-rm-uplink-set.html[2/20/2014 10:06:00 AM] Networks Networks A network represents a Fibre Channel or Ethernet network in the data center. Relationship to other resources A network resource is associated with the following resources in the resource summary diagram: Zero or more connections Zero or one uplink set per logical interconnect For Ethernet networks, zero or more network sets UI screens and REST API resources UI screen REST API resource Networks fc-networks or ethernet-networks Resource model summary diagram Understanding the resource model (top of chapter) s_cicug-rm-network.html[2/20/2014 10:06:01 AM] Network sets Network sets A network set represents a group of Ethernet networks identified by a single name. Network sets are used to simplify server profile configuration. When a connection in a server profile specifies a network set, it can access any of the member networks. Additionally, if networks are added to or deleted from a network set, server profiles that specify the network set are isolated from the change. One common use for network sets is as a trunk for multiple VLANs to a vSwitch. In the resource model: A network set can contain zero or more Ethernet networks. An Ethernet network can be a member of zero or more network sets. A connection in a server profile can specify either a network or a network set. A network set cannot be a member of an uplink set. Other configuration rules apply. For more information about network sets, including specifying the network to handle untagged traffic, see About network sets. Relationship to other resources A network set resource is associated with the following resources in the resource summary diagram: Zero or more connections, and, through those connections, zero or more server profiles Zero or more Ethernet networks UI screens and REST API resources UI screen REST API resource Network Sets network-sets Resource model summary diagram Understanding the resource model (top of chapter) s_cicug-rm-network-set.html[2/20/2014 10:06:01 AM] Domains Domains The domain resource describes the management domain for the appliance. All resources managed by the appliance are part of a single management domain. Relationship to other resources A domain resource is associated with the following resources in the resource summary diagram: Exactly one appliance Zero or more instances of the other resources in the summary diagram UI screens and REST API resources UI screen None REST API resource Notes domains The UI does not display or refer to domains, but the domain resource provides information about limits such as the total number of networks that you can add to the appliance. You can use the domains REST API to obtain information about the domain. See also Resource model summary diagram Understanding the resource model (top of chapter) s_cicug-rm-domain.html[2/20/2014 10:06:01 AM] Appliance Appliance The appliance resource defines configuration details specific to the appliance (as distinct from the resources the appliance manages). Relationship to other resources An appliance resource is associated with the following resources in the resource summary diagram: Exactly one domain Zero or more instances of the other resources in the summary diagram UI screens and REST API resources UI screen REST API resource Several REST API resources are related to the appliance and appliance settings. See the resources in the following categories in the : Settings Settings Security Resource model summary diagram Understanding the resource model (top of chapter) s_cicug-rm-appliance.html[2/20/2014 10:06:02 AM] Resources related to data center facilities Resources related to data center facilities Data centers In the appliance, a data center represents a physically contiguous area in which racks containing IT equipment— such as servers, enclosures, and devices—are located. You create a data center to describe a portion of a computer room that provides a useful grouping to summarize your environment and its power and thermal requirements. A data center resource is often a subset of your entire data center and can include equipment that is not managed by the appliance. By representing the physical layout of your data center equipment, including unmanaged devices, you can use detailed monitoring information provided by the appliance for space planning and determining power and cooling requirements. In the appliance, you can: View a 3D model of the data center layout that includes a color-coding scheme to help you identify areas that are too hot or too cold. View temperature history data. More easily locate specific devices for hands-on servicing. Relationship to other resources A data center resource is associated with the following resources in the resource summary diagram: Zero or more racks UI screens and REST API resources UI screen REST API resource Data Centers datacenters For more information about data centers, see Data Centers. Racks A rack is a physical structure that contains IT equipment such as enclosures, servers, power delivery devices, and unmanaged devices in a data center. By describing the physical location, size, and thermal limit of equipment in the racks, you enable space and power planning and power analysis features for your data center. Relationship to other resources A rack resource is associated with the following resources in the resource summary diagram: Zero or one data centers Zero or more enclosures s_cicug-rm-pwr-related.html[2/20/2014 10:06:02 AM] Resources related to data center facilities Zero or more instances of server hardware (for HP ProLiant DL servers) Zero or more unmanaged devices Zero or more power delivery devices UI screens and REST API resources UI screen REST API resource Racks racks For more information about racks, see Racks. Power delivery devices A power delivery device is a physical resource that delivers power from the data center service entrance to the rack components. You create the power distribution device objects to describe the power source for one or more components in the rack. Power delivery devices can include power feeds, breaker panels, branch circuits, PDUs, outlet bars, outlets, and UPS devices. For a complete list of power delivery devices, see . Relationship to other resources A power delivery device resource is associated with the following resources in the resource summary diagram: Zero or more racks Zero or more unmanaged devices UI screens and REST API resources UI screen REST API resource Power Delivery Devices power-devices For more information about power delivery devices, see Power. Unmanaged devices An unmanaged device is a physical resource that is located in a rack or consumes power but is not currently managed by the appliance. Some unmanaged devices are unsupported devices that cannot be managed by the appliance. By adding unmanaged devices to racks, you can obtain a more complete analysis of space, power, and cooling in the data center, and you can use the appliance to view hardware inventory information about these devices. All devices connected to an HP Intelligent Power Distribution Unit (iPDU) using an HP Intelligent Power Discovery (IPD) connection are added to the appliance as unmanaged devices: s_cicug-rm-pwr-related.html[2/20/2014 10:06:02 AM] Resources related to data center facilities If a device is supported for management by the appliance, you can add that device to the appliance. If a device is not supported for management by the appliance, you can include that device in power, cooling, and space planning by leaving it in the list of unsupported devices. Other devices that do not support IPD—such as KVM switches, routers, in-rack monitors and keyboards—are not added to the list of unmanaged devices automatically. To include these devices in the appliance, you can add them manually and describe their names, rack positions, and power requirements. Relationship to other resources An unmanaged device resource is associated with the following resources in the resource summary diagram: Zero or more racks Zero or more power delivery devices UI screens and REST API resources UI screen Unmanaged Devices REST API resource Notes unmanaged-devices You can view, add, or edit the properties of unmanaged devices using either the UI or the REST APIs. To delete an unmanaged device, you must use the REST APIs. Resource model summary diagram “Understanding the resource model (top of chapter) s_cicug-rm-pwr-related.html[2/20/2014 10:06:02 AM] Chapter 4 Understanding the security features of HP OneView Chapter 4 Understanding the security features of HP OneView Most security policies and practices used in a traditional environment are applicable in a virtualized environment. However, in a virtualized environment, these policies might require modifications and additions. To learn more about the security features of the appliance, select topics from the following list: High level overview Securing the appliance Security best practices Best practices for maintaining a secure appliance Console access Access to the appliance console Certificates Managing certificates from a browser Nonbrowser clients Learn more User access and authentication Algorithms for securing the appliance Authentication for appliance access Ports needed for HP OneView Controlling access for authorized users Downloads from the appliance Creating a login session Appliance access over SSL Specifying user accounts and roles Understanding the audit log Protecting credentials c_cic-security-learn.html[2/20/2014 10:06:02 AM] Securing the appliance Securing the appliance CATA (Comprehensive Applications Threat Analysis) is a powerful HP security quality assessment tool designed to substantially reduce the number of latent security defects. The design of the appliance employed CATA fundamentals and underwent CATA review. The following factors secured (hardened) the appliance and its operating system: Best practice operating system security guidelines were followed. The appliance operating system minimizes its vulnerability by running only the services required to provide functionality. The appliance operating system enforces mandatory access controls internally. The appliance maintains a firewall that allows traffic on specific ports and blocks all unused ports. See Ports needed for HP OneView for the list of network ports used. Key appliance services run only with the required privileges; they do not run as privileged users. The operating system bootloader is password protected. The appliance cannot be compromised by someone attempting to boot in single-user mode. The appliance is designed to operate entirely on an isolated management LAN. Access to the production LAN is not required. The appliance enforces a password change at first login. The default password cannot be used again. The appliance supports self-signed certificates and certificates issued by a certificate authority. The appliance is initially configured with a self-signed certificate. As the Infrastructure administrator, you can generate a CSR (certificate signing request) and, upon receipt, upload the certificate to the appliance. This ensures the integrity and authenticity of your HTTPS connection to the appliance. All browser operations and REST API calls use HTTPS. All weak SSL (Secure Sockets Layer) ciphers are disabled. The appliance supports secure updating. HP digitally signs all updates to ensure integrity and authenticity. Backup files and transaction logs are encrypted. Support dumps are encrypted by default, but you have the option to not encrypt them. Operating-system-level users are not allowed to access the appliance, with the following exceptions: A special pwreset command used only if the Infrastructure administrator password is lost or forgotten. This command requires that you contact your authorized support representative to obtain a one-time password. For more information, see the online help. A setting that enables an authorized support representative to obtain a one-time password so that they can log in to the appliance console (and only the console) to perform advanced diagnostics. You can either enable or disable access with this setting. s_security-appliance-hardening-atlas.html[2/20/2014 10:06:03 AM] Securing the appliance HP closely monitors security bulletins for threats to appliance software components and, if necessary, issues software updates. s_security-appliance-hardening-atlas.html[2/20/2014 10:06:03 AM] Best practices for maintaining a secure appliance Best practices for maintaining a secure appliance The following is a partial list of security best practices that HP recommends in both physical and virtual environments. Differing security policies and implementation practices make it difficult to provide a complete and definitive list. HP recommends a strict separation of the management LAN and production LAN, using VLAN or firewall technology (or both) to maintain the separation: Management LAN All management processor devices (including Onboard Administrators and virtual connections through an Onboard Administrator, iLOs, and iPDUs) are connected to the management LAN. Grant management LAN access to authorized personnel only: Infrastructure administrators, Network administrators, and Server administrators. Production LAN All NICs for managed devices are on the production LAN. The appliance is preconfigured so that nonessential services are removed or disabled in its management environment. Ensure that you continue to minimize services when you configure host systems, management systems, network devices (including network ports not in use) to significantly reduce the number of ways your environment could be attacked. Ensure that a process is in place to determine if software and firmware updates are available, and to install updates for all components in your environment on a regular basis. Ensure that the security policies and processes address the virtual environment: Educate administrators about changes to their roles and responsibilities in a virtual environment. Restrict access to the appliance console to authorized users. For more information, see Restricting console access. If you use an Intrusion Detection System (IDS) solution in your environment, ensure that the solution has visibility into network traffic in the virtual switch. Turn off promiscuous mode in the hypervisor and encrypt traffic flowing over the VLAN to lessen the effect on any VLAN traffic sniffing. NOTE: In most cases, if promiscuous mode is disabled in the hypervisor, it cannot be used on a VM (Virtual Machine) guest. The VM guest can enable promiscuous mode, but it will not be functional. Maintain a zone of trust, for example, a DMZ (demilitarized zone) that is separate from production machines. Ensure proper access controls on Fibre Channel devices. Use LUN masking on both storage and compute hosts. s_security-best-practices-atlas.html[2/20/2014 10:06:03 AM] Best practices for maintaining a secure appliance Ensure that LUNs are defined in the host configuration, instead of being discovered. Use hard zoning (which restricts communication across a fabric) based on port WWNs (Worldwide Names), if possible. Ensure that communication with the WWNs is enforced at the switch-port level. Clearly define and use administrative roles and responsibilities; for example, the Infrastructure administrator performs most administrative tasks. Replace self-signed certificates with your organization's CA-issued certificates. To achieve a higher level of security for components that are delivered with certificates, populate them with trusted certificates at deployment time. For local accounts on the appliance, change the passwords periodically according to your password policies. Follow these guidelines: Limit the number of local accounts. Integrate the appliance with an enterprise directory solution such as Microsoft Active Directory or OpenLDAP. Ensure that passwords include at least three of these types of characters: Numeric character Lowercase alphabetic character Uppercase alphabetic character Special character Do not connect management systems (for example, the appliance, the iLO card, and Onboard Administrator) directly to the Internet. If you require access to the Internet, use a corporate VPN (virtual private network) that provides firewall protection. For service management, consider using the practices and procedures, such as those defined by the Information Technology Infrastructure Library (ITIL). For more information, see the following website: http://www.itil-officialsite.com/home/home.aspx s_security-best-practices-atlas.html[2/20/2014 10:06:03 AM] Creating a login session Creating a login session You create a login session when you log in to the appliance through the browser or some other client (for example, using the REST API). Additional requests to the appliance use the session ID, which must be protected because it represents the authenticated user. A session remains valid until you log out or the session times out (for example, if a session is idle for a longer period of time than the session idle timeout value). s_security-session-atlas.html[2/20/2014 10:06:04 AM] Authentication for appliance access Authentication for appliance access Access to the appliance requires authentication using a user name and password. User accounts are configured on the appliance or in an enterprise directory. All access (browser and REST APIs), including authentication, occurs over SSL to protect the credentials during transmission over the network. s_security-authentication-atlas.html[2/20/2014 10:06:04 AM] Controlling access for authorized users Controlling access for authorized users Access to the appliance is controlled by roles, which describe what an authenticated user is permitted to do on the appliance. Each user must be associated with at least one role. Specifying user accounts and roles User login accounts on the appliance must be assigned a role, which determines what the user has permission to do. The appliance provides the following roles: The Infrastructure administrator has full access to view, create, edit, or remove any resources managed by the appliance, including management of the appliance itself. The Infrastructure administrator can also manage information provided by the appliance in the form of activities, events, notifications, and logs. All privileges are granted to this role so that the Infrastructure administrator can perform any action on the appliance, including management of deployment content (operating system build plans and scripts). The Server administrator can manage server profiles and templates, enclosures, firmware drivers, and interconnects; access the Onboard Administrator, physical servers, and vSphere vCenter registration; and view connections, networks, racks, power, activities, logs, and notifications. The Server administrator cannot manage user accounts. The Network administrator manages networks, network sets, connections, uplinks, and firmware drivers; and views activities, logs, and notifications. The Network administrator cannot manage user accounts. The Backup administrator role is provided for scripts using REST APIs to log in to the appliance. By using this role for backup scripts, you do not expose the Infrastructure administrator credentials for backup operations. The Backup administrator cannot restore the appliance from a backup file. Users with the Read only role can only view appliance information, such as network settings. For information on how to add, delete, and edit user accounts, see the online help. Mapping of SSO roles for iLO and OA The appliance enables SSO (single sign-on) to iLO (Integrated Lights Out) and OA (Onboard Administrator) without storing user-created iLO or OA credentials. The following table describes the mapping of roles between the appliance, iLO, and OA. Appliance role SSO to iLO roles SSO to OA roles Infrastructure administrator Admin Admin Server administrator Admin Admin s_security-authorization-atlas.html[2/20/2014 10:06:04 AM] Controlling access for authorized users Network administrator User User Read only User User Backup administrator None None Appliance roles See Specifying user accounts and roles. iLO roles Administrator privileges enable assigning all administrative rights for server reset, remote console, and login tasks. User privileges have access restrictions, based on IP address, DNS name, or time. OA roles Administrator privileges enable creating or editing all user accounts on an enclosure. Operator privileges enable full information access and control of bays to which you have permitted access to. NOTE: SSO cannot configure permitted bays. User privileges enable full information access but no control capability. Mapping appliance interactions with iLO, OA, and iPDU The appliance performs configurations on the iLO, OA, and iPDU. The following table summarizes how the appliance interacts with these devices. For firewall information, see Ports needed for HP OneView. iLO Protocol or interaction OA iPDU Description Use NTP Configures NTP SNMP Enables and configures SNMP to collect information SNMP traps Enables and configures SNMP traps sent to appliance s_security-authorization-atlas.html[2/20/2014 10:06:04 AM] Configure Use Configure Use Configure Controlling access for authorized users HTTPS Collects (RIBCL/SOAP/JSON)[a] information (the specific protocol varies, but all use SSL) Remote Console Links from the UI to the iLO Remote Console SSH Not used Telnet Not used XML reply Collects generic system information SSO Enables and configures an SSO certificate for UI access. See Mapping of SSO roles for iLO and OA for the privileges that are granted. Appliance user account Configures and manages the system using an administratorlevel user account (and randomly generated password) [a] SSL encrypts traffic on the network, but does not authenticate the remote system's certificate. s_security-authorization-atlas.html[2/20/2014 10:06:04 AM] Protecting credentials Protecting credentials Local user account passwords are stored using a salted hash; that is, they are combined with a random string, and then the combined value is stored as a hash. A hash is a one-way algorithm that maps a string to a unique value so that the original string cannot be retrieved from the hash. Passwords are masked in the browser. When transmitted between appliance and the browser over the network, passwords are protected by SSL. Local user account passwords must be a minimum of eight characters, with at least one uppercase character. The appliance does not enforce additional password complexity rules. Password strength and expiration are dictated by the site security policy (see Best practices for maintaining a secure appliance). If you integrate an external authentication directory service (also known as an enterprise directory) with the appliance, the directory service enforces password strength and expiration. s_security-credentials-atlas.html[2/20/2014 10:06:05 AM] Understanding the audit log Understanding the audit log The audit log contains a record of actions performed on the appliance, which you can use for individual accountability. You must have Infrastructure administrator privileges to download the audit log. To download the audit log, see Download audit logs. Monitor the audit logs because they are rolled over periodically to prevent them from getting too large. Download the audit logs periodically to maintain a long-term audit history. Each user has a unique logging ID per session, enabling you to follow a user’s trail in the audit log. Some actions are performed by the appliance and might not have a logging ID. A breakdown of an audit entry follows: Token Date/time Description The date and time of the event Internal component The unique identifier of an internal component ID Reserved The organization ID. Reserved for internal use User domain The login domain name of the user User name/ID The user name Session ID The user session ID associated with the message Task ID The URI of the task resource associated with the message Client host/IP The client (browser) IP address identifies the client machine that initiated the request The result of the action, which can be one of the following values: SUCCESS FAILURE Result SOME_FAILURES CANCELED KILLED A description of the action, which can be one of the following values: ADD LIST UNSETUP MODIFY ENABLE DEPLOY DELETE DISABLE START CANCELED Action LOGIN LOGOUT s_security-audit-atlas.html[2/20/2014 10:06:05 AM] Understanding the audit log ACCESS SAVE DONE RUN SETUP KILLED DOWNLOAD_START A description of the severity of the event, which can be one of the following values, listed in descending order of importance: INFO NOTICE Severity WARNING ERROR ALERT CRITICAL Resource category For REST API category information, see the . Resource URI/name The resource URI/name associated with the task Message The output message that appears in the audit log Sample audit entries: user login and logout 2013-09-16 14:55:20.706 CST,Authentication,,,administrator,jrWI9ych,,, SUCCESS,LOGIN,INFO,CREDENTIAL,,Authentication SUCCESS . . . 2013-09-16 14:58:15.201 CST,Authentication,,,MISSING_UID,jrWI9ych,,, SUCCESS,LOGOUT,INFO,CREDENTIAL,,TERMINATING SESSION s_security-audit-atlas.html[2/20/2014 10:06:05 AM] Appliance access over SSL Appliance access over SSL All access to the appliance is through HTTPS (HTTP over SSL), which encrypts data over the network and helps to ensure data integrity. For a list of supported cipher suites, see Algorithms for securing the appliance. s_security-SSL-communication-protocol-atlas.html[2/20/2014 10:06:06 AM] Managing certificates from a browser Managing certificates from a browser Overview A certificate authenticates the appliance over SSL. The certificate contains a public key, and the appliance maintains the corresponding private key, which is uniquely tied to the public key. NOTE: This section discusses certificate management from the perspective of the browser. For information on how a non-browser client (such as cURL) uses the certificate, see the documentation for that client. The certificate also contains the name of the appliance, which the SSL client uses to identify the appliance. The certificate has the following boxes: Common Name (CN) This name is required. By default it contains the fully qualified host name of the appliance. Alternative Name The name is optional, but HP recommends supplying it because it supports multiple names (including IP addresses) to minimize name-mismatch warnings from the browser. By default, this name is populated with the fully qualified host name (if DNS is in use), a short host name, and the appliance IP address. NOTE: If you enter Alternative Names, one of them must be your entry for the Common Name. These names can be changed when you manually create a self-signed certificate or a certificate signing request. Self-signed certificate The default certificate generated by the appliance is self-signed; it is not issued by a trusted certificate authority. By default, browsers do not trust self-signed certificates because they lack prior knowledge of them. The browser displays a warning dialog box; you can use it to examine the content of the self-signed certificate before accepting it. Using a certificate authority Use a trusted CA (certificate authority) to simplify certificate trust management; the CA issues certificates that you import. If the browser is configured to trust the CA, certificates signed by the CA are also trusted. A CA can be internal (operated and maintained by your organization) or external (operated and maintained by a third party). You can import a certificate signed by a CA, and using it instead of the self-signed certificate. The overall steps are as follows: s_security-certificate-management-atlas.html[2/20/2014 10:06:06 AM] Managing certificates from a browser 1. You generate a CSR (certificate signing request). 2. You copy the CSR and submit it to the CA, as instructed by the CA. 3. The CA authenticates the requestor. 4. The CA sends the certificate to you, as stipulated by the CA. 5. You import the certificate. For information on generating the CSR and importing the certificate, see the UI help. s_security-certificate-management-atlas.html[2/20/2014 10:06:06 AM] Nonbrowser clients Nonbrowser clients The appliance supports an extensive number of REST APIs. Any client, not just a browser, can issue requests for REST APIs. The caller must ensure that they take appropriate security measures regarding the confidentiality of credentials, including: The session token, which is used for data requests. Responses beyond the encryption of the credentials on the wire using HTTPS. s_security-nonbrowser-clients-atlas.html[2/20/2014 10:06:06 AM] Ports needed for HP OneView Ports needed for HP OneView HP OneView requires specific ports to be made available to the appliance to manage servers, enclosures, and interconnects. Required ports Port number Protocol Usage Description 80 TCP Inbound Used for HTTP interface. Typically, this port redirects to port 443; this port provides the access that iLO requires. 123 UDP Inbound HP OneView acts as an NTP server, both iLO and Onboard Administrator require access. 123 UDP Outbound The appliance uses this port as an NTP client to synchronize the appliance time. 161 UDP Outbound Supports SNMP GET calls to obtain status data from a server through iLO. Also used for iPDU. 162 UDP Inbound Used for SNMP trap support from the iLO, Onboard Administrator, and iPDU devices. 443 TCP Inbound Used for the HTTPS interface to user interface and APIs. 443 TCP Outbound Used for secure SSL access to the iLO and Onboard Administrator. Used for RIBCL, SOAP, and iPDU communication. 2162 UDP Inbound Used as an alternative SNMP trap port. 5671 TCP Inbound Used to allow external scripts or applications to connect to and monitor messages from the SCMB (State Change Message Bus). 17988 TCP Browser to iLO Provides browser access to the remote console. 17990 TCP Browser to iLO Provides remote console access to iLO virtual media. s_security-open-ports-fusion.html[2/20/2014 10:06:07 AM] Access to the appliance console Access to the appliance console Use the hypervisor management software to restrict access to the appliance, which prevents unauthorized users from accessing the password reset and service access features. See Restricting console access. Typical legitimate uses for access to the console are: Troubleshooting network configuration issues. Resetting an appliance administrator password. For information on how to reset the administrator password, see Reset the administrator password Enabling service access by an on-site authorized support representative. The virtual appliance console is displayed in a graphical console; password reset and HP Services access use a nongraphical console. Switching from one console to another (VMware vSphere) 1. Open the virtual appliance console from vSphere. 2. Press and hold Ctrl+Alt. 3. Press and release the space bar. 4. Press and release F1 to select the non-graphical console or F2 to select the graphical console. Enabling or disabling authorized services access When you first start up the appliance, you can choose to enable or disable access by on-site authorized support representatives. By default, on-site authorized support representatives are allowed to access your system through the appliance console and diagnose issues that you have reported. Support access is a root-level shell, which enables the on-site authorized support representative to debug any problems on the appliance and obtain a one-time password using a challenge/response mechanism similar to the one for a password reset. Any time after the initial configuration of the appliance, you can enable or disable services access through the UI by selecting Actions→Edit services access on the Settings window. You can also use an appliance/settings REST API to enable or disable services access. NOTE: HP recommends that you enable access. Otherwise, the authorized support representative might be unable to access the appliance to correct a problem. Restricting console access For the virtual appliance, you can restrict console access through secure management practices of the hypervisor s_security-console-access-atlas.html[2/20/2014 10:06:07 AM] Access to the appliance console itself. This information is available from the VMware website: http://www.vmware.com/support/pubs In particular, search for topics related to vSphere's Console Interaction privilege and best practices for managing VMware's roles and permissions. s_security-console-access-atlas.html[2/20/2014 10:06:07 AM] Algorithms for securing the appliance Algorithms for securing the appliance SSL (see Supported SSL cipher suites) SHA-256 for hashing local user account passwords Other passwords are encrypted using 128-bit Blowfish Support dumps: Encryption: 128-bit AES Hash: SHA-256 The AES key is encrypted separately using 2,048-bit RSA. Updates: Not encrypted; digitally signed using SHA-256 and 2,048-bit RSA The following SSL cipher suites are enabled on the HP OneView appliance web server. The cipher suites support the connection among the browser, other clients, and the appliance. Supported SSL cipher suites SSL cipher suite SSL version Kx Au Enc Mac DHE-RSA-AES256-SHA SSL v3 DH RSA AES (256) SHA1 AES256-SHA SSL v3 RSA RSA AES (256) SHA1 EDH-RSA-DES-CBC3-SHA SSL v3 DH RSA 3DES (168) SHA1 DES-CBC3-SHA SSL v3 RSA RSA 3DES (168) SHA1 DHE-RSA-AES128-SHA SSL v3 DH RSA AES (128) SHA1 AES128-SHA SSL v3 RSA RSA AES (128) SHA1 s_security-algorithms-atlas.html[2/20/2014 10:06:07 AM] Downloads from the appliance Downloads from the appliance You can download the following data files from the appliance: Support dump By default, all data in the support dump is encrypted and accessible by an authorized support representative only. Backup file All data in the backup file is in a proprietary format. HP recommends that you encrypt the file according to your organization's security policy. Audit logs Session IDs are not logged, only the corresponding logging IDs are logged. Passwords and other sensitive data are not logged. s_security-data-file-downloads-atlas.html[2/20/2014 10:06:08 AM] Chapter 5 Learning about REST APIs Chapter 5 Learning about REST APIs REST (Representational State Transfer) is a web service that uses basic CRUD (Create, Read, Update and Delete) operations performed on resources using HTTP POST, GET, PUT, and DELETE. To learn more about REST concepts, see http://en.wikipedia.org/wiki/Representational_state_transfer. The appliance has a resource-oriented architecture that provides a uniform REST interface. Every resource has one URI (Uniform Resource Identifier) and represents a physical device or logical construct. You can use REST APIs to manipulate resources. To view a list of resources, see the HP OneView REST API Reference. For general information about REST APIs, see the following topics: Resource operations Error handling Return codes Error message format URI format Concurrency control using etags Resource model format Querying resources and pagination using common REST API parameters Log in to the appliance using REST APIs State-Change Message Bus REST API version and backward compatibility Developer tools in a web browser Asynchronous versus synchronous operations PowerShell and Python code sample libraries Task resource s_overview_rest-sdk.html[2/20/2014 10:06:08 AM] Resource operations Resource operations RESTful APIs are stateless. The resource manager maintains the resource state that is reported as the resource representation. The client maintains the application state and the client might manipulate the resource locally, but until a PUT or POST is made, the resource as known by the resource manager is not changed. Operation HTTP Verb Create POST Read GET Update PUT Delete DELETE resource URI (payload = resource data) resource URI Description Creates new resources. A synchronous POST returns the newly created resource. An asynchronous POST returns a TaskResource URI in the Location header. This URI tracks the progress of the POST operation. Returns the requested resource representation(s) resource URI (payload = Updates an existing resource update data) resource URI Deletes the specified resource s_resource-operations-overview-sdk-fusion.html[2/20/2014 10:06:09 AM] Return codes Return codes Return code Description 2xx Successful operation 4xx Client-side error with error message returned 5xx Appliance error with error message returned NOTE: If an error occurs, indicated by a return code 4xx or 5xx, an ErrorMessage is returned. The expected resource model is not returned. See also: REST API Response Codes s_return-codes-overview-sdk-fusion.html[2/20/2014 10:06:09 AM] URI format URI format All URIs point to resources. The client does not need to create or modify URIs. The URI for a resource is static and uses the format https://{appl}/rest/resource category/resource ID where: https://{appl} The appliance address /rest The type of URI /resource category The category of the resource (for example, server-profiles) /resource instance ID The specific resource instance identifier (optional) s_uri-overview-sdk-fusion.html[2/20/2014 10:06:09 AM] Resource model format Resource model format The resources support JSON (JavaScript Object Notation) for exchanging data using a REST API. If not otherwise specified in the REST API operation, the default is JSON. See also: www.json.org s_model-format-overview-sdk-fusion.html[2/20/2014 10:06:10 AM] Log in to the appliance using REST APIs Log in to the appliance using REST APIs When you log in to the appliance using the login-sessions REST API, a session ID is returned. You use the session ID in all subsequent REST API operations in the auth header, except as noted in REST API Request Headers. The session ID is valid for 24 hours. Log in Log out Operation POST Operation API DELETE /rest/login-sessions API Request headers /rest/login-sessions See REST API Request Headers. Request body {"userName":"YourUserName","password":"YourPassword"} Request headers auth:{YourSessionID} See REST API Request Headers. NOTE: This is an example of a local log in on the appliance. If Request body you are using a directory service, you must add the following None attributes: authnHost and authLoginDomain. Response Response The LoginSessionIdDTO that includes the session ID s_login-overview-sdk-fusion.html[2/20/2014 10:06:10 AM] 204 No Content REST API version and backward compatibility REST API version and backward compatibility When you perform a REST API operation, an X-API-Version header is required. This version header corresponds to the REST API version of software currently running on the appliance. To determine the current REST API version on a given appliance, perform GET /rest/version. This GET operation does not require an X-API-Version header. If multiple appliances are running in your environment, you need to determine the REST API version required by each appliance. The requests documented in the HP OneView 1.05 REST API scripting help correspond to a versionNumber of 4. Requests specifying API version 4 always provide the behavior documented here. Future API changes will introduce higher version numbers. Supported REST API versions This release of HP OneView supports the new REST API version 4 in addition to supporting the REST API version 3 (minimum) that was supported in previous releases of HP OneView. The HP OneView REST API documentation for older REST API versions is available online at http://www.hp.com/go/oneview/docs, and the documentation for the current version of supported REST APIs is included with the online help for this release as well as online. Backward compatibility The following list explains how to preserve your existing scripts when upgrading to a new version of HP OneView, take advantage of new functionality, and find the current and previous versions of the HP OneView REST API documentation. Prevent scripts from breaking To prevent your existing scripts from breaking that were written for a specific API version, use the same Xvalue for that specific REST API. This ensures that the same set of data is sent and returned in the response body during PUT and POST operations. API-Version NOTE: The set of possible enumerated values that may be returned in a given resource attribute may be extended from release to release (independent of the API version). Clients should ignore any values that they do not expect. To maintain backward compatibility, the set of enumerated values will not be reduced and the meaning of these values will not change for a given API version. Use new functionality To take advantage of new functionality, you must move to the new X-API-Version value. If the X-APIvalue is set globally in your scripts, moving to a new X-API-Version will likely impact multiple REST APIs. To view a list of REST APIs that have changed, see the HP OneView Release Notes. Version If you do not need to use the new functionality, you can use a previous X-API-Version and avoid impacting your existing scripts. HP recommends that you move to the new X-API-Version, because backward compatibility is not guaranteed from release to release, and older functionality will be deprecated. s_rest-verison-overview-sdk-fusion.html[2/20/2014 10:06:10 AM] REST API version and backward compatibility The current version of the REST APIs are documented in the HP OneView REST API Reference that is included on the appliance. To view previous versions of the REST API reference, go to http://www.hp.com/go/oneview/docs. s_rest-verison-overview-sdk-fusion.html[2/20/2014 10:06:10 AM] Asynchronous versus synchronous operations Asynchronous versus synchronous operations A synchronous task returns a response after the REST API operation. For example, POST /rest/server-profiles returns a newly created server profile in the response body. An asynchronous task, such as creating an appliance backup returns the URI of a TaskResource resource model. You can use the TaskResource resource model URI to list the current status of the operation. s_operations-overview-sdk-fusion.html[2/20/2014 10:06:11 AM] Task resource Task resource When you make an asynchronous REST API operation, HTTP status 202 Accepted is returned and the URI of a TaskResource resource model is returned in the Location header of the response. You can then perform a GET on the TaskResource model URI to poll for the status of the asynchronous operation. The TaskResource model also contains the name and URI of the resource that is affected by the task in the associatedResource attribute. Creating an appliance backup example 1. Create an appliance backup. POST /rest/backups The URI of a TaskResource in the Location header is returned in the response. 2. Poll for status of the backup using the TaskResource URI returned in step 1. GET /rest/tasks/{id} 3. When the task reaches the Completed state, use the associatedResource URI in the TaskResource to download the backup file. GET {associatedResource URI} s_task-overview-sdk-fusion.html[2/20/2014 10:06:11 AM] Error handling Error handling If an error occurs during a REST API operation, a 4xx (client-side) or 5xx (appliance) error is returned along with an error message (ErrorMessage resource model). The error message contains a description and might contain recommended actions to correct the error. A successful REST API POST operation returns the newly created resource (synchronous) or a TaskResource URI in the Location header (asynchronous). s_error-overview-sdk-fusion.html[2/20/2014 10:06:11 AM] Error message format Error message format When an error occurs in the processing of an API request, an error message is returned. The following table lists the attributes in the JSON payload of an error message. Attribute Data type Description errorCode String A string that uniquely identifies the type of error that occurred. Useful for programmatic handling of specific error conditions. message String A short description of the error that occurred. details String A detailed description of the error. recommendedActions Array<String> A list of strings indicating suggested action(s)/resolution(s) for the specific error condition. nestedErrors For multi-part errors (for example., form-validation errors), this Array<ErrorMessage> field may contain specific of the individual components of the error (for example, individual fields in error). errorSource String For multi-part errors (for example, form validation errors), this field contains the identifier of the sub-component in error (e.g., the individual field name). data Object Internal/additional data associated with the error. External clients will usually ignore this field. s_overview-error-format-sdk-fusion.html[2/20/2014 10:06:12 AM] Concurrency control using etags Concurrency control using etags A client uses etags to verify the version of the resource model. This prevents the client from modifying (PUT) a version of the resource model that is not current. For example, if a client performs a GET on a server profile and receives an etag in the response header, modifies the server profile, and then updates (PUT) the resource model, the etag in the PUT request header must match the resource model etag. If the etags do not match, the client PUT request will not complete and a 412 PRECONDITION FAILED error is returned. s_concurrency-overview-sdk-fusion.html[2/20/2014 10:06:12 AM] Querying resources and pagination using common REST API parameters Querying resources and pagination using common REST API parameters Querying resources You can use a set of common parameters to customize the results returned from a GET operation, such as sorting or filtering. Each REST API specification lists the set of available common parameters. For more information, see Common REST API Parameters. Pagination when querying for a collection of resources When you perform a GET operation to retrieve multiple resources (that is, a GET on a collection URI, such as /rest/server-profiles), the resources are returned in a collection object that includes an array of resources along with information about the set of resources returned. This collection of resources may be automatically truncated into pages to improve performance when a query would return a large number of resources. The collection attributes (described below) provide information needed to determine whether the full set of resources were returned, or if additional queries are required to retrieve additional pages. For example, a collection object includes a next page and previous page URI. These URIs indicate whether additional pages are available, and can be retrieved via a GET operation on these URIs. This provides a simple model for ensuring all resources in the query have been retrieved, by doing iterative GETs on the nextPageUri attribute until the attribute comes back empty/null (See Example: Return all resources in a specific collection query below.). It’s also possible to query for a specific page of resources, using the start and count query parameters. These parameters indicate the index of the first resource to be returned, and the number of resources to return in the page, respectively. NOTE: Queries across multiple pages in a collection are stateless, and are based simply on the start index and a count of resources returned from that starting point at the time the query is made. For example, if any server profiles were added or deleted after you performed a GET operation using a specific next page URI from a collection of server profile resources, and you perform the GET again, the returned page using the same next page URI may not contain the same set of resources. Note also that the specific set of resources returned with a given start and count parameter is highly dependent on any filter, query and sort parameters sent in the request, therefore it’s important to always pass the same filter, query and sort parameters on all requests for additional pages. The nextPageUri and prevPageUri attributes will be pre-populated with any filter, query and sort parameters from the current request. Attributes returned in all GET operations performed on a collection URI, for example/rest/serverprofile: total The total number of resources available in the requested collection (taking into account including any filters). Not necessarily what was returned. count The actual number of resources returned (in the members attribute). s_querying-overview-sdk-fusion.html[2/20/2014 10:06:12 AM] Querying resources and pagination using common REST API parameters start The zero-based index of the first item returned (in the members attribute). members The array of resources returned in the current result set. nextPageUri A URI that can be used to query for the next page in the result set (using the same count specified in the current query). prevPageUri A URI that can be used to query for the previous page in the result set (using the same count specified in the current query). NOTE: A null or empty nextPageUri or prevPageUri attribute is an indication that you have reached the last or first page (respectively) in the query. This allows scripts to iterate on nextPageUri until null, in order to retrieve the full set of resources in the query. Example: Return all resources in a specific collection query The number of resources returned in a query might not match what was specified in the count parameter. Clients must always check the returned results to determine whether the full results set was returned or not. The two reasons that all the resources may not be returned in a query are: You've reached the last page of the query (and there are simply not that many resource left to return). This is also indicated by a returned prevPageUri with a null value. For performance reasons, the service may automatically truncate the returned result set, requiring additional GET requests (with appropriate start & count parameters set) in order to retrieve the full set of resources. The simplest way to make sure that you have retrieved all resources in a specific collection is to always perform iterative GET requests using the returned nextPageUri until the value is null. See the following example in pseudocode based on any filters/queries and sort order: currentCollection = doGet("/rest/server-hardware"); allResources = currentCollection.members; While (currentCollection.nextPageUri) { currentCollection = doGet(currentCollection.nextPageUri); allResources.Append(currentCollection.members); } s_querying-overview-sdk-fusion.html[2/20/2014 10:06:12 AM] Developer tools in a web browser Developer tools in a web browser You can use developer/debug tools in your web browser to view the REST API operations as they happen in the UI. The UI uses REST APIs for all operations; therefore, anything you can do in the UI can be done using REST API operations. s_developer-tools-overview-sdk-fusion.html[2/20/2014 10:06:13 AM] PowerShell and Python code sample libraries PowerShell and Python code sample libraries Windows PowerShell and Python libraries are available on Git-compliant websites to download and use for your REST API scripting. The libraries are currently under the MIT OpenSource license, and you can modify the source code for your own purposes. Each library provides methods for you to submit feedback, issues, and other discussions to HP. About Git version control: The repository layouts and overall workflows use a very standard simple workflow where the master branch is always the top of tree trunk. HP tags each release and branches a release only to fix an issue on a specific release. To learn more about using Git, see http://git-scm.com/book. NOTE: If you have questions about REST API scripting or HP OneView in general, post your questions to the user community forum at http://www.hp.com/go/oneviewcommunity. PowerShell library The PowerShell library is hosted on CodePlex and is available here: http://hponeview.codeplex.com. To subscribe to the site and monitor the project, you need a valid Microsoft or CodePlex account. Downloading releases or source code does not require authentication. For ease of use when the library is updated, a new installer is provided. You can use a browser or a GIT Windows client to download the source code and samples. To download the Windows client, see http://windows.github.com/. The CodePlex site provides an issues tracker to submit issues or feature requests. Python library The Python library is hosted on a GitHub website and is available here: https://github.com/HewlettPackard/pythonhpOneView. To receive development discussions, sign up on the public mailing list at https://groups.google.com/forum/#!forum/hp-oneview-python. s_powershell-python-library-fusion.html[2/20/2014 10:06:13 AM] Chapter 6 REST API reference Chapter 6 REST API reference Click here to view the HP OneView REST API Reference, which has detailed information about each REST API. The reference also includes the parameters, request headers, response headers, and response codes that apply to all REST APIs. c_pointer-REST_API_reference-sdk.html[2/20/2014 10:06:14 AM] Chapter 7 State-Change Message Bus Chapter 7 State-Change Message Bus The State-Change Message Bus (SCMB) is an interface that uses asynchronous messaging to notify subscribers of changes to managed resources—both logical and physical. For example, you can program applications to receive notifications when new server hardware is added to the managed environment or when the health status of physical resources changes—without having to continuously poll the appliance for status using the REST APIs. HP OneView resources publish messages to the SCMB when they are created, updated, or deleted. The message content is sent in JSON (JavaScript Object Notation) format and includes the resource model. To view the list of HP OneView resources that publish messages, see the HP OneView REST API Reference. Before you can subscribe to SCMB messages, you must create and download an AMQP certificate from the appliance using REST APIs. Next, you connect to the SCMB using the EXTERNAL authentication mechanism with or without specifying a user name and password. This ensures that you use certificate-based authentication between the SCMB and your client. After connecting to the SCMB, you set up a queue with the queue name empty, and AMQP generates a unique queue name. You use this queue name to bind your client to exchanges and receive messages. To connect to the SCMB and set up a queue, you must use a client that supports the AMQP (Advanced Message Queuing Protocol). Use REST APIs to ... Connect to the SCMB Learn more JSON structure of message received from the SCMB Set up a queue to connect to the HP OneView SCMB exchange .NET C# code example Re-create the AMQP client certificate Java code example Python code example c_SCMB-subscribe.html[2/20/2014 10:06:14 AM] Connect to the SCMB Connect to the SCMB Before you connect a client to the SCMB, you must create and download an AMQP certificate from the appliance. Prerequisites Minimum required session ID privileges: Infrastructure administrator Create and download the AMQP client certificate Creating and downloading the client certificate, private key, and root CA certificate 1. Create the certificate. POST /rest/certificates/client/rabbitmq Request body: {"type":"RabbitMqClientCert","commonName":"default"} 2. Download the certificate and private key. GET /rest/certificates/client/rabbitmq/keypair/default 3. Download the root CA certificate. GET /rest/certificates/ca 4. After you connect the client to the SCMB, you can Set up a queue to connect to the HP OneView SCMB exchange Connecting the client to the SCMB s_SCMB-connect-fusion.html[2/20/2014 10:06:14 AM] Connect to the SCMB (1) The SCMB consumer requests a client certificate as part of the registration process. (2) The appliance manages the client certificates in a JVK (Java KeyStore) file. (3) The appliance issues a client certificate to the SCMB consumer. (4) The SCMB client provides an SSL client certificate to create a connection with the appliance. (5) The appliance can revoke the SCMB client certificate to deny access to the SCMB client. The client is managed into a CRL (Certificate Revocation List) file. (6) The appliance authenticates the SCMB client using the client certificate. s_SCMB-connect-fusion.html[2/20/2014 10:06:14 AM] Set up a queue to connect to the HP OneView SCMB exchange Set up a queue to connect to the HP OneView SCMB exchange The state change messages are published to the HP OneView SCMB exchange name. To subscribe to messages, you must create a queue or connect to an existing queue that receives messages from the SCMB exchange based on a routing key. When you create a queue, you define the routing key associated with the queue to receive specific messages. NOTE: The routing key is case sensitive. The change-type requires an initial capital letter. The resourcecategory and resource-uri are lower-case. For example, if you set the change-type in the routing key to created instead of Created, you do not receive any messages. The routing key syntax is: scmb.resource-category.change-type.resource-uri where: scmb The HP OneView exchange name. resource-category The category of resource. For a complete list of resources, see the HP OneView REST API Reference. change-type The type of change that is reported. Valid values are Created, Updated, and Deleted. resource-uri The URI of the specific resource associated with the state-change message. NOTE: The task resources routing key syntax is scmb.resource-category and does not use change-type and resource-uri. To receive messages about all task resources: scmb.# scmb.tasks Sample queues Subscription Example scmb.server-hardware.# s_SCMB-queue-fusion.html[2/20/2014 10:06:15 AM] Set up a queue to connect to the HP OneView SCMB exchange Receive all SCMB messages for physical servers NOTE: To match everything after a specific point in the routing key, use the # character. This example uses # in place of resource-uri. The message queue receives all server-hardware resource URIs. Receive all messages for created connections scmb.connections.Created.# scmb.enclosures.*./rest/enclosures/Enc1234 Receive all messages for the enclosure with the URI /rest/enclosures/Enc1234 NOTE: To match everything for an individual field in the routing key, use the asterisk (*). This example uses * in place of changetype. The message queue receives all change types: Created, Updated, and Deleted. Receive all created messages (for all resource categories and types) scmb.*.Created.# s_SCMB-queue-fusion.html[2/20/2014 10:06:15 AM] JSON structure of message received from the SCMB JSON structure of message received from the SCMB The following table lists the attributes included in the JSON payload of each message from the SCMB. The resource model for the HP OneView resource is included in the resource attribute. To view all resource models, see the HP OneView REST API Reference. Attribute Data type Description resourceUri String The URI for the resource. changeType String The state-change type: Created, Updated, or Deleted. For details, see “ChangeType values”. newState String The new state of the resource. eTag String The ETag for the resource when the state change occurred. timestamp String The time the message was sent. newSubState String If substate messages are required (for substate machines associated with a primary state), this is the resource-specific substate. resource Object The resource model. associatedTask String If a task is not associated with this message, the value is null. userInitiatedTask String The value of the userInitiated attribute included in the associatedTask attribute. changedAttributes Array A list of top-level attributes that have changed based on the POST or PUT call that caused the state-change message to be sent. data Object Additional information about the resource state change. ChangeType values ChangeType value Description Created The resource is created or is added to HP OneView. Updated The resource state, attributes, or both are updated. Deleted The resource is permanently removed from HP OneView. JSON example { "resourceUri" : "/rest/enclosures/123xyz", "changeType" : "Created", "newState" : "Managed", "eTag" : "123456", "timestamp" : "2013-07-10T18:30:44Z", "newSubState" : "null", "resource" : { "category" : "enclosures", "created" : "2013-07-10T18:30:00Z", ... }, "associatedTask" : "/rest/tasks/4321", "userInitiatedTask" : "true", s_SCMB-JSON-fusion.html[2/20/2014 10:06:15 AM] JSON structure of message received from the SCMB "changedAttributes" : [], "data" : {}, } s_SCMB-JSON-fusion.html[2/20/2014 10:06:15 AM] .NET C# code example .NET C# code example The .NET C# code examples show how to connect and subscribe to the SCMB. In addition to completing the prerequisites, you must complete the example-specific prerequisites before using the .NET C# code examples. Prerequisites Before you can use the .Net C# code examples, you must add the CA root certificate, the client certificate, and the private key to the Windows certificate store. 1. Download the root CA certificate. GET /rest/certificates/ca 2. Save the contents in the response body into a text file named rootCA.crt. You must copy and paste everything from -----BEGIN CERTIFICATE----- to -----END CERTIFICATE-----, including the dashes, but not including the quotes. 3. Import the rootCA.crt file into the Windows certificate store under Trusted Root Certification Authorities. 4. Download the client certificate and private key. GET /rest/certificates/client/rabbitmq/keypair/default 5. Save the contents of the client certificate and private key in the response body into a text file named scmb.crt. You must copy and paste everything from -----BEGIN CERTIFICATE----- to -----END CERTIFICATE----for the client certificate. Next, copy and paste everything from -----BEGIN RSA PRIVATE KEY----- to ----END RSA PRIVATE KEY----- for the private key. You must include the dashes, but do not include the quotes. Additional example-specific prerequisites Example 1 Convert the client certificate and private key to PKCS format for .Net. openssl.exe pkcs12 -passout pass:default -export -in scmb.crt -out scmb.p12 Example 2 Import the scmb.crt into your preferred Windows certificate store. Examples .Net C# code example 1 (directly referencing client certificate) public void Connect() { string exchangeName = "scmb"; string hostName = "OneView.domain"; string queueName = ""; s_SCMB-dotNET-fusion.html[2/20/2014 10:06:16 AM] .NET C# code example string routingKey = "scmb.#"; ConnectionFactory factory = new ConnectionFactory(); factory.AuthMechanisms = new RabbitMQ.Client.AuthMechanismFactory[] { new ExternalMechanismFactory() }; factory.HostName = hostname; factory.Port = 5671; factory.Ssl.CertPath = @".\scmb.p12"; factory.Ssl.CertPassphrase = "default"; factory.Ssl.ServerName = hostname; factory.Ssl.Enabled = true; IConnection connection = factory.CreateConnection(); IModel model = connection.CreateModel(); queueName = model.QueueDeclare(queueName, false, false, false, null); model.QueueBind(queueName, exchangeName, routingKey, null); using (Subscription sub = new Subscription(model, queueName)) { foreach (BasicDeliverEventArgs ev in sub) { DoSomethingWithMessage(ev); sub.Ack(); } } } .Net C# code example 2 (Microsoft Windows certificate store) public void Connect() { string exchangeName = "scmb"; string hostName = "OneView.domain"; string queueName = ""; string routingKey = "scmb.#"; string userName = "rabbitmq_readonly"; X509Store store = new X509Store(StoreName.Root, StoreLocation.LocalMachine); store.Open(OpenFlags.ReadWrite); X509Certificate cert = store.Certificates .Find(X509FindType.FindBySubjectName, userName, false) .OfType<X509Certificate>() .First(); ConnectionFactory factory = new ConnectionFactory(); factory.AuthMechanisms = new RabbitMQ.Client.AuthMechanismFactory[] { new ExternalMechanismFactory() }; factory.HostName = hostname; factory.Port = 5671; factory.Ssl.Certs = new X509CertificateCollection(new X509Certificate[] { cert }); factory.Ssl.ServerName = hostname; factory.Ssl.Enabled = true; IConnection connection = factory.CreateConnection(); IModel model = connection.CreateModel(); queueName = model.QueueDeclare(queueName, false, false, false, null); model.QueueBind(queueName, exchangeName, routingKey, null); using (Subscription sub = new Subscription(model, queueName)) { foreach (BasicDeliverEventArgs ev in sub) { DoSomethingWithMessage(ev); sub.Ack(); } } } NOTE: .Net C# code example 2 (Microsoft Windows certificate store) is referencing the Trusted Root s_SCMB-dotNET-fusion.html[2/20/2014 10:06:16 AM] .NET C# code example Certificate Authorities StoreName.Root store, located under Local Computer. = Trusted Root Certificate Authorities StortLocation.LocalMachine = Local Computer s_SCMB-dotNET-fusion.html[2/20/2014 10:06:16 AM] Java code example Java code example The Java code example shows how to connect and subscribe to the SCMB. Prerequisites 1. Download the client certificate and private key. GET /rest/certificates/client/rabbitmq/keypair/default 2. Save the contents of the client certificate in the response body into a text file named default-client.crt. You must copy and paste everything from -----BEGIN CERTIFICATE----- to -----END CERTIFICATE-----, including the dashes, but not including the quotes. 3. Save the contents of the private key in the response body into a text file named default-client.key. You must copy and paste everything from -----BEGIN RSA PRIVATE KEY----- to -----END RSA PRIVATE KEY-----, including the dashes, but not including the quotes. 4. Create a PKCS12 keystore from the private key and the public certificate. openssl pkcs12 -export -name myclientcert -in default-client.crt -inkey default-client.key -out myclient.p12 5. Convert the PKCS12 keystore into a JKS keystore. keytool -importkeystore -destkeystore c:\\MyKeyStore -srckeystore myclient.p12 srcstoretype pkcs12 -alias myclient Java code example //c://MyKeyStore contains client certificate and private key. Load it into Java Keystore final char[] keyPassphrase = "MyKeyStorePassword".toCharArray(); final KeyStore ks = KeyStore.getInstance("jks"); ks.load(new FileInputStream("c://MyKeyStore"), keyPassphrase); final KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509"); kmf.init(ks, keyPassphrase); //c://MyTrustStore contains CA certificate. Load it into Java Trust Store final char[] trustPassphrase = "MyTrustStorePassword".toCharArray(); final KeyStore ks = KeyStore.getInstance("jks"); tks.load(new FileInputStream("c:\\MyTrustStore"), trustPassphrase); final TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509"); tmf.init(tks); //load SSLContext with keystore and truststore. final SSLContext c = SSLContext.getInstance("SSL"); c.init(kmf.getKeyManagers(), tmf.getTrustManagers(), new SecureRandom()); final ConnectionFactory factory = new ConnectionFactory(); factory.setHost("192.168.2.144"); //Set Auth mechanism to "EXTERNAL" so that commonName of the client certificate is mapped to AMQP user name. Hence, No need to set userId/Password here. factory.setSaslConfig(DefaultSaslConfig.EXTERNAL); factory.setPort(5671); factory.useSslProtocol(c); s_SCMB-java-fusion.html[2/20/2014 10:06:16 AM] Java code example final Connection conn = factory.newConnection(); final Channel channel = conn.createChannel(); //do not specify queue name. AMQP will create a queue with random name starting with amq.gen* e.g. amq.gen-32sfQz95QJ85K_lMBhU6HA final DeclareOk queue = channel.queueDeclare("", true, false, true, null); //Now get the queue name from above call and bind it to required Exchange with required routing key. channel.queueBind(queue.getQueue(), "scmb", "scmb.#"); //Now you should be able to receive messages from queue final GetResponse chResponse = channel.basicGet(queue.getQueue(), false); if (chResponse == null) { System.out.println("No message retrieved"); } else { final byte[] body = chResponse.getBody(); System.out.println("Received: " + new String(body)); } channel.close(); conn.close(); s_SCMB-java-fusion.html[2/20/2014 10:06:16 AM] Python code example Python code example The Python code examples show how to connect and subscribe to the SCMB. For more information about Python (Pika AMQP client library), see http://pika.readthedocs.org and https://pypi.python.org/pypi/pika. Python code example (pika) import pika, ssl from pika.credentials import ExternalCredentials import json import logging logging.basicConfig() ############################################### # Callback function that handles messages def callback(ch, method, properties, body): msg = json.loads(body) timestamp = msg['timestamp'] resourceUri = msg['resourceUri'] resource = msg['resource'] changeType = msg['changeType'] print print print print print print ("%s: Message received:" %(timestamp)) ("Routing Key: %s" %(method.routing_key)) ("Change Type: %s" %(changeType)) ("Resource URI: %s" %(resourceUri)) ("Resource: %s" %(resource)) # Setup our ssl options ssl_options = ({"ca_certs": "caroot.pem", "certfile": "client.pem", "keyfile": "key.pem", "cert_reqs": ssl.CERT_REQUIRED, "server_side": False}) # Connect to RabbitMQ host = "example.com" connection = pika.BlockingConnection( pika.ConnectionParameters( host, 5671, credentials=ExternalCredentials(), ssl=True, ssl_options=ssl_options)) # Create and bind to queue EXCHANGE_NAME = "scmb" ROUTING_KEY = "scmb.#" channel = connection.channel() result = channel.queue_declare() queue_name = result.method.queue channel.queue_bind(exchange=EXCHANGE_NAME, queue=queue_name, routing_key=ROUTING_KEY) channel.basic_consume(callback, queue=queue_name, no_ack=True) # Start listening for messages channel.start_consuming() Python code example (amqplib) #!/usr/bin/env python from optparse import OptionParser s_SCMB-python-fusion.html[2/20/2014 10:06:16 AM] Python code example from functools import partial import amqp def callback(channel, msg): for key, val in msg.properties.items(): print ('%s: %s' % (key, str(val))) for key, val in msg.delivery_info.items(): print ('> %s: %s' % (key, str(val))) print ('') print (msg.body) print ('-------') print msg.delivery_tag channel.basic_ack(msg.delivery_tag) # # Cancel this callback # if msg.body == 'quit': channel.basic_cancel(msg.consumer_tag) def main(): parser = OptionParser() parser.add_option('--host', dest='host', help='AMQP server to connect to (default: %default)', default='localhost', ) # options, args = parser.parse_args() ssl_options = ({"ca_certs": "caroot.pem", "certfile": "client.pem", "keyfile": "key.pem", "cert_reqs": CERT_REQUIRED, "server_side": False}) print ('Connecting to host %s' %options.host) conn = amqp.Connection(options.host, login_method='EXTERNAL', ssl=ssl_options) print ('Successfully connected, creating and binding to queue') ch = conn.channel() qname, _, _ = ch.queue_declare() ch.queue_bind(qname, 'scmb', 'scmb.#') ch.basic_consume(qname, callback=partial(callback, ch)) print ('Successfully bound to queue, waiting for messages') #pyamqp:// # # Loop as long as the channel has callbacks registered # while ch.callbacks: ch.wait() ch.close() conn.close() if __name__ == '__main__': main() s_SCMB-python-fusion.html[2/20/2014 10:06:16 AM] Re-create the AMQP client certificate Re-create the AMQP client certificate If you change the appliance name, you must re-create the AMQP client certificate. Prerequisites Minimum required session ID privileges: Infrastructure administrator Re-creating and downloading the client certificate, private key, and root CA certificate 1. Revoke the certificate. DELETE /rest/certificates/ca/rabbitmq_readonly Request body is not required. NOTE: When you revoke the default client certificate, the appliance re-generates the CA certificate, AMQP server certificate, and the default client certificate. 2. Download the certificate and private key. GET /rest/certificates/client/rabbitmq/keypair/default 3. Download the root CA certificate. GET /rest/certificates/ca s_SCMB-recreate-certificate-fusion.html[2/20/2014 10:06:17 AM] Chapter 8 What can I do with HP OneView REST APIs? Chapter 8 What can I do with HP OneView REST APIs? This page provides navigation to actions and tasks you might want to perform using REST APIs. Get started with REST Facilities Learning about REST APIs Data Centers HP OneView REST API Reference Racks Power Get started with configuring your environment Utilization Quick Start: Initial configuration using REST APIs State-Change Message Bus Subscribe to messages in the State-Change Message Bus Unmanaged Devices Settings Licensing Firmware Activity Appliance Activity Search Servers Index Server Profiles Security Addresses and Identifiers Users and Groups Enclosure Groups Enclosures Server Hardware Server Hardware Types Networking Logical Interconnect Groups Logical Interconnects Networks Interconnects cic-howto-sdk.html[2/20/2014 10:06:17 AM] Best practices Monitoring health Learn more Where to find HP OneView documentation Chapter 8 What can I do with HP OneView REST APIs? Quick Start: Add an active/active network configuration Quick Start: Migrate from an active/standby to an active/active network configuration cic-howto-sdk.html[2/20/2014 10:06:17 AM] Chapter 9 Quick Start: Initial configuration using REST APIs Chapter 9 Quick Start: Initial configuration using REST APIs After installation, you must configure the appliance and bring your environment under management. The individual procedures for configuring the appliance and bringing your environment under management for the first time are no different than when they are performed subsequently or when adding individual components or performing maintenance. However, during the initial configuration, you will likely be bringing your entire environment under management and configuring it in the appliance all at once. While the appliance is designed to allow flexibility in the order that you create, add, and update resources and devices, HP recommends following the workflow below for your initial set up or when making significant additions or changes to your environment. 1. “Configure the appliance and bring your environment under management of the appliance” 2. “Optional: Define the physical topology and power systems of your environment in the appliance” Configure the appliance and bring your environment under management of the appliance Configuration step Prerequisites 1. Accept the End User License Agreement (EULA). None NOTE: You can enable or disable support access (optional) while accepting the EULA. Support access is enabled by default. Description You must accept the EULA to proceed with the appliance configuration. If you do not accept the EULA, an error occurs when you attempt to change the administrator password. If you want to allow authorized personnel to access your system to assess problems that you report, you can enable authorized support access. Fully qualified host name of the appliance IPv4 address of the appliance (through DHCP or static address; DHCP is not recommended) 2. Configure the appliance. Default gateway IP address One or more DNS server IP addresses IPv6 address of the appliance (optional) Local authentication Login name idx-set_up_infrastructure-sdk.html[2/20/2014 10:06:17 AM] This step prepares the appliance for your environment. After you complete this step, you can begin building your environment infrastructure. Chapter 9 Quick Start: Initial configuration using REST APIs Full name (optional) Initial password Choose a role or create a specialized role 3. Create users: Create a user with local authentication. Assign roles to an enterprise group. Contact information (optional) Directory-based authentication After you create local and directorybased users, they can access the appliance and complete tasks based on their assigned role in your data center environment. An enterprise directory server to authenticate and authorize users Default directory (when multiple directories are configured) 4. Upload a firmware bundle. (Recommended) NOTE: The default firmware baseline is pre-installed in the appliance and provides the minimum supported firmware for all supported server hardware, iLO, OA and interconnects. You can download additional firmware bundles that provide the latest firmware and can take advantage of all available management features 5. Create networks: At least one HP Service Pack for ProLiant (SPP) firmware bundle The SPP enables you to update firmware on servers, blades, enclosures, and interconnects. You can apply SPPs as baselines to enclosures, interconnects, and server profiles. NOTE: This process might take several minutes. You can proceed to the next configuration step. Network name Create an Ethernet network. VLAN ID Create a Fibre Channel network. Smart link, private network, or both (optional) Bandwidth settings Network set name 6. Create a network set. Networks to add to the network set Untagged VLAN idx-set_up_infrastructure-sdk.html[2/20/2014 10:06:17 AM] A network set provides uniformity across server profiles that reference this network set and group Ethernet networks for faster configuration. Chapter 9 Quick Start: Initial configuration using REST APIs Connection template URI 7. Update a connection template. Minimum bandwidth Maximum bandwidth When you create an Ethernet or Fibre Channel network, a connection template is created. A connection template defines the maximum and typical bandwidth. You must have Network administrator privileges to update a connection template. Define the logical interconnects in the added enclosures. 8. Create a logical interconnect group. 9. Create an enclosure group. Create uplink sets to connect networks or network sets to uplink ports. Assign a logical interconnect group to the enclosure group. A logical interconnect group defines a template for the interconnects in an enclosure. An enclosure group provides uniform configuration across a group of enclosures that reference it. The enclosure group contains a reference to a logical interconnect group that defines how the physical interconnects are configured in the enclosure. 10. Add an enclosure . NOTE: If your enclosure does not have embedded licenses, you will have to add licenses to the appliance. If you have an SNMP read community string you prefer to use, add it before you begin adding enclosures. IP address or fully qualified domain name of the enclosure OA credentials Assign the enclosure to an enclosure group When you add an enclosure, the appliance manages its contents. This enables you to apply configurations, deploy server profiles, monitor operation status, collect statistics, and alert users to specific conditions. Assign a firmware baseline Server profile name and description Enclosure name and bay ID Server hardware 11. Create a server profile. Network connectivity FlexNIC to assign to the network connection idx-set_up_infrastructure-sdk.html[2/20/2014 10:06:17 AM] Server profiles capture all aspects of server configuration in one place, enabling you to consistently replicate new server profiles and to rapidly adjust them for changes in your data center environment. Chapter 9 Quick Start: Initial configuration using REST APIs BIOS settings Boot order Optional: Define the physical topology and power systems of your environment in the appliance Configuration step Prerequisites Device type Device name Add power devices to the appliance Define your power devices using the Power Delivery Devices resource Rated capacity of the device Line voltage and phase Power feed side (A or B) Power connections to the device Rack name Dimensions of the rack and number of slots Add and configure racks Add racks and configure the layout of enclosures, power delivery devices, and other rack devices using the racks resource. Add enclosures and power delivery devices to the rack Edit the layout of devices within the rack The thermal limit of the rack (optional) NOTE: The appliance automatically creates racks and when you import enclosures. It places enclosures that are linked by management cables in the same rack. Data center name Create data centers and position racks in them Define the physical topology of your data center using the Data Centers resource to enable temperature monitoring and 3D visualization using the UI. Dimensions of the data center Position racks in the data center Power information such as electrical derating, voltage, and power costs Cooling information such as cooling capacity and cooling to power cost multiplier idx-set_up_infrastructure-sdk.html[2/20/2014 10:06:17 AM] Chapter 10 Appliance Chapter 10 Appliance Use REST APIs to ... Learn more Configure the environment for the first time About backing up the appliance Configure the appliance About restoring the appliance Backup the appliance backups Create a certificate signing request certificates Create a self-signed certificate eula Create a support dump for authorized technical support firmware REST APIs restores REST APIs settings REST APIs REST APIs REST APIs REST APIs Enable or disable authorized support access Import a certificate support-dumps Restore the appliance from a backup file Update the appliance Read the HP public key Update the HP public key Update the SNMP read community string Upload a backup file to the appliance See more tasks idx-mng-appliance-sdk.html[2/20/2014 10:06:18 AM] REST APIs Configure the appliance Configure the appliance After you install the appliance image, you must accept the End User License Agreement (EULA), and enable or disable authorized support access (optional). Next, change the default administrator password for the appliance and configure the network connections. When you configure the network connections on the appliance using a REST API POST operation that includes all of the networking settings, the appliance starts. You can now import enclosures and start managing your data center environment. To monitor and verify successful appliance configuration, you use the task API. Reference the TaskResource URI that is returned after you post the network configuration using the network-interfaces REST API. Use REST APIs to ... Accept the End User License Agreement (EULA) Change the default administrator password Configure the network Update the SNMP read community string For information about the appliance resource, see the HP OneView REST API Reference. Accept the End User License Agreement (EULA) Before you log in to the appliance for the first time, you must accept the EULA. During this step you can enable or disable authorized support access. Support access is enabled by default. After the appliance is configured, you can use this REST API to enable or disable authorized support access. Accepting the End User License Agreement (EULA) using REST APIs POST /rest/appliance/eula/save Change the default administrator password The first time you log in to the appliance, you must change the default administrator password. Log in using the default administrator password, and then use the returned session ID to change the password. Prerequisites Default administrator password Changing the default administrator password using REST APIs 1. Log in to the appliance using the default administrator password. userName: Administrator password: admin s_configure-appliance-sdk.html[2/20/2014 10:06:18 AM] Configure the appliance POST /rest/login-sessions 2. Change the default administrator password. POST /rest/users/user/changePassword Configure the network Then, you log in to the appliance as an administrator and create a REST request that includes the network information provided by your network administrator. After you POST the network configuration using the /rest/appliance/network-interfaces API, a TaskResource URI is returned in the Location header. Use the TaskResource URI to track the progress. When the network configuration is complete, the appliance starts. You can also configure both the network as well as time and place settings using the /rest/appliance/networkinterfaces API. You can change these settings together or separately using the /rest/appliance/networkinterfaces API. The time and language settings include the NTP server settings. Best practices Always use static IP addresses when configuring the appliance. Use of DHCP addresses is not recommended unless the DHCP server is configured so that the same addresses are always assigned to the appliance. Use of randomly assigned DHCP addresses is not supported and will result in connectivity issues when the DHCP server changes the address assigned to the appliance. Prerequisites Minimum required session ID privileges: Infrastructure administrator A virtual appliance connected to the network Network information provided by your Network administrator, such as the IP address and host name for the appliance, DNS name servers, subnet, and gateway. Configuring the network using REST APIs POST /rest/appliance/network-interfaces NOTE: If you are setting up multiple network interfaces, provide all the network interfaces information in the REST API POST operation. Update the SNMP read community string The SNMP read community string is used by the appliance to communicate with the managed devices. If you use the REST APIs to update the SNMP read community string for an appliance that has managed devices, you must also refresh the managed devices. Prerequisites s_configure-appliance-sdk.html[2/20/2014 10:06:18 AM] Configure the appliance Minimum required session ID privileges: Infrastructure administrator Updating the SNMP read community string using REST APIs 1. Get the read community string. GET /rest/appliance/device-read-community-string 2. Edit the communityString attribute. 3. Update the SNMP read community string. POST /rest/appliance/device-read-community-string Refreshing the connections between the enclosures and the appliance 1. Get a list of the enclosure IDs. GET /rest/enclosures 2. For each enclosure ID, refresh the connection between the enclosure and the appliance. Refreshing the connections between the rack mount servers and the appliance 1. Get a list of the rack mount server IDs. GET /rest/server-hardware?filter="position=0" 2. For each rack mount server ID, refresh the connection between the server and the appliance. See also Quick Start: Initial configuration using REST APIs (top of chapter) s_configure-appliance-sdk.html[2/20/2014 10:06:18 AM] About backing up the appliance About backing up the appliance HP OneView provides the ability to save your configuration settings and management data to a backup file and enables you to use that backup to restore a corrupted appliance in the event of a catastrophic failure. The backup process involves creating a backup file and then downloading that file so that you can store it to a safe and secure (off-appliance) location for future use. For advice on creating and archiving a backup file, see Best practices for backing up an appliance. IMPORTANT: In the unlikely event you need to restore the appliance, HP recommends backing up your appliance configuration on a regular basis, preferably daily and, and especially: The appliance stores one backup file at a time. Creating each subsequent backup file replaces the current backup file. To prevent a backup file from being overwritten by a new backup file, download and save the backup file to an offappliance location before running the next backup process. HP OneView provides a Backup administrator user role specifically for backing up the appliance by permitting access to other resource views without permitting actions on those resources, or other tasks. Only the Infrastructure administrator or the Backup administrator can create a backup file, either through the UI or REST APIs. What the backup process backs up HP OneView database What the backup process does not back up Non-data files: Static files that are installed as part of the execution environment, and are not specific to the appliance or managed environment configuration System files: Log files (except the Audit log file) Non-database data Appliance network configuration Audit log First-time setup configuration files License files Firmware bundles Use a backup file to do the following: Restore the appliance from which the backup file was created. Restore the settings to a different appliance. For example, if an appliance fails and cannot be repaired, you can use a backup file to restore the management configuration settings and management data to a replacement appliance created from the same version of the virtual machine image. REST APIs let you to: Schedule a backup process from outside the appliance. Collect backup files according to your site policies. s_backup-about-atlas.html[2/20/2014 10:06:19 AM] About backing up the appliance Integrate with enterprise backup and restore products. s_backup-about-atlas.html[2/20/2014 10:06:19 AM] Backup the appliance Backup the appliance If an appliance is corrupted, you might need to restore the appliance from a backup file. The backup file contains configuration settings and management data that is stored in a proprietary format. After the backup is initiated, a TaskResource URI is created, that you use to track the progress of the backup. When the backup is complete, you can use a GET REST API operation to download and change the backup file name. The latest backup is stored on the appliance and is replaced when a new backup is initiated. Prerequisites Minimum required session ID privileges: Backup administrator Creating and downloading an appliance backup file using REST APIs 1. Create the backup file. POST /rest/backups 2. Download the backup file. GET /rest/backups/archive/{backup URI} NOTE: After the POST operation is complete, a TaskResource URI and backup URI are returned. You can use the TaskResource URI to monitor the progress of the backup. Use the backup URI to refer to a specific backup when downloading the backup file or performing another operation. s_create-appliance_backup-sdk.html[2/20/2014 10:06:19 AM] Create a certificate signing request Create a certificate signing request The appliance uses a certificate for authentication over SSL. The certificate contains a public key, and the appliance maintains the corresponding private key, which is uniquely tied to the public key. A certificate authority (CA) is a trusted party that issues a certificate that enables others, who trust the CA, to also trust the host. In essence, the CA vouches for the host. Obtaining a CA-authenticated certificate 1. Create a certificate signing request. 2. Send the certificate signing request to the CA. The CA designates how and where to send the request. 3. The CA authenticates the requester. 4. Import the certificate. Prerequisites Minimum required session ID privileges: Infrastructure administrator Required attributes: Country State or province City or locality Organization name Common name (fully qualified host name of the appliance) Certificate authority challenge password Certificate authority unstructured name Creating a certificate signing request using REST APIs POST /rest/certificates/https/certificaterequest Next step: After you receive the certificate from the CA, import the certificate. See Import a certificate. s_create-cert_sign_request-sdk.html[2/20/2014 10:06:20 AM] Create a self-signed certificate Create a self-signed certificate The appliance uses a certificate for authentication over SSL. The certificate contains a public key, and the appliance maintains the corresponding private key, which is uniquely tied to the public key. A self-signed certificate indicates that a host vouches for itself, which, in some cases, might be adequate. By default, browsers do not trust self-signed certificates and display a warning. A more secure alternative is a certificate issued by a third-party certificate authority. For information on these certificates, see Create a certificate signing request . Prerequisites Minimum required session ID privileges: Infrastructure administrator Required attributes: Country State or province City or locality Organization name Common name (fully qualified host name of the appliance) Creating a self-signed certificate using REST APIs PUT /rest/certificates/https s_create-self_signed_cert-sdk.html[2/20/2014 10:06:20 AM] Create a support dump for authorized technical support Create a support dump for authorized technical support Some error messages recommend that you create a support dump of the appliance to send to an authorized support representative for analysis. The support dump process: Deletes any existing support dump file Gathers logs and other information required for debugging Creates a compressed file Unless you specify otherwise, all data in the support dump file is encrypted so that it is accessible only by an authorized support representative. You might choose not to encrypt the support dump file if you have an onsite, authorized support representative or if your environment prohibits outside connections. You can also validate the contents of the support dump file and verify that it does not contain sensitive data such as passwords. IMPORTANT: If the appliance is in an error state, you can still create an encrypted support dump file without logging in or other authentication. The support dump file contains the following: Operating system logs (from /var/log) Product logs (from /ci/logs) The results of certain operating system and product-related commands Items logged in the support dump file are recorded in UTC (Coordinated Universal Time). Prerequisites Minimum required session ID privileges: Infrastructure administrator Creating a support dump using REST APIs 1. Create support dump. POST /rest/appliance/support-dumps 2. Download the support dump file. GET /rest/appliance/support-dumps/{file name} IMPORTANT: Unless you specify otherwise, the support dump file is encrypted so that only authorized support personnel can view its contents. In accordance with the HP data retention policy, support dump files sent to HP are deleted after use. s_create-support_dump-sdk-fusion.html[2/20/2014 10:06:20 AM] Create a support dump for authorized technical support s_create-support_dump-sdk-fusion.html[2/20/2014 10:06:20 AM] Enable or disable authorized support access Enable or disable authorized support access This product contains a technical feature that will allow an on-site authorized support representative to access your system, through the system console, to assess problems that you have reported. This access will be controlled by a password generated by HP that will only be provided to the authorized support representative. You can disable access at any time while the system is running. NOTE: When authorized support access is disabled, you can reset the local administrator password. Prerequisites Minimum required session ID privileges: Infrastructure administrator Enabling or disabling authorized support access using REST APIs PUT /rest/appliance/settings/enableServiceAccess s_serviceaccess-appliance-sdk.html[2/20/2014 10:06:21 AM] Import a certificate Import a certificate After sending a certificate signing request to the CA and receiving a certificate, you must import it. Prerequisites Minimum required session ID privileges: Infrastructure administrator Ensure that no other users are logged in to the appliance. Importing a certificate using REST APIs POST /rest/certificates s_import_certificate-sdk.html[2/20/2014 10:06:21 AM] Update the appliance Update the appliance Image files for appliance updates are available from http://www.hp.com/go/oneviewupdates. The content delivered in the image file and the speed of your network connection determine the amount of time required for the download. IMPORTANT: The appliance will restart after it is updated. This restart will not disrupt the operation of the systems under management, but it will close the management console. Prerequisites Minimum required session ID privileges: Infrastructure administrator Ensure that no other users are logged in to the appliance before starting the appliance update and that no one logs in during the update. HP recommends that you create and download a backup file before updating the appliance. See Backup the appliance. Create a VM snapshot of your system before you install an update file. Updating the appliance firmware using REST APIs 1. Upload the firmware. POST /rest/appliance/firmware/image 2. Start the firmware update. PUT /rest/appliance/firmware/pending?file={upgrade file name} NOTE: After the update is uploaded to the appliance, you can perform GET /rest/appliance/firmware/pending to retrieve the estimated time to complete the firmware update, and to determine if a reboot is required. To view the release notes and EULA for the update, perform GET /rest/appliance/firmware/documentcontent/{tarFileName}.{suffix}/{documentType}. For documentType, specify release or eula. s_update-appliance-sdk.html[2/20/2014 10:06:21 AM] Read the HP public key Read the HP public key TO PROVIDE REVIEW COMMENTS CLICK HERE The HP public key verifies that HP created its RPMs and update packages and that the code has not been modified since it was signed. Prerequisites Minimum required session ID privileges: Infrastructure administrator Reading the HP public key using REST APIs GET /rest/appliance/firmware/verificationKey s_view-public_key-sdk.html[2/20/2014 10:06:22 AM] Update the HP public key Update the HP public key TO PROVIDE REVIEW COMMENTS CLICK HERE The HP public key verifies that HP created its RPMs and update packages and that the code has not been modified since it was signed. Before you update the HP public key, you must obtain a new HP public key. Prerequisites Minimum required session ID privileges: Infrastructure administrator New HP public key Updating the HP public key using REST APIs PUT /rest/appliance/firmware/verificationKey s_edit-public_key-sdk.html[2/20/2014 10:06:22 AM] Upload a backup file to the appliance Upload a backup file to the appliance When you upload a backup file to the appliance, it replaces the backup file currently stored on the appliance. Prerequisites Minimum required session ID privileges: Infrastructure administrator To successfully restore a backup file, the appliance must be running a version of the firmware that is compatible with the backup file. If the backup file firmware version is not compatible with the appliance firmware version, an error is returned when you attempt to upload the backup file. Uploading a backup file to the appliance using REST APIs POST /rest/backups/archive s_upload-appliance_backup-sdk.html[2/20/2014 10:06:22 AM] About restoring the appliance About restoring the appliance Restoring an appliance from a backup file replaces all management data and most configuration settings with the data and settings in the backup file, including user names and passwords, audit logs, and available networks. The appliance is not operational during the restore operation and it can take several hours to perform; the more resources and devices to restore, the longer the restore operation takes. A restore operation cannot be canceled or undone after it has started. The appliance blocks login requests while a restore operation is in progress. IMPORTANT: A restore operation is required to recover from catastrophic failures, not to fix minor problems that can be resolved in other ways. You can restore an appliance from a backup file that was created on the same appliance or, if an appliance fails and cannot be repaired, from a backup file from a different appliance. In this case, the backup file must have been created from an appliance running the same version of HP OneView. Actions during the restore operation Description During a restore operation, the appliance firmware validates the resource inventory (enclosures, servers, interconnects) and reconciles the data in the backup file with the current state of the managed environment. The state of the managed environment is likely to be different from the state of that environment at the time the backup file was created. After the restore operation, the appliance uses alerts to report any discrepancies that it cannot resolve automatically. If you removed, and then re-added an enclosure after a backup file was created, and then perform a restore operation using that backup file, you must refresh the enclosure before the appliance can connect. Validates the resource inventory If you added server hardware to the appliance after the backup file was created, that hardware is not in the appliance database when the restore operation completes. You must add that hardware to the appliance and then repeat any other configuration changes (such as assigning server profiles) that were made between the time the backup file was created and the restore operation completed. Refreshes enclosures to validate contents During the restore operation, the appliance refreshes each enclosure to validate its contents—especially to ensure that the appliance still claims them. Then the appliance refreshes each blade server and clears the virtual IDs of any servers added to an enclosure since the last time the backup file was created. The appliance also refreshes all rack servers to ensure they are claimed. Clears virtual IDs The appliance clears virtual IDs for server hardware that does not have a profile assigned but does have virtual IDs configured. These servers most likely had a profile assigned after the last backup was made. s_restore-about-atlas.html[2/20/2014 10:06:23 AM] Restore the appliance from a backup file Restore the appliance from a backup file Prerequisites Minimum required session ID privileges: Infrastructure administrator You have uploaded a backup file to the appliance. Restoring the appliance from a backup file using REST APIs 1. Initiate the restore process. POST /rest/restores The {restore URI} is returned. 2. List the status of the restore process. GET /rest/restores s_restore-appliance-sdk.html[2/20/2014 10:06:23 AM] Chapter 11 Activity Chapter 11 Activity Use REST APIs to ... Learn more Assign an owner to an alert About activities Download audit logs alerts Filter alerts by health and status Read alerts for a physical resource type Read the status of a task Update an alert See more tasks idx-mng-activity-sdk.html[2/20/2014 10:06:24 AM] REST APIs About activities About activities An activity is a record of a user- or system-initiated action or task or an alert message to inform you that an event occurred that requires your attention. An alert message is an important troubleshooting tool. It indicates when an event occurred and which resource reported it. An alert message provides details about the event and suggests a solution. If a user- or system-initiated action is complete, there is a record for it. If an action is not complete, you can see which subtasks were completed or are still running and which subtasks are interrupted or stopped. The appliance interleaves tasks, alerts, and administrator's notes into a single view, which simplifies the correlation of user activity with system health. You can view all activities, filter the activities by several criteria to view only those you want to see, or search for a specific activity. You can assign alerts to the appropriate administrator for their timely resolution. When issues are investigated and resolved, you can clear them so they no longer require your attention. You can annotate alert messages to keep a historical record of issues and their resolutions, or you can note a decision that affected the alert resolution. s_activity-about-atlas.html[2/20/2014 10:06:24 AM] Assign an owner to an alert Assign an owner to an alert To retrieve alerts that do not have an assigned owner, you can filter alerts by severity, urgency, and no assigned owner. After retrieving the alerts, you can select an alert, add an owner, and then perform a PUT operation to update the alert. Prerequisites Minimum required session ID privileges: Server administrator Assigning an owner to an alert using REST APIs 1. Select an alert that does not have an assigned owner. GET /rest/alerts?filter="severity='{UNKNOWN, OK, WARNING, CRITICAL}'"&filter="urgency='{None, Deferrable, Medium, High, Immediate, Unknown}'"&filter="assignedToUser='{}'" 2. Get the alert. GET /rest/alerts/{id} 3. Assign an owner to the alert. 4. Update the alert. PUT /rest/alerts/{id} NOTE: The DISABLED severity does not apply to alerts. s_assign-alerts-sdk.html[2/20/2014 10:06:24 AM] Download audit logs Download audit logs The audit log helps the security administrator understand what security-related actions took place. You can gather log files and other information that your authorized support representative needs so that they can diagnose and troubleshoot an appliance. Prerequisites Minimum required session ID privileges: Infrastructure administrator Downloading audit logs using REST APIs GET /rest/audit-logs/download NOTE: To filter only specific audit log entries, you can use GET /rest/audit-logs with the optional filter parameter. s_download-audit_logs-sdk.html[2/20/2014 10:06:25 AM] Filter alerts by health and status Filter alerts by health and status You can retrieve a list of alerts filtered by different attributes. The following example shows how to filter alerts by severity and urgency. Prerequisites Minimum required session ID privileges: Server administrator Filtering alerts by health and status using REST APIs GET /rest/alerts?filter="severity='{UNKNOWN, OK, WARNING, CRITICAL}'"&filter="urgency='{None, Deferrable, Medium, High, Immediate, Unknown}'" NOTE: The DISABLED severity does not apply to alerts. s_filter-alerts-sdk.html[2/20/2014 10:06:25 AM] Read alerts for a physical resource type Read alerts for a physical resource type To read alerts for a physical resource type such as server hardware, filter alerts by the physical resource type. Prerequisites Minimum required session ID privileges: Server administrator Reading alerts for a physical resource type using REST APIs Get alerts for a physical resource type. GET /rest/alerts?filter="physicalResourceType='{resource type}'" s_view-alert_physical_resource-sdk.html[2/20/2014 10:06:25 AM] Read the status of a task Read the status of a task When you perform an asynchronous REST API operation, a TaskResource URI is returned in the Location header. You can use this URI to read the current status of the task. Prerequisites Minimum required session ID privileges: Infrastructure administrator Reading the status of a task using REST APIs GET /rest/tasks/{id} s_view-task_status-sdk.html[2/20/2014 10:06:26 AM] Update an alert Update an alert To update an alert, perform a PUT operation to reapply all of the alert attributes. View the alert attributes by using a GET operation, edit the attributes, and then perform a PUT operation using all of the attributes. You can update the following attributes: alertState, alertUrgency, notes (to add a note), assignToUser. Prerequisites Minimum required session ID privileges: Server administrator Updating an alert using REST APIs 1. Select an alert URI. GET /rest/alerts 2. Get the alert using the URI from step 1. GET /rest/alerts/{id} 3. Edit the alert. 4. Update the alert. PUT /rest/alerts/{id} s_update-alerts-sdk.html[2/20/2014 10:06:26 AM] Chapter 12 Addresses and Identifiers Chapter 12 Addresses and Identifiers Use REST APIs to ... Learn more Create an automatically generated ID range for virtual MAC addresses, WWNs, or serial numbers About ID pools Create a custom ID range for virtual MAC addresses, virtual WWNs, or virtual serial numbers id-pools-vmac-ranges Read active ID pools and their properties id-pools-vwwn-ranges Update the allocated IDs in a range for virtual MAC addresses Update the IDs returned in a range for virtual MAC addresses See more tasks idx-mng-addresses-Identifiers-sdk.html[2/20/2014 10:06:26 AM] id-pools REST APIs id-pools-vsn-ranges REST APIs REST APIs REST APIs About ID pools About ID pools An ID pool is a collection of one or more ranges that can be randomly generated or user-specified to provide large address spaces. By default, 3 virtual ID pools of contiguous MAC addresses, WWNs, and serial numbers are created automatically when you initialize the appliance. The pools are comprised of address and ID ranges, which you can individually enable or disable. You can delete any unused ranges. ID pool ranges do not conflict with physical IDs, provided the virtual ranges that are created exclude the physical ID ranges. Supported ID pools ID pool Virtual MAC addresses (vMAC) Virtual World Wide Names (vWWN) Virtual Serial Numbers (vSN) Description 6 byte quantity represented as 12 hexadecimal characters, bytes separated by a colon (:) Unicast address ranges only, multicast bit must not be set 8 byte quantity represented as 16 hexadecimal characters, bytes separated by a colon (:) 10 alphanumeric characters, uppercase s_settings-address-ident-about-fusion.html[2/20/2014 10:06:27 AM] Create an automatically generated ID range for virtual MAC addresses, WWNs, or serial numbers Create an automatically generated ID range for virtual MAC addresses, WWNs, or serial numbers When the appliance starts for the first time, a random range, called the default range, is created for each pool. In addition to this range, you can add an automatically generated range. Before you create an automatically generated range, you must select an available generated range. Each type of range uses a different REST API. For example, to create a virtual MAC address range, you use /rest/id-pools/vmac. When you create an automatically generated range, the following attributes are required: The start address and end address of the available range obtained through the GET operation. The total count. NOTE: The range category is generated. Prerequisites Minimum required session ID privileges: Network administrator (virtual MAC addresses, virtual WWNs) Server administrator (virtual serial numbers) Infrastructure administrator (all ID types) Creating an automatically generated ID range for virtual MAC addresses using REST APIs 1. Select a generated range that is not in use. GET /rest/id-pools/vmac/generate 2. Create the ID range. POST /rest/id-pools/vmac/ranges Creating an automatically generated ID range for virtual WWNs using REST APIs 1. Select a generated range that is not in use. GET /rest/id-pools/vwwn/generate 2. Create the ID range. POST /rest/id-pools/vwwn/ranges s_add-auto_idpool-sdk.html[2/20/2014 10:06:27 AM] Create an automatically generated ID range for virtual MAC addresses, WWNs, or serial numbers Creating an automatically generated ID range for virtual serial numbers using REST APIs 1. Select a generated range that is not in use. GET /rest/id-pools/vsn/generate 2. Create the ID range. POST /rest/id-pools/vsn/ranges s_add-auto_idpool-sdk.html[2/20/2014 10:06:27 AM] Create a custom ID range for virtual MAC addresses, virtual WWNs, or virtual serial numbers Create a custom ID range for virtual MAC addresses, virtual WWNs, or virtual serial numbers When the appliance starts for the first time, a random range, called the default range, is created for each pool. In addition to this range, you can add an automatically generated range. Before you create an automatically generated range, you must select an available generated range. Each type of range uses a different REST API. For example, to create a virtual MAC address range, you use /rest/id-pools/vmac/ranges. When you create a custom range, you must provide the attributes using one of the following combinations: The start address and end address. The total count is calculated automatically based on the start address and end address. The start count and total count. The end address is calculated automatically based on the total count. The range category is custom. Prerequisites Minimum required session ID privileges: Network administrator (virtual MAC addresses, virtual WWNs) Server administrator (virtual serial numbers) Infrastructure administrator (all ID types) Creating a custom ID range for virtual MAC addresses using REST APIs POST /rest/id-pools/vmac/ranges Creating a custom ID range for virtual WWNs using REST APIs POST /rest/id-pools/vwwn/ranges Creating a custom ID range for virtual serial numbers using REST APIs POST /rest/id-pools/vsn/ranges s_add-custom_range_idpool-sdk.html[2/20/2014 10:06:28 AM] Read active ID pools and their properties Read active ID pools and their properties Prerequisites Minimum required session ID privileges: Infrastructure administrator, Network administrator, or Server administrator Reading Vmac ID pools and their properties using REST APIs GET /rest/id-pools/vmac Reading Vsn ID pools and their properties using REST APIs GET /rest/id-pools/vsn Reading Vwwn ID pools and their properties using REST APIs GET /rest/id-pools/vwwn s_view-active_ids-sdk.html[2/20/2014 10:06:28 AM] Update the allocated IDs in a range for virtual MAC addresses Update the allocated IDs in a range for virtual MAC addresses If you want to reserve or allocate IDs in a virtual MAC address range, you can update the allocated IDs. To update a virtual MAC address range, perform a PUT operation to reapply all of the virtual MAC address attributes. View the virtual MAC address range attributes by using a GET operation, edit the attributes, and then perform a PUT operation using all of the attributes. Prerequisites Minimum required session ID privileges: Infrastructure administrator, Network administrator, or Server administrator Updating the allocated IDs in a range for virtual MAC addresses using REST APIs 1. Select a virtual MAC address range URI. GET /rest/id-pools/vmac 2. Get the virtual MAC address range and note the allocatorUri. GET /rest/id-pools/vmac/ranges/{id} 3. Update the allocated IDs using the allocatorUri from step 2. PUT /rest/id-pools/vmac/ranges/{id}/allocator s_edit-allocated_ids-sdk.html[2/20/2014 10:06:28 AM] Update the IDs returned in a range for virtual MAC addresses Update the IDs returned in a range for virtual MAC addresses If there are IDs that are no longer in use, and you want to make them available, you can update the returned IDs. To update a virtual MAC address range, perform a PUT operation to reapply all of the virtual MAC address attributes. View the virtual MAC address range attributes by using a GET operation, edit the attributes, and then perform a PUT operation using all of the attributes. Prerequisites Minimum required session ID privileges: Infrastructure administrator, Network administrator, or Server administrator Updating the IDs returned in a range for virtual MAC addresses 1. Select a virtual MAC address range URI. GET /rest/id-pools/vmac 2. Get the virtual MAC address range and note the collectorUri. GET /rest/id-pools/vmac/ranges/{id} 3. Update the returned IDs using the collectorUri from step 2. PUT /rest/id-pools/vmac/ranges/{id}/collector s_edit-returned_ids-sdk.html[2/20/2014 10:06:29 AM] Chapter 13 Best practices Chapter 13 Best practices HP recommends the following best practices. Learn about the built-in best practice features of HP OneView Server profiles Groups, templates, and sets Appliance Best practices for maintaining a secure appliance Best practices for backing up an appliance Best practices for restoring an appliance c_best-practices-sdk.html[2/20/2014 10:06:29 AM] Monitoring infrastructure health Best practices for monitoring health Network configuration Requirements and best practices for an active/active configuration Best practices for monitoring health Best practices for monitoring health To ensure the health of the managed components in your data center environment, follow these best practices. Overall health monitoring Server hardware health monitoring Network health monitoring Overall health monitoring Monitoring step Filter alerts based on severity or date to view current health issues. GET /rest/alerts?filter="severity='{UNKNOWN, OK, DISABLED, WARNING,CRITICAL}'"&filter="created='{YYYY-MM-DDThh:mm:ss.sssZ}'" NOTE: The DISABLED severity is not applicable to alerts. Related information: Activity Get alerts for a specific physical resource type, such as server hardware. GET /rest/alerts?filter="physicalResourceType='{physical_server}'" Related information: Server Hardware View the originating event(s) that caused a specific alert. 1. Select an alert. GET /rest/alerts/ 2. Get a specific alert using the alert ID. GET /rest/alerts/{id} 3. Get the associated event(s). GET /rest/events/{id} Fix the problem. Use the recommended fix (perform a GET operation on the specific alert resource and view the correctiveAction attribute), or research the alert. Server hardware health monitoring A server or servers turn to a warning or critical status when something is not correct within the appliance. If a server profile has been applied to a failed server, the server profile will also be in a failed status. s_best-practices-sdk-fusion.html[2/20/2014 10:06:29 AM] Best practices for monitoring health Monitoring step Use details from the alert to fix the problem. When available, attempt the recommended fix first. In some cases, additional research of the alert might be needed to best determine the fix. GET /rest/alerts? filter="physicalResourceType='{physical_servers}'"&filter="severity='{WARNING, CRITICAL}'" Related information: Activity Make sure that server profiles are appropriately assigned to the server hardware. Related information: Create a server profile Network health monitoring To determine the current health of a network or networks on the appliance, view alerts for interconnects and logical interconnects to verify the correct connections. To list alerts, you can perform a GET operation on alerts and filter for alerts related to interconnects. To list states, you can perform a GET operation on interconnects and logical interconnects and filter for an OK state. Monitoring step View alerts for interconnects. 1. Select an interconnect alert. GET /rest/alerts? filter="physicalResourceType='{interconnect}'"&filter="severity='{WARNING, CRITICAL}'" 2. Get a specific alert using the alert ID. GET /rest/alerts/{id} Related information: Interconnects Filter for logical interconnects with unhealthy stacking. 1. Get unhealthy logical interconnect. GET /rest/logical-interconnects?filter="stackingHealth='{Unknown, Disconnected}'" 2. View specific unhealthy interconnect using the interconnect ID. GET /rest/logical-interconnects/{id} Related information: Logical Interconnects Use information provided in the alert to fix the problem. Use the recommended fix if there is one, or research the alert. Related information: Activity s_best-practices-sdk-fusion.html[2/20/2014 10:06:29 AM] Best practices for backing up an appliance Best practices for backing up an appliance Method Description Always use the HP OneView backup feature to back up your appliance. Creating CAUTION: Do not use any hypervisor-provided capabilities or snapshots to back up HP OneView appliances because doing so can cause synchronization errors and result in unpredictable and unwanted behavior. HP recommends performing regular backups, preferably daily, and especially after adding hardware, changing the appliance configuration, and before and after updating the appliance firmware. Frequency If you added server hardware to the appliance after the backup file was created, that hardware is not in the appliance database when the restore process completes. You must add that hardware to the appliance and then repeat any other configuration changes (such as assigning server profiles) that were made between the time the backup file was created and the restore process completed. You can back up the appliance while it is in use and while normal activity is taking place. You do not need to wait for tasks to stop before creating a backup file. The backup file format is proprietary, however, HP recommends that after you create and download the backup file you encrypt, and then safely store the backup file to protect your sensitive data. Archiving HP recommends using an enterprise backup product such as HP Data Protector to archive backup files. For information on HP Data Protector, see the following website: http://www.hp.com/go/dataprotector HP provides REST APIs for integration with enterprise backup products. s_backup-best-practices-atlas.html[2/20/2014 10:06:30 AM] Best practices for restoring an appliance Best practices for restoring an appliance Best Practice Before you begin Description 1. Note the passwords you use. Maintain a list of the current user accounts on the appliance. The restore operation resets the user names and passwords to those that were in effect when the backup file was created. 2. Create a support dump. Use the support dump to diagnose failures that occurred before the restore operation. 3. Download the existing audit logs, and store them for safekeeping. The restore operation restores the audit logs from the backup file, overwriting the existing logs. 4. Stop all automatically scheduled backups. Restart the automatically scheduled backups after the appliance is restored. 5. Make the backup file accessible to the appliance from which you plan to issue the upload request. If you are using an enterprise backup product to archive backup files, follow any steps required by your backup product to prepare for the restore operation. Inform users Make sure that all users logged in to the appliance log out. Users who are logged in when the restore operation begins are automatically logged out, losing whatever work was in progress. All users are blocked from logging in during the restore operation. Use the right backup file Use the latest backup file to restore the appliance. Changes made after the backup file is created cannot be saved. Make sure the appliance network settings are the ones you want the appliance to use after the restore operation. Appliance network configuration settings are not included in the backup file. Ensure that the appliance being restored and the appliance on which the backup file was created have the same firmware version; otherwise, the restore operation fails. The platform type, hardware model, and the major and minor numbers of the appliance firmware must match to restore a backup. The format of the appliance firmware version is as follows: majornumber.minornumber.revisionnumber-buildnumber The revision and build numbers do not need to match. If the backup file is incompatible with the firmware on the appliance, the upload returns an error and the restore operation stops. You will need to update the firmware or select a different backup file. s_restore-best-practices-atlas.html[2/20/2014 10:06:30 AM] Best practices for restoring an appliance If the backup file was created on an appliance that is different from the one you are restoring, do one of the following: Delete the original appliance. Reconfigure the original appliance so that it no longer manages the devices it was managing when the backup file was created. Serious errors can occur if multiple appliances attempt to manage the same devices. s_restore-best-practices-atlas.html[2/20/2014 10:06:30 AM] Chapter 14 Data Centers Chapter 14 Data Centers Use REST APIs to ... Learn more Create a data center About data centers Create a data center layout datacenters Update a data center Delete a data center See more tasks idx-mng-datacenter-sdk.html[2/20/2014 10:06:31 AM] REST APIs About data centers About data centers A data center represents a physically contiguous area in which racks containing IT equipment are located. For example, you have IT equipment in two rooms or on separate floors. You could create a data center for each of these areas. Each server, enclosure, or power distribution device in your data center can report its power requirements, but it can be difficult to understand the power and cooling requirements for your data center as a whole. The appliance enables you to bring power and cooling management of your servers, enclosures, and power delivery devices together in a single management system. When you initialize the appliance for the first time, it creates a data center named Datacenter 1. You can rename or edit this data center to match the values and layout of your data center, you can use it as the basis for a planned data center model, or you can delete this data center without adverse effects. Default rack placement When you add a rack to the appliance for management, the rack is displayed in all data centers even though its actual location is not known. When you assign a rack to a data center, it is no longer displayed in other data centers. s_datacenters-about-fusion.html[2/20/2014 10:06:31 AM] Create a data center Create a data center You define a data center’s physical topology by specifying the outer measurements of the data center and then adding and positioning racks containing systems, enclosures, and devices. The appliance enables you to manage the power and cooling requirements for your servers, enclosures, and iPDUs. Prerequisites Minimum required session ID privileges: Server administrator Creating a data center using REST APIs POST /rest/datacenters s_add-datacenter-sdk.html[2/20/2014 10:06:31 AM] Create a data center layout Create a data center layout You can add the physical placement of racks in your data center to the data centers resource, including the rotation and coordinates. After you add the layout information, a visual representation is available in the appliance UI. Prerequisites Minimum required session ID privileges: Server administrator Creating a data center layout using REST APIs 1. Select a data center URI. GET /rest/datacenters 2. Add the layout information to the contents attribute. 3. Update the data center. PUT /rest/datacenters/{id} s_add-datacenter-layout-sdk.html[2/20/2014 10:06:32 AM] Update a data center Update a data center To update a data center, perform a PUT operation to reapply all of the data center attributes. View the data center attributes by using a GET operation, edit the attributes, and then perform a PUT operation using all of the attributes. Prerequisites Minimum required session ID privileges: Server administrator Updating a data center using REST APIs 1. Select a data center URI. GET /rest/datacenters 2. Get the data center using the URI from step 1. GET /rest/datacenters/{id} 3. Edit the data center. 4. Update the data center. PUT /rest/datacenters/{id} s_update-datacenter-sdk.html[2/20/2014 10:06:32 AM] Delete a data center Delete a data center When you delete a data center, it is no longer managed by the appliance. Prerequisites Minimum required session ID privileges: Server administrator Deleting a data center using REST APIs 1. Select a data center URI. GET /rest/datacenters 2. Delete the data center using the URI from step 1. DELETE /rest/datacenters/{id} s_delete-datacenter-sdk.html[2/20/2014 10:06:32 AM] Chapter 15 Enclosures Chapter 15 Enclosures Use REST APIs to ... Learn more Add an enclosure About enclosures Delete an enclosure from management enclosures Refresh the connection between an enclosure and the appliance Replace an enclosure OA and midplane See more tasks idx-mng-enclosures-sdk.html[2/20/2014 10:06:33 AM] REST APIs About enclosures About enclosures An enclosure is a physical structure that can contain server blades, infrastructure hardware, and interconnects. The enclosure provides the hardware connections between the interconnect downlinks and the installed server blades. You add an enclosure so that its contents can be managed, enabling you to apply configurations, deploy server profiles, monitor operation status, collect statistics, and alert users to specific conditions. When you add an enclosure, you specify an enclosure group. Enclosure groups enable you to maintain configuration consistency among enclosures. Each enclosure group is associated with a logical interconnect group that enables creation and configuration of a logical interconnect. Each enclosure is associated with a logical interconnect, which represents the configuration of all interconnects in the enclosure. Connectivity and synchronization with the appliance The appliance monitors the connectivity status of enclosures. If the appliance loses connectivity with an enclosure, a notification is displayed until connectivity is restored. The appliance attempts to resolve connectivity issues and clears the alert automatically, but if it is unsuccessful, you must resolve the issue and manually refresh the enclosure to synchronize it with the appliance. The appliance also monitors enclosures to ensure that they are synchronized with changes to hardware and configuration settings. However, some changes to enclosures made outside of the appliance (from iLO or the OA (Onboard Administrator), for example) might cause the enclosure to lose synchronization with the appliance. You might have to manually refresh devices that lose synchronization with the appliance. NOTE: You can manually refresh the connection between the appliance and an enclosure from the Enclosures screen. Refreshing an enclosure will refresh all devices in it. See the online help for the Enclosures screen to learn more. s_enc-about-fusion.html[2/20/2014 10:06:33 AM] Add an enclosure Add an enclosure Adding an enclosure using its IP address or host name, along with the enclosure's OA (Onboard Administrator) user name and password, brings the enclosure and its contents under appliance management. Before adding an enclosure, you must create or select an enclosure group. You can also update the enclosure firmware or enclosure and logical interconnect firmware while adding the enclosure. To learn more about the logical interconnect groups that are associated with enclosure groups, see Create a logical interconnect group and Create an enclosure group. NOTE: The name associated with the enclosure is the enclosure name (set in the OA), not the OA name. Prerequisites Minimum required session ID privileges: Infrastructure administrator or Server administrator If an enclosure group does not exist, you must create it. If you have an SNMP read community string you prefer to use, Update the SNMP read community string before you begin adding an enclosure. The enclosure's OA user name and password. The enclosure's primary or standby OA is configured with a host name or IP address. Power supplies are configured and the enclosure power is turned on. The firmware repository contains at least one firmware bundle. Adding an enclosure using REST APIs 1. Select an enclosure group URI. GET /rest/enclosure-groups 2. Add an enclosure. To update the firmware, specify the value EnclosureOnly or EnclosureAndLogicalInterconnect for the updateFirmwareOn property. POST /rest/enclosures NOTE: You might want to forcibly add an enclosure, for example, if the enclosure is managed by another appliance. You must set the force attribute to true. POST /rest/enclosures s_add-enclosure-sdk-fusion.html[2/20/2014 10:06:33 AM] Delete an enclosure from management Delete an enclosure from management When you remove an enclosure from appliance management, you remove all of its associated interconnects, servers, alerts, activities, and other objects. Before removing the enclosure, you must remove the server profiles from the server hardware in the enclosure. If the enclosure is hosting active server profiles, you cannot perform the remove operation. Prerequisites Minimum required session ID privileges: Infrastructure Administrator Deleting an enclosure from appliance management using REST APIs 1. Select an enclosure URI. GET /rest/enclosures 2. Remove the enclosure using the URI from step 1. DELETE /rest/enclosures/{id} NOTE: If the appliance cannot establish communication with an enclosure, you must forcibly remove the enclosure from the appliance. This situation might occur if you physically remove the enclosure and it is offline. DELETE /rest/enclosures/{id}&force=true s_retire-enclosure-sdk.html[2/20/2014 10:06:34 AM] Refresh the connection between an enclosure and the appliance Refresh the connection between an enclosure and the appliance If an enclosure has lost connectivity or is not synchronized with the appliance, you must refresh the connection. An enclosure can lose connectivity with the appliance during normal operation; it can become not synchronized with the appliance if you make changes to it through the OA or iLO. To prevent loss of connectivity, make changes to an enclosure through the appliance. Prerequisites Minimum required session ID privileges: Infrastructure administrator Refreshing the connection between an enclosure and the appliance using REST APIs PUT /rest/enclosures/{id}/refreshState NOTE: To track the progress of the refresh operation, use the TaskResource URI that is returned after the PUT operation. See Read the status of a task. s_refresh_enclosure-sdk.html[2/20/2014 10:06:34 AM] Replace an enclosure OA and midplane Replace an enclosure OA and midplane When you replace an enclosure OA and midplane, most of the steps that you need to perform are done without using the appliance REST APIs. Before you replace the OA, back up the configuration settings. You will use these configuration settings to reconfigure the new OA. To physically replace the OA and midplane, and prepare the enclosure for operational status, follow the prerequisites and refer to the service guide for your enclosure to complete the replacement. After you physically replace and reconfigure the OA and midplane, you must perform a refresh on the enclosure using a REST API. Prerequisites Minimum required session ID privileges: Infrastructure administrator. The enclosure's Onboard Administrator (OA) user name and password. Settings of enclosure of the OA that you are replacing. UUID of enclosure midplane that you are replacing. Physically replace the enclosure OA and midplane using the service guide instructions for your enclosure. Ensure the new midplane is reconfigured. Reconfigure the new OA to match the settings the OA that you are replacing. Refreshing the enclosure using REST APIs PUT /rest/enclosures/{id}/refreshState NOTE: To track the progress during the enclosure refresh, you can use the task resource that is returned after the PUT operation. s_replace_enclosure_OA_backplane-sdk.html[2/20/2014 10:06:34 AM] Chapter 16 Enclosure Groups Chapter 16 Enclosure Groups Use REST APIs to ... Learn more Create an enclosure group About enclosure groups Update an enclosure group enclosure groups APIs Delete an enclosure group See more tasks idx-mng-enclosure_groups-sdk.html[2/20/2014 10:06:35 AM] REST About enclosure groups About enclosure groups An enclosure group is a logical resource that defines a set of enclosures that use the same configuration for network connectivity. The network connectivity for an enclosure group is defined by the logical interconnect group associated with the enclosure group. This ensures that each enclosure has an identically configured logical interconnect and the same configuration for network connectivity. s_enc-group-about-fusion.html[2/20/2014 10:06:35 AM] Create an enclosure group Create an enclosure group An enclosure group is a template that you create to provide a consistent and easy way to configure enclosures. When you create an enclosure group, you select a logical interconnect group to associate with the enclosure group. A logical interconnect group defines the attributes that are applied to the physical interconnects within the enclosure, creating a logical interconnect. When you add an enclosure, you can choose the enclosure group that is associated with a specific logical interconnect group and those attributes are applied to the enclosure and physical interconnects contained within that enclosure. When adding an enclosure, you can: Use the enclosure as a template to create an enclosure group configuration. Assign an existing enclosure group configuration. Add multiple enclosures to an existing enclosure group. Create an enclosure group for later use. Prerequisites Minimum required session ID privileges: Infrastructure administrator or Server administrator An existing logical interconnect group. See Create a logical interconnect group. Creating an enclosure group using REST APIs 1. Select a logical interconnect group URI. GET /rest/logical-interconnect-groups 2. Create an enclosure group that includes the logical interconnect group URI you selected. POST /rest/enclosure-groups See also Quick Start: Initial configuration using REST APIs s_create-enclosure_group-sdk.html[2/20/2014 10:06:36 AM] Update an enclosure group Update an enclosure group To update an enclosure group, perform a PUT operation to reapply all of the enclosure group attributes. View the enclosure group attributes by using a GET operation, edit the attributes, and then perform a PUT operation using all of the attributes. Prerequisites Minimum required session ID privileges: Infrastructure administrator or Server administrator Updating an enclosure group using REST APIs 1. Select the enclosure group URI. GET /rest/enclosure-groups 2. Get the enclosure group using the URI from step 1. GET /rest/enclosure-groups/{id} 3. Edit the enclosure group. 4. Update the enclosure group. PUT /rest/enclosure-groups/{id} s_update-enclosure_group-sdk.html[2/20/2014 10:06:36 AM] Delete an enclosure group Delete an enclosure group You cannot delete an enclosure group if it has members. Before you delete an enclosure group, you must remove from management all enclosures in the group. Prerequisites Minimum required session ID privileges: Infrastructure administrator or Server administrator Deleting an enclosure group using REST APIs 1. Select the enclosure group URI. GET /rest/enclosure-groups 2. Delete the enclosure group using the URI from step 1. DELETE /rest/enclosure-groups/{id} s_delete-enclosure_group-sdk.html[2/20/2014 10:06:36 AM] Chapter 17 Firmware Chapter 17 Firmware Use REST APIs to ... Delete a firmware bundle from the firmware repository Learn more About firmware bundles About unsupported firmware Install a firmware bundle using a server profile firmware-drivers Read the firmware repository for firmware bundles Update enclosure firmware Upload a firmware bundle Update logical interconnect firmware See more tasks idx-mng-firmware-sdk.html[2/20/2014 10:06:37 AM] REST APIs About firmware bundles About firmware bundles The appliance provides firmware management across the data center with no additional tools to download and install. With the single pain of glass firmware management, you can define firmware baselines and perform firmware updates across many resources. When you add a resource to the appliance, the appliance automatically updates the resource firmware to the minimum version required to be managed by the appliance or version defined to be a baseline. A firmware bundle, also known as an HP Service Pack for ProLiant (SPP), is a comprehensive collection of firmware and system software components, all tested together as a single solution stack that includes drivers, agents, utilities, and firmware packages. Firmware bundles enable you to update firmware on HP ProLiant servers, controllers, storage, server blades, and enclosures. An embedded firmware repository enables you to upload SPP firmware bundles to the appliance and deploy them across your environment according to your best practices. You can apply SPPs as baselines to enclosures, interconnects, and server profiles, establishing a desired version for firmware and drivers across devices. You download SPPs from the HP website www.hp.com/go/spp to your local system, and then upload them to the firmware bundle repository on the appliance. You can use the /rest/enclosures/{id}/enclosureFwBaseline REST API to update enclosure firmware and the /rest/logical-interconnects/{id}/firmware REST API to update logical interconnect firmware. Also, you can use the /rest/server-profiles/{id} REST API set the firmware baseline for the assigned server hardware. Every resource (OA, iLO, server, or Virtual Connect) goes offline when you upgrade its firmware. Always perform the upgrade during a maintenance window. Resource When you update firmware Enclosures The OA (Onboard Administrator) is taken offline when you update firmware for an enclosure. Server profiles Firmware updates require that you edit the server profile to change the firmware baseline. As with any other edits to server profiles, you must power down the server hardware to which the server profile is assigned before you edit a server profile. An interconnect is taken offline when you: Update or activate firmware for a logical interconnect. Staging firmware does not require interconnects be taken offline. Update firmware for an enclosure and select the option to update the enclosure, logical interconnect, and server profiles. If an interconnect has firmware that has been staged but not activated, any subsequent reboot of that interconnect activates the firmware, which takes the interconnect offline. Interconnects You can prevent the loss of network connectivity for servers connected to a logical interconnect that has a stacking mode of Enclosure and a stacking health of Redundantly Connected by updating firmware using the following method: 1. Stage the firmware on the logical interconnect. 2. Activate the firmware for the interconnects in even-numbered enclosure bays. 3. Wait until the firmware update to complete and the interconnects are in the Configured state. s_firmware-about-fusion.html[2/20/2014 10:06:37 AM] About firmware bundles 4. Activate the firmware for the interconnects in the odd-numbered enclosure bays. Upgrading the firmware is based on your assigned role: The Server administrator role can upgrade the firmware on the enclosure OA and servers. The Network administrator role can upgrade the firmware on interconnects. The Infrastructure administrator role can upgrade the firmware on all devices About unsupported firmware A default firmware bundle (SPP) is pre-installed in the appliance and provides the minimum supported firmware for all supported server hardware and interconnects. When you add a resource to bring it under management, the resource firmware must be updated to the minimum supported level. The appliance attempts to automatically update the firmware while the resource is being added to the appliance. If the update fails, an alert is generated. Unsupported firmware for firmware bundles If you attempt to add a firmware bundle that contains firmware below the minimum versions supported, an alert is generated and the firmware bundle is not added to the appliance firmware repository. Unsupported firmware for enclosures When adding an enclosure, the appliance: Generates an alert if the logical interconnect firmware for the interconnects is below the required minimum level or if the interconnect firmware levels do not match. You must update the logical interconnect firmware from the Logical Interconnects screen or REST APIs. Updates the OA firmware automatically, if below the required minimum Updates the iLO firmware automatically, if below the required minimum Unsupported firmware for server profiles You are prevented from applying server profiles if the associated iLO firmware is below the minimum supported version, and instead, are directed to the Server Hardware screen to update iLO firmware. Unsupported firmware for interconnects If you attempt to add an interconnect with firmware that is below the minimum supported version, an alert is generated. You must update the logical interconnect firmware from the Logical Interconnects screen or REST APIs. The Firmware panel of the Logical Interconnects screen displays the installed version of firmware and the firmware baseline for each interconnect. s_firmware-about-fusion.html[2/20/2014 10:06:37 AM] Delete a firmware bundle from the firmware repository Delete a firmware bundle from the firmware repository HP recommends that you unassign the SPP from all devices that the SPP is assigned to before removing the SPP. Prerequisites Minimum required session ID privileges: Infrastructure administrator, Server administrator, or Network administrator Deleting a firmware bundle from the firmware repository using REST APIs 1. Select a firmware bundle URI. GET /rest/firmware-drivers 2. Delete the firmware bundle using the URI from step 1. DELETE /rest/firmware-drivers/{id} s_remove-firmware_bundle_repository-sdk.html[2/20/2014 10:06:37 AM] Install a firmware bundle using a server profile Install a firmware bundle using a server profile After you upload a firmware bundle (SPP) to the appliance, use a server profile to install it on server hardware. See Create a server profile and Update a server profile for more information. s_install-firmware_bundle-sdk.html[2/20/2014 10:06:38 AM] Read the firmware repository for firmware bundles Read the firmware repository for firmware bundles The firmware repository holds all of the firmware bundles, also known as Service Packs for ProLiant (SPPs). An SPP is a comprehensive update package of firmware, drivers, and utilities delivered as a single ISO image. Prerequisites Minimum required session ID privileges: Infrastructure administrator, Server administrator, or Network administrator Reading the firmware repository for firmware bundles using REST APIs GET /rest/firmware-drivers s_view_firmware-repository-sdk.html[2/20/2014 10:06:38 AM] Update enclosure firmware Update enclosure firmware Select a new SPP and update the firmware for all hardware components in an enclosure. When setting a new firmware baseline for an enclosure, you have the option to update the: Enclosure only (OA firmware) Enclosure, logical interconnect, and the server profiles (OA, interconnect, and server firmware including iLO) NOTE: If you update the enclosure, logical interconnect, and the server profiles, the previous firmware version stored in the server profile is replaced with the new firmware version. Prerequisites Minimum required session ID privileges: Infrastructure administrator or Server administrator A firmware bundle, also known as Service Pack for ProLiant (SPP), uploaded to the appliance Updating enclosure firmware using REST APIs 1. Select the firmware URI to apply. GET /rest/firmware-drivers 2. Select the enclosure URI. GET /rest/enclosures 3. Update the enclosure firmware. This step installs the firmware. PUT /rest/enclosures/{id}/enclosureFwBaseline s_update-enclosure_firmware-sdk.html[2/20/2014 10:06:38 AM] Upload a firmware bundle Upload a firmware bundle Update the firmware repository on the appliance by uploading a firmware bundle, also known as a Service Pack for ProLiant (SPP). An SPP is a comprehensive update package of firmware, drivers, and utilities delivered as a single PXE-bootable ISO image. After the firmware bundle has been uploaded to the repository, it can be set as the firmware baseline for one device or across a set of devices. Firmware baselines for servers are managed using server profiles, either by editing an existing server profile or by creating a new server profile to include a new service pack. To manage firmware baselines for enclosures and interconnects, edit a device configuration directly. Prerequisites Minimum required session ID privileges: Infrastructure administrator, Server administrator, or Network administrator Uploading a firmware bundle using REST APIs POST /rest/firmware-bundles See also Quick Start: Initial configuration using REST APIs s_upload-firmware_bundle-sdk.html[2/20/2014 10:06:39 AM] Update logical interconnect firmware Update logical interconnect firmware After an enclosure is imported and a logical interconnect is defined, you might need to update the logical interconnect firmware. When the logical interconnect firmware update is applied, all physical interconnects within the logical interconnect are updated. During the update, the logical interconnect is offline and the firmware is uploaded and installed. If you prefer, you can upload firmware to the logical interconnect without installing it, so the firmware is ready to be installed later. Uploading the firmware without installing it does not disrupt the logical interconnect operation. Prerequisites Minimum required session ID privileges: Infrastructure administrator or Network administrator A firmware bundle, also known as Service Pack for ProLiant (SPP), uploaded to the appliance Updating logical interconnect firmware using REST APIs 1. Select the firmware URI to apply. GET /rest/firmware-drivers 2. Select the logical interconnect URI. GET /rest/logical-interconnects 3. Update the logical interconnect firmware. This step uploads and installs the firmware. PUT /rest/logical-interconnects/{id}/firmware NOTE: To view attributes and values to use for updating (upload and install), uploading, or installing logical interconnect firmware, see /rest/logical-interconnects/{id}/firmware. s_update-logical_switch_firmware-sdk.html[2/20/2014 10:06:39 AM] Chapter 18 Index Chapter 18 Index Use REST APIs to ... Read resource information published to the index Learn more index/resources REST APIs index/associations Read associated resource information published to the index Read resource tree information published to the index See more tasks idx-mng-index-sdk.html[2/20/2014 10:06:40 AM] index-trees REST APIs REST APIs index-search-suggestions REST APIs Read resource information published to the index Read resource information published to the index The information that appliance resources publish to the index is a subset of attributes that you can retrieve using simple to complex filter and query parameters. To learn more about using these parameters, see Common REST API Parameters. Prerequisites Minimum required session ID privileges: Infrastructure administrator Reading resource information published to the index using REST APIs GET /rest/index/resources s_read_index-sdk.html[2/20/2014 10:06:40 AM] Read associated resource information published to the index Read associated resource information published to the index The information that appliance resources publish to the index includes associated resources. For example, when you perform a GET operation on specific server hardware, the return response includes the associated server profile and enclosure. To learn more about using parameters to refine the results returned from a GET operation, see Common REST API Parameters. Prerequisites Minimum required session ID privileges: Infrastructure administrator Reading associated resource information published to the index using REST APIs GET /rest/associations s_read_associated_index-sdk.html[2/20/2014 10:06:40 AM] Read resource tree information published to the index Read resource tree information published to the index The information that appliance resources publish to the index includes associated resources that are readable using a tree structure. For example, when you perform a GET operation on the enclosure, you can specify the parent and child depth, to control the amount and type of resources that are returned. Prerequisites Minimum required session ID privileges: Infrastructure administrator Reading resource tree information published to the index using REST APIs GET /rest/trees s_read_tree_index-sdk.html[2/20/2014 10:06:41 AM] Chapter 19 Licensing Chapter 19 Licensing Use REST APIs to ... Learn more Add a license key to the appliance license pool About licensing View license status licenses View server hardware without an assigned license View all licenses See more tasks idx-mng-licensing-sdk.html[2/20/2014 10:06:41 AM] REST APIs About licensing About licensing HP OneView requires a license for each server that it manages. You can purchase server hardware and enclosures with licenses embedded (integrated) on the hardware, or you can purchase licenses separately (nonintegrated) and add them to the appliance. The appliance manages licenses in a pool where all licenses are stored and applied to server hardware as needed. Purchasing factory-integrated (embedded) software and hardware provides the best licensing experience because the license is delivered on the hardware and is registered automatically when you register the hardware. If you purchase nonintegrated licenses, you must activate and register the licenses using the HP licensing portal at https://www.hp.com/software/licensing. After you register your licenses, you add the license keys to the appliance. When you add server hardware that does not have an embedded license, it is assigned a license from the license pool. EULA The appliance has a EULA (End-User License agreement) that you must accept before using the appliance for the first time. You can view the EULA from the Help sidebar and online at http://www.hp.com/go/oneview/eula. License types The following types of licenses are available for HP OneView: HP OneView Provides an HP OneView license and an iLO Advanced license HP OneView w/o iLO Provides an HP OneView license only This license is intended for server hardware with iLOs that are already licensed, or server hardware for which you do not require an iLO license. When you add an enclosure or rack mount server to the appliance, you must specify one of these licenses. After a 60-day trial period, the appliance creates an alert if you do not have enough licenses to support the existing servers. The alert does not clear until you add enough licenses. License delivery License delivery depends on how the license is purchased. The license delivery methods for HP OneView are: Embedded on the server hardware iLO (software purchased, integrated with the hardware) Embedded on the enclosure OA (enclosure bundle license for 16 servers) Standalone, nonintegrated (purchased separately from the hardware) License reporting s_licensing-about-fusion.html[2/20/2014 10:06:41 AM] About licensing Basic license reporting indicates whether the appliance has enough licenses for the managed server hardware in your environment. s_licensing-about-fusion.html[2/20/2014 10:06:41 AM] Add a license key to the appliance license pool Add a license key to the appliance license pool Prerequisites Minimum required session ID privileges: Infrastructure administrator, Server administrator Adding a license key to the appliance license pool using REST APIs POST /rest/licenses s_add_license_key-sdk.html[2/20/2014 10:06:42 AM] View license status View license status View a summary of the total license count, consumed count, and unlicensed server hardware count per product. Also, view a license summary for a specific type of product. Prerequisites Minimum required session ID privileges: Infrastructure administrator, Server administrator Viewing license status using REST APIs GET /rest/licenses?view=summary Viewing license status for a specific product using REST APIs GET /rest/licenses?filter="product='{product name}'"&view=summary For example, to view a HP OneView license, enter: GET /rest/licenses?filter="product='HP OneView'"&view=summary s_view_license_summary-sdk.html[2/20/2014 10:06:42 AM] View server hardware without an assigned license View server hardware without an assigned license View a list of server hardware that are not in compliance and do not have an assigned license. Prerequisites Minimum required session ID privileges: Infrastructure administrator, Server administrator Viewing servers without an assigned license using REST APIs GET /rest/licenses?filter="licenseType='Unlicensed'" s_view_unassigned_license-sdk.html[2/20/2014 10:06:42 AM] View all licenses View all licenses View a list of all licenses that are managed by the appliance. The list includes products, keys, and their associated licensed server hardware as well as any unlicensed server hardware. Prerequisites Minimum required session ID privileges: Infrastructure administrator, Server administrator Viewing the license details using REST APIs GET /rest/licenses s_view_license_details-sdk.html[2/20/2014 10:06:43 AM] Chapter 20 Interconnects Chapter 20 Interconnects Use REST APIs to ... Learn more Read interconnect statistics About interconnects Reapply interconnect configuration interconnects See more tasks idx-mng-interconnects-sdk.html[2/20/2014 10:06:43 AM] REST APIs About interconnects About interconnects Interconnects enable communication between the server hardware in the enclosure and the data center networks. An interconnect has several types of links: Uplinks Uplinks are physical ports that connect the interconnect to the data center networks. Downlinks Downlinks connect the interconnect to the server hardware through the enclosure midplane. Stacking links Stacking links, which can be internal or external, connect interconnects together to provide redundant paths for Ethernet traffic from server blades to the data center networks. Interconnects are added automatically when the enclosure that contains them is added to the appliance. Interconnects are an integral part of an enclosure, and each interconnect is a member of a logical interconnect. Each logical interconnect is associated with a logical interconnect group, which is associated with an enclosure group. For more information about logical interconnects, see . For information about the relationship that enclosures and enclosure groups have with interconnects, logical interconnects, and logical interconnect groups, see Understanding the resource model. You can update interconnect firmware using an SPP (Service Pack for ProLiant). Connectivity and synchronization with the appliance The appliance monitors the health status of interconnects and issues alerts when there is a change in status of an interconnect or port. The appliance maintains the configuration that you specify on the interconnects that it manages. The appliance also monitors the connectivity status of interconnects. If the appliance loses connectivity with an interconnect, an alert is displayed until connectivity is restored. The appliance attempts to resolve connectivity issues and clear the alert. If it cannot, you have to resolve the issues and manually refresh the interconnect to synchronize it with the appliance. You can manually refresh the connection between the appliance and an interconnect from the Interconnects screen. About unsupported interconnects Unsupported hardware is hardware that the appliance cannot manage. If the appliance detects an interconnect that it does not expect or cannot manage, it assigns the interconnect a critical health status and displays an alert with a resolution of replacing the interconnect with a model it can manage. The appliance displays the model name of the unsupported interconnect that it obtains from the OA (Onboard Administrator). If the unsupported interconnect is in an unmanaged bay, the appliance places it into an inventory state and creates a resource for it, but does not bring it under management. s_switch-about-fusion.html[2/20/2014 10:06:44 AM] About interconnects NOTE: If you try to create a server profile that has a connection to an unsupported interconnect, the operation will fail. s_switch-about-fusion.html[2/20/2014 10:06:44 AM] Read interconnect statistics Read interconnect statistics Analyzing network traffic on a specific interconnect uses several different REST APIs to view an interconnect, port, or subport. To see what statistics are available, view the resource models for each REST API: SwitchStatistics, PortStatistics, or SubportStatistics. Prerequisites Minimum required session ID privileges: Infrastructure Administrator Reading interconnect statistics using REST APIs 1. Select an interconnect URI. GET /rest/interconnects 2. Using the interconnect URI, get the interconnect statistics. GET {interconnect URI}/statistics Reading port statistics using REST APIs 1. Select an interconnect URI. GET /rest/interconnects 2. Using the interconnect URI, select a port name. GET {interconnect URI}/ports 3. Using the interconnect URI and port name, get the port statistics GET {interconnect URI}/statistics/{portName} Reading subport statistics using REST APIs 1. Select an interconnect URI. GET /rest/interconnects 2. Using the interconnect URI, select a port name and subport number. GET {interconnect URI}/ports 3. Using the interconnect URI, port name, and subport number, get the subport statistics. GET {interconnect URI}/statistics/{portName}/subport/{subPortNumber} s_view-switch_statistics-sdk.html[2/20/2014 10:06:44 AM] Reapply interconnect configuration Reapply interconnect configuration You can reapply the configuration settings of a physical interconnect from the appliance using the reapply configuration feature. You may want to do this after replacing an interconnect, after a connection loss, or if interconnect configuration fails. Prerequisites Minimum required session ID privileges: Infrastructure Administrator or Network administrator Reapplying interconnect configuration using REST APIs 1. Select an interconnect URI. GET /rest/interconnects 2. Using the interconnect URI, reapply the interconnect configuration. PUT {interconnect URI}/{id}/configuration s_edit-switch_configuration-sdk.html[2/20/2014 10:06:44 AM] Chapter 21 Logical Interconnects Chapter 21 Logical Interconnects Use REST APIs to ... Learn more Create an uplink set About active/active configurations Download logical interconnect support dump About logical interconnects FInd noncompliant logical interconnects About SNMP settings Reapply a logical interconnect group to bring a logical interconnect into compliance logical-interconnects Set up logical interconnect port monitoring Update a logical interconnect Update logical interconnect SNMP settings See more tasks idx-mng-logical-interconnects-sdk.html[2/20/2014 10:06:45 AM] REST APIs About logical interconnects About logical interconnects A logical interconnect is a single administrative entity that consists of the configuration for the interconnects in an enclosure, which includes: The uplink sets, which connect to data center networks. The mapping of networks to physical uplink ports, which is defined by the uplink sets for a logical interconnect. The downlink ports, which connect through the enclosure midplane to the servers in the enclosure. The connections between interconnects, which are called stacking links. Stacking links can be internal cables (through the enclosure) or external cables between the stacking ports of interconnects. For a server administrator, a logical interconnect represents the available networks through the interconnect uplinks and the interconnect downlink capabilities through a physical server’s interfaces. For a network administrator, a logical interconnect represents an Ethernet stacking domain, aggregation layer connectivity, stacking topology, network reachability, statistics, and troubleshooting tools. Uplink sets An uplink set defines a group of networks and physical ports on the interconnect in an enclosure. An uplink set enables you to attach the interconnect to the data center networks. An uplink set enables multiple ports to support port aggregation (multiple ports connected to a single external interconnect) and link failover with a consistent set of VLAN networks. For Ethernet networks, an uplink set enables you to identify interconnect uplinks that carry multiple networks over the same cable. For Fibre Channel connections, you can add one network to an uplink set. Fibre Channel does allow virtual networks or VLANs. An uplink set is part of a logical interconnect. The initial configuration of the uplink sets for a logical interconnect is determined by the configuration of the uplink sets for the logical interconnect group, but you can change (override) the uplink sets for a specific logical interconnect. Changes you make to the uplink sets for a logical interconnect group are not automatically propagated to existing logical interconnects. For example, to propagate a newly added VLAN to a logical interconnect group uplink set to its existing logical interconnects, you must individually update each logical interconnect configuration from the logical interconnect group. For active/active configurations, create a new logical interconnect group rather than updating an existing group. s_logical-switches-about-fusion.html[2/20/2014 10:06:45 AM] About logical interconnects For each logical interconnect: You can define zero, one, or multiple uplink sets. If you do not define any uplink sets, the servers in the enclosure cannot connect to data center networks. A network can be a member of one uplink set only. An uplink set can contain only one Fibre Channel network. An uplink set can contain one or more Ethernet networks. You must specify Ethernet networks individually. The use of network sets in uplink sets is not supported for the following reasons: The networking configuration is intended to be managed by users with a role of Network administrator. Because users with a role of Server administrator can create and edit network sets, allowing network sets to be members of uplink sets could result in server administrators changing the mapping of networks to uplink ports without the knowledge of the network administrator. Because a network can be a member of more than one network set, allowing network sets to be members of uplink sets would make it more difficult to ensure that no single network is a member of more than one uplink set, especially as the network set configurations change over time. Stacking modes Stacking modes and stacking links apply to Ethernet networks only. Interconnects that are connected to one another through stacking links create a stacking mode. Ethernet traffic from a server connected to an interconnect downlink can reach the data center networks through that interconnect or through a stacking link from that interconnect to another interconnect. The supported stacking mode is enclosure. For this stacking mode: All the interconnects in the enclosure form a single logical interconnect. Stacking links between interconnects in different enclosures are not supported. When two interconnects of the same type are installed in horizontally adjacent enclosure I/O bays, they connect through internal stacking links. Installing interconnects of different types in horizontally adjacent enclosure I/O bays is not supported. Stacking health The appliance detects the topology within an enclosure of the connections between interconnects and the uplink sets, and determines the redundancy of paths between servers and data center networks. The appliance reports redundancy information as the stacking health of the logical interconnect, which is one of the following: Redundantly Connected There are at least two independent paths between any pair of interconnects in the logical interconnect, and there are at least two independent paths from any downlink port on any interconnect in the logical s_logical-switches-about-fusion.html[2/20/2014 10:06:45 AM] About logical interconnects interconnect to any other port (uplink or downlink) in the logical interconnect. Connected There is a single path between any pair of interconnects in the logical interconnect, and there is a single path from any downlink port on any interconnect in the logical interconnect to any other port (uplink or downlink) in the logical interconnect. Disconnected At least one interconnect is not connected to the other member interconnects in the logical interconnect. The configuration defined in the logical interconnect group is the expected configuration within the enclosure. If any of the interconnects are defined to be in the Configured state but instead are in a different state, such as Absent, Inventory, or Unmanaged, the stacking health is displayed as Disconnected. If none of the interconnects are in the Configured state, no stacking health information is displayed. Adding a logical interconnect Every enclosure belongs to an enclosure group. When you add an enclosure: The appliance detects the physical interconnects and their stacking links. The appliance automatically creates a single logical interconnect for the enclosure. The configuration of the logical interconnect, including uplink sets, is defined by the logical interconnect group associated with the enclosure group. This ensures that all enclosures in the enclosure group are configured with the same network connectivity. The appliance automatically names the logical interconnect when you add the enclosure. The naming convention for logical interconnects follows: enclosure_name-LI Where enclosure_name is the name of the enclosure. Deleting a logical interconnect To delete a logical interconnect, you must remove the enclosure from management. s_logical-switches-about-fusion.html[2/20/2014 10:06:45 AM] About SNMP settings About SNMP settings Network management systems use SNMP (Simple Network Management Protocol) to monitor network-attached devices for conditions that require administrative attention. By configuring settings on the Logical Interconnect Groups and Logical Interconnects screens, you can enable third-party SNMP managers to monitor (read-only) network status information of the interconnects. The SNMP manager typically manages a large number of devices, and each device can have a large number of objects. It is impractical for the manager to poll information from every object on every device. Instead, each agent on the managed device notifies the manager without solicitation by sending a message known as an event trap. The appliance enables you to control the ability of SNMP managers to read values from an interconnect when they query for SNMP information. You can filter the type of SNMP trap to capture, and then designate the SNMP manager to which traps will be forwarded. By default, SNMP is enabled with no trap destinations set. When you create a logical interconnect, it inherits the SNMP settings from its logical interconnect group. To customize the SNMP settings at the logical interconnect level, use the Logical Interconnects screen or REST APIs. s_ls-snmp-settings-about-fusion.html[2/20/2014 10:06:46 AM] About active/active and active/standby configurations About active/active and active/standby configurations When choosing which HP Virtual Connect network configuration to use (active/active or active/standby), consider the type of network traffic an enclosure must support. For example, will there be much server to server traffic (east/west) needed within the enclosure, or is the traffic flow mainly in and out bound (north/south) of the enclosure. By considering network traffic patterns before selecting the type of HP Virtual Connect configuration, you can maximize the connected bandwidth or minimize the need for server to server traffic leaving the enclosure. An active/standby configuration works well where network traffic is between systems within the same enclosure (east/west) as this minimizes or eliminates any server to server communications from leaving the enclosure. An active/active configuration works well where network traffic is in and out bound (north/south) of the enclosure. About active/standby configurations An active/standby configuration is an Ethernet network configuration where servers in the enclosure have two NIC ports connected to the same HP Virtual Connect network. A single uplink set has uplinks from both modules. The uplinks from one module are active while the uplinks in the other module are standby and are available in the event of a network or module failure. Communications between servers do not leave the interconnect module. For external communications, all servers in the enclosure use the active uplink no matter which NIC is actively passing traffic. This configuration: Provides predictable bandwidth Does not oversubscribe top of rack switch (ToR) bandwidth The requirements for an active/standby configuration include: A minimum of one Ethernet network and one uplink set for each external VLAN ID you need to define. About active/active configurations An active/active configuration is an Ethernet network configuration that allows active traffic on the same VLAN on multiple interconnect modules. All servers in the enclosure have their NICs connected to adjacent HP Virtual Connect modules. All uplinks are active to forward traffic for external communications. When setting up an active/active configuration in an enclosure, the same networks associated with an uplink set must be included in the server profile connection for the same interconnect module. For example, if Net_101_A is in uplink set US_A, which has ports from interconnect module in bay 1, Net_101_A must be associated with the downlink port that is connected to the interconnect module in bay 1 (such as LOM1:1-a). This configuration: Provides full use of all uplink ports (no uplink port in standby mode). Allows all traffic to egress through the interconnect module connected to the NIC port without crossing the internal stacking link. Doubles available bandwidth while maintaining redundancy (when combined with Smart Link). Requirements and best practices for an active/active configuration s_ls-active-active-standby-about-fusion.html[2/20/2014 10:06:46 AM] About active/active and active/standby configurations To have a functioning active/active configuration in HP OneView, you must have two HP Virtual Connect modules and set up the resources according to the following requirements. For an example of an active/active configuration, see Sample active/active configuration. Resource Networks Uplink set Requirement A pair of networks added for each VLAN you want to connect: at least one network for the first interconnect module and another for the second interconnect module using the same VLAN ID. The smartLink attribute must be set to true for both networks. A pair of uplink sets to associate the networks to the uplink ports on the interconnect module. One set of networks assigned to the uplink set with uplinks on the first interconnect module. The other networks assigned to the uplink set with uplinks on the second interconnect module. Uplink ports in each uplink set are restricted to one interconnect. A pair (or more) of network sets. Each set should include only networks that are intended to be used on the same server profile connection. Network Sets (optional) Server Profiles For example, if Net_101_A is in uplink set US_A, which has ports from interconnect module in bay 1, Net_101_A must be associated with the downlink port that is connected to the interconnect module in bay 1 (such as LOM1:1a). Best practice Designate a network name for a paired network using the following naming convention <purpose>_<VLAN ID>_<side> where: could be dev, mgmt, prod, or other purpose and <purpose> <side> left. could be A or B, 1 or 2, or right or Assign names to uplink sets with a specific designator with the following naming convention <uplink set name>_<side>, where <side> left. could be A or B, 1 or 2, or right or Designate a network set name using the following naming convention <purpose>_<side> where: could be dev, mgmt, prod, or other purpose and <purpose> <side> left. could be A or B, 1 or 2, or right or Specific physical ports to which you want the network or network sets mapped. Map the profile connections to the downlink ports on the same interconnect module as the uplinks on the uplink Do not set the portId attribute to Auto. set. This ensures that the networks associated with the uplink ports in the uplink set match the networks assigned to the profile connections in the downlink ports. Sample active/active configuration s_ls-active-active-standby-about-fusion.html[2/20/2014 10:06:46 AM] About active/active and active/standby configurations s_ls-active-active-standby-about-fusion.html[2/20/2014 10:06:46 AM] Download logical interconnect support dump Download logical interconnect support dump The logical interconnect support dump file includes the logs of the member physical interconnects that are powered on and managed by the appliance. After the logical interconnect support dump is created, it is incorporated into the appliance support dump and the entire bundle of files is compressed into a zip file and encrypted for downloading. Prerequisites Minimum required session ID privileges: Network administrator Downloading logical interconnect support dump using REST APIs 1. Select the logical interconnect URI. GET /rest/logical-interconnects 2. Using the logical interconnect URI, download the support dump. POST {logical interconnect URI}/support-dumps s_download-logical_interconnect_support_dump-sdk.html[2/20/2014 10:06:47 AM] FInd noncompliant logical interconnects FInd noncompliant logical interconnects When a logical interconnect is modified and no longer meets compliance with the associated logical interconnect group, an alert is created and the logical interconnect status is changed to NOT_CONSISTENT. Prerequisites Minimum required session ID privileges: Network administrator Filtering for noncompliant logical interconnects using REST APIs GET /rest/logical-interconnects?filter="consistencyStatus='NotConsistent'" s_view-logical_switch_noncompliant-sdk.html[2/20/2014 10:06:47 AM] Reapply a logical interconnect group to bring a logical interconnect into compliance Reapply a logical interconnect group to bring a logical interconnect into compliance If a logical interconnect is not compliant with its logical interconnect group, you can reapply the logical interconnect group to make the logical interconnect compliant. For example, if you replace a physical interconnect in the logical interconnect, and it needs to be compliant with the logical interconnect, you can reapply the logical interconnect group. After the logical interconnect group is reapplied, the physical interconnect has the same configuration as other physical interconnects in the same logical interconnect. Prerequisites Minimum required session ID privileges: Network administrator Reapply a logical interconnect group to bring a logical interconnect into compliance using REST APIs 1. Select a logical interconnect URI. GET /rest/logical-interconnects 2. Using the logical interconnect URI, reapply the logical interconnect group. PUT {logical interconnect URI}/compliance NOTE: If you know the specific physical interconnect that is not compliant with a logical interconnect, you can perform a GET /rest/interconnects/{id} on the physical interconnect to view the associated logical interconnect. Next, you can reapply the logical interconnect group to the logical interconnect. s_reapply-logical_switch_template-sdk.html[2/20/2014 10:06:47 AM] Set up logical interconnect port monitoring Set up logical interconnect port monitoring For analysis, you can use port monitoring to duplicate and direct network traffic to one logical interconnect port from up to 16 physical servers. Prerequisites Minimum required session ID privileges: Network administrator Set up logical interconnect port monitoring using REST APIs 1. Select the logical interconnect URI. GET /rest/logical-interconnects 2. Using the logical interconnect URI, get the current port monitoring information. GET {logical interconnect URI}/port-monitor 3. Enable port monitoring and add the list of ports you want to monitor. PUT {logical interconnect URI}/port-monitor s_set-up_logical_switch_port_monitoring-sdk.html[2/20/2014 10:06:48 AM] Update logical interconnect SNMP settings Update logical interconnect SNMP settings To update logical interconnect SNMP settings, perform a PUT operation to reapply all of the logical interconnect SNMP settings attributes. View the logical interconnect SNMP settings attributes by using a GET operation, edit the attributes, and then perform a PUT operation using all of the attributes. Prerequisites Minimum required session ID privileges: Infrastructure administrator Updating logical interconnect SNMP settings using REST APIs 1. Select a logical interconnect URI. GET /rest/logical-interconnects 2. Using the logical interconnect URI, get the logical interconnect SNMP settings. GET {logical interconnect URI}/snmpConfiguration 3. Edit the SNMP settings. 4. Update the logical interconnect SNMP settings. PUT {logical interconnect URI}/snmpConfiguration s_edit-LS_SNMP_settings-sdk.html[2/20/2014 10:06:48 AM] Create an uplink set Create an uplink set Each uplink set must have a unique name and contain at least one network. You can create up to 121 uplink sets for each logical interconnect. For more information about uplink sets, see About logical interconnects. Prerequisites Minimum required session ID privileges: Infrastructure administrator or Network administrator Creating an uplink set using REST APIs 1. Select the logical interconnect URI. GET /rest/logical-interconnects 2. Get the logical interconnect using the URI from step 1. GET /rest/logical-interconnects/{id} 3. Select a set of Ethernet or Fibre Channel network URIs not assigned to an uplink set. GET /rest/ethernet-networks?filter="assignedToUplinkSet='false'" GET /rest/fc-networks?filter="assignedToUplinkSet='false'" 4. Select the uplink ports using the interconnect URIs. The URIs are contained in the logical interconnect resource model returned in step 2. GET {uri}/ports 5. Create the uplink set with the information from the previous steps. POST /rest/uplink-sets s_create-uplink_set-sdk.html[2/20/2014 10:06:48 AM] Update a logical interconnect Update a logical interconnect A logical interconnect is automatically created when you add an enclosure with physical interconnects. The logical interconnect represents all the physical interconnects contained in the enclosure. To update a logical interconnect, perform a PUT operation to reapply all of the logical interconnect attributes. View the logical interconnect attributes by using a GET operation, edit the attributes, and then perform a PUT operation using all of the attributes. Prerequisites Minimum required session ID privileges: Network administrator Updating a logical interconnect using REST APIs 1. Select a logical interconnect URI. GET /rest/logical-interconnects 2. Get the logical interconnect using the URI from step 1. GET /rest/logical-interconnects/{id} 3. Edit the logical interconnect. 4. Update the logical interconnect. PUT /rest/logical-interconnects/{id} s_edit-logical_switch-sdk.html[2/20/2014 10:06:49 AM] Chapter 22 Logical Interconnect Groups Chapter 22 Logical Interconnect Groups Use REST APIs to ... Learn more Create a logical interconnect group About logical interconnect groups Update a logical interconnect group logical-interconnect-groups Update logical interconnect group SNMP settings See more tasks idx-mng-logical-interconnect-templates-sdk.html[2/20/2014 10:06:49 AM] REST APIs About logical interconnect groups About logical interconnect groups A logical interconnect group is associated with an enclosure group and is used to define the logical interconnect configuration for every enclosure that is added to that enclosure group. Logical interconnect configurations include the I/O bay occupancy, stacking mode, uplink ports and uplink sets, available networks, and downlinks. The logical interconnect group reserves the appropriate interconnect ports for stacking links required for the stacking mode. For the enclosure stacking mode: All interconnects in an enclosure are members of the logical interconnect. Horizontally adjacent interconnects must be the same interconnect type. Horizontally adjacent interconnects reserve one port per enclosure for internal stacking links, called East-West links. Vertically adjacent interconnects reserve an additional port per enclosure for external stacking links, called North-South links. The uplink sets portion of the logical interconnect group defines the initial configuration for uplink sets for each enclosure added to the enclosure group. You can change the uplink sets for a logical interconnect, and existing enclosures are not affected by changes you make to uplink sets in the logical interconnect group. If you change the uplink sets for an existing logical interconnect group, only enclosures that you add after the configuration change are configured with the new uplink set configuration. When you add an enclosure and assign an enclosure group, the appliance creates a logical interconnect for that enclosure. The logical interconnect it creates matches the configuration specified by the logical interconnect group that is associated with the enclosure group. When the add operation completes, the interconnects are fully configured and the networks are available for use by server profiles. Relationship of a logical interconnect group to a logical interconnect You can create a logical interconnect group independently of adding an enclosure, or you can edit the logical interconnect group that the appliance creates when you add the enclosure to the appliance. When you add the first s_logical-switch-templates-about-fusion.html[2/20/2014 10:06:50 AM] About logical interconnect groups enclosure to the appliance, the preliminary logical interconnect group is based on the physical interconnects in that enclosure and is created with the following properties: Existing interconnect types in their existing positions All physical uplink ports disabled except for stacking links You can edit this logical interconnect group, and when the configuration is complete, an enclosure group is created and associated with this logical interconnect group. If you assign an enclosure group (which includes a logical interconnect group) to an enclosure in which the interconnects installed in the enclosure do not match the logical interconnect group, each interconnect reports its state as unmanaged. The physical interconnect configuration in the enclosure must match the logical interconnect group before an interconnect can be managed. To delete a logical interconnect group, you must delete the associated enclosure group. s_logical-switch-templates-about-fusion.html[2/20/2014 10:06:50 AM] Create a logical interconnect group Create a logical interconnect group A logical interconnect group defines the attributes that are applied to a logical interconnect (a collection of physical interconnects in an enclosure that represent a logical interconnect). The logical interconnect group can be added to an enclosure group. When an enclosure is imported, if you choose the enclosure group that is associated with a specific logical interconnect group, then those attributes are applied to the physical interconnects contained within that enclosure, creating a logical interconnect. Prerequisites Minimum required session ID privileges: Network administrator Creating a logical interconnect group using REST APIs POST /rest/logical-interconnect-groups s_create-logical_switch_template-sdk.html[2/20/2014 10:06:50 AM] Update a logical interconnect group Update a logical interconnect group To update a logical interconnect group, perform a PUT operation to reapply all of the logical interconnect group attributes. View the logical interconnect group attributes by using a GET operation, edit the attributes, and then perform a PUT operation using all of the attributes. Prerequisites Minimum required session ID privileges: Network administrator Updating a logical interconnect group using REST APIs 1. Select a logical interconnect group URI. GET /rest/logical-interconnect-groups 2. Get the logical interconnect using the URI from step 1. GET /rest/logical-interconnect-groups/{id} 3. Edit the logical interconnect group. 4. Update the logical interconnect group. PUT /rest/logical-interconnect-groups/{id} s_edit-logical_switch_template-sdk.html[2/20/2014 10:06:50 AM] Update logical interconnect group SNMP settings Update logical interconnect group SNMP settings To update logical interconnect group SNMP settings, perform a PUT operation to reapply all of the logical interconnect group SNMP settings attributes. View the logical interconnect group SNMP settings attributes by using a GET operation, edit the attributes, and then perform a PUT operation using all of the attributes. Prerequisites Minimum required session ID privileges: Infrastructure administrator Update logical interconnect group SNMP settings using REST APIs 1. Select logical interconnect group URI. GET /rest/logical-interconnect-groups 2. Get the logical interconnect group using the URI from step 1. GET /rest/logical-interconnect-groups/{id} 3. Edit the attribute values in the snmpConfiguration property. 4. Update the logical interconnect group. PUT /rest/logical-interconnect-groups/{id} NOTE: When you update the logical interconnect group SNMP settings, the updates are not automatically pushed to the logical interconnects. The logical interconnects are not compliant until you reapply the logical interconnect group. s_edit-LST_SNMP_settings-sdk.html[2/20/2014 10:06:51 AM] Chapter 23 Networks Chapter 23 Networks Use REST APIs to ... Learn more Create an Ethernet network About networks Create a Fibre Channel network ethernet-networks Update a connection template fc-networks Quick Start: Add an active/active network configuration Quick Start: Migrate from an active/standby to an active/active network configuration See more tasks idx-mng-ntwks-sdk.html[2/20/2014 10:06:51 AM] REST APIs REST APIs About networks About networks The Virtual Connect interconnect modules in enclosures support the following types of data center networks: Fibre Channel for storage networks, including Fabric attach (SAN) Fibre Channel (FC) connections and Direct attach (flat SAN) Fibre Channel connections. Ethernet for data networks. IMPORTANT: The networking features described in this section apply to enclosures and server blades only. The appliance does not monitor or manage the network features and hardware for rack mount servers or networking equipment outside the enclosures. Networks and network sets You can assign multiple Ethernet networks to a named group called a network set. Later, when you add a connection in a server profile, you can select this network set to enable the selection of multiple networks for that connection. When to create networks You must create at least one network before you create a connection in a server profile. You must create a network before you include it in a network set. You can create networks before you add an enclosure, which is known as pre-provisioning. When you add enclosures with interconnects later, the networks are added automatically. When you create a network for an existing appliance, the network is automatically available to all interconnects in the appliance. About Fibre Channel networks You can use Fibre Channel networks to connect to storage devices. Fibre Channel network types The Virtual Connect interconnect modules in enclosures support two types of Fibre Channel connections to storage devices: Fabric attach connections—The enclosure interconnects connect to data center SAN fabric switches. Direct attach connections—Also called Flat SAN, in which the enclosure interconnects connect directly to a supported storage device, such as an HP 3PAR StoreServ Storage system. You cannot change the type of a Fibre Channel network, but you can delete the network from the appliance, and then add the network as a different type. A logical interconnect can use both Direct attach storage and Fabric attach storage at the same time. s_net-about-fusion.html[2/20/2014 10:06:52 AM] About networks Direct attach and Fabric attach Fibre Channel networks Fabric attach Fibre Channel networks SAN infrastructures typically use a Fibre Channel switching solution involving several SAN switches that implement NPIV (N-Port ID Virtualization) technology. NPIV uses N-ports and F-ports to build a Fibre Channel SAN fabric. NPIV enables multiple N_Ports to connect to a switch through a single F_Port, so that a virtual server can share a single physical port with other servers, but access only its associated storage on the SAN. When you configure a Fabric attach Fibre Channel network, the port you choose for the uplink from the enclosure interconnect to the storage SAN must support NPIV (N_Port ID Virtualization). Direct attach Fibre Channel networks The Direct attach Fibre Channel solution, also called the Flat SAN solution, eliminates the need for a connection from the enclosure interconnects to a Fibre Channel SAN switch. This means you can connect the enclosure interconnects directly to the storage system. The port you choose for the uplink from the enclosure interconnect to the storage system must support NPIV. Servers connecting to a Direct attach Fibre Channel network have access to all devices connected on the uplink ports defined for that network. If there is more than one connection from a FlexFabric module to the storage system, each server can access as many paths to the storage LUN (logical unit number) as there are connections to the storage system. For Direct attach Fibre Channel networks, the enclosure interconnect does not distribute server logins evenly across uplink ports. Server login-balancing and login-distribution do not apply to Fibre Channel networks. IMPORTANT: When you move a server profile to a different enclosure, and the profile is configured to boot from a Direct attach storage device, you must manually update the boot connection of the profile to specify the WWPN (World Wide Port Name) used for the storage device that is directly attached to the enclosure. s_net-about-fusion.html[2/20/2014 10:06:52 AM] About networks Each enclosure connects to a different port of the Direct attach storage device, so the WWPN for that storage device is different for each enclosure. If you do not specify the correct WWPN and LUN for the storage device, the server will not boot successfully from the boot target. Fibre Channel networks and FCoE Servers connect to the enclosure interconnect downlinks using FCoE (Fibre Channel over Ethernet), and uplink to SANs and Direct attach storage systems using Fibre Channel. The interconnects automatically handle the routing between the server blades and the Fibre Channel networks, so you do not need to specify a VLAN (virtual local area network) ID for a Fibre Channel network. About Ethernet networks You use Ethernet networks for data networks. Ethernet networks and network sets You can assign multiple Ethernet networks to a named group called a network set. Later, when you add a connection in a server profile, you can select this network set to enable multiple networks to be selected for that single connection. Ethernet networks and VLAN IDs When you add an Ethernet network to the appliance, you are adding a VLAN (virtual local area network) to the configuration. VLANs allow multiple networks to use the same physical connections. Server profiles can specify networks without knowledge of the hardware configuration of the data center network. When defined on this appliance, Ethernet networks connected to enclosure interconnects require a VLAN ID. You can add multiple Ethernet networks that use the same VLAN ID. This capability is required for logical interconnects that use an active/active configuration. Each network name in the appliance must be unique. The number of networks supported on an appliance is limited by the number of networks added, not the number of VLAN IDs that are used. Data center switch port requirements Although you can configure an uplink set to receive incoming network traffic as untagged by designating a network in that uplink set as Native, traffic egressing the uplink set is always VLAN tagged. The switch ports for data center network switches that connect to the Virtual Connect interconnect modules must be configured as follows: Spanning tree edge (because the Virtual Connect interconnect modules appear to the switch as access devices instead of switches). s_net-about-fusion.html[2/20/2014 10:06:52 AM] About networks VLAN trunk ports (tagging) to support the VLAN IDs included in the uplink set that connects to switch port. For example, if you configure an uplink set, prodUS, that includes the production networks prod 1101 through prod 1104 to use the X2 ports of the interconnects in bay 1 and bay 2 of Enclosure 1, then the data center switch ports that connect to those X2 ports must be configured to support VLAN IDs 1101, 1102, 1103, and 1104. If multiple uplinks in an uplink set connect the same interconnect to the same data center switch, to ensure that all the uplinks in the uplink set are active, you must configure the data center switch ports for LACP (Link Aggregation Control Protocol) in the same LAG (Link Aggregation Group). Also consider the type of network traffic and if you are creating an active/standby or active/active configuration. s_net-about-fusion.html[2/20/2014 10:06:52 AM] Create an Ethernet network Create an Ethernet network When you create an Ethernet network, a connection template is automatically created. A connection template defines the connection settings for the Ethernet network. The settings include maximum and minimum allowable bandwidth. To learn more about tagged or untagged networks, see About networks. Prerequisites Minimum required session ID privileges: Network administrator Creating an Ethernet network using REST APIs POST /rest/ethernet-networks NOTE: The connectionTemplateUri attribute must be set to null. s_create-ethernet_network-sdk.html[2/20/2014 10:06:52 AM] Create a Fibre Channel network Create a Fibre Channel network When you create an Fibre Channel network, a connection template is automatically created. A connection template defines the connection settings for the Fibre Channel network. The settings include maximum and minimum allowable bandwidth. Also, you must specify the Fibre Channel network fabric type that attaches to external storage devices: FabricAttach connects to external storage through SAN interconnects DirectAttach connects directly to external storage Prerequisites Minimum required session ID privileges: Network administrator Creating a Fibre Channel network using REST APIs POST /rest/fc-networks NOTE: The connectionTemplateUri attribute must be set to null. s_create-fcnetwork-sdk.html[2/20/2014 10:06:53 AM] Update a connection template Update a connection template When you create an Ethernet or Fibre Channel network, a connection template is created. A connection template defines the connection settings for the Ethernet or Fibre Channel network. The settings include maximum and minimum allowable bandwidth. To update a connection template, perform a PUT operation to reapply all of the connection template attributes. View the connection template attributes by using a GET operation, edit the attributes, and then perform a PUT operation using all of the attributes. Prerequisites Minimum required session ID privileges: Network administrator Updating a connection template using REST APIs 1. Select the connection template URI. GET /rest/connection-templates 2. Get the connection template using the URI from step 1. GET /rest/connection-templates/{id} 3. Edit the connection template. 4. Update the connection template. Put /rest/connection-templates/{id} See also Quick Start: Initial configuration using REST APIs s_create-connection_template-sdk.html[2/20/2014 10:06:53 AM] Quick Start: Add an active/active network configuration Quick Start: Add an active/active network configuration TO PROVIDE REVIEW COMMENTS CLICK HERE This quick start describes the process to add an active/active configuration for an enclosure. Prerequisites Minimum required session ID privileges: Infrastructure administrator or Network administrator to add the network. Minimum required session ID privileges: Infrastructure administrator or Server administrator to change the server profile configurations. Two or more fully supported Virtual Connect interconnect modules as listed in the HP OneView Support Matrix. The enclosures and server blades are already added to the appliance. Follow recommended naming conventions described in Requirements and best practices for an active/active configuration. Process For each VC interconnect module you want to set up as an active/active configuration in the appliance, make configuration changes to the following resources: Resource Networks Logical Interconnect Groups and Logical Interconnects Task 1. Add a pair of Ethernet networks for each VLAN you want to connect: one network for the first interconnect module and another for the second interconnect module using the same VLAN ID. For example, create Dev101_A and Dev101_B for VLAN ID 101. 2. Add a pair of uplink sets to associate the networks to the uplink ports on the interconnect module. One set of networks assigned to the uplink set which has ports on the first interconnect module. The other networks assigned to the uplink set which has ports on the second interconnect module. For example, uplink port X5 is defined in both sets, UplinkSet_A for bay 1 and UplinkSet_B for s_network-add-activeactive-sdk.html[2/20/2014 10:06:53 AM] Description For the name attributes, assign names to the networks following Requirements and best practices for an active/active configuration For the vlanId attribute, enter the same ID for the pair of networks. Set the smartLink attribute to true. You can either add the networks to existing uplink sets or create new uplink sets for the networks. Uplinks in each uplink set must be restricted to a single interconnect. Duplicate VLAN IDs are not allowed in the same uplink set. For more information, see About logical interconnects and About logical interconnect Quick Start: Add an active/active network configuration bay 2. Dev101_A is assigned to UplinkSet_A and Dev101_B is assigned to UplinkSet_B. Network Sets 3. (Optional) Add a pair (or more) of network sets. Each set should include only networks that are intended to be used on the same server profile connection. For example, create network set DevSet_A for all your development Dev_A networks and DevSet_B for all your development Dev_B networks. groups. Adding a network to a network set does not require that you take resources offline. Server profiles that have connections to the network set do not have to be updated when a network is added to the network set. Duplicate VLAN IDs are not allowed in the same network set. Each network set should have multiple networks. For more information, see About network sets 4. Edit the server profile to add two connections: assign one port for the networks or network sets on one module and a different port for the networks or network sets on the other module. Server Profiles and Server Hardware Make sure the networks associated with the uplink ports in the uplink set match the networks assigned to the profile connections in the downlink ports. For example, Connection1 is LOM1:1-a for DevSet_A and Connection2 is LOM1:1–b for DevSet_B. 5. Power on the server. s_network-add-activeactive-sdk.html[2/20/2014 10:06:53 AM] Powering off the server before changing the server profile is optional. When adding a connection to the server profile, select the physical port that is connected to the module with the uplink set that has the networks configured for that connection. Do not select Auto. For more information, see About server profiles. Quick Start: Migrate from an active/standby to an active/active network configuration Quick Start: Migrate from an active/standby to an active/active network configuration TO PROVIDE REVIEW COMMENTS CLICK HERE This quick start describes the process of migrating from an existing active/standby configuration to an active/active configuration for an enclosure. Prerequisites Minimum required session ID privileges: Infrastructure administrator or Network administrator to add the network. Minimum required session ID privileges: Infrastructure administrator or Server administrator to change the server profile configurations. Two or more fully supported Virtual Connect interconnect modules as listed in the HP OneView Support Matrix. The enclosures and server blades are already added to the appliance. Follow recommended naming conventions described in Requirements and best practices for an active/active configuration. Process When migrating from an existing active/standby configuration to an active/active configuration, make configuration changes to the following resources: Resource Logical Interconnect Groups Networks Task 1. Find the uplink set that you want to convert to active/active. Description For more information, see Logical Interconnect Groups. 2. Record all networks within that uplink set. 3. Create Ethernet networks with the same external VLAN ID for each network identified in Step 1. For the vlanId attribute, enter the same ID as those in the original uplink set. 4. Ensure the smartLink attribute is set to true. For more information, see Networks or Network Sets. 5. Determine if all logical interconnects have active and standby uplink ports on the same modules. s_network-migrate-activeactive-sdk.html[2/20/2014 10:06:54 AM] Set the smartLink attribute to true. Quick Start: Migrate from an active/standby to an active/active network configuration If the standby uplinks are on the same module, go to step 6. Logical Interconnect Groups and Logical Interconnects If the standby uplinks are on different modules, force a failover so that all standby uplinks are on the same module. Go to step 6. 6. Edit the active/standby uplink set and delete the standby uplinks. To determine the port status (active or standby), perform a GET /rest/interconnects/{id}/ports operation on the interconnect and review the portStatus of each uplink port (portType:Uplink). HP recommends deleting the standby uplinks from the original uplink set and then adding them to the newly created uplink set as this method prevents connectivity loss. For more information, see the online help for Logical Interconnects. 7. Create a second uplink set for the standby uplinks removed in the previous step. 8. Add networks created in step 3 to the new uplink set. Network Sets 9. (Optional) Add network sets for the networks created in step 3. Adding a network to a network set does not require that you take resources offline. Server profiles that have connections to the network set do not have to be updated when a network is added to the network set. Duplicate VLAN IDs are not allowed in the same network set. For more information, see Network Sets. Logical Interconnects 10. Update the logical interconnect. For more information, see Logical Interconnect Groups. Powering off the server before changing the server profile is optional. Server Profiles and Server Hardware 11. Edit the server profile to add a connection for the new networks or network sets. Change every server profile connection associated with the port servicing the original standby uplinks to be assigned to the new networks or network sets created in steps 3 and 8. For more information, see Server Profiles. s_network-migrate-activeactive-sdk.html[2/20/2014 10:06:54 AM] Chapter 24 Network Sets Chapter 24 Network Sets Use REST APIs to ... Learn more Create a network set About network sets Create or delete a network in a network set network-sets Read a network set Update a network set Delete a network set See more tasks idx-mng-ntwksets-sdk.html[2/20/2014 10:06:54 AM] REST APIs About network sets About network sets A network set is a collection of Ethernet networks that form a named group to simplify server profile creation. Network sets are useful in ESXi environments where each server profile connection needs to access multiple networks. Network sets define how packets will be delivered to the server when a server Ethernet connection is associated with the network set. Network sets also enable you to define a VLAN trunk and associate it with a server connection. Instead of assigning a single network to a connection in a server profile, you can assign a network set to that connection. Using network sets, you can quickly deploy changes to the network environment to multiple servers. For example, you have 16 servers connected to a network set. To add a new network to all 16 servers, you only need to add it to the network set instead of each server individually. You can create a network set for your production networks and one for your development networks. You can configure a hypervisor with a vSwitch to access multiple VLANs by creating a network set as a trunk that includes these networks. Network set details Network sets are supported for use in server profiles. All networks in a network set must be Ethernet networks and must have unique external VLAN IDs. All networks in a network set must be configured in the same appliance. A network can be a member of multiple network sets. When a network is deleted, it is automatically deleted from all network sets to which it belonged. A network set can be empty (contain no networks) or can contain one or more of the networks configured in the appliance. Empty network sets enable you to create network sets in the configuration before you create the member networks, or to remove all of the member networks before you add their replacements. However, if a server profile adds a connection to an empty network set, the server cannot connect to any data center networks using that connection. When you create or modify a network set, you can designate a network for untagged packets. If you do not designate a network an untagged network, untagged packets are rejected . Server traffic must be tagged with the VLAN ID of one of the Ethernet networks in the network set. Untagged server traffic is either sent to the untagged network (if an untagged network is defined) or is rejected (if no untagged network is defined). The untagged network can send tagged and untagged traffic between the server and the interconnect simultaneously. When you create or modify a network set, you define the maximum bandwidth and the preferred bandwidth for connections to that network set. A server profile can override the preferred bandwidth but not the maximum bandwidth. s_networkset-about-fusion.html[2/20/2014 10:06:54 AM] About network sets When you delete a network set, the networks that belong to the network set are not affected. However, any servers with a connection to that network set are affected because their connections are defined as being to the network set and not to the individual networks. Because the network set is no longer available, the network traffic to and from that server through that connection is stopped. When you delete a network set, any server profile connections that specified that network set become undefined. s_networkset-about-fusion.html[2/20/2014 10:06:54 AM] Create a network set Create a network set A network set is a collection of networks within a single domain, that can be used together as a named group to simplify server profile creation. Instead of using a server profile to assign one network to a connection, a network set is assigned to a connection. When you create a network set, you can designate one network as untagged. This untagged network handles untagged traffic. After you create a network set, you can add or delete a network from the network set. To learn more about editing a network set, see Update a network set. Prerequisites Minimum required session ID privileges: Network administrator All networks in a network set must be Ethernet networks All networks in a network set must be in the same interconnect domain Creating a network set using REST APIs 1. Select the Ethernet network URIs. GET /rest/ethernet-networks 2. Select the connection template URI. GET /rest/connection-template 3. Create a network set with the above information. POST /rest/network-sets See also Quick Start: Initial configuration using REST APIs s_create-network_set-sdk.html[2/20/2014 10:06:55 AM] Create or delete a network in a network set Create or delete a network in a network set See Update a network set. s_add_remove_network-network_set-sdk.html[2/20/2014 10:06:55 AM] Read a network set Read a network set Prerequisites Minimum required session ID privileges: Network administrator Reading a network set using REST APIs 1. Select a network set URI. GET /rest/network-sets 2. Read the network set. GET /rest/network-sets/{id} s_view-network_set-sdk.html[2/20/2014 10:06:56 AM] Update a network set Update a network set To update a network set, perform a PUT operation to reapply all of the network set attributes. View the network set attributes by using a GET operation, edit the attributes, and then perform a PUT operation using all of the attributes. The attributes that you can change include the connection template, networks, network set name, and untagged network. Prerequisites Minimum required session ID privileges: Network administrator Updating a network set using REST APIs 1. Select the network set URI. GET /rest/network-sets 2. Get the network set using the URI from step 1. GET /rest/network-sets/{id} 3. Edit the network set. 4. Update the network set. PUT /rest/network-sets/{id} s_edit-network_set-sdk.html[2/20/2014 10:06:56 AM] Delete a network set Delete a network set When a network set is deleted, the networks, connection templates, and logical interconnect groups that it contains are not deleted. The server profiles that use the network set will no longer have a connection. This action will be reflected in alerts. Deleting a network set using REST APIs 1. Select a network set URI. GET /rest/network-sets 2. Delete the network set. DELETE /rest/network-sets/{id} s_delete-network_set-sdk.html[2/20/2014 10:06:56 AM] Chapter 25 Power Chapter 25 Power Use REST APIs to ... Learn more Add an HP iPDU About power delivery devices Resolve connectivity issues between an iPDU and the appliance power-devices Change the locator light state of a power delivery device to on or off Control power to a power delivery device outlet Add a non-iPDU power delivery device Read a power device Update a power delivery device Update enclosure capacity settings Update server hardware capacity settings Delete a power delivery device See more tasks idx-mng-facilities-sdk.html[2/20/2014 10:06:57 AM] REST APIs About power delivery devices About power delivery devices Power delivery devices provide power to IT hardware. A typical power topology in a data center includes power delivery devices such as power feeds, breaker panels, branch circuits, and power distribution units (PDUs), as well as the load segments, outlet bars, and outlet components of these devices. Adding your power delivery devices to the appliance enables power management using thermal limits, rated capacity, and derated capacity. The following classes of devices can be managed by the appliance: HP Intelligent Power Distribution Units (HP iPDUs), which the appliance can automatically discover and control. Other power delivery devices that the appliance cannot discover. By manually adding these devices to the appliance, they become available for tracking, inventory, and power management purposes. Regardless of how power delivery devices are added to the appliance, the appliance automatically generates the same types of analysis (capacity, redundancy, and configuration). For iPDUs, the appliance gathers statistical data and reports errors. Connectivity and synchronization with the appliance The appliance monitors the connectivity status of iPDUs. If the appliance loses connectivity with an iPDU, an alert displays until connectivity is restored. The appliance will try to resolve connectivity issues and clear the alert automatically, but if it cannot, you must resolve the issue and manually refresh the iPDU to bring it in synchronization with the appliance. The appliance also monitors iPDU to remain synchronized with changes to hardware and power connections. However, some changes to devices made outside of the control of the appliance (from iLO or the OA, for example) may cause them to become out of synchronization with the appliance. You may have to manually refresh devices that lose synchronization with the appliance. NOTE: HP recommends that you do not use iLO or the OA to make changes to a device. Making changes to a device from its iLO or OA could cause it to lose synchronization with the appliance. See Resolve connectivity issues between an iPDU and the appliance to learn more. s_power-device-about-fusion.html[2/20/2014 10:06:57 AM] Add an HP iPDU Add an HP iPDU To bring an HP Intelligent Module Power Distribution Unit (iPDU) under appliance management, you need the host name associated with the iPDU. To find the host name, perform a GET REST API operation. Prerequisites Minimum required session ID privileges: Server administrator The iPDU host name or IP address The iPDU administrator username and password Adding an HP iPDU and bringing it under management using REST APIs POST /rest/power-devices/discover s_add-pdd-sdk.html[2/20/2014 10:06:57 AM] Resolve connectivity issues between an iPDU and the appliance Resolve connectivity issues between an iPDU and the appliance The appliance automatically synchronizes with iPDUs when they are added, on startup of the appliance, and when it detects changes to the power connections to the iPDU. However, if an iPDU becomes out of synchronization with the appliance, you must refresh the connection manually. Prerequisites Minimum required session ID privileges: Infrastructure administrator or Server administrator Resolving connectivity issues between an iPDU and the appliance using REST APIs PUT /rest/power-devices/{id}/refreshState s_refresh-pdd-sdk.html[2/20/2014 10:06:58 AM] Change the locator light state of a power delivery device to on or off Change the locator light state of a power delivery device to on or off To find a specific physical power delivery device in a rack, turn on the locator light. Prerequisites Minimum required session ID privileges: Server administrator Change the locator light of a power delivery device to on or off using REST APIs 1. Select a power delivery device URI. GET /rest/power-devices 2. Get the power delivery device. GET /rest/power-devices/{id} 3. Turn on or off the locator light. PUT /rest/power-devices/{id}/uidState s_mng-pdd_light-sdk.html[2/20/2014 10:06:58 AM] Control power to a power delivery device outlet Control power to a power delivery device outlet Some power delivery devices are equipped with locator lights that you can power on to help locate a device in the data center. You can use REST APIs to power on and off the locator lights on power delivery devices. Prerequisites Minimum required session ID privileges: Server administrator Controlling power to a power delivery device outlet using REST APIs 1. Select a power delivery device URI. GET /rest/power-devices 2. Get the power delivery device. GET /rest/power-devices/{id} 3. Turn on or off a power delivery device. PUT /rest/power-devices/{id}/powerState s_mng-pdd_power-sdk.html[2/20/2014 10:06:58 AM] Add a non-iPDU power delivery device Add a non-iPDU power delivery device Power delivery devices that the appliance cannot discover are considered unmanaged. You must provide configuration information about them before the appliance can add and analyze them. Entering configuration information about these unmanaged power delivery devices ensures more accurate analysis of power capacity, power consumption, and redundancy. To add a description of a power delivery device that is not an HP iPDU under the appliance management, add the attributes manually. Prerequisites Minimum required session ID privileges: Server administrator Adding a non-iPDU power delivery device using REST APIs POST /rest/power-devices s_add-pdd_manual-sdk.html[2/20/2014 10:06:59 AM] Read a power device Read a power device Prerequisites Minimum required session ID privileges: Server administrator Reading a power device using REST APIs 1. Select a power delivery device URI. GET /rest/power-devices 2. Get the power delivery device. GET /rest/power-devices/{id} s_view-pdd-sdk.html[2/20/2014 10:06:59 AM] Update a power delivery device Update a power delivery device To update a power delivery device, perform a PUT operation to reapply all of the power delivery device attributes. View the power delivery device attributes by using a GET operation, edit the attributes, and then perform a PUT operation using all of the attributes. Prerequisites Minimum required session ID privileges: Server administrator Updating a power delivery device using REST APIs 1. Select the power delivery device URI. GET /rest/power-devices 2. Get the power delivery device using the URI from step 1. GET /rest/power-devices/{id} 3. Edit the power delivery device. 4. Update the power delivery device. PUT /rest/power-devices/{id} s_update-pdd-sdk.html[2/20/2014 10:07:00 AM] Update enclosure capacity settings Update enclosure capacity settings To update the enclosure capacity settings, perform a PUT operation that includes only the calibratedMaxPower attribute. View the enclosure capacity settings attributes by using a GET operation, edit the calibratedMaxPower attribute, and then perform a PUT operation that includes only the edited calibratedMaxPower attribute. Prerequisites Minimum required session ID privileges: Server administrator Updating enclosure capacity settings using REST APIs 1. Select an enclosure URI. GET /rest/enclosures 2. Get the enclosure capacity using the URI from step 1. GET {enclosure URI}/environmentalConfiguration 3. Edit the enclosure capacity. The only attribute to send in the response body is calibratedMaxPower. Do not send all attributes from the GET operation. 4. Update the enclosure capacity. PUT {enclosure URI}/environmentalConfiguration s_update-enclosure_capacity-sdk-fusion.html[2/20/2014 10:07:00 AM] Update server hardware capacity settings Update server hardware capacity settings To update server hardware capacity settings, perform a PUT operation that includes only the calibratedMaxPower attribute. View server hardware capacity settings attributes by using a GET operation, edit the calibratedMaxPower attribute, and then perform a PUT operation that includes only the edited calibratedMaxPower attribute. Prerequisites Minimum required session ID privileges: Server administrator Updating server hardware capacity settings using REST APIs 1. Select a server hardware URI. GET /rest/server-hardware 2. Get the current server hardware capacity using the URI from step 1. GET {server hardware URI}/environmentalConfiguration 3. Edit the server hardware capacity. The only attribute to send in the response body is calibratedMaxPower. Do not send all attributes from the GET operation. 4. Update the server hardware capacity. PUT {server hardware URI}/environmentalConfiguration s_update-server_hardware_capacity-sdk-fusion.html[2/20/2014 10:07:00 AM] Delete a power delivery device Delete a power delivery device When a power delivery device is deleted, it is no longer managed by the appliance. Prerequisites Minimum required session ID privileges: Server administrator Deleting a power delivery device using REST APIs 1. Select a power delivery device URI. GET /rest/power-devices 2. Delete the power delivery device. DELETE /rest/power-devices/{id} s_delete-pdd-sdk.html[2/20/2014 10:07:01 AM] Chapter 26 Racks Chapter 26 Racks Use REST APIs to ... Add a rack Read a rack Learn more About racks racks APIs Update a rack Delete a rack See more tasks idx-mng-racks-sdk.html[2/20/2014 10:07:01 AM] REST About racks About racks A rack is a physical structure that contains IT equipment such as enclosures, servers, power delivery devices, and unmanaged devices (an unmanaged device uses slots in the rack and consumes power or exhausts heat, but it is not managed by the appliance). You can manage your racks and the equipment in them by adding them to the appliance. Having your racks managed by the appliance enables you to use the appliance for space and power planning. The appliance also gathers statistical data and monitors the power and temperature of the racks it manages. When you add an enclosure to the appliance, it automatically creates a rack and places the enclosure in it. The appliance places into the rack all enclosures connected by management link cables. When enclosures are added, the appliance places them in the rack from top to bottom. To accurately depict the layout of your enclosures within the rack, you must edit the rack to place the enclosure in the proper slots. You can use the appliance to view and manage your rack configuration and power delivery topology. You can specify the physical dimensions of the rack (width, height, and depth), the number of U slots, and the location of each piece of equipment in the rack. You can specify the rack PDUs that provide power to the rack, and their physical position in the rack or on either side. You can also describe how the devices in the rack are connected to those PDUs. NOTE: The default rack height is 42U. When the appliance discovers an HP Intelligent Series Rack, it sets the rack height to 42U if there is no managed server hardware above slot 42. If an HP Intelligent Series Rack contains server hardware above slot 42, the appliance sets the rack height to the highest slot that contains managed server hardware. If you add server hardware to a higher slot later, the appliance adjusts the rack height automatically. After adding a rack to the appliance for management, you can add the rack to a data center to visualize the data center layout and to monitor device power and cooling data. After the rack is under management, you can configure the power delivery topology with redundant and uninterruptible power supplies to the devices in the rack. Rack naming The way a rack is named and how you change the name of a rack depends on how it was added to the appliance. Rack naming Add method Initial naming method Name change method Automatically added when the appliance discovers an enclosure the rack contains Defined by enclosure OA Change rack name from enclosure OA Automatically discovered from a ProLiant server with Location Discovery Services Assigned using rack serial number as rack name Update a rack Manually from the Racks screen Defined by the user Update a rack s_racks-about-fusion.html[2/20/2014 10:07:01 AM] Add a rack Add a rack When you add a rack, HP ProLiant Servers mounted in HP Intelligent Series Racks are automatically grouped in racks in the proper positions. The rack serial number provides the initial rack names. This applies to BladeSystem Enclosures that provide HP Intelligent Series racks as well. If HP iPDUs (Intelligent Power Distribution Units) are powering devices in a rack, the appliance infers that they are present in the rack and automatically adds them to the rack layout. Prerequisites Minimum required session ID privileges: Server administrator Adding a rack using REST APIs POST /rest/racks s_add-rack-sdk.html[2/20/2014 10:07:02 AM] Read a rack Read a rack You can view the attributes associated with a specific rack. Prerequisites Minimum required session ID privileges: Server administrator Reading a rack using REST APIs 1. Select a rack URI. GET /rest/racks 2. Get the rack. GET /rest/racks/{id} s_view-rack-sdk.html[2/20/2014 10:07:02 AM] Update a rack Update a rack To update a rack, perform a PUT operation to reapply all of the rack attributes. View the rack attributes by using a GET operation, edit the attributes, and then perform a PUT operation using all of the attributes. Prerequisites Minimum required session ID privileges: Server administrator Updating a rack using REST APIs 1. Select a rack URI. GET /rest/racks 2. Get the rack using the URI from step 1. GET /rest/racks/{id} 3. Edit the rack. 4. Update the rack. PUT /rest/racks/{id} s_update-rack-sdk.html[2/20/2014 10:07:02 AM] Delete a rack Delete a rack When a rack is deleted, it is no longer managed by the appliance. Prerequisites Minimum required session ID privileges: Server administrator Deleting a rack using REST APIs 1. Select a rack URI. GET /rest/racks 2. Delete the rack. DELETE /rest/racks/{id} s_delete-rack-sdk.html[2/20/2014 10:07:03 AM] Chapter 27 Server Hardware Chapter 27 Server Hardware Use REST APIs to ... Learn more Add a server blade to an enclosure About server hardware Delete a server blade from management server-hardware Remove a server blade from an enclosure enclosures Reassign the server profile to a server blade previously removed from an enclosure Update firmware for specific server hardware Create a rack server Read a rack server Delete a rack server Refresh the connection between server hardware and the appliance Power on or power off server hardware Read unsupported server hardware Identify server hardware that needs administrative attention Assign administrators to fix server hardware issues See more tasks idx-mng-servers-hardware-sdk.html[2/20/2014 10:07:03 AM] REST APIs REST APIs About server hardware About server hardware A server hardware resource represents an instance of HP ProLiant BL server blades installed in and ProLiant DL rack mount servers. Blade servers are automatically detected by the appliance when the enclosure is added. If you are adding a rack server, you must add it manually to the appliance. To define the configuration for a server hardware resource, assign a server profile to it. Servers also are associated with a server hardware type. A server hardware type captures the details of the relevant physical configuration for server hardware and defines which settings are available to server profiles that are to be assigned to that type of server hardware. Connectivity and synchronization with the appliance The appliance uses the iLO or Onboard Administrator to monitor the connectivity status of server hardware. If the appliance loses connectivity with server hardware, a notification is displayed until connectivity is restored. The appliance attempts to resolve connectivity issues and clear the alert automatically, but if it cannot, you have to resolve the issue and manually refresh the server hardware to synchronize it with the appliance. The appliance also monitors server hardware to remain synchronized with changes to hardware and configuration settings. However, some changes to devices made outside of the control of the appliance (from iLO or the OA, for example) might cause them to lose synchronization with the appliance. You might have to manually refresh devices that lose synchronization with the appliance. NOTE: HP recommends that you do not use the iLO or the OA to make changes to a device if the device is managed by the appliance. Making changes to a device from its iLO or OA could cause it to lose synchronization with the appliance. Server hardware features supported by the appliance HP ProLiant BL Feature G7[a] Power on or power off the server View inventory data Monitor power, cooling, and utilization Monitor health and alerts Launch iLO remote console SSO (single sign-on): The appliance enables SSO to iLO and OA without storing user-created iLO or OA credentials. s_server-about-fusion.html[2/20/2014 10:07:04 AM] With manual installation of SNMP Agents HP ProLiant BL Gen8 HP ProLiant DL Gen8[b] About server hardware Automatic firmware upgrade (iLO) to minimum supported version when added to the appliance Automatic rack visualization and editing Manual rack visualization and editing Automatic discovery of server hardware type Server profile features Edit BIOS Settings Firmware management Connections to networks [a] The appliance might report an unsupported status for some double-wide, double-dense ProLiant G7 blade server models, which means that the appliance cannot manage them. To learn more, see About unsupported server hardware. [b] Not every model of HP ProLiant DL rack server supports every feature listed in this table. About unsupported server hardware The appliance cannot manage unsupported server hardware. However, you can place unsupported server hardware in enclosures or racks. Adding unsupported server hardware to the appliance enables you to account for the physical space it occupies in an enclosure or rack for planning and inventory purposes. The appliance displays basic information about unsupported server hardware that it obtains from the iLO or the OA. When the appliance detects unsupported server hardware, it places the hardware in the Unsupported state and provides a link to launch the iLO Remote Console. You can perform a remove action on unsupported server hardware to remove it from the appliance. s_server-about-fusion.html[2/20/2014 10:07:04 AM] Add a server blade to an enclosure Add a server blade to an enclosure When you insert a server blade into an empty slot in an enclosure, it is automatically recognized, and an alert is generated that a server blade was added. Performing a GET on the enclosure shows that the server blade status is OK and no profile is associated with it. To find all the recently added blade servers, perform a GET on the alerts resource. Prerequisites Minimum required session ID privileges: Server administrator Viewing recently added server blades in the appliance environment using REST APIs GET /rest/alerts?filter="lifeCycle"&filter="physicalResourceType='server_hardware'" s_add_blade_server-sdk.html[2/20/2014 10:07:04 AM] Delete a server blade from management Delete a server blade from management To remove a server blade from management, you must remove an entire enclosure. See Delete an enclosure from management. s_remove_blade_server-sdk.html[2/20/2014 10:07:04 AM] Remove a server blade from an enclosure Remove a server blade from an enclosure When you physically remove a server blade from an enclosure, an alert is created. If the server blade has an associated server profile, the server profile status will change to critical. To learn more about how to reinsert the server blade, see Reassign the server profile to a server blade previously removed from an enclosure. s_remove_blade_server_enclosure-sdk.html[2/20/2014 10:07:05 AM] Reassign the server profile to a server blade previously removed from an enclosure Reassign the server profile to a server blade previously removed from an enclosure When you reinsert a server blade into the same bay, the server profile is reassociated with it and a task notification is created. But, if you reinsert a server blade into a different bay, the server profile associated with that server blade has a task error message stating that the server blade has been moved to a new location. To resolve this issue, either reassign the server profile to the server blade in the new location, or move the server blade to the original bay. Prerequisites Minimum required session ID privileges: Server administrator Reassigning the server profile to a server blade previously removed from an enclosure using REST APIs 1. Get the server blade that was reinserted into a different bay. GET /rest/server-hardware?filter="state='AddedWithErrors'" 2. Get the server profile URI that was associated with the server blade. GET /rest/tasks?filter="associatedResourceUri='{server blade URI}'" 3. Get the server profile associated with the server blade. GET /rest/server-profiles/{id} 4. Add the correct server hardware URI to the server profile. 5. Update the server profile. POST /rest/server-profiles s_add_prev-removed_blade_server-sdk.html[2/20/2014 10:07:05 AM] Update firmware for specific server hardware Update firmware for specific server hardware The firmware update for server hardware is managed through the server profile. After you select the server hardware, the associated server profile is modified to update the firmware. Prerequisites Minimum required session ID privileges: Infrastructure administrator Updating firmware for specific server hardware using REST APIs 1. Select server hardware URI with a server profile. GET /rest/server-hardware 2. Select the firmware URI you prefer to apply. GET /rest/firmware-drivers 3. Get the server profile assigned to the server hardware. GET /rest/server-profiles/{id} 4. Replace the firmware URI in the server profile. 5. Update the server profile. PUT /rest/server-profiles/{id} s_update_server_firmware-sdk.html[2/20/2014 10:07:05 AM] Create a rack server Create a rack server Before you can add a rack server, you need the iLO management processor credentials for the rack server. Prerequisites Minimum required session ID privileges: Infrastructure administrator or Server administrator The server’s iLO is configured with a host name or IP address The server is connected to a live power source Adding a rack server using REST APIs POST /rest/server-hardware s_add-rack_server-sdk-fusion.html[2/20/2014 10:07:06 AM] Read a rack server Read a rack server Prerequisites Minimum required session ID privileges: Server administrator Reading a rack server using REST APIs 1. Select a rack server URI. GET /rest/server-hardware 2. Read the rack server. GET /rest/server-hardware/{id} s_view_rack_server-sdk.html[2/20/2014 10:07:06 AM] Delete a rack server Delete a rack server When a rack server is deleted, it is no longer under appliance management. Prerequisites Minimum required session ID privileges: Server administrator Deleting a rack server using REST APIs 1. Select a rack server URI. GET /rest/server-hardware 2. Delete a rack server. DELETE /rest/server-hardware/{id} s_delete_rack_server-sdk.html[2/20/2014 10:07:06 AM] Refresh the connection between server hardware and the appliance Refresh the connection between server hardware and the appliance If server hardware has lost connectivity or is not synchronized with the appliance, you need to refresh it. During normal operation, server hardware can lose connectivity with the appliance and become out of sync if you make changes to it through the iLO or OA. To prevent loss of connectivity, use the appliance to make changes to server hardware. Prerequisites Minimum required session ID privileges: Infrastructure administrator or Server administrator Refreshing server hardware using REST APIs PUT /rest/server-hardware/{id}/refreshState s_refresh_server_hardware-sdk.html[2/20/2014 10:07:07 AM] Power on or power off server hardware Power on or power off server hardware There are several options for powering on or powering off server hardware. For example, when powering off server hardware, you can choose MomentaryPress, PressAndHold, ColdBoot, or Reset. Prerequisites Minimum required session ID privileges: Infrastructure administrator Powering on or powering off server hardware using REST APIs 1. Select the server hardware URI. GET /rest/server-hardware 2. Get the server hardware power status. GET /rest/server-hardware/{id}/powerState 3. Update the server hardware power status. PUT /rest/server-hardware/{id}/powerState s_power-on_off_server-sdk.html[2/20/2014 10:07:07 AM] Read unsupported server hardware Read unsupported server hardware When unsupported server hardware is added into the appliance environment, the hardware is not managed. You can retrieve a list of unsupported hardware in your environment. Prerequisites Minimum required session ID privileges: Infrastructure administrator Reading unsupported server hardware using REST APIs GET /rest/server-hardware?filter="state='Unsupported'" s_view-unsupported_server_hardware-sdk.html[2/20/2014 10:07:08 AM] Identify server hardware that needs administrative attention Identify server hardware that needs administrative attention To get server hardware that might need administrative attention, you can filter alerts specifically for server hardware. The example below shows how to find server hardware using the severity and urgency attributes. Prerequisites Minimum required session ID privileges: Infrastructure administrator Identifying server hardware that needs administrative attention using REST APIs GET /rest/alerts?filter="physicalResourceType='physical_servers'"&filter="severity='{UNKNOWN, OK, MAJOR, CRITICAL}'"&filter="urgency='{None, Deferrable, Medium, High, Immediate, Unknown}'" s_identify_server-issues-sdk.html[2/20/2014 10:07:08 AM] Assign administrators to fix server hardware issues Assign administrators to fix server hardware issues You can filter alerts specifically for server hardware and additional attributes such as severity. After you get the alerts, edit the assigned user value, and then update the alerts. Prerequisites Minimum required session ID privileges: Infrastructure administrator Assigning administrators to fix server hardware issues using REST APIs 1. Get server hardware alerts without an owner. GET /rest/alerts? filter="physicalResourceType='serverhardware'"&filter="severity='{UNKNOWN, OK, MAJOR, CRITICAL}'"&filter="urgency='{None, Deferrable, Medium, High, Immediate, Unknown}'"&filter="assignedToUser='null'" 2. Add an administrator to the alert. 3. Update the alert. PUT/rest/alerts/{id} s_assign_admin-server-issues-sdk.html[2/20/2014 10:07:08 AM] Chapter 28 Server Hardware Types Chapter 28 Server Hardware Types Server hardware types are automatically created when an enclosure or rack is added. This API allows you to retrieve and update the available server hardware types. Use REST APIs to ... Learn more Read server hardware types About server hardware types Update a server hardware type server-hardware-types APIs See more tasks idx-mng-servers-hardware-types-sdk.html[2/20/2014 10:07:09 AM] REST About server hardware types About server hardware types A server hardware type defines the physical configuration for server hardware and defines the settings that are available to server profiles to be assigned to that type of server hardware. For example, the server hardware type for the HP ProLiant BL460c Gen8 Server Blade includes a complete list of BIOS settings and the defaults for that model. The appliance creates server hardware types according to the server hardware it detects. The server hardware type is used when you create a server profile to show which settings are available. If a suitable server hardware type already exists, it is reused when you create a server profile for a server blade or rack server, otherwise a new server hardware type is created automatically. s_types-about-fusion.html[2/20/2014 10:07:09 AM] Read server hardware types Read server hardware types Prerequisites Minimum required session ID privileges: Server administrator Reading server hardware types using REST APIs 1. Select a server hardware type URI. GET /rest/server-hardware-types 2. Get the server hardware type. GET /rest/server-hardware-types/{id} s_view-server_hardware_type-sdk.html[2/20/2014 10:07:09 AM] Update a server hardware type Update a server hardware type To update a server hardware type, perform a PUT operation to reapply all of the server hardware type attributes. View the server hardware type attributes by using a GET operation, edit the attributes, and then perform a PUT operation using all of the attributes. Prerequisites Minimum required session ID privileges: Server administrator Updating a server hardware type using REST APIs 1. Select the server hardware type URI. GET /rest/server-hardware-types 2. Get the server hardware type using the URI from step 1. GET /rest/server-hardware-types/{id} 3. Edit the server hardware type. 4. Update the server hardware type. PUT /rest/server-hardware-types/{id} s_edit-server_hardware_type-sdk.html[2/20/2014 10:07:10 AM] Chapter 29 Server Profiles Chapter 29 Server Profiles You can create a server profile for specific hardware or create an unassigned server profile. A server profile for specific hardware is based on the server hardware type and the enclosure group. The server hardware type associated with a specific server, automatically assigned when an enclosure is added, defines what BIOS settings can be applied along with other attributes. The enclosure group defines what connections are available to the server based on the logical interconnect group referenced by the enclosure group. Use REST APIs to ... Learn more Create a server profile About server profiles Create an unassigned server profile to use as a template server-profiles Create a server profile with user-specified IDs Copy an unassigned server profile Assign an unassigned server profile Read a server profile Update a server profile Delete a server profile See more tasks idx-mng-servers-profiles-sdk.html[2/20/2014 10:07:10 AM] REST APIs About server profiles About server profiles After setting up your environment, you can create hardware-specific server profiles to provision hundreds or thousands of servers as easily as you provision one server. A server profile is the configuration for a server instance. Server profiles capture the entire server configuration in one place, enabling you to consistently replicate new server profiles and to rapidly modify them to reflect changes in your data center environment. A server profile includes: Basic server identification information Connectivity on specific Ethernet networks, network sets, and Fibre Channel networks Firmware versions Local storage settings BIOS settings Boot order Physical or virtual UUIDs, MAC addresses, and WWN addresses You can create an unassigned server profile to serve as a server profile template. Typically, you capture your best practice configurations in a server template, and then copy and deploy instances as individual server profiles. Similar to VM (virtual machine) templates, profiles enable you to create a provisioning baseline for server hardware types in an enclosure. Server profiles are locked to a specific server hardware type and enclosure group at the time the profile is created, whether the profile is assigned or unassigned. Applying the sections of a server profile to server hardware is a sequential process. The screen displays the current section being applied, followed by other sections that are successfully applied. If a server profile needs to be reapplied due to an error, only the unconfigured sections and yet unapplied sections are reapplied. For example, if a firmware update succeeds but the subsequent BIOS portion of the apply operation fails, the firmware is not applied a second time when the profile is reapplied. This helps to prevent unnecessary and time-consuming updates for the profile. NOTE: For best performance, perform server profile management tasks on one enclosure at a time. That is, create, delete, edit, copy, or move server profiles for server hardware in one enclosure before managing server profiles in a different enclosure. s_profile_overview-fusion.html[2/20/2014 10:07:11 AM] Create a server profile Create a server profile Prerequisites Minimum required session ID privileges: Server administrator A managed enclosure that includes a blade server without a server profile or a rack server under management without a server profile The selected server hardware is powered off NOTE: Duplicate VLANs must be placed on different physical ports (LOMs). Create or edit the connections to specify different networks or place them on different physical ports. Creating a server profile using REST APIs 1. Get a server hardware URI. GET /rest/server-profiles/servers 2. Select the BIOS settings for the server hardware using the associated server hardware type URI. GET /rest/server-hardware-types/{id} 3. Get available server ports using the server hardware type URI and enclosure group URI associated with the server hardware. GET /rest/server-profiles/profile-ports? serverHardwareTypeUri={uri}&enclosureGroupUri={uri} 4. Select the network URIs for the server profile connections using the server hardware type URI and the enclosure group URI. GET /rest/server-profiles/available-networks? serverHardwareTypeUri={uri}&enclosureGroupUri={uri} 5. Select the firmware URI you prefer to apply. GET /rest/firmware-drivers 6. Create the server profile with the information from the previous steps. During this step you can specify the boot order and BIOS settings. POST /rest/server-profiles See also Quick Start: Initial configuration using REST APIs (top of chapter) s_create-hardware_server_profile-sdk.html[2/20/2014 10:07:11 AM] Create an unassigned server profile to use as a template Create an unassigned server profile to use as a template Prerequisites Minimum required session ID privileges: Server administrator Added enclosure that includes a server blade without a server profile Creating an unassigned server profile using REST APIs 1. Get a server hardware type URI. GET /rest/server-hardware-types 2. Select the enclosure group URI. GET /rest/enclosure-groups 3. Select the BIOS settings for the server hardware. GET /rest/server-hardware-types/{id} 4. Get available server ports using the server hardware type URI and enclosure group URI. GET /rest/server-profiles/profile-ports? serverHardwareTypeUri={uri}&enclosureGroupUri={uri} 5. Select the network URIs for the server profile connections using the server hardware type URI and enclosure group URI. GET /rest/server-profiles/available-networks? serverHardwareTypeUri={uri}&enclosureGroupUri={uri} 6. Select the firmware URI you prefer to apply. GET /rest/firmware-drivers 7. Get available ports for the server hardware type and enclosure. POST /rest/server-profiles/profile-ports? serverHardwareTypeUri={uri}&enclosureGroupUri={uri} 8. Create the server profile with the information from the previous steps. POST /rest/server-profiles s_create-unnassigned_server_profile-sdk.html[2/20/2014 10:07:11 AM] Create a server profile with user-specified IDs Create a server profile with user-specified IDs Use user-specified IDs to migrate server profiles from HP Virtual Connect or HP Virtual Connect Enterprise Manager to HP OneView, or to re-create an accidentally-deleted server profile with SAN storage. If you are re-creating a deleted server profile that uses SAN storage, first create an unassigned server profile, then copy the virtual IDs that you need from that profile, and then delete the profile to release the IDs for use in your recreated server profile. To retain storage provisioning, you must use the WWPN from the original server profile. This WWPN is in the storage array volume export. Prerequisites Minimum required session ID privileges: Server administrator A managed enclosure that includes a server blade without a server profile If you are re-creating an accidentally-deleted server profile with SAN storage: WWPN that storage is exported to that should exist in the storage array volume export. WWNN: any WWN not currently in use—typically WWPN +/- 1. MAC: any virtual MAC address not currently in use. TIP: You can obtain a free MAC address by creating an unassigned profile with a virtual MAC address, copy the MAC address, and then delete the profile. Create an unassigned server profile, note the virtual IDs, and delete the unassigned server profile to release the IDs for use in your re-created server profile. See Create an unassigned server profile to use as a template. If you are migrating server profiles from HP Virtual Connect or HP Virtual Connect Enterprise Manager, you need the IDs used in those server profiles. Creating a server profile with user-specified IDs using REST APIs 1. Get a server hardware URI. GET /rest/server-profiles/servers 2. Select the BIOS settings for the server hardware using the associated server hardware type URI. GET /rest/server-hardware-types/{id} 3. Get available server ports using the server hardware type URI and enclosure group URI associated with the server hardware. GET /rest/server-profiles/profile-ports? serverHardwareTypeUri={uri}&enclosureGroupUri={uri} 4. Select the network URIs for the server profile connections using the server hardware type URI and the s_create-server_profile_userids-sdk.html[2/20/2014 10:07:12 AM] Create a server profile with user-specified IDs enclosure group URI. GET /rest/server-profiles/available-networks? serverHardwareTypeUri={uri}&enclosureGroupUri={uri} 5. Select the firmware URI to apply. GET /rest/firmware-drivers 6. Create the server profile with the information from the previous steps. During this step you can specify the boot order and BIOS settings and add the user-specified IDs. Serial number serialNumberType:UserDefined serialNumber:{serial number not in use or serial number transferred from VC/VCEM} Ethernet connection macType:UserDefined macAddress:{virtual mac address not in use or virtual mac address transferred from VC/VCEM} Fibre Channel connection wwpnType:UserDefined wwpn:{virtual wwpn not in use, wwpn from accidentally-deleted profile with SAN storage, or wwpn transferred from VC/VCEM} wwnn:{virtual wwnn not in use, wwnn from accidentally-deleted profile with SAN storage, or wwnn transferred from VC/VCEM} macType:UserDefined macAddress:{virtual mac address not in use or virtual mac address transferred from VC/VCEM } POST /rest/server-profiles s_create-server_profile_userids-sdk.html[2/20/2014 10:07:12 AM] Copy an unassigned server profile Copy an unassigned server profile Prerequisites Minimum required session ID privileges: Server administrator Copying an unassigned server profile using REST APIs 1. Get all server profiles. GET /rest/server-profiles 2. Search for serverHardwareUri=null in the list of returned server profiles to find unassigned server profiles. Select an unassigned server profile. 3. Get the unassigned server profile. GET /rest/server-profiles/{id} 4. Delete the server profile uri value. 5. Create a new server profile. POST /rest/server-profiles s_copy-unnassigned_server_profile-sdk.html[2/20/2014 10:07:12 AM] Assign an unassigned server profile Assign an unassigned server profile Prerequisites Minimum required session ID privileges: Server administrator Assigning an unassigned server profile using REST APIs 1. Get all server profiles. GET /rest/server-profiles 2. Search for serverHardwareUri=null in the list of returned server profiles to find unassigned server profiles. Select an unassigned server profile. 3. Get the unassigned server profile. GET /rest/server-profiles/{id} 4. Get server hardware using the unassigned server profile hardware type and enclosure group. GET /rest/server-profiles/serversserverHardwareTypeUri={uri}&enclosureGroupUri={uri} 5. Add the server hardware URI to the server profile. 6. Update the server profile. PUT /rest/server-profiles/{id} s_assign-unnassigned_server_profile-sdk.html[2/20/2014 10:07:12 AM] Unassign a server profile Unassign a server profile Prerequisites Minimum required session ID privileges: Server administrator Unassigning a server profile using REST APIs 1. Select a server profile URI. GET /rest/server-profiles 2. Get the server profile. GET /rest/server-profiles/{id} 3. Delete the server profile serverHardwareUri value. 4. Update the server profile. PUT /rest/server-profiles/{id} s_unnassign_server_profile-sdk.html[2/20/2014 10:07:13 AM] Read a server profile Read a server profile Reading a server profile using REST APIs 1. Select a server profile URI. GET /rest/server-profiles 2. Read the server profile. GET /rest/server-profiles/{id} s_view-server_profile-sdk.html[2/20/2014 10:07:13 AM] Update a server profile Update a server profile To update a server profile, perform a PUT operation to reapply all of the server profile attributes. View the server profile attributes by using a GET operation, edit the attributes, and then perform a PUT operation using all of the attributes. Prerequisites Minimum required session ID privileges: Server administrator Added enclosure that includes a server blade without a server profile Editing some server profile settings requires the server hardware to be powered off, while for others, the server hardware can remain powered on. You can edit the following settings with server hardware powered on: Profile name Profile description Requested bandwidth of an existing connection Changes between a network and network set of an existing connection NOTE: You cannot change an existing connection between Ethernet (network or network set) and Fibre Channel networks. A Fibre Channel network can only be changed to another Fibre Channel network on the same interconnect. Updating a server profile using REST APIs 1. Select the server profile URI. GET /rest/server-profiles 2. Get the server profile using the URI from step 1. PUT /rest/server-profiles/{id} 3. Edit the server profile. 4. Update the server profile. PUT /rest/server-profiles/{id} IMPORTANT: When you move a server profile to a different enclosure, if the profile is configured to boot from a Direct attach storage device, you must manually update the boot connection of the profile to specify the WWPN that is used for the storage device that is directly attached to the destination enclosure. Each enclosure connects to a different port of the Direct attach storage device, so the WWPN for that storage device s_update-server_profile-sdk.html[2/20/2014 10:07:13 AM] Update a server profile is different for each enclosure. If you do not specify the correct WWPN and LUN for the device, the server does not successfully boot from that boot target. s_update-server_profile-sdk.html[2/20/2014 10:07:13 AM] Delete a server profile Delete a server profile Prerequisites Minimum required session ID privileges: Server administrator Deleting a server profile using REST APIs 1. Select a server profile URI. GET /rest/server-profiles 2. Delete the server profile. DELETE /rest/server-profiles/{id} s_delete-server_profile-sdk.html[2/20/2014 10:07:14 AM] Chapter 30 Unmanaged Devices Chapter 30 Unmanaged Devices Use REST APIs to ... Learn more Create an unmanaged device Read an unmanaged device About unmanaged devices unmanaged-devices APIs Update an unmanaged device See more tasks idx-mng-unmanaged_devices-sdk.html[2/20/2014 10:07:14 AM] REST About unmanaged devices About unmanaged devices An unmanaged device is a device, such as a server, enclosure, KVM (keyboard, video and mouse) switch, in-rack monitor/keyboard, or router, that occupies space in a rack and/or consumes power but is not managed by the appliance. Unmanaged devices are created automatically to represent devices that are attached to an HP Intelligent Power Distribution Unit (iPDU) using HP Power Discovery Services connections. BladeSystem enclosures and HP ProLiant DL series servers are in the unmanaged or unsupported state. These will be represented as unmanaged enclosures and servers and are not unmanaged-devices resources. When creating an unmanaged device, you provide its name, model description, height in U-slots and maximum power requirements. These values are used in power and cooling capacity analysis and enable alerts to be generated identify potential power and cooling issues. Because there is no communication to the unmanaged device, the status is disabled unless appliance-generated alerts identify issues to be addressed. For purposes of power configuration, unmanaged devices are assumed to have two power supply connections to support redundant power. These are identified as power supplies 1 and 2. If an unmanaged device does not support redundant power, connect only power supply 1, then clear the alert about lack of redundant power to the device. For devices that are not discovered through HP Power Discovery Services connections, you can manually add these devices to the appliance for tracking, inventory, and power management purposes. s_unmanaged-about-fusion.html[2/20/2014 10:07:15 AM] Create an unmanaged device Create an unmanaged device Devices that the appliance does not automatically add and manage are unmanaged devices. You can manually add these devices to the appliance for tracking, inventory, and power management purposes. Prerequisites Minimum required session ID privileges: Infrastructure administrator or Server administrator Creating an unmanaged device using REST APIs POST /rest/unmanaged-devices s_add-unmanaged_device-sdk.html[2/20/2014 10:07:15 AM] Read an unmanaged device Read an unmanaged device Prerequisites Minimum required session ID privileges: Infrastructure administrator or Server administrator Reading an unmanaged device using REST APIs 1. Select an unmanaged device URI. GET /rest/unmanaged-devices 2. Get the unmanaged device. GET /rest/unmanaged-devices/{id} s_view-unmanaged_device-sdk.html[2/20/2014 10:07:15 AM] Update an unmanaged device Update an unmanaged device To update an unmanaged device, perform a PUT operation to reapply all of the unmanaged device attributes. View the unmanaged device attributes by using a GET operation, edit the attributes, and then perform a PUT operation using all of the attributes. Prerequisites Minimum required session ID privileges: Infrastructure administrator or Server administrator Updating an unmanaged device using REST APIs 1. Select an unmanaged device URI. GET /rest/unmanaged-devices 2. Get the unmanaged device using the URI from step 1. GET /rest/unmanaged-devices/{id} 3. Edit the unmanaged device. 4. Update the unmanaged device. PUT /rest/unmanaged-devices/{id} s_edit-unmanaged_device-sdk.html[2/20/2014 10:07:16 AM] Chapter 31 Users and Groups Chapter 31 Users and Groups You can create an account with either local authentication or associate directory-based authentication. Local authentication accounts are managed by the appliance in a database located in the appliance. Directory-based authentication accounts are managed externally by another service, such as Microsoft Active Directory. Use REST APIs to ... Learn more Create a user with local authentication About user accounts Update a local user account About user roles Update a local user password Action privileges for user roles Delete a local user account users Add an authentication login domain logindomains Assign roles to an enterprise group logindomains/global-settings Change the default authentication login domain Reset the administrator password Enable or disable local logins See more tasks idx-mng-security-sdk.html[2/20/2014 10:07:16 AM] REST APIs REST APIs logindomains/grouptorolemapping APIs Delete an authentication login domain REST APIs REST About user accounts About user accounts The appliance provides default roles to separate responsibilities in an organization. A user role enables access to specific resources managed from the appliance. Role-based access control enforces permissions to perform operations that are assigned to specific roles. You assign specific roles to system users or processes, which gives them permission to perform certain system operations. Because a user is not assigned permissions directly, but instead acquires them through their role (or roles), individual user rights are managed by assigning the appropriate roles to the user. At initial appliance startup, there is a default administrator account with full access (Infrastructure administrator) privileges. For more information about the actions each role can perform, see Action privileges for user roles. If you cannot see resource information or perform a resource task, your assigned role does not have the correct privileges. In this case, you should request a different role or an additional role. s_about-users-fusion.html[2/20/2014 10:07:16 AM] About user roles About user roles User roles enable you to assign permissions and privileges to users based on their job responsibilities. You can assign full privileges to a user, or you can assign a subset of permissions to view, create, edit, or remove resources managed by the appliance. Appliance role types Role Type of user Associated permissions or privileges Full Infrastructure administrator View, create, edit, or remove resources managed by the appliance, including management of the appliance itself through the UI or command line An Infrastructure administrator can also manage information provided by the appliance in the form of activities, notifications, and logs. Only an Infrastructure administrator can restore an appliance from a backup file. Read only Read only View only access Specialized Backup administrator Create and download backup files, view the appliance settings and activities. Has the authority to use scripts to log in to the appliance and run scripts to back up the appliance. NOTE: This role is specifically intended for scripted backup creation and download. HP recommends that users with this role should not initiate interactive login sessions through the HP OneView user interface. Network administrator View, create, edit, or remove networks, network sets, connections, interconnects, uplink sets, and firmware bundles; view related activities, logs, and notifications View, create, edit, or remove server profiles and templates, network sets, enclosures, and firmware bundles Server administrator Access the Onboard Administrator and physical servers View connections, networks, racks, power, and related activities, logs, and notifications s_user-about-roles-atlas.html[2/20/2014 10:07:17 AM] Action privileges for user roles Action privileges for user roles The following table lists the user action privileges associated with each user role. The Use privilege is a special case that allows you to associate objects to objects that you own but you are not allowed to change. For example, in a logical interconnect group, a user assigned the role of Server administrator is not allowed to define logical interconnect groups, but can use them when adding an enclosure. s_user-role-actions-fusion.html[2/20/2014 10:07:17 AM] Create a user with local authentication Create a user with local authentication You can add a user authorized to access all resources managed by the appliance (full access user) or a user who has access based on their job responsibilities (role-based specialist). For each of these users, authentication is confirmed by comparing the user login information to an authentication directory hosted locally on the appliance. The default administrator login for the appliance is automatically assigned with full access (Infrastructure administrator) privileges. Prerequisites Minimum required session ID privileges: Infrastructure administrator You must have the following information: User's unique identifier name Initial password User's full name Optional: Contact information for the user Creating a new local user using REST APIs 1. Create a local user. POST /rest/users 2. Assign a role to the local user. POST /rest/users/role See also Quick Start: Initial configuration using REST APIs (top of chapter) s_add_user-local_authentication-sdk.html[2/20/2014 10:07:17 AM] Update a local user account Update a local user account To update a local user account, perform a PUT operation to reapply all of the local user account attributes. View the local user account attributes by using a GET operation, edit the attributes, and then perform a PUT operation using all of the attributes. Prerequisites Minimum required session ID privileges: Infrastructure administrator Updating a user account using REST APIs 1. Select the user account URI. GET /rest/users 2. Edit the user account. NOTE: See the UserModify resource model for the list of attributes that can be modified. 3. Update the user account. The request body contains the UserModify resource model. PUT /rest/users s_edit-user_account-sdk.html[2/20/2014 10:07:18 AM] Update a local user password Update a local user password To update a user password, perform a PUT operation to reapply all of the user account attributes. View the user account attributes by using a GET operation, edit the attributes, and then perform a PUT operation using all of the attributes. Prerequisites Minimum required session ID privileges: Infrastructure administrator Updating a user password using REST APIs 1. Select the user account URI. GET /rest/users 2. Change the user account password. NOTE: See the UserModify resource model for the list of attributes that can be modified. 3. Update the user account password. The request body contains the UserModify resource model. PUT /rest/users s_change-user_password-sdk.html[2/20/2014 10:07:18 AM] Delete a local user account Delete a local user account Prerequisites Minimum required session ID privileges: Infrastructure administrator Deleting a user account using REST APIs 1. Select a user account URI. GET /rest/users 2. Delete the user account. DELETE /rest/users/{userName} s_remove_user-account-sdk.html[2/20/2014 10:07:19 AM] Add an authentication login domain Add an authentication login domain You can use an external authentication login domain (also called an enterprise directory) to authenticate users logging in to the appliance instead of maintaining individual local login accounts. If you replicate the authentication login domain for high availability or disaster tolerance, add the replicated login domain as a separate login domain. Prerequisites Minimum required session ID privileges: Infrastructure administrator Information about the directory service you are adding: Directory name Protocol Base DN (domain name) Directory servers Obtain an X509 certificate from the directory service provider. This certificate ensures the integrity of communication between the appliance and the directory service. Creating an authentication login domain using REST APIs POST /rest/logindomains s_add-auth_login_domain-sdk.html[2/20/2014 10:07:19 AM] Assign roles to an enterprise group Assign roles to an enterprise group To add enterprise group users, they must be a part of an enterprise group. When you add a group and assign one or more roles to that group, the group’s users are automatically set up for appliance authentication and authorization. Prerequisites Minimum required session ID privileges: Infrastructure administrator One or more authentication directories are configured in the appliance Credentials to access the directory Assigning roles to a directory-based group using REST APIs POST /rest/login-domains/grouptorolemapping See also Quick Start: Initial configuration using REST APIs s_add_user-directory_authentication-sdk.html[2/20/2014 10:07:19 AM] Change the default authentication login domain Change the default authentication login domain Initially, the default login domain is the local domain of user accounts. Use this procedure to designate an authentication login domain as the default login domain. If you added more than one authentication login domain, you can also use this procedure to select a different default login domain. Prerequisites Minimum required session ID privileges: Infrastructure administrator At least one authentication directory service must be available on the appliance Changing the default authentication login domain using REST APIs 1. Select a new default login domain URI. GET /rest/logindomains 2. Change the default login domain. POST logindomains/global-settings/default-login-domain NOTE: When you change the default login domain using this REST API, the new default login domain is displayed on the appliance UI log in screen. s_change-auth_login_domain-sdk.html[2/20/2014 10:07:20 AM] Delete an authentication login domain Delete an authentication login domain Prerequisites Minimum required session ID privileges: Infrastructure administrator The authentication directory service to be removed must not be the default directory. Either set another authentication login domain as the default or allow local logins. See Change the default authentication login domain or Enable or disable local logins. Deleting an authentication login domain using REST APIs 1. Select the login domain URI. GET /rest/logindomains 2. Delete the login domain. DELETE /rest/logindomains/{LoginDomain} s_delete-auth_directory_service-sdk.html[2/20/2014 10:07:20 AM] Reset the administrator password Reset the administrator password Before you can reset the administrator password, you must access the appliance console and create a temporary administrator password. You use this password in the REST API complete the administrator password reset. See Access to the appliance console. Prerequisites Minimum required session ID privileges: Infrastructure administrator Temporary administrator password from the appliance console. Resetting the administrator password using REST APIs PUT /rest/users/administrator/resetPassword s_reset_admin_password-sdk.html[2/20/2014 10:07:20 AM] Enable or disable local logins Enable or disable local logins The appliance is configured to allow local logins by default. If you disabled local logins so that you could use an authentication directory service exclusively, use this procedure to allow local logins. Prerequisites Minimum required session ID privileges: Infrastructure administrator Enabling or disabling local logins using REST APIs 1. Get the current status of local login. GET /rest/logindomains/global-settings/allow-local-login 2. Enable or disable local logins. POST /rest/logindomains/global-settings/allow-local-login s_edit_local_login-sdk.html[2/20/2014 10:07:21 AM] Chapter 32 Utilization Chapter 32 Utilization Use REST APIs to ... Read utilization for a specific enclosure Learn more /rest/enclosures/{id}/utilization REST APIs Read utilization for specific server hardware /rest/server-hardware/{id}/utilization Read utilization for a specific power delivery device REST APIs See more tasks APIs /rest/power-devices/{id}/utilization idx-mng-utilization-sdk.html[2/20/2014 10:07:21 AM] REST Read utilization for a specific enclosure Read utilization for a specific enclosure You can view historical data for enclosure utilization, such as average power and average peak power, for the last 24 hours. Prerequisites Minimum required session ID privileges: Server administrator Reading utilization for a specific enclosure using REST APIs 1. Select an enclosure URI. GET /rest/enclosures 2. Get utilization for a specific enclosure. GET /rest/enclosures/{id}/utilization s_view-enclosure_utilization-sdk.html[2/20/2014 10:07:21 AM] Read utilization for specific server hardware Read utilization for specific server hardware You can view historical data for server hardware utilization, such as CPU utilization, ambient temperature, average power and average peak power, for the last 24 hours for a specified time range. Prerequisites Minimum required session ID privileges: Infrastructure administrator or Server administrator Reading utilization for specific server hardware using REST APIs 1. Select a server hardware URI. GET /rest/server-hardware 2. Get utilization data for specific server hardware. GET /rest/server-hardware/{id}/utilization s_view-utilization_serverhardware-sdk.html[2/20/2014 10:07:22 AM] Read utilization for a specific power delivery device Read utilization for a specific power delivery device You can view historical data for power delivery device utilization, such as average power and average peak power, for the last 24 hours. Prerequisites Minimum required session ID privileges: Infrastructure administrator or Server administrator Reading utilization for a specific power delivery device using REST APIs 1. Select a power delivery device URI. GET /rest/power-devices 2. Get utilization for specific power delivery device. GET /rest/power-devices/{id}/utilization s_view-utilization_pdd-sdk.html[2/20/2014 10:07:22 AM] Chapter 33 Troubleshooting the appliance Chapter 33 Troubleshooting the appliance Use REST APIs to ... Troubleshoot restore and backup Recover from an unexpected appliance shutdown idx-troubleshooting-sdk.html[2/20/2014 10:07:22 AM] Learn more See the UI help Troubleshooting appliance backup and restore Troubleshooting appliance backup and restore If an unrecoverable error occurs while restoring an appliance, the appliance reboots and then resets to factory default settings. In that situation, you must usie the user interface or REST APIs (Configure the appliance) to reconfigure the appliance. After reconfiguring the appliance, use a different backup file to restore the appliance. Resolving HTTP errors The following table lists REST API error codes and resolutions. HTTP error Response body error code Description and resolution Description: 400 Bad Request INVALID_PARAMETER Resolution: An invalid parameter was specified. Specify a valid backup ID. It must be in the form: hostname_backup_YYYY-MMdd_HHmmss Description: Verify the credentials. 401 Unauthorized AUTHORIZATION Resolution: 404 Not Found Specify the correct user name and password. Description: The incorrect URI was specified. Resolution: Specify the correct URI. You may need to wait for the appliance software to start. You can find out the correct URI using this document. It might help to issue the REST request to obtain the last backup resource. RESOURCE_NOT_FOUND BACKUP_IN_PROGRESS An incorrect user name or password was specified. The requested operation cannot be performed because a backup is in progress. A backup cannot Description: be uploaded or restored while the appliance is taking a backup. Resolution: Wait until the backup finishes or cancel the backup, then retry the operation. The requested operation cannot be performed because a backup is being downloaded. A backup s_ts-restore-backup-sdk.html[2/20/2014 10:07:23 AM] Troubleshooting appliance backup and restore Description: BACKUP_DOWNLOAD_IN_PROGRESS 409 Conflict Resolution: Wait until the download finishes, then retry the operation. Description: The requested operation cannot be performed while a backup file is uploaded. Resolution: Wait until the upload finishes, then retry the operation. Description: The requested operation cannot be performed while a restore operation is in progress. Resolution: Wait until the restore operation finishes, then retry the operation. BACKUP_UPLOAD_IN_PROGRESS BACKUP_RESTORE_IN_PROGRESS Internal 500 Various Server Error s_ts-restore-backup-sdk.html[2/20/2014 10:07:23 AM] file cannot be uploaded or restored while a download is in progress. Description: An internal error occurred. Resolution: Create a support dump. Try to restore a different backup. Recover from an unexpected appliance shutdown Recover from an unexpected appliance shutdown If the appliance unexpectedly shuts down, the appliance will attempt to automatically recover. To check whether all tasks and issues were resolved automatically, you can view alerts and tasks to see the current status of appliance resources. Manually restart any tasks that have a status of interrupted or error. For example, if the appliance unexpectedly shuts down during a firmware update, upon appliance restart, the task status is error. Prerequisites Minimum required session ID privileges: any user with read privileges Reading critical alerts using REST APIs GET /rest/alerts?filter="alertState='Critical'" Reading interrupted tasks and recommended actions using REST APIs 1. GET /rest/tasks?filter="taskState='Interrupted'". 2. To view the recommended actions, within the taskError attribute, view the recommendedActions attribute. If the recommended action is to refresh the resource, perform a GET on the associatedResourceURI, change refreshState to equal RefreshPending, and then perform a PUT using all the attributes. s_ts-appliance_shutdown-sdk.html[2/20/2014 10:07:23 AM] Chapter 34 Support and other resources Chapter 34 Support and other resources The information provided here describes how to contact HP, obtain software updates, submit feedback on documentation, and locate links to HP OneView websites and other related HP products. I want to ... Gather information before contacting an authorized support representative Learn more Related documentation and websites HP Education Services Worldwide Contact HP for assistance Get connected to the HP OneView online user forum Learn about software technical support and update services Submit documentation feedback c_support-resources-fusion.html[2/20/2014 10:07:24 AM] Gather information before contacting an authorized support representative Gather information before contacting an authorized support representative If you need to contact an authorized HP support representative, be sure to have the following information available: Your Service Agreement Identifier (SAID) Software product name — HP OneView Hypervisor virtualization platform and version Messages generated by the appliance Other HP or third-party software in use s_info_to_collect.html[2/20/2014 10:07:24 AM] How to contact HP How to contact HP See the Contact HP Worldwide website to obtain contact information for any country: http://www.hp.com/go/assistance See the contact information provided on the HP Support Center website: http://www.hp.com/go/hpsc In the United States, call +1 800 334 5144 to contact HP by telephone. This service is available 24 hours a day, 7 days a week. For continuous quality improvement, conversations might be recorded or monitored. Say OneView when prompted for the product name. s_howto-contact-hp-fusion.html[2/20/2014 10:07:24 AM] Get connected to the HP OneView online user forum Get connected to the HP OneView online user forum The HP OneView interactive online forum enables you to share your experiences and pose and answer questions related to using HP OneView. See http://www.hp.com/go/oneviewcommunity to join the discussion. s_oneview-community.html[2/20/2014 10:07:25 AM] Software technical support and software updates Software technical support and software updates HP OneView software products include three years of 24 x 7 software technical support and update services, which provides access to technical assistance to resolve software implementation or operations problems. With this service, you benefit from expedited problem resolution as well as proactive notification and delivery of software updates. See http://www.hp.com/go/hpsc for more information. Registering for software technical support When you order HP OneView, you receive a license entitlement certificate by physical shipment or email, which you must redeem online in order to obtain the license activation key. After redeeming your license certificate activation key, you are prompted to register for software technical support and update services. Licenses that are embedded in the hardware are automatically registered. See http://www.hp.com/go/insightlicense for more information. Using your software technical support and update service Once registered, you receive a service contract in the mail containing the customer service phone number and your Service Agreement Identifier (SAID). You need the SAID when you phone for technical support. Obtaining HP OneView software and firmware updates See http://www.hp.com/go/oneviewupdates to obtain HP OneView software updates and product-specific firmware bundles. Obtaining software and drivers for HP ProLiant products See http://welcome.hp.com/country/us/en/support.htm for the latest software and drivers for your HP ProLiant products. Warranty HP will replace defective delivery media for a period of 90 days from the date of purchase. This warranty applies to all products found on the delivery media. s_cic-register-support.html[2/20/2014 10:07:25 AM] Related information Related information Documentation Enterprise Information Library http://www.hp.com/go/oneview/docs Product websites HP OneView Primary website: http://www.hp.com/go/oneview User forum: http://www.hp.com/go/oneviewcommunity Product demos: http://www.hp.com/go/oneviewdemos HP BladeSystem enclosures http://www.hp.com/go/bladesystem HP ProLiant server hardware http://www.hp.com/go/proliant HP ProLiant education http://www.hp.com/learn/proliant HP Storage products http://www.hp.com/go/storage HP Virtual Connect http://www.hp.com/go/virtualconnect s_cic-rel-info.html[2/20/2014 10:07:25 AM] Submit documentation feedback Submit documentation feedback HP is committed to providing documentation that meets your needs. To help us improve our documentation, send errors, suggestions, and comments to: [email protected] For UI and REST API help In your email message, include the section title where the content is located along with the product name, product version, help edition, and publication date located on the page. For user guides and other manuals In your email message, include the document title, edition, publication date, and document part number located on the front cover. Any other information you can provide, such as a section title or page number, is also helpful. s_doc_feedback.html[2/20/2014 10:07:26 AM] Index Index A active uplink, About active/active and active/standby configurations active active (see active/active) active-active (see active/active) active-standby (see active/standby) active/active network configuration, About active/active and active/standby configurations active/active configuration, About active/active configurations, Requirements and best practices for an active/active configuration, Ethernet networks and VLAN IDs active/standby network configuration, About active/active and active/standby configurations active/standby configuration, About active/standby configurations activity, About activities (see also alert) (see also task) Adding an enclosure REST APIs, Add an enclosure agentless management, Monitoring and response features aggregation switch (see data center switch) alert, About activities Alerts REST APIs, Activity Appliance REST APIs, Appliance appliance backup and restore features, Backup and restore features downloads from, Downloads from the appliance audit log, Understanding the audit log audit logs REST APIs, Download audit logs authentication, Authentication for appliance access authorization, Controlling access for authorized users v17049088.html[2/20/2014 10:07:26 AM] Index availability virtual appliance, Availability features B best practices health monitoring, Best practices for monitoring health BladeSystem enclosure, Related information C certificate, Overview console access, Access to the appliance console restrict, Restricting console access contact HP, How to contact HP copyright, HP OneView 1.05 REST API scripting credentials, Protecting credentials D data center configuring rack placement, About data centers data center switch matching VLAN IDs to uplink set VLAN IDs, Data center switch port requirements port configuration for uplink sets, Data center switch port requirements spanning tree edge, Data center switch port requirements trunk ports, Data center switch port requirements Data Centers REST APIs, Data Centers discovery, hardware, Streamlined process for bringing hardware under management documentation download and serve HTML UI help files, Enabling off-appliance browsing of UI HTML help and REST API HTML help download and serve REST API documentation, Enabling off-appliance browsing of UI HTML help and REST API HTML help enabling off-appliance browsing, Enabling off-appliance browsing of UI HTML help and REST API HTML help help delivered on appliance, Where to find HP OneView documentation submit feedback to HP, Submit documentation feedback website, Where to find HP OneView documentation where to find, Where to find HP OneView documentation v17049088.html[2/20/2014 10:07:26 AM] Index downlink, About logical interconnects E enclosure HP BladeSystem website, Related information managing, About enclosures Enclosure Groups REST APIs, Enclosures Enclosures REST APIs, Enclosures Enterprise Information Library, Where to find HP OneView documentation, Related information environmental management, Data center environmental management Ethernet network, about , About Ethernet networks Ethernet networks VLAN range, Ethernet networks and VLAN IDs F Fibre Channel Direct attach, Fibre Channel network types Fabric attach, Fibre Channel network types flat SAN, Fibre Channel network types uplink set, About logical interconnects Virtual Connect modules, Fabric attach Fibre Channel networks Fibre Channel Direct attach, Fibre Channel network types Fibre Channel Fabric attach, Fibre Channel network types Fibre Channel network, about , About Fibre Channel networks Fibre Channel over Ethernet (FCoE) downlink from enclosure interconnect to server, Fibre Channel networks and FCoE firmware compliance checking, Simplified firmware management repository, Simplified firmware management Firmware Bundles REST APIs, Firmware first time setup REST APIs, Quick Start: Initial configuration using REST APIs flat SAN, Fibre Channel network types v17049088.html[2/20/2014 10:07:26 AM] Index forum user community, Get connected to the HP OneView online user forum full access role, Appliance role types G group compliance checking, Simplified configuration change management H hardening, Securing the appliance hardware discovery of, Streamlined process for bringing hardware under management inventory management features, Hardware and firmware inventory information health monitoring, Activity and health management (see also activity) and SCMB, Monitoring and response features best practices, Best practices for monitoring health REST APIs, Best practices for monitoring health HP contacting, How to contact HP HP iPDU device detection, Streamlined process for bringing hardware under management HP OneView availability features, Availability features backup and restore features, Backup and restore features change management features, Simplified configuration change management configuration, automated, Monitoring and response features device detection, Streamlined process for bringing hardware under management discovery, Streamlined process for bringing hardware under management enclosures, automatic configuration, Streamlined process for bringing hardware under management environmental management features, Data center environmental management firmware baseline compliance checking, Simplified firmware management firmware management features, Simplified firmware management group compliance checking, Simplified configuration change management groups, overview, Groups, templates, and sets hardware inventory, Hardware and firmware inventory information hardware provisioning, Hardware and software provisioning features health monitoring, Monitoring and response features health monitoring features, Activity and health management integration with Onboard Administrator, Onboard Administrator v17049088.html[2/20/2014 10:07:26 AM] Index integration with other software, Operating system deployment, Open integration monitoring from other platforms, Monitoring and response features networking features, Networking features operating system deployment, Operating system deployment overview, HP OneView for converged infrastructure management port-level statistics, Resource utilization monitoring power and cooling management features, Data center environmental management provisioning features, Hardware and software provisioning features resource utilization monitoring, Resource utilization monitoring REST APIs, Graphical and programmatic interfaces SCMB, Open integration server profile, overview, Server profiles sets, overview, Groups, templates, and sets SNMP trap configuration, Monitoring and response features user interface, Graphical and programmatic interfaces I ID pool REST APIs, Quick Start: Initial configuration using REST APIs user interface help, About ID pools iLO management processor HP OneView user roles, HP Integrated Lights-Out integration with HP OneView, HP Integrated Lights-Out licensing with HP OneView, License types Index REST APIs, Index Information Library, Where to find HP OneView documentation Installation Guide, Where to find HP OneView documentation interconnect about, About interconnects REST APIs, Interconnects unsupported hardware, About interconnects L LACP, Data center switch port requirements LAG, Data center switch port requirements legal notices, HP OneView 1.05 REST API scripting license about, About licensing delivery, License delivery iLO Advanced license, License types reporting, License reporting REST APIs, Licensing v17049088.html[2/20/2014 10:07:26 AM] Index Link Aggregation Control Protocol (see LACP) Link Aggregation Group (see LAG) Logical interconnect REST APIs, Logical Interconnects logical interconnect adding, About logical interconnects deleting, About logical interconnects naming convention, About logical interconnects removing, About logical interconnects stacking health, defined, About logical interconnects stacking mode, enclosure, About logical interconnects Logical Interconnect Groups REST APIs, Logical Interconnect Groups M MAC address REST APIs, Quick Start: Initial configuration using REST APIs N network configuration active/active, About active/active and active/standby configurations, About active/active configurations, Requirements and best practices for an active/active configuration active/standby, About active/active and active/standby configurations, About active/standby configurations Network Sets REST APIs, Networks, Network Sets network, about Ethernet, About Ethernet networks network, about Fibre Channel, About Fibre Channel networks networking overview, Networking features Networks REST APIs, Networks, Network Sets networks, about, About networks NIC teaming, About active/active configurations O Onboard Administrator v17049088.html[2/20/2014 10:07:26 AM] Index integration with HP OneView, Onboard Administrator online help, Where to find HP OneView documentation online user forum, Get connected to the HP OneView online user forum Open integration, Open integration P Power Delivery Devices REST APIs, Power PowerShell library, PowerShell and Python code sample libraries ProLiant server hardware, Related information Python library, PowerShell and Python code sample libraries R Racks REST APIs, Racks RBAC effect on UI, Security features Release Notes, Where to find HP OneView documentation resource model, Understanding the resource model REST API adding data centers, Data Centers adding firmware bundles, Firmware adding power delivery devices, Power adding racks, Racks adding server hardware, Server Hardware adding unmanaged devices, Unmanaged Devices adding users, Users and Groups configuring the appliance, Quick Start: Initial configuration using REST APIs creating appliance backup, Appliance creating enclosures and enclosure groups, Enclosures creating logical interconnect groups, Logical Interconnect Groups creating networks and network sets, Networks, Network Sets creating server profiles, Server Profiles documentation, Where to find HP OneView documentation downloading audit logs, Download audit logs editing unmanaged devices, Unmanaged Devices first time setup, Quick Start: Initial configuration using REST APIs getting server hardware types, Server Hardware Types ID pool, Quick Start: Initial configuration using REST APIs index, Index interconnect, Interconnects licensing, Licensing logical interconnect, Logical Interconnects MAC address, Quick Start: Initial configuration using REST APIs v17049088.html[2/20/2014 10:07:26 AM] Index managing alerts, Activity managing power, Power managing the appliance, Appliance managing users and accounts, Users and Groups online help, Where to find HP OneView documentation PowerShell library, PowerShell and Python code sample libraries Python library, PowerShell and Python code sample libraries removing data centers, Data Centers removing enclosures and enclosure groups, Enclosures removing firmware bundles, Firmware removing networks and network sets, Networks, Network Sets removing power delivery devices, Power removing racks, Racks removing server hardware, Server Hardware removing server profiles, Server Profiles removing users, Users and Groups viewing utilization, Utilization REST API documentation enabling off-appliance browsing , Enabling off-appliance browsing of UI HTML help and REST API HTML help REST API Reference Guide, Where to find HP OneView documentation role, Specifying user accounts and roles S security and DoS attacks, Security features and RBAC (role-based access control), Security features appliance, Security features audit logging, Security features best practices, Best practices for maintaining a secure appliance certificate, Security features, Overview data download restrictions, Security features directory service support, Security features management LAN, Security features overview of features, Security features passwords, Protecting credentials separation of data and management, Security features SSO (single sign-on), Security features UI features, Security features Server Hardware REST APIs, Server Hardware server hardware model features, Server hardware features supported by the appliance unsupported hardware, About unsupported server hardware v17049088.html[2/20/2014 10:07:26 AM] Index Server Hardware Types REST APIs, Server Hardware Types server profile about, About server profiles overview, Server profiles Server Profiles REST APIs, Server Profiles services access, Enabling or disabling authorized services access session security, Creating a login session SNMP settings, About SNMP settings specialized access role, Appliance role types SPP, About firmware bundles SSL cipher suites, Algorithms for securing the appliance SSL protocol, Appliance access over SSL stacking health, About logical interconnects stacking links, About logical interconnects stacking mode enclosure, About logical interconnects logical interconnect, About logical interconnects standby uplink, About active/active and active/standby configurations State-Change Message Bus .NET C# code example, .NET C# code example connect to the SCMB, Connect to the SCMB Java code example, Java code example JSON structure of message, JSON structure of message received from the SCMB Python code example, Python code example re-create the AMQP client certificate, Re-create the AMQP client certificate SCMB, State-Change Message Bus set up a queue, Set up a queue to connect to the HP OneView SCMB exchange storage system website, Related information Support Matrix, Where to find HP OneView documentation switch, data center (see data center switch) T tagged networks, About logical interconnects v17049088.html[2/20/2014 10:07:26 AM] Index tagging, network (see VLAN ID) task, Activity and health management, About activities (see also activity) top of rack switch (see data center switch) ToR switch (see data center switch) tunnel networks, About logical interconnects U UI help enable off-appliance browsing, Enabling off-appliance browsing of UI HTML help and REST API HTML help submit feedback to HP, Submit documentation feedback zip file, Enabling off-appliance browsing of UI HTML help and REST API HTML help unmanaged device about, Unmanaged devices, About unmanaged devices Unmanaged Devices REST APIs, Unmanaged Devices untagged networks, About logical interconnects uplink, About logical interconnects active, About active/active and active/standby configurations standby, About active/active and active/standby configurations uplink set active/active configuration, About logical interconnects adding, Create an uplink set Ethernet networks, About logical interconnects Fibre Channel networks, About logical interconnects matching VLAN IDs to switch port VLAN IDs, Data center switch port requirements multiple uplinks from same interconnect to same switch, Data center switch port requirements native network in, Data center switch port requirements relationship to data center switches, Data center switch port requirements relationship to logical interconnect, About logical interconnects relationship to logical interconnect group, About logical interconnects VLAN tags, Data center switch port requirements uplink sets, About logical interconnects uplinks, About active/active and active/standby configurations user accounts, Specifying user accounts and roles user community v17049088.html[2/20/2014 10:07:26 AM] Index online forum, Get connected to the HP OneView online user forum User Guide, Where to find HP OneView documentation user role, About user roles Users REST APIs, Users and Groups Utilization REST APIs, Utilization V Virtual Connect, About active/standby configurations, About active/active configurations Fibre Channel modules, Fabric attach Fibre Channel networks transistioning to HP OneView, HP OneView for converged infrastructure management website, Related information VLAN ID matching uplink set to data center switch ports, Data center switch port requirements W website HP BladeSystem enclosures, Related information HP OneView, Related information HP OneView community forum, Get connected to the HP OneView online user forum HP OneView documentation, Related information HP ProLiant server hardware, Related information HP Storage, Related information HP Virtual Connect, Related information PowerShell code sample library, PowerShell and Python code sample libraries Python code sample library, PowerShell and Python code sample libraries v17049088.html[2/20/2014 10:07:26 AM] HP OneView 1.05 REST API Reference (API Version 4) OneView 1.05 REST API Reference (API Version 4) About the API Reference How do I use the HP OneView REST APIs? ACTIVITY SERVERS alerts tasks audit-logs events server-profiles connections id-pools id-pools-vmac-ranges id-pools-vsn-ranges id-pools-vwwn-ranges enclosure-groups enclosures server-hardware server-hardware-types NETWORKING FACILITIES logical-interconnect-groups logical-interconnects logical-downlinks uplink-sets ethernet-networks fc-networks network-sets connection-templates interconnects interconnect-types datacenters racks power-devices unmanaged-devices index.html[2/20/2014 10:07:28 AM] SETTINGS licenses firmware-drivers firmware-bundles appliance/nodeinfo appliance/network-interfaces appliance/device-read-communitystring appliance/eula appliance/firmware appliance/health-status appliance/shutdown HP OneView 1.05 REST API Reference (API Version 4) appliance/support-dumps appliance/settings appliance/trap-destinations backups domains global-settings restores version SEARCH SECURITY resources associations trees search-suggestions users roles authz certificates login-sessions active-user-sessions logindomains logindomains/global-settings logindomains/grouptorolemapping sessions COMMON Association names Parameters Request Headers Response Headers Response Codes index.html[2/20/2014 10:07:28 AM] About the HP OneView 1.05 REST API Reference (API Version 4) HP OneView 1.05 API Reference (API Version 4) About the HP OneView 1.05 REST API Reference (API Version 4) This reference is one component of the HP OneView REST API scripting document. The REST API scripting document provides an overview of REST and step-by-step examples for using the REST APIs. How to use this reference The top-level index page contains a link to the REST API specification for each resource type in the HP OneView resource model. Each REST API specification defines the REST APIs provided by that resource, including the URI, method, parameters, request body, response body, and response codes. In many cases, these components are displayed as links. Clicking the link provides additional information. For example, parameters that are common to most APIs link to the table of common REST API Parameters, where additional details are provided about many of the parameters. These API specifications are intended to provide all the details needed to call the HP OneView REST APIs and to build scripts around these calls. In most cases, it is easiest to begin with the REST API scripting document for an overview of the HP OneView REST architecture and the steps to follow in order to perform common sequences of operations using the APIs. That document links back to this reference for details of the specific APIs used in each step. Supported REST API versions HP OneView 1.05 supports the new REST API version 4 in addition to supporting the REST API version 3 that was released with HP OneView 1.0. The HP OneView 1.0 REST API Reference (API Version 3) is available at www.hp.com/go/oneview/docs. about.html[2/20/2014 10:10:27 AM] Association names HP OneView 1.05 REST API Reference (API Version 4) Association names HP OneView provides a fully connected resource model. The following associations describe the relationships between the OneView resources. See the associations API documentation for details on accessing and using associations. Parent Child Association name datacenters racks DATACENTER_TO_PHYSICAL_OBJECT enclosure-groups enclosures ENCLOSURE_GROUP_TO_ENCLOSURE logicalinterconnectgroups ENCLOSURE_GROUP_TO_LOGICAL_INTERCONNECT_GROUP server-profiles enclosure_group_to_server_profiles enclosures/devicebays ENCLOSURE_TO_DEVICE_BAY logicalinterconnects ENCLOSURE_TO_LOGICAL_INTERCONNECT server-hardware ENCLOSURE_TO_BLADE server-hardware DEVICE_BAY_TO_SERVER_HARDWARE server-profiles DEVICE_BAY_TO_PROFILE server-hardware license-product_to_server-hardware enclosures enclosures/devicebays licenses/licenseproduct resourceassociations.html[2/20/2014 10:10:32 AM] Association names ethernet-networks LOGICAL_INTERCONNECT_TO_NETWORK_REACHABLE fc-networks LOGICAL_INTERCONNECT_TO_FC_NETWORK_ASSIGNED fc-networks LOGICAL_INTERCONNECT_TO_FC_NETWORK_UNASSIGNED network-sets ethernet-networks NETWORKSET_TO_NETWORK power-devices enclosures PDD_TO_POWER_CONSUMER logicalinterconnects server-hardware unmanageddevices racks enclosures RACK_TO_PHYSICAL_DEVICE power-devices server-hardware unmanageddevices server-hardwaretype server-profiles server-hardware server_hardware_types_to_server_hardware server-profiles server_hardware_type_to_server_profiles ethernet-networks server_profiles_to_networks resourceassociations.html[2/20/2014 10:10:32 AM] Association names fc-networks server_profiles_to_fc_networks server-hardware server_profiles_to_server_hardware resourceassociations.html[2/20/2014 10:10:32 AM] Common REST API Parameters HP OneView 1.05 REST API Reference (API Version 4) Common REST API Parameters Name Description count Optional parameter that specifies the number of resources to return from each API invocation. The number of resources returned on each call is referred to as a page. If you specify a count, the API attempts to return the specified number of resources, however this may be limited due to response time constraints and/or actual number of resources available to return. The results include the total number of resources that match the filter or query, the actual count returned, and the URIs to go to the next page, previous page, or both. This parameter only applies to GET (read) requests that return a list of resources. Use start and count to retrieve a large set of resources in smaller groups. Example Return the first 100 items in a list of resources, sorted by the name attribute: sort=name:ascending&start=0&count=100 filter This parameter is experimental for this release: While generally functional when used in simple cases, restrictions might be noted in the implementation description. A general filter/query string that narrows the list of resources returned by a multi-resource GET (read) request and DELETE (delete) request. The default is no filter (all resources are returned). The filter parameter specifies a general filter/query string. This query string narrows the selection of resources returned from a GET request that returns a list of resources. The filter parameter is not used on URIs representing an individual resource, only on collection URIs. Format filter="[not] {attribute} {operator} '{value}'" {attribute}: the resource attribute being filtered (for example, model, platform, etc.). Valid attributes include simple data types for each API set (string, int), not complex data types. {operator}: one of [ =, <>, >, >=, <, <=, matches, regex, ==, smatches, sregex, sne ] {value}: the value of the attribute being filtered. For matches this is an expression string, supports SQL wildcard. regex this is a regular expression string Limitations Expected to work: expressions against top-level strings and numeric properties Sometimes works: expressions against top-level enum values Not expected to work: expressions that reference nested fields Commas (',') in attribute values passed into the 'filter' parameter are known to cause problems Notes Multiple filter statements represent an AND predicate OR is accomplished via multiple GET requests NOT is used to negate the condition The operands [ >, >=, <, <= ] only apply to numeric attributes Equals (=, eq, EQ), Not Equals(<>, ne, NE), regex and matches can be used for case-insensitive string comparisons on 'values'. Equals (==, seq, SEQ, sEQ), Not Equals(sne, SNE, sNE), sregex and smatches can be used for stdparams.html[2/20/2014 10:09:33 AM] Common REST API Parameters case-sensitive string comparisons on 'values'. This parameter usually requires quoting as shown in the examples here (double quotes around the entire filter parameter, and single-quotes around the {value} field) Use dot-notation to reference attributes that are members of objects contained within the primary resource object. For example, the following expression applies a filter on the networkURI attribute of the connections attribute of the resource: filter="connections.networkURI='/rest/ethernet-networks/e4d6e7b4-2ad7418a-9a89-974f347441c5'" Filters supports 'regex' and 'matches' operations and these operations are case-insensitive. 'smaches' and 'sregex' are case-sensitive versions of 'matches' and 'regex' respectively. Note : Per the RFC , substitute the URL encoding characters for reserved characters that should not be used in sending requests. RFC link : http://www.ietf.org/rfc/rfc2396.txt URL encoding:http://www.w3schools.com/tags/ref_urlencode.asp More details on Pattern Matching Example for Equals: name with value 'alertMax' (Case insensitive): https://{appl}/settings/rest/resources?filter="'name' = 'alertMax'" https://{appl}/settings/rest/resources?filter="'name' eq 'alertMax'" name with value exactly 'alertMax' (Case sensitive): https://{appl}/settings/rest/resources?filter="'name' == 'alertMax'" https://{appl}/settings/rest/resources?filter="'name' seq 'alertMax'" Example for Not Equals: name with value 'alertMax' (Case insensitive): https://{appl}/settings/rest/resources?filter=NOT "'name' = 'alertMax'" https://{appl}/settings/rest/resources?filter="'name' ne 'alertMax'" https://{appl}/settings/rest/resources?filter=NOT "'name' = NULL" 'matches' support the SQL Wildcard notations % (0 or more chars) , _ (any single char), and exact match. This pattern matches the entire string. Note: In some cases, '*' must be encoded as '%25' on the URL. If you do not get the expected results with '*', use '%25'. Example for matches: name with value 'alertMax'(Case insensitively): https://{appl}/settings/rest/resources?filter="'name' matches 'alertMax'" name with value exactly 'alertMax' (Case sensitively): https://{appl}/settings/rest/resources?filter="'name' smatches 'alertMax'" name starts with 'a' followed by %(0 or more characters) https://{appl}/settings/rest/resources?filter="filter="'name' matches 'a%'" https://{appl}/settings/rest/resources?filter="filter="'name' matches 'a%25'" name starts with _(any single character), followed by 'l' and %(0 or more characters). https://{appl}/settings/rest/resources?filter="filter="'name' matches'_l%' 'regex' supports POSSIX regular expression. And regex pattern can match any part of the string. Example for regex: stdparams.html[2/20/2014 10:09:33 AM] Common REST API Parameters name with value 'alertMax'(Case insensitively): https://{appl}/settings/rest/resources?filter="'name' regex 'alertMax'" name with value exactly 'alertMax' (Case sensitively): https://{appl}/settings/rest/resources?filter="'name' sregex 'alertMax'" name starts with alertMax https://{appl}/settings/rest/resources?filter="'name' regex '^alertMax'" name ends with some words Deviation https://{appl}/settings/rest/resources?filter="'name' regex 'Deviation$'" name contains either alert or restore. https://{appl}/settings/rest/resources?filter="'name' regex '(alert|restore)'" force If set to true, the operation completes even if there are network connectivity issues or resource errors. The default is false. Some (but not all) resource update (PUT) and delete (DELETE) APIs that would otherwise fail can be forced to complete by setting the request parameter force=true. This parameter is only allowed where it is listed in the individual API specifications. multiresource Set to true when the request body is an array of objects to be added, rather than a single object. The default is false. This parameter only applies to POST (add) operations when multiple resources are to be added as a single operation. The objects to be added are specified as an array of resource objects. This parameter is only allowed where it is listed in the individual API specifications. query This parameter is experimental for this release: While generally functional when used in simple cases, restrictions might be noted in the implementation description. If the query is supported, the following is the way it works. A general query string that narrows the list of resources returned by a multi-resource GET (read) request and DELETE (delete) request. The default is no query (all resources are returned). One advantage query has over filter is that it can have embedded ORs. A single query parameter can do what would take multiple parameters or multiple GET requests using filter. Use query for more complex queries. The query parameter is based on the URI Filter Language. The URI Filter Language was formerly known as the BTO Query Language or BQL. URI Filter Language uses alphabetic tokens "OR", "AND", "EQ", "NE", "GT", "LT", "GE", "LE", "LIKE", "IS NULL", "IN" instead of "=", "<>", "!=", ">", "<", ">=", "<=". This change avoids issues caused when security tools alter the previously-used symbols to prevent cross-site scripting. Format query=" {attribute} {operator} ' {value} '" {attribute}: the resource attribute being filtered (e.g., model, platform, etc.) {operator}: one of [ EQ, NE, GT, GE, LE, LT, like, IS NULL, AND, OR , IN ] {value}: the value of the attribute being filtered. For like this is an expression string, supports SQL wildcard. Limitations Expected to work: expressions against top-level strings and numeric properties Sometimes works: expressions against top-level enum values Not expected to work: expressions that reference nested fields stdparams.html[2/20/2014 10:09:33 AM] Common REST API Parameters Notes NOT is used to negate the condition. The operands [ GT, GE, LT, LE ] only apply to numeric attributes Equals (eq, EQ) and Not Equals(ne, NE) can be used for case-insensitive string comparisons on 'values'. This parameter usually requires quoting as shown in the examples here (double quotes around the entire query parameter, and single-quotes around the {value} field Use dot-notation to reference attributes that are members of objects contained within the primary resource object. For example, the following expression would apply a filter on the networkURI attribute of the connections attribute of the resource: query="connections.networkURI='/crmcore/rest/connectionType/9d266036'" NOTE: Per the RFC , substitute the URL encoding characters for reserved characters that should not be used in sending requests. RFC link: http://www.ietf.org/rfc/rfc2396.txt URL encoding: http://www.w3schools.com/tags/ref_urlencode.asp More details on Pattern Matching Example for Equal: name with value 'Delete alerts.': https:// {appl} /rest/tasks?query="name EQ 'Delete alerts.'" Example for Not Equal: name not equal to 'Delete alerts.': https:// {appl} /rest/tasks?query="name NE 'Delete alerts.'" https:// {appl} /rest/tasks?query=NOT "name EQ 'Delete alerts.'" Example for Lesser then: percentComplete value lesser then 100: https:// {appl} /rest/tasks?query="percentComplete LT 100" Example for Lesser then Equal: percentComplete lesser then equal to 100: https:// {appl} /rest/tasks?query="percentComplete LE 100" Example for Greater then: percentComplete greater then 100: https:// {appl} /rest/tasks?query="percentComplete GT 100" Example for Greater then Equal: percentComplete Greater then equal to 100: https:// {appl} /rest/tasks?query="percentComplete GE 100" Example for IS NULL: name with value NULL: https:// {appl} /rest/tasks?query="percentComplete IS NULL" Example for NOT NULL: name value without NULL: https:// {appl} /rest/tasks?query="NOT name EQ NULL" Example for IN: owner with specify multiple values 'administrator' or 'infrastructure': https:// {appl} /rest/tasks?query="owner IN stdparams.html[2/20/2014 10:09:33 AM] Common REST API Parameters ('administrator','infrastructure')" 'AND' operator displays a record if both the first condition and the second condition are true. Example for AND: name with value 'Task Resource V2' AND name with value 'Task Resource V2': https:// {appl} /rest/tasks?query="name EQ 'Task Resource V1' AND name EQ 'Task Resource V2'" 'OR' operator displays a record if either the first condition or the second condition is true. Example for OR: name with value either 'Task Resource V2' OR 'Task Resource V2': https:// {appl} /rest/tasks?query="name EQ 'Task Resource V1' OR name EQ 'Task Resource V2'" Combination of AND and OR Symbol Example for 'OR' and 'AND' combination: name with value either 'Task Resource V2' OR 'Task Resource V2' AND name with value 'Delete alerts.': https:// {appl} /rest/tasks?query="name EQ 'Task Resource V1' OR name EQ 'Task Resource V2' AND name EQ 'Delete alerts.'" 'like' support the SQL Wildcard notations * (0 or more chars) , _ (any single char), and exact match. This pattern matches the entire string. The 'like' is Case sensitively Example for like: owner with value exactly 'administrator' https:// {appl} /rest/tasks?query="owner like administrator" Using wild card operator '*' to match 0 or more characters https:// {appl} /rest/tasks?query="owner like admin*" sort The sort order of the returned data set. By default, the sort order is based on the create time, with the oldest entry first. The format of the sort parameter is similar to the "order by" clause in SQL. Format Default sort on single attribute: sort={attribute}:ascending|descending Default sort on multiple attributes: sort={attribute}:ascending|descending,{2nd attribute}:ascending|descending... Alphanumeric sort on single attribute: sort={attribute}:ascending|descending:natural Alphanumeric sort on multiple attributes: sort={attribute}:ascending|descending:natural,{2nd attribute}:ascending|descending:natural... {attribute}: the resource attribute used as the primary sort key {2nd attribute}: the resource attribute used as the secondary sort key (additional sort keys as needed) Example Sort the returned list of resources by the name field in ascending order, then by status in descending order: stdparams.html[2/20/2014 10:09:33 AM] Common REST API Parameters sort=name:asc,status:desc Sort alphanumerically the returned list of resources by the name field in ascending order, then then sort by status in descending order: sort=name:asc:natural,status:desc Limitations: 1. The alphanumeric sort option should not be used with DISTINCT query. The below query does not work in postgres sql if you use DISTINCT in 'select' and any database function in 'order by' clause For example, query: select DISTINCT name from table1 order by lower(name)) results in the error: SELECT DISTINCT, ORDER BY expressions must appear in select list. This is a limitation from hibernate. When a Criteria is set with DISTINCT using Projections as shown in the following example, it generates a similar SQL, which fails on execution with the same error.: criteria.setProjection(Projections.distinct(Projections.property("firstName"))); The alphanumeric sort format should not be used when a criteria is set with Distinct. 2. The DB function for alphanumeric sort is slower, which can delay receiving the result data set. Note: - Alphanumeric sort is available as an optional feature which should be used with caution. HP recommends using default sort in cases like these. - The format of sort string is case-insensitive. Alternatively, short form asc and desc can be used for ascending and descending respectively. start The 0-based index of the first resource to return (start=0 starts with the first available resource). If the specified count does not return all resources within the maximum allowed time (see count), use the start parameter to view additional resource pages. The default value for start is 0 (first available resource). This parameter only applies to GET (read) requests that return a list of resources. Use start and count to retrieve a large set of resources in smaller groups. Note that the start and count parameters are applied to the results, based on the specified sort order and any filter or query parameters. The same sort and filter/query parameters must be present on requests for subsequent "pages." view Return a specific subset of the attributes of the resource or collection by specifying the name of a predefined view. The default view is expand (show all attributes of the resource, and all elements of collections or resources). Format view="{view-name}" Many views are specific to the resource type. The following named views are common across some resource types. expand The expand view (the default when no view parameter is specified) returns all client-visible attributes of the resource. In the case of collections (including collections that are members of the requested resource), this includes the individual elements of the collection. summary For individual resources, the summary view returns only a subset of the client-visible attributes of the resource, suitable for a high-level summary. Each resource type interprets the summary view as appropriate for that resource type. For collection URIs (or for any collections that are members of the requested resource), the summary view does not return the individual elements of the collection. deep In many cases a given resource can contain references to other resources in the form of a URI. For example, the default view of a task resource includes an associated resource URI. The deep view will expand that URI to show the actual resource designated by that URI. Notes See the individual resource API specifications for additional views supported by those resources. stdparams.html[2/20/2014 10:09:33 AM] REST API Request Headers HP OneView 1.05 REST API Reference (API Version 4) REST API Request Headers Name Requirements Usage X-APIVersion Required (unless otherwise noted in the documentation) X-API-Version:[apiversion] NOTE: The requests documented in the HP OneView 1.05 REST API Reference (API Version 4) and REST API scripting chapter correspond to a versionNumber of 4. Requests specifying API version 4 always provide the behavior documented here. Future API changes will introduce higher version numbers. auth The OneView API version that the client is requesting. If not provided, the X-API-Version value is automatically set to the first version of the APIs. which is not likely the desired version. This header is REQUIRED in order to ensure expected behavior. An unsupported API version returns a 412 response code (Precondition Failed). Required auth:session-token NOTE: The auth header is not required in the following cases: Session authorization token obtained from the rest/loginsessions API. POST operation to obtain a session token. /rest/login-sessions GET operation to download a support dump. If this header is not included, or if the session-token is invalid, the response code is 401 (Unauthorized). /rest/appliance/supportdumps/{filename} GET operation to obtain the API version supported by the appliance. /rest/version Accept Optional Accept:[media-type] The requested data format to be returned in the Response Body. The Accept header is currently stdreqhdrs.html[2/20/2014 10:09:29 AM] REST API Request Headers ignored, and JSON is always returned by default, regardless of the Accept header. This may change in future releases. . AcceptCharset Optional Accept-Charset:[charset] The character sets that are acceptable in the response. The only supported value is UTF8 (Default). Any other value returns a 406 response code (Not Acceptable). AcceptLanguage Optional AcceptLanguage:[language/locale] The language code requested in the response. If a suitable match to the requested language is not available, en-US or the appliance locale is used. ContentType Required (Only for POST/PUT requests that include a request body, not required for GET and DELETE requests.) Content-Type:[media-type] The data format sent in the Request Body. The only supported value is application/json. Any other value returns a 415 response code (Unsupported Media Type). If-Match Optional Only applicable to PUT (modify resource) requests on singleresource URIs. If-Match:<ETag> This header is only allowed in a PUT (modify resource) request if the client provides the most current ETag (resource revision) value. This prevents a client from overwriting modifications made by stdreqhdrs.html[2/20/2014 10:09:29 AM] REST API Request Headers another client.. If the ETag specified in this header does not match the current ETag for the resource, status code 412 (Precondition Failed) will be returned from the PUT. stdreqhdrs.html[2/20/2014 10:09:29 AM] REST API Response Headers HP OneView 1.05 REST API Reference (API Version 4) REST API Response Headers Name Usage Description Etag Returned on singleresource GET/PUT/POST requests. For multiresource GET/PUT/POST requests, the ETag for each resource is returned in the response body for that resource. etag:<entity-tag> Returned from ALL requests. Cache-Control:no-cache CacheControl Determines the "revision" of the resource. Any changes made to a resource will result in a new, unique ETag/revision value This allows clients to determine if the resource has been modified between REST calls. If the resource was modified, the Etag will be different. The resource ETag value is also used to validate PUT (modify) requests on resources. If the client does not provide the most current ETag in the PUT request (either in the if-match header, or in the resource body), the PUT request will fail. This prevents changes made by one client from overwriting changes made by a different client. Used to disable interim caching by proxies, etc. In HP OneView, caching by 3rd-party components is not supported, since access to all resources must be controlled via OneView's proprietary authentication and authorization mechanisms. The content returned from a GET operation may vary, based on the Accept header media type and interface version. Setting this header on the response ensures that caches map responses to the specific Accept header in the request, and do not erroneously return the incorrect content (for example, media type or version) from the cache. Location returned from all "asynchronous" POST/PUT/DELETE requests. stdresphdrs.html[2/20/2014 10:10:32 AM] Location:<URI> For asynchronous POST/PUT/DELETE requests, HTTP status 202 (Accepted) is REST API Response Headers returned and the Location header is populated with the URI of a Task resource, which can be polled to monitor the status of the asynchronous operation. In the future this header will also be returned for synchronous POST operations that create a new resource that is identifiable by a URI. The <URI>field from the Location header can be used to access the newly created resource. ContentType Returned from all GET, POST, and PUT APIs (anything tht returns a response body) Content-Type:[media-type] The data format sent in the Request Body. In this release, the only supported value is: application/json . stdresphdrs.html[2/20/2014 10:10:32 AM] REST API Response Codes HP OneView 1.05 REST API Reference (API Version 4) REST API Response Codes Status Code Methods Scenario Response body 200 OK GET Successful return from a synchronous read/query operation. An entity (or list of entities) corresponding to the requested resource(s). GET The URI points to a valid resource or collection, but there is nothing to return based on specified filters. Empty list. PUT Successful return from a synchronous update (or add) operation. An entity (or list of entities) corresponding to the updated resource(s). POST Successful (synchronous) POST returned information that is not identified by a URI. The DELETE method typically returns 204 NO CONTENT, not 200 OK. An entity that describes the result of the operation. Note: The DELETE method typically returns 204 NO CONTENT, not 200 OK. 201 CREATED POST Successful return from a synchronous add operation. An entity (or list of entities) corresponding to the created resource(s). 202 ACCEPTED POST, PUT, DELETE Successful return from an asynchronous add, update or delete operation. A Task Resource entity (or list of Task Resource entities) is returned, corresponding to the resource(s) affected by the operation. 204 NO CONTENT DELETE Successful return from a synchronous delete operation. No response body returned. 304 NOT MODIFIED GET The ETag specified in the optional "If-None-Match" header of the request matches the current resource ETag. No response body returned. 400 BAD REQUEST ALL Invalid request URI, invalid header, or invalid request Error Message entity describing the specific problem with the request. stdrespcodes.html[2/20/2014 10:08:29 AM] REST API Response Codes parameter sent in request. GET, DELETE The syntax of a request parameter (filter, query, start, count, sort) is invalid or refers to invalid resource attribute names. Error Message entity indicating the specific request parameter(s) in error, and the specific problem(s) with those parameters. POST, PUT Field validation failed: One or more field values sent in an add/update request are not acceptable, because the format or content of the field is invalid. Error Message entity describing the specific fields that are not acceptable and why. Note: Any field in the request body that fails validation because it is a URI that references a non-existent resource will cause the POST or PUT to fail with status 400 BAD REQUEST, rather than status 404 NOT FOUND. 401 UNAUTHORIZED ALL The user (based on session token passed in the Authorization header) is not allowed to perform the operation on the specified resources. Error Message entity describing the specific operations on the specific resources that the user was not allowed to perform. 403 FORBIDDEN POST, PUT User attempted to update an attribute that is read-only or the user does not have appropriate permissions to update the attribute. Error Message entity describing why the request is forbidden. POST, PUT User attempted to update a resource without providing an If-Match Request Header (required for optimistic concurrency control). Error Message entity, indicating "IfMatch" header and ETag is required for updates. POST, PUT For login request, password change required. Error Message entity describing why the request is forbidden. 404 NOT FOUND GET, PUT, DELETE The URI path (excluding filters) specifies a non-existent resource or collection. Error Message entity indicating which resource(s) were not found. 405 METHOD NOT ALLOWED ALL The requested HTTP method is not valid/supported. Error Message entity describing that the method is either not supported or not applicable for the given resource. Note: The appliance does not stdrespcodes.html[2/20/2014 10:08:29 AM] REST API Response Codes support the TRACE and HEAD methods. 409 CONFLICT POST, PUT, DELETE The request could not be completed due to a conflict with the current state of the resource(s). Error Message entity indicating the specific conflict with which resource(s). Examples: The resource is marked for deletion; the resource is locked in a transitory state (for example, applying a profile); the requested state change does not apply in the resource(s) current state (for example, server is powered-on or OA already managed by other appliance). 410 GONE GET, PUT, DELETE (optional) The requested resource has been deleted (only used if the server has some way of knowing this). Error Message entity indicating which resource(s) were deleted. 412 PRECONDITION FAILED PUT User attempted to update a resource but provided an unacceptable ETag in the "IfMatch" Request Header (this typically occurs when multiple users attempt to update the same resource). Error Message entity indicating which resource(s) failed this test. Also returned when an invalid API version is sent in the XAPI-Version header. 415 UNSUPPORTED MEDIA TYPE POST, PUT The media type of the request body (as specified in the Content-Type header) is not supported by the server. Error Message entity indicating the list of media types supported by the server. 500 INTERNAL SERVER ERROR ALL An unexpected error has occurred that does not fit into a standard error category (examples include database access errors). Error Message entity providing any available information on the error (at what point the error occurred, accessing what resources, and so on). 503 SERVICE UNAVAILABLE ALL The server is currently unable to handle the request due to temporary overloading or maintenance of the server. Error Message entity providing any available information on the error. stdrespcodes.html[2/20/2014 10:08:29 AM] login-sessions HP OneView 1.05 REST API Reference (API Version 4) Updated: February 18, 2014 4:17 MST login-sessions Authentication service provides REST APIs to login, reconnect to an existing session, and terminate a session (logout). The login API returns a session token on successful authentication. The reconnect and logout REST APIs require a session token in the request header. API Specifications Create /rest/login-sessions POST Read /rest/login-sessions/schema Update Delete Resource Model PUT DELETE LoginSessionId GET URI: /rest/login-sessions Method API POST Authenticates a user with specified credentials. The user name, password and an optional directory are specified as input in request body. Request Header Attributes LoginInfo Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Description LoginInfo Required Login credentials Response Description LoginSessionId Returns a valid session token on success. Returns an error message on failure. Response Codes REST API Response Codes Examples POST https://{appl}/rest/login-sessions The following example authenticates user, administrator from directory, mydirectory. https://example.com/rest/login-sessions { "userName":"administrator", "password":"mypassword", "authLoginDomain":"mydirectory" } The following example authenticates user, administrator from default directory. https://example.com/rest/login-sessions { "userName":"administrator", login-sessions.html[2/20/2014 10:09:29 AM] login-sessions "password":"mypassword", } PUT Reconnects to an existing session that is neither explicitly logged out nor timed out. Callers must provide the session token in the request header. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description LoginSessionId Returns a session token on success. Returns an error message on failure. Response Codes REST API Response Codes Examples PUT https://{appl}/rest/login-sessions The following example reconnects to the existing session https://example.com/rest/login-sessions DELETE Terminates a user session by invoking an explicit logout. Callers must provide the session token in the request header. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description String Returns an empty string on success. Response Codes REST API Response Codes Examples DELETE https://{appl}/rest/login-sessions The following example logs out the user from the session https://example.com/rest/login-sessions URI: /rest/login-sessions/schema Method API GET Retrieves the formatted schema for the login APIs Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" login-sessions.html[2/20/2014 10:09:29 AM] login-sessions Response Description JsonSchema[] Returns a collection of JSON schema for login APIs Response Codes REST API Response Codes Examples GET https://{appl}/rest/login-sessions/schema The following example retrieves the formatted schema for the login APIs https://example.com/rest/login-sessions/schema LoginSessionId description: Data model for session token type: object Properties sessionID: description: The session token used for authentication type: string LoginInfo description: Data model for the login credentials used for authentication type: object Properties userName: password: authnHost: authLoginDomain: description: The user name type: string description: The password type: string description: The host name type: string description: The name of the directory type: string login-sessions.html[2/20/2014 10:09:29 AM] version HP OneView 1.05 REST API Reference (API Version 4) Updated: February 18, 2014 4:29 MST version The version resource provides the REST API to determine the supported X-API-Version specified in the request header for all the REST API's supported by the appliance. API Specifications Create /rest/version Read Update Delete GET Resource Model VersionInfo URI: /rest/version Method API GET Returns the range of possible API versions supported by the appliance. The response contains the currentVersion and the minimumVersion. The current version is the recommended version to specify in the REST header. The other versions are supported for backward compatibility, but may not support the most current features. This API does not require authorization or an X-API-version header. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description VersionInfo versionInfo current and minimum supported versions. Response Codes REST API Response Codes Examples The following example returns the current X-API-version supported by the appliance. GET https://{appl}/rest/version VersionInfo type: object Properties minimumVersion: type: integer minimum: 1 readonly: true version.html[2/20/2014 10:09:30 AM] version currentVersion: type: integer minimum: 1 readonly: true version.html[2/20/2014 10:09:30 AM] backups HP OneView 1.05 REST API Reference (API Version 4) Updated: February 18, 2014 4:22 MST backups The backup resource manager provides REST APIs to backup the appliance, retrieve the status of a backup, cancel a backup, upload a backup file, and download a backup file for off device storage. You must download the backup file after a backup operation successfully completes. You can use the GET API's to poll the status of the backup. Once a backup is created it can not be deleted from the appliance. It is overwritten each time a backup is requested. The backup file must be uploaded to the appliance prior to starting a restore operation. API Specifications Create Read /rest/backups POST GET /rest/backups/archive POST Update Delete Resource Model BackupDetail BackupDetailList /rest/backups/archive/{id} GET /rest/backups/{id} GET DELETE URI: /rest/backups Method API GET Retrieves the backup details for the backup stored on the appliance. If no backup exists, then the response body contains a paginated collection with no items. Parameter Attributes Description start Optional The 0-based index of the first resource to return (start=0 starts with the first available resource). If the specified count does not return all resources within the maximum allowed time (see count), use the start parameter to view additional resource pages. The default value for start is 0 (first available resource). count Optional Optional parameter that specifies the number of resources to return from each API invocation. The number of resources returned on each call is referred to as a page. If you specify a count, the API attempts to return the specified number of resources, however this may be limited due to response time constraints and/or actual number of resources available to return. The results include the total number of resources that match the filter or query, the actual count returned, and the URIs to go to the next page, previous page, or both. sort Optional The sort order of the returned data set. By default, the sort order is based on the create time, with the oldest entry first. query Experimental This parameter is experimental for this release: While generally functional when used in simple cases, restrictions might be noted in the implementation description. If the query is supported, the following is the way it works. A general query string that narrows the list of resources returned by a multiresource GET (read) request and DELETE (delete) request. The backups.html[2/20/2014 10:09:30 AM] backups default is no query (all resources are returned). One advantage query has over filter is that it can have embedded ORs. A single query parameter can do what would take multiple parameters or multiple GET requests using filter. Use query for more complex queries. view Optional Return a specific subset of the attributes of the resource or collection by specifying the name of a predefined view. The default view is expand (show all attributes of the resource, and all elements of collections or resources). fields Optional filter Experimental This parameter is experimental for this release: While generally functional when used in simple cases, restrictions might be noted in the implementation description. A general filter/query string that narrows the list of resources returned by a multi-resource GET (read) request and DELETE (delete) request. The default is no filter (all resources are returned). Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description BackupDetailList A collection of backup details stored on the device. The detail of only one backup is available. Response Codes REST API Response Codes Examples The following example gets the status of any backup in progress or completed. GET https://{appl}/rest/backups POST Creates a backup of the appliance. The backup file must be downloaded to another storage device for safe keeping. The backup can be taken at any time and does not require any other commands to prepare the system for the backup. The time required for a backup to complete depends on the amount of data the appliance is managing. The backup status can be determined by calling the GET /rest/backups API or by using the URI returned in the location attribute of the response header. The backup status is polled until the status attribute indicates a completed status. Once the backup has completed successfully, then it can be downloaded for archival. The only other notification of a completed backup is in the audit log. Parameter Attributes resource Optional Request Header Attributes backups.html[2/20/2014 10:09:30 AM] Description Description backups REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description void Response Codes REST API Response Codes Examples The following example creates a backup of the appliance. POST https://{appl}/rest/backups/ URI: /rest/backups/archive Method API POST Uploads a backup file onto the appliance. The uploaded backup file is used by the restore operation. A new backup overwrites the uploaded file. Also the upload operation overwrites an existing backup file. The upload API requires the content type attribute in the REST API header to be set to "multipart/form-data". The API returns an error if a backup, restore, backup upload or backup download is already in progress. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description BackupDetail Details about the uploaded backup file. Response Codes REST API Response Codes Examples The following example uploads a backup file that will be used to restore the appliance. POST https://{appl}/rest/backups/archive URI: /rest/backups/archive/{id} Method API GET Downloads a backup from the appliance to a location managed by the software initiating the download. The accept attribute in the API request header must be set to "application/octetstream;q=0.8, application/json". The software that sends this request must handle automatic redirects. The backup is returned in the response body. This method returns an error if a backup, restore, or backup upload is already in progress. Also, it returns an error if the requested backup is not found or an internal error occurs. backups.html[2/20/2014 10:09:30 AM] backups Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description void Response Codes REST API Response Codes Examples The following example downloads a backup file. GET https://localhost/rest/backups/archive/{id} URI: /rest/backups/{id} Method API GET Requests the status of the backup specified by the {id}. The {id} is the name of the backup file. The name of the backup file is part of the URI returned in the response body of the backup status API's. Parameter Attributes Description view Optional Return a specific subset of the attributes of the resource or collection by specifying the name of a predefined view. The default view is expand (show all attributes of the resource, and all elements of collections or resources). fields Optional Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description BackupDetail Backup details of the specified backup Response Codes REST API Response Codes Examples The following example gets the status of the backup specified by {id}. GET https://{appl}/rest/backups/{id} DELETE Cancels the specified backup in progress. The API returns an error if a backup is not in progress. Parameter Attributes backups.html[2/20/2014 10:09:30 AM] Description backups force Optional If set to true, the operation completes even if there are network connectivity issues or resource errors. The default is false. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description void Response Codes REST API Response Codes Examples The following example cancels the backup specified by {id}. DELETE https://{appl}/rest/backups/{id} BackupDetail description: Contains management data about a backup including its id, firmware version and status. type: object Properties resolutionParms: hostName: backupSize: firmwareVersionMinor: resolutionMessage: backups.html[2/20/2014 10:09:30 AM] description: Contains parameters to insert into a localized resolution message if the backup/restore fails type: array description: The unqualified host name of the system where the backup was taken required: true type: string description: The backup size in bytes minimum: 0 type: number description: The minor version of the firmware installed when the backup was taken required: true type: string description: Contains a resolution message describing the failure if the backup/restore fails type: string backups percentComplete: modified: downloadStatus: description: The percentage of the backup that has completed minimum: 0 type: integer maximum: 100 description: Date and time when the resource was last modified format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](. [0-9][0-9][0-9])?Z description: The backup download status enum: hardwareModel: fullyQualifiedHostName: id: category: compatibilityVersion: errorKey: downloadUserName: uri: backups.html[2/20/2014 10:09:30 AM] NOT_DOWNLOADED DOWNLOAD_REQUESTED type: string description: The hardware model of the appliance where the backup was taken required: true type: string description: The fully qualified host name of the system where the backup was taken required: true type: string description: Backup identifier containing the host name, backup/restore word and start time stamp required: true type: string description: Resource category used for authorizations and resource type groupings type: string description: The compatibility version of the firmware installed when the backup was taken. This is used during a restore to check if a backup is compatible with the version of the firmware installed on the appliance required: true type: string description: Contains the key used to generate a localized error message if the backup/restore fails type: string description: The user name of the user who requested the backup download type: string backups platformType: backupType: description: The canonical URI of the resource type: string description: The platform type of the appliance where the backup was taken required: true type: string description: The backup type enum: firmwareVersionMajor: errorParms: status: type: string required: true description: The major version of the firmware installed when the backup was taken required: true type: string description: Contains parameters to insert into a localized error message if the backup/restore fails type: array description: The status of the backup enum: errorMessage: downloadTime: eTag: taskUri: userName: created: backups.html[2/20/2014 10:09:30 AM] ON_DEMAND UPLOADED IN_PROGRESS SUCCEEDED FAILED CANCEL_IN_PROGRESS CANCELED type: string required: true description: Contains a localized error message describing the failure if the backup/restore fails type: string description: The time when the backup download was requested type: string description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Associated task URI used when taking a backup type: string description: The name of the user who created the backup type: string description: Date and time when the resource was created backups type: format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](. [0-9][0-9][0-9])?Z description: Identifies the resource type. This field must be set to 'BACKUP'. type: string backupStartTime: type: resolutionKey: description: Contains the key used to generate a localized resolution message if the backup/restore fails type: string description: URI for downloading the backup type: string downloadUri: string BackupDetailList type: object Properties count: category: created: prevPageUri: uri: modified: description: The actual number of resources returned in the specified page type: integer description: Resource category used for authorizations and resource type groupings type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])? Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: URI pointing to the page of resources preceding the list of resources contained in the specified collection type: string description: The canonical URI of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])? Z type: string backups.html[2/20/2014 10:09:30 AM] backups start: eTag: nextPageUri: members: format: YYYY-MM-DDThh:mm:ss.sssZ description: The row or record number of the first resource returned in the specified page type: integer description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: URI pointing to the page of resources following the list of resources contained in the specified collection type: string description: The list of matching resources. type: array Items backupStartTime: type: resolutionParms: description: Contains parameters to insert into a localized resolution message if the backup/restore fails type: array description: The unqualified host name of the system where the backup was taken required: true type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]: [0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: The minor version of the firmware installed when the backup was taken required: true type: string description: Contains a resolution message describing the failure if the backup/restore fails type: string description: The percentage of the backup that has completed type: integer minimum: 0 maximum: 100 description: The backup download status hostName: modified: firmwareVersionMinor: resolutionMessage: percentComplete: downloadStatus: backups.html[2/20/2014 10:09:30 AM] string backups type: enum: hardwareModel: fullyQualifiedHostName: id: category: compatibilityVersion: errorKey: downloadUserName: platformType: backupType: NOT_DOWNLOADED DOWNLOAD_REQUESTED description: The hardware model of the appliance where the backup was taken required: true type: string description: The fully qualified host name of the system where the backup was taken required: true type: string description: Backup identifier containing the host name, backup/restore word and start time stamp required: true type: string description: Resource category used for authorizations and resource type groupings type: string description: The compatibility version of the firmware installed when the backup was taken. This is used during a restore to check if a backup is compatible with the version of the firmware installed on the appliance required: true type: string description: Contains the key used to generate a localized error message if the backup/restore fails type: string description: The user name of the user who requested the backup download type: string description: The platform type of the appliance where the backup was taken required: true type: string description: The backup type enum: backups.html[2/20/2014 10:09:30 AM] string ON_DEMAND UPLOADED type: string required: true backups firmwareVersionMajor: errorParms: status: description: The major version of the firmware installed when the backup was taken required: true type: string description: Contains parameters to insert into a localized error message if the backup/restore fails type: array description: The status of the backup enum: errorMessage: downloadTime: eTag: taskUri: backupSize: userName: created: type: backups.html[2/20/2014 10:09:30 AM] IN_PROGRESS SUCCEEDED FAILED CANCEL_IN_PROGRESS CANCELED type: string required: true description: Contains a localized error message describing the failure if the backup/restore fails type: string description: The time when the backup download was requested type: string description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Associated task URI used when taking a backup type: string description: The backup size in bytes type: number minimum: 0 description: The name of the user who created the backup type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]: [0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Identifies the resource type. This field must be set to 'BACKUP'. backups uri: resolutionKey: downloadUri: total: type: type: string description: The canonical URI of the resource type: string description: Contains the key used to generate a localized resolution message if the backup/restore fails type: string description: URI for downloading the backup type: string description: The total number of resources that would be returned from the query (including any filters), without pagination or enforced resource limits type: integer description: Identifies the resource type. This field must be set to 'PaginatedCollectionResource'. type: string backups.html[2/20/2014 10:09:30 AM] tasks HP OneView 1.05 REST API Reference (API Version 4) Updated: February 18, 2014 4:59 MST tasks Task Tracker is used to record and update a task running in the system. It is not a task engine. It provides REST APIs version #2 to allow monitoring of tasks. API Specifications Create Read Update Delete /rest/tasks POST GET TaskResourceV2 /rest/tasks/schema GET TaskResourcePaginatedCollectionV2 /rest/tasks/{id} GET PUT Resource Model TaskTreeV2 TaskUpdateV2 URI: /rest/tasks Method API POST Creates a task V2 Parameter Attributes Description Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes TaskResourceV2 Required Description Response Description TaskResourceV2 Represents the task V2 created Response Codes REST API Response Codes Examples These two examples create a V2 task in the appliance using the specified parameters. The first example shows the minimum fields required to create a V2 task. 1) POST https://{appl}/rest/tasks Minimum fields required to create a V2 task: { "type":"TaskResourceV2", "name":"Creating My Task", "taskState":"New", (One of the TaskState enum values) "taskType":"User", ( One of the TaskType enum values ) "associatedResource": tasks.html[2/20/2014 10:09:31 AM] tasks { "resourceCategory": "my-rm-category" } } 2) POST https://{appl}/rest/tasks { "type":"TaskResourceV2", "name":"mytask1", "owner":"Administrator", "data":null, "percentComplete":0, "userInitiated":false, "taskStatus":"myresults", "taskState":"Interrupted", "associatedTaskUri":"associatedTaskUri", "parentTaskUri":"/rest/tasks/myparenttask", "progressUpdates":[ ], "totalSteps":0, "completedSteps":0, "taskOutput":[ ], "expectedDuration":0, "computedPercentComplete":0, "eTag":null, "taskType":"Appliance", "associatedResource": { "resourceName": "enclosure1234", "resourceUri": "/rest/enclosures/ABCD123", "resourceCategory": "enclosures", "associationType": "MANAGED_BY" } } GET Gets all the tasks V2 based upon filters provided. Note: filters are optional Parameter Attributes Description start Optional The 0-based index of the first resource to return (start=0 starts with the first available resource). If the specified count does not return all resources within the maximum allowed time (see count), use the start parameter to view additional resource pages. The default value for start is 0 (first available resource). count Optional Optional parameter that specifies the number of resources to return from each API invocation. The number of resources returned on each call is referred to as a page. If you specify a count, the API attempts to return the specified number of resources, however this may be limited due to response time constraints and/or actual number of resources available to return. The results include the total number of resources that match the filter or query, the actual count returned, and the URIs to go to the next page, previous page, or both. sort Optional The sort order of the returned data set. By default, the sort order is based on the create time, with the oldest entry first. query Experimental This parameter is experimental for this release: While generally functional when used in simple cases, restrictions might be noted tasks.html[2/20/2014 10:09:31 AM] tasks in the implementation description. If the query is supported, the following is the way it works. A general query string that narrows the list of resources returned by a multi-resource GET (read) request and DELETE (delete) request. The default is no query (all resources are returned). One advantage query has over filter is that it can have embedded ORs. A single query parameter can do what would take multiple parameters or multiple GET requests using filter. Use query for more complex queries. view Optional Return a specific subset of the attributes of the resource or collection by specifying the name of a predefined view. The default view is expand (show all attributes of the resource, and all elements of collections or resources). fields Optional Specifies which fields/columns should be returned in the response filter Experimental This parameter is experimental for this release: While generally functional when used in simple cases, restrictions might be noted in the implementation description. A general filter/query string that narrows the list of resources returned by a multi-resource GET (read) request and DELETE (delete) request. The default is no filter (all resources are returned). Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description TaskResourcePaginatedCollectionV2 Paginated list of all V2 tasks Response Codes REST API Response Codes Examples These examples return V2 tasks based on the filters provided. GET https://{appl}/rest/tasks Filtering examples: -https://{appl}/rest/tasks?filter="taskState='New'" -https://{appl}/rest/tasks? filter="taskState='Running'&filter="associatedResource.resourceCatgory='appliance'" -https://{appl}/rest/tasks? filter="taskState='Running'&filter="associatedResource.resourceUri='/rest/abcd/123'" -https://{appl}/rest/tasks? filter="taskState='Running'&filter="associatedResource.resourceName='myresource'" tasks.html[2/20/2014 10:09:31 AM] tasks URI: /rest/tasks/schema Method API GET Gets the JSON schema of the TaskResourceV2 Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description void Response Codes REST API Response Codes Examples This example returns the TaskResourceV2 schema in JSON format GET https://{appl}/rest/tasks/schema URI: /rest/tasks/{id} Method API GET Gets the task V2 corresponding to a given task Parameter Attributes Description view Optional Return a specific subset of the attributes of the resource or collection by specifying the name of a predefined view. The default view is expand (show all attributes of the resource, and all elements of collections or resources). fields Optional Specifies which fields/columns should be returned in the response Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description TaskResourceV2 Represents the task V2 with the specified ID Response Codes REST API Response Codes Examples This example returns the task V2 with task ID: 1234-1234-1234 tasks.html[2/20/2014 10:09:31 AM] tasks GET https://{appl}/rest/tasks/1234-1234-1234 PUT Updates the task V2 corresponding to a given task ID Parameter Attributes Description force Optional If set to true, the operation completes even if there are network connectivity issues or resource errors. The default is false. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes TaskUpdateV2 Required Description Response Description TaskResourceV2 Represents the task V2 with the specified ID Response Codes REST API Response Codes Examples This example updates the task V2 of task ID: 1234-1234-1234 using the specified parameters PUT https://{appl}/rest/tasks/1234-1234-1234 { "type":"TaskUpdateV2", "percentComplete":20, "taskStatus":"myresults", "taskState":"Interrupted", "totalSteps":0, "completedSteps":10, "expectedDuration":0, "taskType":"Background", "hidden":"true", "associatedResource": { "resourceName": "mytask1", "resourceUri": "/rest/enclosures/ABCD12345", "resourceCategory": "enclosures", "associationType": "MANAGED_BY" } } GET Gets the tree corresponding to a given task ID Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description TaskTreeV2 Represents the tree for task V2 with the specified ID tasks.html[2/20/2014 10:09:31 AM] tasks Response Codes REST API Response Codes Examples This example returns the tree for task ID: 1234-1234-1234 GET https://{appl}/rest/tasks/1234-1234-1234?view=tree TaskResourceV2 type: object Properties taskOutput: completedSteps: modified: taskErrors: description: Output resulting from the running of the task type: array description: Number of steps currently completed by the task type: integer description: Date and time when the resource was last modified format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][09][0-9])?Z description: Error messages associated with the task type: array Items errorSource: recommendedActions: nestedError: errorCode: tasks.html[2/20/2014 10:09:31 AM] description: A reference to the resource or attribute that applies to an error type: string description: A description of what can be done to rectify the problem type: array description: An array of task errors used when there are multiple errors type: object description: A string code which uniquely identifies the specific error allowing clients to switch on specific errors without having to parse the error message type: string tasks details: message: data: associatedTaskUri: percentComplete: taskType: userInitiated: category: taskStatus: parentTaskUri: stateReason: type: tasks.html[2/20/2014 10:09:31 AM] Optional verbose description of the error with additional information type: string description: Description of the error condition type: string description: Contains extra data defined for the particular error type: object description: If the current task is associated with another task, this represents the URI of another task. And if the current task is not associated with any other task, it signifies with NULL type: string description: Percentage of task currently completed. If TaskState of this task currently belongs to any of the TERMINAL states (Terminated, Killed, Completed, Error or Warning), percentComplete and computedPercentComplete will be set to 100 type: integer description: Current type of the task enum: owner: description: User Appliance Background type: string description: The name of the user under whose authority the task is running type: string description: If task is the result of an user initiated command, it is TRUE. Otherwise FALSE. default: false type: boolean description: Resource category used for authorizations and resource type groupings type: string description: Short summary of the current execution/completion status type: string description: URI of the parent task. NULL if no parent exists type: string description: Contains the reason for changing to current state of the task type: string description: Identifies the resource type. This field must be set to 'TaskResourceV2'. type: string tasks progressUpdates: description: List of timestamped objects describing the progress of the task. type: array Items timestamp: statusUpdate: eTag: associatedResource: Date and time when the progress update was logged format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5] [0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z description: Text containing update that the service logged during execution of the task type: string type: id: expectedDuration: description: integer description: Estimated number of seconds the task is expected to take to complete type: integer description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string type: object Properties resourceName: associationType: description: Name of the Resource. type: string description: Type of Association. enum: resourceCategory: resourceUri: totalSteps: name: created: tasks.html[2/20/2014 10:09:31 AM] MANAGED_BY HAS_A IS_A type: string description: Category of the Resource. type: string description: URI of the Resource. type: string description: Total number of steps to be completed for this task type: integer description: Display name for the task type: string description: Date and time when the resource was created format: YYYY-MM-DDThh:mm:ss.sssZ tasks taskState: type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][09][0-9])?Z description: Current state of the task enum: uri: Unknown New Running Suspended Terminated Killed Completed Error Warning Interrupted Starting Stopping Pending type: string description: The canonical URI of the resource type: string TaskResourcePaginatedCollectionV2 type: object Properties count: category: created: prevPageUri: uri: modified: description: The actual number of resources returned in the specified page type: integer description: Resource category used for authorizations and resource type groupings type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])? Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: URI pointing to the page of resources preceding the list of resources contained in the specified collection type: string description: The canonical URI of the resource type: string description: Date and time when the resource was last modified tasks.html[2/20/2014 10:09:31 AM] tasks start: eTag: nextPageUri: members: pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])? Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: The row or record number of the first resource returned in the specified page type: integer description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: URI pointing to the page of resources following the list of resources contained in the specified collection type: string description: Ordered list of tasks returned from the query type: array Items taskOutput: completedSteps: uri: taskErrors: description: Output resulting from the running of the task type: array description: Number of steps currently completed by the task type: integer description: The canonical URI of the resource type: string description: Error messages associated with the task type: array Items errorSource: recommendedActions: nestedError: errorCode: tasks.html[2/20/2014 10:09:31 AM] description: A reference to the resource or attribute that applies to an error type: string description: A description of what can be done to rectify the problem type: array description: An array of task errors used when there are multiple errors type: object description: A string code which uniquely identifies the tasks specific error allowing clients to switch on specific errors without having to parse the error message details: message: data: associatedTaskUri: percentComplete: taskType: userInitiated: category: tasks.html[2/20/2014 10:09:31 AM] string description: Optional verbose description of the error with additional information type: string description: Description of the error condition type: string description: Contains extra data defined for the particular error type: object description: If the current task is associated with another task, this represents the URI of another task. And if the current task is not associated with any other task, it signifies with NULL type: string description: Percentage of task currently completed. If TaskState of this task currently belongs to any of the TERMINAL states (Terminated, Killed, Completed, Error or Warning), percentComplete and computedPercentComplete will be set to 100 type: integer description: Current type of the task type: string enum: owner: type: User Appliance Background description: The name of the user under whose authority the task is running type: string description: If task is the result of an user initiated command, it is TRUE. Otherwise FALSE. default: false type: boolean description: Resource category used for authorizations and resource type groupings type: string tasks taskStatus: parentTaskUri: stateReason: type: progressUpdates: description: Short summary of the current execution/completion status type: string description: URI of the parent task. NULL if no parent exists type: string description: Contains the reason for changing to current state of the task type: string description: Identifies the resource type. This field must be set to 'TaskResourceV2'. type: string description: List of timestamped objects describing the progress of the task. type: array Items timestamp: statusUpdate: eTag: associatedResource: Date and time when the progress update was logged pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3] [0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9] (.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Text containing update that the service logged during execution of the task type: string type: id: expectedDuration: description: integer description: Estimated number of seconds the task is expected to take to complete type: integer description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string type: object Properties resourceName: associationType: tasks.html[2/20/2014 10:09:31 AM] description: Name of the Resource. type: string description: Type of Association. tasks type: enum: resourceCategory: resourceUri: totalSteps: name: created: taskState: total: type: MANAGED_BY HAS_A IS_A description: Category of the Resource. type: string description: URI of the Resource. type: string description: Total number of steps to be completed for this task type: integer description: Display name for the task type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5] [0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Current state of the task type: string enum: modified: string Unknown New Running Suspended Terminated Killed Completed Error Warning Interrupted Starting Stopping Pending description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5] [0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: The total number of resources that would be returned from the query (including any filters), without pagination or enforced resource limits type: integer description: Identifies the resource type. This field must be set to 'TaskResourcePaginatedCollectionV2'. tasks.html[2/20/2014 10:09:31 AM] tasks type: string TaskTreeV2 type: object Properties resource: TaskResourceV2 children: description: Child TaskResourceV2 while populating the tree Items taskOutput: completedSteps: uri: taskErrors: description: Output resulting from the running of the task type: array description: Number of steps currently completed by the task type: integer description: The canonical URI of the resource type: string description: Error messages associated with the task type: array Items errorSource: recommendedActions: nestedError: errorCode: details: tasks.html[2/20/2014 10:09:31 AM] description: A reference to the resource or attribute that applies to an error type: string description: A description of what can be done to rectify the problem type: array description: An array of task errors used when there are multiple errors type: object description: A string code which uniquely identifies the specific error allowing clients to switch on specific errors without having to parse the error message type: string description: Optional verbose description of the error with additional information tasks message: data: associatedTaskUri: percentComplete: taskType: userInitiated: category: taskStatus: parentTaskUri: stateReason: type: tasks.html[2/20/2014 10:09:31 AM] string description: Description of the error condition type: string description: Contains extra data defined for the particular error type: object description: If the current task is associated with another task, this represents the URI of another task. And if the current task is not associated with any other task, it signifies with NULL type: string description: Percentage of task currently completed. If TaskState of this task currently belongs to any of the TERMINAL states (Terminated, Killed, Completed, Error or Warning), percentComplete and computedPercentComplete will be set to 100 type: integer description: Current type of the task type: string enum: owner: type: User Appliance Background description: The name of the user under whose authority the task is running type: string description: If task is the result of an user initiated command, it is TRUE. Otherwise FALSE. default: false type: boolean description: Resource category used for authorizations and resource type groupings type: string description: Short summary of the current execution/completion status type: string description: URI of the parent task. NULL if no parent exists type: string description: Contains the reason for changing to current state of the task type: string description: Identifies the resource type. This field must be set to 'TaskResourceV2'. tasks type: progressUpdates: string description: List of timestamped objects describing the progress of the task. type: array Items timestamp: statusUpdate: eTag: associatedResource: Date and time when the progress update was logged pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][09]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9] [0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Text containing update that the service logged during execution of the task type: string type: id: expectedDuration: description: integer description: Estimated number of seconds the task is expected to take to complete type: integer description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string type: object Properties resourceName: associationType: description: Name of the Resource. type: string description: Type of Association. type: string enum: resourceCategory: resourceUri: totalSteps: tasks.html[2/20/2014 10:09:31 AM] MANAGED_BY HAS_A IS_A description: Category of the Resource. type: string description: URI of the Resource. type: string description: Total number of steps to be completed for this task type: integer tasks name: created: taskState: description: Display name for the task type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]: [0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Current state of the task type: string enum: modified: type: Unknown New Running Suspended Terminated Killed Completed Error Warning Interrupted Starting Stopping Pending description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]: [0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ array TaskUpdateV2 type: object Properties modified: taskStatus: taskState: description: Time for the last modification type: string description: Current status of task type: string description: State of the task type: string Unknown tasks.html[2/20/2014 10:09:31 AM] tasks enum: New Running Suspended Terminated Killed Completed Error Warning Interrupted Starting Stopping Pending taskErrors: description: Error messages associated with the task type: array Items errorCode: message: details: recommendedActions: errorSource: nestedErrors: description: A string code which uniquely identifies the specific error allowing clients to switch on specific errors without having to parse the error message type: string description: Description of the error condition type: string description: Optional verbose description of the error with additional information type: string description: A description of what can be done to rectify the problem type: array description: A reference to the resource or attribute that applies to an error type: string description: An array of sub-errors used when there are multiple errors type: array Items data: recommendedActionsString: progressUpdates: Contains extra data defined for the particular error type: object type: string description: List of timestamped objects describing the progress of the task type: array Items tasks.html[2/20/2014 10:09:31 AM] description: tasks id: type: timestamp: description: Date and time when the progress update was logged type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5] [0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z format: YYYY-MM-DDThh:mm:ss.sssZ description: Text containing update that the service logged during execution of the task type: string statusUpdate: taskOutput: integer description: Output resulting from the running of the task type: array totalSteps: type: integer completedSteps: type: integer expectedDuration: type: integer percentComplete: type: integer type: description: Identifies the resource type. This field must be set to 'TaskUpdateV2' type: string description: Current type of the task type: string taskType: enum: stateReason: associatedResource: User Appliance Background description: Contains the reason for changing to current state of the task type: string type: object Properties resourceName: resourceUri: resourceCategory: associationType: description: Name of the Resource. type: string description: URI of the Resource. type: string description: Category of the Resource. type: string description: Type of Association. type: string enum: tasks.html[2/20/2014 10:09:31 AM] MANAGED_BY tasks HAS_A IS_A tasks.html[2/20/2014 10:09:31 AM] certificates HP OneView 1.05 REST API Reference (API Version 4) Updated: February 18, 2014 4:27 MST certificates The certificates resource provides REST APIs to do the following: 1.Configure SSL certificates for secured communication with the web server (httpd). The /certificates/https resource is a named context in which SSL certificates can be created,retrieved and imported. The definition of that context includes specifications to generate,import and retrieve the self signed or signed SSL certificates to be used by web server (httpd) for encrypted communication. For example, when using this context, your request would always start with https://{appl}/rest/certificates/https. 2.The /rest/certificates resource also provides REST APIs for configuration of SSL certificates for the appliance to establish SSL communication with other managed network entities and User Directory Servers. The /rest/certificates is a named context in which the SSL certificates can be imported, updated, retrieved and deleted. The definition of this context includes specifications to import, update, retrieve and delete SSL certificates from the management appliance store. For example, when using this context, your request would always proceed with the requests to https://{appl}/rest/certificates. All the calls are synchronous. 3. The /rest/certificates/client/rabbitmq resource provides REST APIs to manage SSL client certificates for RabbitMq SSL Server. 4.The /rest/certificates/ca resource manages the internal Certificate Authority. API Specifications Create Read Update Delete Resource Model /rest/certificates POST GET PUT DELETE CertificateV2 /rest/certificates/ca GET CertificateDataV2 /rest/certificates/ca/crl GET RabbitMqClientCert /rest/certificates/ca/{aliasName} DELETE /rest/certificates/client/rabbitmq POST SSLCertificate /rest/certificates/client/rabbitmq/keypair/{aliasName} GET /rest/certificates/client/rabbitmq/{aliasName} GET /rest/certificates/https GET /rest/certificates/https/certificaterequest POST /rest/certificates/validator POST /rest/certificates/{id} TaskResourceV2 SSLCertificatesList PUT PUT GET PUT URI: /rest/certificates Method API GET Returns the list of the SSL certificates based on the filter criteria. DELETE Parameter Attributes Description start Optional The 0-based index of the first resource to return (start=0 starts with the first available resource). If the specified count does not return all resources within the maximum allowed time (see count), use the start parameter to view additional resource pages. The default value for start is 0 (first available resource). count Optional Optional parameter that specifies the number of resources to return from each API invocation. The number of resources returned on certificates.html[2/20/2014 10:09:33 AM] certificates each call is referred to as a page. If you specify a count, the API attempts to return the specified number of resources, however this may be limited due to response time constraints and/or actual number of resources available to return. The results include the total number of resources that match the filter or query, the actual count returned, and the URIs to go to the next page, previous page, or both. sort Optional The sort order of the returned data set. By default, the sort order is based on the create time, with the oldest entry first. query Experimental This parameter is experimental for this release: While generally functional when used in simple cases, restrictions might be noted in the implementation description. If the query is supported, the following is the way it works. A general query string that narrows the list of resources returned by a multiresource GET (read) request and DELETE (delete) request. The default is no query (all resources are returned). One advantage query has over filter is that it can have embedded ORs. A single query parameter can do what would take multiple parameters or multiple GET requests using filter. Use query for more complex queries. view Optional Return a specific subset of the attributes of the resource or collection by specifying the name of a predefined view. The default view is expand (show all attributes of the resource, and all elements of collections or resources). fields Optional Sets the fields to be passed as input filter Experimental This parameter is experimental for this release: While generally functional when used in simple cases, restrictions might be noted in the implementation description. A general filter/query string that narrows the list of resources returned by a multi-resource GET (read) request and DELETE (delete) request. The default is no filter (all resources are returned). Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description SSLCertificatesList List of all SSL certificates based on the filter Response Codes REST API Response Codes Examples The following example retrieves a list of SSL certificates based on the filter criteria. certificates.html[2/20/2014 10:09:33 AM] certificates An example URI is included. GET https://example.net//rest/certificates? sort=ascending&start=0&count=2&filter=localhost&filter=testcert POST Imports the given SSL certificate into the appliance. Parameter Attributes Description Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Description SSLCertificate Required SSL certificate information Response Description SSLCertificate SSL Certificate information and import status flag Response Codes REST API Response Codes Examples The following example imports the given SSL certificate into the appliance. An example URI and request body are included. POST https://example.net/rest/certificates {"type":"SSLCertificateDTO", "status":null, "base64SSLCertData":"-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----", "aliasName":"localhostone", "verifyTrustChainAndRevocation":false, "verifyRevocationStatus":false } POST Imports the given list of SSL certificates into the appliance. Parameter Attributes Description Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Description SSLCertificate Required List of SSL certificates to be imported Response Description SSLCertificate List of SSL certificates with the import status updated Response Codes REST API Response Codes certificates.html[2/20/2014 10:09:33 AM] certificates Examples The following example imports the given list of SSL certificates into the appliance. An example URI and request body are included. POST https://example.net/rest/certificates?multiResource=true [{"type":"SSLCertificateDTO", "status":null, "base64SSLCertData":"-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----", "aliasName":"localhostone", "verifyTrustChainAndRevocation":false, "verifyRevocationStatus":false }, {"type":"SSLCertificateDTO", "status":null, "base64SSLCertData":"-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----", "aliasName":"localhosttwo", "verifyTrustChainAndRevocation":false, "verifyRevocationStatus":false }] PUT Replaces the list of the existing SSL certificates with the new certificates. Parameter Attributes Description force Optional If set to true, the operation completes even if there are network connectivity issues or resource errors. The default is false. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Description SSLCertificate Required List of SSL certificates to be updated Response Description SSLCertificate List of the SSL certificates updated with update status Response Codes REST API Response Codes Examples The following example replaces a list of existing SSL certificates with new certificates. An example URI and request body are included. PUT https://example.net/rest/certificates?multiResource=true [{"type":"SSLCertificateDTO", "status":null, certificates.html[2/20/2014 10:09:33 AM] certificates "base64SSLCertData":"-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----", "aliasName":"localhostone", "verifyTrustChainAndRevocation":false, "verifyRevocationStatus":false }, {"type":"SSLCertificateDTO", "status":null, "base64SSLCertData":"-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----", "aliasName":"localhosttwo", "verifyTrustChainAndRevocation":false, "verifyRevocationStatus":false }] DELETE Deletes the list of the SSL certificates based on the alias name given as part of the filter criteria. Parameter Attributes Description force Optional If set to true, the operation completes even if there are network connectivity issues or resource errors. The default is false. query Experimental This parameter is experimental for this release: While generally functional when used in simple cases, restrictions might be noted in the implementation description. If the query is supported, the following is the way it works. A general query string that narrows the list of resources returned by a multiresource GET (read) request and DELETE (delete) request. The default is no query (all resources are returned). One advantage query has over filter is that it can have embedded ORs. A single query parameter can do what would take multiple parameters or multiple GET requests using filter. Use query for more complex queries. filter Experimental This parameter is experimental for this release: While generally functional when used in simple cases, restrictions might be noted in the implementation description. A general filter/query string that narrows the list of resources returned by a multi-resource GET (read) request and DELETE (delete) request. The default is no filter (all resources are returned). Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description Map<String,String> Status of the all the deleted certificates Response Codes REST API Response Codes Examples The following example deletes the list of SSL certificates based on the alias names 'localhost' certificates.html[2/20/2014 10:09:33 AM] certificates and 'testcert' specified as part of filter criteria. An example URI is included. DELETE https://example.net/rest/certificates? filter=localhost&filter=testcert URI: /rest/certificates/ca Method API GET Retrieves the internal CA's root certificate Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description String The Base-64 encoded CA certificate Response Codes REST API Response Codes Examples The following example retrieves the internal CA's root certificate. An example URI is included. GET https://example.net/rest/certificates/ca URI: /rest/certificates/ca/crl Method API GET Retrieves the contents of the CRL file maintained by the internal CA in Base-64 encoded format Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description String The contents of the CRL file in Base-64 encoded format Response Codes REST API Response Codes Examples The following example retrieves the contents of the CRL file maintained by the internal CA in base-64 encoded format. An example URI is included. certificates.html[2/20/2014 10:09:33 AM] certificates GET https://{appliance}/rest/certificates/ca/crl URI: /rest/certificates/ca/{aliasName} Method API DELETE The Atlas CA root certificate and RabbitMQ client and server certificates will be re-generated. This will invalidate the previous version of RabbitMQ client certificate. RabbitMQ server will be restarted to read the latest certificates. X-API-Version in the HTTP header should be at least 2. Parameter Attributes Description force Optional If set to true, the operation completes even if there are network connectivity issues or resource errors. The default is false. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description void none Response Codes REST API Response Codes Examples The following example revokes a certificate signed by the internal CA. An example URI is included. DELETE https://example.net/rest/certificates/ca/default URI: /rest/certificates/client/rabbitmq Method API POST Generates a self signed certificate or a CA signed certificate for RabbitMq clients. The certificate is signed by internal CA. This API is asynchronous. HP recommends that you poll for completion of the task and then use GET to get the certificate and the key. Parameter Attributes Description Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Description RabbitMqClientCert Required The certificate data object containing common name and other attributes of the distinguished name. If the common name is default, empty or null, then a client certificate will be certificates.html[2/20/2014 10:09:33 AM] certificates created for a default RabbitMq user name. Response Description void HP recommends polling for the completion of the task and then,to get the client certificate and key, invoking the following resource: https://{<i>appl</i>}/rest/certificates/client/rabbitmq/ keypair/{<i>aliasName</i>} Response Codes REST API Response Codes Examples Example 1: To generate a CA signed client certificate, signed by internal CA. POST https://example.net/rest/certificates/client/rabbitmq {"type":"RabbitMqClientCert", "commonName": "default"} Example 2: To generate a self signed client certificate. POST https://example.net/rest/certificates/client/rabbitmq {"type":"RabbitMqClientCert", "commonName": "any", "signedCert":"false"} URI: /rest/certificates/client/rabbitmq/keypair/{aliasName} Method API GET Retrieves the base-64 encoded certificate and key associated with the RabbitMq user Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description RabbitMqClientCert The certificate data object containing the Base-64 encoded certificate and key Response Codes REST API Response Codes Examples The following example retrieves the base-64 encoded certificate and key associated with the RabbitMq user based on alias name. Example URIs are included. certificates.html[2/20/2014 10:09:33 AM] certificates GET https://example.net/rest/certificates/client/rabbitmq/keypair/default GET https://example.net/rest/certificates/client/rabbitmq/keypair/any URI: /rest/certificates/client/rabbitmq/{aliasName} Method API GET Retrieves the base-64 encoded certificate associated with the RabbitMq user Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description RabbitMqClientCert The certificate data object containing the base-64 encoded certificate Response Codes REST API Response Codes Examples The following example retrieves the base-64 encoded certificate with alias name 'default' associated with the RabbitMq user. An example URI is included. GET https://example.net/rest/certificates/client/rabbitmq/default URI: /rest/certificates/https Method API GET Gets the existing SSL certificate information and returns the version 2 of the certificate data object that contains the user configured SSL information. X-API-Version in the HTTP header should be at least 2. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description CertificateV2 Certificate object version 2 containing current certificate information Response Codes REST API Response Codes certificates.html[2/20/2014 10:09:33 AM] certificates Examples The following example gets the existing SSL certificate information. An example URI is included. GET https://example.net/rest/certificates/https PUT Creates a Self Signed Certificate based on input certificate data. This is an asynchronous API and returns the TaskResourceV2 data object that contains the information about the task to be monitored for this purpose. X-API-Version in the HTTP header should be at least 2. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Description CertificateV2 Required Certificate data to be used as input configuration for the certificate Response Description TaskResourceV2 Reference to the task object to be monitored for completion status Response Codes REST API Response Codes Examples The following example creates a self signed certificate. An example URI and request body are included. PUT https://example.net/rest/certificates/https { "type":"CertificateDtoV2", "commonName":"example.net", "issuer":"", "validFrom":"", "validUntil":"", "expiresInDays":"", "serialNumber":"", "version":"", "md5Fingerprint":"", "sha1Fingerprint":"", "country":"IN", "state":"KAR", "locality":"Bangalore", "organization":"HP", "organizationalUnit":"", "alternativeName":"", "contactPerson":"", "email":"", "surname":"", "givenName":"", "initials":"", "dnQualifier":"", certificates.html[2/20/2014 10:09:33 AM] certificates "unstructuredName":"123", "challengePassword":"12345678" } URI: /rest/certificates/https/certificaterequest Method API POST Creates a Certificate Signing Request (CSR) based on input certificate data object and returns the data object that contains information about the newly created CSR. X-API-Version in the HTTP header should be at least 2. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes CertificateV2 Required Description Response Description CertificateDataV2 Certificate object that contains user generated SSL certificate content Response Codes REST API Response Codes Examples The following example generates a new certificate signing request. An example URI and request body are included. POST https://example.net/rest/certificates/https/certificaterequest { "type":"CertificateDtoV2", "commonName":"example.net", "issuer":"", "validFrom":"", "validUntil":"", "expiresInDays":"", "serialNumber":"", "version":"", "md5Fingerprint":"", "sha1Fingerprint":"", "country":"IN", "state":"KAR", "locality":"Bangalore", "organization":"HP", "organizationalUnit":"", "alternativeName":"", "contactPerson":"", "email":"", "surname":"", "givenName":"", "initials":"", certificates.html[2/20/2014 10:09:33 AM] certificates "dnQualifier":"", "unstructuredName":"123", "challengePassword":"12345678" } PUT Imports or accepts a signed certificate based on input certificate data . This is an asynchronous API. It returns the TaskResourceV2 data object containing information about the task to be monitored for this purpose. X-API-Version in the HTTP header should be at least 2. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Description CertificateDataV2 Required Certificate data to be used as input configuration for the certificate Response Description TaskResourceV2 Reference to the task object to be monitored for completion status Response Codes REST API Response Codes Examples The following example modifies an existing certificate signing request. An example URI and request body are included. PUT https://example.net/rest/certificates/https/certificaterequest { "type":"CertificateDataV2", "base64Data":"-----BEGIN CERTIFICATE REQUEST-----\n...\n-----END CERTIFICATE REQUEST-----" } URI: /rest/certificates/validator Method API POST Checks if the input certificate is X509 compliant and if the input is an X509 certificate chain(in PKCS7 format) it checks for validity of the certificates in the chain with respect to authority signature verifications, time and revocation status. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Description SSLCertificate Required SSL certificate to be verified Response certificates.html[2/20/2014 10:09:33 AM] Description certificates SSLCertificate SSL certificate along with the validity status. Valid - if X509 compliance and not expired, Expired if Certificate Expired, Invalid - If not a valid X509 certificate. Response Codes REST API Response Codes Examples The following example validates an SSL certificate. An example URI and request body are included. POST https://example.net/rest/certificates/validator { "type":"SSLCertificateDTO", "status":null, "base64SSLCertData":"-----BEGIN CERTIFICATE-----\n encoded data here \n-----END CERTIFICATE-----", "aliasName":"localhostone", "verifyTrustChainAndRevocation":false, "verifyRevocationStatus":false } URI: /rest/certificates/{id} Method API GET Returns the SSL Certificate based on the certificate alias name given as part of the {id} and checks if the certificate is X509 compliant and has not expired. Parameter Attributes Description view Optional Return a specific subset of the attributes of the resource or collection by specifying the name of a predefined view. The default view is expand (show all attributes of the resource, and all elements of collections or resources). fields Optional Sets the fields to be passed as input Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description SSLCertificate The certificate data and the validity status Response Codes REST API Response Codes Examples certificates.html[2/20/2014 10:09:33 AM] certificates The following example gets the existing SSL certificate information for a given alias name. An example URI is included. GET https://example.net/rest/certificates/certaliasname1 PUT Replaces the existing SSL certificate with the new certificate for the given certificate alias name as part of the {id}. Parameter Attributes Description force Optional If set to true, the operation completes even if there are network connectivity issues or resource errors. The default is false. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Description SSLCertificate Required SSL certificate to be replaced Response Description SSLCertificate Updated SSL certificate details and update status Response Codes REST API Response Codes Examples The following example replaces the existing SSL certificate with the new certificate for the given certificate alias name 'certaliasname1'. An example URI and request body are included. PUT https://example.net/rest/certificates/certaliasname1 {"type":"SSLCertificateDTO", "status":null, "base64SSLCertData":"-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----", "aliasName":"certaliasname1", "verifyTrustChainAndRevocation":false, "verifyRevocationStatus":false } DELETE Deletes the SSL certificate based on the alias name given as part of the {id}. Parameter Attributes Description force Optional If set to true, the operation completes even if there are network connectivity issues or resource errors. The default is false. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the certificates.html[2/20/2014 10:09:33 AM] certificates current release, this must be set to "X-API-Version:4" Response Description Map<String,String> Status of the certificate deletion Response Codes REST API Response Codes Examples The following example deletes the SSL certificate based on the alias name. An example URI is included. DELETE https://example.net/rest/certificates/certaliasname1 CertificateV2 description: Used to transport and store configuration data to create a self signed certificate or to retrieve the content of the currently configured self signed certificate type: object Properties surname: uri: challengePassword: issuer: category: locality: commonName: state: certificates.html[2/20/2014 10:09:33 AM] description: The surname entry cannot exceed 64 characters type: string description: The canonical URI of the resource type: string description: The challenge password is a required entry and must contain a minimum of 8 characters type: string description: The issuer is an optional entry which is the designated authority who issues the certificate type: string description: Resource category used for authorizations and resource type groupings type: string description: The city or locality entry is a required entry, can contain up to 128 characters type: string description: The common name is a required entry, can be FQDN/hostname or IPv4/IPv6 address type: string description: The state or province entry is a required entry, can contain up to 128 characters certificates version: type: email: status: description: sha1Fingerprint: dnQualifier: contactPerson: base64Data: eTag: unstructuredName: expiresInDays: certificates.html[2/20/2014 10:09:33 AM] type: string description: X.509 version information for the certificate, a prevalent version is X.509 version 3, which is a standard that allows a certificate to contain customized extensions type: string description: Identifies the resource type. This field must be set to 'CertificateDtoV2'. type: string description: The email address entry, cannot exceed 128 characters and the format is name@domain type: string description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown - should be avoided, but there may be rare occasions where status is Unknown; OK - indicates normal/informational behavior; Disabled - indicates that a resource is not operational; Warning needs attention soon; Critical - needs immediate attention. type: string description: Brief description of the resource type: string description: The unique identifier for the certificate encrypted using SHA1 type: string description: The DN qualifier entry, cannot exceed 128 characters type: string description: The name of the person to contact, cannot exceed 64 characters type: string description: Encrypted content of SSL certificate type: string format: -----BEGIN CERTIFICATE----- encoded data here -----END CERTIFICATE---- description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: The unstructured name is a required entry and can contain up to 64 characters type: string description: The count of days after which the certificate expires. Internet CA certificates are often no longer usable after they expire because once the certificate expires, the issuing authority is no longer required to maintain information about the status of the certificate type: string certificates organizationalUnit: validFrom: validUntil: name: created: country: serialNumber: modified: md5Fingerprint: organization: alternativeName: givenName: initials: certificates.html[2/20/2014 10:09:33 AM] description: The entry for the organizational unit name, cannot exceed 64 characters type: string description: The day from which the issued certificate is valid to use type: string description: The last day after which the certificate will be a defunct object type: string description: Display name for the resource type: string description: Date and time when the resource was created format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][09][0-9])?Z description: The country code is a required entry and must contain only two letters type: string description: A number assigned to the certificate by the CA, which is unique across all certificates issued by this CA. The issuer name and a serial number together identify a unique certificate type: string description: Date and time when the resource was last modified format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][09][0-9])?Z description: The unique identifier for the certificate encrypted using Message Digest 5 type: string description: The organization name is a required entry, can contain up to 64 characters type: string description: This is an optional entry and it contains additional names that apply to the owner of the certificate. Might include additional Internet e-mail names, a DNS name, an IP address, other identifier type: string description: The given name entry, cannot exceed 64 characters type: string description: The initials entry, cannot exceed 20 characters type: string certificates CertificateDataV2 description: Used to transport and store configuration data to accept or retrieve the content of the certificate signing request information type: object Properties status: category: description: created: uri: modified: state: eTag: base64Data: description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown - should be avoided, but there may be rare occasions where status is Unknown; OK - indicates normal/informational behavior; Disabled - indicates that a resource is not operational; Warning - needs attention soon; Critical - needs immediate attention. type: string description: Resource category used for authorizations and resource type groupings type: string description: Brief description of the resource type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])? Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: The canonical URI of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])? Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: State is not applicable to this resource. type: string description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Encrypted content of the SSL certificate type: string format: -----BEGIN CERTIFICATE----- encoded data here -----END CERTIFICATE----- certificates.html[2/20/2014 10:09:33 AM] certificates type: name: description: Identifies the resource type. This field must be set to 'CertificateDataV2'. type: string description: Display name for the resource type: string RabbitMqClientCert description: Used to transport and store SSL certificate data between different service layers type: object Properties uri: aliasName: category: base64SSLCertData: organizationalUnitName: locality: commonName: base64SSLKeyData: state: type: certificates.html[2/20/2014 10:09:33 AM] description: The canonical URI of the resource type: string description: Alias name associated with the client certificate type: string description: Resource category used for authorizations and resource type groupings type: string description: The Base64 encoded client certificate data type: string format: -----BEGIN CERTIFICATE----- encoded ssl certificate data -----END CERTIFICATE----- description: The organizational unit name is a an optional entry and cannot exceed 64 characters type: string description: The state or province entry is an optional entry and can contain up to 128 characters type: string description: Common name of the client certificate, a mandatory attribute type: string description: The Base64 encoded client certificate data type: string format: -----BEGIN RSA PRIVATE KEY----- encoded private key data -----END RSA PRIVATE KEY----- description: State is not applicable to this resource. type: string description: Identifies the resource type. This field must be set to certificates 'RabbitMqClientCert'. status: description: countryName: eTag: emailAddress: expiresInDays: organizationName: name: created: modified: stateOrProvinceName: certificates.html[2/20/2014 10:09:33 AM] type: string description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown - should be avoided, but there may be rare occasions where status is Unknown; OK - indicates normal/informational behavior; Disabled - indicates that a resource is not operational; Warning - needs attention soon; Critical - needs immediate attention. type: string description: Brief description of the resource type: string description: The country code is an optional entry and must contain only two letters type: string description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: The email address associated with the user type: string description: The expiration time in days, default - 365 days type: string description: The organization name is a an optional entry and can contain up to 64 characters type: string description: Display name for the resource type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](. [0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](. [0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: The state or province entry is an optional entry and can contain up to 128 characters type: string certificates keysize: signedCert: description: The size of the key in bits, default - 2048 bits type: string description: Option to generate either a CA signed certificate or a self signed certificate type: boolean TaskResourceV2 type: object Properties taskOutput: completedSteps: modified: taskErrors: description: Output resulting from the running of the task type: array description: Number of steps currently completed by the task type: integer description: Date and time when the resource was last modified format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][09][0-9])?Z description: Error messages associated with the task type: array Items errorSource: recommendedActions: nestedError: errorCode: details: certificates.html[2/20/2014 10:09:33 AM] description: A reference to the resource or attribute that applies to an error type: string description: A description of what can be done to rectify the problem type: array description: An array of task errors used when there are multiple errors type: object description: A string code which uniquely identifies the specific error allowing clients to switch on specific errors without having to parse the error message type: string description: Optional verbose description of the error with certificates additional information message: data: associatedTaskUri: percentComplete: taskType: userInitiated: category: taskStatus: parentTaskUri: stateReason: type: progressUpdates: certificates.html[2/20/2014 10:09:33 AM] string description: Description of the error condition type: string description: Contains extra data defined for the particular error type: object description: If the current task is associated with another task, this represents the URI of another task. And if the current task is not associated with any other task, it signifies with NULL type: string description: Percentage of task currently completed. If TaskState of this task currently belongs to any of the TERMINAL states (Terminated, Killed, Completed, Error or Warning), percentComplete and computedPercentComplete will be set to 100 type: integer description: Current type of the task enum: owner: type: User Appliance Background type: string description: The name of the user under whose authority the task is running type: string description: If task is the result of an user initiated command, it is TRUE. Otherwise FALSE. default: false type: boolean description: Resource category used for authorizations and resource type groupings type: string description: Short summary of the current execution/completion status type: string description: URI of the parent task. NULL if no parent exists type: string description: Contains the reason for changing to current state of the task type: string description: Identifies the resource type. This field must be set to 'TaskResourceV2'. type: string description: List of timestamped objects describing the progress of the task. certificates type: array Items timestamp: statusUpdate: eTag: associatedResource: Date and time when the progress update was logged format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5] [0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z description: Text containing update that the service logged during execution of the task type: string type: id: expectedDuration: description: integer description: Estimated number of seconds the task is expected to take to complete type: integer description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string type: object Properties resourceName: associationType: description: Name of the Resource. type: string description: Type of Association. enum: resourceCategory: resourceUri: totalSteps: name: created: certificates.html[2/20/2014 10:09:33 AM] MANAGED_BY HAS_A IS_A type: string description: Category of the Resource. type: string description: URI of the Resource. type: string description: Total number of steps to be completed for this task type: integer description: Display name for the task type: string description: Date and time when the resource was created format: YYYY-MM-DDThh:mm:ss.sssZ certificates taskState: type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][09][0-9])?Z description: Current state of the task enum: uri: Unknown New Running Suspended Terminated Killed Completed Error Warning Interrupted Starting Stopping Pending type: string description: The canonical URI of the resource type: string SSLCertificate description: Used to transport and store SSL certificate data between different service layers type: object Properties status: category: base64SSLCertData: verifyRevocationStatus: created: certificates.html[2/20/2014 10:09:33 AM] description: Verification status of the SSL certificate type: string description: Resource category used for authorizations and resource type groupings type: string description: Base64 encoded SSL certificate data type: string format: -----BEGIN CERTIFICATE----- encoded SSL certificate data ----END CERTIFICATE----- description: Verification status of the input SSL certificate or chain for revocation status against a CRL file offline type: boolean description: Date and time when the resource was created format: YYYY-MM-DDThh:mm:ss.sssZ certificates type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[05][0-9](.[0-9][0-9][0-9])?Z verifyTrustChainAndRevocation: type: uri: description: The canonical URI of the resource type: string description: Date and time when the resource was last modified format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[05][0-9](.[0-9][0-9][0-9])?Z description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Alias name for the SSL certificate type: string description: Identifies the resource type. This field must be set to 'SSLCertificateDTO'. type: string modified: eTag: aliasName: type: boolean SSLCertificatesList description: Class used to transport and store collection of SSL certificate data between different service layers type: object Properties count: category: created: prevPageUri: description: The actual number of resources returned in the specified page type: integer description: Resource category used for authorizations and resource type groupings type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])? Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: URI pointing to the page of resources preceding the list of resources contained in the specified collection certificates.html[2/20/2014 10:09:33 AM] certificates uri: modified: start: eTag: nextPageUri: members: type: string description: The canonical URI of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])? Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: The row or record number of the first resource returned in the specified page type: integer description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: URI pointing to the page of resources following the list of resources contained in the specified collection type: string description: Collection of Base64 encoded SSL certificate data type: array Items status: category: base64SSLCertData: created: verifyRevocationStatus: certificates.html[2/20/2014 10:09:33 AM] description: Verification status of the SSL certificate type: string description: Resource category used for authorizations and resource type groupings type: string description: Base64 encoded SSL certificate data type: string format: -----BEGIN CERTIFICATE----- encoded SSL certificate data -----END CERTIFICATE----- description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][09]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9] [0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Verification status of the input SSL certificates certificate or chain for revocation status against a CRL file offline type: verifyTrustChainAndRevocation: type: uri: description: The canonical URI of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][09]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9] [0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Alias name for the SSL certificate type: string description: Identifies the resource type. This field must be set to 'SSLCertificateDTO'. type: string modified: eTag: aliasName: type: total: type: boolean boolean description: The total number of resources that would be returned from the query (including any filters), without pagination or enforced resource limits type: integer description: Identifies the resource type. This field must be set to 'SSLCertificatesCollection'. type: string certificates.html[2/20/2014 10:09:33 AM] appliance/eula HP OneView 1.05 REST API Reference (API Version 4) Updated: February 18, 2014 4:36 MST appliance/eula This resource provides APIs for managing the status of the End User License Agreement (EULA) and related data. API Specifications Create /rest/appliance/eula/save POST /rest/appliance/eula/status Read Resource Model GET /rest/appliance/eula/save Method API POST Saves data related to EULA Attributes Delete Eula URI: Request Header Update Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Description Eula Required DTO containing supportAccess field. Valid values are Yes and No. Response Description Eula Returns both supportAccess and appliance version. Response Codes REST API Response Codes Examples POST https://{appl}/rest/appliance/eula/save Example: Saves the EULA and Support Access state to the appliance https://{appl}/rest/appliance/eula/save { "supportAccess" : "yes" } URI: /rest/appliance/eula/status Method API GET Gets the current state of EULA in the appliance. appliance-eula.html[2/20/2014 10:09:35 AM] appliance/eula Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description Boolean True if eula display is needed. Otherwise false. Response Codes REST API Response Codes Examples Gets the current state of EULA in the appliance. GET https://{appl}/rest/appliance/eula/status Eula description: The Eula is a data transfer object for saving the status of support access and the time of the first EULA acceptance. type: object Properties version: supportAccess: description: Appliance Version type: string description: Status of support access type: string default: yes appliance-eula.html[2/20/2014 10:09:35 AM] appliance/firmware HP OneView 1.05 REST API Reference (API Version 4) Updated: February 18, 2014 5:01 MST appliance/firmware The firmware resource manager provides REST APIs to upgrade/patch the appliance firmware. It also fields APIs to update HP public key of the appliance. API Specifications Create /rest/appliance/firmware/document-content/{tarFileName}.{suffix}/{documentType} /rest/appliance/firmware/image Read Update Delete DELETE GET POST /rest/appliance/firmware/notification GET /rest/appliance/firmware/pending GET PUT /rest/appliance/firmware/verificationKey GET PUT /rest/appliance/firmware/verificationKeyFile PUT Resource Model UpgradeInfo FileUploadStatus VerificationKeyInfo UpgradeNotificationInfo URI: /rest/appliance/firmware/document-content/{tarFileName}.{suffix}/{documentType} Method API GET Gets the document content of uploaded file. Applicable usage is when file is uploaded and installation is not triggered, otherwise it will return an error as file not found Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description String Document content of requested type Response Codes REST API Response Codes Examples GET https://{appl}/rest/appliance/firmware/documentcontent/{tarFileName}/{documentType} appliance-firmware.html[2/20/2014 10:09:35 AM] appliance/firmware Use this API to get the document content of uploaded file (upgrade image) {tarFileName} default: update.bin {documentType} for ReleaseNotes document: release for example: The following GET request will retrieve you the release notes of the upgrade package. GET https://{appl}/rest/appliance/firmware/documentcontent/<update_filename>.bin/release URI: /rest/appliance/firmware/image Method API POST Uploads upgrade image sent from client. It takes 'MultipartFile' as input. It also performs validation on the received upgrade image file. Parameter Attributes Description file Required Uploaded upgrade image Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description UpgradeInfo Contains properties of the image uploaded for update Response Codes REST API Response Codes Examples To upload update.bin POST https://{appl}/rest/appliance/firmware/image URI: /rest/appliance/firmware/notification Method API GET Gets the status of the upgrade task once after the upgrade completes. Subsequent call after the particular upgrade does not return any notification. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description UpgradeNotificationInfo Contains status details of latest appliance upgrade appliance-firmware.html[2/20/2014 10:09:35 AM] appliance/firmware Response Codes REST API Response Codes Examples Retrieve upgrade's status for example: GET https://{appl}/rest/appliance/firmware/notification URI: /rest/appliance/firmware/pending Method API GET Gets upgrade information from the uploaded upgrade image Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description UpgradeInfo Upgrade related information Response Codes REST API Response Codes Examples Retrieve update information of the previously uploaded file GET https://{appl}/rest/appliance/firmware/pending PUT Initiates appliance upgrade as a background task Parameter Attributes Description file Required Name of upgrade image file Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description void Response Codes REST API Response Codes Examples Initiate upgrade task using uploaded upgrade image for example: PUT https://{appl}/rest/appliance/firmware/pending?file= <update_filename>.bin DELETE Cleans up the upgrade task related data appliance-firmware.html[2/20/2014 10:09:35 AM] appliance/firmware Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description void Response Codes REST API Response Codes Examples Delete data related to upgrade task. for example: DELETE https://{appl}/rest/appliance/firmware/pending URI: /rest/appliance/firmware/verificationKey Method API PUT Updates HP public key of the appliance. This API expects the key data in the form of 'VerificationKeyInfo' format Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Description VerificationKeyInfo Required Data containing HP public key in string format Response Description void Response Codes REST API Response Codes Examples Update appliance HP public key using the key specified in the request body. for example: PUT https://{appl}/rest/appliance/firmware/verificationKey { "verificationKey":"<verificationKeyString>" } GET Gets HP public key of the appliance Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" appliance-firmware.html[2/20/2014 10:09:35 AM] appliance/firmware Response Description VerificationKeyInfo Data containing HP public key in string format Response Codes REST API Response Codes Examples Retrieve HP public key of the appliance for example: GET https://{appl}/rest/appliance/firmware/verificationKey URI: /rest/appliance/firmware/verificationKeyFile Method API PUT Updates HP public key of the appliance. It expects a file containing the key. Parameter Attributes Description verificationKeyFile Required File containing new HP public key Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description void Response Codes REST API Response Codes Examples Update appliance HP public key using the key specified in the request file. for example: PUT https://{appl}/rest/appliance/firmware/verificationKeyFile UpgradeInfo type: object Properties fileName: version: description: File name of the upgrade image type: string description: Currently installed appliance version type: string appliance-firmware.html[2/20/2014 10:09:35 AM] appliance/firmware preupgradeTimeout: rebootRequired: estimatedUpgradeTime: readonly: true description: Preupgrade script timeout type: number description: This is set to 'true', if reboot is required once upgrade is done. type: boolean default: false description: Estimate time left to complete upgrade process type: integer FileUploadStatus type: object Properties fileName: success: upgradeEstimate: description: File name of the upgrade image type: string description: Indicates the upgrade status. If upgrade was successful, it signifies by 'true' type: boolean description: Estimate time left to complete upgrade process type: integer VerificationKeyInfo type: object Properties verificationKey: description: Verification or public key in string format type: string UpgradeNotificationInfo type: object Properties version: description: Upgraded version of appliance appliance-firmware.html[2/20/2014 10:09:35 AM] appliance/firmware type: string success: type: boolean upgradeDate: description: Upgraded date/time string in ISO 8601 UI format for UTC time-zone type: string appliance-firmware.html[2/20/2014 10:09:35 AM] restores HP OneView 1.05 REST API Reference (API Version 4) Updated: February 18, 2014 4:24 MST restores The restore resource manager provides REST APIs to restore an appliance and to get the status of a restore operation. API Specifications Create Read /rest/restores POST GET RestoreResource GET RestoreResourceList /rest/restores/{id} Update Delete Resource Model URI: /rest/restores Method API POST Starts a restore operation from the backup file already uploaded to the appliance. Only one restore operation can run at a time. There is no way to cancel a restore once it has been started. The restore operation is destructive. Any configuration changes not included in the backup file will be lost. The appliance will raise alerts for any inconsistencies detected after the restore. If an unrecoverable error is detected during the restore, then the appliance will be set to the factory reset mode. Parameter Attributes Description Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Description RestoreResource Required Resource that contains the ID of the backup being used to restore Response Description RestoreResource Response that contains the restore details including the URI that can be used to poll for updated status Response Codes REST API Response Codes Examples Initiate a restore operation on the appliance. POST https://{appl}/rest/restores/ GET Gets the status of a restore in progress. The API returns a collection of restore status, but the collection will contain only one status. The status for the last restore will be returned if there has been a restore. Parameter Attributes Description start Optional The 0-based index of the first resource to return (start=0 starts restores.html[2/20/2014 10:09:36 AM] restores with the first available resource). If the specified count does not return all resources within the maximum allowed time (see count), use the start parameter to view additional resource pages. The default value for start is 0 (first available resource). count Optional Optional parameter that specifies the number of resources to return from each API invocation. The number of resources returned on each call is referred to as a page. If you specify a count, the API attempts to return the specified number of resources, however this may be limited due to response time constraints and/or actual number of resources available to return. The results include the total number of resources that match the filter or query, the actual count returned, and the URIs to go to the next page, previous page, or both. sort Optional The sort order of the returned data set. By default, the sort order is based on the create time, with the oldest entry first. query Experimental This parameter is experimental for this release: While generally functional when used in simple cases, restrictions might be noted in the implementation description. If the query is supported, the following is the way it works. A general query string that narrows the list of resources returned by a multiresource GET (read) request and DELETE (delete) request. The default is no query (all resources are returned). One advantage query has over filter is that it can have embedded ORs. A single query parameter can do what would take multiple parameters or multiple GET requests using filter. Use query for more complex queries. view Optional Return a specific subset of the attributes of the resource or collection by specifying the name of a predefined view. The default view is expand (show all attributes of the resource, and all elements of collections or resources). unused fields Optional unused filter Experimental This parameter is experimental for this release: While generally functional when used in simple cases, restrictions might be noted in the implementation description. A general filter/query string that narrows the list of resources returned by a multi-resource GET (read) request and DELETE (delete) request. The default is no filter (all resources are returned). Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description RestoreResourceList The status of a restore operation contained within a paginated restores.html[2/20/2014 10:09:36 AM] restores collection list. Response Codes REST API Response Codes Examples Get the status of any ongoing or completed restore GET https://{appl}/rest/restores/ URI: /rest/restores/{id} Method API GET Gets the status of a restore operation specified by the {id}. The restore status contains details about the restore in progress including the status, start time, progress step and percent complete. Parameter Attributes Description view Optional Return a specific subset of the attributes of the resource or collection by specifying the name of a predefined view. The default view is expand (show all attributes of the resource, and all elements of collections or resources). unused fields Optional unused Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description RestoreResource Details about the restore Response Codes REST API Response Codes Examples Get the status of a restore operation identified by {id}. GET https://{appl}/rest/restores/{id} RestoreResource description: RestoreResource contains management data about a restore including its ID, status, and percentage completed. type: object restores.html[2/20/2014 10:09:36 AM] restores Properties resolutionParms: description: Contains parameters to insert into a localized resolution message if the backup/restore fails type: array restoreStartTime: type: hostName: description: The unqualified host name of the system where the backup was taken required: true type: string description: Date and time when the resource was last modified format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](. [0-9][0-9][0-9])?Z description: Contains a resolution message describing the failure if the backup/restore fails type: string description: The percentage of the backup that has completed minimum: 0 type: integer maximum: 100 description: The current step reported as a part of the restore progress modified: resolutionMessage: percentComplete: progressStep: string enum: uriOfBackupToRestore: fullyQualifiedHostName: id: restores.html[2/20/2014 10:09:36 AM] PREPARING_TO_RESTORE RESTORING_FILES RESTORING_DB STARTING_SERVICES COMPLETED FAILED UNKNOWN type: string description: URI to get the backup using ID type: string description: The fully qualified host name of the system where the backup was taken required: true type: string description: Backup identifier containing the host name, backup/restore word and start time stamp required: true restores category: errorKey: type: errorParms: status: type: string description: Resource category used for authorizations and resource type groupings type: string description: Contains the key used to generate a localized error message if the backup/restore fails type: string description: Identifies the resource type. This field must be set to 'RESTORE'. type: string description: Contains parameters to insert into a localized error message if the backup/restore fails type: array description: The status of the restore enum: errorMessage: eTag: backupIdToRestore: userName: created: uri: resolutionKey: restores.html[2/20/2014 10:09:36 AM] UNKNOWN NOT_STARTED IN_PROGRESS SUCCEEDED FAILED type: string description: Contains a localized error message describing the failure if the backup/restore fails type: string description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: The ID of the backup being restored type: string description: The name of the user who created the backup type: string description: Date and time when the resource was created format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](. [0-9][0-9][0-9])?Z description: The canonical URI of the resource type: string description: Contains the key used to generate a localized resolution message if the backup/restore fails type: string restores RestoreResourceList type: object Properties count: category: created: prevPageUri: uri: modified: start: eTag: nextPageUri: members: description: The actual number of resources returned in the specified page type: integer description: Resource category used for authorizations and resource type groupings type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])? Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: URI pointing to the page of resources preceding the list of resources contained in the specified collection type: string description: The canonical URI of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])? Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: The row or record number of the first resource returned in the specified page type: integer description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: URI pointing to the page of resources following the list of resources contained in the specified collection type: string description: The list of matching resources. type: array Items resolutionParms: restores.html[2/20/2014 10:09:36 AM] restores description: Contains parameters to insert into a localized resolution message if the backup/restore fails type: array restoreStartTime: type: hostName: description: The unqualified host name of the system where the backup was taken required: true type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]: [0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Contains a resolution message describing the failure if the backup/restore fails type: string description: The percentage of the backup that has completed type: integer minimum: 0 maximum: 100 description: The current step reported as a part of the restore progress type: string modified: resolutionMessage: percentComplete: progressStep: string enum: uriOfBackupToRestore: fullyQualifiedHostName: id: restores.html[2/20/2014 10:09:36 AM] PREPARING_TO_RESTORE RESTORING_FILES RESTORING_DB STARTING_SERVICES COMPLETED FAILED UNKNOWN description: URI to get the backup using ID type: string description: The fully qualified host name of the system where the backup was taken required: true type: string description: Backup identifier containing the host name, backup/restore word and start time stamp required: true restores category: errorKey: type: errorParms: status: type: string description: Resource category used for authorizations and resource type groupings type: string description: Contains the key used to generate a localized error message if the backup/restore fails type: string description: Identifies the resource type. This field must be set to 'RESTORE'. type: string description: Contains parameters to insert into a localized error message if the backup/restore fails type: array description: The status of the restore type: string enum: errorMessage: eTag: backupIdToRestore: userName: created: uri: resolutionKey: restores.html[2/20/2014 10:09:36 AM] UNKNOWN NOT_STARTED IN_PROGRESS SUCCEEDED FAILED description: Contains a localized error message describing the failure if the backup/restore fails type: string description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: The ID of the backup being restored type: string description: The name of the user who created the backup type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]: [0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: The canonical URI of the resource type: string description: Contains the key used to generate a localized restores resolution message if the backup/restore fails type: total: type: string description: The total number of resources that would be returned from the query (including any filters), without pagination or enforced resource limits type: integer description: Identifies the resource type. This field must be set to 'PaginatedCollectionResource'. type: string restores.html[2/20/2014 10:09:36 AM] appliance/settings HP OneView 1.05 REST API Reference (API Version 4) Updated: February 18, 2014 4:51 MST appliance/settings This API allows to disable or enable services access (i.e. root shell access) for emergency troubleshooting purposes by Authorized support access Personnel, get service access status information. API Specifications Create Read /rest/appliance/settings/enableServiceAccess /rest/appliance/settings/serviceaccess Update Delete PUT GET URI: /rest/appliance/settings/enableServiceAccess Method API PUT This API is used to disable or enable services access (i.e. root shell access) for emergency troubleshooting purposes by Authorized support access Personnel. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Description boolean Required true to enable or false to disable service access Response Description boolean true if changed successfully Response Codes REST API Response Codes Examples PUT https://example.com/rest/appliance/settings/enableServiceAccess ex: Enable Service Access https://example.com/rest/appliance/settings/enableServiceAccess Request Body - true ex: Disable Service Access https://example.com/rest/appliance/settings/enableServiceAccess Request Body - false URI: /rest/appliance/settings/serviceaccess appliance-settings.html[2/20/2014 10:09:37 AM] appliance/settings Method API GET This API is used to get service access status Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description boolean true if service access is enabled, else false. Response Codes REST API Response Codes Examples GET https://example.com/rest/appliance/settings/serviceaccess appliance-settings.html[2/20/2014 10:09:37 AM] appliance/support-dumps HP OneView 1.05 REST API Reference (API Version 4) Updated: February 18, 2014 4:57 MST appliance/support-dumps This is the support-dumps service for generating and downloading support dumps from an appliance. API Specifications Create /rest/appliance/support-dumps POST /rest/appliance/support-dumps/{dumpFileName}.{suffix} Read Update Delete Resource Model DumpGenerationInfo GET DumpDataInfo URI: /rest/appliance/support-dumps Method API POST Generates the dump. It takes errorCode as input in the form of DumpGenerationInfo. It is a synchronous call. If successful, it returns dump file information in the form of DumpDataInfo. On failure, it returns an error object. An encrypted dump is always created if the appliance or any appliance services are in error state. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Description DumpGenerationInfo Required Contains errorCode, encrypt, directory and product information Response Description DumpDataInfo Information about dump data created Response Codes REST API Response Codes Examples POST https://{appl}/rest/appliance/support-dumps for example: The following POST request generates a support dump. An example URI with request body is shown below. POST https://{appl}/rest/appliance/support-dumps { "errorCode":"CI", "encrypt":true, "product":"test", "directory":["/ci/logs/","/var/tmp/"] } URI for downloading the dump is in the dump file information of response body. appliance-support-dumps.html[2/20/2014 10:09:37 AM] appliance/support-dumps URI: /rest/appliance/support-dumps/{dumpFileName}.{suffix} Method API GET Downloads the generated dump file to the client. Parameter Attributes Description encrypt Optional Not used anymore Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description void Response Codes REST API Response Codes Examples GET https://{appl}/rest/apliance/supportdumps/{dumpfilename} for example: The following GET request downloads the generated support dump. GET https://{appl}/rest/appliance/support-dumps/CI-2013 _06_26-13_44_18.081798.sdmp DumpGenerationInfo description: DumpGenerationInfo is a data transfer object. Use it to specify the properties of the support dump to be generated type: object Properties errorCode: encrypt: directory: description: ErrorCode the client sends to create a support dump. This error code is a part of supportdump file name, such as CI1234 or CI892a2.Error code length must not exceed 10 characters. Only alpha numeric characters and hyphen are allowed type: string required: true description: Boolean value indicating if support dump needs to be encrypted or not. Only Infrastruture Administrator can get an unencrypted dump by using false for encrypt field type: boolean default: true description: List of directories which needs to be included as part of support dumps. Allowed appliance-support-dumps.html[2/20/2014 10:09:37 AM] appliance/support-dumps directories are /ci/logs/,/var/tmp/,/updatelogs/ and subdirectories of these directories such as /ci/logs/audit/,/var/tmp/test/ product: type: array description: The name of the product for which the directories are included. Product length cannot be more than 20 characters and the name can contain only alpha numeric characters type: string DumpDataInfo description: DumpDataInfo is a data transfer object which specifies properties such as time of creation or size of support dump generated type: object Properties category: created: uri: modified: eTag: dumpFileSize: type: description: Resource category used for authorizations and resource type groupings type: string description: Date and time when the resource was created format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][09])?Z description: The canonical URI of the resource type: string description: Date and time when the resource was last modified format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][09])?Z description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Support dump file size in kilo bytes type: number description: Identifies the resource type. This field must be set to 'DumpDataInfoDto'. type: string appliance-support-dumps.html[2/20/2014 10:09:37 AM] appliance/network-interfaces HP OneView 1.05 REST API Reference (API Version 4) Updated: February 18, 2014 4:36 MST appliance/network-interfaces The network-interfaces resource manager provides REST APIs to configure and retrieve network, time and locale settings of the appliance.These APIs support operations on multiple NICs configured on the appliance. API Specifications Create Read Update Delete /rest/appliance/network-interfaces POST GET NetworkWithTimeLocale /rest/appliance/network-interfaces/mac-addresses GET Network /rest/appliance/network-interfaces/{macAddress} GET Mac-Address URI: /rest/appliance/network-interfaces Method API POST Configures network-interfaces along with time and locale of the appliance. Parameter Attributes Description Request Header Attributes Description Resource Model REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Description NetworkWithTimeLocale Required Combined network and DNS configuration data with time and locale of appliance. Response Description void Response Codes REST API Response Codes Examples POST https://{appl}/rest/appliance/network-interfaces for example : This example configures network along with time and locale data of the appliance. This example has 'ipv4type' set to 'DHCP', so IP-address is not required to be specified for 'app1Ipv4Addr'/'ipv4Gateway'/'ipv6Subnet' fields. If 'ipv4Type' is static, then provide IP addresses for the respective fields. POST https://{appl}/rest/appliance/network-interfaces { "applianceNetworks": [ appliance-network-interfaces.html[2/20/2014 10:09:38 AM] appliance/network-interfaces { "activeNode":1, "unconfigure":false, "app1Ipv4Addr":null, "app1Ipv6Addr":null, "app2Ipv4Addr":null, "app2Ipv6Addr":null, "virtIpv4Addr":null, "virtIpv6Addr":null, "app1Ipv4Alias":null, "app1Ipv6Alias":null, "app2Ipv4Alias":null, "app2Ipv6Alias":null, "hostname":"host1.example.com", "confOneNode":true, "interfaceName":"Appliance", "macAddress":"00:12:23:45:21:ab", "ipv4Type":"DHCP", "ipv6Type":"UNCONFIGURE", "overrideDhcpDnsServers":false, "ipv4Subnet":null, "ipv4Gateway":null, "ipv6Subnet":null, "ipv6Gateway":null, "domainName":"example.com", "searchDomains":[], "nameServers":["192.0.2.2","198.51.100.3"], "bondedTo":null, "allowTransientValidationErrors":false } ], "time": { "dateTime":null, "timezone":"UTC", "ntpServers":["192.0.2.2","198.51.100.3","ntp1.example.com"], "pollingInterval":null }, "locale": { "locale":"en_US.UTF-8", "displayName":null } } GET Gets configuration of all network-interfaces and time and language of the appliance. Parameter Attributes Description Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description NetworkWithTimeLocale Configuration of all network-interfaces and time and language of the appliance Response Codes appliance-network-interfaces.html[2/20/2014 10:09:38 AM] appliance/network-interfaces REST API Response Codes Examples Example to get configuration of all network-interfaces and time and language of the appliance GET https://{appl}/rest/appliance/network-interfaces URI: /rest/appliance/network-interfaces/mac-addresses Method API GET Gets information about unconfigured network interfaces on the appliance. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description Mac-Address Collection of MAC-address and network-interface device names for all unconfigured network-interfaces on the appliance. Response Codes REST API Response Codes Examples Retrieve list of all unconfigured network interfaces on the appliance. GET https://{appl}/rest/appliance/network-interfaces/mac-addresses URI: /rest/appliance/network-interfaces/{macAddress} Method API GET Gets network configuration information of the network interface identified by the MAC address. Parameter Attributes Description Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description Network Combined network-interface and DNS configuration data. Response Codes REST API Response Codes appliance-network-interfaces.html[2/20/2014 10:09:38 AM] appliance/network-interfaces Examples The example below retrieves network settings of a particular NIC identified by MAC address supplied in request parameter GET https://{appl}/rest/appliance/network-interfaces/00:11:22:33:44:55 NetworkWithTimeLocale description: Contains configuration details of NICs along with time and locale of the appliance. type: object Properties locale: description: Locale of the appliance. 'English (United States)' is the only supported appliance locale. type: object Properties locale: localeName: displayName: applianceNetworks: description: Locale name, for example:'en_US.UTF-8'. type: string description: This property is deprecated.Use 'displayName' property instead. type: string description: Locale display name, for example:'English (United States)' type: string description: List of NICs type: array Items aliasDisabled: app2Ipv6Alias: virtIpv4Addr: macAddress: appliance-network-interfaces.html[2/20/2014 10:09:38 AM] description: This field indicates if alias will be enabled for this NIC or not. It must be set to true. type: boolean description: Node2 IPv6 alias for management LAN type: string description: Virtual IPv4 Address type: string description: MAC address of the interface, 16 character format seperated by : character type: string appliance/network-interfaces app2Ipv4Alias: app1Ipv4Addr: ipv6Type: description: Node2 IPv4 alias for management LAN type: string description: Node1 IPv4 address type: string description: IPv6 network type enum: unconfigure: app2Ipv4Addr: app2Ipv6Addr: searchDomains: hostname: ipv4Type: type: string description: This field indicates if this NIC needs to be unconfigured. Primary NIC cannot be unconfigured. type: boolean description: Node2 IPv4 address type: string description: Node2 IPv6 address type: string description: List of DNS search domains type: array description: Hostname(single node) / Cluster name type: string description: IPv4 network type enum: bondedTo: app1Ipv6Alias: ipv4Gateway: nameServers: appliance-network-interfaces.html[2/20/2014 10:09:38 AM] UNCONFIGURE STATIC DHCP UNCONFIGURE STATIC DHCP type: string description: This field stores MAC-address of another NIC which is bonded with this NIC. type: string description: Node1 IPv6 alias for management LAN type: string description: IPv4 gateway address type: string description: List of DNS servers in IP appliance/network-interfaces address Format overrideDhcpDnsServers: device: ipv6Gateway: allowTransientValidationErrors: interfaceName: confOneNode: domainName: app1Ipv4Alias: app1Ipv6Addr: ipv6Subnet: virtIpv6Addr: appliance-network-interfaces.html[2/20/2014 10:09:38 AM] type: array description: Flag indicating whether overriding DHCP provided DNS servers is enabled or not. It must be set to 'false' for static network configuration. type: boolean description: Internal name of NIC. This property has been deprecated. type: string description: IPv6 gateway address type: string description: Flag indicating whether to allow transient validation error. This property has been deprecated. type: boolean description: String describing usage of network interface and shall not be changed. For example: 'Appliance', 'Management' and so on. 'Appliance' is the default name of primary NIC. type: string description: Flag indicating whether one or two nodes are configured in the cluster.It must be set to true if the appliance is a single node cluster. type: boolean description: Domain name type: string description: Node1 IPv4 alias for management LAN type: string description: Node1 IPv6 address type: string description: IPv6 subnet mask or CIDR bit count type: string description: Virtual IPv6 Address type: string appliance/network-interfaces ipv4Subnet: activeNode: time: description: IPv4 subnet mask or CIDR bit count type: string description: ID of active node minimum: 1 type: integer maximum: 2 description: This field stores information about date-time, timezone and NTP servers of the appliance. type: object Properties ntpServers: timezone: pollingInterval: timezoneString: dateTime: description: List of NTP servers type: array description: Time zone name of the appliance, for example:'UTC'. 'UTC' is the only supported appliance timezone. type: string description: Polling interval of NTP client type: string description: This property has been deprecated. type: string description: Date and time of the appliance in the format yyyyMM-ddTHH:mm:ss.sssZ format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[05][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z Network description: Contains network configuration details of the appliance. type: object Properties aliasDisabled: appliance-network-interfaces.html[2/20/2014 10:09:38 AM] description: This field indicates if alias will be enabled for this NIC or not. It must be set to true. type: boolean appliance/network-interfaces unconfigure: allowTransientValidationErrors: bondedTo: confOneNode: activeNode: app2Ipv4Addr: virtIpv4Addr: app2Ipv6Addr: virtIpv6Addr: app1Ipv4Alias: app2Ipv4Alias: app1Ipv6Alias: app2Ipv6Alias: domainName: searchDomains: appliance-network-interfaces.html[2/20/2014 10:09:38 AM] description: This field indicates if this NIC needs to be unconfigured. Primary NIC cannot be unconfigured. type: boolean description: Flag indicating whether to allow transient validation error. This property has been deprecated. type: boolean description: This field stores MAC-address of another NIC which is bonded with this NIC. type: string description: Flag indicating whether one or two nodes are configured in the cluster.It must be set to true if the appliance is a single node cluster. type: boolean description: ID of active node type: integer maximum: 2 minimum: 1 description: Node2 IPv4 address type: string description: Virtual IPv4 Address type: string description: Node2 IPv6 address type: string description: Virtual IPv6 Address type: string description: Node1 IPv4 alias for management LAN type: string description: Node2 IPv4 alias for management LAN type: string description: Node1 IPv6 alias for management LAN type: string description: Node2 IPv6 alias for management LAN type: string description: Domain name type: string description: List of DNS search domains appliance/network-interfaces interfaceName: ipv4Type: type: array description: String describing usage of network interface and shall not be changed. For example: 'Appliance', 'Management' and so on. 'Appliance' is the default name of primary NIC. type: string description: IPv4 network type type: string enum: app1Ipv4Addr: ipv4Subnet: ipv4Gateway: ipv6Type: description: Node1 IPv4 address type: string description: IPv4 subnet mask or CIDR bit count type: string description: IPv4 gateway address type: string description: IPv6 network type type: string enum: app1Ipv6Addr: ipv6Subnet: ipv6Gateway: hostname: overrideDhcpDnsServers: nameServers: macAddress: appliance-network-interfaces.html[2/20/2014 10:09:38 AM] UNCONFIGURE STATIC DHCP UNCONFIGURE STATIC DHCP description: Node1 IPv6 address type: string description: IPv6 subnet mask or CIDR bit count type: string description: IPv6 gateway address type: string description: Hostname(single node) / Cluster name type: string description: Flag indicating whether overriding DHCP provided DNS servers is enabled or not. It must be set to 'false' for static network configuration. type: boolean description: List of DNS servers in IP address Format type: array description: MAC address of the interface, 16 character format seperated by : character appliance/network-interfaces device: type: string description: Internal name of NIC. This property has been deprecated. type: string Mac-Address description: Contains MAC-address and device name details of all NICs on the appliance. type: object Properties count: category: nextPageUri: prevPageUri: uri: created: start: eTag: members: description: The actual number of resources returned in the specified page type: integer description: Resource category used for authorizations and resource type groupings type: string description: URI pointing to the page of resources following the list of resources contained in the specified collection type: string description: URI pointing to the page of resources preceding the list of resources contained in the specified collection type: string description: The canonical URI of the resource type: string description: Date and time when the resource was created format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])? Z description: The row or record number of the first resource returned in the specified page type: integer description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: List of network interfaces containing MAC-address and device name details type: array Items device: description: appliance-network-interfaces.html[2/20/2014 10:09:38 AM] Device name of the network interface appliance/network-interfaces macAddress: modified: total: type: type: string description: MAC-address of the network interface type: string description: Date and time when the resource was last modified format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])? Z description: The total number of resources that would be returned from the query (including any filters), without pagination or enforced resource limits type: integer description: Identifies the resource type. This field must be set to 'MacInterfaceCollection'. type: string appliance-network-interfaces.html[2/20/2014 10:09:38 AM] users HP OneView 1.05 REST API Reference (API Version 4) Updated: February 18, 2014 4:51 MST users The users resource provides REST APIs to configure user settings in the appliance. Supports the following operations: 1) User with administrative privileges modifying password and contact information of another existing user 2) User performing self edit and modifying password or contact information 3) Add roles and bulk replace of roles 4) Assigning and un-assign (deleting) roles to users 5) Removing local user(s) from appliance 6) Changing administrator password during first time setup of appliance 7) Resetting administrator password 8) Retrieve role information of users. X-API-Version in the HTTP header should be atleast 2. API Specifications Create Read Update Delete Resource Model /rest/users POST GET PUT DELETE ResetPassword /rest/users/administrator/resetPassword /rest/users/changePassword PUT RoleAssign POST /rest/users/role/{userName} RoleNameV2 GET RoleNameListV2 /rest/users/roles DELETE /rest/users/roles/users/{role} GET RoleUnAssign UserAdd /rest/users/validateLoginName/{userName} POST UserV2 /rest/users/validateUserName/{fullName} POST UserListV2 /rest/users/{userName} GET /rest/users/{userName}/roles POST DELETE PUT UserModify UserNameList UserPassword UserRolesV2 VerifyPassword UserAddV2 URI: /rest/users Method API POST Adds a new user to the appliance. The caller of this operation requires {users, create} permissions. The user name is validated to avoid creating duplicate names in the appliance. The password is validated if it meets the requirements. Password should not contain any of < > ; , \" ' & \\/ | + : = and space. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body users.html[2/20/2014 10:09:39 AM] Attributes Description users UserAddV2 Required User and role details to be added Response Description UserRolesV2 Details of the newly added user Response Codes REST API Response Codes Examples REQUEST-TYPE: POST Add a new user named testuser, including user details and specifying role as Read Only. URI: https://{appl}/rest/users https://{appl}/rest/users Content-Type:application/json Accept: application/json HTTP Method: POST HTTP Header locale: Client language or region auth: <SessionID> X-API-Version: 2 (minimum 2) HTTP Body: { "userName":"testUser Fusion101","fullName": "testUser101", "password":"myPass1234", "emailAddress":"testUserAtdotcom", "officePhone":"555-1212", "mobilePhone":"555-2121", "enabled":"true", "roles":["Read only"]} POST Adds multiple new local users. You should have the {users,create} permissions to create local users. Validations will be performed to ensure that no user with the same user name already exists and password will be validated to ensure that it meets the minimum requirements. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Description UserAdd Required Array of user details containing users to be added Response Description UserV2 List of newly added users details Response Codes REST API Response Codes Examples POST https://{appl}/rest/users?multiResource=true Example : Allows a valid user to add multiple new users to appliance https://{app1}/rest/users?multiResource=true [{ users.html[2/20/2014 10:09:39 AM] users "userName" : "testUser1", "fullName" : "testUser1", "password" : "myPass1234", "emailAddress" : "", "officePhone" : "555-1212", "mobilePhone" : "555-2121", "enabled" : "true" }, { "userName" : "testUser2", "fullName" : "testUser2", "password" : "myPass1234", "emailAddress" : "", "officePhone" : "555-1212", "mobilePhone" : "555-2121", "enabled" : "true" }] DELETE Deletes multiple users based on query criteria. If the query has multiple user names, all valid users will be deleted and invalid user names are ignored. In case all user names are invalid, then this API returns an invalid parameter error. Parameter Attributes Description force Optional If set to true, the operation completes even if there are network connectivity issues or resource errors. The default is false. query Experimental This parameter is experimental for this release: While generally functional when used in simple cases, restrictions might be noted in the implementation description. If the query is supported, the following is the way it works. A general query string that narrows the list of resources returned by a multiresource GET (read) request and DELETE (delete) request. The default is no query (all resources are returned). One advantage query has over filter is that it can have embedded ORs. A single query parameter can do what would take multiple parameters or multiple GET requests using filter. Use query for more complex queries. filter Experimental This parameter is experimental for this release: While generally functional when used in simple cases, restrictions might be noted in the implementation description. A general filter/query string that narrows the list of resources returned by a multi-resource GET (read) request and DELETE (delete) request. The default is no filter (all resources are returned). Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description void Does not return any value Response Codes users.html[2/20/2014 10:09:39 AM] users REST API Response Codes Examples DELETE https://{appl}/rest/users Example : Deletes multiple users from the appliance with user names testUser1 or testUser2 https://{app1}/rest/users?query="(loginname='testUser1') OR (loginname='testUser2')" GET Gets all local users from the appliance. Parameter Attributes Description start Optional The 0-based index of the first resource to return (start=0 starts with the first available resource). If the specified count does not return all resources within the maximum allowed time (see count), use the start parameter to view additional resource pages. The default value for start is 0 (first available resource). count Optional Optional parameter that specifies the number of resources to return from each API invocation. The number of resources returned on each call is referred to as a page. If you specify a count, the API attempts to return the specified number of resources, however this may be limited due to response time constraints and/or actual number of resources available to return. The results include the total number of resources that match the filter or query, the actual count returned, and the URIs to go to the next page, previous page, or both. sort Optional The sort order of the returned data set. By default, the sort order is based on the create time, with the oldest entry first. query Experimental This parameter is experimental for this release: While generally functional when used in simple cases, restrictions might be noted in the implementation description. If the query is supported, the following is the way it works. A general query string that narrows the list of resources returned by a multiresource GET (read) request and DELETE (delete) request. The default is no query (all resources are returned). One advantage query has over filter is that it can have embedded ORs. A single query parameter can do what would take multiple parameters or multiple GET requests using filter. Use query for more complex queries. view Optional fields Optional filter Experimental users.html[2/20/2014 10:09:39 AM] Return a specific subset of the attributes of the resource or collection by specifying the name of a predefined view. The default view is expand (show all attributes of the resource, and all elements of collections or resources). This parameter is experimental for this release: While generally functional when used in simple cases, restrictions might be noted in the implementation description. users A general filter/query string that narrows the list of resources returned by a multi-resource GET (read) request and DELETE (delete) request. The default is no filter (all resources are returned). Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description UserListV2 List of user details defined in the appliance Response Codes REST API Response Codes Examples Example : Gets all the local users from the appliance GET https://{appl}/rest/users Response Body : { "type": "UserDtoCollection", "members": [ { "userName": "paul", "fullName": "paul user", "emailAddress": "", "officePhone": "555-1212", "mobilePhone": "555-2121", "enabled": true }, { "userName": "ralph", "fullName": "ralph user", "emailAddress": "", "officePhone": "555-1212", "mobilePhone": "555-2121", "enabled": true }, { "userName": "april", "fullName": "april user", "emailAddress": "", "officePhone": "555-1212", "mobilePhone": "555-2121", "enabled": true } ], "count": 3, "total": 3, "start": 0, "prevPageUri": null, "nextPageUri": null, "uri": "/rest/users", "category": "users", "created": "2013-08-06T10:06:32.317Z", "eTag": null, users.html[2/20/2014 10:09:39 AM] users "modified": "2013-08-06T10:06:32.319Z" } PUT Changes user details including associated roles. This allows logged in users of the appliance to modify the user account properties(except user name) and roles of other's user account. Requires to be executed by user with update permission. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Description UserModify Required Contains user info and roles to update Response Description UserRolesV2 Updated user info and roles Response Codes REST API Response Codes Examples PUT https://{appl}/rest/users Example 1: Change the password, email, phone numbers, enable/disable, add or replace roles of user with proper privileges by supplying all the values. https://{app1}/rest/users { "userName" : "testUser", "password" : "Hpvse12345", "emailAddress" : "", "officePhone" : "303-555-1212", "mobilePhone" : "303-555-1212", "enabled" : "true", "roles" : ["Infrastructure administrator"], "replaceRoles" : "true" } Example 2: Change the password of the user with proper privileges by supplying only the user name and the password values. https://{appl}/rest/users { "userName" : "testUser", "password" : "Hpvse12345" } Example 3: Enable or disable user with proper privileges by supplying only the user name and the enabled (true/false) value. https://{app1}/rest/users users.html[2/20/2014 10:09:39 AM] users { "userName" : "testUser", "enabled" : "true" } Example 4: Update user attributes email/phone numbers of user with proper privileges by supplying only the user name and any or all of emailAddress, officePhone, mobilePhone fields. https://{app1}/rest/users { "userName":"testUser", "emailAddress":"", "officePhone":"303-555-1212", "mobilePhone":"303-555-1212" } Example 5: Update/replace current roles with new roles of user with proper privileges by supplying only user name and roles with replaceRoles as true. https://{app1}/rest/users { "userName":"testUser", "roles":["Read only"], "replaceRoles":"true" } Example 6: Add new roles without replacing existing roles of user with proper privileges by supplying only the user name and roles with optional replaceRoles as false. https://{app1}/rest/users { "userName":"testUser", "roles":["<insert another role here that may co-exist with existing roles>"], "replaceRoles":"false" } or https://{app1}/rest/users { "userName":"testUser", "roles":["<insert another role here that may co-exist with existing roles>"] } URI: /rest/users/administrator/resetPassword Method API PUT Resets the administrator password. This operation is allowed only by a local user from kiosk/console. users.html[2/20/2014 10:09:39 AM] users Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes ResetPassword Required Description Response Description UserV2 The administrator user whose password was changed Response Codes REST API Response Codes Examples The following example resets the administrator password. https://example.net/rest/users/administrator/resetPassword { "newPassword":"changeMe123" } URI: /rest/users/changePassword Method API POST Changes the default administrator's password during first time appliance setup Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Description UserPassword Required User data object containing username, the old password and the new password Response Description UserV2 The user whose password was changed Response Codes REST API Response Codes Examples POST https://{appl}/rest/users/changePassword Example: Changes the default administrator password https://{app1}/rest/users/changePassword { "userName" : "user1", "oldPassword" : "password123", users.html[2/20/2014 10:09:39 AM] users "newPassword" : "password123" } The above call can be only be used for initial password change for the administrator account during initial appliance setup. URI: /rest/users/role/{userName} Method API GET Gets all the roles for specified local user from the appliance. Parameter Attributes Description start Optional The 0-based index of the first resource to return (start=0 starts with the first available resource). If the specified count does not return all resources within the maximum allowed time (see count), use the start parameter to view additional resource pages. The default value for start is 0 (first available resource). count Optional Optional parameter that specifies the number of resources to return from each API invocation. The number of resources returned on each call is referred to as a page. If you specify a count, the API attempts to return the specified number of resources, however this may be limited due to response time constraints and/or actual number of resources available to return. The results include the total number of resources that match the filter or query, the actual count returned, and the URIs to go to the next page, previous page, or both. sort Optional The sort order of the returned data set. By default, the sort order is based on the create time, with the oldest entry first. query Experimental This parameter is experimental for this release: While generally functional when used in simple cases, restrictions might be noted in the implementation description. If the query is supported, the following is the way it works. A general query string that narrows the list of resources returned by a multiresource GET (read) request and DELETE (delete) request. The default is no query (all resources are returned). One advantage query has over filter is that it can have embedded ORs. A single query parameter can do what would take multiple parameters or multiple GET requests using filter. Use query for more complex queries. view Optional fields Optional filter Experimental users.html[2/20/2014 10:09:39 AM] Return a specific subset of the attributes of the resource or collection by specifying the name of a predefined view. The default view is expand (show all attributes of the resource, and all elements of collections or resources). This parameter is experimental for this release: While generally users functional when used in simple cases, restrictions might be noted in the implementation description. A general filter/query string that narrows the list of resources returned by a multi-resource GET (read) request and DELETE (delete) request. The default is no filter (all resources are returned). Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description RoleNameListV2 List of the role names for the given user Response Codes REST API Response Codes Examples Example : Gets all the roles for the specified local user from the appliance GET https://{appl}/rest/users/role/{userName} Response Body: { "type": "RoleNameDtoCollection", "members": [ { "roleName": "Infrastructure administrator" } ], "count": 1, "total": 1, "start": 0, "prevPageUri": null, "nextPageUri": null, "uri": "/rest/users/role/administrator", "category": "users", "created": "2013-08-06T10:15:15.452Z", "eTag": null, "modified": "2013-08-06T10:15:15.452Z" } URI: /rest/users/roles Method API DELETE Removes a given set of roles from the user. Parameter Attributes Description force Optional If set to true, the operation completes even if there are network connectivity issues or resource errors. The default is false. query Experimental This parameter is experimental for this release: While generally users.html[2/20/2014 10:09:39 AM] users functional when used in simple cases, restrictions might be noted in the implementation description. If the query is supported, the following is the way it works. A general query string that narrows the list of resources returned by a multiresource GET (read) request and DELETE (delete) request. The default is no query (all resources are returned). One advantage query has over filter is that it can have embedded ORs. A single query parameter can do what would take multiple parameters or multiple GET requests using filter. Use query for more complex queries. filter Experimental This parameter is experimental for this release: While generally functional when used in simple cases, restrictions might be noted in the implementation description. A general filter/query string that narrows the list of resources returned by a multi-resource GET (read) request and DELETE (delete) request. The default is no filter (all resources are returned). Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description void Response Codes REST API Response Codes Examples DELETE https://{appl}/rest/users/roles Example : Deletes the roles for testUser https://{appl}/rest/users/roles? filter="userName='testUser'"&filter="roleName='Read only'" URI: /rest/users/roles/users/{role} Method API GET Gets all the users with the specified role name from the appliance Parameter Attributes Description start Optional The 0-based index of the first resource to return (start=0 starts with the first available resource). If the specified count does not return all resources within the maximum allowed time (see count), use the start parameter to view additional resource pages. The default value for start is 0 (first available resource). count Optional Optional parameter that specifies the number of resources to return users.html[2/20/2014 10:09:39 AM] users from each API invocation. The number of resources returned on each call is referred to as a page. If you specify a count, the API attempts to return the specified number of resources, however this may be limited due to response time constraints and/or actual number of resources available to return. The results include the total number of resources that match the filter or query, the actual count returned, and the URIs to go to the next page, previous page, or both. sort Optional The sort order of the returned data set. By default, the sort order is based on the create time, with the oldest entry first. query Experimental This parameter is experimental for this release: While generally functional when used in simple cases, restrictions might be noted in the implementation description. If the query is supported, the following is the way it works. A general query string that narrows the list of resources returned by a multiresource GET (read) request and DELETE (delete) request. The default is no query (all resources are returned). One advantage query has over filter is that it can have embedded ORs. A single query parameter can do what would take multiple parameters or multiple GET requests using filter. Use query for more complex queries. view Optional Return a specific subset of the attributes of the resource or collection by specifying the name of a predefined view. The default view is expand (show all attributes of the resource, and all elements of collections or resources). fields Optional The fields passed as input filter Experimental This parameter is experimental for this release: While generally functional when used in simple cases, restrictions might be noted in the implementation description. A general filter/query string that narrows the list of resources returned by a multi-resource GET (read) request and DELETE (delete) request. The default is no filter (all resources are returned). Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description UserNameList List of users having the specified role Response Codes REST API Response Codes Examples Example : Gets all the users with the specified role name from the appliance users.html[2/20/2014 10:09:39 AM] users GET https://{appl}/rest/users/roles/users/{role} Response Body: { "type": "UserNameDtoCollection", "members": [ { "userName": "administrator" }, { "userName": "paul" }, { "userName": "ralph" }, { "userName": "april" } ], "count": 4, "total": 4, "start": 0, "prevPageUri": null, "nextPageUri": null, "uri": "/rest/users/roles/users/Infrastructure administrator", "category": "users", "created": "2013-08-06T10:18:52.485Z", "eTag": null, "modified": "2013-08-06T10:18:52.486Z" } URI: /rest/users/validateLoginName/{userName} Method API POST Validates if a user with the given full name exists in the appliance Parameter Attributes Description view Optional Return a specific subset of the attributes of the resource or collection by specifying the name of a predefined view. The default view is expand (show all attributes of the resource, and all elements of collections or resources). fields Optional Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description boolean If the user name is already present, true is returned, otherwise false. Response Codes users.html[2/20/2014 10:09:39 AM] users REST API Response Codes Examples POST https://{appl}/rest/users/validateLoginName/{userName} Example: Validates if the given login name exists in the appliance https://{app1}/rest/users/validateLoginName/testUser URI: /rest/users/validateUserName/{fullName} Method API POST Checks if a user with the specified full name exists in the appliance Parameter Attributes Description view Optional Return a specific subset of the attributes of the resource or collection by specifying the name of a predefined view. The default view is expand (show all attributes of the resource, and all elements of collections or resources). fields Optional Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description boolean If the full name of the user is already present, true is returned, otherwise false. Response Codes REST API Response Codes Examples POST https://{appl}/rest/users/validateUserName/{fullName} Example: Validates if the user with full name testUser exists in the appliance https://{app1}/rest/users/validateUserName/testUser URI: /rest/users/{userName} Method API DELETE Deletes user with name as testUser. Request Header users.html[2/20/2014 10:09:39 AM] Attributes Description users REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description void Response Codes REST API Response Codes Examples DELETE https://{appl}/rest/users/{userName} Example : https://{app1}/rest/users/testUser GET Gets details of the local user from the appliance. Parameter Attributes Description view Optional Return a specific subset of the attributes of the resource or collection by specifying the name of a predefined view. The default view is expand (show all attributes of the resource, and all elements of collections or resources). fields Optional Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description UserV2 Details of the user Response Codes REST API Response Codes Examples Example : Gets details of the local user for the given user name GET https://{appl}/rest/users/{userName} Response Body: { "userName": "administrator", "fullName": "Default appliance administrator", "emailAddress": "", "officePhone": "011-123456789", "mobilePhone": "0119946053369", "enabled": true } users.html[2/20/2014 10:09:39 AM] users URI: /rest/users/{userName}/roles Method API POST Adds a given set of roles to an existing user. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Description RoleNameV2 Required Array of role(s) to be assigned Response Description RoleNameV2 Updated set of roles associated with the user Response Codes REST API Response Codes Examples POST https://{appl}/rest/users/{userName}/roles?multiResource=true Example : Adds multiple roles to an existing user https://{app1}/rest/users/testUser1/roles?multiResource=true [{ "type" : "RoleNameDtoV2", "roleName" : "Infrastructure administrator" }, { "type" : "RoleNameDtoV2", "roleName" : "<another role that may co-exist>" }] PUT Changes the current roles of a user with a given set of roles. Role names are case sensitive. Modification to roles of built-in administrator is not allowed. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Description RoleNameV2 Required Details containing the roles to be replaced Response Description RoleNameV2 Array of current roles of the user Response Codes REST API Response Codes Examples users.html[2/20/2014 10:09:39 AM] users PUT https://{appl}/rest/users/{userName}/roles?multiResource=true Example : Modifies the roles of existing user testUser https://{app1}/rest/users/testUser/roles/?multiResource=true [{ "type" : "RoleNameDtoV2", "roleName" : "Infrastructure administrator" }, { "type" : "RoleNameDtoV2", "roleName" : "<another role that may co-exist>" }] ResetPassword description: The ResetPassword is a data transfer object to reset the administrator user's password. Used by the pwreset account for an emergency reset of the administrator password and should be used only for emergency reset purposes. Checks are made to ensure that the caller is local and on the console type: object Properties newPassword: description: New password of administrator to be reset. Password should not contain any of < > ; , \" ' & \\/ | + : = and space type: string pattern: ^[^<>;,\"'&\\\\/|+:= ]+$ required: true minLength: 8 maxLength: 40 RoleAssign description: The RoleAssign object is a data transfer object to assign roles to an existing user. User cannot modify roles of own account. Role Names are case sensitive. type: object Properties userName: description: The userName must represent a valid user present in the appliance type: string pattern: ^[a-zA-Z]+?[0-9-_a-zA-Z]*$ searchable: true required: true users.html[2/20/2014 10:09:39 AM] users roles: minLength: 1 maxLength: 39 description: List of role names to be assigned to the user. Role names are case sensitive. type: array RoleNameV2 description: The RoleName is a data transfer object to assign/get roles to/from an existing user account. A user cannot modify the roles assigned to the user's own account. type: object Properties status: category: description: created: uri: modified: state: eTag: description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown - should be avoided, but there may be rare occasions where status is Unknown; OK - indicates normal/informational behavior; Disabled - indicates that a resource is not operational; Warning - needs attention soon; Critical - needs immediate attention. type: string description: Resource category used for authorizations and resource type groupings type: string description: Brief description of the resource type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])? Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: The canonical URI of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])? Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: State is not applicable to this resource. type: string description: Entity tag/version ID of the resource, the same value that is returned in the ETag users.html[2/20/2014 10:09:39 AM] users header on a GET of the resource roleName: type: name: type: string description: Name of the role to be assigned/get to/from the existing user account. Role names are case sensitive required: true type: string searchable: true description: Identifies the resource type. This field must be set to 'RoleNameDtoV2'. type: string description: Display name for the resource type: string RoleNameListV2 description: The RoleNameCollection is a data transfer object which is a collection of RoleName objects used to assign/get multiple roles to/from an existing user. type: object Properties count: category: created: prevPageUri: uri: modified: description: The actual number of resources returned in the specified page type: integer description: Resource category used for authorizations and resource type groupings type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])? Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: URI pointing to the page of resources preceding the list of resources contained in the specified collection type: string description: The canonical URI of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])? Z users.html[2/20/2014 10:09:39 AM] users start: eTag: nextPageUri: members: type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: The row or record number of the first resource returned in the specified page type: integer description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: URI pointing to the page of resources following the list of resources contained in the specified collection type: string description: List of RoleNameDto objects type: array Items status: category: description: created: uri: modified: state: users.html[2/20/2014 10:09:39 AM] description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown - should be avoided, but there may be rare occasions where status is Unknown; OK - indicates normal/informational behavior; Disabled - indicates that a resource is not operational; Warning - needs attention soon; Critical - needs immediate attention. type: string description: Resource category used for authorizations and resource type groupings type: string description: Brief description of the resource type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5] [0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: The canonical URI of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5] [0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: State is not applicable to this resource. users eTag: roleName: type: name: total: type: type: string description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Name of the role to be assigned/get to/from the existing user account. Role names are case sensitive required: true type: string searchable: true description: Identifies the resource type. This field must be set to 'RoleNameDtoV2'. type: string description: Display name for the resource type: string description: The total number of resources that would be returned from the query (including any filters), without pagination or enforced resource limits type: integer description: Identifies the resource type. This field must be set to 'RoleNameDtoCollectionV2'. type: string RoleUnAssign description: The RoleUnAssign is a data transfer object to un-assign roles to an existing user. A user cannot modify the roles assigned to the user's own account. Role names are case sensitive. type: object Properties userName: roles: description: The userName must represent a valid user present in the appliance type: string pattern: ^[a-zA-Z]+?[0-9-_a-zA-Z]*$ searchable: true required: true minLength: 1 maxLength: 39 description: List of role names to be un-assigned to the user account, role names are case sensitive type: array users.html[2/20/2014 10:09:39 AM] users UserAdd description: The UserAdd is a data transfer object to add users to the appliance. Any user whose roles have the {users,Create} authorization is allowed to create local users. Validations are performed to ensure that no user with the same user name and full name already exist. When you create a user, you should ensure that the password meets minimum requirements. type: object Properties fullName: password: userName: emailAddress: description: Full name of the user. Should contain only letters and the characters ' . - _ and space type: string pattern: ^[a-zA-Z0-9 ._'-]+$ searchable: true minLength: 1 maxLength: 39 description: Password should not contain any of < > ; , \" ' & \\/ | + : = and space type: string pattern: ^[^<>;,\"'&\\\\/|+:= ]+$ required: true minLength: 8 maxLength: 40 description: User name of the user, should be unique in the appliance, should start only with a letter and should contain only letters, digits and the characters _ - type: string pattern: ^[a-zA-Z]+?[0-9-_a-zA-Z]*$ searchable: true required: true minLength: 1 maxLength: 39 description: Email address of the user type: string pattern: ^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$ searchable: true minLength: 1 maxLength: 64 officePhone: users.html[2/20/2014 10:09:39 AM] users mobilePhone: enabled: description: Office phone number of the user type: string pattern: ^[^\"'&=<>]+$ minLength: 1 maxLength: 25 description: Mobile phone number of the user type: string pattern: ^[^\"'&=<>]+$ minLength: 1 maxLength: 25 description: Specifies if the user account is enabled or not type: boolean default: false UserV2 description: This User is a data transfer object to get user details from the appliance type: object Properties userName: status: description: description: User name of the user, should be unique in the appliance, should start only with a letter and should contain only letters, digits and the characters _ - searchable: true pattern: ^[a-zA-Z]+?[0-9-_a-zA-Z]*$ required: true maxLength: 39 type: string minLength: 1 description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown - should be avoided, but there may be rare occasions where status is Unknown; OK - indicates normal/informational behavior; Disabled indicates that a resource is not operational; Warning - needs attention soon; Critical needs immediate attention. type: string description: Brief description of the resource type: string users.html[2/20/2014 10:09:39 AM] users created: enabled: uri: name: state: eTag: emailAddress: modified: officePhone: fullName: description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][09])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Specifies if the user account is enabled or not default: false type: boolean description: The canonical URI of the resource type: string description: Display name for the resource type: string description: State is not applicable to this resource. type: string description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Email address of the user searchable: true pattern: ^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$ maxLength: 64 minLength: 1 type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][09])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Office phone number of the user pattern: ^[^\"'&=<>]+$ maxLength: 25 minLength: 1 type: string description: Full name of the user. should contain only letters and the characters ' . - _ and space searchable: true users.html[2/20/2014 10:09:39 AM] users category: type: mobilePhone: pattern: ^[a-zA-Z0-9 ._'-]+$ maxLength: 39 minLength: 1 type: string description: Resource category used for authorizations and resource type groupings type: string description: Identifies the resource type. This field must be set to 'UserDtoV2'. type: string description: Mobile phone number of the user pattern: ^[^\"'&=<>]+$ maxLength: 25 minLength: 1 type: string UserListV2 description: This UserCollection is a data transfer object which is a collection of User objects. Used to get details for multiple users from the appliance. type: object Properties count: category: nextPageUri: prevPageUri: uri: modified: description: The actual number of resources returned in the specified page type: integer description: Resource category used for authorizations and resource type groupings type: string description: URI pointing to the page of resources following the list of resources contained in the specified collection type: string description: URI pointing to the page of resources preceding the list of resources contained in the specified collection type: string description: The canonical URI of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])? Z users.html[2/20/2014 10:09:39 AM] users start: eTag: created: members: type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: The row or record number of the first resource returned in the specified page type: integer description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])? Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: List of User objects type: array Items userName: status: description: category: created: users.html[2/20/2014 10:09:39 AM] description: User name of the user, should be unique in the appliance, should start only with a letter and should contain only letters, digits and the characters _ - searchable: true pattern: ^[a-zA-Z]+?[0-9-_a-zA-Z]*$ required: true maxLength: 39 type: string minLength: 1 description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown - should be avoided, but there may be rare occasions where status is Unknown; OK - indicates normal/informational behavior; Disabled - indicates that a resource is not operational; Warning needs attention soon; Critical - needs immediate attention. type: string description: Brief description of the resource type: string description: Resource category used for authorizations and resource type groupings type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5] users [0-9](.[0-9][0-9][0-9])?Z enabled: uri: mobilePhone: modified: state: eTag: emailAddress: fullName: users.html[2/20/2014 10:09:39 AM] type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Specifies if the user account is enabled or not default: false type: boolean description: The canonical URI of the resource type: string description: Mobile phone number of the user pattern: ^[^\"'&=<>]+$ maxLength: 25 minLength: 1 type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5] [0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: State is not applicable to this resource. type: string description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Email address of the user type: string searchable: true pattern: ^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\.[A-Za-z09]+)*(\\.[A-Za-z]{2,})$ maxLength: 64 minLength: 1 description: Full name of the user. should contain only letters and the characters ' . - _ and space type: string searchable: true pattern: ^[a-zA-Z0-9 ._'-]+$ users officePhone: type: name: total: type: maxLength: 39 minLength: 1 description: Office phone number of the user pattern: ^[^\"'&=<>]+$ maxLength: 25 minLength: 1 type: string description: Identifies the resource type. This field must be set to 'UserDtoV2'. type: string description: Display name for the resource type: string description: The total number of resources that would be returned from the query (including any filters), without pagination or enforced resource limits type: integer description: Identifies the resource type. This field must be set to 'UserDtoCollectionV2'. type: string UserModify description: The UserModify is a data transfer object to modify user attributes like user name, full name, password, email address, office phone number and mobile phone number, roles of own account or a different account.Only the built-in administrator can modify the properties and roles of the built-in administrator user. The built-in administrator has 'users/Update' authorization permission. type: object Properties password: replaceRoles: users.html[2/20/2014 10:09:39 AM] description: New password, to replace the user's existing password. Password should not contain any of < > ; , \" ' & \\/ | + : = and space type: string pattern: ^[^<>;,\"'&\\\\/|+:= ]+$ required: true minLength: 8 maxLength: 40 description: Specifies whether the new roles replace, or are added to, the user's existing roles. type: boolean users currentPassword: roles: userName: emailAddress: officePhone: mobilePhone: users.html[2/20/2014 10:09:39 AM] default: false description: Current password of user. Password should not contain any of < > ; , \" ' & \\/ | + : = and space type: string pattern: ^[^<>;,\"'&\\\\/|+:= ]+$ required: true minLength: 8 maxLength: 40 description: Array of role names type: array description: User name of the user, should be unique in the appliance, should start only with a letter and should contain only letters, digits and the characters _ - type: string pattern: ^[a-zA-Z]+?[0-9-_a-zA-Z]*$ searchable: true required: true minLength: 1 maxLength: 39 description: Email address of the user type: string pattern: ^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z] {2,})$ searchable: true minLength: 1 maxLength: 64 description: Office phone number of the user type: string pattern: ^[^\"'&=<>]+$ minLength: 1 maxLength: 25 description: Mobile phone number of the user type: string pattern: ^[^\"'&=<>]+$ minLength: 1 maxLength: 25 users enabled: fullName: description: Specifies if the user account is enabled or not type: boolean default: false description: Full name of the user. Should contain only letters and the characters ' . - _ and space type: string pattern: ^[a-zA-Z0-9 ._'-]+$ searchable: true minLength: 1 maxLength: 39 UserNameList description: The UserNameCollection is a data transfer object which is the collection of User name objects. Used to get multiple user names from the appliance. type: object Properties count: category: nextPageUri: prevPageUri: uri: created: start: description: The actual number of resources returned in the specified page type: integer description: Resource category used for authorizations and resource type groupings type: string description: URI pointing to the page of resources following the list of resources contained in the specified collection type: string description: URI pointing to the page of resources preceding the list of resources contained in the specified collection type: string description: The canonical URI of the resource type: string description: Date and time when the resource was created format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])? Z description: The row or record number of the first resource returned in the specified page users.html[2/20/2014 10:09:39 AM] users eTag: members: type: integer description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: List of UserNameDto objects type: array Items userName: modified: total: type: description: User name of the user, should be unique in the appliance, should start only with a letter and should contain only letters, digits and the characters _ - searchable: true pattern: ^[a-zA-Z]+?[0-9-_a-zA-Z]*$ required: true minLength: 1 maxLength: 39 type: string description: Date and time when the resource was last modified format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])? Z description: The total number of resources that would be returned from the query (including any filters), without pagination or enforced resource limits type: integer description: Identifies the resource type. This field must be set to 'UserNameDtoCollection'. type: string UserPassword description: The UserPassword is a data transfer object used to modify/change user password. type: object Properties userName: description: User name of the user type: string pattern: ^[a-zA-Z]+?[0-9-_a-zA-Z]*$ users.html[2/20/2014 10:09:39 AM] users oldPassword: newPassword: searchable: true required: true minLength: 1 maxLength: 39 description: Current password of user. Password should not contain any of < > ; , \" ' & \\/ | + : = and space type: string pattern: ^[^<>;,\"'&\\\\/|+:= ]+$ required: true minLength: 8 maxLength: 40 description: New password, to replace the user's existing password. Password should not contain any of < > ; , \" ' & \\/ | + : = and space type: string pattern: ^[^<>;,\"'&\\\\/|+:= ]+$ required: true minLength: 8 maxLength: 40 UserRolesV2 description: The UserRoles is a data transfer object used to assign/get roles and other user attributes user name, full name, password, email address, office phone number and mobile phone number to/from an existing user. A user cannot modify the roles assigned to the user's own account. Role names are case sensitive. type: object Properties userName: status: description: User name of the user, should be unique in the appliance, should start only with a letter and should contain only letters, digits and the characters _ - searchable: true pattern: ^[a-zA-Z]+?[0-9-_a-zA-Z]*$ required: true maxLength: 39 type: string minLength: 1 description: Overall health status of the resource. The following are the valid values for the status users.html[2/20/2014 10:09:39 AM] users of the resource:Unknown - should be avoided, but there may be rare occasions where status is Unknown; OK - indicates normal/informational behavior; Disabled indicates that a resource is not operational; Warning - needs attention soon; Critical needs immediate attention. description: roles: created: enabled: uri: name: state: eTag: emailAddress: modified: type: string description: Brief description of the resource type: string description: Array of role names type: array description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][09])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Specifies if the user account is enabled or not default: false type: boolean description: The canonical URI of the resource type: string description: Display name for the resource type: string description: State is not applicable to this resource. type: string description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Email address of the user searchable: true pattern: ^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$ maxLength: 64 minLength: 1 type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][09])?Z type: string users.html[2/20/2014 10:09:39 AM] users officePhone: fullName: category: type: mobilePhone: format: YYYY-MM-DDThh:mm:ss.sssZ description: Office phone number of the user pattern: ^[^\"'&=<>]+$ maxLength: 25 minLength: 1 type: string description: Full name of the user. should contain only letters and the characters ' . - _ and space searchable: true pattern: ^[a-zA-Z0-9 ._'-]+$ maxLength: 39 minLength: 1 type: string description: Resource category used for authorizations and resource type groupings type: string description: Identifies the resource type. This field must be set to 'UserRolesDtoV2'. type: string description: Mobile phone number of the user pattern: ^[^\"'&=<>]+$ maxLength: 25 minLength: 1 type: string VerifyPassword description: The VerifyPassword is a data transfer object to verify/validate the user password. type: object Properties userName: users.html[2/20/2014 10:09:39 AM] description: User name of the user type: string pattern: ^[a-zA-Z]+?[0-9-_a-zA-Z]*$ searchable: true required: true minLength: 1 users password: trustedComponentToken: maxLength: 39 description: Current password of user. Password should not contain any of < > ; , \" ' & \\/ | + : = and space type: string pattern: ^[^<>;,\"'&\\\\/|+:= ]+$ required: true minLength: 8 maxLength: 40 description: The trusted component token type: string UserAddV2 description: The UserAddV2 is a data transfer object used to add user with roles to the appliance. Any user whose role(s) have the {users,Create} authorization is allowed to create local users. Validations are performed to ensure that no user with the same user name and full name already exist. When you create a user, you should ensure that the password meets minimum requirements. type: object Properties fullName: password: userName: description: Full name of the user. Should contain only letters and the characters ' . - _ and space type: string pattern: ^[a-zA-Z0-9 ._'-]+$ searchable: true minLength: 1 maxLength: 39 description: Password should not contain any of < > ; , \" ' & \\/ | + : = and space type: string pattern: ^[^<>;,\"'&\\\\/|+:= ]+$ required: true minLength: 8 maxLength: 40 description: User name of the user, should be unique in the appliance, should start only with a letter and should contain only letters, digits and the characters _ - type: string pattern: ^[a-zA-Z]+?[0-9-_a-zA-Z]*$ users.html[2/20/2014 10:09:39 AM] users emailAddress: officePhone: mobilePhone: enabled: roles: searchable: true required: true minLength: 1 maxLength: 39 description: Email address of the user type: string pattern: ^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$ searchable: true minLength: 1 maxLength: 64 description: Office phone number of the user type: string pattern: ^[^\"'&=<>]+$ minLength: 1 maxLength: 25 description: Mobile phone number of the user type: string pattern: ^[^\"'&=<>]+$ minLength: 1 maxLength: 25 description: Specifies if the user account is enabled or not type: boolean default: false description: Array of role names type: array users.html[2/20/2014 10:09:39 AM] appliance/device-read-community-string HP OneView 1.05 REST API Reference (API Version 4) Updated: February 18, 2014 6:21 MST appliance/device-read-community-string The device read community string is used by the appliance to establish SNMP communication with devices managed by the appliance. API Specifications Create Read /rest/appliance/device-read-community-string POST GET URI: /rest/appliance/device-read-community-string Method API GET Retrieves the global community string. Request Header Attributes Update Delete Resource Model DeviceCommunityString Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description DeviceCommunityString The device read community string Response Codes REST API Response Codes Examples GET https://{appl}/rest/appliance/device-read-community-string Response body { "uri": "/rest/appliance/device-read-communitystring", "communityString": "public" } POST Update the device read community string. Although this updates the device read community string on the appliance itself, this does not result in an update of the community string on devices within the appliance. Follow these steps in order to cause an update of the SNMP community string for the devices in an enclosure. (Consult the REST API documentation for details about each of the following REST API calls.) 1. Call POST https://{appl}/rest/appliance/device-read-communitystring to set the community string. 2. Call GET https://{appl}/rest/enclosures to get a list of enclosure ids. 3. Call PUT https://{appl}/rest/enclosures/{id}/refreshState for each enclosure id. Follow these steps to cause an update of the community string for a rack-mounted server. (Consult the REST API documentation for details about each of the following REST API calls.) 1. Call POST https://{appl}/rest/appliance/device-read-community-string to set the community string. 2. Call GET https://{appl}/rest/server-hardware?filter="position=0" to get a list of rack-mount server ids. 3. Call PUT https://{appl}/rest/server-hardware/{id}/refreshState for each rack-mounted server id. Request Header Attributes appliance-device-read-community-string.html[2/20/2014 10:09:41 AM] Description appliance/device-read-community-string REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes DeviceCommunityString Required Description Response Description void The collection of requested trap destinations. Response Codes REST API Response Codes Examples POST https://{appl}/rest/appliance/device-read-community-string Request body: { "communityString": "astringvalue" } DeviceCommunityString description: The device read community string is used by the appliance to establish SNMP communication with devices managed by the appliance. type: object Properties communityString: uri: description: The device read community string type: string description: The canonical URI of the resource. type: string appliance-device-read-community-string.html[2/20/2014 10:09:41 AM] enclosures HP OneView 1.05 REST API Reference (API Version 4) Updated: February 18, 2014 6:08 MST enclosures The enclosures resource provides REST APIs for managing BladeSystem c7000 enclosures. You can retrieve the enclosure resource representing any enclosure managed by the appliance, add new enclosures, and remove existing enclosures. API Specifications Create Read /rest/enclosures POST GET AddEnclosure /rest/enclosures/schema GET Enclosure /rest/enclosures/{id} GET /rest/enclosures/{id}/activeOaSsoUrl GET /rest/enclosures/{id}/enclosureFwBaseline /rest/enclosures/{id}/environmentalConfiguration GET /rest/enclosures/{id}/refreshState Update Delete DELETE Resource Model EnclosureList FwBaselineConfig PUT SsoUrlData PUT UtilizationData PUT EnvironmentalConfigurationUpdate /rest/enclosures/{id}/standbyOaSsoUrl GET EnvironmentalConfiguration /rest/enclosures/{id}/utilization GET RefreshStateConfig URI: /rest/enclosures Method API POST Adds an enclosure and its servers and interconnects for management by the appliance. This API initiates the asynchronous addition and configuration of an enclosure and its components. Parameter Attributes Description Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Description AddEnclosure Required Contains the information necessary to add an enclosure. Response Description TaskResourceV2 Returns a TaskResource that can be used to monitor the progress of the enclosure addition. Response Codes REST API Response Codes Examples Add the enclosure using the OA with hostname enc-oa.corp.com and the login "Administrator" and password "mypassword". It will be enclosures.html[2/20/2014 10:09:42 AM] enclosures added to the enclosure group with the specified group URI. POST: https://{appl}/rest/enclosures { "hostname" : "enc-oa.corp.com", "username" : "Administrator", "password" : "mypassword", "force" : false, "enclosureGroupUri : "/rest/enclosure-groups/7238aac1-6c37-45d2a40e-b810-b12bed2a", "firmwareBaselineUri" : "/rest/firmwaredrivers/SPPBLRH2012100_2012_1119", "updateFirmwareOn" : "EnclosureOnly" } GET Gets a list of enclosures. Returns a list of enclosures based on optional sorting and filtering, and constrained by start and count parameters. Parameter Attributes Description start Optional The 0-based index of the first resource to return (start=0 starts with the first available resource). If the specified count does not return all resources within the maximum allowed time (see count), use the start parameter to view additional resource pages. The default value for start is 0 (first available resource). count Optional Optional parameter that specifies the number of resources to return from each API invocation. The number of resources returned on each call is referred to as a page. If you specify a count, the API attempts to return the specified number of resources, however this may be limited due to response time constraints and/or actual number of resources available to return. The results include the total number of resources that match the filter or query, the actual count returned, and the URIs to go to the next page, previous page, or both. sort Optional The sort order of the returned data set. By default, the sort order is based on the create time, with the oldest entry first. query Experimental This parameter is experimental for this release: While generally functional when used in simple cases, restrictions might be noted in the implementation description. If the query is supported, the following is the way it works. A general query string that narrows the list of resources returned by a multi-resource GET (read) request and DELETE (delete) request. The default is no query (all resources are returned). One advantage query has over filter is that it can have embedded ORs. A single query parameter can do what would take multiple parameters or multiple GET requests using filter. Use query for more complex queries. filter Experimental This parameter is experimental for this release: While generally functional when used in simple cases, restrictions might be noted in the implementation description. A general filter/query string that narrows the list of resources returned by a multi-resource GET (read) request and DELETE (delete) request. The default is no filter (all resources are returned). Request Header Attributes enclosures.html[2/20/2014 10:09:42 AM] Description enclosures REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description EnclosureList Returns a list of enclosure resources. Response Codes REST API Response Codes Examples Get a subset of enclosures based on default sorting and filtering. The subset starts at the 11th enclosure, and returns up to 10 enclosures. GET https://{appl}/rest/enclosures?start=10&count=10 Get a list of enclosures that have OA firmware version less than 4.00, sorted by name. GET https://{appl}/rest/enclosures? start=5&count=7&filter="firmwareVersion<'4.00'"&sort="name:asc" URI: /rest/enclosures/schema Method API GET Gets the JSON schema of the enclosure resource. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description JsonSchema The JSON schema of enclosure resource. Response Codes REST API Response Codes Examples GET https://{appl}/rest/enclosures/schema URI: /rest/enclosures/{id} Method API GET Gets the enclosure resource with the specified URI. Parameter Attributes Description Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response enclosures.html[2/20/2014 10:09:42 AM] Description enclosures Enclosure An enclosure resource Response Codes REST API Response Codes Examples GET the enclosure with a specific URI. GET https://{appl}/rest/enclosures/{id} DELETE Removes an enclosure and its servers and interconnects from management of the appliance. Parameter Attributes Description force Optional If set to true, the operation completes even if there are network connectivity issues or resource errors. The default is false. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description TaskResourceV2 Returns a TaskResource that can be used to monitor the progress of the enclosure removal. Response Codes REST API Response Codes Examples Remove an enclosure and any server and interconnects within it from the appliance DELETE https://{appl}/rest/enclosures/{id} URI: /rest/enclosures/{id}/activeOaSsoUrl Method API GET Returns data that can be used to construct a single sign-on URL for an Onboard Administrator Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description SsoUrlData Returns data used to construct an SSO URL. Response Codes REST API Response Codes Examples The above call will return data that can be used to construct a single sign-on URL for the currently active Onboard Administrator of the enclosure with the specified enclosures.html[2/20/2014 10:09:42 AM] enclosures ID. https://{appl}/rest/enclosures/{id}/activeOaSsoUrl URI: /rest/enclosures/{id}/enclosureFwBaseline Method API PUT Applies a firmware baseline to the enclosure. This can be used to update the OA firmware or the OA, logical interconnect, and server profiles in the enclosure. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Description FwBaselineConfig Optional Specifies the baseline to apply and the resources the baseline should be applied to. Response Description TaskResourceV2 Returns a TaskResource that can be used to monitor the progress of the firmware update. Response Codes REST API Response Codes Examples Set the firmware baseline for the enclosure (causing OA firmware to be installed). PUT https://{appl}/rest/enclosures/{id}/enclosureFwBaseline { "fwBaselineUri": "/rest/firmware-drivers/SPPGen8Snap2_2012_0412_41", "isFwManaged" : "true", "firmwareUpdateOn" : "EnclosureOnly" } URI: /rest/enclosures/{id}/environmentalConfiguration Method API GET Gets the settings that describe the environmental configuration (supported feature set, calibrated minimum & maximum power, location & dimensions, ...) of the enclosure resource. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description EnvironmentalConfiguration An EnvironmentalConfiguration object for the requested resource. Response Codes REST API Response Codes enclosures.html[2/20/2014 10:09:42 AM] enclosures Examples Retrieve environmental configuration data for a given enclosure resource: GET https://{appl}/rest/enclosures/{id}/environmentalConfiguration PUT Sets the calibrated max power of an unmanaged or unsupported enclosure. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Description EnvironmentalConfigurationUpdate Required Object that contains the new calibrated max power value Response Description EnvironmentalConfiguration The updated environmental configuration for the enclosure. Response Codes REST API Response Codes Examples PUT https://{appl}/rest/enclosures/123-45-67-89123/environmentalConfiguration { "calibratedMaxPower" : 2500 } URI: /rest/enclosures/{id}/refreshState Method API PUT Refreshes the enclosure to fix configuration issues. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Description RefreshStateConfig Required The new refresh state to set on the enclosure. Response Description TaskResourceV2 Returns a task resource that can be used to monitor the progress of the enclosure refresh. Response Codes REST API Response Codes Examples Start an enclosure refresh. enclosures.html[2/20/2014 10:09:42 AM] The status of the refresh enclosures can be tracked with the task resource that is returned. PUT https://{appliance_name_or_ip}/rest/enclosures/{id}/refreshState { "refreshState":"RefreshPending" } Start an enclosure refresh. The status of the refresh can be tracked with the task resource that is returned. The "address" field specifies an alternate address of the OA that should be used. The "username" and "password" fields specify the enclosures primary OA administrative credentials that should be used. The refresh operation would know to use both the new appliance ipv4 address when managing different components, and to use the new oa credentials when contacting the OA. Note that the username and password field must both be present if they are used, otherwise neither should be provided. The address field can be used by itself or in addition to the credential fields. PUT https://{appliance_name_or_ip}/rest/enclosures/{id}/refreshState { "refreshState":"RefreshPending", "refreshForceOptions":{ "address":"1.2.3.4", "username":"Administrator", "password":"mypw123" } } URI: /rest/enclosures/{id}/standbyOaSsoUrl Method API GET Gets data that can be used to construct a single sign-on (SSO) URL for an enclosure’s active Onboard Administrator Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description SsoUrlData Returns data used to construct an SSO URL. Response Codes REST API Response Codes Examples Get a single sign-on URL for the active Onboard enclosures.html[2/20/2014 10:09:42 AM] enclosures Administrator of the enclosure. GET https://{appl}/rest/enclosures/{id}/activeOaSsoUrl URI: /rest/enclosures/{id}/utilization Method API GET Retrieves historical utilization data for the specified enclosure, metrics, and time span. Parameter Attributes Description refresh Optional Specifies that if necessary an additional request will be queued to obtain the most recent utilization data from the enclosure. The response will not include any refreshed data. To track the availability of the newly collected data, monitor the TaskResource identified by the refreshTaskUri property in the response. If null, no refresh was queued. view Optional Specifies the resolution interval length of the samples to be retrieved. This is reflected in the resolution in the returned response. Utilization data is automatically purged to stay within storage space constraints. Supported views are listed below. native Resolution of the samples returned will be one sample for each 5-minute time period. This is the default view and matches the resolution of the data returned by the enclosure. Samples at this resolution are retained up to one year. hour Resolution of the samples returned will be one sample for each 60-minute time period. Samples are calculated by averaging the available 5-minute data samples that occurred within the hour, except for PeakPower which is calculated by reporting the peak observed 5-minute sample value data during the hour. Samples at this resolution are retained up to three years. day Resolution of the samples returned will be one sample for each 24-hour time period. One day is a 24-hour period that starts at midnight GMT regardless of the time zone in which the appliance or client is located. Samples are calculated by averaging the available 5-minute data samples that occurred during the day, except for PeakPower which is calculated by reporting the peak observed 5-minute sample value data during the day. Samples at this resolution are retained up to three years. fields Optional Name of the metric(s) to be retrieved in the format METRIC[,METRIC]... Enclosures support the following utilization metrics: AmbientTemperature Inlet air temperature in degrees Celsius during this sample interval. AveragePower Average power consumption in Watts during this sample interval. PeakPower Peak power consumption in Watts during this sample interval. PowerCap Dynamic power cap setting on the server hardware in Watts during this sample interval. DeratedCapacity Enclosure dynamic power cap derated capacity setting in Watts during this sample interval. RatedCapacity enclosures.html[2/20/2014 10:09:42 AM] enclosures Enclosure dynamic power cap rated capacity setting in Watts during this sample interval. If unspecified, all metrics supported are returned. filter Experimental Provides an expression of the requested time range of data. One condition (startDate/endDate) is specified per filter specification as described below. The condition must be specified via the equals (=) operator. startDate Start date of requested starting time range in ISO 8601 format. If omitted, the startDate is determined by the endDate minus 24 hours. endDate End date of requested starting time range in ISO 8601 format. When omitted the endDate includes the latest data sample available. If an excessive number of samples would otherwise be returned, the results will be segmented. The caller is responsible for comparing the returned sliceStartTime with the requested startTime in the response. If the sliceStartTime is greater than the oldestSampleTime and the requested start time, the caller is responsible for repeating the request with endTime set to sliceStartTime to obtain the next segment. This process is repeated until the full data set is retrieved. If the resource has no data, the UtilizationData is still returned, but will contain no samples and sliceStartTime/sliceEndTime will be equal. oldestSampleTime/newestSampleTime will still be set appropriately (null if no data is available). If the filter just does not happen to overlap the data that a resource does have, then the metric history service will return null sample values for any missing samples. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description UtilizationData Returns resource containing utilization data for the specified enclosure. Response Codes REST API Response Codes Examples Get 24 hours of data for all available metrics at a resolution of one sample every 5 minutes for enclosure 09USE7335NW3: GET https://{appl}/rest/enclosures/09USE7335NW3/utilization Get temperature data for enclosure 09USE7335NW3 between two specified dates at a resolution of one sample per hour: GET https://{appl}/rest/enclosures/09USE7335NW3/utilization? fields=AmbientTemperature &view=hour&filter=startDate=20120401T202800.000Z&filter=endDate=20120402T202800.000Z Get all temperature data at a resolution of one sample per day for enclosure 09USE7335NW3: GET https://{appl}/rest/enclosures/09USE7335NW3/utilization?view=day enclosures.html[2/20/2014 10:09:42 AM] enclosures AddEnclosure description: The resource used to add an enclosure. type: object Properties username: password: force: licensingIntent: description: OA administrator user name (e.g. Administrator). required: true type: string description: Password for the specified user name. required: true type: string description: Use this optional flag with caution, because force-adding an enclosure makes it unmanagable by any other system managing it and removes any existing configuration. The default is false. Specify true to force the addition and take ownership away from another manager. type: boolean description: The licensing policy for all the servers in the enclosure enum: hostname: enclosureGroupUri: updateFirmwareOn: type: string required: true description: Hostname identifies the primary or standby OA of the enclosure to be added. It can be specified as either a hostname, IPv4, or IPv6 address. required: true type: string description: URI of an existing enclosure group to which the enclosure should be added. type: string description: Specifies whether the firmware baseline should be applied to the logical interconnect in addition to the enclosure enum: state: unmanagedEnclosure: EnclosureOnly type: string description: Specifies the state of the enclosure to be added. Set to 'unmanaged' to create a resource for an unmanaged enclosure for purposes of filling out a rack or connections to managed power feeds. Otherwise, leave empty. type: string description: Specifies the enclosure attributes for the unmanaged enclosure type: object Properties enclosures.html[2/20/2014 10:09:42 AM] OneView OneViewNoiLO enclosures status: category: name: ipv6Address: created: uri: modified: mac: state: eTag: enclosures.html[2/20/2014 10:09:42 AM] description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown should be avoided, but there may be rare occasions where status is Unknown; OK - indicates normal/informational behavior; Disabled - indicates that a resource is not operational; Warning - needs attention soon; Critical - needs immediate attention. type: string description: Resource category used for authorizations and resource type groupings type: string description: Display name for the resource type: string description: The IPv6 address of the management processor for the device. type: string searchable: true description: Date and time when the resource was created format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][09]:[0-5][0-9](.[0-9][0-9][0-9])?Z description: The canonical URI of the resource type: string description: Date and time when the resource was last modified format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][09]:[0-5][0-9](.[0-9][0-9][0-9])?Z description: MAC address of the management processor for the device. type: string searchable: true description: The current state of the resource. Valid values include Adding, AddError, Configured, CredentialError, Refreshing, RefreshError, Removing, RemoveError, and Unmanaged. readonly: true type: string description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string enclosures deviceType: maxPwrConsumed: ipv4Address: model: height: type: id: uuid: firmwareBaselineUri: enclosureUri: enclosures.html[2/20/2014 10:09:42 AM] description: When discovered via an HP Intelligent Power Distribution Unit (iPDU), this is the management processor type of the attached resource:iLO, APM Chassis, BladeSystem, Storage, Networking, or Server-Other. readonly: true type: string description: The maximum power consumed by the device in watts. This value is usedfor capacity/consumption analysis and should represent an accurate upper-boundon power consumption. minimum: 0 type: integer description: The IPv4 address of the management processor for the device. type: string searchable: true description: The model information or product name. required: true type: string description: The height of the unmanaged device in U-slots. type: integer description: Identifies the resource type. This field must be set to 'UnmanagedDevice'. type: string description: The internal identifier of the resource. readonly: true required: true type: string description: The universally unique identifier of the resource. readonly: true type: string description: The URI of the firmware baseline to apply to the enclosure type: string description: The URI for an enclosure that was previously added. When re-adding an enclosure, either enclosure URI or hostname can be used to identify the enclosure. If both are specified, hostname will be used and enclosure URI will be ignored. type: string enclosures Enclosure description: Enclosure resource. type: object Properties standbyOaPreferredIP: vcmDomainName: modified: interconnectBayCount: isFwManaged: interconnectBays: description: Preferred IP address for the enclosure's standby OA. minLength: 0 readonly: true maxLength: 255 type: string description: Domain name of the enclosure. minLength: 0 readonly: true maxLength: 255 type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9] [0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Number of interconnect bays in the enclosure. readonly: true type: integer description: Flag indicating whether the firmware is managed. readonly: true type: boolean description: List of interconnect bays in the enclosure. readonly: true type: array Items interconnectUri: logicalInterconnectUri: enclosures.html[2/20/2014 10:09:42 AM] description: URI of the interconnect associated with the interconnect module in this bay. maxLength: 255 type: string minLength: 0 description: URI for logical interconnect associated with enclosures the interconnect module in this bay. bayNumber: category: fwBaselineUri: uuid: vcmUrl: assetTag: licensingIntent: fwBaselineName: enclosures.html[2/20/2014 10:09:42 AM] 255 type: string minLength: 0 description: Interconnect bay number. required: true type: integer description: Resource category used for authorizations and resource type groupings type: string description: The firmware baseline associated with this enclosure. readonly: true type: string description: UUID of the enclosure. minLength: 0 readonly: true maxLength: 255 type: string description: URL of the enclosure's management appliance. minLength: 0 readonly: true maxLength: 255 type: string description: Asset tag for the enclosure. minLength: 0 readonly: true maxLength: 32 type: string description: The licensing policy for all the servers in the enclosure. readonly: true enum: uri: maxLength: OneView OneViewNoiLO type: string required: true description: The canonical URI of the resource type: string description: The name of the current firmware baseline. enclosures state: stateReason: type: status: description: deviceBayCount: eTag: refreshState: readonly: true type: string description: The current resource state of the enclosure. Possible values are 'Adding', 'Removing', 'Configuring', 'Pending', 'Interrupted', 'Unmanaged', 'Unsupported', 'RemoveFailed' and 'Configured'. type: string description: The reason for the current resource state of the enclosure. Possible values are 'UnsupportedFirmware', 'OperationFailed', 'NotOwner', 'Unowned', 'NotAdded' and 'None'. type: string description: Identifies the resource type. This field must be set to 'Enclosure'. type: string description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown - should be avoided, but there may be rare occasions where status is Unknown; OK - indicates normal/informational behavior; Disabled - indicates that a resource is not operational; Warning needs attention soon; Critical - needs immediate attention. type: string description: Brief description of the resource type: string description: Number of device bays in the enclosure. readonly: true required: true type: integer description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Indicates if the resource is currently refreshing. enum: vcmDomainId: name: enclosures.html[2/20/2014 10:09:42 AM] NotRefreshing RefreshPending Refreshing RefreshFailed type: string description: Domain ID of the enclosure. minLength: 0 readonly: true maxLength: 255 type: string description: Name of the enclosure. minLength: 1 enclosures created: serialNumber: enclosureGroupUri: activeOaPreferredIP: oa: readonly: true maxLength: 32 type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9] [0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Serial number of the enclosure. minLength: 0 readonly: true maxLength: 255 type: string description: URI for this enclosure's enclosure-group. readonly: true type: string description: Preferred IP address for the enclosure's active OA. minLength: 0 readonly: true maxLength: 255 type: string description: List of OAs in the enclosure. readonly: true type: array Items state: description: The state of the OA, eg:Online, Offline enum: dhcpIpv6Enable: fwBuildDate: fwVersion: enclosures.html[2/20/2014 10:09:42 AM] Online Offline type: string description: DHCP Enable flag in IPv6 setting type: boolean description: Build date of the OA's current firmware maxLength: 255 type: string minLength: 0 description: Firmware version of the OA. enclosures role: maxLength: 255 type: string minLength: 0 description: Role of the OA, eg:Active, Standby, etc. enum: fqdnHostName: ipv6Addresses: Unknown OaAbsent Standby Transition Active type: string description: Fully qualified domain name maxLength: 255 type: string minLength: 0 description: Set of IPv6 addresses of the OA. type: array Items type: description: Type of the OA IPv6 address. enum: address: dhcpEnable: ipAddress: bayNumber: oaBayCount: enclosures.html[2/20/2014 10:09:42 AM] description: LinkLocal RouterAdv NotSet Unknown Static type: string description: IPv6 address of the OA. maxLength: 255 type: string minLength: 0 description: DHCP Enable flag type: boolean description: IPv4 address of the OA. maxLength: 255 type: string minLength: 0 description: Bay number of the OA. required: true type: integer Number of OA bays in the enclosure. enclosures enclosureType: rackName: partNumber: vcmMode: deviceBays: readonly: true type: integer description: Enclosure type of the enclosure, eg, 'Blade System c7000 Enclosure G2' minLength: 0 readonly: true maxLength: 255 type: string description: Name of the rack in which the enclosure resides. minLength: 1 readonly: true maxLength: 32 type: string description: Part number of the enclosure. minLength: 0 readonly: true maxLength: 255 type: string description: Flag which indicates whether the enclosure is managed by an appliance. readonly: true required: true type: boolean description: List of device bays in the enclosure. readonly: true type: array Items category: coveredByProfile: created: enclosures.html[2/20/2014 10:09:42 AM] description: Resource category used for authorizations and resource type groupings type: string description: URI of the profile that covers the bay type: string minLength: 0 maxLength: 255 description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3] enclosures [0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](. [0-9][0-9][0-9])?Z coveredByDevice: uri: modified: availableForFullHeightProfile: eTag: profileUri: availableForHalfHeightProfile: bayNumber: model: enclosures.html[2/20/2014 10:09:42 AM] type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: URI of the server-hardware that covers the bay type: string minLength: 0 maxLength: 255 description: The canonical URI of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3] [0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](. [0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Indicates whether a bay is available to have a full-height profile assigned to it type: boolean description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: URI for the profile assigned to the bay type: string minLength: 0 maxLength: 255 description: Indicates whether a bay is available to have a half-height profile assigned to it type: boolean description: Device Bay number. required: true type: integer description: Model name for the blade hardware in the bay enclosures devicePresence: type: deviceUri: enclosureUri: type: string minLength: 0 maxLength: 255 description: Indicates whether a device is present in the bay. type: string minLength: 0 maxLength: 255 description: Identifies the resource type. This field must be set to 'DeviceBay'. type: string description: URI for the server-hardware in the bay type: string minLength: 0 maxLength: 255 description: URI of the enclosure the bay belongs to type: string minLength: 0 maxLength: 255 EnclosureList description: List of enclosures. type: object Properties count: category: created: prevPageUri: description: The actual number of resources returned in the specified page type: integer description: Resource category used for authorizations and resource type groupings type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: URI pointing to the page of resources preceding the list of resources contained in the specified collection enclosures.html[2/20/2014 10:09:42 AM] enclosures uri: modified: start: eTag: nextPageUri: members: type: string description: The canonical URI of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: The row or record number of the first resource returned in the specified page type: integer description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: URI pointing to the page of resources following the list of resources contained in the specified collection type: string description: List of enclosures resources. type: array Items standbyOaPreferredIP: vcmDomainName: activeOaPreferredIP: uri: interconnectBayCount: enclosures.html[2/20/2014 10:09:42 AM] description: Preferred IP address for the enclosure's standby OA. minLength: 0 maxLength: 255 readonly: true type: string description: Domain name of the enclosure. minLength: 0 maxLength: 255 readonly: true type: string description: Preferred IP address for the enclosure's active OA. minLength: 0 maxLength: 255 readonly: true type: string description: The canonical URI of the resource type: string description: Number of interconnect bays in the enclosure. enclosures isFwManaged: interconnectBays: type: integer readonly: true description: Flag indicating whether the firmware is managed. type: boolean readonly: true description: List of interconnect bays in the enclosure. type: array readonly: true Items interconnectUri: logicalInterconnectUri: bayNumber: category: fwBaselineUri: uuid: vcmUrl: enclosures.html[2/20/2014 10:09:42 AM] description: URI of the interconnect associated with the interconnect module in this bay. type: string minLength: 0 maxLength: 255 description: URI for logical interconnect associated with the interconnect module in this bay. type: string minLength: 0 maxLength: 255 description: Interconnect bay number. required: true type: integer description: Resource category used for authorizations and resource type groupings type: string description: The firmware baseline associated with this enclosure. type: string readonly: true description: UUID of the enclosure. minLength: 0 maxLength: 255 readonly: true type: string description: URL of the enclosure's management appliance. enclosures assetTag: licensingIntent: minLength: 0 maxLength: 255 readonly: true type: string description: Asset tag for the enclosure. minLength: 0 maxLength: 32 readonly: true type: string description: The licensing policy for all the servers in the enclosure. readonly: true enum: fwBaselineName: state: stateReason: type: status: description: deviceBayCount: enclosures.html[2/20/2014 10:09:42 AM] OneView OneViewNoiLO type: string required: true description: The name of the current firmware baseline. type: string readonly: true description: The current resource state of the enclosure. Possible values are 'Adding', 'Removing', 'Configuring', 'Pending', 'Interrupted', 'Unmanaged', 'Unsupported', 'RemoveFailed' and 'Configured'. type: string description: The reason for the current resource state of the enclosure. Possible values are 'UnsupportedFirmware', 'OperationFailed', 'NotOwner', 'Unowned', 'NotAdded' and 'None'. type: string description: Identifies the resource type. This field must be set to 'Enclosure'. type: string description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown - should be avoided, but there may be rare occasions where status is Unknown; OK - indicates normal/informational behavior; Disabled - indicates that a resource is not operational; Warning needs attention soon; Critical - needs immediate attention. type: string description: Brief description of the resource type: string description: Number of device bays in the enclosure. readonly: true required: true enclosures eTag: refreshState: type: integer description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Indicates if the resource is currently refreshing. type: string enum: partNumber: name: created: serialNumber: enclosureGroupUri: modified: enclosures.html[2/20/2014 10:09:42 AM] NotRefreshing RefreshPending Refreshing RefreshFailed description: Part number of the enclosure. minLength: 0 maxLength: 255 readonly: true type: string description: Name of the enclosure. minLength: 1 maxLength: 32 readonly: true type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5] [0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Serial number of the enclosure. minLength: 0 maxLength: 255 readonly: true type: string description: URI for this enclosure's enclosure-group. type: string readonly: true description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5] [0-9](.[0-9][0-9][0-9])?Z type: string enclosures format: oa: YYYY-MM-DDThh:mm:ss.sssZ description: List of OAs in the enclosure. type: array readonly: true Items fwVersion: dhcpIpv6Enable: ipv6Addresses: description: Firmware version of the OA. type: string minLength: 0 maxLength: 255 description: DHCP Enable flag in IPv6 setting type: boolean description: Set of IPv6 addresses of the OA. type: array Items type: description: Type of the OA IPv6 address. type: string enum: address: state: enclosures.html[2/20/2014 10:09:42 AM] IPv6 address of the OA. type: string minLength: 0 maxLength: 255 The state of the OA, eg:Online, Offline type: string Online Offline description: Role of the OA, eg:Active, Standby, etc. type: string enum: bayNumber: description: description: enum: role: LinkLocal RouterAdv NotSet Unknown Static Unknown OaAbsent Standby Transition Active description: Bay number of the OA. required: true type: integer enclosures fwBuildDate: dhcpEnable: ipAddress: fqdnHostName: oaBayCount: enclosureType: rackName: vcmDomainId: vcmMode: enclosures.html[2/20/2014 10:09:42 AM] description: Build date of the OA's current firmware type: string minLength: 0 maxLength: 255 description: DHCP Enable flag type: boolean description: IPv4 address of the OA. type: string minLength: 0 maxLength: 255 description: Fully qualified domain name type: string minLength: 0 maxLength: 255 description: Number of OA bays in the enclosure. type: integer readonly: true description: Enclosure type of the enclosure, eg, 'Blade System c7000 Enclosure G2' minLength: 0 maxLength: 255 readonly: true type: string description: Name of the rack in which the enclosure resides. minLength: 1 maxLength: 32 readonly: true type: string description: Domain ID of the enclosure. minLength: 0 maxLength: 255 readonly: true type: string description: Flag which indicates whether the enclosure is managed by an appliance. enclosures deviceBays: readonly: true required: true type: boolean description: List of device bays in the enclosure. type: array readonly: true Items category: coveredByProfile: created: enclosureUri: coveredByDevice: uri: enclosures.html[2/20/2014 10:09:42 AM] description: Resource category used for authorizations and resource type groupings type: string description: URI of the profile that covers the bay maxLength: 255 type: string minLength: 0 description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]([0-1][0-9])-[0-3][09]T[0-2][0-9]:[0-5] [0-9]:[0-5][0-9](.[09][0-9][0-9])?Z type: string format: YYYY-MMDDThh:mm:ss.sssZ description: URI of the enclosure the bay belongs to maxLength: 255 type: string minLength: 0 description: URI of the serverhardware that covers the bay maxLength: 255 type: string minLength: 0 description: The canonical URI enclosures of the resource modified: availableForFullHeightProfile: eTag: profileUri: availableForHalfHeightProfile: model: devicePresence: enclosures.html[2/20/2014 10:09:42 AM] type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]([0-1][0-9])-[0-3][09]T[0-2][0-9]:[0-5] [0-9]:[0-5][0-9](.[09][0-9][0-9])?Z type: string format: YYYY-MMDDThh:mm:ss.sssZ description: Indicates whether a bay is available to have a full-height profile assigned to it type: boolean description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: URI for the profile assigned to the bay maxLength: 255 type: string minLength: 0 description: Indicates whether a bay is available to have a half-height profile assigned to it type: boolean description: Model name for the blade hardware in the bay maxLength: 255 type: string minLength: 0 description: Indicates whether a device is present enclosures in the bay. type: deviceUri: bayNumber: total: type: maxLength: 255 type: string minLength: 0 description: Identifies the resource type. This field must be set to 'DeviceBay'. type: string description: URI for the serverhardware in the bay maxLength: 255 type: string minLength: 0 description: Device Bay number. required: true type: integer description: The total number of resources that would be returned from the query (including any filters), without pagination or enforced resource limits type: integer description: Identifies the resource type. This field must be set to 'EnclosureList'. type: string FwBaselineConfig description: The firmware baseline. type: object Properties fwBaselineUri: isFwManaged: firmwareUpdateOn: description: A firmware-drivers URI for the firmware bundle containing the baseline firmware. type: string description: Flag indicating whether the firmware is managed. type: boolean description: Option specifying which firmware components to update. Valid values are EnclosureOnly and EnclosureLogicalInterconnectProfiles. type: string enclosures.html[2/20/2014 10:09:42 AM] enclosures SsoUrlData description: Contains data used to make a request to an Onboard Administrator for single sign-on access. type: object Properties ssoUrl: attributes: description: POST the attribute map to this URL for SSO access. type: string description: A map of name-value attribute pairs that should be sent as a POST request to the ssoUrl. type: object UtilizationData description: The requested utilization data for the resource. type: object Properties metricList: description: The list of information returned for each metric. It contains one entry per metric name requested for this resource. type: array Items metricName: metricSamples: description: The name of the metric described by this object. See the GET utilization method for a resource to determine the supported metrics for that resource. The list of metrics includes CpuUtilization, CpuAverageFreq, AmbientTemperature, AveragePower, PowerCap, PeakPower, RatedCapacity, DeratedCapacity. type: string required: true description: The set of utilization sample arrays keyed by metric name. Each sample element in the array is itself an array containing a time value (metricSamples[i][0]) followed by the value at that time (metricSamples[i][1])).The time value is represented as the number of milliseconds between the time and midnight January 1 1970. The samples are sorted in time order from most-recent to oldest. The value representation is dependent upon the metric selected. type: array Items metricCapacity: required: enclosures.html[2/20/2014 10:09:42 AM] description: The capacity (total amount available) of this metric (null if it does not apply or is not available) type: integer true enclosures refreshTaskUri: uri: resolution: sliceStartTime: sliceEndTime: newestSampleTime: oldestSampleTime: isFresh: description: The uri of a task resource to track the collection of the most recent utilization data (null if no collection is required). When the task completes, repeat the request to obtain any newly collected data. type: string description: The uri of the resource associated with this metric data. type: string description: Time period (resolution) of each metric sample in milliseconds. Example resolution values include five minutes (300000), one hour (3600000), or one day (86400000). type: integer description: The oldest (earliest in time) sample returned in this response. The format is an extended ISO 8601 String (as GMT) type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])? Z format: YYYY-MM-DDThh:mm:ss.sssZ description: The sample time immediately following the newest (most recent) sample in this response. The format is an extended ISO 8601 String (as GMT) type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])? Z format: YYYY-MM-DDThh:mm:ss.sssZ description: The end time of the newest (most recent) sample of any metric for this resource. The format is an extended ISO 8601 String (as GMT) type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])? Z format: YYYY-MM-DDThh:mm:ss.sssZ description: The oldest (earliest in time) sample of any metric for this resource. The format is an extended ISO 8601 String (as GMT) type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])? Z format: YYYY-MM-DDThh:mm:ss.sssZ description: The metric is considered fresh if the most recent available sample from the resource has already been collected and is included in the newestSampleTime. type: boolean EnvironmentalConfigurationUpdate description: enclosures.html[2/20/2014 10:09:42 AM] Provides the ability to specify partial updates to the environmental configuration of a resource. enclosures type: object Properties calibratedMaxPower: description: The calibrated maximum power of the resource. Calibrated Maximum Power is defined as the maximum potential power that the device can consume, subject to the following requirements and constraints: 1. The value reported MUST be the maximum which can be sustained for greater than 1/2 second (i.e., in-rush currents and other spikes that may persist for less than a 1/2 second are not to be included). 2. The value reported MUST represent the maximum total AC input across all power supplies 3. The value reported MUST represent the maximum AC input the device can sustain as configured at the time this metric is reported. If additional components are added later or if it is discovered at a later time that more power can be used, the larger number MUST be reported when the device is next queried for this metric. 4. The value reported does not represent potential input power in the case of error conditions such as short circuits. 5. The actual power used by the device MUST NOT exceed the reported Calibrated Maximum Power by greater than 1%. 6. The Calibrated Maximum Power SHOULD NOT exceed the actual maximum power that the device is capable of using by more than 5%. type: integer required: true EnvironmentalConfiguration description: Environmental (i.e., power and cooling) configuration of a device. A description of the power management capabilities, physical location, and power requirements of the device. These values are generally fixed, or change only when the hardware configuration is changed. type: object Properties powerHistorySupported: thermalHistorySupported: utilizationHistorySupported: capHistorySupported: historySampleIntervalSeconds: enclosures.html[2/20/2014 10:09:42 AM] description: Resource supports monitoring and retrieval of power consumption history data. Lack of power consumption history also implies that the calibratedMaxPower cannot be automatically calculated. type: boolean required: true description: Resource supports ambient temperature history reporting. type: boolean required: true description: Resource supports CPU utilization history. type: boolean required: true description: Resource supports power cap value history. type: boolean required: true description: Number of seconds in a power history sample interval. Typically 300 enclosures seconds (5 minutes). historyBufferSize: powerCapType: type: integer required: true description: Number of history samples maintained by the device. For example, 288 samples at 5 minute intervals cover 24 hours. type: integer required: true description: The type of power capping supported by this device. type: string enum: idleMaxPower: calibratedMaxPower: psuList: None Thermal Electrical description: Minimum power consumption seen (in Watts), 0 if unknown. The minimum power consumption occurs when the device is in idle state. type: integer required: true description: The calibrated maximum power. Calibrated Maximum Power is defined as the maximum potential power that the device can consume, subject to the following requirements and constraints: 1. The value reported MUST be the maximum which can be sustained for greater than 1/2 second (i.e., in-rush currents and other spikes that may persist for less than a 1/2 second are not to be included). 2. The value reported MUST represent the maximum total AC input across all power supplies 3. The value reported MUST represent the maximum AC input the device can sustain as configured at the time this metric is reported. If additional components are added later or if it is discovered at a later time that more power can be used, the larger number MUST be reported when the device is next queried for this metric. 4. The value reported does not represent potential input power in the case of error conditions such as short circuits. 5. The actual power used by the device MUST NOT exceed the reported Calibrated Maximum Power by greater than 1%. 6. The Calibrated Maximum Power SHOULD NOT exceed the actual maximum power that the device is capable of using by more than 5%. type: integer required: true description: The list of configuration data for each power supply of the device. type: array Items capacity: psuId: enclosures.html[2/20/2014 10:09:42 AM] description: The size of the power supply in Watts. type: integer description: A small integer identifying the slot or bay number of the power supply starting at one (1). type: integer enclosures inputVoltage: side: description: The line voltage (input) to the power supply (sampled or nominal). type: integer description: The logical power delivery grouping of the power supply. In a known non-redundant configuration, all power supplies should be considered on side A. In a known ACredundant configuration, the 2 sets of redundant power supplies should be identified as side A/B groupings. For an AC_REDUNDNAT C-Class BladeSystem slot 1,2,3 is on Side B (right from the front), and 4,5,6 are on Side A (left from the front). If there is no inherent side-ness, then the side will be Dynamic. type: string enum: powerType: description: The type of input power (AC or DC) of the power supply. type: string enum: height: rackId: uSlot: rackName: relativeOrder: licenseRequirement: enclosures.html[2/20/2014 10:09:42 AM] Unspecified A B Dynamic Unknown AC DC description: The height of the device in u-slots (-1 for unspecified). type: integer required: true description: The GUID of the containing rack if available; otherwise null. type: string description: The top-u-slot number of the device in the associated rack if available; -1 otherwise. type: integer required: true description: The rack name associated to this device (null for unspecified). type: string description: The relative order of a resource in a Rack when slot information cannot be discovered and is not yet configured. This information is derived from the management link cable connections in a BladeSystem enclosure. The values increase from top to bottom, the lowest number (one at top of rack) to highest number (bottom of rack). A value of -1 indicates unspecified. type: integer required: true description: Reflects any known missing license requirement that prevents access to environmental monitoring features of the resource. If the value is enclosures None, then there are no known issues preventing access to environmental monitoring features of the resource. If the value is iLOAdvanced, then the server hardware must have an iLOAdvanced license applied to environmental monitoring features. If the value is OneView, then it indicates that there are insufficient HP OneView licenses available to the appliance to enable environmental management features on the resource. type: enum: required: string None iLOAdvanced OneView true RefreshStateConfig description: The new refresh state type: object Properties refreshState: description: The new refresh state to put on the enclosure object type: string enum: refreshForceOptions: NotRefreshing RefreshPending Refreshing RefreshFailed description: Optional force fields for refreshing the enclousre type: object Properties address: username: password: enclosures.html[2/20/2014 10:09:42 AM] description: OA address or host name. It can be specified as either a hostname, IPv4, or IPv6 address. type: string description: OA administrator user name (e.g. Administrator). type: string description: Password for the specified user name. type: string server-hardware HP OneView 1.05 REST API Reference (API Version 4) Updated: February 18, 2014 6:16 MST server-hardware The server hardware resource is a representation of a physical server. The server hardware resource provides APIs for server management tasks such as applying a profile, importing a server and managing an iLO. API Specifications Create Read Update Delete /rest/server-hardware POST GET ServerHardware /rest/server-hardware/schema GET ServerHardwareList /rest/server-hardware/{id}/environmentalConfiguration GET /rest/server-hardware/{id}/iloSsoUrl GET ServerPowerControlRequest /rest/server-hardware/{id}/javaRemoteConsoleUrl GET ServerRefreshRequest PUT Resource Model AddServer /rest/server-hardware/{id}/mpFirmwareVersion PUT IloSsoUrlResult /rest/server-hardware/{id}/powerState PUT JavaRemoteConsoleUrlResult /rest/server-hardware/{id}/refreshState PUT RemoteConsoleUrlResult /rest/server-hardware/{id}/remoteConsoleUrl GET UtilizationData /rest/server-hardware/{id}/utilization GET EnvironmentalConfigurationUpdate /rest/server-hardware/{id} GET DELETE EnvironmentalConfiguration URI: /rest/server-hardware Method API GET Gets a list of server hardware resources. Returns a list of resources based on optional sorting and filtering, and constrained by start and count parameters. Parameter Attributes Description start Optional The 0-based index of the first resource to return (start=0 starts with the first available resource). If the specified count does not return all resources within the maximum allowed time (see count), use the start parameter to view additional resource pages. The default value for start is 0 (first available resource). count Optional Optional parameter that specifies the number of resources to return from each API invocation. The number of resources returned on each call is referred to as a page. If you specify a count, the API attempts to return the specified number of resources, however this may be limited due to response time constraints and/or actual number of resources available to return. The results include the total number of resources that match the filter or query, the actual count returned, and the URIs to go to the next page, previous page, or both. sort Optional The sort order of the returned data set. By default, the sort order is based on the create time, with the oldest entry first. filter Experimental This parameter is experimental for this release: While generally functional when used in simple cases, restrictions might be noted in the implementation description. A general filter/query string that narrows the list of resources returned by a multi-resource GET (read) request and DELETE (delete) request. The default is no filter (all resources are returned). Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "XAPI-Version:4" Response Description ServerHardwareList A list of server hardware resources. Response Codes REST API Response Codes Examples Get all server hardware resources: server-hardware.html[2/20/2014 10:09:44 AM] server-hardware GET https://{appl}/rest/server-hardware?start=0&count=-1 Get maximum of 5 server hardware resources that do not have a profile assigned,sorted by enclosure bay number in descending order: GET https://{appl}/rest/server-hardware? start=0&count=5&sort=position:desc&filter="serverProfileUri=null" POST Adds a rack-mount server for management by the appliance. This API initiates the asynchronous addition of supported server models. Note: servers in an enclosure are added by adding the enclosure resource. Parameter Attributes Description Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "XAPI-Version:4" Request Body Attributes Description AddServer Required Contains the information necessary to add a rack server. Response Description TaskResourceV2 Returns a TaskResource resource that can be used to monitor the progress of server addition. Response Codes REST API Response Codes Examples Add the server via the management processor enc-ilo.corp.com using the login "Administrator" and password "mypassword": POST https://{appl}/rest/server-hardware { "hostname" : "enc-ilo.corp.com", "username" : "Administrator", "password" : "mypassword", "force" : false, "licensingIntent":"OneView" } URI: /rest/server-hardware/schema Method API GET Gets the JSON schema of the server hardware resource. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "XAPI-Version:4" Response Description JsonSchema The JSON object model representation of a server hardware resource Response Codes REST API Response Codes URI: /rest/server-hardware/{id}/environmentalConfiguration Method API GET Gets the settings that describe the environmental configuration (supported feature set, calibrated minimum & maximum power, location & dimensions, ...) of the server hardware resource. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "XAPI-Version:4" server-hardware.html[2/20/2014 10:09:44 AM] server-hardware Response Description EnvironmentalConfiguration An EnvironmentalConfiguration object for the requested resource. Response Codes REST API Response Codes Examples Retrieve environmental configuration data for a given server hardware resource: GET PUT https://{appl}/rest/server-hardware/{id}/environmentalConfiguration Sets the calibrated max power of an unmanaged or unsupported server hardware resource. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "XAPI-Version:4" Request Body Attributes Description EnvironmentalConfigurationUpdate Required Provides the new calibrated max power value. Response Description EnvironmentalConfiguration The updated environmental configuration for the server. Response Codes REST API Response Codes Examples Specify the maximum power for an unmanaged server hardware resource 123-45-67-89-123: PUT https://{appl}/rest/server-hardware/123-45-67-89-123/environmentalConfiguration { "calibratedMaxPower" : 2500 } URI: /rest/server-hardware/{id}/iloSsoUrl Method API GET Generates a Single Sign-On (SSO) session for the iLO web interface and returns the URL to launch it. If the server hardware is unmanaged or unsupported, the resulting URL will not use SSO and the iLO web interface will prompt for credentials. Parameter Attributes Description Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "XAPI-Version:4" Response Description IloSsoUrlResult The URL to the iLO web session Response Codes REST API Response Codes Examples Generate an SSO session for the iLO web interface and return the URL to launch it: GET https://{appl}/rest/server-hardware/123-45-67-89-123/iloSsoUrl URI: /rest/server-hardware/{id}/javaRemoteConsoleUrl Method API GET Generates a Single Sign-On (SSO) session for the iLO Java Applet console and returns the URL to launch it. If the server hardware is unmanaged or unsupported, the resulting URL will not use SSO and the iLO Java Applet will prompt for credentials. Parameter server-hardware.html[2/20/2014 10:09:44 AM] Attributes Description server-hardware Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "XAPI-Version:4" Response Description JavaRemoteConsoleUrlResult The URL for the iLO Java Applet console Response Codes REST API Response Codes Examples Generate an SSO session for the iLO Java applet console and return the URL to launch it: GET https://{appl}/rest/server-hardware/123-45-67-89-123/javaRemoteConsoleUrl URI: /rest/server-hardware/{id}/mpFirmwareVersion Method API PUT Updates the iLO firmware on a physical server. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "XAPI-Version:4" Response Description TaskResourceV2 A TaskResource resource that can be used to monitor the progress of firmware update. Response Codes REST API Response Codes Examples Update the server’s iLO firmware to the minimum supported version: PUT https://{appl}/rest/server-hardware/123-45-67-89-123/mpFirmwareVersion URI: /rest/server-hardware/{id}/powerState Method API PUT Requests a power operation to change the power state of the physical server. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "XAPI-Version:4" Request Body Attributes Description ServerPowerControlRequest Required Resource to indicate desired power state and power control option. Response Description TaskResourceV2 A task resource to track the progress of the operation. Response Codes REST API Response Codes Examples Power off a server that is on, using the momentary press control: PUT https://{appl}/rest/server-hardware/123-45-67-89-123/powerState { "powerState": "Off", "powerControl":"MomentaryPress" } server-hardware.html[2/20/2014 10:09:44 AM] server-hardware URI: /rest/server-hardware/{id}/refreshState Method API PUT Refreshes the server hardware to fix configuration issues. Parameter Attributes Description Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "XAPI-Version:4" Request Body Attributes Description ServerRefreshRequest Required An object describing the refresh request. Response Description TaskResourceV2 Returns a TaskResource resource that can be used to monitor the progress of server refresh. Response Codes REST API Response Codes Examples Initiate a server hardware refresh operation: PUT https://{appl}/rest/server-hardware/123-45-67-89-123/refreshState { "refreshState" : "RefreshPending" } PUT { Initiate a refresh operation for a rack server specifying credentials to fix any access issues: https://{appl}/rest/server-hardware/123-45-67-89-123/refreshState "refreshState" : "RefreshPending", "username" : "Administrator", "password" : "mypassword" } URI: /rest/server-hardware/{id}/remoteConsoleUrl Method API GET Generates a Single Sign-On (SSO) session for the iLO Integrated Remote Console Application (IRC) and returns the URL to launch it. If the server hardware is unmanaged or unsupported, the resulting URL will not use SSO and the IRC application will prompt for credentials. Use of this URL requires a previous installation of the iLO IRC and is supported only on Windows clients. Parameter Attributes Description Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "XAPI-Version:4" Response Description RemoteConsoleUrlResult The URL to new session on Remote Console Response Codes REST API Response Codes Examples Generate an SSO session for the Integrated Remote Console Application (IRC) and return the URL to launch it: GET https://{appl}/rest/server-hardware/123-45-67-89-123/remoteConsoleUrl URI: /rest/server-hardware/{id}/utilization Method API GET Retrieves historical utilization data for the specified resource, metrics, and time span. Parameter Attributes server-hardware.html[2/20/2014 10:09:44 AM] Description server-hardware refresh Optional Specifies that if necessary an additional request will be queued to obtain the most recent utilization data from the iLO. The response will not include any refreshed data. To track the availability of the newly collected data, monitor the TaskResource identified by the refreshTaskUri property in the response. If null, no refresh was queued. view Optional Specifies the resolution interval length of the samples to be retrieved. This is reflected in the resolution in the returned response. Utilization data is automatically purged to stay within storage space constraints. Supported views are listed below. native Resolution of the samples returned will be one sample for each 5-minute time period. This is the default view and matches the resolution of the data returned by the iLO. Samples at this resolution are retained up to one year. hour Resolution of the samples returned will be one sample for each 60-minute time period. Samples are calculated by averaging the available 5-minute data samples that occurred within the hour, except for PeakPower which is calculated by reporting the peak observed 5-minute sample value data during the hour. Samples at this resolution are retained up to three years. day Resolution of the samples returned will be one sample for each 24-hour time period. One day is a 24hour period that starts at midnight GMT regardless of the time zone in which the appliance or client is located. Samples are calculated by averaging the available 5-minute data samples that occurred during the day, except for PeakPower which is calculated by reporting the peak observed 5-minute sample value data during the day. Samples at this resolution are retained up to three years. fields Optional Name of the metric(s) to be retrieved in the format METRIC[,METRIC]... Server hardware supports the following utilization metrics: AmbientTemperature Inlet air temperature in degrees Celsius during this sample interval. AveragePower Average power consumption in Watts during this sample interval. PeakPower Peak power consumption in Watts during this sample interval. PowerCap Dynamic power cap setting on the server hardware in Watts during this sample interval. CpuUtilization CPU utilization of all CPUs in percent during this sample interval. CpuAverageFreq Average CPU frequency in Mhz during this sample interval. If unspecified, all metrics supported are returned. filter Experimental Provides an expression of the requested time range of data. One condition (startDate/endDate) is specified per filter specification as described below. The condition must be specified via the equals (=) operator. startDate Start date of requested starting time range in ISO 8601 format. If omitted, the startDate is determined by the endDate minus 24 hours. endDate End date of requested starting time range in ISO 8601 format. When omitted the endDate includes the latest data sample available. If an excessive number of samples would otherwise be returned, the results will be segmented. The caller is responsible for comparing the returned sliceStartTime with the requested startTime in the response. If the sliceStartTime is greater than the oldestSampleTime and the requested start time, the caller is responsible for repeating the request with endTime set to sliceStartTime to obtain the next segment. This process is repeated until the full data set is retrieved. If the resource has no data, the UtilizationData is still returned, but will contain no samples and sliceStartTime/sliceEndTime will be equal. oldestSampleTime/newestSampleTime will still be set appropriately (null if no data is available). If the filter just does not happen to overlap the data that a resource does have, then the metric history service will return null sample values for any missing samples. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-APIVersion:4" Response Description UtilizationData Utilization data requested for the specified server hardware resource. Response Codes server-hardware.html[2/20/2014 10:09:44 AM] server-hardware REST API Response Codes Examples Get most recent 24-hour CPU Utilization & Frequency data for server USE7335NW3 (endDate should be present time): GET https://{appl}/rest/server-hardware/USE7335NW3/utilization? fields=CpuUtilization&fields=CpuAverageFreq&filter=endDate=20120403T113000.000Z Get 24-hour data for server USE7335NW3 between two specified dates at one sample per hour resolution: GET https://{appl}/rest/server-hardware/USE7335NW3/utilization? fields=CpuUtilization&view=hour&filter=startDate=20120401T202800.000Z&filter=endDate=20120402T202800.000Z Get all temp data at one sample per day resolution for server USE7335NW3: GET https://{appl}/rest/server-hardware/USE7335NW3/utilization?fields=AmbientTemperature&view=day URI: /rest/server-hardware/{id} Method API GET Gets the server hardware resource for the specified URI. Parameter Attributes Description Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "XAPI-Version:4" Response Description ServerHardware A server hardware resource. Response Codes REST API Response Codes Examples GET DELETE https://{appl}/rest/server-hardware/123-45-67-89-123 Removes the (rack) server with the specified URI. This API will not remove a server that is part of a BladeSystem enclosure. To remove a blade from management you must remove the enclosure. Parameter Attributes Description force Optional The default is false. If set to true, the operation completes even if there are network connectivity issues or resource errors. Even though it is possible to force remove the server hardware with issues or errors, it is strongly recommended that the server hardware has any communication issue resolved before removing it. It is recommended that the servers be unconfigured or they will continue to operate as configured. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "XAPI-Version:4" Response Description TaskResourceV2 Returns a TaskResource resource that can be used to monitor the progress of server removal. Response Codes REST API Response Codes Examples Remove a rack server from management of the appliance: DELETE https://{appl}/rest/server-hardware/AA-99-ZZ ServerHardware description: A server hardware resource. type: object server-hardware.html[2/20/2014 10:09:44 AM] server-hardware Properties powerLock: modified: processorType: mpIpAddress: category: mpFirmwareVersion: serverHardwareTypeUri: uuid: assetTag: licensingIntent: description: Indicates if an operation is being performed on this server hardware (such as a profile assignment) that prevents its power state from being manipulated via the server hardware API. default: false type: boolean description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Type of CPU installed on this server hardware. type: string readonly: true description: IP Address of the management processor (iLO) resident on this server hardware. type: string readonly: true description: Resource category used for authorizations and resource type groupings type: string description: The version of the firmware installed on the iLO. type: string readonly: true description: URI of the server hardware type associated with the server hardware. This URI can be used to retrieve information about the server hardware type. type: string readonly: true description: Universally Unique ID (UUID) of the server hardware. readonly: true required: true type: string searchable: true description: The current value of the asset tag for this server hardware. This value can be set in the server hardware's BIOS interface. type: string readonly: true description: Product license assigned to the server hardware. The supported values are enumerated in the table below. type: string readonly: true enum: portMap: OneView - HP OneView OneViewNoiLO - HP OneView without iLO description: A list of adapters/slots, their ports and attributes. This information is available for blade servers but not rack servers. type: object readonly: true Properties deviceSlots: description: List of each slot found on the server hardware. type: array readonly: true Items server-hardware.html[2/20/2014 10:09:44 AM] server-hardware physicalPorts: description: List of physical ports on the device. type: array readonly: true Items interconnectPort: virtualPorts: description: The downlink port number that this physical port is connected to on the interconnect module. type: integer readonly: true description: For Flex-capable devices, a list of FlexNICs defined on the server. type: array readonly: true Items wwpn: mac: portNumber: portFunction: wwnn: mac: portNumber: interconnectUri: type: server-hardware.html[2/20/2014 10:09:44 AM] description: The world wide port name assigned to this virtual port. type: string readonly: true description: The mac address assigned to this virtual port. type: string readonly: true description: The port number assigned to this virtual port. type: integer readonly: true description: The function identifier for this FlexNIC, such as a, b, c or d. default: false type: string readonly: true description: The world wide node name assigned to this virtual port. type: string readonly: true description: Physical mac address of this physical port. type: string readonly: true description: Physical port number of the adaptor. type: integer readonly: true description: URI of the interconnect module connected to this physical port. type: string readonly: true description: Physical port type. Values include Ethernet server-hardware and FibreChannel. type: string readonly: true enum: deviceName: oaSlotNumber: slotNumber: location: description: The name or model of the adapter. type: string readonly: true description: The internal physical slot number of this device as known by the Onboard Administrator. type: integer readonly: true description: The slot number of the adapter on the server hardware within its specified location. type: integer readonly: true description: The location of the adapter in the server. Lom indicates LAN on motherboard, Flb is for FlexibleLOM for blades and Mezz is for Mezzanine adapters. type: string readonly: true enum: memoryMb: state: Amount of memory installed on this server hardware (in megabytes). type: integer readonly: true description: The current resource state of the server hardware. The supported values are enumerated in the table below. type: string readonly: true server-hardware.html[2/20/2014 10:09:44 AM] Unknown - not initialized Adding - server being added NoProfileApplied - server successfully added Unmanaged - discovered a supported server Removing - server being removed RemoveFailed - unsuccessful server removal Removed - server successfully removed ApplyingProfile - profile being applied to server ProfileApplied - profile successfully applied RemovingProfile - profile being removed ProfileError - unsuccessful profile apply or removal Unsupported - unsupported server model or version UpdatingFirmware - firmware update in progress description: The reason for the current resource state of the server hardware. This only applies when the state is 'Unmanaged', otherwise it is set to 'NotApplicable'. The supported values are enumerated in the table below. type: string readonly: true enum: mpModel: Lom Flb Mezz description: enum: stateReason: Ethernet FibreChannel Unsupported - unsupported server model or version UpdatingFirmware - server firmware update in progress NotApplicable - when 'state' is anything besides 'Unmanaged' NotOwner - no claim on server Inventory - server added by PDU Unconfigured - discovery data incomplete or iLO configuration failure UnsupportedFirmware - iLO firmware version below minimum support level CommunicationError - appliance cannot communicate with iLO or OA description: The model type of the iLO, such as iLO4. type: string server-hardware serverProfileUri: type: status: description: formFactor: virtualSerialNumber: eTag: processorSpeedMhz: refreshState: readonly: true description: URI of a server profile assigned to this server hardware, if one is assigned. If not assigned this value is null. type: string readonly: true description: Identifies the resource type. This field must be set to 'server-hardware-1'. type: string description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown should be avoided, but there may be rare occasions where status is Unknown; OK - indicates normal/informational behavior; Disabled - indicates that a resource is not operational; Warning - needs attention soon; Critical - needs immediate attention. type: string description: Brief description of the resource type: string description: The physical dimensions of this server. For a blade server this is either HalfHeight or FullHeight. For a rack server this is expressed in U height, e.g. 4U. type: string readonly: true description: Virtual serial number associated with this server hardware (if specified in the profile assigned to this server). type: string readonly: true description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Speed of the CPUs in megahertz. type: integer readonly: true description: Indicates if the resource is currently refreshing. type: string enum: partNumber: locationUri: shortModel: serverGroupUri: powerState: description: The part number for this server hardware. type: string readonly: true description: For blade servers, the enclosure in which this blade server resides. This URI can be used to retrieve information about the enclosure. This value is not set for rack mount servers. type: string readonly: true description: Short version of the server hardware model string, typically something like BL460 Gen8. type: string readonly: true searchable: true description: For blade servers, this is the URI of the containing enclosure's enclosure group. This URI can be used to retrieve information about the enclosure group or to identify all the servers in the same group. This value is not set for rack mount servers. type: string readonly: true description: Current power state of the server hardware. The supported values are enumerated in the table below. enum: server-hardware.html[2/20/2014 10:09:44 AM] NotRefreshing RefreshPending Refreshing RefreshFailed Unknown - unable to determine the power state On - power is on server-hardware Off - power is off PoweringOn - server is powering on PoweringOff - server is powering off Resetting - server is resetting name: created: serialNumber: processorCoreCount: uri: processorCount: romVersion: virtualUuid: mpDnsName: signature: type: string searchable: true required: true description: The name of the server. type: string readonly: true description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Serial number of the server hardware. type: string readonly: true searchable: true description: Number of cores available per processor. type: integer readonly: true description: The canonical URI of the resource type: string description: Number of processors installed on this server hardware. type: integer readonly: true description: The version of the server hardware firmware (ROM). After updating the ROM (BIOS) firmware for a server, the server hardware page and the REST API may report an inaccurate ROM version until the server is next powered on and allowed to complete the power-on self-test (POST). type: string readonly: true description: Virtual UUID associated with this server hardware (if specified in the profile assigned to this server). type: string readonly: true description: The DNS name of the iLO/Management Processor that resides on this server hardware. type: string readonly: true description: Data representing the current configuration or 'signature' of the server. type: object readonly: true Properties personalityChecksum: serverHwChecksum: server-hardware.html[2/20/2014 10:09:44 AM] description: A calculated checksum of the server 'personality,' based on the defined connections and server identifiers. type: integer readonly: true description: A calculated checksum of the server hardware, based on the hardware components installed in the server. type: integer server-hardware readonly: position: model: true description: For blade servers, the number of the physical enclosure bay in which the server hardware resides. For rack mount servers, this value is null. type: integer readonly: true searchable: true description: The full server hardware model string. type: string readonly: true searchable: true ServerHardwareList description: A list of server hardware. type: object Properties count: category: created: prevPageUri: uri: modified: start: eTag: nextPageUri: members: description: The actual number of resources returned in the specified page type: integer description: Resource category used for authorizations and resource type groupings type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: URI pointing to the page of resources preceding the list of resources contained in the specified collection type: string description: The canonical URI of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: The row or record number of the first resource returned in the specified page type: integer description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: URI pointing to the page of resources following the list of resources contained in the specified collection type: string description: The server hardware that comprises this list. type: array Items serialNumber: server-hardware.html[2/20/2014 10:09:44 AM] description: Serial number of the server hardware. readonly: true type: string searchable: true server-hardware uri: processorType: mpIpAddress: category: mpFirmwareVersion: serverHardwareTypeUri: uuid: assetTag: licensingIntent: description: The canonical URI of the resource type: string description: Type of CPU installed on this server hardware. readonly: true type: string description: IP Address of the management processor (iLO) resident on this server hardware. readonly: true type: string description: Resource category used for authorizations and resource type groupings type: string description: The version of the firmware installed on the iLO. readonly: true type: string description: URI of the server hardware type associated with the server hardware. This URI can be used to retrieve information about the server hardware type. readonly: true type: string description: Universally Unique ID (UUID) of the server hardware. readonly: true required: true type: string searchable: true description: The current value of the asset tag for this server hardware. This value can be set in the server hardware's BIOS interface. readonly: true type: string description: Product license assigned to the server hardware. The supported values are enumerated in the table below. readonly: true enum: type: portMap: OneView - HP OneView OneViewNoiLO - HP OneView without iLO string description: A list of adapters/slots, their ports and attributes. This information is available for blade servers but not rack servers. readonly: true type: object Properties deviceSlots: description: List of each slot found on the server hardware. readonly: true type: array Items physicalPorts: description: List of physical ports on the device. readonly: true type: array Items interconnectPort: server-hardware.html[2/20/2014 10:09:44 AM] description: The downlink port number that this physical port is connected to on the interconnect module. server-hardware virtualPorts: readonly: true type: integer description: For Flex-capable devices, a list of FlexNICs defined on the server. readonly: true type: array Items wwpn: mac: portNumber: portFunction: wwnn: mac: server-hardware.html[2/20/2014 10:09:44 AM] description: The world wide port name assigned to this virtual port. readonly: true type: string description: The mac address assigned to this virtual port. readonly: true type: string description: The port number assigned to this virtual port. readonly: true type: integer description: The function identifier for this FlexNIC, such as a, b, c or d. default: false readonly: true type: string description: The world wide node name assigned to this virtual port. readonly: true type: string description: Physical mac address of this physical port. readonly: true server-hardware portNumber: interconnectUri: type: type: string description: Physical port number of the adaptor. readonly: true type: integer description: URI of the interconnect module connected to this physical port. readonly: true type: string description: Physical port type. Values include Ethernet and FibreChannel. readonly: true enum: type: deviceName: location: oaSlotNumber: memoryMb: state: The name or model of the adapter. readonly: true type: string description: The location of the adapter in the server. Lom indicates LAN on motherboard, Flb is for FlexibleLOM for blades and Mezz is for Mezzanine adapters. readonly: true Lom Flb Mezz type: string description: The slot number of the adapter on the server hardware within its specified location. readonly: true type: integer description: The internal physical slot number of this device as known by the Onboard Administrator. readonly: true type: integer description: Amount of memory installed on this server hardware (in megabytes). readonly: true type: integer description: The current resource state of the server hardware. The supported values are enumerated in the table below. readonly: true enum: type: server-hardware.html[2/20/2014 10:09:44 AM] string description: enum: slotNumber: Ethernet FibreChannel Unknown - not initialized Adding - server being added NoProfileApplied - server successfully added Unmanaged - discovered a supported server Removing - server being removed RemoveFailed - unsuccessful server removal Removed - server successfully removed ApplyingProfile - profile being applied to server ProfileApplied - profile successfully applied RemovingProfile - profile being removed ProfileError - unsuccessful profile apply or removal Unsupported - unsupported server model or version UpdatingFirmware - firmware update in progress string server-hardware stateReason: description: The reason for the current resource state of the server hardware. This only applies when the state is 'Unmanaged', otherwise it is set to 'NotApplicable'. The supported values are enumerated in the table below. readonly: true enum: mpModel: serverProfileUri: type: status: description: formFactor: virtualSerialNumber: eTag: processorSpeedMhz: refreshState: type: string description: The model type of the iLO, such as iLO4. readonly: true type: string description: URI of a server profile assigned to this server hardware, if one is assigned. If not assigned this value is null. readonly: true type: string description: Identifies the resource type. This field must be set to 'server-hardware-1'. type: string description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown - should be avoided, but there may be rare occasions where status is Unknown; OK - indicates normal/informational behavior; Disabled - indicates that a resource is not operational; Warning - needs attention soon; Critical - needs immediate attention. type: string description: Brief description of the resource type: string description: The physical dimensions of this server. For a blade server this is either HalfHeight or FullHeight. For a rack server this is expressed in U height, e.g. 4U. readonly: true type: string description: Virtual serial number associated with this server hardware (if specified in the profile assigned to this server). readonly: true type: string description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Speed of the CPUs in megahertz. readonly: true type: integer description: Indicates if the resource is currently refreshing. enum: model: server-hardware.html[2/20/2014 10:09:44 AM] Unsupported - unsupported server model or version UpdatingFirmware - server firmware update in progress NotApplicable - when 'state' is anything besides 'Unmanaged' NotOwner - no claim on server Inventory - server added by PDU Unconfigured - discovery data incomplete or iLO configuration failure UnsupportedFirmware - iLO firmware version below minimum support level CommunicationError - appliance cannot communicate with iLO or OA NotRefreshing RefreshPending Refreshing RefreshFailed type: string description: The full server hardware model string. readonly: true type: string searchable: true server-hardware locationUri: shortModel: serverGroupUri: powerState: description: For blade servers, the enclosure in which this blade server resides. This URI can be used to retrieve information about the enclosure. This value is not set for rack mount servers. readonly: true type: string description: Short version of the server hardware model string, typically something like BL460 Gen8. readonly: true type: string searchable: true description: For blade servers, this is the URI of the containing enclosure's enclosure group. This URI can be used to retrieve information about the enclosure group or to identify all the servers in the same group. This value is not set for rack mount servers. readonly: true type: string description: Current power state of the server hardware. The supported values are enumerated in the table below. enum: name: created: powerLock: processorCoreCount: modified: processorCount: romVersion: virtualUuid: server-hardware.html[2/20/2014 10:09:44 AM] Unknown - unable to determine the power state On - power is on Off - power is off PoweringOn - server is powering on PoweringOff - server is powering off Resetting - server is resetting type: string searchable: true required: true description: The name of the server. readonly: true type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Indicates if an operation is being performed on this server hardware (such as a profile assignment) that prevents its power state from being manipulated via the server hardware API. default: false type: boolean description: Number of cores available per processor. readonly: true type: integer description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Number of processors installed on this server hardware. readonly: true type: integer description: The version of the server hardware firmware (ROM). After updating the ROM (BIOS) firmware for a server, the server hardware page and the REST API may report an inaccurate ROM version until the server is next powered on and allowed to complete the power-on self-test (POST). readonly: true type: string description: Virtual UUID associated with this server hardware (if specified in the profile assigned to this server). server-hardware mpDnsName: signature: readonly: true type: string description: The DNS name of the iLO/Management Processor that resides on this server hardware. readonly: true type: string description: Data representing the current configuration or 'signature' of the server. readonly: true type: object Properties personalityChecksum: serverHwChecksum: position: partNumber: total: type: description: A calculated checksum of the server 'personality,' based on the defined connections and server identifiers. readonly: true type: integer description: A calculated checksum of the server hardware, based on the hardware components installed in the server. readonly: true type: integer description: For blade servers, the number of the physical enclosure bay in which the server hardware resides. For rack mount servers, this value is null. readonly: true type: integer searchable: true description: The part number for this server hardware. readonly: true type: string description: The total number of resources that would be returned from the query (including any filters), without pagination or enforced resource limits type: integer description: Identifies the resource type. This field must be set to 'server-hardware-list-1'. type: string AddServer description: Specifies the (rack) server to add. type: object Properties hostname: username: password: force: description: IP address or host name of a rack mount server's iLO management processor. type: string required: true description: iLO user account login name with Administer User Accounts privilege. type: string required: true description: The password for the specified username. type: string required: true description: Use this optional flag with caution because using force to add a server removes its existing configuration and takes ownership server-hardware.html[2/20/2014 10:09:44 AM] server-hardware away from any other management system already managing it. Specify 'true' to force the addition and take ownership away from any other manager. Default is 'false'. licensingIntent: type: boolean description: The type of product license to assign to the server hardware. Valid options are: OneView or OneViewNoiLO. type: string required: true ServerPowerControlRequest description: Resource used to request a power state change. type: object Properties powerState: description: The desired power state. While a resource may be in several additional power states, the allowed values here are 'On' and 'Off'. type: string enum: powerControl: Unknown On Off PoweringOn PoweringOff Resetting description: The desired power control specifying the method to achieve the desired power state. Allowed values are: MomentaryPress power on or a normal (soft) power off (depending on powerState), PressAndHold - an immediate (hard) shutdown, ColdBoot - a hard reset that immediately removes power from the server hardware and then restarts the server after approximately six seconds,Reset - a normal server reset that resets the device in an orderly sequence. type: string enum: MomentaryPress PressAndHold ColdBoot Reset ServerRefreshRequest description: Resource used to initiate a refresh of a physical server. type: object Properties username: password: refreshState: description: iLO user account login name with Administer User Accounts privilege to use when refreshing the server. This field is ignored for blade servers. type: string description: The password for the specified username. This field is ignored for blade servers. type: string description: The target refresh state -- must be 'RefreshPending'. type: string enum: hostname: restore: NotRefreshing RefreshPending Refreshing RefreshFailed required: true description: IP address or host name of the server's iLO management processor. This optional field can be used with rack servers to update the appliance if the iLO IP address has been changed. type: string description: Indicates that the server is being refreshed after a restore operation. Callers should set this 'false'. type: boolean server-hardware.html[2/20/2014 10:09:44 AM] server-hardware IloSsoUrlResult description: The IloSsoUrlResult contains the URL to the HP iLO Single Sign On (SSO) web session as created by a REST GET /rest/serverhardware/{id}/iloSsoUrl request. type: object Properties iloSsoUrl: description: URL to launch a Single Sign-On (SSO) session for the iLO web interface. type: string required: true JavaRemoteConsoleUrlResult description: The JavaRemoteConsoleUrlResult contains the URL to the HP iLO java remote console web session as created by a REST GET /rest/server-hardware/{id}/javaRemoteConsoleUrl request. type: object Properties javaRemoteConsoleUrl: description: URL to launch a java remote console session for the iLO web interface. type: string required: true RemoteConsoleUrlResult description: The RemoteConsoleUrlResult contains the URL to the HP iLO remote console web session as created by a REST GET /rest/serverhardware/{id}/remoteConsoleUrl request. type: object Properties remoteConsoleUrl: description: URL to launch a remote console session for the iLO web interface. type: string required: true UtilizationData description: The requested utilization data for the resource. type: object Properties metricList: description: The list of information returned for each metric. It contains one entry per metric name requested for this resource. type: array Items metricName: metricSamples: server-hardware.html[2/20/2014 10:09:44 AM] description: The name of the metric described by this object. See the GET utilization method for a resource to determine the supported metrics for that resource. The list of metrics includes CpuUtilization, CpuAverageFreq, AmbientTemperature, AveragePower, PowerCap, PeakPower, RatedCapacity, DeratedCapacity. type: string required: true description: The set of utilization sample arrays keyed by metric name. Each sample element in the array is itself server-hardware an array containing a time value (metricSamples[i][0]) followed by the value at that time (metricSamples[i][1])).The time value is represented as the number of milliseconds between the time and midnight January 1 1970. The samples are sorted in time order from most-recent to oldest. The value representation is dependent upon the metric selected. type: array Items metricCapacity: required: refreshTaskUri: uri: resolution: sliceStartTime: sliceEndTime: newestSampleTime: oldestSampleTime: isFresh: description: The capacity (total amount available) of this metric (null if it does not apply or is not available) type: integer true description: The uri of a task resource to track the collection of the most recent utilization data (null if no collection is required). When the task completes, repeat the request to obtain any newly collected data. type: string description: The uri of the resource associated with this metric data. type: string description: Time period (resolution) of each metric sample in milliseconds. Example resolution values include five minutes (300000), one hour (3600000), or one day (86400000). type: integer description: The oldest (earliest in time) sample returned in this response. The format is an extended ISO 8601 String (as GMT) type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z format: YYYY-MM-DDThh:mm:ss.sssZ description: The sample time immediately following the newest (most recent) sample in this response. The format is an extended ISO 8601 String (as GMT) type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z format: YYYY-MM-DDThh:mm:ss.sssZ description: The end time of the newest (most recent) sample of any metric for this resource. The format is an extended ISO 8601 String (as GMT) type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z format: YYYY-MM-DDThh:mm:ss.sssZ description: The oldest (earliest in time) sample of any metric for this resource. The format is an extended ISO 8601 String (as GMT) type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z format: YYYY-MM-DDThh:mm:ss.sssZ description: The metric is considered fresh if the most recent available sample from the resource has already been collected and is included in the newestSampleTime. type: boolean EnvironmentalConfigurationUpdate description: Provides the ability to specify partial updates to the environmental configuration of a resource. type: object Properties calibratedMaxPower: description: server-hardware.html[2/20/2014 10:09:44 AM] The calibrated maximum power of the resource. Calibrated Maximum Power is defined as the maximum potential power that the device can consume, subject to the following requirements and constraints: 1. The value reported MUST be the maximum which can be sustained for greater than 1/2 second (i.e., in-rush currents and other spikes that may persist for less than a 1/2 second are not to be included). 2. The value reported MUST represent the maximum total AC input across all power supplies 3. The value reported MUST represent the maximum AC input the device can sustain as configured at the time this metric is reported. If additional components are added later or if it is discovered at a later time that more power can be used, the larger number MUST be reported when the device is next queried for this metric. 4. The value server-hardware reported does not represent potential input power in the case of error conditions such as short circuits. 5. The actual power used by the device MUST NOT exceed the reported Calibrated Maximum Power by greater than 1%. 6. The Calibrated Maximum Power SHOULD NOT exceed the actual maximum power that the device is capable of using by more than 5%. type: integer required: true EnvironmentalConfiguration description: Environmental (i.e., power and cooling) configuration of a device. A description of the power management capabilities, physical location, and power requirements of the device. These values are generally fixed, or change only when the hardware configuration is changed. type: object Properties powerHistorySupported: thermalHistorySupported: utilizationHistorySupported: capHistorySupported: historySampleIntervalSeconds: historyBufferSize: powerCapType: description: Resource supports monitoring and retrieval of power consumption history data. Lack of power consumption history also implies that the calibratedMaxPower cannot be automatically calculated. type: boolean required: true description: Resource supports ambient temperature history reporting. type: boolean required: true description: Resource supports CPU utilization history. type: boolean required: true description: Resource supports power cap value history. type: boolean required: true description: Number of seconds in a power history sample interval. Typically 300 seconds (5 minutes). type: integer required: true description: Number of history samples maintained by the device. For example, 288 samples at 5 minute intervals cover 24 hours. type: integer required: true description: The type of power capping supported by this device. type: string enum: idleMaxPower: calibratedMaxPower: server-hardware.html[2/20/2014 10:09:44 AM] None Thermal Electrical description: Minimum power consumption seen (in Watts), 0 if unknown. The minimum power consumption occurs when the device is in idle state. type: integer required: true description: The calibrated maximum power. Calibrated Maximum Power is defined as the maximum potential power that the device can consume, subject to the following requirements and constraints: 1. The value reported MUST be the maximum which can be sustained for greater than 1/2 second (i.e., in-rush currents and other spikes that may persist for less than a 1/2 second are not to be included). 2. The value reported MUST represent the maximum total AC input across all power supplies 3. The value reported MUST represent the maximum AC input the device can sustain as configured at the time this metric is reported. If additional components are added later or if it is discovered at a later time that more power can be used, the larger number MUST be reported when the device is next queried for this metric. 4. The value reported does not represent potential input power in the case of error conditions such as short circuits. 5. The actual power used by the device MUST NOT exceed the reported Calibrated Maximum Power by greater than 1%. 6. The server-hardware Calibrated Maximum Power SHOULD NOT exceed the actual maximum power that the device is capable of using by more than 5%. psuList: type: integer required: true description: The list of configuration data for each power supply of the device. type: array Items capacity: psuId: inputVoltage: side: description: The size of the power supply in Watts. type: integer description: A small integer identifying the slot or bay number of the power supply starting at one (1). type: integer description: The line voltage (input) to the power supply (sampled or nominal). type: integer description: The logical power delivery grouping of the power supply. In a known non-redundant configuration, all power supplies should be considered on side A. In a known ACredundant configuration, the 2 sets of redundant power supplies should be identified as side A/B groupings. For an AC_REDUNDNAT C-Class BladeSystem slot 1,2,3 is on Side B (right from the front), and 4,5,6 are on Side A (left from the front). If there is no inherent side-ness, then the side will be Dynamic. type: string enum: powerType: description: The type of input power (AC or DC) of the power supply. type: string enum: height: rackId: uSlot: rackName: relativeOrder: licenseRequirement: Unknown AC DC description: The height of the device in u-slots (-1 for unspecified). type: integer required: true description: The GUID of the containing rack if available; otherwise null. type: string description: The top-u-slot number of the device in the associated rack if available; -1 otherwise. type: integer required: true description: The rack name associated to this device (null for unspecified). type: string description: The relative order of a resource in a Rack when slot information cannot be discovered and is not yet configured. This information is derived from the management link cable connections in a BladeSystem enclosure. The values increase from top to bottom, the lowest number (one at top of rack) to highest number (bottom of rack). A value of -1 indicates unspecified. type: integer required: true description: Reflects any known missing license requirement that prevents access to environmental monitoring features of the resource. If the value is None, then there are no known issues preventing access to environmental monitoring features of the resource. If the value is iLOAdvanced, then the server hardware must have an iLOAdvanced license applied to environmental monitoring features. If the value is OneView, then it indicates that there are insufficient HP OneView licenses available to the appliance to enable environmental management features on the resource. type: string enum: server-hardware.html[2/20/2014 10:09:44 AM] Unspecified A B Dynamic None server-hardware iLOAdvanced OneView required: server-hardware.html[2/20/2014 10:09:44 AM] true alerts HP OneView 1.05 REST API Reference (API Version 4) Updated: February 18, 2014 4:15 MST alerts The alert resource is used to inform end users about issues with resources managed by the appliance, including the appliance itself. An alert represents an event for a given resource that typically originates from the resource. An example event would be: an SNMP trap received from a server's Integrated Lights-Out (iLO) management processor. The appliance will treat these as raw events, which can be filtered and/or correlated by the appliance and presented to the end user as alerts. External tools and resource managers can also create events; see the events API documentation for details. There are two main types of alerts: Health alerts and Life cycle alerts. Health alerts indicate the health status of a resource. Life cycle alerts are created as a result of some activity on a resource, such as powering on or off a server or inserting a blade server in an enclosure. The system will automatically set the severity of a life cycle alert to OK. Alerts have different levels of severity that indicate how serious a problem is. Usually alerts have the same severity as their underlying source events, but in some cases analysis can result in higher or lower severities, depending on factors such as redundancy, configuration or the environment. The system will automatically clear alerts with OK severity. The alert resource manager provides REST APIs to retrieve, update and delete alerts. A PUT API is included to allow the user to update some attributes of an alert, including alertState, alertUrgency, assignedToUser, and the notes. Users cannot directly create an alert. An alert can only be created by POSTing an event, which causes the event service to create a user-facing alert. Users can delete useradded AlertChangeLog items (alert notes) using the provided API. Users cannot delete alert notes added by the system. API Specifications Create /rest/alerts Read Update GET /rest/alerts/AlertChangeLog/{id} /rest/alerts/schema GET /rest/alerts/{id} GET PUT Delete Resource Model DELETE AlertResourceV2 DELETE AlertResourceCollectionV2 DELETE URI: /rest/alerts Method API DELETE Deletes all alerts based on the filtering parameters passed in. If no filtering parameters are defined, then all alerts will be deleted. This operation returns a task resource URI in the "Location" attribute of the response header. The user can monitor the progress of the delete operation using this task resource URI. Parameter Attributes Description force Optional If set to true, the operation completes even if there are network connectivity issues or resource errors. The default is false. query Experimental This parameter is experimental for this release: While generally functional when used in simple cases, restrictions might be noted in the implementation description. If the query is supported, the following is the way it works. A general query string that narrows the list of resources returned by a multiresource GET (read) request and DELETE (delete) request. The default is no query (all resources are returned). One advantage query has over filter is that it can have embedded ORs. A single query parameter can do what would take multiple parameters or multiple GET requests using filter. Use query for more complex queries. alerts.html[2/20/2014 10:09:46 AM] alerts filter Experimental A general filter string to narrow the list of resources to be deleted by a multi-resource DELETE (delete) request. The default is no filter (all resources are deleted). The filter parameter is based on the URI Filter Language. NOTE: Do NOT use the filter usage defined under standard parameters documentation. The format and usage of this filter parameter is similar to that of the query parameter documented under standard parameters. Format: filter="{attribute} {operator} '{value}'" filter="{attribute} {operator} '{value}'"{multi-filter operator}filter=" {attribute} {operator} '{value}'" • {attribute}: the resource attribute being filtered (e.g., model, platform, etc.) • {operator}: one of [ EQ, NE, GT, GE, LE, LT, LIKE, IS NULL, AND, OR , IN ] • {value}: the value of the attribute being filtered. For LIKE this is an expression string, supports SQL wildcard. • {multi-filter operator}: & It is not necessary to use multiple filter expressions since it is possible to combine multiple filter expressions into a single one using the AND operator available in URI Filter Language. All the URI Filter Language based query strings described in the examples for the query parameter works well for filter parameter. In addition, the filter parameter supports multiple filters in the same request. For example: filter="alertState EQ 'Active'"&filter="severity EQ 'Critical'" Filter usage examples: DELETE https://{appl}/rest/alerts?filter="alertState EQ 'Active'" DELETE https://{appl}/rest/alerts?filter="alertState EQ 'Active'"&filter="severity EQ 'Warning'" Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description void Does not return any value. Response Codes REST API Response Codes Examples DELETE alerts.html[2/20/2014 10:09:46 AM] alerts https://{appl}/rest/alerts?filter="alertState EQ 'Active'" The above example deletes all the alerts whose alertState equals Active. GET Retrieves alerts based on the specified filters. Returns the Etag value of the resource in the response body for each of the alerts returned. Parameter Attributes Description start Optional The 0-based index of the first resource to return (start=0 starts with the first available resource). If the specified count does not return all resources within the maximum allowed time (see count), use the start parameter to view additional resource pages. The default value for start is 0 (first available resource). count Optional Optional parameter that specifies the number of resources to return from each API invocation. The number of resources returned on each call is referred to as a page. If you specify a count, the API attempts to return the specified number of resources, however this may be limited due to response time constraints and/or actual number of resources available to return. The results include the total number of resources that match the filter or query, the actual count returned, and the URIs to go to the next page, previous page, or both. sort Optional The sort order of the returned data set. By default, the sort order is based on the create time, with the oldest entry first. query Experimental This parameter is experimental for this release: While generally functional when used in simple cases, restrictions might be noted in the implementation description. If the query is supported, the following is the way it works. A general query string that narrows the list of resources returned by a multi-resource GET (read) request and DELETE (delete) request. The default is no query (all resources are returned). One advantage query has over filter is that it can have embedded ORs. A single query parameter can do what would take multiple parameters or multiple GET requests using filter. Use query for more complex queries. view Optional The only supported option is view=alertSummary. If view=alertSummary is specified the total alert counts for all the alert severities are retrieved and then the alerts are retrieved. filter Experimental A general filter string to narrow the list of resources to be returned by a multi-resource GET (get) request. The default is no filter (all resources are returned). The filter parameter is based on the URI Filter Language. NOTE: Do NOT use the filter usage defined under standard parameters documentation. The format and usage of this filter parameter is similar to that of the query parameter alerts.html[2/20/2014 10:09:46 AM] alerts documented under standard parameters. Format: filter="{attribute} {operator} '{value}'" filter="{attribute} {operator} '{value}'"{multi-filter operator}filter="{attribute} {operator} '{value}'" • {attribute}: the resource attribute being filtered (e.g., model, platform, etc.) • {operator}: one of [ EQ, NE, GT, GE, LE, LT, LIKE, IS NULL, AND, OR , IN ] • {value}: the value of the attribute being filtered. For LIKE this is an expression string, supports SQL wildcard. • {multi-filter operator}: & It is not necessary to use multiple filter expressions since it is possible to combine multiple filter expressions into a single one using the AND operator available in URI Filter Language. All the URI Filter Language based query strings described in the examples for the query parameter will also work well for filter parameter. In addition filter parameter will support multiple filters in the same request. For example: filter="alertState EQ 'Active'"&filter="severity EQ 'Critical'" Filter parameter usage examples: GET https://{appl}/rest/alerts?filter="alertState EQ 'Active'" GET https://{appl}/rest/alerts?filter="alertState EQ 'Active'"&filter="severity EQ 'Warning'" Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description AlertResourceCollectionV2 The collection of requested alerts. If the count is not specified, the result will be returned in pages. Each page will contain a maximum of 25 alert records. Use the nextPageUri in the collection result to fetch the next collection of records for the same query. Response Codes REST API Response Codes Examples GET https://{appl}/rest/alerts?start=0&count=-1&filter= alerts.html[2/20/2014 10:09:46 AM] alerts "alertState EQ 'Active'" The above example retrieves all the alerts whose alertState equals Active. GET https://{appl}/rest/alerts?view=alertSummary If you specify the view parameter, the total alert counts for all alert severities are returned in addition to the alerts themselves. GET https://{appl}/rest/alerts?start=-1&count=25&filter= "alertTypeID EQ 'Trap.cpqHe4FltTolPowerSupplyFailed'" &filter="healthCategory EQ 'POWER'" The above example retrieves the first filtered 25 alerts of type power supply failure and the health category of POWER. The above example uses alertTypeID to filter on an SNMP Trap, where the alertTypeID is of the format Trap.<Name of the trap> and the name of the trap is provided in the appropriate SNMP MIB. URI: /rest/alerts/AlertChangeLog/{id} Method API DELETE Deletes the AlertChangeLog item identified by ID. Only user entered AlertChangeLogs can be deleted by user. The AlertChangeLogs generated by the System cannot be deleted by the user. Alerts cleared when processing an event with clearPriorEvents set to true have a system generated note indicating the automatic clearing of the alerts. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description void Does not return any value. Response Codes REST API Response Codes Examples DELETE https://{appl}/rest/alerts/{id}/AlertChangeLog/12 The above example deletes the AlertChangeLog item 12 for an alert which matches the unique identifier specified. URI: /rest/alerts/schema Method API GET Generate the JSON formatted schema for an alert resource Request Header Attributes alerts.html[2/20/2014 10:09:46 AM] Description alerts REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description JsonSchema The JSON schema of the alert object. Response Codes REST API Response Codes Examples GET https://{appl}/rest/alerts/schema URI: /rest/alerts/{id} Method API DELETE Deletes a single alert resource identified by its ID. The user can optionally specify the ETag in the If-Match header of the request. If the Etag is specified, then the alert is modified only if the current Etag of the resource matches the value of Etag specified. An Etag value that is *, null or empty is ignored. Parameter Attributes Description force Optional If set to true, the operation completes even if there are network connectivity issues or resource errors. The default is false. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description void Does not return any value. Response Codes REST API Response Codes Examples DELETE https://{appl}/rest/alerts/{id} The above example deletes the alert which matches the unique identifier specified. GET Retrieves a single alert resource identified by its ID. Returns the Etag value of the resource in the response body and in the Etag Response header. Parameter Attributes Description view Optional Return a specific subset of the attributes of the resource or collection by specifying the name of a predefined view. The default view is expand (show all attributes of the resource, and all elements of collections or resources). Request Attributes Description alerts.html[2/20/2014 10:09:46 AM] alerts Header REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description AlertResourceV2 The alert that is represented by the ID. Response Codes REST API Response Codes Examples GET https://{appl}/rest/alerts/{id} The above example retrieves the alert which matches the unique identifier specified. PUT Modifies the attributes of a single alert. Attributes that can be updated include: alertState, alertUrgency, assignedToUser, and the notes of an alert passed in the Request Body as "attributeName":"value" pairs. If an "eTag" attribute is specified in the request body or in the ifMatch header, then the alert will be modified only if the current eTag of the resource matches the value of eTag specified. After a new notes field is passed in, a corresponding new AlertChangeLog is created. Only the properties included in the request body are modified. If the operation succeeds, the Etag value of the resource is returned in the response body and in the Etag Response header. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Description Map Required The properties to be modified. Valid values are alertState, alertUrgency, assignedToUser or notes. You can specify an eTag to pick the right version of alert to modify. An eTag value that is *, null, or empty will be ignored. An example request body is included in the example that follows. Response Description AlertResourceV2 The updated alert object. If no changes are made to the alert then nothing is returned. Response Codes REST API Response Codes Examples PUT https://{appl}/rest/alerts/{id} A sample request body is shown below: { "alertState": "Cleared", "assignedToUser": "Paul", alerts.html[2/20/2014 10:09:46 AM] alerts "alertUrgency":"None", "notes":"Problem fixed", "eTag":"2013-06-27T17:48:50.526Z" } The above example, updates the attributes with the values specified in the sample request body, for the alert, which matches the unique identifier specified. AlertResourceV2 description: AlertResourceV2 object represents the attributes of an alert. The object interfaces to the Alert service's RESTful web interface type: object Properties modified: assignedToUser: category: resourceUri: severity: alerts.html[2/20/2014 10:09:46 AM] description: The time that the alert resource was last modified and stored; the format is an extended ISO 8601 String expressed as UTC format: YYYY-MM-DDThh:mm:ss.sssZ pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9] [0-9][0-9])?Z readonly: true type: string description: The user assigned to this alert. type: string minLength: 1 maxLength: 255 description: The category is used to help identify the kind of resource. The category of this resource will always be set to 'alerts'. type: string description: URI of the resource. This will be same as the resourceUri defined in AssociatedResource object minLength: 1 required: true type: string maxLength: 128 description: The severity of the alert:Unknown - avoid using this value, except on rare occasions when severity is genuinely not known. OK - indicates normal/informational behavior. Disabled - not a valid severity for an Alert and will be obsoleted. Warning - needs attention soon. Critical - needs immediate attention. alerts enum: resourceID: alertTypeID: healthCategory: physicalResourceType: type: lifeCycle: alerts.html[2/20/2014 10:09:46 AM] Unknown OK Disabled Warning Critical type: string required: true description: A unique identifier, specific path or attribute identifying a component within the resource for which the alert is created. For example, in a server with a Mezzanine card, physical port, physical function the resourceID may be represented as adapter/1/ports/2/function/4a. type: string minLength: 0 maxLength: 2048 description: Uniquely identifies the type of the alert resource. Typically this is an identifier for which the alert resource is created. For example:an alert type of Trap.cpqHo2NicStatusFailed indicates a trap where the NIC was in a failed condition. The alertTypeID is same as the eventTypeID of the event(s) from which the alert is created. minLength: 1 required: true type: string maxLength: 255 description: Hardware/software category used to help group the categories for this alert. Valid values are:Appliance, DeviceBay, Enclosure, Fan, Firmware, Host, Instance, InterconnectBay, LogicalSwitch, Logs, ManagementProcessor, Memory, Network, None, Operational, Power, Processor, RemoteSupport, Storage, Thermal, Unknown. type: string minLength: 0 maxLength: 255 description: The type of the resource for which this alert is associated with. i.e. enclosures, physical_servers, etc. type: string minLength: 0 maxLength: 255 description: Identifies the resource type. This field must be set to 'AlertResourceV2'. type: string description: Life cycle alerts do not determine status of a resource. Life cycle alerts are created as a result of some activity on a resource such as powering on or off a server or inserting a blade server in an enclosure. If the severity of a life cycle alert is not set to OK, the system will automatically set the alerts severity of a life cycle alert to OK. description: changeLog: type: boolean description: The description provides a quick summary of the issue for which the alert is created. minLength: 1 required: true type: string maxLength: 1024 description: Timestamped log of the alert, within a certain time frame. Includes state changes, system generated notes such as 'Alert cleared at 10:04am', and user-added notes. The user can delete only useradded notes. type: array Items username: userEntered: notes: created: correctiveAction: alerts.html[2/20/2014 10:09:46 AM] description: The name of the user who made the change this log entry relates to maxLength: 255 type: string minLength: 1 description: Flag for user-added notes versus other changes. True, if the change is a user-added note. type: boolean description: User-added notes regarding the alert resource. maxLength: 1024 type: string minLength: 0 description: Creation time of the log entry, when the alert resource changed. Formatted as an ISO 8601 formatted string. format: YYYY-MM-DD'T'hh:mm:ss.sss'Z' type: string readonly: true pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[05][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z description: A description of corrective action to address the underlying problem. type: string minLength: 0 maxLength: 2048 alerts eTag: associatedResource: description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Details about the resource for which the alert is created. The resource can be an enclosure, server or any other managed resource. For example, if the alert is created for an enclosure, the associatedResource has the details about that enclosure. required: true type: object Properties resourceUri: associationType: description: URI of the resource type: string description: Type of association type: string enum: resourceCategory: resourceName: clearedByUser: alertState: alerts.html[2/20/2014 10:09:46 AM] description: Category of the resource type: string description: Name of the resource type: string description: The name of the user who last set the alert state to cleared. Alerts can be Cleared by the user or by the system. For example, when an event is posted with the clearPriorEvents attribute set to true, the events resource manager clears the alert. type: string minLength: 0 maxLength: 255 description: This indicates the state of an alert. Active alerts of a resource help determine its health status. Cleared alerts indicate that the alerts are no longer of concern and will not affect the health status of a resource. Locked alerts are active alerts that cannot be cleared or deleted by the user. Only the internal resource manager can change the state of the locked alert after the underlying problem is corrected. Like active alerts, locked alerts help determine the health status of a resource. The system will automatically set the state of an alert to Cleared if the severity of alert is OK. type: string enum: created: MANAGED_BY HAS_A IS_A description: Active Cleared Locked The time that the alert resource was created and stored; the format is an alerts extended ISO 8601 String expressed as UTC activityUri: clearedTime: uri: associatedEventUris: urgency: format: YYYY-MM-DDThh:mm:ss.sssZ pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9] [0-9][0-9])?Z readonly: true type: string description: (Optional) URI of the task resource of the activity that created the alert, if the alert was caused by an operation in the appliance. Used in tracking root causes. type: string minLength: 0 maxLength: 128 description: The time when the alert is cleared pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9] [0-9][0-9])?Z type: string format: YYYY-MM-DD'T'hh:mm:ss.sss'Z' description: Contains the URI for this alert and should be used for any operations on the alert. The uri is automatically generated and cannot be edited. type: string minLength: 0 maxLength: 128 description: List of event resource URIs that are associated with this alert. An event can be associated with at most one alert, while an alert may have one or more related events associated with it required: true type: array description: You can assign a priority for addressing the problem associated with the alert by setting the Urgency. Valid values are:None, Deferrable, Medium, High, Immediate, Unknown. The default is None. enum: alerts.html[2/20/2014 10:09:46 AM] None Deferrable Medium High Immediate Unknown type: string required: true alerts AlertResourceCollectionV2 description: AlertResourceCollectionV2 is a collection of alert objects of the type AlertResourceV2. type: object Properties alertSeverityCounts: type: object Properties disabledCount: okCount: criticalCount: warningCount: unknownCount: count: total: nextPageUri: prevPageUri: uri: created: alerts.html[2/20/2014 10:09:46 AM] description: The disabledCount is not valid for an alert and will be obsoleted. type: integer description: Total count of alerts whose severity is OK. type: integer description: Total count of alerts whose severity is Critical. type: integer description: Total count of alerts whose severity is Warning. type: integer description: Total count of alerts whose severity is Uknown. type: integer description: The actual number of resources returned in the specified page type: integer description: The total number of resources that would be returned from the query (including any filters), without pagination or enforced resource limits type: integer description: URI pointing to the page of resources following the list of resources contained in the specified collection type: string description: URI pointing to the page of resources preceding the list of resources contained in the specified collection type: string description: The canonical URI of the resource type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9] [0-9][0-9])?Z type: string alerts start: eTag: members: format: YYYY-MM-DDThh:mm:ss.sssZ description: The row or record number of the first resource returned in the specified page type: integer description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string type: array Items uri: assignedToUser: category: resourceUri: severity: description: Contains the URI for this alert and should be used for any operations on the alert. The uri is automatically generated and cannot be edited. maxLength: 128 type: string minLength: 0 description: The user assigned to this alert. maxLength: 255 type: string minLength: 1 description: The category is used to help identify the kind of resource. The category of this resource will always be set to 'alerts'. type: string description: URI of the resource. This will be same as the resourceUri defined in AssociatedResource object minLength: 1 required: true type: string maxLength: 128 description: The severity of the alert:Unknown - avoid using this value, except on rare occasions when severity is genuinely not known. OK - indicates normal/informational behavior. Disabled - not a valid severity for an Alert and will be obsoleted. Warning - needs attention soon. Critical - needs immediate attention. enum: alerts.html[2/20/2014 10:09:46 AM] Unknown OK Disabled alerts Warning Critical resourceID: alertTypeID: healthCategory: physicalResourceType: alerts.html[2/20/2014 10:09:46 AM] type: string required: true description: A unique identifier, specific path or attribute identifying a component within the resource for which the alert is created. For example, in a server with a Mezzanine card, physical port, physical function the resourceID may be represented as adapter/1/ports/2/function/4a. maxLength: 2048 type: string minLength: 0 description: Uniquely identifies the type of the alert resource. Typically this is an identifier for which the alert resource is created. For example:an alert type of Trap.cpqHo2NicStatusFailed indicates a trap where the NIC was in a failed condition. The alertTypeID is same as the eventTypeID of the event(s) from which the alert is created. minLength: 1 required: true type: string maxLength: 255 description: Hardware/software category used to help group the categories for this alert. Valid values are:Appliance, DeviceBay, Enclosure, Fan, Firmware, Host, Instance, InterconnectBay, LogicalSwitch, Logs, ManagementProcessor, Memory, Network, None, Operational, Power, Processor, RemoteSupport, Storage, Thermal, Unknown. maxLength: 255 type: string minLength: 0 description: The type of the resource for which this alert is associated with. i.e. enclosures, physical_servers, etc. maxLength: 255 type: string minLength: 0 alerts activityUri: lifeCycle: description: changeLog: description: (Optional) URI of the task resource of the activity that created the alert, if the alert was caused by an operation in the appliance. Used in tracking root causes. maxLength: 128 type: string minLength: 0 description: Life cycle alerts do not determine status of a resource. Life cycle alerts are created as a result of some activity on a resource such as powering on or off a server or inserting a blade server in an enclosure. If the severity of a life cycle alert is not set to OK, the system will automatically set the severity of a life cycle alert to OK. type: boolean description: The description provides a quick summary of the issue for which the alert is created. minLength: 1 required: true type: string maxLength: 1024 description: Timestamped log of the alert, within a certain time frame. Includes state changes, system generated notes such as 'Alert cleared at 10:04am', and user-added notes. The user can delete only user-added notes. type: array Items username: userEntered: notes: alerts.html[2/20/2014 10:09:46 AM] description: The name of the user who made the change this log entry relates to type: string minLength: 1 maxLength: 255 description: Flag for user-added notes versus other changes. True, if the change is a useradded note. type: boolean description: User-added notes alerts regarding the alert resource. created: correctiveAction: eTag: associatedResource: type: string minLength: 0 maxLength: 1024 description: Creation time of the log entry, when the alert resource changed. Formatted as an ISO 8601 formatted string. format: YYYY-MMDD'T'hh:mm:ss.sss'Z' pattern: [1-2][0-9][0-9][0-9]-([01][0-9])-[0-3][0-9]T[0-2] [0-9]:[0-5][0-9]:[0-5][09](.[0-9][0-9][0-9])?Z readonly: true type: string description: A description of corrective action to address the underlying problem. maxLength: 2048 type: string minLength: 0 description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Details about the resource for which the alert is created. The resource can be an enclosure, server or any other managed resource. For example, if the alert is created for an enclosure, the associatedResource has the details about that enclosure. required: true type: object Properties resourceUri: alerts.html[2/20/2014 10:09:46 AM] description: URI of the resource type: string alerts associationType: description: enum: resourceCategory: resourceName: clearedByUser: alertState: alerts.html[2/20/2014 10:09:46 AM] MANAGED_BY HAS_A IS_A type: string description: Category of the resource type: string description: Name of the resource type: string description: The name of the user who last set the alert state to cleared. Alerts can be Cleared by the user or by the system. For example, when an event is posted with the clearPriorEvents attribute set to true, the events resource manager clears the alert. maxLength: 255 type: string minLength: 0 description: This indicates the state of an alert. Active alerts of a resource help determine its health status. Cleared alerts indicate that the alerts are no longer of concern and will not affect the health status of a resource. Locked alerts are active alerts that cannot be cleared or deleted by the user. Only the internal resource manager can change the state of the locked alert after the underlying problem is corrected. Like active alerts, locked alerts help determine the health status of a resource. The system will automatically set the state of an alert to Cleared if the severity of alert is OK. enum: created: Type of association Active Cleared Locked type: string description: The time that the alert resource was created and stored; the format is an extended ISO 8601 String expressed as UTC format: YYYY-MM-DDThh:mm:ss.sssZ pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[02][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])? alerts Z type: clearedTime: modified: associatedEventUris: urgency: readonly: true type: string description: Identifies the resource type. This field must be set to 'AlertResourceV2'. type: string description: The time when the alert is cleared pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[02][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])? Z type: string format: YYYY-MM-DD'T'hh:mm:ss.sss'Z' description: The time that the alert resource was last modified and stored; the format is an extended ISO 8601 String expressed as UTC format: YYYY-MM-DDThh:mm:ss.sssZ pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[02][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])? Z readonly: true type: string description: List of event resource URIs that are associated with this alert. An event can be associated with at most one alert, while an alert may have one or more related events associated with it required: true type: array description: You can assign a priority for addressing the problem associated with the alert by setting the Urgency. Valid values are:None, Deferrable, Medium, High, Immediate, Unknown. The default is None. enum: modified: alerts.html[2/20/2014 10:09:46 AM] description: None Deferrable Medium High Immediate Unknown type: string required: true Date and time when the resource was last modified alerts category: type: alerts.html[2/20/2014 10:09:46 AM] pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9] [0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Resource category used for authorizations and resource type groupings type: string description: Identifies the resource type. This field must be set to 'AlertResourceCollectionV2'. type: string audit-logs HP OneView 1.05 REST API Reference (API Version 4) Updated: February 18, 2014 4:45 MST audit-logs The audit-logs service filters and downloads audit-logs that are present in the appliance. API Specifications Create Read /rest/audit-logs POST GET AuditLogRecordDetail GET AuditLogCollection /rest/audit-logs/download Update Delete URI: /rest/audit-logs Method API GET Gets filtered audit logs based on the filters passed to the API Resource Model Parameter Attributes Description start Optional The 0-based index of the first resource to return (start=0 starts with the first available resource). If the specified count does not return all resources within the maximum allowed time (see count), use the start parameter to view additional resource pages. The default value for start is 0 (first available resource). count Optional Optional parameter that specifies the number of resources to return from each API invocation. The number of resources returned on each call is referred to as a page. If you specify a count, the API attempts to return the specified number of resources, however this may be limited due to response time constraints and/or actual number of resources available to return. The results include the total number of resources that match the filter or query, the actual count returned, and the URIs to go to the next page, previous page, or both. sort Optional The sort order of the returned data set. By default, the sort order is based on the create time, with the oldest entry first. filter Experimental This parameter is experimental for this release: While generally functional when used in simple cases, restrictions might be noted in the implementation description. A general filter/query string that narrows the list of resources returned by a multi-resource GET (read) request and DELETE (delete) request. The default is no filter (all resources are returned). Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response audit-logs.html[2/20/2014 10:09:47 AM] Description audit-logs AuditLogCollection Contains AuditLogRecordDetail objects and pagination information Response Codes REST API Response Codes Examples Below examples are to fetch the audit-logs as per specified parameters GET https://{appl}/rest/audit-logs? start=0&count=150&filter="result='success'" GET https://{appl}/rest/audit-logs? start=0&count=150&filter="date>='2012-05-30'" POST Creates a log entry in the audit log file. As input, it takes AuditLogRecordDetail, which should contain all information related to auditing. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Description AuditLogRecordDetail Required Contains all the information related to auditing Response Description void Response Codes REST API Response Codes Examples Below example is to create an audit-log entry with parameters mentioned POST https://{appl}/rest/audit-logs { "componentId":"MyComponent", "domain":"MyDomain", "organizationId":"", "taskId":"", "sourceIp":"", "action":"CREATE", "result":"SUCCESS", "severity":"INFO", "objectType":"SERVER", "objectTypeDescriptor":"", "msg":"Server Created successfully" } POST Creates log entries in the audit log file. As input, it takes list of AuditLogRecordDetail objects (AuditLogRecordDetail[]) which should contain all information related to auditing. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" audit-logs.html[2/20/2014 10:09:47 AM] audit-logs Request Body Attributes Description AuditLogRecordDetail Required Contains all the information related to auditing Response Description void Response Codes REST API Response Codes Examples Below example is to create multiple audit-logs at once with parameters specified POST https://{appl}/rest/audit-logs?multiResource=true [ { "componentId":"MyComponent", "domain":"domain", "organizationId":"", "taskId":"", "sourceIp":"", "action":"LOGIN", "result":"SUCCESS", "severity":"INFO", "objectType":"CREDENTIAL", "objectTypeDescriptor":"", "msg":"Message 1" }, { "componentId":"MyComponent", "domain":"domain", "organizationId":"", "taskId":"", "sourceIp":"", "action":"LOGIN", "result":"SUCCESS", "severity":"INFO", "objectType":"CREDENTIAL", "objectTypeDescriptor":"", "msg":"Message 2" } ] URI: /rest/audit-logs/download Method API GET Creates a zipped file containing all the audit logs that are present in the appliance. Sends the zipped file back to the caller as an attachment. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" audit-logs.html[2/20/2014 10:09:47 AM] audit-logs Response Description void Response Codes REST API Response Codes Examples Below example downloads the audit-logs GET https://{appl}/rest/audit-logs/download AuditLogRecordDetail type: object Properties dateTimeStamp: type: componentId: description: Component ID that this audit log record belongs to type: string description: Organization ID that this audit log record belongs to type: string description: ID of the user who created this audit log entry type: string description: Domain name that this audit log record belongs to type: string description: LoggingId used to uniquely identify the audit log records belonging to a specified session type: string readonly: true description: Client source IP from which the action originated. The default setting is null/empty. type: string description: Result of the action performed, such as SUCCESS, FAILURE, SOME_FAILURES, CANCELED or KILLED type: string description: Action being performed, such as ADD, MODIFY, DELETE, ACCESS, RUN, LIST, ENABLE, DISABLE, RESTORE, SAVE, SETUP, UNSETUP, DEPLOY, START, DONE, KILLED, CANCELED, LOGIN or LOGOUT type: string organizationId: userId: domain: loggingId: sourceIp: result: action: audit-logs.html[2/20/2014 10:09:47 AM] number audit-logs objectType: objectTypeDescriptor: severity: taskId: msg: description: Type of the object on which an action is being performed type: string description: Description of the object type type: string description: Severity of the action performed, such as INFO, WARNING or CRITICAL type: string description: Task ID if this audit log record is associated with a task type: string description: Audit log detailed message set while making audit log entry type: string AuditLogCollection type: object Properties count: category: created: prevPageUri: uri: modified: start: description: The actual number of resources returned in the specified page type: integer description: Resource category used for authorizations and resource type groupings type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])? Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: URI pointing to the page of resources preceding the list of resources contained in the specified collection type: string description: The canonical URI of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])? Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: The row or record number of the first resource returned in the specified page audit-logs.html[2/20/2014 10:09:47 AM] audit-logs eTag: nextPageUri: members: type: integer description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: URI pointing to the page of resources following the list of resources contained in the specified collection type: string description: Lists the audit log record type: array Items dateTimeStamp: type: domain: description: Domain name that this audit log record belongs to type: string description: Severity of the action performed, such as INFO, WARNING or CRITICAL type: string description: Organization ID that this audit log record belongs to type: string description: ID of the user who created this audit log entry type: string description: LoggingId used to uniquely identify the audit log records belonging to a specified session readonly: true type: string description: Audit log detailed message set while making audit log entry type: string description: Result of the action performed, such as SUCCESS, FAILURE, SOME_FAILURES, CANCELED or KILLED type: string description: Task ID if this audit log record is associated with a task type: string description: Action being performed, such as ADD, MODIFY, DELETE, ACCESS, RUN, LIST, ENABLE, DISABLE, RESTORE, SAVE, SETUP, UNSETUP, DEPLOY, START, DONE, KILLED, CANCELED, LOGIN or severity: organizationId: userId: loggingId: msg: result: taskId: action: audit-logs.html[2/20/2014 10:09:47 AM] number audit-logs LOGOUT sourceIp: componentId: objectTypeDescriptor: objectType: total: type: type: string description: Client source IP from which the action originated. The default setting is null/empty. type: string description: Component ID that this audit log record belongs to type: string description: Description of the object type type: string description: Type of the object on which an action is being performed type: string description: The total number of resources that would be returned from the query (including any filters), without pagination or enforced resource limits type: integer description: Identifies the resource type. This field must be set to 'AuditLogCollection'. type: string audit-logs.html[2/20/2014 10:09:47 AM] id-pools HP OneView 1.05 REST API Reference (API Version 4) Updated: February 18, 2014 6:00 MST id-pools The id-pools resource provides REST APIs for managing ID pools. The types of pools available are Vmac, Vsn, Vwwn. You can request an id from any of the pools, use the ID and then return it. The returned IDs are reclaimed by the pool and are available for reuse. The pools are accessed by https://{appl}/rest/id-pools/{vmac,vsn,vwwn}. The REST API (GET, UPDATE) supports an 'accept-language' in the request header. The default is 'en_US'. An 'auth:{token}' in the request header is required. The {token} can be retrieved from https://{appl}/rest/login-sessions. API Specifications Create Read /rest/id-pools/schema GET /rest/id-pools/{id} GET Update Delete Resource Model Pool PUT Fragment /rest/id-pools/{id}/allocator PUT Allocator /rest/id-pools/{id}/collector PUT Collector /rest/id-pools/{id}/generate GET /rest/id-pools/{id}/validate PUT URI: /rest/id-pools/schema Method API GET Gets the JSON formatted schema for a pool Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description JsonSchema The JSON schema of the pool. Response Codes REST API Response Codes Examples The following example shows how to fetch the JSON formatted schema for a pool. GET : https://{appl}/rest/id-pools/schema URI: /rest/id-pools/{id} Method API GET Gets a pool. Using the pool, the allocator and collector associated with the pool allocate IDs from and collect IDs to return to the pool. id-pools.html[2/20/2014 10:09:48 AM] id-pools Parameter Attributes Description view Optional Return a specific subset of the attributes of the resource or collection by specifying the name of a predefined view. The default view is expand (show all attributes of the resource, and all elements of collections or resources). fields Optional Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description Pool The DTO that describes the pool Response Codes REST API Response Codes Examples The following example shows the method to get an ID pool resource whose identifer is {id} GET: https://{appl}/rest/id-pools/{id}/ PUT Sets the pool state to enabled or disabled Parameter Attributes Description force Optional If set to true, the operation completes even if there are network connectivity issues or resource errors. The default is false. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Pool Required Description Response Description Pool The DTO that describes the pool Response Codes REST API Response Codes Examples The following example shows how to set the pool state to enabled or disabled PUT : https://{appl}/rest/id-pools/{id}/ Request Body: {"type":"Pool","enabled":true} id-pools.html[2/20/2014 10:09:48 AM] id-pools URI: /rest/id-pools/{id}/allocator Method API PUT Allocates one or more IDs from a pool. The allocator returned contains the list of allocated ids. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Allocator Required Description Response Description Allocator the Allocator DTO with the allocated Ids Response Codes REST API Response Codes Examples The following example shows how to allocate IDs from a pool resource whose identifier is {id} PUT : https://{appl}/rest/id-pools/{id}/allocator Request Body: {"count":5} URI: /rest/id-pools/{id}/collector Method API PUT Collects one or more IDs to be returned to a pool. The collector DTO that is returned contains the list of collected IDs Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Collector Required Description Response Description Collector the Collector DTO with the count of IDs collected Response Codes REST API Response Codes Examples id-pools.html[2/20/2014 10:09:48 AM] id-pools The following example shows how to collect IDs to be returned back to a pool resource whose identifier is {id} PUT : https://{appl}/rest/id-pools/{id}/collector Request Body: { "idList": [ "E2:89:E8:B0:00:00", "E2:89:E8:B0:00:01", "E2:89:E8:B0:00:02", "E2:89:E8:B0:00:03", "E2:89:E8:B0:00:04" ] } URI: /rest/id-pools/{id}/generate Method API GET Generates a random range and returns it. Used to generate a range for validation prior to actually creating it. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description Fragment The DTO containing the range start and end Response Codes REST API Response Codes Examples The following example shows how to generate IDs from a pool resource whose identifier is {id} GET : https://{appl}/rest/id-pools/{id}/generate URI: /rest/id-pools/{id}/validate Method API PUT Validates a set of user specified IDs that you want to reserve in this pool. This API can be used to check if the specified IDs can be allocated. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Description Allocator Required The DTO which specifies the list of IDs to be validated. id-pools.html[2/20/2014 10:09:48 AM] id-pools Response Description Allocator The DTO containing the validated list of IDs. Response Codes REST API Response Codes Examples The following example shows how to validate a set of user specified IDs which you want to reserve in this pool. PUT : https://{appl}/rest/id-pools/{id}/validate Request Body: { "idList":[ "10:00:2c:6c:28:80:00:00" ,"10:00:2c:6c:28:80:00:01" ] } Pool description: Defines a Pool resource. Allowed values are vmac,vsn,vwwn. type: object Properties category: name: created: enabled: poolType: description: Resource category used for authorizations and resource type groupings type: string description: The assigned name of the pool. The possible values are vmac, vwwn or vsn. type: string description: Date and time when the resource was created format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][09])?Z description: Defines the status of the pool type: boolean description: The assigned type of the pool. The possible values are vmac, vwwn or vsn. enum: modified: VMAC VSN VWWN type: string description: Date and time when the resource was last modified id-pools.html[2/20/2014 10:09:48 AM] id-pools uri: totalCount: prefix: eTag: freeCount: rangeUris: type: allocatedCount: format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][09])?Z description: The canonical URI of the resource type: string description: Total count of IDs managed by this pool. Adding or removing ranges alters the totalCount type: number description: Prefix to be used in front of the generated IDs. An example would the vsn pool type: string description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Count of free IDs currently in this pool type: number description: List of ID Ranges contained within this pool required: true type: array description: Identifies the resource type. This field must be set to 'Pool'. type: string description: Count of IDs currently allocated from the pool type: number Fragment description: Defines a fragment resource containing the fragment start and end type: object Properties endAddress: fragmentType: description: Defines the end value of this fragment type: string description: The fragmentType indicating whether its in_use or free type: string enum: id-pools.html[2/20/2014 10:09:48 AM] IN_USE FREE id-pools startAddress: description: Defines the start value of this fragment type: string Allocator description: Defines an allocator resource, which contains the list of allocated IDs type: object Properties valid: type: eTag: description: Entity tag/version ID of the resource. This is the same value that is returned in the ETag header on a GET of the resource. type: string description: Defines the number of IDs allocated type: integer description: Defines the list of IDs type: array count: idList: boolean Collector description: Defines a collector resource containing the list of IDs to be collected type: object Properties eTag: idList: description: Entity tag/version ID of the resource. This is the same value that is returned in the ETag header on a GET of the resource. type: string description: Defines the list of IDs to be collected type: array id-pools.html[2/20/2014 10:09:48 AM] id-pools/vmac/ranges HP OneView 1.05 REST API Reference (API Version 4) Updated: February 18, 2014 5:59 MST id-pools/vmac/ranges This resource provides APIs for Managing vmac ranges. A vmac can be requested, used, and returned. Once returned, the vmac is reclaimed by the range and is available for reuse. The range is accessed by: https://{appl}/id-pools/vmac/ranges. The REST API (POST, GET, UPDATE, DELETE) supports an 'accept-language' in the request header. The default is 'en_US'. An 'auth:{token}' in the request header is required. The {token} can be retrieved from https://{appl}/rest/loginsessions. * API Specifications Create /rest/id-pools/vmac/ranges POST Read Update Resource Model IdRange /rest/id-pools/vmac/ranges/schema GET /rest/id-pools/vmac/ranges/{id} GET /rest/id-pools/vmac/ranges/{id}/allocated-fragments GET Allocator PUT DELETE Collector FragmentList /rest/id-pools/vmac/ranges/{id}/allocator PUT /rest/id-pools/vmac/ranges/{id}/collector PUT /rest/id-pools/vmac/ranges/{id}/free-fragments Delete GET URI: /rest/id-pools/vmac/ranges Method API POST Creates a vmac range resource. A range can be one of two types based upon the range category specified: GENERATED or CUSTOM. The GENERATED range type automatically assigns start and end addresses to the range. The CUSTOM range type requires a start address to be specified. The end address may also be specified but is optional. Parameter Attributes Description Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes IdRange Required Description Response Description IdRange DTO describing an IdRange resource. Response Codes REST API Response Codes Examples The following example shows how to create a new vmac range. id-pools-vmac-ranges.html[2/20/2014 10:09:48 AM] id-pools/vmac/ranges POST https://{appl}/rest/id-pools/vmac/ranges/ Request Body: { "type": "Range", "name": null, "prefix": null, "enabled": true, "rangeCategory": "GENERATED", "startAddress": "E2:13:C5:F0:00:00", "endAddress": "E2:13:C5:FF:FF:FF", "totalCount": 1048575, "freeIdCount": 1048575, "allocatedIdCount": 0, "allocatorUri": "/rest/id-pools/vmac/ranges/5613a502-9253-45c6-aa78a83635241cf8/allocator" , "collectorUri": "/rest/id-pools/vmac/ranges/5613a502-9253-45c6-aa78a83635241cf8/collector" , "reservedIdCount": 0, "freeFragmentUri": "/rest/id-pools/vmac/ranges/5613a502-9253-45c6-aa78a83635241cf8/free-fragments?start=0&count=-1" , "allocatedFragmentUri": "/rest/id-pools/vmac/ranges/5613a502-9253-45c6-aa78a83635241cf8/allocated-fragments?start=0&count=-1" , "uri": "/rest/id-pools/vmac/ranges/5613a502-9253-45c6-aa78a83635241cf8" , "category": "id-range-VMAC", "eTag": null, "created": "2013-03-20 01:29:10.570", "modified": "2013-03-20 01:29:10.570" } URI: /rest/id-pools/vmac/ranges/schema Method API GET Gets the JSON formatted schema for a vmac range Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description JsonSchema The JSON schema of the pool. Response Codes REST API Response Codes id-pools-vmac-ranges.html[2/20/2014 10:09:48 AM] id-pools/vmac/ranges Examples The following example shows how to get the JSON schema for a vmac range. https://{appl}/rest/id-pools/vmac/ranges/schema URI: /rest/id-pools/vmac/ranges/{id} Method API DELETE Deletes a vmac range. Parameter Attributes Description force Optional If set to true, the operation completes even if there are network connectivity issues or resource errors. The default is false. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description String Null with the status code "No-Content" Response Codes REST API Response Codes Examples The following example shows how to delete a vmac range whose identifier is {range-id} DELETE https://{appl}/rest/id-pools/vmac/ranges/{range-id} GET Gets a vmac range. Using the allocator and collector associated with the range, Ids may be allocated from or collected back to the range. Parameter Attributes Description view Optional Return a specific subset of the attributes of the resource or collection by specifying the name of a predefined view. The default view is expand (show all attributes of the resource, and all elements of collections or resources). fields Optional Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description IdRange The DTO describing the range. Response Codes id-pools-vmac-ranges.html[2/20/2014 10:09:48 AM] id-pools/vmac/ranges REST API Response Codes Examples The following example shows how to get a vmac range whose identifier is {range-id} GET https://{appl}/rest/id-pools/vmac/ranges/{range-id} PUT Enables or disables a vmac range. Parameter Attributes Description force Optional If set to true, the operation completes even if there are network connectivity issues or resource errors. The default is false. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes IdRange Required Description Response Description IdRange The DTO describing the range. Response Codes REST API Response Codes Examples The following example shows how to update a vmac range whose identifier is {range-id} PUT https://{appl}/rest/id-pools/vmac/ranges/{range-id} Request Body: { "type": "Range", "enabled": true } URI: /rest/id-pools/vmac/ranges/{id}/allocated-fragments Method API GET Returns all fragments that have been allocated from a vmac range. Parameter Attributes Description start Optional The 0-based index of the first resource to return (start=0 starts with the first available resource). If the specified count does not return all resources within the maximum allowed time (see count), use the start parameter to view additional resource pages. The default value for start is 0 (first available resource). id-pools-vmac-ranges.html[2/20/2014 10:09:48 AM] id-pools/vmac/ranges count Optional Optional parameter that specifies the number of resources to return from each API invocation. The number of resources returned on each call is referred to as a page. If you specify a count, the API attempts to return the specified number of resources, however this may be limited due to response time constraints and/or actual number of resources available to return. The results include the total number of resources that match the filter or query, the actual count returned, and the URIs to go to the next page, previous page, or both. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description FragmentList PaginatedFragmentCollection resource describing all the allocated fragments. Response Codes REST API Response Codes Examples The following examples show how to get the list of all the fragments that have been allocated from a range which is identified by {id} GET https://{appl}/rest/id-pools/vmac/ranges/{range-id}/allocatedfragments?start=0&count=-1 URI: /rest/id-pools/vmac/ranges/{id}/allocator Method API PUT Allocates a set of IDs from a vmac range. The allocator returned contains the list of IDs successfully allocated. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Allocator Required Description Response Description Allocator the Allocator DTO with the allocated IDs Response Codes REST API Response Codes Examples The following example shows how to allocate IDs from a id-pools-vmac-ranges.html[2/20/2014 10:09:48 AM] vmac range id-pools/vmac/ranges whose identifier is {range-id} PUT https://{appl}/rest/id-pools/vmac/ranges/{range-id}/allocator Request Body: {"count":5} URI: /rest/id-pools/vmac/ranges/{id}/collector Method API PUT Collects a set of IDs back to a vmac range. The collector returned contains the list of IDs successfully collected. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Collector Required Description Response Description Collector The DTO with the count of IDs collected Response Codes REST API Response Codes Examples The following example shows how to collect IDs back to a vmac range whose identifier is {range-id} PUT https://{appl}/rest/id-pools/vmac/ranges/{range-id}/collector Request Body: { "idList": [ "E2:89:E8:B0:00:00", "E2:89:E8:B0:00:01", "E2:89:E8:B0:00:02", "E2:89:E8:B0:00:03", "E2:89:E8:B0:00:04" ] } URI: /rest/id-pools/vmac/ranges/{id}/free-fragments Method API GET Returns all the free fragments in a vmac range. Parameter Attributes Description start Optional The 0-based index of the first resource to return (start=0 starts with the first available resource). If the specified count does not return all resources within the maximum allowed time (see count), use the start parameter to view additional resource pages. The default value start 0 id-pools-vmac-ranges.html[2/20/2014 10:09:48 AM] id-pools/vmac/ranges for is (first available resource). count Optional Optional parameter that specifies the number of resources to return from each API invocation. The number of resources returned on each call is referred to as a page. If you specify a count, the API attempts to return the specified number of resources, however this may be limited due to response time constraints and/or actual number of resources available to return. The results include the total number of resources that match the filter or query, the actual count returned, and the URIs to go to the next page, previous page, or both. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description FragmentList PaginatedFragmentCollection resource describing all the free fragments. Response Codes REST API Response Codes Examples The following example shows how to get the list of free fragments within a vmac range whose identifer is {id} GET https://{appl}/rest/id-pools/vmac/ranges/{range-id}/free-fragments? start=0&count=-1 IdRange description: Defines a Range resource. Allowed values are vmac,vsn,vwwn type: object Properties category: collectorUri: allocatorUri: name: uri: description: Resource category used for authorizations and resource type groupings type: string description: Uri of the Collector for this Range type: string description: Uri of the Allocator for this Range type: string description: Defined name for the Range type: string description: The canonical URI of the resource id-pools-vmac-ranges.html[2/20/2014 10:09:48 AM] id-pools/vmac/ranges allocatedIdCount: endAddress: enabled: type: string description: Count of Ids allocated from this Range type: integer description: The end address of this Range type: string description: Defines the status of the Pool type: boolean defaultRange: type: modified: description: Date and time when the resource was last modified format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9] [0-9][0-9])?Z description: Count of Ids returned to this Range type: integer description: Total count of Ids managed by this Range type: number description: Prefix to be used in front of the generated Ids. An example would the vsn Pool type: string description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Date and time when the resource was created format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9] [0-9][0-9])?Z description: The category of the Range - Generated or User-defined freeIdCount: totalCount: prefix: eTag: created: rangeCategory: boolean enum: allocatedFragmentUri: startAddress: GENERATED CUSTOM type: string description: Uri of allocated fragments for this Range type: string description: The start address of this Range id-pools-vmac-ranges.html[2/20/2014 10:09:48 AM] id-pools/vmac/ranges freeFragmentUri: reservedIdCount: type: type: string description: Uri of free fragments for this Range type: string description: Count of Ids reserved in this Range type: integer description: Identifies the resource type. This field must be set to 'Range'. type: string Allocator description: Defines an allocator resource, which contains the list of allocated IDs type: object Properties valid: type: eTag: description: Entity tag/version ID of the resource. This is the same value that is returned in the ETag header on a GET of the resource. type: string description: Defines the number of IDs allocated type: integer description: Defines the list of IDs type: array count: idList: boolean Collector description: Defines a collector resource containing the list of IDs to be collected type: object Properties eTag: idList: description: Entity tag/version ID of the resource. This is the same value that is returned in the ETag header on a GET of the resource. type: string description: Defines the list of IDs to be collected type: array id-pools-vmac-ranges.html[2/20/2014 10:09:48 AM] id-pools/vmac/ranges FragmentList description: Defines a Paginated fragment collection to return list of fragments type: object Properties count: category: nextPageUri: prevPageUri: uri: created: start: eTag: members: description: The actual number of resources returned in this page. type: integer description: Resource category used for authorizations and resource type groupings type: string description: URI pointing to the page of resources following the list of resources contained in this collection. type: string description: URI pointing to the page of resources preceding the list of resources contained in this collection. type: string description: The canonical URI of the resource type: string description: Date and time when the resource was created format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])? Z description: The row or record number of the first resource returned in this page. type: integer description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: List of fragments as a member resource type: array Items startAddress: endAddress: fragmentType: id-pools-vmac-ranges.html[2/20/2014 10:09:48 AM] description: Defines the start value of this fragment type: string description: Defines the end value of this fragment type: string description: The fragmentType indicating whether its in_use or free id-pools/vmac/ranges enum: type: modified: total: type: IN_USE FREE string description: Date and time when the resource was last modified format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])? Z description: The total number of resources that would be returned from the query (including any filters), if there was no pagination (or enforced resource limits) employed. type: integer description: Identifies the resource type. This field must be set to 'PaginatedFragmentCollection'. type: string id-pools-vmac-ranges.html[2/20/2014 10:09:48 AM] id-pools/vsn/ranges HP OneView 1.05 REST API Reference (API Version 4) Updated: February 18, 2014 5:59 MST id-pools/vsn/ranges This resource provides apis to manage vsn ranges. A vsn may be requested, used, and returned. Once returned, the vsn is reclaimed by the range and available for reuse. The range is accessed by: https://{appl}/id-pools/vsn/ranges. The REST API (POST, GET, UPDATE, DELETE) supports an 'accept-language' in the request header which defaults to 'en_US'. An 'auth:{token}' in the request header is required. The {token} may be retrieved from https://{appl}/rest/login-sessions. * API Specifications Create /rest/id-pools/vsn/ranges POST Read Update Resource Model IdRange /rest/id-pools/vsn/ranges/schema GET /rest/id-pools/vsn/ranges/{id} GET /rest/id-pools/vsn/ranges/{id}/allocated-fragments GET Allocator PUT DELETE Collector FragmentList /rest/id-pools/vsn/ranges/{id}/allocator PUT /rest/id-pools/vsn/ranges/{id}/collector PUT /rest/id-pools/vsn/ranges/{id}/free-fragments Delete GET URI: /rest/id-pools/vsn/ranges Method API POST Creates a vsn range. A range may be one of two types based upon the range category specified: GENERATED or CUSTOM. The GENERATED range type automatically assigns start and end address to the range. The CUSTOM range type requires a start address to be specified. The end address may also be specified but is optional. Parameter Attributes Description Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes IdRange Required Description Response Description IdRange The DTO describing a vsn range resource. Response Codes REST API Response Codes Examples The following example shows how to create a new vsn range. POST : https://{appl}/rest/id-pools/vsn/ranges/ id-pools-vsn-ranges.html[2/20/2014 10:09:49 AM] id-pools/vsn/ranges Request Body: { "type": "Range", "name": "VSN", "prefix": null, "enabled": true, "startAddress": "VCGS5EI000", "endAddress": "VCGS5EIZZZ", "rangeCategory": "GENERATED", "totalCount": 46656, "freeIdCount": 46656, "allocatedIdCount": 0, "defaultRange": true, "allocatorUri": "/rest/id-pools/vsn/ranges/ae2df099-5570-4f9e-950316531324d9a4/allocator" , "collectorUri": "/rest/id-pools/vsn/ranges/ae2df099-5570-4f9e-950316531324d9a4/collector" , "reservedIdCount": 0, "freeFragmentUri": "/rest/id-pools/vsn/ranges/ae2df099-5570-4f9e-950316531324d9a4/free-fragments?start=0&count=-1" , "allocatedFragmentUri": "/rest/id-pools/vsn/ranges/ae2df099-5570-4f9e-950316531324d9a4/allocated-fragments?start=0&count=-1" , "category": "id-range-VSN", "uri": "/rest/id-pools/vsn/ranges/ae2df099-5570-4f9e-950316531324d9a4" , "eTag": null, "created": "2013-04-08 18:11:17.862", "modified": "2013-04-08 18:11:17.862" } URI: /rest/id-pools/vsn/ranges/schema Method API GET Gets the JSON formatted schema for a vsn range Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description JsonSchema The JSON schema of the range Response Codes REST API Response Codes id-pools-vsn-ranges.html[2/20/2014 10:09:49 AM] id-pools/vsn/ranges Examples The following example shows how to get the JSON schema of a vsn range. https://{appl}/rest/id-pools/vsn/ranges/schema URI: /rest/id-pools/vsn/ranges/{id} Method API DELETE Deletes a vsn range. Parameter Attributes Description force Optional If set to true, the operation completes even if there are network connectivity issues or resource errors. The default is false. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description String Null with the status code "No-Content" Response Codes REST API Response Codes Examples The following example shows how to delete a vsn range whose identifier is {range-id} DELETE https://{appl}/rest/id-pools/vsn/ranges/{range-id} GET Gets a vsn range. Using the allocator, and collector associated with the range, IDs may be allocated from or collected to the range. Parameter Attributes Description view Optional Return a specific subset of the attributes of the resource or collection by specifying the name of a predefined view. The default view is expand (show all attributes of the resource, and all elements of collections or resources). fields Optional Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description IdRange The DTO describing the range. Response Codes id-pools-vsn-ranges.html[2/20/2014 10:09:49 AM] id-pools/vsn/ranges REST API Response Codes Examples The following example shows how to get a vsn range whose identifier is {range-id} GET https://{appl}/rest/id-pools/vsn/ranges/{range-id} PUT Enables or disables a vsn range. Parameter Attributes Description force Optional If set to true, the operation completes even if there are network connectivity issues or resource errors. The default is false. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes IdRange Required Description Response Description IdRange The DTO describing the range. Response Codes REST API Response Codes Examples The following example shows how to enable or disable a vsn range whose identifier is {range-id} PUT https://{appl}/rest/id-pools/vsn/ranges/{range-id} Request Body: { "type":"Range", "enabled":true } URI: /rest/id-pools/vsn/ranges/{id}/allocated-fragments Method API GET Returns all allocated fragments in a vsn range. Parameter Attributes Description start Optional The 0-based index of the first resource to return (start=0 starts with the first available resource). If the specified count does not return all resources within the maximum allowed time (see count), use the start parameter to view additional resource pages. The default value for start is 0 (first available resource). count Optional Optional parameter that specifies the number of resources to return id-pools-vsn-ranges.html[2/20/2014 10:09:49 AM] id-pools/vsn/ranges from each API invocation. The number of resources returned on each call is referred to as a page. If you specify a count, the API attempts to return the specified number of resources, however this may be limited due to response time constraints and/or actual number of resources available to return. The results include the total number of resources that match the filter or query, the actual count returned, and the URIs to go to the next page, previous page, or both. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description FragmentList PaginatedFragmentCollection resource describing all the allocated fragments. Response Codes REST API Response Codes Examples The following example shows how to get the list of allocated fragments from a vsn range whose identifier is {range-id} GET : https://{appl}/rest/id-pools/vsn/ranges/{range-id}/allocatedfragments?start=0&count=-1 URI: /rest/id-pools/vsn/ranges/{id}/allocator Method API PUT Allocates a set of IDs from a vsn range. The allocator returned contains the list of IDs successfully allocated. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Allocator Required Description Response Description Allocator The DTO with the allocated IDs. Response Codes REST API Response Codes Examples The following example shows how to allocate IDs from a range whose identifier is {range-id} id-pools-vsn-ranges.html[2/20/2014 10:09:49 AM] id-pools/vsn/ranges PUT :https://{appl}/rest/id-pools/vsn/ranges/{range-id}/allocator Request Body:{"count":10} URI: /rest/id-pools/vsn/ranges/{id}/collector Method API PUT Collects a set of IDs back to a vsn range. The collector returned contains the list of IDs successfully collected. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Collector Required Description Response Description Collector The DTO with the count of IDs collected Response Codes REST API Response Codes Examples The following example shows how to collect IDs back to a range whose identifier is {range-id} PUT : https://{appl}/rest/id-pools/vsn/ranges/{range-id}/collector Request Body: { "idList":[ "VCG434R000", "VCG434R001" ] } URI: /rest/id-pools/vsn/ranges/{id}/free-fragments Method API GET Returns all the free vsn fragments to a range. Parameter Attributes Description start Optional The 0-based index of the first resource to return (start=0 starts with the first available resource). If the specified count does not return all resources within the maximum allowed time (see count), use the start parameter to view additional resource pages. The default value for start is 0 (first available resource). count Optional Optional parameter that specifies the number of resources to return from each API invocation. The number of resources returned on each id-pools-vsn-ranges.html[2/20/2014 10:09:49 AM] id-pools/vsn/ranges call is referred to as a page. If you specify a count, the API attempts to return the specified number of resources, however this may be limited due to response time constraints and/or actual number of resources available to return. The results include the total number of resources that match the filter or query, the actual count returned, and the URIs to go to the next page, previous page, or both. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description FragmentList PaginatedFragmentCollection resource describing all the free fragments. Response Codes REST API Response Codes Examples The following example shows how to get the list of free fragments in a range whose identifier is {range-id} GET : https://{appl}/rest/id-pools/vsn/ranges/{range-id}/freefragments?start=0&count=-1 IdRange description: Defines a Range resource. Allowed values are vmac,vsn,vwwn type: object Properties category: collectorUri: allocatorUri: name: uri: allocatedIdCount: description: Resource category used for authorizations and resource type groupings type: string description: Uri of the Collector for this Range type: string description: Uri of the Allocator for this Range type: string description: Defined name for the Range type: string description: The canonical URI of the resource type: string description: Count of Ids allocated from this Range id-pools-vsn-ranges.html[2/20/2014 10:09:49 AM] id-pools/vsn/ranges endAddress: enabled: type: integer description: The end address of this Range type: string description: Defines the status of the Pool type: boolean defaultRange: type: modified: description: Date and time when the resource was last modified format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9] [0-9][0-9])?Z description: Count of Ids returned to this Range type: integer description: Total count of Ids managed by this Range type: number description: Prefix to be used in front of the generated Ids. An example would the vsn Pool type: string description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Date and time when the resource was created format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9] [0-9][0-9])?Z description: The category of the Range - Generated or User-defined freeIdCount: totalCount: prefix: eTag: created: rangeCategory: boolean enum: allocatedFragmentUri: startAddress: freeFragmentUri: GENERATED CUSTOM type: string description: Uri of allocated fragments for this Range type: string description: The start address of this Range type: string description: Uri of free fragments for this Range type: string id-pools-vsn-ranges.html[2/20/2014 10:09:49 AM] id-pools/vsn/ranges reservedIdCount: type: description: Count of Ids reserved in this Range type: integer description: Identifies the resource type. This field must be set to 'Range'. type: string Allocator description: Defines an allocator resource, which contains the list of allocated IDs type: object Properties valid: type: eTag: description: Entity tag/version ID of the resource. This is the same value that is returned in the ETag header on a GET of the resource. type: string description: Defines the number of IDs allocated type: integer description: Defines the list of IDs type: array count: idList: boolean Collector description: Defines a collector resource containing the list of IDs to be collected type: object Properties eTag: idList: description: Entity tag/version ID of the resource. This is the same value that is returned in the ETag header on a GET of the resource. type: string description: Defines the list of IDs to be collected type: array FragmentList description: Defines a Paginated fragment collection to return list of fragments id-pools-vsn-ranges.html[2/20/2014 10:09:49 AM] id-pools/vsn/ranges type: object Properties count: category: nextPageUri: prevPageUri: uri: created: start: eTag: members: description: The actual number of resources returned in this page. type: integer description: Resource category used for authorizations and resource type groupings type: string description: URI pointing to the page of resources following the list of resources contained in this collection. type: string description: URI pointing to the page of resources preceding the list of resources contained in this collection. type: string description: The canonical URI of the resource type: string description: Date and time when the resource was created format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])? Z description: The row or record number of the first resource returned in this page. type: integer description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: List of fragments as a member resource type: array Items startAddress: endAddress: fragmentType: description: Defines the start value of this fragment type: string description: Defines the end value of this fragment type: string description: The fragmentType indicating whether its in_use or free enum: type: modified: description: IN_USE FREE string Date and time when the resource was last modified id-pools-vsn-ranges.html[2/20/2014 10:09:49 AM] id-pools/vsn/ranges total: type: format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])? Z description: The total number of resources that would be returned from the query (including any filters), if there was no pagination (or enforced resource limits) employed. type: integer description: Identifies the resource type. This field must be set to 'PaginatedFragmentCollection'. type: string id-pools-vsn-ranges.html[2/20/2014 10:09:49 AM] id-pools/vwwn/ranges HP OneView 1.05 REST API Reference (API Version 4) Updated: February 18, 2014 5:59 MST id-pools/vwwn/ranges This resource provides apis to manage vwwn ranges. A vwwn may be requested, used, and returned. Once returned, the vwwn is reclaimed by the range and available for reuse. The range is accessed by: https://{appl}/id-pools/vwwn/ranges. The REST API (POST, GET, UPDATE, DELETE) supports an 'accept-language' in the request header which defaults to 'en_US'. An 'auth:{token}' in the request header is required. The {token} may be retrieved from https://{appl}/rest/loginsessions. * API Specifications Create /rest/id-pools/vwwn/ranges POST Read Update Resource Model IdRange /rest/id-pools/vwwn/ranges/schema GET /rest/id-pools/vwwn/ranges/{id} GET /rest/id-pools/vwwn/ranges/{id}/allocated-fragments GET Allocator PUT DELETE Collector FragmentList /rest/id-pools/vwwn/ranges/{id}/allocator PUT /rest/id-pools/vwwn/ranges/{id}/collector PUT /rest/id-pools/vwwn/ranges/{id}/free-fragments Delete GET URI: /rest/id-pools/vwwn/ranges Method API POST Creates a vwwn range. A range may be one of two types based upon the range category specified: GENERATED or CUSTOM. The GENERATED range type automatically assigns start and end address to the range. The CUSTOM range type requires a start address to be specified. The end address may also be specified but is optional. Parameter Attributes Description Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes IdRange Required Description Response Description IdRange The DTO describing a vwwn range resource. Response Codes REST API Response Codes Examples The following example shows how to create a vwwn range. id-pools-vwwn-ranges.html[2/20/2014 10:09:50 AM] id-pools/vwwn/ranges POST : https://{appl}/rest/id-pools/vwwn/ranges/ Request Body: { "type": "Range", "name": "VWWN", "prefix": null, "enabled": true, "startAddress": "10:00:38:9d:30:60:00:00", "endAddress": "10:00:38:9d:30:6f:ff:ff", "rangeCategory": "GENERATED", "totalCount": 1048576, "freeIdCount": 1048576, "allocatedIdCount": 0, "defaultRange": true, "allocatorUri": "/rest/id-pools/vwwn/ranges/daa36872-03b1-463b-aaf709d58b650142/allocator" , "collectorUri": "/rest/id-pools/vwwn/ranges/daa36872-03b1-463b-aaf709d58b650142/collector" , "reservedIdCount": 0, "freeFragmentUri": "/rest/id-pools/vwwn/ranges/daa36872-03b1-463b-aaf709d58b650142/free-fragments?start=0&count=-1" , "allocatedFragmentUri": "/rest/id-pools/vwwn/ranges/daa36872-03b1-463b-aaf709d58b650142/allocated-fragments?start=0&count=-1" , "category": "id-range-VWWN", "uri": "/rest/id-pools/vwwn/ranges/daa36872-03b1-463b-aaf709d58b650142" , "eTag": null, "created": "2013-04-08 18:11:18.049", "modified": "2013-04-08 18:11:18.049" } URI: /rest/id-pools/vwwn/ranges/schema Method API GET Get the JSON formatted schema for a vwwn range Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description JsonSchema The JSON schema of the vwwn range. Response Codes id-pools-vwwn-ranges.html[2/20/2014 10:09:50 AM] id-pools/vwwn/ranges REST API Response Codes Examples The following example shows how to get the JSON schema for a vwwn range. https://{appl}/rest/id-pools/vwwn/ranges/schema URI: /rest/id-pools/vwwn/ranges/{id} Method API DELETE Deletes a vwwn range. Parameter Attributes Description force Optional If set to true, the operation completes even if there are network connectivity issues or resource errors. The default is false. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description String Null with the status code "No-Content" Response Codes REST API Response Codes Examples The following example shows how to delete a vwwn range whose identifier is {range-id} DELETE https://{appl}/rest/id-pools/vwwn/ranges/{range-id} GET Gets a vwwn range. Using the allocator, and collector associated with the range, IDs may be allocated from or collected to the range. Parameter Attributes Description view Optional Return a specific subset of the attributes of the resource or collection by specifying the name of a predefined view. The default view is expand (show all attributes of the resource, and all elements of collections or resources). fields Optional Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description IdRange The DTO describing the range. id-pools-vwwn-ranges.html[2/20/2014 10:09:50 AM] id-pools/vwwn/ranges Response Codes REST API Response Codes Examples The following example shows how to get a vwwn range whose identifier is {range-id} GET https://{appl}/rest/id-pools/vwwn/ranges/{range-id} PUT Enables or disables a vwwn range. Parameter Attributes Description force Optional If set to true, the operation completes even if there are network connectivity issues or resource errors. The default is false. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes IdRange Required Description Response Description IdRange The DTO describing the range Response Codes REST API Response Codes Examples The following example shows how to enable or disable a range whose identifier is {range-id} PUT https://{appl}/rest/id-pools/vwwn/ranges/{range-id} Request Body: { "type":"Range", "enabled":true } URI: /rest/id-pools/vwwn/ranges/{id}/allocated-fragments Method API GET Returns all allocated fragments to a vwwn range. Parameter Attributes Description start Optional The 0-based index of the first resource to return (start=0 starts with the first available resource). If the specified count does not return all resources within the maximum allowed time (see count), use the start parameter to view additional resource pages. The default value for start is 0 (first available resource). id-pools-vwwn-ranges.html[2/20/2014 10:09:50 AM] id-pools/vwwn/ranges count Optional Optional parameter that specifies the number of resources to return from each API invocation. The number of resources returned on each call is referred to as a page. If you specify a count, the API attempts to return the specified number of resources, however this may be limited due to response time constraints and/or actual number of resources available to return. The results include the total number of resources that match the filter or query, the actual count returned, and the URIs to go to the next page, previous page, or both. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description FragmentList PaginatedFragmentCollection resource describing all the allocated fragments. Response Codes REST API Response Codes Examples The following example shows how to get the list of fragments that are allocated in a vwwn range. GET : https://{appl}/rest/id-pools/vwwn/ranges/{range-id}/allocatedfragments?start=0&count=-1 URI: /rest/id-pools/vwwn/ranges/{id}/allocator Method API PUT Allocates a set of IDs from a vwwn range. The allocator returned contains the list of IDs successfully allocated. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Allocator Required Description Response Description Allocator The DTO with the allocated IDs. Response Codes REST API Response Codes Examples id-pools-vwwn-ranges.html[2/20/2014 10:09:50 AM] id-pools/vwwn/ranges The following examples shows how to allocate IDs from a vwwn range whose identifer is {range-id} PUT : https://{appl}/rest/id-pools/vwwn/ranges/{range-id}/allocator Request Body: {"count" :10} URI: /rest/id-pools/vwwn/ranges/{id}/collector Method API PUT Collects a set of IDs back to a vwwn range. The collector returned contains the list of IDs successfully collected. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Collector Required Description Response Description Collector The DTO with the count of IDs collected. Response Codes REST API Response Codes Examples The following example shows how to collect a list of IDs from a vwwn range whose identifier is {range-id} PUT : https://{appl}/rest/id-pools/vwwn/ranges/{range-id}/collector Request Body: { "idList":[ "10:00:2c:6c:28:80:00:00" ,"10:00:2c:6c:28:80:00:01" ] } URI: /rest/id-pools/vwwn/ranges/{id}/free-fragments Method API GET Returns all the free fragments to a vwwn range. Parameter Attributes Description start Optional The 0-based index of the first resource to return (start=0 starts with the first available resource). If the specified count does not return all resources within the maximum allowed time (see count), use the start parameter to view additional resource pages. The default value for start is 0 (first available resource). id-pools-vwwn-ranges.html[2/20/2014 10:09:50 AM] id-pools/vwwn/ranges count Optional Optional parameter that specifies the number of resources to return from each API invocation. The number of resources returned on each call is referred to as a page. If you specify a count, the API attempts to return the specified number of resources, however this may be limited due to response time constraints and/or actual number of resources available to return. The results include the total number of resources that match the filter or query, the actual count returned, and the URIs to go to the next page, previous page, or both. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description FragmentList PaginatedFragmentCollection resource describing all the free fragments. Response Codes REST API Response Codes Examples The following example shows how to get the list of free fragments in a vwwn range whose identifier is{range-id} GET : https://{appl}/rest/id-pools/vwwn/ranges/{range-id}/freefragments?start=0&count=-1 IdRange description: Defines a Range resource. Allowed values are vmac,vsn,vwwn type: object Properties category: collectorUri: allocatorUri: name: uri: description: Resource category used for authorizations and resource type groupings type: string description: Uri of the Collector for this Range type: string description: Uri of the Allocator for this Range type: string description: Defined name for the Range type: string description: The canonical URI of the resource type: string id-pools-vwwn-ranges.html[2/20/2014 10:09:50 AM] id-pools/vwwn/ranges allocatedIdCount: endAddress: enabled: description: Count of Ids allocated from this Range type: integer description: The end address of this Range type: string description: Defines the status of the Pool type: boolean defaultRange: type: modified: description: Date and time when the resource was last modified format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9] [0-9][0-9])?Z description: Count of Ids returned to this Range type: integer description: Total count of Ids managed by this Range type: number description: Prefix to be used in front of the generated Ids. An example would the vsn Pool type: string description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Date and time when the resource was created format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9] [0-9][0-9])?Z description: The category of the Range - Generated or User-defined freeIdCount: totalCount: prefix: eTag: created: rangeCategory: boolean enum: allocatedFragmentUri: startAddress: freeFragmentUri: GENERATED CUSTOM type: string description: Uri of allocated fragments for this Range type: string description: The start address of this Range type: string description: Uri of free fragments for this Range id-pools-vwwn-ranges.html[2/20/2014 10:09:50 AM] id-pools/vwwn/ranges reservedIdCount: type: type: string description: Count of Ids reserved in this Range type: integer description: Identifies the resource type. This field must be set to 'Range'. type: string Allocator description: Defines an allocator resource, which contains the list of allocated IDs type: object Properties valid: type: eTag: description: Entity tag/version ID of the resource. This is the same value that is returned in the ETag header on a GET of the resource. type: string description: Defines the number of IDs allocated type: integer description: Defines the list of IDs type: array count: idList: boolean Collector description: Defines a collector resource containing the list of IDs to be collected type: object Properties eTag: idList: description: Entity tag/version ID of the resource. This is the same value that is returned in the ETag header on a GET of the resource. type: string description: Defines the list of IDs to be collected type: array FragmentList id-pools-vwwn-ranges.html[2/20/2014 10:09:50 AM] id-pools/vwwn/ranges description: Defines a Paginated fragment collection to return list of fragments type: object Properties count: category: nextPageUri: prevPageUri: uri: created: start: eTag: members: description: The actual number of resources returned in this page. type: integer description: Resource category used for authorizations and resource type groupings type: string description: URI pointing to the page of resources following the list of resources contained in this collection. type: string description: URI pointing to the page of resources preceding the list of resources contained in this collection. type: string description: The canonical URI of the resource type: string description: Date and time when the resource was created format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])? Z description: The row or record number of the first resource returned in this page. type: integer description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: List of fragments as a member resource type: array Items startAddress: endAddress: fragmentType: description: Defines the start value of this fragment type: string description: Defines the end value of this fragment type: string description: The fragmentType indicating whether its in_use or free enum: type: id-pools-vwwn-ranges.html[2/20/2014 10:09:50 AM] IN_USE FREE string id-pools/vwwn/ranges modified: total: type: description: Date and time when the resource was last modified format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])? Z description: The total number of resources that would be returned from the query (including any filters), if there was no pagination (or enforced resource limits) employed. type: integer description: Identifies the resource type. This field must be set to 'PaginatedFragmentCollection'. type: string id-pools-vwwn-ranges.html[2/20/2014 10:09:50 AM] events HP OneView 1.05 REST API Reference (API Version 4) Updated: February 18, 2014 4:33 MST events The event resource manager provides REST APIs to create an event resource, or to retrieve or delete one or more event resources (optionally using filters). An event resource describes a single, low-level problem or life cycle change in a resource. In many cases the problems are detected by an agent running either on the resource or on the appliance: for example, an SNMP trap from a ProLiant server's Integrated Lights-Out(iLO) management processor. The event resource is very simple. It contains a few key fields, such as event type, description, timestamps, and severity. Also, to support wide variety of event sources, it uses an attribute name/value pair to provide additional event details. For example, the attribute name "ipv4address" and the attribute value "127.0.0.1" can constitute an attribute name/value pair. API Specifications Create Read Update Delete Resource Model /rest/events POST GET EventResourceV2 /rest/events/schema GET EventResourceCollectionV2 /rest/events/{id} GET URI: /rest/events Method API GET Retrieves a list of event resources (optionally using filter). The response body is an array of event resources. If no filter is passed in on the URI, all events will be returned. Parameter Attributes Description start Optional The 0-based index of the first resource to return (start=0 starts with the first available resource). If the specified count does not return all resources within the maximum allowed time (see count), use the start parameter to view additional resource pages. The default value for start is 0 (first available resource). count Optional Optional parameter that specifies the number of resources to return from each API invocation. The number of resources returned on each call is referred to as a page. If you specify a count, the API attempts to return the specified number of resources, however this may be limited due to response time constraints and/or actual number of resources available to return. The results include the total number of resources that match the filter or query, the actual count returned, and the URIs to go to the next page, previous page, or both. sort Optional The sort order of the returned data set. By default, the sort order is based on the create time, with the oldest entry first. view Optional The only supported option for view parameter is viewDescription. If view=viewDescription is specified the description details for all the event items is returned. filter Experimental A general filter string to narrow the list of resources to be returned by a multi-resource GET (get) request. The default events.html[2/20/2014 10:09:51 AM] events is no filter (all resources are returned). The filter parameter is based on the URI filter Language. NOTE: Do NOT use the filter usage defined under standard parameters documentation. The format and usage of this filter parameter is similar to that of the query parameter documented under standard parameters. Format: filter="{attribute} {operator} '{value}'" filter="{attribute} {operator} '{value}'"{multi-filter operator}filter="{attribute} {operator} '{value}'" • {attribute}: the resource attribute being filtered (e.g., model, platform, etc.) • {operator}: one of [ EQ, NE, GT, GE, LE, LT, LIKE, IS NULL, AND, OR , IN ] • {value}: the value of the attribute being filtered. For LIKE this is an expression string, supports SQL wildcard. • {multi-filter operator}: & It is not necessary to use multiple filter expressions since it is possible to combine multiple filter expressions into a single one using the AND operator available in URI Filter Language. All the URI filter language based query strings described in the examples for the query parameter works well for filter parameter. In addition the filter parameter supports multiple filters in the same request. For example:filter="healthCategory='FAN'"&filter= "severity='Critical'" Filter usage examples: GET https://{appl}/rest/events?filter="severity EQ 'Critical'" GET https://{appl}/rest/events?filter="severity EQ 'Critical'"&filter="healthCategory EQ 'FAN'" Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description EventResourceCollectionV2 A collection in JSON format of the requested event resources. The result is returned in pages. Each page contains a maximum of 25 events records. Use the nextPageUri in the collection result to fetch the next collection of records for the same query. Response Codes REST API Response Codes events.html[2/20/2014 10:09:51 AM] events Examples GET https://{appl}/rest/events example: GET https://{appl}/rest/events?start=-1&count=25&filter= "eventTypeID EQ 'Trap.cpqHe4FltTolPowerSupplyFailed'" &filter="healthCategory EQ 'POWER'" The above example retrieves the first filtered 25 events of type power supply failure and the health category of POWER. The above example uses eventTypeID to filter on an SNMP Trap, where the eventTypeID is of the format Trap.<Name of the trap> and the name of the trap is provided in the appropriate SNMP MIB. GET https://{appl}/rest/events?filter="severity EQ 'Critical'" The above example retrieves all the events having a severity of critical. Fields that can be filtered on include: description, eventTypeID, severity, healthCategory, id, rxTime, urgency, created, modified and processed. POST Creates a new event. The request body is an event resource and on a successful completion the response body is the event resource that was created with the URI set. New events can be POSTed to show new issues for a related resource. The EventResourceV2 must have at least one attribute populated in the eventDetails attribute list. Common attributes are defined in the Event Resource class and include ipv4Address, ipv6Address, and resourceURI. After posting an event, an alert is generated. At that time, the processed flag is set to true. A life cycle event is a result of some activity on a resource, such as powering on or off a server or inserting a blade server in an enclosure. The severity of a life cycle event must be set to OK. Parameter Attributes Description Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Description EventResourceV2 Required Information about the event to be posted Response Description EventResourceV2 An object in JSON format of the event that was posted Response Codes REST API Response Codes Examples POST https://{appl}/rest/events" with a request body of events.html[2/20/2014 10:09:51 AM] events { "type":"EventResourceV2", "description":"This is a very simple test event", "severity":"OK", "healthCategory":"PROCESSOR", "eventTypeID":"hp.justATest", "rxTime":"2012-05-14T20:23:56.688Z", "urgency":"None", "eventDetails": [{"eventItemName":"ipv4Address", "eventItemValue":"127.0.0.1", "isThisVarbindData":false, "varBindOrderIndex":-1}] } The above example posts a simple event for a resource whose IPv4 address is 127.0.0.1. URI: /rest/events/schema Method API GET Retrieves the JSON formatted schema for an event Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description JsonSchema An object in JSON format of the requested event Response Codes REST API Response Codes Examples GET https://{appl}/rest/events/schema The above example retrieves the JSON formatted schema for an event. URI: /rest/events/{id} Method API GET Retrieves a particular event using its ID. The response body is the requested event resource. Parameter Attributes Description view Optional The only supported option for view parameter is viewDescription. If view=viewDescription is specified, then the description details for all the event items is returned. events.html[2/20/2014 10:09:51 AM] events Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description EventResourceV2 An object in JSON format of the events schema. Response Codes REST API Response Codes Examples GET https://{appl}/rest/events/{id} or GET https://{appl}/rest/events/{id}?view=viewDescription The above example retrieves a particular event specified in {id}. If users specify the view parameter, it gets descriptions. Otherwise, it will not get descriptions for event items. EventResourceV2 description: An event resource describes a single, low-level problem or life cycle change that has occurred on a resource. The event resource contains a few key fields such as description, timestamps, and severity. In addition to support a wide variety of event sources, an attribute name/value pair map is used to provide additional details of the event. For example:the attribute name ipv4address and the attribute value 127.0.0.1 can constitute an attribute name/value pair. type: object Properties category: severity: description: The category used to help identify this resource. It will always be set to events. readonly: true type: string description: The severity of the event:Unknown - avoid using this value, except on the rare occasions when severity is genuinely not known. OK - indicates normal/informational behavior. Disabled - not a valid severity for an Event and will be obsoleted. Warning - needs attention soon. Critical - needs immediate attention. enum: events.html[2/20/2014 10:09:51 AM] Unknown OK Disabled Warning Critical type: string required: true events created: description: modified: uri: eTag: eventTypeID: events.html[2/20/2014 10:09:51 AM] description: The time that the Event resource was created and stored. The format is an extended ISO 8601 string expressed as UTC format: YYYY-MM-DDThh:mm:ss.sssZ type: string readonly: true pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][09])?Z description: The description of the problem this event relates to. Include enough details to make the problem completely clear to anyone. minLength: 1 required: true type: string maxLength: 1024 description: The time that the Event resource was last modified and stored. The format is an extended ISO 8601 string expressed as UTC format: YYYY-MM-DDThh:mm:ss.sssZ type: string readonly: true pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][09])?Z description: Contains the URI for this event. Use this URI for any of the update operations. This is automatically generated on a creation and cannot be edited. maxLength: 128 type: string minLength: 0 description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Used to uniquely identify the type of the event resource. Typically this is a identifier used to indicate what kind of a problem or change the event resource was created for. For example an eventTypeID could have a format like <source>. <uniqueIdentifier-for-source> and there could be multiple periods in the eventTypeID to further differentiate the ID. For example, an event type of Trap.cpqHo2NicStatusFailed indicates a trap where the NIC was in a failed condition. minLength: 1 required: true type: string maxLength: 255 events processed: eventDetails: description: A flag that indicates if the alert service has processed the event or not. After processing the event, the alert service sets the flag by creating a corresponding alert. This allows the event service to determine whether it needs to resend the event. readonly: true type: boolean description: Contains name, value pairs describing the specific event such as, Trap/WBEM information. If not specified below, the default maximum length of values is 255 characters. Possible keys are:ipv4Address (the value is the ipv4 address of the trap originator), ipv6address (the value is the ipv6 address of the trap originator), resourceUri (the value is the resource URI of the resource), activityUri (If the event was created by some operation in the appliance, this would be the uri of the task resource of the activity that created the event. This can help in tracking the root cause of the event back to the operation that caused it), clearPriorEvents (the value is true or false. If true all alerts having the same resourceUri, healthCategory and alertTypeID (same value as eventTypeID) as this current event, will have their alertState set to alertState.Cleared.), lifeCycle (the value is true or false. If true, implies that this event is a lifecycle event (not a state change event). The status of a lifecycle event will not impact the overall status of the resource.), correctiveAction (The value is the recommended action for a user to take for the corresponding alert. The correctiveAction value can be as long as 1024 characters.), locked (the value is true or false. If true, only a resource manager can clear/delete this alert once the underlying problem is corrected.), resourceID (A unique identifier, specific path or attribute identifying a component within the resource for which the event is created. For example, in a server with a Mezzanine card, physical port, physical function the resourceID may be represented as adapter/1/ports/2/function/4a.) Items eventItemName: eventItemDescription: eventItemSnmpOid: varBindOrderIndex: events.html[2/20/2014 10:09:51 AM] description: The name used to identify this piece of data. Possible values, such as ipv4Address or resourceUri, are found in the EventResource class. required: true type: string description: The description of this event item details. readonly: true type: string description: For SNMP traps, this will be the variable binding object identifier (OID) representing the event item. readonly: true type: string description: This data holds the SNMP trap varbind order events index if this event item represents a SNMP trap varbind data. eventItemValue: isThisVarbindData: healthCategory: type: urgency: events.html[2/20/2014 10:09:51 AM] integer description: The actual value for this item required: true type: string description: This flag is used to indicate whether this event data represents SNMP trap varbind data. type: boolean required: true type: array description: HealthCategory helps provide a coarse grouping for different types of problems, and identifies the category for which this event is created. The following are the valid values for the healthCategory:Appliance, DeviceBay, Enclosure, Fan, Firmware, Host, Instance, InterconnectBay, LogicalSwitch, Logs, ManagementProcessor, Memory, Network, None, Operational, Power, Processor, RemoteSupport, Storage, Thermal, Unknown. maxLength: 255 type: string minLength: 0 description: Identifies the resource type. This field must be set to 'EventResourceV2'. type: string description: The urgency attribute provides the level of urgency related to the event. The following are the valid values for urgency:None, Deferrable, Medium, High, Immediate, Unknown. The urgency level is set to None by default enum: rxTime: type: None Deferrable Medium High Immediate Unknown type: string required: true description: The source timestamp of an externally generated event such as an SNMP trap or WBEM indication was received. The format is an extended ISO 8601 String expressed as UTC format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][09])?Z events EventResourceCollectionV2 description: EventResourceCollectionV2 is a collection of event objects of the type EventResourceV2 objects. type: object Properties count: category: created: prevPageUri: uri: modified: start: eTag: nextPageUri: members: description: The actual number of resources returned in the specified page type: integer description: Resource category used for authorizations and resource type groupings type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])? Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: URI pointing to the page of resources preceding the list of resources contained in the specified collection type: string description: The canonical URI of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])? Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: The row or record number of the first resource returned in the specified page type: integer description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: URI pointing to the page of resources following the list of resources contained in the specified collection type: string type: array Items category: events.html[2/20/2014 10:09:51 AM] description: The category used to help identify this resource. It will always be set to events. events description: created: uri: modified: eTag: eventTypeID: events.html[2/20/2014 10:09:51 AM] type: string readonly: true description: The description of the problem this event relates to. Include enough details to make the problem completely clear to anyone. minLength: 1 required: true type: string maxLength: 1024 description: The time that the Event resource was created and stored. The format is an extended ISO 8601 string expressed as UTC format: YYYY-MM-DDThh:mm:ss.sssZ pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[05][0-9](.[0-9][0-9][0-9])?Z readonly: true type: string description: Contains the URI for this event. Use this URI for any of the update operations. This is automatically generated on a creation and cannot be edited. type: string minLength: 0 maxLength: 128 description: The time that the Event resource was last modified and stored. The format is an extended ISO 8601 string expressed as UTC format: YYYY-MM-DDThh:mm:ss.sssZ pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[05][0-9](.[0-9][0-9][0-9])?Z readonly: true type: string description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Used to uniquely identify the type of the event resource. Typically this is a identifier used to indicate what kind of a problem or change the event resource was created for. For example an eventTypeID could have a format like <source>. <uniqueIdentifier-for-source> and there could be multiple periods in the eventTypeID to further differentiate the ID. For example, an event type of Trap.cpqHo2NicStatusFailed indicates a trap where the NIC was in a failed condition. events processed: eventDetails: minLength: 1 required: true type: string maxLength: 255 description: A flag that indicates if the alert service has processed the event or not. After processing the event, the alert service sets the flag by creating a corresponding alert. This allows the event service to determine whether it needs to resend the event. type: boolean readonly: true description: Items events.html[2/20/2014 10:09:51 AM] Contains name, value pairs describing the specific event such as, Trap/WBEM information. If not specified below, the default maximum length of values is 255 characters. Possible keys are:ipv4Address (the value is the ipv4 address of the trap originator), ipv6address (the value is the ipv6 address of the trap originator), resourceUri (the value is the resource URI of the resource), activityUri (If the event was created by some operation in the appliance, this would be the uri of the task resource of the activity that created the event. This can help in tracking the root cause of the event back to the operation that caused it), clearPriorEvents (the value is true or false. If true all alerts having the same resourceUri, healthCategory and alertTypeID (same value as eventTypeID) as this current event, will have their alertState set to alertState.Cleared.), lifeCycle (the value is true or false. If true, implies that this event is a lifecycle event (not a state change event). The status of a lifecycle event will not impact the overall status of the resource.), correctiveAction (The value is the recommended action for a user to take for the corresponding alert. The correctiveAction value can be as long as 1024 characters.), locked (the value is true or false. If true, only a resource manager can clear/delete this alert once the underlying problem is corrected.), resourceID (A unique identifier, specific path or attribute identifying a component within the resource for which the event is created. For example, in a server with a Mezzanine card, physical port, physical function the resourceID may be represented as adapter/1/ports/2/function/4a.) events eventItemName: eventItemDescription: isThisVarbindData: eventItemValue: varBindOrderIndex: eventItemSnmpOid: healthCategory: events.html[2/20/2014 10:09:51 AM] description: The name used to identify this piece of data. Possible values, such as ipv4Address or resourceUri, are found in the EventResource class. required: true type: string description: The description of this event item details. type: string readonly: true description: This flag is used to indicate whether this event data represents SNMP trap varbind data. type: boolean description: The actual value for this item required: true type: string description: This data holds the SNMP trap varbind order index if this event item represents a SNMP trap varbind data. type: integer description: For SNMP traps, this will be the variable binding object identifier (OID) representing the event item. type: string readonly: true required: true type: array description: HealthCategory helps provide a coarse grouping for different types of problems, and identifies the category for which this event is created. The following are the valid values for the healthCategory:Appliance, DeviceBay, Enclosure, Fan, Firmware, Host, Instance, InterconnectBay, LogicalSwitch, Logs, ManagementProcessor, Memory, Network, None, Operational, Power, Processor, RemoteSupport, Storage, Thermal, Unknown. type: string minLength: 0 maxLength: 255 events rxTime: type: urgency: description: The source timestamp of an externally generated event such as an SNMP trap or WBEM indication was received. The format is an extended ISO 8601 String expressed as UTC pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[05][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Identifies the resource type. This field must be set to 'EventResourceV2'. type: string description: The urgency attribute provides the level of urgency related to the event. The following are the valid values for urgency:None, Deferrable, Medium, High, Immediate, Unknown. The urgency level is set to None by default enum: severity: type: string required: true description: The severity of the event:Unknown - avoid using this value, except on the rare occasions when severity is genuinely not known. OK - indicates normal/informational behavior. Disabled - not a valid severity for an Event and will be obsoleted. Warning - needs attention soon. Critical - needs immediate attention. enum: total: type: None Deferrable Medium High Immediate Unknown Unknown OK Disabled Warning Critical type: string required: true description: The total number of resources that would be returned from the query (including any filters), without pagination or enforced resource limits type: integer description: Identifies the resource type. This field must be set to 'EventResourceCollectionV2'. type: string events.html[2/20/2014 10:09:51 AM] logical-interconnects HP OneView 1.05 REST API Reference (API Version 4) Updated: February 18, 2014 5:46 MST logical-interconnects This resource manages logical interconnects. A logical interconnect aggregates one or more interconnects with a common configuration, providing L2/L3 Ethernet and Fibre Channel connectivity to a set of downlinks and uplinks. Downlinks provide connectivity to servers. Uplinks provide connectivity to data center interconnect infrastructure and corresponding network resources. Uplinks are grouped into uplink sets and managed as a unit with an assigned set of one or more networks. The network assignment of the uplink set determines the traffic carried over the uplinks. Networks are also assigned to connections, and connections are assigned to downlinks. The networks assigned to a connection determine the traffic carried over a downlink. The logical interconnect also centralizes the configuration of interconnect firmware, telemetry, and SNMP, including common settings such as IGMP snooping, MAC chache failover, and loop protection. A logical interconnect is constructed from a logical interconnect group. The logical interconnect group serves as the initial and ongoing reference for the structure of the logical interconnect. A logical interconnect is monitored for consistency to its reference logical interconnect group. If the logical interconnect transitions to a 'not consistent' state (because of changes in either the logical interconnect or the logical interconnect group), it receives a request to return to a consistent state. The logical interconnect is also monitored for its stacking health (BiConnected, Connected, and Disconnected) and for its overall health status regarding the network connectivity it provides. The interconnect map determines the physical membership of interconnects within a logical interconnect. The interconnect map is a set of locations, with the interconnect type (and firmware version) permitted at each location. When an interconnect with the correct interconnect type and firmware version is found at a location, it is placed under management. It receives the current logical interconnect configuration, which is maintained thereafter. The REST API (POST, GET, UPDATE, DELETE) supports an 'accept-language' in the request header. The default is 'en_US'. An 'auth:{token}' in the request header is required. The {token} may be retrieved from https://{appl}/rest/login-sessions. API Specifications Create /rest/logical-interconnects Read Update Delete GET /rest/logical-interconnects/locations/interconnects Resource Model LogicalInterconnect POST DELETE InterconnectSettings /rest/logical-interconnects/schema GET LIFirmware /rest/logical-interconnects/{id} GET LIFirmwareState /rest/logical-interconnects/{id}/compliance /rest/logical-interconnects/{id}/firmware GET /rest/logical-interconnects/{id}/settings /rest/logical-interconnects/{id}/snmp-configuration GET /rest/logical-interconnects/{id}/support-dumps PUT LILoginRedistribute PUT LogicalInterconnectCollection PUT PortMonitor PUT TelemetryConfiguration POST /rest/logical-interconnects/{id}/unassignedUplinkPortsForPortMonitor Location GET /rest/logical-interconnects/{lsId}/configuration SnmpAccessIp PUT /rest/logical-interconnects/{lsId}/port-monitor GET PUT /rest/logical-interconnects/{lsId}/telemetry-configurations/{tcId} GET PUT URI: /rest/logical-interconnects Method API GET Gets a paginated collection of logical interconnects based on optional sorting and filtering, and constrained by start and count parameters. TrapDestination Parameter Attributes Description start Optional The 0-based index of the first resource to return (start=0 starts with the first available resource). If the specified count does not return all resources within the maximum allowed time (see count), use the start parameter to view additional resource pages. The default value for start is 0 (first available resource). logical-interconnects.html[2/20/2014 10:09:52 AM] logical-interconnects count Optional Optional parameter that specifies the number of resources to return from each API invocation. The number of resources returned on each call is referred to as a page. If you specify a count, the API attempts to return the specified number of resources, however this may be limited due to response time constraints and/or actual number of resources available to return. The results include the total number of resources that match the filter or query, the actual count returned, and the URIs to go to the next page, previous page, or both. sort Optional The sort order of the returned data set. By default, the sort order is based on the create time, with the oldest entry first. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description LogicalInterconnectCollection A paginated collection of logical interconnects resources Response Codes REST API Response Codes Examples Get the first 10 logical interconnects in the domain: GET https://{appl}/rest/logical-interconnects?start=0&count=10 Get all logical interconnects in the domain: GET https://{appl}/rest/logical-interconnects URI: /rest/logical-interconnects/locations/interconnects Method API POST Adds an interconnect at the given location. Parameter Attributes Description Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Description Location Required The location where an interconnect is to be added Response Description TaskResourceV2 An object that can be used to track the progress of the interconnect addition operation to completion Response Codes REST API Response Codes Examples Add a interconnect at the specified location: POST https://{appl}/rest/logical-interconnects/locations/interconnects logical-interconnects.html[2/20/2014 10:09:52 AM] logical-interconnects DELETE Removes an interconnect from a location. Parameter Attributes Description location Required The location of the interconnect to be removed Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description TaskResourceV2 An object that can be used to track the progress of the interconnect removal operation to completion Response Codes REST API Response Codes Examples Remove an interconnect in the specified location: DELETE https://{appl}/rest/logical-interconnects/locations/interconnects?location=Enclosure:/rest/enclosures/09XXX,Bay:1 URI: /rest/logical-interconnects/schema Method API GET Gets the JSON schema for the logical interconnect. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description JsonSchema The JSON schema for this resource Response Codes REST API Response Codes Examples Generates the JSON schema for the resource: GET https://{appl}/rest/logical-interconnects/schema URI: /rest/logical-interconnects/{id} Method API GET Gets a logical interconnect. Parameter Attributes Description Request Header Attributes Description logical-interconnects.html[2/20/2014 10:09:52 AM] logical-interconnects REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description LogicalInterconnect The requested logical interconnect resource Response Codes REST API Response Codes Examples Get the logical interconnect that matches ID 67fc1f1a-b52b-404a-bc60-6e18e75d90cf: GET https://{appl}/rest/logical-interconnects/67fc1f1a-b52b-404a-bc60-6e18e75d90cf URI: /rest/logical-interconnects/{id}/compliance Method API PUT Returns a logical interconnect to a consistent state. The current logical interconnect state is compared to the associated logical interconnect group. Any differences identified are corrected, bringing the logical interconnect back to a consistent state. Changes are asynchronously applied to all managed interconnects. Note that if the changes detected involve differences in the interconnect map between the logical interconnect group and the logical interconnect, the process of bringing the logical interconnect back to a consistent state may involve automatically removing existing interconnects from management and/or adding new interconnects for management. Parameter Attributes Description Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description TaskResourceV2 An object that can be used to track the progress of the compliance operation to completion Response Codes REST API Response Codes Examples Return the logical interconnect with ID {id} to a consistent state: PUT https://{appl}/rest/logical-interconnects/{id}/compliance URI: /rest/logical-interconnects/{id}/firmware Method API PUT Installs firmware to a logical interconnect. The three operations that are supported for the firmware update are STAGE (uploads firmware to the interconnect), ACTIVATE (installs firmware on the interconnect) and UPDATE (which does a STAGE and ACTIVATE in a sequential manner). Parameter Attributes Description force Optional If set to true, the operation completes even if there are network connectivity issues or resource errors. The default is false. Request Header Attributes Description logical-interconnects.html[2/20/2014 10:09:52 AM] logical-interconnects REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes LIFirmware Required Description Response Description TaskResourceV2 An object that can be used to track the progress of the firmware update operation to completion Response Codes REST API Response Codes Examples The following examples show the various options that are available for performing a firmware update operation. Stage firmware: The following example shows how to perform a STAGE operation on the logical interconnect. The stage operation uploads the firmware image onto the interconnect module but does not yet activate it. This operation can be performed if you want to load a new firmware image to the interconnect module, but do not want to activate it yet. Also note that the firmware will be automatically activated if the switch is rebooted manually after performing a STAGE operation. This operation is allowed only if the state of the logical interconnect is one among UNINITIALIZED, PARTIALLY_STAGED,STAGING_FAILED. The force flag needs to be set to true in case the same firmware baseline needs to be staged again onto the interconnects. PUT https://{appl}/rest/logical-interconnects/d0432852-28a7-4060-ba49-57ca973ef6c2/firmware Payload : '{"command": "STAGE", "sppUri": "/rest/firmware-drivers/SPPBLRH2012100_2012_1119_FusionBeta", "force": false/true }' Activate staged firmware: The following example shows how to perform an ACTIVATE operation on the logical interconnect. The activate operation activates the last staged firmware on the interconnect. This operation is allowed only if the state of the logical interconnect is one among STAGED,PARTIALLY_ACTIVATED,ACTIVATION_FAILED. * PUT https://{appl}/rest/logical-interconnects/d0432852-28a7-4060-ba49-57ca973ef6c2/firmware Payload : '{"command": "ACTIVATE", "sppUri": "/rest/firmware-drivers/SPPBLRH201100_2012_1119_FusionBeta", "interconnects": [ {"interconnectUri": "/rest/interconnects/46a290c3-323f-4991-9764-ce9ec8e1621a"}, {"interconnectUri": "/rest/interconnects/9364b626-8548-498c-945d-1f6f48f95180"}..] }' Update firmware : The following example shows how to perform an UPDATE operation on the logical interconnect. The update operation stages and activates the provided firmware baseline on the interconnect. This operation is allowed only if the state of the logical interconnect is one among UNINITIALIZED,STAGED, PARTIALLY_STAGED,STAGING_FAILED,PARTIALLY_ACTIVATED,ACTIVATION_FAILED The force flag needs to be set to true in case the same firmware baseline needs to be updated again onto the interconnects. PUT https://{appl}/rest/logical-interconnects/d0432852-28a7-4060-ba49-57ca973ef6c2/firmware Payload : '{"command": "UPDATE", "sppUri": "/rest/firmware-drivers/SPPBLRH2012100_2012_1119_FusionBeta", "force": false/true }' logical-interconnects.html[2/20/2014 10:09:52 AM] logical-interconnects GET Gets the installed firmware for a logical interconnect. Parameter Attributes Description Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description LIFirmware The logical interconnect firmware DTO Response Codes REST API Response Codes Examples Get the installed firmware for a logical interconnect with a specified ID {id}, for example d0432852-28a7-4060-ba49-57ca973ef6c2: GET https://{appl}/rest/logical-interconnects/{id}/firmware URI: /rest/logical-interconnects/{id}/settings Method API PUT Updates interconnect settings on the logical interconnect. Changes to interconnect settings are asynchronously applied to all managed interconnects. Parameter Attributes Description force Optional If set to true, the operation completes even if there are network connectivity issues or resource errors. The default is false. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Description InterconnectSettings Required The updated interconnect settings object Response Description TaskResourceV2 An object that can be used to track the progress of the update setting operation to completion Response Codes REST API Response Codes Examples Update the interconnect settings on the logical interconnect that matches ID d0432852-28a7-4060-ba49-57ca973ef6c2: PUT https://{appl}/rest/logical-interconnects/d0432852-28a7-4060-ba49-57ca973ef6c2/settings URI: /rest/logical-interconnects/{id}/snmp-configuration Method API logical-interconnects.html[2/20/2014 10:09:52 AM] logical-interconnects PUT Updates the SNMP configuration of a logical interconnect. Changes to the SNMP configuration are asynchronously applied to all managed interconnects. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Description SnmpConfiguration Required The desired state SNMP configuration Response Description TaskResourceV2 An object that can be used to track the progress of the SNMP configuration update operation to completion Response Codes REST API Response Codes Examples Update the SNMP configuration on the logical interconnect that matches ID d0432852-28a7-4060-ba49-57ca973ef6c2: PUT https://{appl}/rest/logical-interconnects/d0432852-28a7-4060-ba49-57ca973ef6c2/snmp-configuration GET Gets the SNMP configuration for a logical interconnect. Parameter Attributes Description view Optional Return a specific subset of the attributes of the resource or collection by specifying the name of a predefined view. The default view is expand (show all attributes of the resource, and all elements of collections or resources). fields Optional Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description SnmpConfiguration The SNMP configuration for the logical interconnect with the given ID Response Codes REST API Response Codes Examples Get the SNMP configuration on the logical interconnect that matches ID d0432852-28a7-4060-ba49-57ca973ef6c2: GET https://{appl}/rest/logical-interconnects/d0432852-28a7-4060-ba49-57ca973ef6c2/snmp-configuration URI: /rest/logical-interconnects/{id}/support-dumps Method API POST Generates a logical interconnect support dump. This is a synchronous call. If successful, it returns the dump file information along with completion status of the operation (Completed or Warning), and a short summary of the operation result. logical-interconnects.html[2/20/2014 10:09:52 AM] logical-interconnects Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Description SwitchDumpGenerationInfo Required The interconnect support dump generation request data. Consists of an optional error code to be included as part of the resulting support dump file name Response Description SwitchDumpDataInfo The interconnect support dump data information Response Codes REST API Response Codes Examples Generate a support dump on the logical interconnect with ID d0432852-28a7-4060-ba49-57ca973ef6c2: POST https://{appl}/rest/logical-interconnects/d0432852-28a7-4060-ba49-57ca973ef6c2/support-dumps URI: /rest/logical-interconnects/{id}/unassignedUplinkPortsForPortMonitor Method API GET Gets a collection of uplink ports from the member interconnects which are eligible for assignment to an analyzer port. To be eligible a port must be a valid uplink, must not be a member of an existing uplink set and must not currently be used for stacking. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description PortMonitorUplinkPortCollection A paginated collection of uplink port resources that are port monitor capable Response Codes REST API Response Codes Examples Gets a collection of uplink ports from the member interconnects which are eligible for assignment to an analyzer port. To be eligible a port must be a valid uplink, must not be a member of an existing uplink set and must not currently be used for stacking. GET https://{appl}/rest/logical-interconnect/{id}/unassignedUplinkPortsForPortMonitor/" URI: /rest/logical-interconnects/{lsId}/configuration Method API PUT Asynchronously applies or re-applies the logical interconnect configuration to all managed interconnects. Parameter Attributes Description Request Attributes Description logical-interconnects.html[2/20/2014 10:09:52 AM] logical-interconnects Header REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description TaskResourceV2 An object that can be used to track the progress of the configuration operation to completion Response Codes REST API Response Codes Examples Update the configuration on the logical interconnect that matches ID d0432852-28a7-4060-ba49-57ca973ef6c2: PUT https://{appl}/rest/logical-interconnects/d0432852-28a7-4060-ba49-57ca973ef6c2/configuration URI: /rest/logical-interconnects/{lsId}/port-monitor Method API GET Gets the port monitor configuration of a logical interconnect. Parameter Attributes Description Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description PortMonitor The port monitor configuration Response Codes REST API Response Codes Examples Get the port monitor configuration on the logical interconnect that matches ID d0432852-28a7-4060-ba49-57ca973ef6c2: GET https://{appl}/rest/logical-interconnects/d0432852-28a7-4060-ba49-57ca973ef6c2/port-monitor PUT Updates the port monitor configuration of a logical interconnect. Parameter Attributes Description Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Description PortMonitor Required The port monitor configuration resource Response Description TaskResourceV2 An object that can be used to track the progress of the update operation to completion logical-interconnects.html[2/20/2014 10:09:52 AM] logical-interconnects Response Codes REST API Response Codes Examples Update the port monitor configuration on the logical interconnect that matches ID d0432852-28a7-4060-ba49-57ca973ef6c2: PUT https://{appl}/rest/logical-interconnects/d0432852-28a7-4060-ba49-57ca973ef6c2/port-monitor URI: /rest/logical-interconnects/{lsId}/telemetry-configurations/{tcId} Method API PUT Updates the telemetry configuration of a logical interconnect. Changes to the telemetry configuration are asynchronously applied to all managed interconnects. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Description TelemetryConfiguration Required The desired state telemetry configuration Response Description TelemetryConfiguration The updated telemetry configuration Response Codes REST API Response Codes Examples Update the telemetry configuration that matches ID f4c45fc6-8fd6-459f-89cb-8c6c98766c06 on the logical interconnect that matches ID d0432852-28a7-4060-ba49-57ca973ef6c2: PUT https://{appl}/rest/logical-interconnects/d0432852-28a7-4060-ba49-57ca973ef6c2/telemetry-configurations/f4c45fc6-8fd6459f-89cb-8c6c98766c06 GET Gets the telemetry configuration of a logical interconnect. Parameter Attributes Description Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description TelemetryConfiguration The requested telemetry configuration resource Response Codes REST API Response Codes Examples Get the telemetry configuration that matches ID f4c45fc6-8fd6-459f-89cb-8c6c98766c06 on the logical interconnect that matches ID d0432852-28a7-4060-ba49-57ca973ef6c2: GET https://{appl}/rest/logical-interconnects/d0432852-28a7-4060-ba49-57ca973ef6c2/telemetry-configurations/f4c45fc6-8fd6logical-interconnects.html[2/20/2014 10:09:52 AM] logical-interconnects 459f-89cb-8c6c98766c06 LogicalInterconnect description: A logical interconnect aggregates one or more interconnects with a common configuration and the goal of providing both L2/L3 Ethernet and Fibre Channel connectivity to a set of downlinks and uplinks. type: object Properties status: category: stackingHealth: description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown - should be avoided, but there may be rare occasions where status is Unknown; OK - indicates normal/informational behavior; Disabled - indicates that a resource is not operational; Warning - needs attention soon; Critical - needs immediate attention. type: string description: Resource category used for authorizations and resource type groupings type: string description: The overall topology state of the logical interconnect. 'BiConnected' indicates a redundant path to all interconnects. 'Connected' indicates a single path to all interconnects. 'Disconnected' indicates that the logical interconnect is no longer connected and contains one or more interconnect stacking islands. type: string enum: logicalInterconnectGroupUri: interconnectMap: Unknown Connected BiConnected Disconnected description: The logical interconnect group URI type: string description: The logical interconnect occupancy map describing the required interconnect type (if any) at each location and the associated logical downlink. A logical downlink describes the set of networks available to connections at each location. type: object Properties interconnectMapEntries: description: An array of logical interconnect occupancy maps type: array Items interconnectUri: logicalDownlinkUri: logical-interconnects.html[2/20/2014 10:09:52 AM] description: The interconnect URI for this interconnect map entry type: string description: The logical downlink associated with this interconnect map entry. A logical downlink describes the set of networks available for an interconnect at this location. type: string readonly: true logical-interconnects location: description: The location to which this entry applies represented as a collection of name:value pairs. For example, an interconnect in a C-Class enclosure will be described as:ENCLOSURE:{enclosure uri}, BAY:{bay number}. type: object Properties locationEntries: description: A set of location entries type: array Items type: description: Location type. Can be enclosure, bay or port type: string enum: value: permittedInterconnectTypeUri: interconnects: created: enclosureUris: fusionDomainUri: consistencyStatus: logical-interconnects.html[2/20/2014 10:09:52 AM] Port Bay Enclosure description: The value associated with corresponding location type type: string description: The interconnect type permitted at this location. The interconnect type is a composite of structural information describing the interconnect:its model number, firmware requirement, downlink and uplink port structure, and so on. type: string description: A list of interconnect URIs contained by the logical interconnect required: true type: array description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: A set of enclosure URIs to which the logical interconnect is associated, the enclosures in turn provide the interconnect inventory required: true type: array description: The HP OneView domain URI required: true type: string description: The consistency status of the logical interconnect. 'Consistent' means that the logical interconnect has a configuration that is consistent with the logical-interconnects associated logical interconnect group. 'NotConsistent' means that logical interconnect no longer has a configuration that is consistent with the associated logical interconnect group. type: string enum: portMonitor: CONSISTENT NOT_CONSISTENT description: The port monitor configuration type: object Properties status: category: analyzerPort: description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown - should be avoided, but there may be rare occasions where status is Unknown; OK - indicates normal/informational behavior; Disabled - indicates that a resource is not operational; Warning - needs attention soon; Critical - needs immediate attention. type: string description: Resource category used for authorizations and resource type groupings type: string description: Analyzer port type: object Properties portStatus: description: The current status for the analyzer or monitored ports type: string enum: portHealthStatus: description: Indicates if the port is operating normally, has been disabled, or has encountered any errors or warnings type: string enum: portMonitorConfigInfo: logical-interconnects.html[2/20/2014 10:09:52 AM] Normal Warning Error Disabled description: Indicates the mode this port is in. For an analyzer port this would be set to 'AnalyzerPort' type: string enum: portUri: Linked Unlinked Unknown NotMonitored MonitoredToServer MonitoredFromServer MonitoredBoth AnalyzerPort description: The URI of the analyzer/monitored port(s) type: string logical-interconnects interconnectUri: portName: interconnectName: bayNumber: description: created: enablePortMonitor: monitoredPorts: description: The URI of the interconnect that the analyzer or monitored ports are defined on type: string description: The name of the Analyzer port as it appears on the interconnect faceplate, for example 'X1'. For the Monitored port this would be the name of the downlink port, for example 'd1' type: string description: The name of the interconnect (plus the bay number) that the analyzer or monitored ports are defined on type: string description: The interconnect bay number that the analyzer or monitored ports reside on type: integer description: Brief description of the resource type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Enables or disables port monitoring default: false required: true type: boolean description: List of all monitored ports type: array Items portStatus: description: The current status for the analyzer or monitored ports type: string enum: portHealthStatus: description: Indicates if the port is operating normally, has been disabled, or has encountered any errors or warnings type: string enum: portMonitorConfigInfo: logical-interconnects.html[2/20/2014 10:09:52 AM] Linked Unlinked Unknown description: Normal Warning Error Disabled Indicates the mode this port is in. For an analyzer port this would be set to logical-interconnects 'AnalyzerPort' type: string enum: portUri: interconnectUri: portName: interconnectName: bayNumber: uri: state: eTag: modified: type: name: telemetryConfiguration: logical-interconnects.html[2/20/2014 10:09:52 AM] NotMonitored MonitoredToServer MonitoredFromServer MonitoredBoth AnalyzerPort description: The URI of the analyzer/monitored port(s) type: string description: The URI of the interconnect that the analyzer or monitored ports are defined on type: string description: The name of the Analyzer port as it appears on the interconnect faceplate, for example 'X1'. For the Monitored port this would be the name of the downlink port, for example 'd1' type: string description: The name of the interconnect (plus the bay number) that the analyzer or monitored ports are defined on type: string description: The interconnect bay number that the analyzer or monitored ports reside on type: integer description: The canonical URI of the resource type: string description: Current state of the resource type: string description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Identifies the resource type. This field must be set to 'port-monitor'. type: string description: Display name for the resource type: string description: The controls for collection of interconnect statistics type: object logical-interconnects Properties status: category: name: created: sampleCount: enableTelemetry: uri: modified: state: eTag: logical-interconnects.html[2/20/2014 10:09:52 AM] description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown - should be avoided, but there may be rare occasions where status is Unknown; OK - indicates normal/informational behavior; Disabled - indicates that a resource is not operational; Warning - needs attention soon; Critical - needs immediate attention. type: string description: Resource category used for authorizations and resource type groupings type: string description: Display name for the resource type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Telemetry sample count (circular list) default: 12 required: true maximum: 102 minimum: 1 type: integer description: Enables or disables telemetry default: true required: true type: boolean description: The canonical URI of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Current state of the resource type: string description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string logical-interconnects sampleInterval: type: description: name: state: snmpConfiguration: Telemetry sample interval in seconds default: 300 required: true maximum: 300 minimum: 1 type: integer description: Identifies the resource type. This field must be set to 'telemetry-configuration'. type: string description: Brief description of the resource type: string description: Display name for the resource type: string description: The current resource state of the Logical Interconnect. The supported values are enumerated in the table below. type: string enum: eTag: description: Active Degraded Failed Unknown description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: The SNMP configuration for this logical interconnect type: object Properties status: category: name: readCommunity: created: logical-interconnects.html[2/20/2014 10:09:52 AM] description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown - should be avoided, but there may be rare occasions where status is Unknown; OK - indicates normal/informational behavior; Disabled - indicates that a resource is not operational; Warning - needs attention soon; Critical - needs immediate attention. type: string description: Resource category used for authorizations and resource type groupings type: string description: Display name for the resource type: string description: Authentication string for read-only access default: public type: string description: Date and time when the resource was created logical-interconnects enabled: uri: modified: systemContact: pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Used to enable/disable SNMP default: false type: boolean description: The canonical URI of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Person to notify when system problems occur default: state: eTag: snmpAccess: trapDestinations: type: string description: Current state of the resource type: string description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: The access list allowed for GET operations type: array description: The list of configured trap destinations type: array Items enetTrapCategories: vcmTrapCategories: trapSeverities: communityString: logical-interconnects.html[2/20/2014 10:09:52 AM] description: Filter the traps for this trap destination by the list of configured Ethernet traps type: array description: Filter the traps for this trap destination by the list of configured VCM traps type: array description: Filter the traps for this trap destination by the list of configured severities type: array description: Authentication string for the trap destination default: public type: string logical-interconnects fcTrapCategories: trapDestination: description: Filter the traps for this trap destination by the list of configured Fibre Channel traps type: array description: The trap destination IP address or host name default: trapFormat: type: string description: The trap format (SNMP version) for this trap destination default: SNMPv1 type: string enum: type: description: modified: ethernetSettings: SNMPv1 SNMPv2 description: Identifies the resource type. This field must be set to 'snmp-configuration'. type: string description: Brief description of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: The Ethernet settings for interconnects contained by a logical interconnect type: object Properties interconnectType: description: The type of the network this will be used for default: Ethernet type: string enum: status: igmpIdleTimeoutInterval: logical-interconnects.html[2/20/2014 10:09:52 AM] Ethernet FibreChannel readonly: true description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown - should be avoided, but there may be rare occasions where status is Unknown; OK indicates normal/informational behavior; Disabled - indicates that a resource is not operational; Warning needs attention soon; Critical - needs immediate attention. type: string description: IGMP snooping idle time out intervals in seconds default: 260 type: integer logical-interconnects macRefreshInterval: name: created: enableNetworkLoopProtection: enableFastMacCacheFailover: uri: enableIgmpSnooping: state: eTag: modified: logical-interconnects.html[2/20/2014 10:09:52 AM] maximum: 3600 minimum: 1 description: MAC Cache Fail Over refresh intervals in seconds default: 5 type: integer maximum: 30 minimum: 1 description: A user friendly name type: string readonly: true description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Enables or disables network loop protection default: true type: boolean description: This will cause Ethernet packets to be tranmitted on newly-active links. default: true type: boolean description: The canonical URI of the resource type: string description: Internet Group Management protocol (IGMP) allows modules to monitor the IGMP IP multicast membership activities. default: false type: boolean description: Current state of the resource type: string description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string logical-interconnects dependentResourceUri: category: type: id: description: uri: type: description: format: YYYY-MM-DDThh:mm:ss.sssZ description: The URI which the setting will be applied to. This returned value will be either logical interconnect or logical interconnect template URI. type: string readonly: true description: Resource category used for authorizations and resource type groupings type: string description: Identifies the resource type. This field must be set to 'EthernetInterconnectSettings'. type: string description: Ignore this because it is not needed, and it will be taken out later. type: string readonly: true description: Brief description of the resource type: string description: The canonical URI of the resource type: string description: Identifies the resource type. This field must be set to 'logical-interconnect'. type: string description: Brief description of the resource type: string InterconnectSettings type: object Properties status: category: description: description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown - should be avoided, but there may be rare occasions where status is Unknown; OK - indicates normal/informational behavior; Disabled - indicates that a resource is not operational; Warning - needs attention soon; Critical - needs immediate attention. type: string description: Resource category used for authorizations and resource type groupings type: string description: Brief description of the resource type: string created: logical-interconnects.html[2/20/2014 10:09:52 AM] logical-interconnects uri: modified: state: description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: The canonical URI of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: The current resource state of the Interconnect Settings. The supported values are enumerated in the table below. type: string enum: eTag: ethernetSettings: Active Degraded Failed Unknown description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Interconnect settings for Ethernet interconnect(s) type: object Properties interconnectType: description: The type of the network this will be used for default: Ethernet type: string enum: status: igmpIdleTimeoutInterval: logical-interconnects.html[2/20/2014 10:09:52 AM] Ethernet FibreChannel readonly: true description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown - should be avoided, but there may be rare occasions where status is Unknown; OK - indicates normal/informational behavior; Disabled - indicates that a resource is not operational; Warning - needs attention soon; Critical - needs immediate attention. type: string description: IGMP snooping idle time out intervals in seconds default: 260 type: integer maximum: 3600 logical-interconnects macRefreshInterval: name: created: enableNetworkLoopProtection: enableFastMacCacheFailover: uri: enableIgmpSnooping: state: eTag: modified: dependentResourceUri: logical-interconnects.html[2/20/2014 10:09:52 AM] minimum: 1 description: MAC Cache Fail Over refresh intervals in seconds default: 5 type: integer maximum: 30 minimum: 1 description: A user friendly name type: string readonly: true description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Enables or disables network loop protection default: true type: boolean description: This will cause Ethernet packets to be tranmitted on newly-active links. default: true type: boolean description: The canonical URI of the resource type: string description: Internet Group Management protocol (IGMP) allows modules to monitor the IGMP IP multicast membership activities. default: false type: boolean description: Current state of the resource type: string description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: The URI which the setting will be applied to. This returned value will be either logical interconnect or logical interconnect logical-interconnects template URI. category: type: id: description: type: name: type: string readonly: true description: Resource category used for authorizations and resource type groupings type: string description: Identifies the resource type. This field must be set to 'EthernetInterconnectSettings'. type: string description: Ignore this because it is not needed, and it will be taken out later. type: string readonly: true description: Brief description of the resource type: string description: Identifies the resource type. This field must be set to 'InterconnectSettings'. type: string description: Display name for the resource type: string LIFirmware type: object Properties state: description: State of LiFirmware type: string enum: interconnects: UNKNOWN UNINITIALIZED STAGING STAGED STAGING_FAILED PARTIALLY_STAGED ACTIVATING ACTIVATED PARTIALLY_ACTIVATED ACTIVATION_FAILED description: Selected interconnects on LI. Valid interconnect states are Configured,Config Error, Maintenance and Unmanaged type: array Items state: logical-interconnects.html[2/20/2014 10:09:52 AM] type: string logical-interconnects enum: force: command: sppUri: type: string sppName: type: string interconnectUri: type: string deviceType: type: string installedFw: type: string desiredFw: type: string updateFlagDesc: type: string interconnectName: type: string description: For force Firmware UPDATE/STAGE type: boolean description: Operation type: string enum: fwBaseline: sppUri: sppName: STAGE ACTIVATE UPDATE NONE required: true description: Firmware version ID type: string description: URI of the SSP bundle in which switch firmware is present type: string required: true description: SPP name type: string LIFirmwareState type: Applying Activating Applied Activated Active Staging_Failed Activation_Failed Uninitialized object Properties logical-interconnects.html[2/20/2014 10:09:52 AM] logical-interconnects valid: errorMessage: description: Logical Interconnect is in valid state for firmware or not type: boolean description: Error message encountered in validation type: string LILoginRedistribute type: object Properties uplinkSets: description: A list of uplink set URIs that this logical interconnect contains type: array required: true LogicalInterconnectCollection type: object Properties count: category: created: prevPageUri: uri: modified: description: The actual number of resources returned in the specified page type: integer description: Resource category used for authorizations and resource type groupings type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: URI pointing to the page of resources preceding the list of resources contained in the specified collection type: string description: The canonical URI of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string logical-interconnects.html[2/20/2014 10:09:52 AM] logical-interconnects start: eTag: nextPageUri: members: format: YYYY-MM-DDThh:mm:ss.sssZ description: The row or record number of the first resource returned in the specified page type: integer description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: URI pointing to the page of resources following the list of resources contained in the specified collection type: string description: An array of LogicalInterconnects type: array Items status: category: consistencyStatus: description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown - should be avoided, but there may be rare occasions where status is Unknown; OK - indicates normal/informational behavior; Disabled - indicates that a resource is not operational; Warning - needs attention soon; Critical - needs immediate attention. type: string description: Resource category used for authorizations and resource type groupings type: string description: The consistency status of the logical interconnect. 'Consistent' means that the logical interconnect has a configuration that is consistent with the associated logical interconnect group. 'NotConsistent' means that logical interconnect no longer has a configuration that is consistent with the associated logical interconnect group. enum: type: interconnectMap: CONSISTENT NOT_CONSISTENT string description: The logical interconnect occupancy map describing the required interconnect type (if any) at each location and the associated logical downlink. A logical downlink describes the set of networks available to connections at each location. type: object Properties interconnectMapEntries: description: An array of logical interconnect occupancy maps type: array Items interconnectUri: logicalDownlinkUri: logical-interconnects.html[2/20/2014 10:09:52 AM] description: The interconnect URI for this interconnect map entry type: string description: The logical downlink associated with this interconnect map entry. A logical downlink describes the set of networks available for an interconnect at this location. readonly: true logical-interconnects type: location: string description: The location to which this entry applies represented as a collection of name:value pairs. For example, an interconnect in a C-Class enclosure will be described as:ENCLOSURE: {enclosure uri}, BAY:{bay number}. type: object Properties locationEntries: description: A set of location entries type: array Items type: description: enum: value: permittedInterconnectTypeUri: interconnects: created: enclosureUris: logical-interconnects.html[2/20/2014 10:09:52 AM] Location type. Can be enclosure, bay or port Port Bay Enclosure type: string description: The value associated with corresponding location type type: string description: The interconnect type permitted at this location. The interconnect type is a composite of structural information describing the interconnect:its model number, firmware requirement, downlink and uplink port structure, and so on. type: string description: A list of interconnect URIs contained by the logical interconnect required: true type: array description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: A set of enclosure URIs to which the logical interconnect is associated, the enclosures in turn provide the interconnect inventory required: true logical-interconnects fusionDomainUri: description: logicalInterconnectGroupUri: state: type: array description: The HP OneView domain URI required: true type: string description: Brief description of the resource type: string description: The logical interconnect group URI type: string description: The current resource state of the Logical Interconnect. The supported values are enumerated in the table below. enum: eTag: modified: uri: portMonitor: Active Degraded Failed Unknown type: string description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: The canonical URI of the resource type: string description: The port monitor configuration type: object Properties status: category: analyzerPort: description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown - should be avoided, but there may be rare occasions where status is Unknown; OK - indicates normal/informational behavior; Disabled - indicates that a resource is not operational; Warning - needs attention soon; Critical - needs immediate attention. type: string description: Resource category used for authorizations and resource type groupings type: string description: Analyzer port type: object Properties portStatus: logical-interconnects.html[2/20/2014 10:09:52 AM] description: The current status for the analyzer or monitored ports logical-interconnects enum: portHealthStatus: type: string description: Indicates if the port is operating normally, has been disabled, or has encountered any errors or warnings enum: portMonitorConfigInfo: interconnectName: portName: interconnectUri: bayNumber: description: created: logical-interconnects.html[2/20/2014 10:09:52 AM] Normal Warning Error Disabled type: string description: Indicates the mode this port is in. For an analyzer port this would be set to 'AnalyzerPort' enum: portUri: Linked Unlinked Unknown NotMonitored MonitoredToServer MonitoredFromServer MonitoredBoth AnalyzerPort type: string description: The URI of the analyzer/monitored port(s) type: string description: The name of the interconnect (plus the bay number) that the analyzer or monitored ports are defined on type: string description: The name of the Analyzer port as it appears on the interconnect faceplate, for example 'X1'. For the Monitored port this would be the name of the downlink port, for example 'd1' type: string description: The URI of the interconnect that the analyzer or monitored ports are defined on type: string description: The interconnect bay number that the analyzer or monitored ports reside on type: integer description: Brief description of the resource type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ logical-interconnects enablePortMonitor: monitoredPorts: description: Enables or disables port monitoring default: false required: true type: boolean description: List of all monitored ports type: array Items portStatus: description: enum: portHealthStatus: string description: Indicates if the port is operating normally, has been disabled, or has encountered any errors or warnings interconnectName: portName: interconnectUri: logical-interconnects.html[2/20/2014 10:09:52 AM] Normal Warning Error Disabled type: string description: Indicates the mode this port is in. For an analyzer port this would be set to 'AnalyzerPort' enum: portUri: Linked Unlinked Unknown type: enum: portMonitorConfigInfo: The current status for the analyzer or monitored ports NotMonitored MonitoredToServer MonitoredFromServer MonitoredBoth AnalyzerPort type: string description: The URI of the analyzer/monitored port(s) type: string description: The name of the interconnect (plus the bay number) that the analyzer or monitored ports are defined on type: string description: The name of the Analyzer port as it appears on the interconnect faceplate, for example 'X1'. For the Monitored port this would be the name of the downlink port, for example 'd1' type: string description: The URI of the interconnect that the analyzer or monitored ports are defined on type: string logical-interconnects bayNumber: uri: state: eTag: modified: type: name: telemetryConfiguration: description: The interconnect bay number that the analyzer or monitored ports reside on type: integer description: The canonical URI of the resource type: string description: Current state of the resource type: string description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Identifies the resource type. This field must be set to 'port-monitor'. type: string description: Display name for the resource type: string description: The controls for collection of interconnect statistics type: object Properties status: category: name: created: sampleCount: logical-interconnects.html[2/20/2014 10:09:52 AM] description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown - should be avoided, but there may be rare occasions where status is Unknown; OK indicates normal/informational behavior; Disabled - indicates that a resource is not operational; Warning needs attention soon; Critical - needs immediate attention. type: string description: Resource category used for authorizations and resource type groupings type: string description: Display name for the resource type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Telemetry sample count (circular list) logical-interconnects enableTelemetry: uri: modified: state: eTag: sampleInterval: type: description: type: ethernetSettings: logical-interconnects.html[2/20/2014 10:09:52 AM] default: 12 required: true maximum: 102 minimum: 1 type: integer description: Enables or disables telemetry default: true required: true type: boolean description: The canonical URI of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Current state of the resource type: string description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Telemetry sample interval in seconds default: 300 required: true maximum: 300 minimum: 1 type: integer description: Identifies the resource type. This field must be set to 'telemetry-configuration'. type: string description: Brief description of the resource type: string description: Identifies the resource type. This field must be set to 'logical-interconnect'. type: string description: The Ethernet settings for interconnects contained by a logical interconnect logical-interconnects type: object Properties interconnectType: description: The type of the network this will be used for default: Ethernet type: string enum: status: igmpIdleTimeoutInterval: macRefreshInterval: name: created: enableNetworkLoopProtection: enableFastMacCacheFailover: logical-interconnects.html[2/20/2014 10:09:52 AM] Ethernet FibreChannel readonly: true description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown - should be avoided, but there may be rare occasions where status is Unknown; OK - indicates normal/informational behavior; Disabled - indicates that a resource is not operational; Warning - needs attention soon; Critical - needs immediate attention. type: string description: IGMP snooping idle time out intervals in seconds default: 260 type: integer maximum: 3600 minimum: 1 description: MAC Cache Fail Over refresh intervals in seconds default: 5 type: integer maximum: 30 minimum: 1 description: A user friendly name readonly: true type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Enables or disables network loop protection default: true type: boolean description: This will cause Ethernet packets to be tranmitted on newly-active links. logical-interconnects uri: enableIgmpSnooping: state: eTag: modified: dependentResourceUri: category: type: id: description: snmpConfiguration: default: true type: boolean description: The canonical URI of the resource type: string description: Internet Group Management protocol (IGMP) allows modules to monitor the IGMP IP multicast membership activities. default: false type: boolean description: Current state of the resource type: string description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: The URI which the setting will be applied to. This returned value will be either logical interconnect or logical interconnect template URI. readonly: true type: string description: Resource category used for authorizations and resource type groupings type: string description: Identifies the resource type. This field must be set to 'EthernetInterconnectSettings'. type: string description: Ignore this because it is not needed, and it will be taken out later. readonly: true type: string description: Brief description of the resource type: string description: The SNMP configuration for this logical interconnect type: object Properties status: logical-interconnects.html[2/20/2014 10:09:52 AM] description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown - should be avoided, but there may be rare occasions where status is Unknown; OK - logical-interconnects indicates normal/informational behavior; Disabled - indicates that a resource is not operational; Warning needs attention soon; Critical - needs immediate attention. category: name: readCommunity: created: enabled: uri: modified: systemContact: type: string description: Resource category used for authorizations and resource type groupings type: string description: Display name for the resource type: string description: Authentication string for read-only access default: public type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Used to enable/disable SNMP default: false type: boolean description: The canonical URI of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Person to notify when system problems occur default: state: eTag: snmpAccess: trapDestinations: logical-interconnects.html[2/20/2014 10:09:52 AM] type: string description: Current state of the resource type: string description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: The access list allowed for GET operations type: array description: The list of configured trap destinations logical-interconnects type: array Items enetTrapCategories: vcmTrapCategories: trapFormat: description: Filter the traps for this trap destination by the list of configured Ethernet traps type: array description: Filter the traps for this trap destination by the list of configured VCM traps type: array description: The trap format (SNMP version) for this trap destination default: SNMPv1 enum: communityString: fcTrapCategories: trapDestination: SNMPv1 SNMPv2 type: string description: Authentication string for the trap destination default: public type: string description: Filter the traps for this trap destination by the list of configured Fibre Channel traps type: array description: The trap destination IP address or host name default: trapSeverities: type: description: stackingHealth: description: enum: name: logical-interconnects.html[2/20/2014 10:09:52 AM] type: string description: Filter the traps for this trap destination by the list of configured severities type: array description: Identifies the resource type. This field must be set to 'snmp-configuration'. type: string description: Brief description of the resource type: string The overall topology state of the logical interconnect. 'BiConnected' indicates a redundant path to all interconnects. 'Connected' indicates a single path to all interconnects. 'Disconnected' indicates that the logical interconnect is no longer connected and contains one or more interconnect stacking islands. Unknown Connected BiConnected Disconnected type: string description: Display name for the resource logical-interconnects type: total: type: string description: The total number of resources that would be returned from the query (including any filters), without pagination or enforced resource limits type: integer description: Identifies the resource type. This field must be set to 'LogicalInterconnectCollection'. type: string PortMonitor type: object Properties status: category: analyzerPort: description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown - should be avoided, but there may be rare occasions where status is Unknown; OK - indicates normal/informational behavior; Disabled - indicates that a resource is not operational; Warning - needs attention soon; Critical - needs immediate attention. type: string description: Resource category used for authorizations and resource type groupings type: string description: Analyzer port type: object Properties portStatus: description: enum: portHealthStatus: string description: Indicates if the port is operating normally, has been disabled, or has encountered any errors or warnings logical-interconnects.html[2/20/2014 10:09:52 AM] Normal Warning Error Disabled type: string description: Indicates the mode this port is in. For an analyzer port this would be set to 'AnalyzerPort' enum: portUri: Linked Unlinked Unknown type: enum: portMonitorConfigInfo: The current status for the analyzer or monitored ports NotMonitored MonitoredToServer MonitoredFromServer MonitoredBoth AnalyzerPort type: string description: The URI of the analyzer/monitored port(s) logical-interconnects interconnectUri: portName: interconnectName: bayNumber: description: created: enablePortMonitor: monitoredPorts: type: string description: The URI of the interconnect that the analyzer or monitored ports are defined on type: string description: The name of the Analyzer port as it appears on the interconnect faceplate, for example 'X1'. For the Monitored port this would be the name of the downlink port, for example 'd1' type: string description: The name of the interconnect (plus the bay number) that the analyzer or monitored ports are defined on type: string description: The interconnect bay number that the analyzer or monitored ports reside on type: integer description: Brief description of the resource type: string description: Date and time when the resource was created format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z description: Enables or disables port monitoring default: false required: true type: boolean description: List of all monitored ports type: array Items portStatus: description: enum: portHealthStatus: logical-interconnects.html[2/20/2014 10:09:52 AM] Linked Unlinked Unknown type: string description: Indicates if the port is operating normally, has been disabled, or has encountered any errors or warnings enum: portMonitorConfigInfo: The current status for the analyzer or monitored ports Normal Warning Error Disabled type: string description: Indicates the mode this port is in. For an analyzer port this would be set to 'AnalyzerPort' logical-interconnects enum: portUri: interconnectUri: portName: interconnectName: bayNumber: uri: state: eTag: modified: type: name: string description: The URI of the analyzer/monitored port(s) type: string description: The URI of the interconnect that the analyzer or monitored ports are defined on type: string description: The name of the Analyzer port as it appears on the interconnect faceplate, for example 'X1'. For the Monitored port this would be the name of the downlink port, for example 'd1' type: string description: The name of the interconnect (plus the bay number) that the analyzer or monitored ports are defined on type: string description: The interconnect bay number that the analyzer or monitored ports reside on type: integer The canonical URI of the resource type: string description: Current state of the resource type: string description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Date and time when the resource was last modified format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z description: Identifies the resource type. This field must be set to 'port-monitor'. type: string description: Display name for the resource type: string object logical-interconnects.html[2/20/2014 10:09:52 AM] type: description: TelemetryConfiguration type: NotMonitored MonitoredToServer MonitoredFromServer MonitoredBoth AnalyzerPort logical-interconnects Properties status: category: name: created: sampleCount: enableTelemetry: uri: modified: state: description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown - should be avoided, but there may be rare occasions where status is Unknown; OK - indicates normal/informational behavior; Disabled - indicates that a resource is not operational; Warning - needs attention soon; Critical - needs immediate attention. type: string description: Resource category used for authorizations and resource type groupings type: string description: Display name for the resource type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Telemetry sample count (circular list) default: 12 required: true maximum: 102 minimum: 1 type: integer description: Enables or disables telemetry default: true required: true type: boolean description: The canonical URI of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: The current resource state of the Telemetry Configuration. The supported values are enumerated in the table below. type: string enum: logical-interconnects.html[2/20/2014 10:09:52 AM] Active Degraded Failed Unknown logical-interconnects eTag: sampleInterval: type: description: description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Telemetry sample interval in seconds default: 300 required: true maximum: 300 minimum: 1 type: integer description: Identifies the resource type. This field must be set to 'telemetry-configuration'. type: string description: Brief description of the resource type: string Location type: object Properties locationEntries: description: A set of location entries type: array Items value: type: description: The value associated with corresponding location type type: string description: Location type. Can be enclosure, bay or port type: string enum: Port Bay Enclosure SnmpAccessIp type: object Properties ip: description: The access IP/subnet in CIRD format logical-interconnects.html[2/20/2014 10:09:52 AM] logical-interconnects type: string TrapDestination type: object Properties trapDestination: description: The trap destination IP address or host name type: string default: communityString: trapFormat: description: Authentication string for the trap destination type: string default: public description: The trap format (SNMP version) for this trap destination type: string enum: trapSeverities: vcmTrapCategories: enetTrapCategories: fcTrapCategories: logical-interconnects.html[2/20/2014 10:09:52 AM] SNMPv1 SNMPv2 default: SNMPv1 description: Filter the traps for this trap destination by the list of configured severities type: array description: Filter the traps for this trap destination by the list of configured VCM traps type: array description: Filter the traps for this trap destination by the list of configured Ethernet traps type: array description: Filter the traps for this trap destination by the list of configured Fibre Channel traps type: array datacenters HP OneView 1.05 REST API Reference (API Version 4) Updated: February 18, 2014 5:54 MST datacenters The datacenters resource allows you to get the configuration data for one or more datacenters, create a datacenter, specify the datacenter physical content, modify datacenter attributes, or delete a datacenter. A datacenter represents a physically contiguous area in which racks containing IT equipment are located. You can create datacenters to describe a whole lab floor or any portion of a computer room that provides a useful grouping to summarize your environment and its power and thermal requirements. You can represent the layout of your datacenter and its content either using physically precise measurements, or in a logical fashion using a simple grid. The placement information enables 3D visualization of the datacenter layout. It also enables analysis of the temperatures in various regions of your datacenter to identify hotspots or over-cooling. Describing the physical layout of racks in your datacenter simplifies locating specific devices for hands-onservicing. API Specifications Create Read /rest/datacenters POST GET /rest/datacenters/schema GET /rest/datacenters/{id} GET /rest/datacenters/{id}/visualContent GET Update Delete Resource Model DELETE Datacenter VisualContent PUT DELETE DatacenterList TaskResourceV2 URI: /rest/datacenters Method API GET Gets a set of data center resources according to the specified parameters. Filters can be used to get a specific set of data centers. With no filters specified, the API returns a potentially paginated list of all the data center resources subject to start/count/sort parameters. Parameter Attributes Description start Optional The 0-based index of the first resource to return (start=0 starts with the first available resource). If the specified count does not return all resources within the maximum allowed time (see count), use the start parameter to view additional resource pages. The default value for start is 0 (first available resource). count Optional Optional parameter that specifies the number of resources to return from each API invocation. The number of resources returned on each call is referred to as a page. If you specify a count, the API attempts to return the specified number of resources, however this may be limited due to response time constraints and/or actual number of resources available to return. The results include the total number of resources that match the filter or query, the actual count returned, and the URIs to go to the next page, previous page, or both. sort Optional The sort order of the returned data set. By default, the sort order is based on the create time, with the oldest entry first. query Experimental This parameter is experimental for this release: While generally functional when used in simple cases, restrictions might be noted in datacenters.html[2/20/2014 10:09:55 AM] datacenters the implementation description. If the query is supported, the following is the way it works. A general query string that narrows the list of resources returned by a multiresource GET (read) request and DELETE (delete) request. The default is no query (all resources are returned). One advantage query has over filter is that it can have embedded ORs. A single query parameter can do what would take multiple parameters or multiple GET requests using filter. Use query for more complex queries. filter Experimental This parameter is experimental for this release: While generally functional when used in simple cases, restrictions might be noted in the implementation description. A general filter/query string that narrows the list of resources returned by a multi-resource GET (read) request and DELETE (delete) request. The default is no filter (all resources are returned). Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description DatacenterList The array of filtered resources from start up to a maximum of count. Response Codes REST API Response Codes Examples Gets all data centers: https://{appl}/rest/datacenters Gets only five data centers: https://{appl}/rest/datacenters?count=5 Gets all data centers order by data center name ascending: https://{appl}/rest/datacenters?sort=name:asc Gets the data center resource with name test: https://{appl}/rest/datacenters?filter="name='test'" Gets all data centers with a uuid that starts with b0fb8894: https://{appl}/rest/datacenters?filter="uuid matches 'b0fb8894%25'" (%25 is the encoded value for the wild character (%), and is required to do partial matches.) Gets all data centers with a uuid that ends with 82fac9caf4f2: datacenters.html[2/20/2014 10:09:55 AM] datacenters https://{appl}/rest/datacenters?filter="uuid matches '%2582fac9caf4f2'" (%25 is the encoded value for the wild character (%), and is required to do partial matches.) POST Adds a data center resource based upon the attributes specified. All attributes without default values must be specified in the POST body. The response contains the data center resource as added to the appliance with default and assigned properties expanded. The id and uri are assigned by the management appliance and are used to uniquely identify this particular resource. Parameter Attributes Description Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Description Datacenter Required The resource to add or update. Response Description Datacenter The resource as added to the appliance with default and assigned properties. Response Codes REST API Response Codes Examples Add a data center with default values: https://{appl}/rest/datacenters Request body: {"name":"MyDatacenter", "width":5000, "depth":5000} Add data center with specified properties (no racks): https://{appl}/rest/datacenters Request body: { "name":"MyDatacenter", "coolingCapacity":5, "costPerKilowattHour":0.10, "currency":"USD", "deratingType":"NaJp", "deratingPercentage":20.0, "defaultPowerLineVoltage":220, "coolingMultiplier":1.5, "width":4000, "depth":5000, "contents":[] } Add a data center including an existing rack: datacenters.html[2/20/2014 10:09:55 AM] datacenters https://{appl}/rest/datacenters Request body: { "name":"MyDatacenter", "width":4000, "depth":5000, "contents":[{ "resourceUri": "/rest/racks/c14294e3", "x":1000, "y":1000 } ] } DELETE Deletes the set of datacenters according to the specified parameters. A filter is required to identify the set of resources to be deleted. The actual deletion will proceed asynchronously. Use the returned task resource to track the completion and any errors that may occur. Parameter Attributes Description filter Experimental This parameter is experimental for this release: While generally functional when used in simple cases, restrictions might be noted in the implementation description. A general filter/query string that narrows the list of resources returned by a multi-resource GET (read) request and DELETE (delete) request. The default is no filter (all resources are returned). Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description TaskResourceV2 A task resource used to track the progress of the delete operation. Response Codes REST API Response Codes Examples Each data center resource has a uri representation in the form of https://{appl}/rest/datacenters. Deletes all data centers with names beginning with 'XYZ': https://{appl}/rest/datacenters?filter="name matches 'XYZ%25'" Deletes all data center resources: https://{appl}/rest/datacenters?filter="id matches '%25'" datacenters.html[2/20/2014 10:09:55 AM] datacenters URI: /rest/datacenters/schema Method API GET Gets a JSON-formatted schema describing the resource. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description JsonSchema The JSON schema of the resource. Response Codes REST API Response Codes Examples GET https://{appl}/rest/datacenters/schema URI: /rest/datacenters/{id} Method API GET Gets a single data center resource based upon its uri. Parameter Attributes Description Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description Datacenter The requested resource. Response Codes REST API Response Codes Examples Each data center has a representation which can be retrieved with the following GET request https://{appl}/rest/datacenters/{id}. PUT Updates the resource for the specified {id}. The properties that are omitted (not included as part of the the request body) are reset to their respective default values. The id and uuid properties are required and cannot be changed. To update existing datacenters first perform a GET request to retrieve the current properties, update the desired properties, and then PUT the request body containing the new representation of the resource. Parameter Attributes Description Request Attributes Description datacenters.html[2/20/2014 10:09:55 AM] datacenters Header REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Datacenter Required Description Response Description Datacenter The resource as updated in the persistence layer. Response Codes REST API Response Codes Examples Each data center resource has a uri representation in the form of https://{appl}/rest/datacenters/{id} Update data center name and size, setting any omitted properties to their default values: https://{appl}/rest/datacenters/4b4b87e2-eea8-4c90-8eca-b92eaaeecfff Request body: { "id":"4b4b87e2-eea8-4c90-8eca-b92eaaeecfff", "uuid":"4b4b87e2-eea8-4c90-8eca-b92eaaeecfff", "name":"MyDataCenter", "width":7200, "depth":5000 } DELETE Deletes the resource specified by {id}. Parameter Attributes Description Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description String Returns no content. Response Codes REST API Response Codes Examples Each data center has a uri representation in the form of https://{appl}/rest/datacenters/{id}. Deletes the data center with id 123: datacenters.html[2/20/2014 10:09:55 AM] datacenters https://{appl}/rest/datacenters/123 URI: /rest/datacenters/{id}/visualContent Method API GET Gets a list of visual content objects describing each rack within the data center. The response aggregates data center and rack data with a specified metric (peak24HourTemp) to provide simplified access to display data for the data center. Parameter Attributes Description metric Optional The metric name of the value to be returned for each rack resource. The only supported metric is peak24HourTemp. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description VisualContent List of visual content objects. Response Codes REST API Response Codes Examples Gets information that enables visualization of the data center: https://{appl}/rest/datacenters/{id}/visualContent Datacenter description: A data center object represents a facility used to house computer systems and associated components, such as telecommunications and storage systems. Generally represents a contiguous area of racks containing IT equipment. type: object Properties status: category: datacenters.html[2/20/2014 10:09:55 AM] description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown - should be avoided, but there may be rare occasions where status is Unknown; OK indicates normal/informational behavior; Disabled - indicates that a resource is not operational; Warning - needs attention soon; Critical needs immediate attention. type: string description: Resource category used for authorizations and resource type groupings datacenters name: currency: deratingType: type: string description: Display name for the resource type: string description: The currency unit for energy costs. default: USD required: true type: string description: The electrical derating type. Values include Custom, None, NaJp. None indicates no derating. NaJp indicates 20 percent derating. Custom enables specification of a specific derating percentage. default: NaJp enum: created: uri: eTag: id: width: depth: datacenters.html[2/20/2014 10:09:55 AM] None Custom NaJp type: string required: true description: Date and time when the resource was created format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](. [0-9][0-9][0-9])?Z description: The canonical URI of the resource type: string description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: The internal identifier of the resource. readonly: true required: true type: string description: The width in millimeters of the data center. This is associated with the PhysicalLocation x position. required: true minimum: 1000 type: integer maximum: 50000 description: The depth in millimeters of the data center. This is associated with the datacenters PhysicalLocation y position. state: deratingPercentage: contents: required: true minimum: 1000 type: integer maximum: 50000 description: The current state of the resource. Valid values include Adding, AddError, Configured, CredentialError, Refreshing, RefreshError, Removing, RemoveError, and Unmanaged. readonly: true type: string description: The electrical derating percentage. This value is specified by the derating type, unless the type is Custom. default: 20 required: true type: number description: The collection of physical resources (racks) in the data center and their position. type: array Items y: resourceUri: rotation: x: coolingCapacity: datacenters.html[2/20/2014 10:09:55 AM] description: description: The coordinate of the front left corner of the unrotated resource in the data center layout depth axis where the given resource is located. Units are in millimeters. required: true type: number description: The uri of the rack resource whose position is described. type: string description: The rotation (degrees) from 0-359 around the center of the resource. default: 0 type: number description: The coordinate of the front left corner of the unrotated resource in the data center layout width axis where the given resource is located. Units are in millimeters. required: true type: number Maximum cooling capacity for the datacenter in watts. datacenters modified: defaultPowerLineVoltage: type: coolingMultiplier: costPerKilowattHour: uuid: minimum: 0 type: integer description: Date and time when the resource was last modified format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](. [0-9][0-9][0-9])?Z description: The default power line voltage used for watts/amps translation when voltage is not otherwise available (for example when summarizing power at the rack or data center level). default: 220 minimum: 0 type: integer required: true description: Identifies the resource type. This field must be set to 'Datacenter'. type: string description: The ratio of cooling costs to power costs of the IT equipment. This value represents the relative cost of cooling the system compared to the cost of powering the system. The default value of 1.5 indicates that it costs 1.5 as much to cool the system as it does to power the system. This value is multiplied by the kilowatt-hours used by the system to obtain the cooling kilowatt-hours that are used in the analysis section of graphs that display power consumption. default: 1.5 required: true type: number description: The energy cost per kilowatt-hour. type: number description: The universally unique identifier of the resource. readonly: true type: string VisualContent description: Describes the physical location and properties of a rack necessary for visualizing it within the data center. It returns an aggregated, read-only summary of data from the data center, rack, and devices in the rack. type: object datacenters.html[2/20/2014 10:09:55 AM] datacenters Properties name: uri: healthStatus: metric: metricTimeStamp: depth: height: width: inferred: resourceUri: x: y: rotation: description: The display name of the resource. type: string description: The URI of the resource. type: string description: The health status of the resource. type: string description: The metric value associated with the resource. type: number description: The timestamp at which the metric value was observed. type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9] [0-9])?Z format: YYYY-MM-DDThh:mm:ss.sssZ description: The depth of the resource. Units are in millimeters. type: integer description: The height of the resource. Units are in millimeters. type: integer description: The width of the resource. Units are in millimeters. type: integer description: The presence of this resource is inferred for visualization purposes. It has not yet been specifically associated with any data center. type: boolean description: The uri of the rack resource whose position is described. type: string description: The coordinate of the front left corner of the unrotated resource in the data center layout width axis where the given resource is located. Units are in millimeters. type: number required: true description: The coordinate of the front left corner of the unrotated resource in the data center layout depth axis where the given resource is located. Units are in millimeters. type: number required: true description: The rotation (degrees) from 0-359 around the center of the resource. type: number datacenters.html[2/20/2014 10:09:55 AM] datacenters default: 0 DatacenterList type: object Properties count: category: created: prevPageUri: uri: modified: start: eTag: nextPageUri: members: description: The actual number of resources returned in the specified page type: integer description: Resource category used for authorizations and resource type groupings type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])? Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: URI pointing to the page of resources preceding the list of resources contained in the specified collection type: string description: The canonical URI of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])? Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: The row or record number of the first resource returned in the specified page type: integer description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: URI pointing to the page of resources following the list of resources contained in the specified collection type: string description: The list of matching resources. type: array datacenters.html[2/20/2014 10:09:55 AM] datacenters Items status: category: state: name: created: coolingMultiplier: deratingType: datacenters.html[2/20/2014 10:09:55 AM] description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown - should be avoided, but there may be rare occasions where status is Unknown; OK - indicates normal/informational behavior; Disabled - indicates that a resource is not operational; Warning - needs attention soon; Critical - needs immediate attention. type: string description: Resource category used for authorizations and resource type groupings type: string description: The current state of the resource. Valid values include Adding, AddError, Configured, CredentialError, Refreshing, RefreshError, Removing, RemoveError, and Unmanaged. type: string readonly: true description: Display name for the resource type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]: [0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: The ratio of cooling costs to power costs of the IT equipment. This value represents the relative cost of cooling the system compared to the cost of powering the system. The default value of 1.5 indicates that it costs 1.5 as much to cool the system as it does to power the system. This value is multiplied by the kilowatt-hours used by the system to obtain the cooling kilowatt-hours that are used in the analysis section of graphs that display power consumption. default: 1.5 required: true type: number description: The electrical derating type. Values include Custom, None, NaJp. None indicates no derating. NaJp indicates 20 percent derating. Custom enables specification of a specific derating percentage. default: NaJp datacenters enum: width: uri: modified: currency: depth: eTag: deratingPercentage: datacenters.html[2/20/2014 10:09:55 AM] None Custom NaJp type: string required: true description: The width in millimeters of the data center. This is associated with the PhysicalLocation x position. type: integer required: true minimum: 1000 maximum: 50000 description: The canonical URI of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]: [0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: The currency unit for energy costs. default: USD required: true type: string description: The depth in millimeters of the data center. This is associated with the PhysicalLocation y position. type: integer required: true minimum: 1000 maximum: 50000 description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: The electrical derating percentage. This value is specified by the derating type, unless the type is Custom. default: 20 required: true datacenters costPerKilowattHour: coolingCapacity: defaultPowerLineVoltage: type: id: contents: type: number description: The energy cost per kilowatt-hour. type: number description: Maximum cooling capacity for the datacenter in watts. type: integer minimum: 0 description: The default power line voltage used for watts/amps translation when voltage is not otherwise available (for example when summarizing power at the rack or data center level). default: 220 minimum: 0 type: integer required: true description: Identifies the resource type. This field must be set to 'Datacenter'. type: string description: The internal identifier of the resource. readonly: true required: true type: string description: The collection of physical resources (racks) in the data center and their position. type: array Items y: resourceUri: rotation: datacenters.html[2/20/2014 10:09:55 AM] description: The coordinate of the front left corner of the unrotated resource in the data center layout depth axis where the given resource is located. Units are in millimeters. required: true type: number description: The uri of the rack resource whose position is described. type: string description: The rotation (degrees) from 0-359 around the center of datacenters the resource. x: uuid: total: type: default: 0 type: number description: The coordinate of the front left corner of the unrotated resource in the data center layout width axis where the given resource is located. Units are in millimeters. required: true type: number description: The universally unique identifier of the resource. type: string readonly: true description: The total number of resources that would be returned from the query (including any filters), without pagination or enforced resource limits type: integer description: Identifies the resource type. This field must be set to 'PaginatedCollectionResource'. type: string TaskResourceV2 type: object Properties taskOutput: completedSteps: modified: taskErrors: description: Output resulting from the running of the task type: array description: Number of steps currently completed by the task type: integer description: Date and time when the resource was last modified format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][09][0-9])?Z description: Error messages associated with the task type: array Items datacenters.html[2/20/2014 10:09:55 AM] datacenters errorSource: recommendedActions: nestedError: errorCode: details: message: data: associatedTaskUri: percentComplete: taskType: userInitiated: datacenters.html[2/20/2014 10:09:55 AM] A reference to the resource or attribute that applies to an error type: string description: A description of what can be done to rectify the problem type: array description: An array of task errors used when there are multiple errors type: object description: A string code which uniquely identifies the specific error allowing clients to switch on specific errors without having to parse the error message type: string description: Optional verbose description of the error with additional information type: string description: Description of the error condition type: string description: Contains extra data defined for the particular error type: object description: If the current task is associated with another task, this represents the URI of another task. And if the current task is not associated with any other task, it signifies with NULL type: string description: Percentage of task currently completed. If TaskState of this task currently belongs to any of the TERMINAL states (Terminated, Killed, Completed, Error or Warning), percentComplete and computedPercentComplete will be set to 100 type: integer description: Current type of the task enum: owner: description: User Appliance Background type: string description: The name of the user under whose authority the task is running type: string description: If task is the result of an user initiated command, it is TRUE. Otherwise FALSE. default: false datacenters category: taskStatus: parentTaskUri: stateReason: type: progressUpdates: type: boolean description: Resource category used for authorizations and resource type groupings type: string description: Short summary of the current execution/completion status type: string description: URI of the parent task. NULL if no parent exists type: string description: Contains the reason for changing to current state of the task type: string description: Identifies the resource type. This field must be set to 'TaskResourceV2'. type: string description: List of timestamped objects describing the progress of the task. type: array Items timestamp: statusUpdate: eTag: associatedResource: Date and time when the progress update was logged format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5] [0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z description: Text containing update that the service logged during execution of the task type: string type: id: expectedDuration: description: integer description: Estimated number of seconds the task is expected to take to complete type: integer description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string type: object Properties resourceName: associationType: description: Name of the Resource. type: string description: Type of Association. enum: datacenters.html[2/20/2014 10:09:55 AM] MANAGED_BY HAS_A IS A datacenters resourceCategory: resourceUri: totalSteps: name: created: taskState: datacenters.html[2/20/2014 10:09:55 AM] string description: Category of the Resource. type: string description: URI of the Resource. type: string description: Total number of steps to be completed for this task type: integer description: Display name for the task type: string description: Date and time when the resource was created format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][09][0-9])?Z description: Current state of the task enum: uri: type: Unknown New Running Suspended Terminated Killed Completed Error Warning Interrupted Starting Stopping Pending type: string description: The canonical URI of the resource type: string enclosure-groups HP OneView 1.05 REST API Reference (API Version 4) Updated: February 18, 2014 6:08 MST enclosure-groups The enclosure group resource provides REST APIs for managing enclosure groups. An enclosure group is a resource that defines common settings that should be applied to all enclosures within the group. You can retrieve an enclosure group resource representing any enclosure group managed by the appliance, create new enclosure groups, and update existing enclosure groups. API Specifications Create Read /rest/enclosure-groups POST GET EnclosureGroup /rest/enclosure-groups/schema GET EnclosureGroupList /rest/enclosure-groups/{id} GET URI: /rest/enclosure-groups Method API GET Gets a list of enclosure groups. Update PUT Delete Resource Model DELETE Parameter Attributes Description start Optional The 0-based index of the first resource to return (start=0 starts with the first available resource). If the specified count does not return all resources within the maximum allowed time (see count), use the start parameter to view additional resource pages. The default value for start is 0 (first available resource). count Optional Optional parameter that specifies the number of resources to return from each API invocation. The number of resources returned on each call is referred to as a page. If you specify a count, the API attempts to return the specified number of resources, however this may be limited due to response time constraints and/or actual number of resources available to return. The results include the total number of resources that match the filter or query, the actual count returned, and the URIs to go to the next page, previous page, or both. sort Optional The sort order of the returned data set. By default, the sort order is based on the create time, with the oldest entry first. query Experimental This parameter is experimental for this release: While generally functional when used in simple cases, restrictions might be noted in the implementation description. If the query is supported, the following is the way it works. A general query string that narrows the list of resources returned by a multiresource GET (read) request and DELETE (delete) request. The default is no query (all resources are returned). One advantage query has over filter is that it can have embedded ORs. A single query parameter can do what would take multiple parameters or multiple GET requests using filter. Use query for more complex queries. filter Experimental enclosure-groups.html[2/20/2014 10:09:56 AM] This parameter is experimental for this release: While generally enclosure-groups functional when used in simple cases, restrictions might be noted in the implementation description. A general filter/query string that narrows the list of resources returned by a multi-resource GET (read) request and DELETE (delete) request. The default is no filter (all resources are returned). Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description EnclosureGroupList Returns the requested enclosure groups. Response Codes REST API Response Codes Examples Get a list of enclosure groups with a status of OK, sorted by name. GET https://{appl}/rest/enclosure-groups? filter="healthStatus='OK'"&sort="name" POST Creates an enclosure group. An interconnect bay mapping must be provided for each of the interconnect bays in the enclosure. For this release, the same logical interconnect group must be provided for each interconnect bay mapping. Parameter Attributes Description Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Description EnclosureGroup Required The enclosure group resource to create. Response Description EnclosureGroup Returns the created enclosure group resource. Response Codes REST API Response Codes Examples Create an enclosure group named "Group 1." POST https://{appl}/rest/enclosure-groups { "type": "EnclosureGroup", "name" : "Group 1", "stackingMode": "Enclosure", "interconnectBayMappings": [ { "interconnectBay": 1, "logicalInterconnectGroupUri": "/rest/logical-interconnectgroups/aeef7314-527d-4053-868c-17b87df1b57c" enclosure-groups.html[2/20/2014 10:09:56 AM] enclosure-groups }, { "interconnectBay": 2, "logicalInterconnectGroupUri": groups/aeef7314-527d-4053-868c-17b87df1b57c" }, { "interconnectBay": 3, "logicalInterconnectGroupUri": groups/aeef7314-527d-4053-868c-17b87df1b57c" }, { "interconnectBay": 4, "logicalInterconnectGroupUri": groups/aeef7314-527d-4053-868c-17b87df1b57c" }, { "interconnectBay": 5, "logicalInterconnectGroupUri": groups/aeef7314-527d-4053-868c-17b87df1b57c" }, { "interconnectBay": 6, "logicalInterconnectGroupUri": groups/aeef7314-527d-4053-868c-17b87df1b57c" }, { "interconnectBay": 7, "logicalInterconnectGroupUri": groups/aeef7314-527d-4053-868c-17b87df1b57c" }, { "interconnectBay": 8, "logicalInterconnectGroupUri": groups/aeef7314-527d-4053-868c-17b87df1b57c" } ] } URI: /rest/enclosure-groups/schema Method API GET Gets the JSON schema of the enclosure-group resource. Request Header Attributes "/rest/logical-interconnect- "/rest/logical-interconnect- "/rest/logical-interconnect- "/rest/logical-interconnect- "/rest/logical-interconnect- "/rest/logical-interconnect- "/rest/logical-interconnect- Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description JsonSchema The JSON schema of the enclosure group resource. Response Codes REST API Response Codes Examples GET https://{appl}/rest/enclosure-groups/schema enclosure-groups.html[2/20/2014 10:09:56 AM] enclosure-groups URI: /rest/enclosure-groups/{id} Method API GET Gets the enclosure-group resource with the specified URI. Parameter Attributes Description Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description EnclosureGroup An enclosure group resource Response Codes REST API Response Codes Examples GET the enclosure group with a specific URI. GET https://{appl}/rest/enclosure-groups/{id} PUT Updates an enclosure group with new attributes. Parameter Attributes Description Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Description EnclosureGroup Required The enclosure group resource containing updated attributes. Response Description EnclosureGroup Returns the updated enclosure group resource. Response Codes REST API Response Codes Examples Update the enclosure group to have the name "Group 2". PUT https://{appl}/rest/enclosure-groups/{id} { "name" : "Group 2", } DELETE Deletes an enclosure group. An enclosure group cannot be deleted if any enclosures are currently part of that enclosure group. Parameter Attributes Description Request Header Attributes Description enclosure-groups.html[2/20/2014 10:09:56 AM] enclosure-groups REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description String Null with the status code "No-Content" Response Codes REST API Response Codes Examples Deletes the enclosure group with the specified {id}. DELETE https://{appl}/rest/enclosure-groups/{id} EnclosureGroup description: An enclosure group is a resource that defines common settings that should be applied to all enclosures within the group. type: object Properties status: interconnectBayMappingCount: name: created: state: enclosure-groups.html[2/20/2014 10:09:56 AM] description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown - should be avoided, but there may be rare occasions where status is Unknown; OK indicates normal/informational behavior; Disabled - indicates that a resource is not operational; Warning - needs attention soon; Critical needs immediate attention. type: string description: The number of interconnectbay mappings. This number is determined by the number of interconnect bay mappings specified. required: true maximum: 8 readonly: true minimum: 1 type: integer description: Display name for the resource type: string description: Date and time when the resource was created format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](. [0-9][0-9][0-9])?Z description: The current resource state of the enclosure group. Possible values are Pending, Failed and Normal. enclosure-groups interconnectBayMappings: readonly: true type: string description: Defines which logical interconnect group is associated with each interconnect bay. This indicates the network connectivity that will be available to each bay. Items logicalInterconnectGroupUri: interconnectBay: uri: portMappings: description: URI of the logical interconnect group resource associated with the interconnect bay required: true type: string description: Enclosure interconnect bay number. required: true type: integer required: true type: array description: The canonical URI of the resource type: string description: Provides midplane port number to IO bay mapping. readonly: true type: array Items midplanePort: interconnectBay: portMappingCount: eTag: enclosure-groups.html[2/20/2014 10:09:56 AM] description: Midplane port. required: true type: integer description: Interconnect bay. required: true type: integer description: The number of port mappings. type: integer maximum: 8 readonly: true minimum: 0 description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource enclosure-groups modified: category: type: stackingMode: type: string description: Date and time when the resource was last modified format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](. [0-9][0-9][0-9])?Z description: Resource category used for authorizations and resource type groupings type: string description: Identifies the resource type. This field must be set to 'EnclosureGroup'. type: string description: Stacking mode of the enclosure group. Currently only the Enclosure mode is supported. enum: description: None Enclosure SwitchPairs MultiEnclosure type: string required: true description: Brief description of the resource type: string EnclosureGroupList description: List of enclosure group resources. type: object Properties count: category: created: prevPageUri: description: The actual number of resources returned in the specified page type: integer description: Resource category used for authorizations and resource type groupings type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: URI pointing to the page of resources preceding the list of resources contained in the specified collection enclosure-groups.html[2/20/2014 10:09:56 AM] enclosure-groups uri: modified: start: eTag: nextPageUri: members: type: string description: The canonical URI of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: The row or record number of the first resource returned in the specified page type: integer description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: URI pointing to the page of resources following the list of resources contained in the specified collection type: string description: List of enclosure groups. type: array Items status: portMappings: description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown - should be avoided, but there may be rare occasions where status is Unknown; OK - indicates normal/informational behavior; Disabled indicates that a resource is not operational; Warning needs attention soon; Critical - needs immediate attention. type: string description: Provides midplane port number to IO bay mapping. type: array readonly: true Items midplanePort: interconnectBay: name: enclosure-groups.html[2/20/2014 10:09:56 AM] description: description: Midplane port. required: true type: integer description: Interconnect bay. required: true type: integer Display name for the resource enclosure-groups portMappingCount: created: uri: interconnectBayMappings: type: string description: The number of port mappings. type: integer maximum: 8 readonly: true minimum: 0 description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[05][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: The canonical URI of the resource type: string description: Defines which logical interconnect group is associated with each interconnect bay. This indicates the network connectivity that will be available to each bay. Items interconnectBay: logicalInterconnectGroupUri: modified: enclosure-groups.html[2/20/2014 10:09:56 AM] description: Enclosure interconnect bay number. required: true type: integer description: URI of the logical interconnect group resource associated with the interconnect bay required: true type: string required: true type: array description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[05][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z enclosure-groups interconnectBayMappingCount: state: eTag: category: type: stackingMode: type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: The number of interconnectbay mappings. This number is determined by the number of interconnect bay mappings specified. required: true maximum: 8 readonly: true minimum: 1 type: integer description: The current resource state of the enclosure group. Possible values are Pending, Failed and Normal. type: string readonly: true description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Resource category used for authorizations and resource type groupings type: string description: Identifies the resource type. This field must be set to 'EnclosureGroup'. type: string description: Stacking mode of the enclosure group. Currently only the Enclosure mode is supported. enum: description: total: type: None Enclosure SwitchPairs MultiEnclosure type: string required: true description: Brief description of the resource type: string description: The total number of resources that would be returned from the query (including any filters), without pagination or enforced resource limits type: integer description: Identifies the resource type. This field must be set to 'EnclosureGroupList'. type: string enclosure-groups.html[2/20/2014 10:09:56 AM] logical-interconnect-groups HP OneView 1.05 REST API Reference (API Version 4) Updated: February 18, 2014 5:46 MST logical-interconnect-groups Manages logical interconnect groups. A logical interconnect group serves as a structural reference when building a logical interconnect. All of the configuration constructs of a logical interconnect are present in the logical interconnect group. The logical interconnect group serves as the initial and ongoing reference for the structure of a logical interconnect. The logical interconnect group defines the centralized source for the configuration of interconnect firmware, telemetry, and SNMP, including common settings such as IGMP snooping, MAC cache failover, and loop protection. After being constructed from a logical interconnect group, a logical interconnect continues to maintain an association to its logical interconnect group. Any drift in configuration consistency between the logical interconnect group and logical interconnect(s) is monitored and made visible on both the logical interconnect group and the associated logical interconnect(s). The logical interconnect group defines the aggregation of one or more interconnect locations with a common configuration, providing L2/L3 Ethernet and Fibre Channel connectivity to a set of downlink locations and uplink locations. Downlinks provide connectivity to servers. Uplinks provide connectivity to data center interconnect infrastructure associated network resources. Uplink locations are grouped into uplink sets and managed as a unit with an assigned set of one or more networks. The network assignment of the uplink set determines the traffic carried over the uplink locations. Networks are also assigned to connections, and connections are assigned to downlinks. The networks assigned to a connection determine the traffic that will be carried over a downlink. The REST API (POST, GET, UPDATE, DELETE) supports an 'accept-language' in the request header. The default is 'en_US'. An 'auth:{token}' in the request header is required. The {token} may be retrieved from https://{appl}/rest/login-sessions. API Specifications Create Read Update /rest/logical-interconnect-groups POST GET LogicalInterconnectGroup /rest/logical-interconnect-groups/defaultSettings GET LogicalInterconnectGroupCollection /rest/logical-interconnect-groups/schema GET InterconnectSettings /rest/logical-interconnect-groups/{id} GET /rest/logical-interconnect-groups/{id}/settings/{settingsId} GET PUT Delete DELETE Resource Model SnmpConfiguration SnmpAccessIp TrapDestination URI: /rest/logical-interconnect-groups Method API GET Gets a list of logical interconnect groups based on optional sorting and filtering, and constrained by start and count parameters. Parameter Attributes Description start Optional The 0-based index of the first resource to return (start=0 starts with the first available resource). If the specified count does not return all resources within the maximum allowed time (see count), use the start parameter to view additional resource pages. The default value for start is 0 (first available resource). count Optional Optional parameter that specifies the number of resources to return from each API invocation. The number of resources returned on each call is referred to as a page. If you specify a count, the API attempts to return the specified number of resources, however this may be limited due to response time constraints and/or actual number of resources available to return. The results include the total number of resources that match the filter or query, the actual count returned, and the URIs to go to the next page, previous page, or both. sort Optional The sort order of the returned data set. By default, the sort order is based on the create time, with the oldest entry first. filter Experimental This parameter is experimental for this release: While generally functional when used in simple cases, restrictions might be noted in the implementation description. A general filter/query string that narrows the list of resources returned by a multi-resource GET (read) request and DELETE (delete) request. The default is no filter (all resources are returned). Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response logical-interconnect-groups.html[2/20/2014 10:09:57 AM] Description logical-interconnect-groups LogicalInterconnectGroupCollection A paginated collection of logical interconnect group resources Response Codes REST API Response Codes Examples Gets the first 10 logical interconnect groups: GET https://{appl}/rest/logical-interconnect-groups?start=0&count=10 Gets all the logical interconnect groups in the domain: GET https://{appl}/rest/logical-interconnect-groups POST Creates a logical interconnect group. Parameter Attributes Description Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Description LogicalInterconnectGroup Required The logical interconnect group to be created Response Description TaskResourceV2 An object that can be used to track the create logical interconnect group operation to completion Response Codes REST API Response Codes Examples Create an logical interconnect group with an "HP FlexFabric 10Gb/24 Port Module" in bay 1 and 2. Step 1: Get all the interconnect types using the rest API /rest/interconnect-types. Step 2: Assume the following values from the /rest/interconnect-types GET: "switchModel" : "HP VC FlexFabric 10Gb/24-Port Module", "uri" : "/rest/interconnect-types/46d7ffad-4424-4e36-acf3-b379c3116206" Step 3: Using the above value to fill in the values for the field "permittedInterconnectTypeUri" and create a request body: POST https://{appl}/rest/logical-interconnect-groups Request body: { "category" : null, "created" : null, "description" : null, "eTag" : null, "uplinkSets" : [ ], "modified" : null, "name" : "LST4", "state" : "Active", "status" : null, "interconnectMapTemplate" : { "interconnectMapEntryTemplates" : [ { "logicalDownlinkUri" : null, "logicalLocation" : { "locationEntries" : [ { "relativeValue" : "1", "type" : "Bay" }, { "relativeValue" : 1, "type" : "Enclosure" } ] }, "permittedInterconnectTypeUri" : "/rest/interconnect-types/46d7ffad-4424-4e36-acf3-b379c3116206" }, { "logicalDownlinkUri" : null, logical-interconnect-groups.html[2/20/2014 10:09:57 AM] logical-interconnect-groups "logicalLocation" : { "locationEntries" : [ { "relativeValue" : "2", "type" : "Bay" }, { "relativeValue" : 1, "type" : "Enclosure" } ] }, "permittedInterconnectTypeUri" : "/rest/interconnect-types/46d7ffad-4424-4e36-acf3-b379c3116206" }, { "logicalDownlinkUri" : null, "logicalLocation" : { "locationEntries" : [ { "relativeValue" : 3, "type" : "Bay" }, { "relativeValue" : 1, "type" : "Enclosure" } ] }, "permittedInterconnectTypeUri" : null }, { "logicalDownlinkUri" : null, "logicalLocation" : { "locationEntries" : [ { "relativeValue" : 4, "type" : "Bay" }, { "relativeValue" : 1, "type" : "Enclosure" } ] }, "permittedInterconnectTypeUri" : null }, { "logicalDownlinkUri" : null, "logicalLocation" : { "locationEntries" : [ { "relativeValue" : 5, "type" : "Bay" }, { "relativeValue" : 1, "type" : "Enclosure" } ] }, "permittedInterconnectTypeUri" : null }, { "logicalDownlinkUri" : null, "logicalLocation" : { "locationEntries" : [ { "relativeValue" : 6, "type" : "Bay" }, { "relativeValue" : 1, "type" : "Enclosure" } ] }, "permittedInterconnectTypeUri" : null }, { "logicalDownlinkUri" : null, "logicalLocation" : { "locationEntries" : [ { "relativeValue" : 7, "type" : "Bay" }, { "relativeValue" : 1, "type" : "Enclosure" } ] }, "permittedInterconnectTypeUri" : null }, { "logicalDownlinkUri" : null, "logicalLocation" : { "locationEntries" : [ { "relativeValue" : 8, "type" : "Bay" }, { "relativeValue" : 1, logical-interconnect-groups.html[2/20/2014 10:09:57 AM] logical-interconnect-groups "type" : "Enclosure" } ] }, "permittedInterconnectTypeUri" : null } ] }, "type" : "logical-interconnect-group", "uri" : null } URI: /rest/logical-interconnect-groups/defaultSettings Method API GET Gets the default interconnect settings for a logical interconnect group. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description InterconnectSettings The default Ethernet interconnect settings Response Codes REST API Response Codes Examples Get the default Ethernet interconnect settings: GET https://{appl}/rest/logical-interconnect-groups/defaultSettings URI: /rest/logical-interconnect-groups/schema Method API GET Gets the JSON schema for the logical interconnect group. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description JsonSchema The JSON schema for this resource Response Codes REST API Response Codes Examples Get the JSON schema for the resource: GET https://{appl}/rest/logical-interconnect-groups/schema URI: /rest/logical-interconnect-groups/{id} logical-interconnect-groups.html[2/20/2014 10:09:57 AM] logical-interconnect-groups Method API GET Gets a logical interconnect group. Parameter Attributes Description Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description LogicalInterconnectGroup The requested logical interconnect group resource Response Codes REST API Response Codes Examples Get the logical interconnect group that matches ID dce3fc90-873e-48f7-8340-cc927d625b16: GET https://{appl}/rest/logical-interconnect-groups/dce3fc90-873e-48f7-8340-cc927d625b16 DELETE Deletes a logical interconnect group. Parameter Attributes Description force Optional If set to true, the operation completes even if there are network connectivity issues or resource errors. The default is false. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description TaskResourceV2 An object that can be used to track the progress of the logical interconnect group delete operation to completion Response Codes REST API Response Codes Examples Delete the logical interconnect group with ID dce3fc90-873e-48f7-8340-cc927d625b16: DELETE https://{appl}/rest/logical-interconnect-groups/dce3fc90-873e-48f7-8340-cc927d625b16 PUT Updates a logical interconnect group. Parameter Attributes Description force Optional If set to true, the operation completes even if there are network connectivity issues or resource errors. The default is false. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Request Body Attributes Description LogicalInterconnectGroup Required The logical interconnect group to be updated Response Description TaskResourceV2 An object that can be used to track the progress of the logical interconnect group update operation to completion Response Codes logical-interconnect-groups.html[2/20/2014 10:09:57 AM] logical-interconnect-groups REST API Response Codes Examples Update an existing logical interconnect group by adding an uplink set "EnetUplink1" with an Ethernet network on port X5 of the interconnects in bays 1 and 2: PUT https://{appl}/rest/logical-interconnect-groups/dce3fc90-873e-48f7-8340-cc927d625b16 Request body: { "category" : null, "created" : null, "description" : null, "eTag" : null, "uplinkSets" : [ { "logicalPortConfigInfos" : [ { "desiredSpeed" : "Auto", "logicalLocation" : { "locationEntries" : [ { "relativeValue" : 1, "type" : "Bay" }, { "relativeValue" : 21, "type" : "Port" }, { "relativeValue" : 1, "type" : "Enclosure" } ] } }, { "desiredSpeed" : "Auto", "logicalLocation" : { "locationEntries" : [ { "relativeValue" : 2, "type" : "Bay" }, { "relativeValue" : 21, "type" : "Port" }, { "relativeValue" : 1, "type" : "Enclosure" } ] } } ], "name" : "EnetUplink1", "mode" : "Auto", "networkType" : "Ethernet", "networkUris" : [ "/rest/ethernet-networks/5c3aefcb-0dd5-4fcc-b652-c9e734797fbd" ], "primaryPort" : null } ], "modified" : null, "name" : "LST4", "state" : "Active", "status" : null, "interconnectMapTemplate" : { "interconnectMapEntryTemplates" : [ { "logicalDownlinkUri" : null, "logicalLocation" : { "locationEntries" : [ { "relativeValue" : "1", "type" : "Bay" }, { "relativeValue" : 1, "type" : "Enclosure" } ] }, "permittedInterconnectTypeUri" : "/rest/interconnect-types/46d7ffad-4424-4e36-acf3-b379c3116206" }, { "logicalDownlinkUri" : null, "logicalLocation" : { "locationEntries" : [ { "relativeValue" : "2", "type" : "Bay" }, { "relativeValue" : 1, "type" : "Enclosure" logical-interconnect-groups.html[2/20/2014 10:09:57 AM] logical-interconnect-groups } ] }, "permittedInterconnectTypeUri" : "/rest/interconnect-types/46d7ffad-4424-4e36-acf3-b379c3116206" }, { "logicalDownlinkUri" : null, "logicalLocation" : { "locationEntries" "type" : "Bay" }, { "relativeValue" : 1, "type" : "Enclosure" } ] }, "permittedInterconnectTypeUri" : null }, { "logicalDownlinkUri" : null, "logicalLocation" : { "locationEntries" "type" : "Bay" }, { "relativeValue" : 1, "type" : "Enclosure" } ] }, "permittedInterconnectTypeUri" : null }, { "logicalDownlinkUri" : null, "logicalLocation" : { "locationEntries" "type" : "Bay" }, { "relativeValue" : 1, "type" : "Enclosure" } ] }, "permittedInterconnectTypeUri" : null }, { "logicalDownlinkUri" : null, "logicalLocation" : { "locationEntries" "type" : "Bay" }, { "relativeValue" : 1, "type" : "Enclosure" } ] }, "permittedInterconnectTypeUri" : null }, { "logicalDownlinkUri" : null, "logicalLocation" : { "locationEntries" "type" : "Bay" }, { "relativeValue" : 1, "type" : "Enclosure" } ] }, "permittedInterconnectTypeUri" : null }, { "logicalDownlinkUri" : null, "logicalLocation" : { "locationEntries" "type" : "Bay" }, { "relativeValue" : 1, "type" : "Enclosure" } ] }, "permittedInterconnectTypeUri" : null } logical-interconnect-groups.html[2/20/2014 10:09:57 AM] : [ { "relativeValue" : 3, : [ { "relativeValue" : 4, : [ { "relativeValue" : 5, : [ { "relativeValue" : 6, : [ { "relativeValue" : 7, : [ { "relativeValue" : 8, logical-interconnect-groups ] }, "type" : "logical-interconnect-group", "uri" : "/rest/logical-interconnect-groups/dce3fc90-873e-48f7-8340-cc927d625b16" } URI: /rest/logical-interconnect-groups/{id}/settings/{settingsId} Method API GET Gets the interconnect settings for a logical interconnect group. Parameter Attributes Description Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description InterconnectSettings The interconnect settings for the specified logical interconnect group ID and specified settings ID Response Codes REST API Response Codes Examples Get the interconnect settings that match ID 167aadfa-10cf-4131-89bb-2e5e73a68683 for the logical interconnect group that matches ID dce3fc90-873e-48f7-8340-cc927d625b16: GET https://{appl}/rest/logical-interconnect-groups/ dce3fc90-873e-48f7-8340-cc927d625b16/settings/167aadfa-10cf-4131-89bb-2e5e73a68683 LogicalInterconnectGroup description: A logical interconnect group serves as a structural reference when building a logical interconnect. All of the configuration constructs of a logical interconnect are present in the logical interconnect group. type: object Properties status: category: name: telemetryConfiguration: description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown - should be avoided, but there may be rare occasions where status is Unknown; OK - indicates normal/informational behavior; Disabled - indicates that a resource is not operational; Warning - needs attention soon; Critical needs immediate attention. type: string description: Resource category used for authorizations and resource type groupings type: string description: Display name for the resource type: string description: The controls for collection of interconnect statistics. Optional, if not supplied a default will be used type: object Properties logical-interconnect-groups.html[2/20/2014 10:09:57 AM] logical-interconnect-groups status: category: name: created: sampleCount: enableTelemetry: uri: modified: state: eTag: sampleInterval: logical-interconnect-groups.html[2/20/2014 10:09:57 AM] description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown - should be avoided, but there may be rare occasions where status is Unknown; OK - indicates normal/informational behavior; Disabled - indicates that a resource is not operational; Warning - needs attention soon; Critical - needs immediate attention. type: string description: Resource category used for authorizations and resource type groupings type: string description: Display name for the resource type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Telemetry sample count (circular list) default: 12 required: true maximum: 102 minimum: 1 type: integer description: Enables or disables telemetry default: true required: true type: boolean description: The canonical URI of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Current state of the resource type: string description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Telemetry sample interval in seconds default: 300 required: true maximum: 300 logical-interconnect-groups type: description: created: stackingHealth: uplinkSets: 1 type: integer description: Identifies the resource type. This field must be set to 'telemetry-configuration'. type: string description: Brief description of the resource type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: The stacking state between the interconnects in the logical interconnect is connected, biconnected or disconnected. Optional. Does not apply at the logical interconnect group level type: string readonly: true enum: uri: minimum: Unknown Connected BiConnected Disconnected description: The canonical URI of the resource type: string description: List of uplink sets in the logical interconnect group. NOTE:all Ethernet networks in an uplink set must have unique VLAN IDs. Items networkUris: name: primaryPort: description: The set of network URIs. NOTE:for Ethernet Uplink Set Groups, all Ethernet Networks must have unique VLAN IDs. type: array description: The name of the uplink set type: string description: The Ethernet primary failover port type: object Properties locationEntries: description: A set of logical locations type: array Items type: description: The type of the location type: string enum: relativeValue: logical-interconnect-groups.html[2/20/2014 10:09:57 AM] description: Port Bay Enclosure The relative value of the location -- Type:Enclosure, Relative value:1; Type:Bay, logical-interconnect-groups Relative values:1 to 8; Type:Port, Relative values:Downlink Ports:D1 is 1, D2 is 2, ....,D15 is 15, D16; Uplink Ports:X1 is 17, X2 is 18, ....,X9 is 25, X10 is 26. type: nativeNetworkUri: reachability: description: The Ethernet native network URI type: string description: The reachability of the uplink set group. Optional, does not apply for uplink set groups type: string readonly: true enum: mode: The Ethernet uplink failover mode type: string description: enum: logicalPortConfigInfos: Unknown NotReachable Reachable RedundantlyReachable description: enum: networkType: integer Auto Failover The type of network Ethernet FibreChannel type: string required: true description: The detailed configuration properties for the uplink ports Items desiredSpeed: description: The port speed you prefer it to use type: string enum: logicalLocation: Speed0M Speed1M Speed10M Speed100M Speed1G Speed2G Speed2_5G Speed4G Speed8G Speed10G Auto description: Logical location type: object Properties locationEntries: description: A set of logical locations type: array Items type: logical-interconnect-groups.html[2/20/2014 10:09:57 AM] logical-interconnect-groups description: The type of the location type: string enum: relativeValue: modified: state: interconnectMapTemplate: true type: array required: true type: array description: The relative value of the location -- Type:Enclosure, Relative value:1; Type:Bay, Relative values:1 to 8; Type:Port, Relative values:Downlink Ports:D1 is 1, D2 is 2, ....,D15 is 15, D16; Uplink Ports:X1 is 17, X2 is 18, ....,X9 is 25, X10 is 26. type: integer description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: The current resource state of the Logical Interconnect Group. The supported values are enumerated in the table below. type: string enum: eTag: required: Port Bay Enclosure Active Changed Invalid description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Interconnect map associated with the logical interconnect group required: true type: object Properties interconnectMapEntryTemplates: description: Array of interconnect map associated with the Logical Interconnect Group type: array Items logicalDownlinkUri: logicalLocation: description: Logical downlink URI type: string readonly: true description: Logical location type: object Properties logical-interconnect-groups.html[2/20/2014 10:09:57 AM] logical-interconnect-groups locationEntries: description: A set of logical locations type: array Items type: description: The type of the location type: string enum: relativeValue: permittedInterconnectTypeUri: ethernetSettings: Port Bay Enclosure description: The relative value of the location -- Type:Enclosure, Relative value:1; Type:Bay, Relative values:1 to 8; Type:Port, Relative values:Downlink Ports:D1 is 1, D2 is 2, ....,D15 is 15, D16; Uplink Ports:X1 is 17, X2 is 18, ....,X9 is 25, X10 is 26. type: integer description: The permitted interconnect type URI to use type: string description: The Ethernet interconnect settings for the logical interconnect group. Optional, if not supplied and default will be used type: object Properties interconnectType: description: The type of the network this will be used for default: Ethernet type: string enum: status: igmpIdleTimeoutInterval: macRefreshInterval: logical-interconnect-groups.html[2/20/2014 10:09:57 AM] Ethernet FibreChannel readonly: true description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown - should be avoided, but there may be rare occasions where status is Unknown; OK - indicates normal/informational behavior; Disabled indicates that a resource is not operational; Warning - needs attention soon; Critical - needs immediate attention. type: string description: IGMP snooping idle time out intervals in seconds default: 260 type: integer maximum: 3600 minimum: 1 description: MAC Cache Fail Over refresh intervals in seconds default: 5 type: integer logical-interconnect-groups name: created: enableNetworkLoopProtection: enableFastMacCacheFailover: uri: enableIgmpSnooping: state: eTag: modified: dependentResourceUri: category: type: logical-interconnect-groups.html[2/20/2014 10:09:57 AM] maximum: 30 minimum: 1 description: A user friendly name type: string readonly: true description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Enables or disables network loop protection default: true type: boolean description: This will cause Ethernet packets to be tranmitted on newly-active links. default: true type: boolean description: The canonical URI of the resource type: string description: Internet Group Management protocol (IGMP) allows modules to monitor the IGMP IP multicast membership activities. default: false type: boolean description: Current state of the resource type: string description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: The URI which the setting will be applied to. This returned value will be either logical interconnect or logical interconnect template URI. type: string readonly: true description: Resource category used for authorizations and resource type groupings type: string description: Identifies the resource type. This field must be set to 'EthernetInterconnectSettings'. type: string logical-interconnect-groups id: description: snmpConfiguration: description: Ignore this because it is not needed, and it will be taken out later. type: string readonly: true description: Brief description of the resource type: string description: The SNMP configuration for the logical interconnect group. Optional, if not supplied a default will be used type: object Properties status: category: name: readCommunity: created: enabled: uri: modified: systemContact: description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown - should be avoided, but there may be rare occasions where status is Unknown; OK - indicates normal/informational behavior; Disabled - indicates that a resource is not operational; Warning - needs attention soon; Critical - needs immediate attention. type: string description: Resource category used for authorizations and resource type groupings type: string description: Display name for the resource type: string description: Authentication string for read-only access default: public type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Used to enable/disable SNMP default: false type: boolean description: The canonical URI of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Person to notify when system problems occur default: state: logical-interconnect-groups.html[2/20/2014 10:09:57 AM] type: string description: Current state of the resource logical-interconnect-groups eTag: snmpAccess: trapDestinations: type: string description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: The access list allowed for GET operations type: array description: The list of configured trap destinations type: array Items enetTrapCategories: vcmTrapCategories: trapSeverities: communityString: fcTrapCategories: trapDestination: description: Filter the traps for this trap destination by the list of configured Ethernet traps type: array description: Filter the traps for this trap destination by the list of configured VCM traps type: array description: Filter the traps for this trap destination by the list of configured severities type: array description: Authentication string for the trap destination default: public type: string description: Filter the traps for this trap destination by the list of configured Fibre Channel traps type: array description: The trap destination IP address or host name default: trapFormat: type: string description: The trap format (SNMP version) for this trap destination default: SNMPv1 type: string enum: type: description: type: stackingMode: description: Identifies the resource type. This field must be set to 'snmp-configuration'. type: string description: Brief description of the resource type: string description: Identifies the resource type. This field must be set to 'logical-interconnect-group'. type: string description: Stacking mode for the logical interconnect enum: logical-interconnect-groups.html[2/20/2014 10:09:57 AM] SNMPv1 SNMPv2 None Enclosure SwitchPairs logical-interconnect-groups MultiEnclosure description: type: string required: true description: Brief description of the resource type: string LogicalInterconnectGroupCollection type: object Properties count: category: created: prevPageUri: uri: modified: start: eTag: nextPageUri: members: description: The actual number of resources returned in the specified page type: integer description: Resource category used for authorizations and resource type groupings type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: URI pointing to the page of resources preceding the list of resources contained in the specified collection type: string description: The canonical URI of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: The row or record number of the first resource returned in the specified page type: integer description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: URI pointing to the page of resources following the list of resources contained in the specified collection type: string description: An array of logical interconnect group type: array Items logical-interconnect-groups.html[2/20/2014 10:09:57 AM] logical-interconnect-groups status: category: eTag: name: created: type: description: uri: uplinkSets: description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown - should be avoided, but there may be rare occasions where status is Unknown; OK - indicates normal/informational behavior; Disabled - indicates that a resource is not operational; Warning needs attention soon; Critical - needs immediate attention. type: string description: Resource category used for authorizations and resource type groupings type: string description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Display name for the resource type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Identifies the resource type. This field must be set to 'logical-interconnect-group'. type: string description: Brief description of the resource type: string description: The canonical URI of the resource type: string description: List of uplink sets in the logical interconnect group. NOTE:all Ethernet networks in an uplink set must have unique VLAN IDs. Items networkUris: name: primaryPort: description: The set of network URIs. NOTE:for Ethernet Uplink Set Groups, all Ethernet Networks must have unique VLAN IDs. type: array description: The name of the uplink set type: string description: The Ethernet primary failover port type: object Properties locationEntries: description: A set of logical locations type: array Items type: description: enum: type: logical-interconnect-groups.html[2/20/2014 10:09:57 AM] The type of the location Port Bay Enclosure string logical-interconnect-groups relativeValue: nativeNetworkUri: reachability: integer type: string description: The reachability of the uplink set group. Optional, does not apply for uplink set groups readonly: true Unknown NotReachable Reachable RedundantlyReachable type: string description: The Ethernet uplink failover mode Auto Failover type: string description: The type of network enum: logicalPortConfigInfos: type: The Ethernet native network URI enum: networkType: The relative value of the location -- Type:Enclosure, Relative value:1; Type:Bay, Relative values:1 to 8; Type:Port, Relative values:Downlink Ports:D1 is 1, D2 is 2, ....,D15 is 15, D16; Uplink Ports:X1 is 17, X2 is 18, ....,X9 is 25, X10 is 26. description: enum: mode: description: Ethernet FibreChannel type: string required: true description: The detailed configuration properties for the uplink ports Items desiredSpeed: description: enum: type: logicalLocation: The port speed you prefer it to use Speed0M Speed1M Speed10M Speed100M Speed1G Speed2G Speed2_5G Speed4G Speed8G Speed10G Auto string description: Logical location type: object Properties locationEntries: logical-interconnect-groups.html[2/20/2014 10:09:57 AM] description: A set of logical locations type: array logical-interconnect-groups Items type: description: enum: relativeValue: modified: state: true type: array required: true type: array Port Bay Enclosure type: string description: The relative value of the location -Type:Enclosure, Relative value:1; Type:Bay, Relative values:1 to 8; Type:Port, Relative values:Downlink Ports:D1 is 1, D2 is 2, ....,D15 is 15, D16; Uplink Ports:X1 is 17, X2 is 18, ....,X9 is 25, X10 is 26. type: integer description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: The current resource state of the Logical Interconnect Group. The supported values are enumerated in the table below. enum: type: telemetryConfiguration: required: The type of the location Active Changed Invalid string description: The controls for collection of interconnect statistics. Optional, if not supplied a default will be used type: object Properties status: category: name: created: logical-interconnect-groups.html[2/20/2014 10:09:57 AM] description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown - should be avoided, but there may be rare occasions where status is Unknown; OK - indicates normal/informational behavior; Disabled indicates that a resource is not operational; Warning - needs attention soon; Critical - needs immediate attention. type: string description: Resource category used for authorizations and resource type groupings type: string description: Display name for the resource type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string logical-interconnect-groups sampleCount: enableTelemetry: uri: modified: state: eTag: sampleInterval: type: description: interconnectMapTemplate: YYYY-MM-DDThh:mm:ss.sssZ description: Telemetry sample count (circular list) default: 12 required: true maximum: 102 minimum: 1 type: integer description: Enables or disables telemetry default: true required: true type: boolean description: The canonical URI of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Current state of the resource type: string description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Telemetry sample interval in seconds default: 300 required: true maximum: 300 minimum: 1 type: integer description: Identifies the resource type. This field must be set to 'telemetry-configuration'. type: string description: Brief description of the resource type: string description: Interconnect map associated with the logical interconnect group required: true type: object Properties logical-interconnect-groups.html[2/20/2014 10:09:57 AM] format: logical-interconnect-groups interconnectMapEntryTemplates: description: Array of interconnect map associated with the Logical Interconnect Group type: array Items logicalDownlinkUri: logicalLocation: description: Logical downlink URI readonly: true type: string description: Logical location type: object Properties locationEntries: description: A set of logical locations type: array Items type: description: enum: relativeValue: permittedInterconnectTypeUri: ethernetSettings: Port Bay Enclosure type: string description: The relative value of the location -Type:Enclosure, Relative value:1; Type:Bay, Relative values:1 to 8; Type:Port, Relative values:Downlink Ports:D1 is 1, D2 is 2, ....,D15 is 15, D16; Uplink Ports:X1 is 17, X2 is 18, ....,X9 is 25, X10 is 26. type: integer description: The permitted interconnect type URI to use type: string description: The Ethernet interconnect settings for the logical interconnect group. Optional, if not supplied and default will be used type: object Properties interconnectType: logical-interconnect-groups.html[2/20/2014 10:09:57 AM] The type of the location description: The type of the network this will be used for default: Ethernet logical-interconnect-groups type: string enum: status: igmpIdleTimeoutInterval: macRefreshInterval: name: created: enableNetworkLoopProtection: enableFastMacCacheFailover: uri: enableIgmpSnooping: logical-interconnect-groups.html[2/20/2014 10:09:57 AM] Ethernet FibreChannel readonly: true description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown should be avoided, but there may be rare occasions where status is Unknown; OK - indicates normal/informational behavior; Disabled - indicates that a resource is not operational; Warning - needs attention soon; Critical - needs immediate attention. type: string description: IGMP snooping idle time out intervals in seconds default: 260 type: integer maximum: 3600 minimum: 1 description: MAC Cache Fail Over refresh intervals in seconds default: 5 type: integer maximum: 30 minimum: 1 description: A user friendly name readonly: true type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Enables or disables network loop protection default: true type: boolean description: This will cause Ethernet packets to be tranmitted on newly-active links. default: true type: boolean description: The canonical URI of the resource type: string description: Internet Group Management protocol (IGMP) allows modules to monitor the IGMP IP multicast membership activities. default: false logical-interconnect-groups state: eTag: modified: dependentResourceUri: category: type: id: description: stackingHealth: logical-interconnect-groups.html[2/20/2014 10:09:57 AM] description: Current state of the resource type: string description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: The URI which the setting will be applied to. This returned value will be either logical interconnect or logical interconnect template URI. readonly: true type: string description: Resource category used for authorizations and resource type groupings type: string description: Identifies the resource type. This field must be set to 'EthernetInterconnectSettings'. type: string description: Ignore this because it is not needed, and it will be taken out later. readonly: true type: string description: Brief description of the resource type: string The stacking state between the interconnects in the logical interconnect is connected, biconnected or disconnected. Optional. Does not apply at the logical interconnect group level readonly: true Unknown Connected BiConnected Disconnected type: string description: Stacking mode for the logical interconnect enum: snmpConfiguration: boolean description: enum: stackingMode: type: None Enclosure SwitchPairs MultiEnclosure type: string required: true description: The SNMP configuration for the logical interconnect group. Optional, if not supplied a default will be used logical-interconnect-groups type: object Properties status: category: name: readCommunity: created: enabled: uri: modified: systemContact: description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown - should be avoided, but there may be rare occasions where status is Unknown; OK - indicates normal/informational behavior; Disabled indicates that a resource is not operational; Warning - needs attention soon; Critical - needs immediate attention. type: string description: Resource category used for authorizations and resource type groupings type: string description: Display name for the resource type: string description: Authentication string for read-only access default: public type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Used to enable/disable SNMP default: false type: boolean description: The canonical URI of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Person to notify when system problems occur default: state: eTag: snmpAccess: trapDestinations: logical-interconnect-groups.html[2/20/2014 10:09:57 AM] type: string description: Current state of the resource type: string description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: The access list allowed for GET operations type: array description: The list of configured trap destinations logical-interconnect-groups type: array Items enetTrapCategories: vcmTrapCategories: trapFormat: description: Filter the traps for this trap destination by the list of configured Ethernet traps type: array description: Filter the traps for this trap destination by the list of configured VCM traps type: array description: The trap format (SNMP version) for this trap destination default: SNMPv1 enum: communityString: fcTrapCategories: trapDestination: SNMPv1 SNMPv2 type: string description: Authentication string for the trap destination default: public type: string description: Filter the traps for this trap destination by the list of configured Fibre Channel traps type: array description: The trap destination IP address or host name default: trapSeverities: type: description: total: type: type: string description: Filter the traps for this trap destination by the list of configured severities type: array description: Identifies the resource type. This field must be set to 'snmp-configuration'. type: string description: Brief description of the resource type: string description: The total number of resources that would be returned from the query (including any filters), without pagination or enforced resource limits type: integer description: Identifies the resource type. This field must be set to 'LogicalInterconnectGroupCollection'. type: string InterconnectSettings type: object Properties status: description: logical-interconnect-groups.html[2/20/2014 10:09:57 AM] Overall health status of the resource. The following are the valid values for the status of the resource:Unknown - should be avoided, but there may be rare occasions where status is Unknown; OK - indicates normal/informational behavior; Disabled - indicates that a resource is not operational; Warning - needs attention soon; Critical - needs immediate logical-interconnect-groups attention. category: description: created: uri: modified: state: type: string description: Resource category used for authorizations and resource type groupings type: string description: Brief description of the resource type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: The canonical URI of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: The current resource state of the Interconnect Settings. The supported values are enumerated in the table below. type: string enum: eTag: ethernetSettings: Active Degraded Failed Unknown description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Interconnect settings for Ethernet interconnect(s) type: object Properties interconnectType: description: The type of the network this will be used for default: Ethernet type: string enum: status: igmpIdleTimeoutInterval: logical-interconnect-groups.html[2/20/2014 10:09:57 AM] Ethernet FibreChannel readonly: true description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown - should be avoided, but there may be rare occasions where status is Unknown; OK - indicates normal/informational behavior; Disabled - indicates that a resource is not operational; Warning - needs attention soon; Critical - needs immediate attention. type: string description: IGMP snooping idle time out intervals in seconds logical-interconnect-groups macRefreshInterval: name: created: enableNetworkLoopProtection: enableFastMacCacheFailover: uri: enableIgmpSnooping: state: eTag: modified: logical-interconnect-groups.html[2/20/2014 10:09:57 AM] default: 260 type: integer maximum: 3600 minimum: 1 description: MAC Cache Fail Over refresh intervals in seconds default: 5 type: integer maximum: 30 minimum: 1 description: A user friendly name type: string readonly: true description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Enables or disables network loop protection default: true type: boolean description: This will cause Ethernet packets to be tranmitted on newly-active links. default: true type: boolean description: The canonical URI of the resource type: string description: Internet Group Management protocol (IGMP) allows modules to monitor the IGMP IP multicast membership activities. default: false type: boolean description: Current state of the resource type: string description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ logical-interconnect-groups dependentResourceUri: category: type: id: description: type: name: description: The URI which the setting will be applied to. This returned value will be either logical interconnect or logical interconnect template URI. type: string readonly: true description: Resource category used for authorizations and resource type groupings type: string description: Identifies the resource type. This field must be set to 'EthernetInterconnectSettings'. type: string description: Ignore this because it is not needed, and it will be taken out later. type: string readonly: true description: Brief description of the resource type: string description: Identifies the resource type. This field must be set to 'InterconnectSettings'. type: string description: Display name for the resource type: string SnmpConfiguration type: object Properties status: category: name: readCommunity: created: description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown - should be avoided, but there may be rare occasions where status is Unknown; OK - indicates normal/informational behavior; Disabled - indicates that a resource is not operational; Warning - needs attention soon; Critical - needs immediate attention. type: string description: Resource category used for authorizations and resource type groupings type: string description: Display name for the resource type: string description: Authentication string for read-only access default: public type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ logical-interconnect-groups.html[2/20/2014 10:09:57 AM] logical-interconnect-groups enabled: uri: modified: systemContact: description: Used to enable/disable SNMP default: false type: boolean description: The canonical URI of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Person to notify when system problems occur default: state: type: string description: The current resource state of the Snmp Configuration. The supported values are enumerated in the table below. type: string enum: eTag: snmpAccess: trapDestinations: Active Degraded Failed Unknown description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: The access list allowed for GET operations type: array description: The list of configured trap destinations type: array Items enetTrapCategories: vcmTrapCategories: trapSeverities: communityString: fcTrapCategories: trapDestination: logical-interconnect-groups.html[2/20/2014 10:09:57 AM] description: Filter the traps for this trap destination by the list of configured Ethernet traps type: array description: Filter the traps for this trap destination by the list of configured VCM traps type: array description: Filter the traps for this trap destination by the list of configured severities type: array description: Authentication string for the trap destination default: public type: string description: Filter the traps for this trap destination by the list of configured Fibre Channel traps type: array description: The trap destination IP address or host name logical-interconnect-groups default: trapFormat: type: string description: The trap format (SNMP version) for this trap destination default: SNMPv1 type: string enum: type: description: SNMPv1 SNMPv2 description: Identifies the resource type. This field must be set to 'snmp-configuration'. type: string description: Brief description of the resource type: string SnmpAccessIp type: object Properties ip: description: The access IP/subnet in CIRD format type: string TrapDestination type: object Properties trapDestination: description: The trap destination IP address or host name type: string default: communityString: trapFormat: description: Authentication string for the trap destination type: string default: public description: The trap format (SNMP version) for this trap destination type: string enum: trapSeverities: SNMPv1 SNMPv2 default: SNMPv1 description: Filter the traps for this trap destination by the list of configured severities logical-interconnect-groups.html[2/20/2014 10:09:57 AM] logical-interconnect-groups vcmTrapCategories: enetTrapCategories: fcTrapCategories: type: array description: Filter the traps for this trap destination by the list of configured VCM traps type: array description: Filter the traps for this trap destination by the list of configured Ethernet traps type: array description: Filter the traps for this trap destination by the list of configured Fibre Channel traps type: array logical-interconnect-groups.html[2/20/2014 10:09:57 AM] firmware-drivers HP OneView 1.05 REST API Reference (API Version 4) Updated: February 18, 2014 5:57 MST firmware-drivers The firmware driver resource manager provides REST APIs to upload an SPP (HP Service Pack for ProLiant) into the repository, retrieve the content of the SPP, and delete from the repository. It also provide an API to retrieve the repository's total disk space as well as the free disk space. API Specifications Create Read Update Delete Resource Model /rest/firmware-drivers GET FwBaseline /rest/firmware-drivers/schema GET FwBaselineCollection /rest/firmware-drivers/{id} GET DELETE FwRepoInfo URI: /rest/firmware-drivers Method API GET Gets the list of firmware baseline resources managed by the appliance. Optional parameters can be used to filter the list of resources returned. Parameter Attributes Description start Optional The start parameter will be ignored if specified, and the default of 0 will be used. count Optional The count parameter will be ignored if specified, and all resources will be returned. sort Optional The sort order of the returned data set. By default, the sort order is based on the create time, with the oldest entry first. query Experimental This parameter is experimental for this release: While generally functional when used in simple cases, restrictions might be noted in the implementation description. If the query is supported, the following is the way it works. A general query string that narrows the list of resources returned by a multiresource GET (read) request and DELETE (delete) request. The default is no query (all resources are returned). One advantage query has over filter is that it can have embedded ORs. A single query parameter can do what would take multiple parameters or multiple GET requests using filter. Use query for more complex queries. view Optional fields Optional filter Experimental firmware-drivers.html[2/20/2014 10:09:59 AM] Return a specific subset of the attributes of the resource or collection by specifying the name of a predefined view. The default view is expand (show all attributes of the resource, and all elements of collections or resources). This parameter is experimental for this release: While generally firmware-drivers functional when used in simple cases, restrictions might be noted in the implementation description. A general filter/query string that narrows the list of resources returned by a multi-resource GET (read) request and DELETE (delete) request. The default is no filter (all resources are returned). Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description FwBaselineCollection The list of firmware baseline resources. Response Codes REST API Response Codes Examples Get all firmware baseline resources: GET https://{appl}/rest/firmware-drivers Note that the start, count, and filter parameters will be ignored if specified. The list of all firmware baseline resources will be returned. URI: /rest/firmware-drivers/schema Method API GET Generate the FwBaseline JSON formatted schema Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description JsonSchema The JSON schema of the firmware baseline. Response Codes REST API Response Codes Examples https://{appl}/rest/firmware-drivers/schema URI: /rest/firmware-drivers/{id} firmware-drivers.html[2/20/2014 10:09:59 AM] firmware-drivers Method API GET Gets the individual firmware baseline resource for the given URI. Note that the view parameter is not currently supported. Parameter Attributes Description view Optional Return a specific subset of the attributes of the resource or collection by specifying the name of a predefined view. The default view is expand (show all attributes of the resource, and all elements of collections or resources). fields Optional Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description FwBaseline The firmware baseline resource for the specified URI. Response Codes REST API Response Codes Examples GET https://{appl}/rest/firmware-drivers/{id} GET https://{appl}/rest/firmwaredrivers/SPP2012080.2012_0713.57 DELETE Delete the firmware baseline resource with the specified id. If force is set to true, the firmware baseline resource will be deleted even if it is assigned to devices. Parameter Attributes Description force Optional If set to true, the operation completes even if there are network connectivity issues or resource errors. The default is false. Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description TaskResourceV2 TaskResource Response Codes REST API Response Codes Examples DELETE https://{appl}/rest/firmware-drivers/{id} firmware-drivers.html[2/20/2014 10:09:59 AM] firmware-drivers DELETE https://{appl}/rest/firmwaredrivers/SPP2012080.2012_0713.57 FwBaseline description: Firmware baseline resource. type: object Properties version: resourceId: modified: releaseDate: baselineShortName: supportedLanguages: category: uuid: description: state: description: The version of the firmware bundle. type: string description: The resource id of the firmware baseline resource. type: string description: Date and time when the resource was last modified format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][09][0-9])?Z description: The release date of the firmware baseline resource in GMT time. type: string format: yyyy-MM-dd'T'HH:mm:ss'Z' description: The short name is the 'SPP ' string plus the version of the firmware bundle type: string description: The languages supported by this firmware baseline resource. type: string description: Resource category used for authorizations and resource type groupings type: string description: The unique id of the firmware baseline resource. type: string description: Brief description of the resource type: string description: The current resource state of the firmware baseline resource. Values include Adding (the firmware baseline is being uploaded), Created (the firmware baseline is uploaded and saved), AddFailed (a firmware baseline ISO file failed to be added to the repository), InUse (the firmware baseline is associated with at least one resource manager), Removing (the firmware baseline is being removed), RemoveFailed (the firmware baseline remove attempt failed), and Removed (the firmware baseline has been removed). firmware-drivers.html[2/20/2014 10:09:59 AM] firmware-drivers isoFileName: xmlKeyName: type: status: swPackagesFullPath: bundleSize: eTag: lastTaskUri: fwComponents: readonly: true type: string description: The full iso file name which includes the '.iso' extension. type: string description: The baseline xml file name for internal use. type: string description: Identifies the resource type. This field must be set to 'firmware-baselines'. type: string description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown - should be avoided, but there may be rare occasions where status is Unknown; OK - indicates normal/informational behavior; Disabled - indicates that a resource is not operational; Warning needs attention soon; Critical - needs immediate attention. type: string description: Full path to retrieve the software packages in this firmware baseline resource. For internal use only. type: string description: The size of the firmware baseline resource in bytes. type: number description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: The most recent task tracker uri. For internal use only. type: string description: The list of the components in the firmware baseline resource. type: array Items componentVersion: name: swKeyNameList: fileName: name: description: firmware-drivers.html[2/20/2014 10:09:59 AM] description: The version of this component. type: string description: The name of this component. type: string description: A list of the software key name for this component. type: array description: The actual file name of this component. type: string Display name for the resource firmware-drivers created: uri: supportedOSList: type: string description: Date and time when the resource was created format: YYYY-MM-DDThh:mm:ss.sssZ type: string pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][09][0-9])?Z description: The canonical URI of the resource type: string description: The list of the operating systems supported by this firmware baseline resource. type: array FwBaselineCollection description: List of firmware baseline resources. type: object Properties count: category: created: prevPageUri: uri: modified: description: The actual number of resources returned in the specified page type: integer description: Resource category used for authorizations and resource type groupings type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])? Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: URI pointing to the page of resources preceding the list of resources contained in the specified collection type: string description: The canonical URI of the resource type: string description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](.[0-9][0-9][0-9])? Z type: string firmware-drivers.html[2/20/2014 10:09:59 AM] firmware-drivers start: eTag: nextPageUri: members: format: YYYY-MM-DDThh:mm:ss.sssZ description: The row or record number of the first resource returned in the specified page type: integer description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: URI pointing to the page of resources following the list of resources contained in the specified collection type: string description: List of firmware baseline resources. type: array Items resourceId: uri: releaseDate: baselineShortName: swPackagesFullPath: category: uuid: description: state: firmware-drivers.html[2/20/2014 10:09:59 AM] description: The resource id of the firmware baseline resource. type: string description: The canonical URI of the resource type: string description: The release date of the firmware baseline resource in GMT time. type: string format: yyyy-MM-dd'T'HH:mm:ss'Z' description: The short name is the 'SPP ' string plus the version of the firmware bundle type: string description: Full path to retrieve the software packages in this firmware baseline resource. For internal use only. type: string description: Resource category used for authorizations and resource type groupings type: string description: The unique id of the firmware baseline resource. type: string description: Brief description of the resource type: string description: The current resource state of the firmware baseline resource. Values include Adding (the firmware baseline is being uploaded), Created (the firmware baseline is uploaded and saved), AddFailed (a firmware baseline ISO file failed to be added to the repository), InUse (the firmware-drivers firmware baseline is associated with at least one resource manager), Removing (the firmware baseline is being removed), RemoveFailed (the firmware baseline remove attempt failed), and Removed (the firmware baseline has been removed). version: bundleSize: xmlKeyName: type: status: supportedLanguages: isoFileName: eTag: lastTaskUri: fwComponents: type: string readonly: true description: The version of the firmware bundle. type: string description: The size of the firmware baseline resource in bytes. type: number description: The baseline xml file name for internal use. type: string description: Identifies the resource type. This field must be set to 'firmware-baselines'. type: string description: Overall health status of the resource. The following are the valid values for the status of the resource:Unknown should be avoided, but there may be rare occasions where status is Unknown; OK - indicates normal/informational behavior; Disabled - indicates that a resource is not operational; Warning - needs attention soon; Critical - needs immediate attention. type: string description: The languages supported by this firmware baseline resource. type: string description: The full iso file name which includes the '.iso' extension. type: string description: Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource type: string description: The most recent task tracker uri. For internal use only. type: string description: The list of the components in the firmware baseline resource. type: array Items fileName: firmware-drivers.html[2/20/2014 10:09:59 AM] description: The actual file name of this component. firmware-drivers componentVersion: name: swKeyNameList: name: created: modified: supportedOSList: total: type: type: string description: The version of this component. type: string description: The name of this component. type: string description: A list of the software key name for this component. type: array description: Display name for the resource type: string description: Date and time when the resource was created pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5] [0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: Date and time when the resource was last modified pattern: [1-2][0-9][0-9][0-9]-([0-1][0-9])-[0-3][0-9]T[0-2][0-9]:[0-5] [0-9]:[0-5][0-9](.[0-9][0-9][0-9])?Z type: string format: YYYY-MM-DDThh:mm:ss.sssZ description: The list of the operating systems supported by this firmware baseline resource. type: array description: The total number of resources that would be returned from the query (including any filters), without pagination or enforced resource limits type: integer description: Identifies the resource type. This field must be set to 'firmware-baseline-list'. type: string FwRepoInfo description: Firmware repository resource. type: object Properties repositoryName: description: firmware-drivers.html[2/20/2014 10:09:59 AM] The repository name. firmware-drivers totalRepoSize: freeRepoSpace: type: string description: The total repository size in kbytes. type: integer description: The available space in the repository in kbytes. type: integer firmware-drivers.html[2/20/2014 10:09:59 AM] server-profiles HP OneView 1.05 REST API Reference (API Version 4) Updated: February 18, 2014 6:13 MST server-profiles The server profile resource manager provides REST APIs to create, retrieve, modify, and delete server profiles. These APIs require a valid authentication token to be provided in the request header which can be obtained from the Authentication Resource Manager. Users can also provide language data in the header, but any errors or status messages will default to English if this value is not provided. Server profiles are not supported on DL rack mount servers. API Specifications Create Read /rest/server-profiles POST GET Update Delete Resource Model DELETE ProfilePortModel /rest/server-profiles/available-networks GET AvailableServer /rest/server-profiles/available-networks/schema GET AvailableNetworks /rest/server-profiles/available-servers GET ServerProfileV2 /rest/server-profiles/available-servers/schema GET ServerProfileListV2 /rest/server-profiles/messages/schema GET ServerProfileHealth /rest/server-profiles/profile-ports GET /rest/server-profiles/profile-ports/schema GET /rest/server-profiles/schema GET /rest/server-profiles/{id}/messages GET /rest/server-profiles/{id} GET PUT DELETE URI: /rest/server-profiles Method API GET Gets a list of server profiles based on optional sorting and filtering, and constrained by start and count parameters. Providing a -1 for the count parameter will restrict the result set size to 64 server profiles. The maximum number of profiles is restricted to 256, i.e., if user requests more than 256, this will be internally limited to 256. Filters are supported for the name, description, serialNumber, uuid, macType, wwnType, serialNumberType, status and state attributes. Parameter Attributes Description start Optional The 0-based index of the first resource to return (start=0 starts with the first available resource). If the specified count does not return all resources within the maximum allowed time (see count), use the start parameter to view additional resource pages. The default value for start is 0 (first available resource). count Optional Optional parameter that specifies the number of resources to return from each API invocation. The number of resources returned on each call is referred to as a page. If you specify a count, the API attempts to return the specified number of resources, however this may be limited due to response time constraints and/or actual number of resources available to return. The results include the total number of resources that match the filter or query, the actual count returned, and the URIs to go to the next page, previous page, or both. sort Optional The sort parameter is used to specify the sorting order of the returned data set. By default, the sort order is based on the UUID of the profiles. query Experimental This parameter is experimental for this release: While generally functional when used in simple cases, restrictions might be noted in the implementation description. server-profiles.html[2/20/2014 10:10:01 AM] server-profiles If the query is supported, the following is the way it works. A general query string that narrows the list of resources returned by a multi-resource GET (read) request and DELETE (delete) request. The default is no query (all resources are returned). One advantage query has over filter is that it can have embedded ORs. A single query parameter can do what would take multiple parameters or multiple GET requests using filter. Use query for more complex queries. view Optional Return a specific subset of the attributes of the resource or collection by specifying the name of a predefined view. The default view is expand (show all attributes of the resource, and all elements of collections or resources). Not supported fields Optional filter Experimental This parameter is experimental for this release: While generally functional when used in simple cases, restrictions might be noted in the implementation description. A general filter/query string that narrows the list of resources returned by a multiresource GET (read) request and DELETE (delete) request. The default is no filter (all resources are returned). Request Header Attributes Description REST API Request Headers NOTE: The X-API-Version header is required for all APIs. For the current release, this must be set to "X-API-Version:4" Response Description ServerProfileListV2 The array of Server Profiles objects which match the request Response Codes REST API Response Codes Examples Retrieve all server profiles. The number of server profiles that can be returned with a single call is limited to a maximum of 256. If the number of profiles does not exceed the limit, then all profiles are returned; otherwise, the list is truncated. GET https://{appl}/rest/server-profiles Retrieve up to 25 server profiles. If there are fewer than 25 profiles, all profiles will be returned: GET https://{appl}/rest/server-profiles?count=25 Retrieve the 26th through 50th server profile. If there are fewer than 25 profiles, no profiles are returned. GET https://{appl}/rest/server-profiles?start=25&count=25 Retrieve the first 10 profiles matching the name "*Profile*": GET https://{appl}/rest/server-profiles?count=10& filter="name matches '%25Profile%25'" Retrieve the first 10 profiles matching the name "*Profile*" in ascending order on column "created": GET https://{appl}/rest/server-profiles?count=10& filter="name matches '%25Profile%25'"&sort=created:asc Note: The filter function allows for both actual and partial matches of data in the profile. Any requests that server-profiles.html[2/20/2014 10:10:01 AM] server-profiles wish to use a wild card match must include a %25 as illustrated in the example. This is how that character is encoded for transmission to the appliance. DELETE Deletes all Server Profile objects from the appliance that match the provided filter. If a filter string is not provided, then the API will delete all Server Profile objects from the appliance. Filters are supported for the following profile attributes only - name, description, serial
© Copyright 2024 Paperzz