Tencent Price Info Driver Development Guide - cloud-barista/cb-spider GitHub Wiki
* Tencent Price Info ๋๋ผ์ด๋ฒ ๊ฐ๋ฐ๊ด๋ จ ์ด์๋ฅผ ์ํ ๊ฐ์ด๋
* ์ฐธ๊ณ : Tencent tccli filter ์ต์
ํ์ฉ ์์
* ์ฐธ๊ณ : Tencent ProductFamily ์ ๊ณต ๊ฐ์ด๋
- ์ ์๊ณผ๋ชฉ: Price Info and Cloud Driver API
1. OnDemand, Reserved ๊ฐ๊ฒฉ ์ ์ฑ ์ ๊ณต ๋ฐฉ๋ฒ ๊ด๋ จ
- GetPriceInfo()๋ ์ฌ์ฉ ๊ฐ๋ฅํ ์ ํ๋ค์ ๋ํ ์ ๋ณด ๋ฐ ๊ฐ ์ ํ์ ๋ํด ์ ํํ ์ ์๋ ๊ฐ๊ฒฉ ์ ์ฑ /์ ๋ณด๋ฅผ ์ ๊ณตํ๋ API์ ๋๋ค.
- ์ฌ์ฉ์๊ฐ ํ๋์ ์ ํ์ ์ ํํ ๋ ๊ฐ๊ฒฉ์ ๊ณ ๋ คํ๋ค๊ณ ํ๋ฉด, ๊ฐ๋ฅํ ์ ํ ๊ฐ๋ฅํ ๊ฐ๊ฒฉ ์ ์ฑ /์ ๋ณด๋ฅผ ํ๋ฒ์ ํ์ธํ๊ณ ์ถ์ ๊ฒ ๊ฐ์ต๋๋ค.
- ๊ฐ์ด๋์ ์๋ด ๋๋ ธ๋ ๋ฐ์ ๊ฐ์ด ์ฃผ์ ์ฐธ๊ณ ํ๋ AWS ๋ํ ์ ํ ์ ๋ณด์ ๋ํด ๊ฐ๋ฅํ ๊ฐ๊ฒฉ ์ ์ฑ /์ ๋ณด๋ฅผ ํ๋ฒ์ ์ ๊ณตํ๊ณ ์์ต๋๋ค.
- ํ์ฌ๋ Reserved ๊ฐ๊ฒฉ ์ ์ฑ ์ ๋ณ๋๋ก ๋ถ๋ฆฌํ์ง ์๊ณ , ํตํฉ ์ ๊ณตํ๋ ํํ๋ก ์งํํด๋ณด๋ ๊ฒ์ด ์ข์๋ฏํฉ๋๋ค.
2. ๋์ผํ Product ์ ์ ๊ธฐ์ค ๊ด๋ จ(unique product)
- Tencent์ ๊ฒฝ์ฐ ์ ํ ์ ๋ณด์ ๋ํ Product ID๋ฅผ ์ ๊ณตํ์ง ์์
- Tencent๋
OnDemand
์Reserved
๊ฐ๊ฒฉ ์ ๋ณด๊ฐ ๋ณ๋์ API๋ก ํ์ธ ํ์OnDemand
:DescribeZoneInstanceConfigInfo()
Reserved
:DescribeReservedInstancesConfigInfos()
- ์ด๋ฌํ ๊ฐ๊ฒฉ ์ ์ฑ
์ ๋ณด๋ฅผ Spider๊ฐ ์ ๊ณตํ๋ price info json ๊ท๊ฒฉ์ ๋ง๊ฒ ์ ํ ๊ธฐ์ค์ผ๋ก ํตํฉ ํ๊ธฐ ์ํด์๋
- ๋์ผํ product ์ ์ ๊ธฐ์ค์ด ํ์ํจ
Zone + InstanceType
์กฐ๊ฑด์ผ๋ก ์ ์ผํ ์ ํ์ผ๋ก ๊ตฌ๋ถํ๋ฉด ๋ ๊ฒ ๊ฐ์ต๋๋ค.(์๋ ์ ์ผ์ฑ ๊ฒ์ฆ ์ฐธ๊ณ )- ์์) ap-guangzhou-6 + S5.SMALL2
DescribeZoneInstanceConfigInfo()
,DescribeReservedInstancesConfigInfos()
๋๋- ํ์์
DescribeInstanceTypeConfigs()
๋ฑ์ ํ์ฉํ Spider price info json ๊ฒฐ๊ณผ๋ฅผ ์์ฑ
3. ProductId ์ ๊ณต๊ด๋ จ
-
์ด์: Tencent์ ๊ฒฝ์ฐ ์ ํ ์ ๋ณด์ ๋ํ Product ID๋ฅผ ์ ๊ณตํ์ง ์์
-
์1) Spider์์๋ ๊ฐ์ ์ ๊ณตํ์ง ์์ผ๋ฉฐ, ๋ค์์ฒ๋ผ
NA
๋ก ์ค์ - ์์)
"productInfo": { "productId": "NA",
- ์์)
-
์2) ์ 2. ๋ด์ฉ์ ์ฐธ๊ณ ํ์ฌ,
- Spider ์ฌ์ฉ์์๊ฒ
Zone + InstanceType
์กฐํฉ์ผ๋ก productId๋ฅผ ์ ๊ณต - ์์)
"productInfo": { "productId": "ap-guangzhou-6:S5.SMALL2",
- Spider ์ฌ์ฉ์์๊ฒ
4. Storage(data-disk) Disk Size ์ ๋ณด ๊ด๋ จ
- ์ด์: Block Storage ๊ฐ๊ฒฉ ์กฐํ์ Size ์ ๋ ฅ์ด ํ์์
- ํ์ฌ Spider์์ ์ ๊ณตํ๋ Tencent DiskType ๋ฐ DiskType๋ณ Min/Max Size ์ ๋ณด๋ ๋ค์์์ ๊ด๋ฆฌ/์ ๊ณต๋๊ณ ์์ต๋๋ค.
- cloudos_meta.yaml
- ํด๋น ์ ๋ณด ์ ๊ฒ ๋ฐ ํ์์ ์ ๋ฐ์ดํธ (์ฐธ๊ณ : Cloud Disk Types, DescribeDiskConfigQuota API)
- Storage(Block Storage, data-disk) DiskType๋ณ ๊ฐ๊ฒฉ ์ ๋ณด๋ฅผ ๋ค์๊ณผ ๊ฐ์ด
-
MinSize์ MaxSize ๊ฐ๊ฒฉ ์ ๋ณด๋ฅผ ํจ๊ป ์ ๊ณตํ๋ ๋ฐฉ๋ฒ์ ๊ฒํ ํด์ฃผ์๊ธฐ ๋ฐ๋๋๋ค.
-
MinSize ๊ฒฝ์ฐ
... ์๋ต PricingId: "{DiskType}:MinDiskSize" Unit: "{MinSize}GB-Mo" ... ์๋ต
ex) PricingId: "CLOUD_PREMIUM:MinDiskSize" Unit: "10GB-Mo"
-
MaxSize ๊ฒฝ์ฐ
... ์๋ต PricingId: "{DiskType}:MaxDiskSize" Unit: "{MaxSize}GB-Mo" ... ์๋ต
ex) PricingId: "CLOUD_PREMIUM:MaxDiskSize" Unit: "32000GB-Mo"
-
- ์ฐธ๊ณ : Spider price info ์ค ๊ฐ๊ฒฉ ์ ์ฑ
๊ด๋ จ json ๊ตฌ์กฐ
type PricingPolicies struct { PricingId string `json:"pricingId"` PricingPolicy string `json:"pricingPolicy"` Unit string `json:"unit"` Currency string `json:"currency"` Price string `json:"price"` Description string `json:"description"` PricingPolicyInfo *PricingPolicyInfo `json:"pricingPolicyInfo,omitempty"` }
====================== [์ฐธ๊ณ : Zone๋ด์ InstanceType ์ ์ผ์ฑ ๊ฒ์ฆ]
- ํธ์์ Tencent CLI(tccli) ํ์ฉํ ๊ฒ์ฆ
- ์ฐธ๊ณ : API์ ์ธ์ ๋ฐ filter ๋ฑ์ด ๋์ผํจ
- Zone ๋ด์ ์ ๊ณต๋๋ ์ ํ ์ ๋ณด ๋๋ ๊ฐ๊ฒฉ ์ ๋ณด์ ์ ์ผํจ์ ํ์ธ
- ํ์ฉ cli ๋ฒ์
$ tccli --version
3.0.1034.1
[DescribeInstanceTypeConfigs]
guangzhou-6
zone์์ ์ ๊ณตํ๋ InstanceType ์ ๋ณด์์InstanceType
์ ์ ์ด ํ ์ค๋ณต์ผ๋ก ์ ๊ณต๋๋InstanceType
์ด ์กด์ฌํ๋์งuniq
์ ํ ๊ฐฏ์๋ฅผ ํ์ธ- ์ ํ ๊ฐ์๊ฐ ๋์ผํ๋ฉด, ์ ์ผํจ
guangzhou-6
์ ๊ฒฝ์ฐ 185๊ฐ์ instance type์ ์ ๊ณต
$ tccli cvm DescribeInstanceTypeConfigs --cli-unfold-argument --region ap-guangzhou --Filters.0.Name zone --Filters.0.Values ap-guangzhou-6 |grep \"InstanceType\" |sort |wc -l
185
$ tccli cvm DescribeInstanceTypeConfigs --cli-unfold-argument --region ap-guangzhou --Filters.0.Name zone --Filters.0.Values ap-guangzhou-6 |grep \"InstanceType\" |sort |uniq |wc -l
185
[DescribeZoneInstanceConfigInfos]
POSTPAID_BY_HOUR
filter ์ถ๊ฐ: ํ์ฌ๋ ์ผ๋จ spot paid ์ ์ฑ ์ ์ ์ธguangzhou-6
์ ๊ฒฝ์ฐ 185๊ฐ์ instance type ์ค 159๊ฐ type์ ๋ํดOnDemand
๊ฐ๊ฒฉ ์ ์ฑ ์ ์ ๊ณต
$ tccli cvm DescribeZoneInstanceConfigInfos --cli-unfold-argument --region ap-guangzhou --Filters.0.Name zone --Filters.0.Values ap-guangzhou-6 --Filters.1.Name instance-charge-type --Filters.1.Values POSTPAID_BY_HOUR |grep \"InstanceType\" |sort |wc -l
159
$ tccli cvm DescribeZoneInstanceConfigInfos --cli-unfold-argument --region ap-guangzhou --Filters.0.Name zone --Filters.0.Values ap-guangzhou-6 --Filters.1.Name instance-charge-type --Filters.1.Values POSTPAID_BY_HOUR |grep \"InstanceType\" |sort |uniq |wc -l
159
[DescribeReservedInstancesConfigInfos]
guangzhou-6
์ ๊ฒฝ์ฐ 185๊ฐ์ instance type ์ค 52๊ฐ type์ ๋ํดReserved
๊ฐ๊ฒฉ ์ ์ฑ ์ ์ ๊ณต
$ tccli cvm DescribeReservedInstancesConfigInfos --cli-unfold-argument --region ap-guangzhou --Filters.0.Name zone --Filters.0.Values ap-guangzhou-6 |grep \"InstanceType\" |sort |wc -l
52
$ tccli cvm DescribeReservedInstancesConfigInfos --cli-unfold-argument --region ap-guangzhou --Filters.0.Name zone --Filters.0.Values ap-guangzhou-6 |grep \"InstanceType\" |sort |uniq |wc -l
52
====================== [์ฐธ๊ณ : ์ ํ ๋ฐ ๊ฐ๊ฒฉ ์ ๋ณด ๊ด๋ จ ์ ๊ณต ์ ๋ณด json ํ์ ์์]
-
DescribeInstanceTypeConfigs json ์ถ๋ ฅ ๊ฒฐ๊ณผ ์์
tccli cvm DescribeInstanceTypeConfigs --cli-unfold-argument --region ap-guangzhou --Filters.0.Name zone --Filters.0.Values ap-guangzhou-6 |more
{
"InstanceTypeConfigSet": [
{
"Zone": "ap-guangzhou-6",
"InstanceType": "SA2.SMALL1",
"InstanceFamily": "SA2",
"GPU": 0,
"CPU": 1,
"Memory": 1,
"FPGA": 0,
"GpuCount": 0.0
},
{
"Zone": "ap-guangzhou-6",
"InstanceType": "SA2.SMALL2",
"InstanceFamily": "SA2",
"GPU": 0,
"CPU": 1,
"Memory": 2,
"FPGA": 0,
"GpuCount": 0.0
},
{
"Zone": "ap-guangzhou-6",
"InstanceType": "S5.SMALL2",
"InstanceFamily": "S5",
"GPU": 0,
"CPU": 1,
"Memory": 2,
"FPGA": 0,
"GpuCount": 0.0
},
{
"Zone": "ap-guangzhou-6",
"InstanceType": "SA2.SMALL4",
"InstanceFamily": "SA2",
"GPU": 0,
"CPU": 1,
"Memory": 4,
"FPGA": 0,
"GpuCount": 0.0
},
{
"Zone": "ap-guangzhou-6",
"InstanceType": "S5.SMALL4",
"InstanceFamily": "S5",
"GPU": 0,
"CPU": 1,
"Memory": 4,
"FPGA": 0,
"GpuCount": 0.0
},
...
-
DescribeZoneInstanceConfigInfos json ์ถ๋ ฅ ๊ฒฐ๊ณผ ์์
tccli cvm DescribeZoneInstanceConfigInfos --cli-unfold-argument --region ap-guangzhou --Filters.0.Name zone --Filters.0.Values ap-guangzhou-6 --Filters.1.Name instance-charge-type --Filters.1.Values POSTPAID_BY_HOUR |more
{
"InstanceTypeQuotaSet": [
{
"Zone": "ap-guangzhou-6",
"InstanceType": "S6.MEDIUM2",
"InstanceChargeType": "POSTPAID_BY_HOUR",
"NetworkCard": 100,
"Externals": {
"ReleaseAddress": null,
"UnsupportNetworks": [
"BASIC",
"VPC1.0"
],
"StorageBlockAttr": null
},
"Cpu": 2,
"Memory": 2,
"InstanceFamily": "S6",
"TypeName": "ๆ ๅๅS6",
"LocalDiskTypeList": [],
"Status": "SELL",
"Price": {
"UnitPrice": 0.04,
"ChargeUnit": "HOUR",
"OriginalPrice": null,
"DiscountPrice": null,
"Discount": 100,
"UnitPriceDiscount": 0.04,
"UnitPriceSecondStep": 0.04,
"UnitPriceDiscountSecondStep": 0.04,
"UnitPriceThirdStep": 0.04,
"UnitPriceDiscountThirdStep": 0.04,
"OriginalPriceThreeYear": null,
"DiscountPriceThreeYear": null,
"DiscountThreeYear": null,
"OriginalPriceFiveYear": null,
"DiscountPriceFiveYear": null,
"DiscountFiveYear": null,
"OriginalPriceOneYear": null,
"DiscountPriceOneYear": null,
"DiscountOneYear": null
},
"SoldOutReason": "",
"InstanceBandwidth": 2.0,
"InstancePps": 30,
"StorageBlockAmount": 0,
"CpuType": "Intel Ice Lake",
"Gpu": 0,
"Fpga": 0,
"Remark": "",
"GpuCount": 0.0,
"Frequency": "2.7GHz/3.3GHz",
"StatusCategory": "NormalStock"
},
{
"Zone": "ap-guangzhou-6",
"InstanceType": "S6.MEDIUM4",
"InstanceChargeType": "POSTPAID_BY_HOUR",
"NetworkCard": 100,
"Externals": {
"ReleaseAddress": null,
"UnsupportNetworks": [
"BASIC",
"VPC1.0"
],
"StorageBlockAttr": null
},
"Cpu": 2,
"Memory": 4,
"InstanceFamily": "S6",
"TypeName": "ๆ ๅๅS6",
"LocalDiskTypeList": [],
"Status": "SELL",
"Price": {
"UnitPrice": 0.06,
"ChargeUnit": "HOUR",
"OriginalPrice": null,
"DiscountPrice": null,
"Discount": 100,
"UnitPriceDiscount": 0.06,
"UnitPriceSecondStep": 0.06,
"UnitPriceDiscountSecondStep": 0.06,
"UnitPriceThirdStep": 0.06,
"UnitPriceDiscountThirdStep": 0.06,
"OriginalPriceThreeYear": null,
"DiscountPriceThreeYear": null,
"DiscountThreeYear": null,
"OriginalPriceFiveYear": null,
"DiscountPriceFiveYear": null,
"DiscountFiveYear": null,
"OriginalPriceOneYear": null,
"DiscountPriceOneYear": null,
"DiscountOneYear": null
},
"SoldOutReason": "",
"InstanceBandwidth": 2.0,
"InstancePps": 30,
"StorageBlockAmount": 0,
"CpuType": "Intel Ice Lake",
"Gpu": 0,
"Fpga": 0,
"Remark": "",
"GpuCount": 0.0,
"Frequency": "2.7GHz/3.3GHz",
"StatusCategory": "NormalStock"
},
{
"Zone": "ap-guangzhou-6",
"InstanceType": "S6.MEDIUM8",
"InstanceChargeType": "POSTPAID_BY_HOUR",
"NetworkCard": 100,
"Externals": {
"ReleaseAddress": null,
"UnsupportNetworks": [
"BASIC",
"VPC1.0"
],
"StorageBlockAttr": null
},
"Cpu": 2,
"Memory": 8,
"InstanceFamily": "S6",
"TypeName": "ๆ ๅๅS6",
"LocalDiskTypeList": [],
"Status": "SELL",
"Price": {
"UnitPrice": 0.08,
"ChargeUnit": "HOUR",
"OriginalPrice": null,
"DiscountPrice": null,
"Discount": 100,
"UnitPriceDiscount": 0.08,
"UnitPriceSecondStep": 0.08,
"UnitPriceDiscountSecondStep": 0.08,
"UnitPriceThirdStep": 0.08,
"UnitPriceDiscountThirdStep": 0.08,
"OriginalPriceThreeYear": null,
"DiscountPriceThreeYear": null,
"DiscountThreeYear": null,
"OriginalPriceFiveYear": null,
"DiscountPriceFiveYear": null,
"DiscountFiveYear": null,
"OriginalPriceOneYear": null,
"DiscountPriceOneYear": null,
"DiscountOneYear": null
},
"SoldOutReason": "",
"InstanceBandwidth": 2.0,
"InstancePps": 30,
"StorageBlockAmount": 0,
"CpuType": "Intel Ice Lake",
"Gpu": 0,
"Fpga": 0,
"Remark": "",
"GpuCount": 0.0,
"Frequency": "2.7GHz/3.3GHz",
"StatusCategory": "NormalStock"
},
-
DescribeReservedInstancesConfigInfos json ์ถ๋ ฅ ๊ฒฐ๊ณผ ์์
tccli cvm DescribeReservedInstancesConfigInfos --cli-unfold-argument --region ap-guangzhou --Filters.0.Name zone --Filters.0.Values ap-guangzhou-6 |more
{
"ReservedInstanceConfigInfos": [
{
"Type": "S",
"TypeName": "ๆ ๅๅ",
"Order": 100,
"InstanceFamilies": [
{
"InstanceFamily": "S5",
"Order": 88,
"InstanceTypes": [
{
"InstanceType": "S5.SMALL2",
"Cpu": 1,
"Memory": 2,
"Gpu": 0,
"Fpga": 0,
"StorageBlock": 0,
"NetworkCard": 25,
"MaxBandwidth": 1.5,
"Frequency": "2.5GHz/3.1GHz",
"CpuModelName": "Intel Xeon Cascade Lake 8255C/Intel Xeon Cooper Lake",
"Pps": 25,
"Externals": {
"ReleaseAddress": null,
"UnsupportNetworks": [
"BASIC",
"VPC1.0"
],
"StorageBlockAttr": null
},
"Remark": "",
"Prices": [
{
"OfferingType": "All Upfront",
"FixedPrice": 58.0,
"UsagePrice": 0.0,
"ReservedInstancesOfferingId": "ca8d39c3-4605-4e8d-9a21-05188cc9d1d4",
"Zone": "ๅนฟๅทๅ
ญๅบ",
"Duration": 31536000,
"ProductDescription": "linux"
},
{
"OfferingType": "Partial Upfront",
"FixedPrice": 30.0,
"UsagePrice": 0.003,
"ReservedInstancesOfferingId": "17d28d85-4338-47c3-bd5e-ac5d2fc8a6fc",
"Zone": "ๅนฟๅทๅ
ญๅบ",
"Duration": 31536000,
"ProductDescription": "linux"
},
{
"OfferingType": "No Upfront",
"FixedPrice": 0.0,
"UsagePrice": 0.008,
"ReservedInstancesOfferingId": "501f0a1e-1a34-4a95-bcdf-c46f5af67695",
"Zone": "ๅนฟๅทๅ
ญๅบ",
"Duration": 31536000,
"ProductDescription": "linux"
}
]
},
{
"InstanceType": "S5.SMALL4",
"Cpu": 1,
"Memory": 4,
"Gpu": 0,
"Fpga": 0,
"StorageBlock": 0,
"NetworkCard": 25,
"MaxBandwidth": 1.5,
"Frequency": "2.5GHz/3.1GHz",
"CpuModelName": "Intel Xeon Cascade Lake 8255C/Intel Xeon Cooper Lake",
"Pps": 25,
"Externals": {
"ReleaseAddress": null,
"UnsupportNetworks": [
"BASIC",
"VPC1.0"
],
"StorageBlockAttr": null
},
"Remark": "",
"Prices": [
{
"OfferingType": "All Upfront",
"FixedPrice": 179.0,
"UsagePrice": 0.0,
"ReservedInstancesOfferingId": "98b1abd2-b201-4ad0-be60-9b59e7a09202",
"Zone": "ๅนฟๅทๅ
ญๅบ",
"Duration": 31536000,
"ProductDescription": "linux"
},
{
"OfferingType": "Partial Upfront",
"FixedPrice": 90.0,
"UsagePrice": 0.01,
"ReservedInstancesOfferingId": "a4b37e89-30c6-41ee-a3d8-5a2774690a80",
"Zone": "ๅนฟๅทๅ
ญๅบ",
"Duration": 31536000,
"ProductDescription": "linux"
},
{
"OfferingType": "No Upfront",
"FixedPrice": 0.0,
"UsagePrice": 0.024,
"ReservedInstancesOfferingId": "338c7a11-706c-48f5-95a0-4caf39005a83",
"Zone": "ๅนฟๅทๅ
ญๅบ",
"Duration": 31536000,
"ProductDescription": "linux"
}
]
},
{
"InstanceType": "S5.MEDIUM4",
"Cpu": 2,
"Memory": 4,
"Gpu": 0,
"Fpga": 0,
"StorageBlock": 0,
"NetworkCard": 25,
"MaxBandwidth": 1.5,
"Frequency": "2.5GHz/3.1GHz",
"CpuModelName": "Intel Xeon Cascade Lake 8255C/Intel Xeon Cooper Lake",
"Pps": 30,
"Externals": {
"ReleaseAddress": null,
"UnsupportNetworks": [
"BASIC",
"VPC1.0"
],
"StorageBlockAttr": null
},
"Remark": "",
"Prices": [
{
"OfferingType": "All Upfront",
"FixedPrice": 219.0,
"UsagePrice": 0.0,
"ReservedInstancesOfferingId": "dc0c3401-7bf0-4782-be0b-31eb48a48d4c",
"Zone": "ๅนฟๅทๅ
ญๅบ",
"Duration": 31536000,
"ProductDescription": "linux"
},
{
"OfferingType": "Partial Upfront",
"FixedPrice": 112.0,
"UsagePrice": 0.013,
"ReservedInstancesOfferingId": "851ecd86-235e-4e86-8c4d-2628c823275e",
"Zone": "ๅนฟๅทๅ
ญๅบ",
"Duration": 31536000,
"ProductDescription": "linux"
},
{
"OfferingType": "No Upfront",
"FixedPrice": 0.0,
"UsagePrice": 0.029,
"ReservedInstancesOfferingId": "8a6f626f-3e56-4c0d-87c8-af333808df72",
"Zone": "ๅนฟๅทๅ
ญๅบ",
"Duration": 31536000,
"ProductDescription": "linux"
}
]
},
====================== [์ฐธ๊ณ : tccli filter ์ต์ ํ์ฉ]
-
Tencent๊ฐ ์ ๊ณตํ๋ API ๊ฒฐ๊ณผ ์ ๋ณด/๊ตฌ์กฐ ๋ถ์์ด ํ์ํ ๊ฒฝ์ฐ ํ์ฉ
$ tccli cvm DescribeInstanceTypeConfigs --region ap-seoul --filter InstanceTypeConfigSet[*].Zone
[
"ap-seoul-1",
"ap-seoul-1",
"ap-seoul-1",
"ap-seoul-1",
...
]
$ tccli cvm DescribeInstanceTypeConfigs --region ap-seoul --filter 'InstanceTypeConfigSet[*].{ZoneName:Zone, InstanceFamily:InstanceFamily, InstanceType:InstanceType}'
[
{
"ZoneName": "ap-seoul-1",
"InstanceFamily": "S5",
"InstanceType": "S5.8XLARGE64"
},
{
"ZoneName": "ap-seoul-1",
"InstanceFamily": "GN7",
"InstanceType": "GN7.10XLARGE160"
},
...
]
[Ref]
- DescribeInstanceTypeConfigs: https://www.tencentcloud.com/document/product/213/33260?lang=en
- DescribeZoneInstanceConfigInfos: https://www.tencentcloud.com/document/product/213/33254?lang=en
- DescribeReservedInstancesConfigInfos(Currently in Beta Test, 2023.12.): https://www.tencentcloud.com/document/product/213/38309?lang=en
- TCCLI-Using Advanced Features: https://www.tencentcloud.com/document/product/1013/33467