如何订购安装了 MongoDB 的实例
How to order an instance with MongoDB installed
我正在使用 Softlayer Python 客户端 API。我想启动一个实例,其中 mongodb 通过 API 安装。
我该怎么做?
要使用 Mongo 数据库订购虚拟客人,必须使用该商品的价格 ID。
verify/place 订购任何产品的可用价格项目的最佳方法是查看下一个方法:
http://sldn.softlayer.com/reference/services/SoftLayer_Product_Package/getItemPrices
下一个脚本可用于使用 MongoDB Community Edition 订购虚拟访客。
"""
Order Virtual Guest with MongoDB Community Edition.
Important manual pages:
https://sldn.softlayer.com/reference/services/SoftLayer_Virtual_Guest
http://sldn.softlayer.com/reference/services/SoftLayer_Product_Order/placeOrder
http://sldn.softlayer.com/reference/services/SoftLayer_Product_Order/verifyOrder
License: http://sldn.softlayer.com/article/License
Author: SoftLayer Technologies, Inc. <sldn@softlayer.com>
"""
import SoftLayer
from pprint import pprint as pp
USERNAME = 'set me'
API_KEY = 'set me'
client = SoftLayer.Client(username=USERNAME, api_key=API_KEY)
order = {
'complexType': 'SoftLayer_Container_Product_Order_Virtual_Guest',
'quantity': 1,
'virtualGuests': [
{'hostname': 'test-template', 'domain': 'example.com'}
],
'location': 168642, # San Jose 1
'packageId': 46, # CCI Package
'prices': [
{'id': 1640}, # 1 x 2.0 GHz Core
{'id': 1644}, # 1 GB RAM
{'id': 905}, # Reboot / Remote Console
{'id': 272}, # 10 Mbps Public & Private Networks
{'id':50231}, # 1000 GB Bandwidth
{'id': 21}, # 1 IP Address
{'id': 2202}, # 25 GB (SAN)
{'id':13945}, # CentOS 6.x - Minimal Install (64 bit)
{'id': 55}, # Host Ping Monitoring
{'id': 57}, # Email and Ticket Notifications
{'id': 58}, # Automated Notification Response
{'id': 420}, # Unlimited SSL VPN Users & 1 PPTP VPN User per account
{'id': 418}, # Nessus Vulnerability Assessment & Reporting
{'id':20893} # MongoDB Community Edition
]
}
try:
# Replace verifyOrder for placeOrder
result = client['SoftLayer_Product_Order'].verifyOrder(order)
pp(result)
except SoftLayer.SoftLayerAPIError as e:
pp('Unable to verify/place order faultCode=%s, faultString=%s'
% (e.faultCode, e.faultString))
您还可以查看下一个 link 以获取更多信息:
http://sldn.softlayer.com/blog/bpotter/Going-Further-SoftLayer-API-Python-Client-Part-3
UPDATE
对象掩码是检索其他对象数据的最佳方式,例如已创建实例的商品价格 ID。
你可以使用这个面具:
mask[billingItem[orderItem,children[orderItem]]]
或者这个更细化:
mask[billingItem[id,orderItem[itemPriceId],children[id,orderItem[itemPriceId]]]]
在 python 中,您可以这样使用这些掩码:
"""
Get Virtual Guest and its itme price ids
Important manual pages:
https://sldn.softlayer.com/reference/services/SoftLayer_Virtual_Guest
https://sldn.softlayer.com/reference/services/SoftLayer_Virtual_Guest/getObject
https://sldn.softlayer.com/article/object-masks
License: http://sldn.softlayer.com/article/License
Author: SoftLayer Technologies, Inc. <sldn@softlayer.com>
"""
import SoftLayer
from pprint import pprint as pp
USERNAME = 'set me'
API_KEY = 'set me'
virtualGuestId = 25129311
client = SoftLayer.Client(username=USERNAME, api_key=API_KEY)
objectMask = 'mask[billingItem[id,orderItem[itemPriceId],children[id,orderItem[itemPriceId]]]]'
try:
result = client['SoftLayer_Virtual_Guest'].getObject(id=virtualGuestId, mask=objectMask)
pp(result)
except SoftLayer.SoftLayerAPIError as e:
pp('Unable to get virtual guest faultCode=%s, faultString=%s'
% (e.faultCode, e.faultString))
关于 ssh 密钥,您只需将这一行添加到上述脚本的 order 对象中(使用 mongo db 订购虚拟来宾的那个)
'sshKeys': [{'sshKeyIds': [214147, 94206]}]
我正在使用 Softlayer Python 客户端 API。我想启动一个实例,其中 mongodb 通过 API 安装。 我该怎么做?
要使用 Mongo 数据库订购虚拟客人,必须使用该商品的价格 ID。 verify/place 订购任何产品的可用价格项目的最佳方法是查看下一个方法: http://sldn.softlayer.com/reference/services/SoftLayer_Product_Package/getItemPrices
下一个脚本可用于使用 MongoDB Community Edition 订购虚拟访客。
"""
Order Virtual Guest with MongoDB Community Edition.
Important manual pages:
https://sldn.softlayer.com/reference/services/SoftLayer_Virtual_Guest
http://sldn.softlayer.com/reference/services/SoftLayer_Product_Order/placeOrder
http://sldn.softlayer.com/reference/services/SoftLayer_Product_Order/verifyOrder
License: http://sldn.softlayer.com/article/License
Author: SoftLayer Technologies, Inc. <sldn@softlayer.com>
"""
import SoftLayer
from pprint import pprint as pp
USERNAME = 'set me'
API_KEY = 'set me'
client = SoftLayer.Client(username=USERNAME, api_key=API_KEY)
order = {
'complexType': 'SoftLayer_Container_Product_Order_Virtual_Guest',
'quantity': 1,
'virtualGuests': [
{'hostname': 'test-template', 'domain': 'example.com'}
],
'location': 168642, # San Jose 1
'packageId': 46, # CCI Package
'prices': [
{'id': 1640}, # 1 x 2.0 GHz Core
{'id': 1644}, # 1 GB RAM
{'id': 905}, # Reboot / Remote Console
{'id': 272}, # 10 Mbps Public & Private Networks
{'id':50231}, # 1000 GB Bandwidth
{'id': 21}, # 1 IP Address
{'id': 2202}, # 25 GB (SAN)
{'id':13945}, # CentOS 6.x - Minimal Install (64 bit)
{'id': 55}, # Host Ping Monitoring
{'id': 57}, # Email and Ticket Notifications
{'id': 58}, # Automated Notification Response
{'id': 420}, # Unlimited SSL VPN Users & 1 PPTP VPN User per account
{'id': 418}, # Nessus Vulnerability Assessment & Reporting
{'id':20893} # MongoDB Community Edition
]
}
try:
# Replace verifyOrder for placeOrder
result = client['SoftLayer_Product_Order'].verifyOrder(order)
pp(result)
except SoftLayer.SoftLayerAPIError as e:
pp('Unable to verify/place order faultCode=%s, faultString=%s'
% (e.faultCode, e.faultString))
您还可以查看下一个 link 以获取更多信息: http://sldn.softlayer.com/blog/bpotter/Going-Further-SoftLayer-API-Python-Client-Part-3
UPDATE
对象掩码是检索其他对象数据的最佳方式,例如已创建实例的商品价格 ID。
你可以使用这个面具:
mask[billingItem[orderItem,children[orderItem]]]
或者这个更细化:
mask[billingItem[id,orderItem[itemPriceId],children[id,orderItem[itemPriceId]]]]
在 python 中,您可以这样使用这些掩码:
"""
Get Virtual Guest and its itme price ids
Important manual pages:
https://sldn.softlayer.com/reference/services/SoftLayer_Virtual_Guest
https://sldn.softlayer.com/reference/services/SoftLayer_Virtual_Guest/getObject
https://sldn.softlayer.com/article/object-masks
License: http://sldn.softlayer.com/article/License
Author: SoftLayer Technologies, Inc. <sldn@softlayer.com>
"""
import SoftLayer
from pprint import pprint as pp
USERNAME = 'set me'
API_KEY = 'set me'
virtualGuestId = 25129311
client = SoftLayer.Client(username=USERNAME, api_key=API_KEY)
objectMask = 'mask[billingItem[id,orderItem[itemPriceId],children[id,orderItem[itemPriceId]]]]'
try:
result = client['SoftLayer_Virtual_Guest'].getObject(id=virtualGuestId, mask=objectMask)
pp(result)
except SoftLayer.SoftLayerAPIError as e:
pp('Unable to get virtual guest faultCode=%s, faultString=%s'
% (e.faultCode, e.faultString))
关于 ssh 密钥,您只需将这一行添加到上述脚本的 order 对象中(使用 mongo db 订购虚拟来宾的那个)
'sshKeys': [{'sshKeyIds': [214147, 94206]}]