Похоже, что вы спрашиваете, как получить API ценообразования AWS атрибуты из существующих ресурсов.
Нет вызовов API, которые могли бы предоставить эту информацию, но вы могли бы создать ее.
Например, чтобы узнать значения, доступные для UsageType
в экземплярах Amazon EC2, я использовал команду AWS CLI get-attribute-values
:
aws pricing get-attribute-values \
--service-code AmazonEC2 \
--attribute-name usagetype \
--max-items 2 \
--region us-east-1
Это вернуло:
{
"AttributeValues": [
{
"Value": "APE1-BoxUsage:c5.18xlarge"
},
{
"Value": "APE1-BoxUsage:c5.2xlarge"
}
],
"NextToken": "..."
}
(В запросе запрашивается максимум 2 значения.)
Часть APE1
относится к региону .
Часть BoxUsage
указывает, являются ли затраты по запросу, зарезервированы и т. Д. Примеры значений: BoxUsage
, Reservation
, DedicatedRes
, UnusedBox
. Они перечислены в Резервирование емкости по требованию - AWS Биллинг и управление затратами . Если ваши экземпляры являются обычными экземплярами по требованию, используйте BoxUsage
(я думаю).
Значение capacityStatus
также относится к зарезервированным экземплярам.
Выполнение этой команды:
aws pricing get-attribute-values \
--service-code AmazonEC2 \
--attribute-name capacitystatus \
--region us-east-1
вернулся:
{
"AttributeValues": [
{
"Value": "AllocatedCapacityReservation"
},
{
"Value": "AllocatedHost"
},
{
"Value": "NA"
},
{
"Value": "UnusedCapacityReservation"
},
{
"Value": "Used"
}
]
}
Я бы предположил, что экземпляры по требованию будут использовать NA
, но вы должны проверить свои фактические результаты для этого.
Итог: Вы можете получить возможные значения атрибута с помощью get-attribute-values
, но вам придется выяснить, какие из них соответствуют экземплярам, которые вы запускаете. Не существует метода для извлечения соответствующих значений из запущенных экземпляров. Это просто атрибуты выставления счетов и напрямую не связаны с запущенными экземплярами. (Они рассчитываются отдельно.)