Ordering¶
The Order Command-line Interface commands can be used to build an order for any product in the SoftLayer catalog.
The basic flow for ordering goes something like this…
package-list
category-list <package key name>
item-list <package key name>
place <package key name> <item key names> <location>
order package-list¶
List packages that can be ordered via the placeOrder API.
# List out all packages for ordering
slcli order package-list
# List out all packages with "server" in the name
slcli order package-list --keyword server
# Select only specifict package types
slcli order package-list --package_type BARE_METAL_CPU
order package-list [OPTIONS]
Options
- --keyword <keyword>¶
A word (or string) used to filter package names.
- --package_type <package_type>¶
The keyname for the type of package. BARE_METAL_CPU for example
Note
CLOUD_SERVER: These are Virtual Servers
BARE_METAL_INSTANCE: Hourly Bare Metal
BARE_METAL_SERVER: Other monthly server types
#_PROC_#_DRIVES: Packages in this format will contain only this CPU model and Drive bays
ADDITIONAL_PRODUCTS: Additional IPs, Vlans, SSL certs and other things are in here
NETWORK_GATEWAY_APPLIANCE: Vyattas
Bluemix services listed here may still need to be ordered through the Bluemix CLI/Portal
order package-locations¶
List Datacenters a package can be ordered in.
Use the location Key Name to place orders
order package-locations [OPTIONS] PACKAGE_KEYNAME
Arguments
- PACKAGE_KEYNAME¶
Required argument
order category-list¶
List the categories of a package.
# List the categories of Bare Metal servers
slcli order category-list BARE_METAL_SERVER
# List the required categories for Bare Metal servers
slcli order category-list BARE_METAL_SERVER --required
order category-list [OPTIONS] PACKAGE_KEYNAME
Options
- --required¶
List only the required categories for the package
Arguments
- PACKAGE_KEYNAME¶
Required argument
Shows all the available categories for a certain package, useful in finding the required categories. Categories that are required will need to have a corresponding item included with any orders
These are all the required categories for BARE_METAL_SERVER
$ slcli order category-list BARE_METAL_SERVER
:........................................:.......................:............:
: name : categoryCode : isRequired :
:........................................:.......................:............:
: Server : server : Y :
: Operating System : os : Y :
: RAM : ram : Y :
: Disk Controller : disk_controller : Y :
: First Hard Drive : disk0 : Y :
: Public Bandwidth : bandwidth : Y :
: Uplink Port Speeds : port_speed : Y :
: Remote Management : remote_management : Y :
: Primary IP Addresses : pri_ip_addresses : Y :
: VPN Management - Private Network : vpn_management : Y :
:........................................:.......................:............:
order item-list¶
List package items used for ordering.
The item keyNames listed can be used with slcli order place to specify the items that are being ordered in the package.
Note
Items with a numbered category, like disk0 or gpu0, can be included multiple times in an order to match how many of the item you want to order.
# List all items in the VSI package
slcli order item-list CLOUD_SERVER
# List Ubuntu OSes from the os category of the Bare Metal package
slcli order item-list BARE_METAL_SERVER --category os --keyword ubuntu
order item-list [OPTIONS] PACKAGE_KEYNAME [LOCATION]
Options
- -k, --keyword <keyword>¶
A word (or string) used to filter item names.
- -c, --category <category>¶
Category code to filter items by
- -p, --prices¶
Use –prices to list the server item prices, and to list the Item Prices by location, add it to the –prices option using location KeyName, e.g. –prices AMSTERDAM02
Arguments
- PACKAGE_KEYNAME¶
Required argument
- LOCATION¶
Optional argument
Shows all the prices for a given package. Collect all the items you want included on your server. Don’t forget to include the required category items. If forgotten, order place
will tell you about it.
order preset-list¶
List package presets.
Note
Presets are set CPU / RAM / Disk allotments. You still need to specify required items. Some packages do not have presets.
# List the presets for Bare Metal servers
slcli order preset-list BARE_METAL_SERVER
# List the Bare Metal server presets that include a GPU
slcli order preset-list BARE_METAL_SERVER --keyword gpu
order preset-list [OPTIONS] PACKAGE_KEYNAME
Options
- --keyword <keyword>¶
A word (or string) used to filter preset names.
- -p, --prices¶
Use –prices to list the server item prices, e.g. –prices
Arguments
- PACKAGE_KEYNAME¶
Required argument
order place¶
Place or verify an order.
Example:
slcli order place --verify --preset B1_2X8X100 --billing hourly --complex-type SoftLayer_Container_Product_Order_Virtual_Guest --extras '{"virtualGuests": [{"hostname": "test", "domain": "ibm.com"}]}' PUBLIC_CLOUD_SERVER DALLAS13 BANDWIDTH_0_GB_2 MONITORING_HOST_PING NOTIFICATION_EMAIL_AND_TICKET OS_DEBIAN_9_X_STRETCH_LAMP_64_BIT 1_IP_ADDRESS 1_IPV6_ADDRESS 1_GBPS_PUBLIC_PRIVATE_NETWORK_UPLINKS REBOOT_REMOTE_CONSOLE AUTOMATED_NOTIFICATION UNLIMITED_SSL_VPN_USERS_1_PPTP_VPN_USER_PER_ACCOUNT
order place [OPTIONS] PACKAGE_KEYNAME LOCATION [ORDER_ITEMS]...
Options
- --preset <preset>¶
The order preset (if required by the package)
- --verify¶
Flag denoting whether or not to only verify the order, not place it
- --quantity <quantity>¶
The quantity of the item being ordered
- --billing <billing>¶
Billing rate
- Default
hourly
- Options
hourly | monthly
- --complex-type <complex_type>¶
The complex type of the order. Starts with ‘SoftLayer_Container_Product_Order’.
- --extras <extras>¶
JSON string denoting extra data that needs to be sent with the order
Arguments
- PACKAGE_KEYNAME¶
Required argument
- LOCATION¶
Required argument
- ORDER_ITEMS¶
Optional argument(s)
Now that you have the package you want, the prices needed, and found a location, it is time to place an order.
order place <preset>¶
$ slcli --really order place --preset D2620V4_64GB_2X1TB_SATA_RAID_1 BARE_METAL_SERVER TORONTO \
OS_UBUNTU_16_04_LTS_XENIAL_XERUS_64_BIT \
BANDWIDTH_0_GB_2 \
1_GBPS_PRIVATE_NETWORK_UPLINK \
REBOOT_KVM_OVER_IP 1_IP_ADDRESS \
UNLIMITED_SSL_VPN_USERS_1_PPTP_VPN_USER_PER_ACCOUNT \
--extras '{"hardware": [{"hostname" : "testOrder", "domain": "cgallo.com"}]}' \
--complex-type SoftLayer_Container_Product_Order_Hardware_Server
order place <Virtual Server>¶
$ slcli order place --billing hourly CLOUD_SERVER DALLAS13 \
GUEST_CORES_4 \
RAM_16_GB \
REBOOT_REMOTE_CONSOLE \
1_GBPS_PUBLIC_PRIVATE_NETWORK_UPLINKS \
BANDWIDTH_0_GB_2 \
1_IP_ADDRESS \
GUEST_DISK_100_GB_SAN \
OS_UBUNTU_16_04_LTS_XENIAL_XERUS_MINIMAL_64_BIT_FOR_VSI \
MONITORING_HOST_PING \
NOTIFICATION_EMAIL_AND_TICKET \
AUTOMATED_NOTIFICATION \
UNLIMITED_SSL_VPN_USERS_1_PPTP_VPN_USER_PER_ACCOUNT \
--extras '{"virtualGuests": [{"hostname": "test", "domain": "softlayer.com"}]}' \
--complex-type SoftLayer_Container_Product_Order_Virtual_Guest
Quotes¶
order quote¶
View and Order a quote
order quote [OPTIONS] QUOTE
Options
- --verify¶
If specified, will only show what the quote will order, will NOT place an order
- Default
False
- --quantity <quantity>¶
The quantity of the item being ordered if different from quoted value
- --complex-type <complex_type>¶
The complex type of the order. Starts with ‘SoftLayer_Container_Product_Order’.
- Default
SoftLayer_Container_Product_Order_Hardware_Server
- -u, --userdata <userdata>¶
User defined metadata string
- -F, --userfile <userfile>¶
Read userdata from file
- -i, --postinstall <postinstall>¶
Post-install script to download
- -k, --key <key>¶
SSH keys to add to the root user (multiple occurrence permitted)
- --fqdn <fqdn>¶
Required <hostname>.<domain.name.tld> formatted name to use. Specify one fqdn per server (multiple occurrence permitted)
- --image <image>¶
Image ID. See: ‘slcli image list’ for reference
Arguments
- QUOTE¶
Required argument
order quote-list¶
List all active quotes on an account
order quote-list [OPTIONS]
order quote-detail¶
View a quote
order quote-detail [OPTIONS] QUOTE
Arguments
- QUOTE¶
Required argument
order quote-save¶
Save a quote
order quote-save [OPTIONS] QUOTE
Arguments
- QUOTE¶
Required argument
order place-quote¶
Place a quote.
This CLI command is used for creating a quote of the specified package in the given location (denoted by a datacenter’s long name). Orders made via the CLI can then be converted to be made programmatically by calling SoftLayer.OrderingManager.place_quote() with the same keynames.
Packages for ordering can be retrieved from slcli order package-list Presets for ordering can be retrieved from slcli order preset-list (not all packages have presets)
Items can be retrieved from slcli order item-list. In order to find required items for the order, use slcli order category-list, and then provide the –category option for each category code in slcli order item-list.
Example:
# Place quote a VSI with 4 CPU, 16 GB RAM, 100 GB SAN disk,
# Ubuntu 16.04, and 1 Gbps public & private uplink in dal13
slcli order place-quote --name "foobar" --send-email CLOUD_SERVER DALLAS13 \
GUEST_CORES_4 \
RAM_16_GB \
REBOOT_REMOTE_CONSOLE \
1_GBPS_PUBLIC_PRIVATE_NETWORK_UPLINKS \
BANDWIDTH_0_GB_2 \
1_IP_ADDRESS \
GUEST_DISK_100_GB_SAN \
OS_UBUNTU_16_04_LTS_XENIAL_XERUS_MINIMAL_64_BIT_FOR_VSI \
MONITORING_HOST_PING \
NOTIFICATION_EMAIL_AND_TICKET \
AUTOMATED_NOTIFICATION \
UNLIMITED_SSL_VPN_USERS_1_PPTP_VPN_USER_PER_ACCOUNT \
--extras '{"virtualGuests": [{"hostname": "test", "domain": "softlayer.com"}]}' \
--complex-type SoftLayer_Container_Product_Order_Virtual_Guest
order place-quote [OPTIONS] PACKAGE_KEYNAME LOCATION [ORDER_ITEMS]...
Options
- --preset <preset>¶
The order preset (if required by the package)
- --name <name>¶
A custom name to be assigned to the quote (optional)
- --send-email¶
The quote will be sent to the email address associated with your user.
- --complex-type <complex_type>¶
The complex type of the order. Starts with ‘SoftLayer_Container_Product_Order’.
- --extras <extras>¶
JSON string denoting extra data that needs to be sent with the order
Arguments
- PACKAGE_KEYNAME¶
Required argument
- LOCATION¶
Required argument
- ORDER_ITEMS¶
Optional argument(s)
Lookup¶
order lookup¶
Provides some details related to order owner, date order, cost information, initial invoice.
order lookup [OPTIONS] IDENTIFIER
Options
- --details¶
Shows a very detailed list of charges
- Default
False
Arguments
- IDENTIFIER¶
Required argument