The Rest module is used to manage Huawei Servers with iBMC. This module provides
some Puppet resource types and samples manifests for various features of the Huawei iBMC.
Setup
What rest affects
The Rest module implements all puppet resource types with Exec module which execute python scripts(Rest-Linux)
and those python scripts will access iBMC using Redfish API.
The Rest module will do:
Install Rest-Linux(scripts folder) to /etc/puppet/modules/rest/files
This is where you list OS compatibility, version compatibility, etc. If there
are Known Issues, you might want to include them under their own heading here.
rest
Table of Contents
Description
The Rest module is used to manage Huawei Servers with iBMC. This module provides some Puppet resource types and samples manifests for various features of the Huawei iBMC.
Setup
What rest affects
The Rest module implements all puppet resource types with
Execmodule which execute python scripts(Rest-Linux) and those python scripts will access iBMC using Redfish API.The Rest module will do:
Rest-Linux(scripts folder) to/etc/puppet/modules/rest/filesstdlib>=5.0.0moduleSetup Requirements
redhatBeginning with rest
Check Puppet Labs: Installing Modules for more information.
Usage
These Puppet resources are defined as part of
Restmodule:rest::bios:
:getrest::bios:
:orderrest::bios:
:overriderest::bios::getrest::bios::restorerest::bios::setrest::bmc::ethernet::dnsrest::bmc::ethernet::getrest::bmc::ethernet::ipv4rest::bmc::ethernet::ipv6rest::bmc::ethernet::ipversionrest::bmc::ethernet::vlanrest::bmc::license::deleterest::bmc::license::exportrest::bmc::license::getrest::bmc::license::installrest::bmc::ntp::getrest::bmc::ntp::setrest::bmc::power::ctrlrest::bmc::power::restartrest::bmc::service::getrest::bmc::service::setrest::bmc::smtp::getrest::bmc::smtp::setrest::bmc::snmp::getrest::bmc::snmp::setrest::bmc::vmm::connectrest::bmc::vmm::disconnectrest::chassis::led::setrest::firmware::inband::upgraderest::firmware::inband::versionrest::firmware::outband::upgraderest::firmware::outband::versionrest::firmware::sp::resultrest::firmware::sp::setrest::firmware::sp::upgraderest::firmware::sp::versionrest::system::assettag::setrest::system::cpu::healthrest::system::cpurest::system::deploy::configrest::system::drive::healthrest::system::driverest::system::eth::getrest::system::fan::healthrest::system::getrest::system::memory::healthrest::system::memoryrest::system::network_adapter::healthrest::system::network_adapterrest::system::power_supply::healthrest::system::raid::healthrest::system::raidrest::user::addrest::user::deleterest::user::getrest::user::setCommon Attributes
All Rest resource type share those attributes:
127.0.0.1443Rest module resource types can visit iBMC API anywhere, resource type is free to run on anywhere.
rest::bios:
:getGet boot settings.
Attributes
No additional attributes
Examples Manifest
boot_get.pp
rest::bios:
:orderSet boot order.
Additional Attributes
Examples Manifest
boot_order.pp
rest::bios:
:overrideSet boot source override.
Additional Attributes
Examples Manifest
boot_override.pp
rest::bios::get
Get BIOS attribute.
Additional Attributes
Examples Manifest
bios_get.pp
rest::bios::restore
Restore BIOS attribute.
Additional Attributes
No additional attributes
Examples Manifest
bios_restore.pp
rest::bios::set
Set BIOS attribute.
Additional Attributes
Examples Manifest
bios_set.pp
rest::bmc::ethernet::dns
Set iBMC ethernet DNS.
Additional Attributes
Examples Manifest
ethernet_dns_set.pp
rest::bmc::ethernet::get
Get iBMC ethernet interface information.
Additional Attributes
No additional attributes
Examples Manifest
ethernet_get.pp
rest::bmc::ethernet::ipv4
Set iBMC ethernet IPv4 address.
Additional Attributes
Examples Manifest
ethernet_ipv4_set.pp
rest::bmc::ethernet::ipv6
Set iBMC ethernet IPv6 address.
Additional Attributes
Examples Manifest
ethernet_ipv6_set.pp
rest::bmc::ethernet::ipversion
Set iBMC ethernet IP version.
Additional Attributes
Examples Manifest
ethernet_ipversion_set.pp
rest::bmc::ethernet::vlan
Set iBMC ethernet VLAN.
Additional Attributes
Examples Manifest
ethernet_vlan_set.pp
rest::bmc::license::delete
Delete iBMC license.
Additional Attributes
No additional attributes
Examples Manifest
license_delete.pp
rest::bmc::license::export
Export iBMC license.
Additional Attributes
Examples Manifest
license_export.pp
rest::bmc::license::get
Get iBMC license infomation.
Additional Attributes
No additional attributes
Examples Manifest
license_get.pp
rest::bmc::license::install
Install iBMC license.
Additional Attributes
Examples Manifest
license_install.pp
rest::bmc::ntp::get
Get NTP settings.
Additional Attributes
No additional attributes
Examples Manifest
ntp_get.pp
rest::bmc::ntp::set
Setup NTP.
Additional Attributes
Examples Manifest
ntp_set.pp
rest::bmc::power::ctrl
Power Ctrl
Additional Attributes
Examples Manifest
sys_power_ctrl.pp
rest::bmc::power::restart
iBMC Power Restart.
Additional Attributes
No additional attributes
Examples Manifest
bmc_power_restart.pp
rest::bmc::service::get
Get service information
Additional Attributes
no additional attributes
Examples Manifest
service_get.pp
rest::bmc::service::set
Update service settings
Additional Attributes
Examples Manifest
service_set.pp
rest::bmc::smtp::get
Get SMTP settings
Additional Attributes
no additional attributes
Examples Manifest
smtp_get.pp
rest::bmc::smtp::set
Update SMTP settings
Additional Attributes
Examples Manifest
smtp_set.pp
rest::bmc::snmp::get
Get SNMP settings
Additional Attributes
no additional attributes
Examples Manifest
snmp_get.pp
rest::bmc::snmp::set
Update SNMP settings
Additional Attributes
Examples Manifest
snmp_set.pp
rest::bmc::vmm::connect
Connect to virtual media.
Additional Attributes
Examples Manifest
vmm_connect.pp
rest::bmc::vmm::disconnect
Disconnect virtual media.
Additional Attributes
no additional attributes
Examples Manifest
vmm_disconnect.pp
rest::chassis::led::set
Set chassis indicator LED status.
Additional Attributes
Examples Manifest
indicator_led_set.pp
rest::firmware::inband::upgrade
Upgrade inband firmware.
Additional Attributes
Examples Manifest
firmware_inband_upgrade.pp
rest::firmware::inband::version
Get inband firmware version.
Additional Attributes
no additional attributes
Examples Manifest
firmware_inband_version_get.pp
rest::firmware::outband::upgrade
Upgrade outband firmware.
Additional Attributes
Examples Manifest
firmware_outband_upgrade.pp
rest::firmware::outband::version
Get outband firmware version.
Additional Attributes
no additional attributes
Examples Manifest
firmware_outband_version_get.pp
rest::firmware::sp::result
Get Smart Provisioning result.
Additional Attributes
no additional attributes
Examples Manifest
firmware_sp_result_get.pp
rest::firmware::sp::set
Upgrade Smart Provisioning service.
Additional Attributes
Examples Manifest
sp_set.pp
rest::firmware::sp::upgrade
Upgrade Smart Provisioning service.
Additional Attributes
Examples Manifest
firmware_sp_upgrade.pp
rest::firmware::sp::version
Get Smart Provisioning service version.
Additional Attributes
no additional attributes
Examples Manifest
firmware_sp_version_get.pp
rest::system::assettag::set
Update iBMC asset tag.
Additional Attributes
Examples Manifest
assettag_set.pp
rest::system::cpu
Get CPU List
Additional Attributes
no additional attributes
Examples Manifest
cpu_get.pp
rest::system::cpu::health
Get CPU health infomation
Additional Attributes
no additional attributes
Examples Manifest
cpu_health_get.pp
rest::system::deploy::config
Update system OS deploy configuration.
Additional Attributes
Examples Manifest
os_deploy_config.pp
rest::system::drive
Get physical drive list
Additional Attributes
no additional attributes
Examples Manifest
drive_get.pp
rest::system::drive::health
Get physical drive health infomation.
Additional Attributes
no additional attributes
Examples Manifest
drive_health_get.pp
rest::system::eth::get
Get system ethernet list.
Additional Attributes
no additional attributes
Examples Manifest
system_eth_get.pp
rest::system::fan::health
Get fan health infomation.
Additional Attributes
no additional attributes
Examples Manifest
fan_health_get.pp
rest::system::get
Get system infomation.
Additional Attributes
no additional attributes
Examples Manifest
system_get.pp
rest::system::memory
Get memory list
Additional Attributes
no additional attributes
Examples Manifest
memory_get.pp
rest::system::memory::health
Get memory health infomation.
Additional Attributes
no additional attributes
Examples Manifest
memory_health_get.pp
rest::system::network_adapter::health
Get system network adaptor health infomation.
Additional Attributes
no additional attributes
Examples Manifest
network_adapter_health_get.pp
rest::system::network_adapter
Get system network adaptor infomation.
Additional Attributes
no additional attributes
Examples Manifest
network_adapter_get.pp
rest::system::power_supply::health
Get power supply health infomation.
Additional Attributes
no additional attributes
Examples Manifest
power_supply_health_get.pp
rest::system::raid
Get RAID controller list
Additional Attributes
no additional attributes
Examples Manifest
raid_get.pp
rest::system::raid::health
Get RAID health infomation.
Additional Attributes
no additional attributes
Examples Manifest
raid_health_get.pp
rest::user::add
Add new user
Additional Attributes
Examples Manifest
user_add.pp
rest::user::delete
Add new user
Additional Attributes
Examples Manifest
user_delete.pp
rest::user::get
Get user list
Additional Attributes
no additional attributes
Examples Manifest
user_get.pp
rest::user::set
Update user attributes
Additional Attributes
Examples Manifest
user_set.pp
Limitations
This is where you list OS compatibility, version compatibility, etc. If there are Known Issues, you might want to include them under their own heading here.
Development
Feel free to fork repo and send PR.