get_vlans_for_order.py
get_vlans_for_order.py
"""
Get available VLANs for a new order
The script makes a single to call to SoftLayer_Product_Order::getVlans
method to call the available VLANs for the configuration of an order
for more details please see below.
Important manual pages:
https://sldn.softlayer.com/reference/services/SoftLayer_Product_Order/getVlans
License: http://sldn.softlayer.com/article/License
Author: SoftLayer Technologies, Inc. <sldn@softlayer.com>
"""
import SoftLayer
# Your SoftLayer API username and key.
USERNAME = 'set me'
API_KEY = 'set me'
"""
The id for the datacenter where you are creating your machine
you can get the ids by using the "SoftLayer_Location_Datacenter" service
and the method "getDatacenters" e.g.
client = SoftLayer.Client(username=api_username,api_key=api_key)
datacenters = client['SoftLayer_Location_Datacenter'].getDatacenters()
"""
locationId = 265592
"""
The package id
you can get the list of packages ids by using the
SoftLayer_Product_Package service and the getAllObjects method e.g.
client = SoftLayer.Client(username=api_username,api_key=api_key)
packages = client['SoftLayer_Product_Package'].getAllObjects()
"""
packageId = 46
"""
The items that you selected in your order
on this case I am performing an order with the default values.
Also you can leave this parameter empty e.g.
selectedItems = ''
"""
selectedItems = 'guest_disk0=SAN_DISK,port_speed=100'
# Your account id
accountId = 307608
# Declaring a new API service object
client = SoftLayer.Client(username=USERNAME, api_key=API_KEY)
try:
# Getting all available Vlans:
vLans = client['SoftLayer_Product_Order'].getVlans(locationId, packageId, selectedItems, accountId)
except SoftLayer.SoftLayerAPIError as e:
"""
If there was an error returned from the SoftLayer API then bomb out with the
error message.
"""
print("Unable to retrieve the VLANs. faultCode=%s, faultString=%s"
% (e.faultCode, e.faultString))
print(vLans)