内容
Bluemix IaaS(旧SoftLayer)の Endurance Storage を、API経由で見積もりを実施してみました。
前提
以下の記事が理解できていることが前提です。
Bluemix Infrastructure (旧SoftLayer) のAPIについて、詳しく解説してあります。
Quote の実行
この原理を使えば、Endurance Storageもサーバーと同じ見積もりファイルに含めることができます。
スクリプト
placeQuoteEndurance.py
import SoftLayer
import json
# account info
client = SoftLayer.create_client_from_env()
order = {
"orderContainers": [{
"complexType":"SoftLayer_Container_Product_Order_Network_Storage_Enterprise",
"osFormatType":{
"id":12,
"keyName":"LINUX"
},
'location': 449604, # Tokyo
'packageId': 240, # Endurance
'prices': [
{'id':45078}, # 2 IOPS per GB
{'id':45058}, # Endurance Storage
{'id':45098}, # Block Storage
#{'id': 147241} # 20 GB Storage Space
#{'id': 144031} # 40 GB Storage Space
#{'id': 148121} # 80 GB Storage Space
#{'id': 144071} # 100 GB Storage Space
#{'id': 147341} # 250 GB Storage Space
#{'id': 144111} # 500 GB Storage Space
#{'id': 142601} # 1000 GB Storage Space
#{'id': 148211} # 2000 GB Storage Space
#{'id': 145771} # 4000 GB Storage Space
#{'id': 144191} # 8000 GB Storage Space
{'id': 145791} # 12000 GB Storage Space
],
},
{
"complexType":"SoftLayer_Container_Product_Order_Network_Storage_Enterprise",
"osFormatType":{
"id":12,
"keyName":"LINUX"
},
'location': 449604, # Tokyo
'packageId': 240, # Endurance
'prices': [
{'id':45068}, # 0.25 IOPS per GB
{'id':45058}, # Endurance Storage
{'id':45098}, # Block Storage
#{'id': 144011} # 20 GB Storage Space
#{'id': 142491} # 40 GB Storage Space
#{'id': 145661} # 80 GB Storage Space
#{'id': 148151} # 100 GB Storage Space
#{'id': 143301} # 250 GB Storage Space
#{'id': 143331} # 500 GB Storage Space
#{'id': 147391} # 1000 GB Storage Space
#{'id': 146521} # 2000 GB Storage Space
#{'id': 147431} # 4000 GB Storage Space
#{'id': 147441} # 8000 GB Storage Space
{'id': 147461} # 12000 GB Storage Space
],
},
{
"complexType":"SoftLayer_Container_Product_Order_Network_Storage_Enterprise",
"osFormatType":{
"id":12,
"keyName":"LINUX"
},
'location': 449604, # Tokyo
'packageId': 240, # Endurance
'prices': [
{'id':45088}, # 4 IOPS per GB
{'id':45058}, # Endurance Storage
{'id':45098}, # Block Storage
#{'id': 146441} # 20 GB Storage Space
#{'id': 146471} # 40 GB Storage Space
#{'id': 147291} # 80 GB Storage Space
#{'id': 148161} # 100 GB Storage Space
#{'id': 144971} # 250 GB Storage Space
#{'id': 142591} # 500 GB Storage Space
#{'id': 148201} # 1000 GB Storage Space
#{'id': 144151} # 2000 GB Storage Space
#{'id': 148231} # 4000 GB Storage Space
#{'id': 146591} # 8000 GB Storage Space
{'id': 144201} # 12000 GB Storage Space
],
}
],
'quoteName': "Endurance_Storage",
'sendQuoteEmailFlag': False
}
# placeQuote
placeQuote = client['Product_Order'].placeQuote(order)
参考にしたサイト
- api - understanding undef locationGroupId entries in package items - Stack Overflow
- softlayer - What is relationShip between IOPS values Id and in Storage Size ID in Endurance Storage .? - Stack Overflow
- What is the relationship between capacity_restriction_min, capacity_restriction_max parameters and Storage Size in Softlayer API? - Stack Overflow
- Find Location specific pricing for a package - https://softlayer.github.io/
- Find standard location pricing for a package - https://softlayer.github.io/