Поделиться через


Cost Allocation Rules - Create Or Update

Создание или обновление правила для выделения затрат между различными ресурсами в учетной записи выставления счетов или корпоративной регистрации.

PUT https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/costAllocationRules/{ruleName}?api-version=2024-08-01

Параметры URI

Имя В Обязательно Тип Описание
billingAccountId
path True

string

Идентификатор BillingAccount

ruleName
path True

string

Имя правила распределения затрат. Имя не может содержать пробелы или не буквенно-цифровые символы, отличные от "_" и "-". Максимальная длина — 260 символов.

Шаблон регулярного выражения: [A-Za-z0-9\-_]+

api-version
query True

string

Версия API, используемая для этой операции.

Текст запроса

Имя Тип Описание
properties

CostAllocationRuleProperties

Свойства правила распределения затрат

Ответы

Имя Тип Описание
200 OK

CostAllocationRuleDefinition

ХОРОШО. Запрос на обновление выполнен успешно.

201 Created

CostAllocationRuleDefinition

Созданный. Запрос выполнен успешно.

Other Status Codes

ErrorResponse

Ответ на ошибку, описывающий причину сбоя операции.

Безопасность

azure_auth

Поток OAuth2 Azure Active Directory.

Тип: oauth2
Flow: implicit
URL-адрес авторизации: https://login.microsoftonline.com/common/oauth2/authorize

Области

Имя Описание
user_impersonation олицетворения учетной записи пользователя

Примеры

CostAllocationRulesCreateResourceGroup
CostAllocationRulesCreateTag

CostAllocationRulesCreateResourceGroup

Образец запроса

PUT https://management.azure.com/providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/costAllocationRules/testRule?api-version=2024-08-01

{
  "properties": {
    "description": "This is a testRule",
    "status": "Active",
    "details": {
      "sourceResources": [
        {
          "resourceType": "Dimension",
          "name": "ResourceGroupName",
          "values": [
            "sampleRG",
            "secondRG"
          ]
        }
      ],
      "targetResources": [
        {
          "resourceType": "Dimension",
          "policyType": "FixedProportion",
          "name": "ResourceGroupName",
          "values": [
            {
              "name": "destinationRG",
              "percentage": 45
            },
            {
              "name": "destinationRG2",
              "percentage": 54
            }
          ]
        }
      ]
    }
  }
}

Пример ответа

{
  "id": "providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/costAllocationRules/testRule",
  "name": "testRule",
  "type": "Microsoft.CostManagement/costAllocationRules",
  "properties": {
    "description": "This is a testRule",
    "createdDate": "2020-06-18T22:21:51.1287144Z",
    "updatedDate": "2020-06-18T22:21:51.1287144Z",
    "status": "Creating",
    "details": {
      "sourceResources": [
        {
          "resourceType": "Dimension",
          "name": "ResourceGroupName",
          "values": [
            "sampleRG"
          ]
        }
      ],
      "targetResources": [
        {
          "resourceType": "Dimension",
          "policyType": "FixedProportion",
          "name": "ResourceGroupName",
          "values": [
            {
              "name": "destinationRG",
              "percentage": 50
            },
            {
              "name": "destinationRG2",
              "percentage": 50
            }
          ]
        }
      ]
    }
  }
}
{
  "id": "providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/costAllocationRules/testRule",
  "name": "testRule",
  "type": "Microsoft.CostManagement/costAllocationRules",
  "properties": {
    "description": "This is a testRule",
    "createdDate": "2020-06-18T22:21:51.1287144Z",
    "updatedDate": "2020-06-18T22:21:51.1287144Z",
    "status": "Creating",
    "details": {
      "sourceResources": [
        {
          "resourceType": "Dimension",
          "name": "ResourceGroupName",
          "values": [
            "sampleRG"
          ]
        }
      ],
      "targetResources": [
        {
          "resourceType": "Dimension",
          "policyType": "FixedProportion",
          "name": "ResourceGroupName",
          "values": [
            {
              "name": "destinationRG",
              "percentage": 50
            },
            {
              "name": "destinationRG2",
              "percentage": 50
            }
          ]
        }
      ]
    }
  }
}

CostAllocationRulesCreateTag

Образец запроса

PUT https://management.azure.com/providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/costAllocationRules/testRule?api-version=2024-08-01

{
  "properties": {
    "description": "This is a testRule",
    "status": "Active",
    "details": {
      "sourceResources": [
        {
          "resourceType": "Tag",
          "name": "category",
          "values": [
            "devops"
          ]
        }
      ],
      "targetResources": [
        {
          "resourceType": "Dimension",
          "policyType": "FixedProportion",
          "name": "ResourceGroupName",
          "values": [
            {
              "name": "destinationRG",
              "percentage": 33.33
            },
            {
              "name": "destinationRG2",
              "percentage": 33.33
            },
            {
              "name": "destinationRG3",
              "percentage": 33.34
            }
          ]
        }
      ]
    }
  }
}

Пример ответа

{
  "id": "providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/costAllocationRules/testRule",
  "name": "testRule",
  "type": "Microsoft.CostManagement/costAllocationRules",
  "properties": {
    "description": "This is a testRule",
    "createdDate": "2020-06-18T22:21:51.1287144Z",
    "updatedDate": "2020-06-18T22:21:51.1287144Z",
    "status": "Creating",
    "details": {
      "sourceResources": [
        {
          "resourceType": "Dimension",
          "name": "ResourceGroupName",
          "values": [
            "sampleRG"
          ]
        }
      ],
      "targetResources": [
        {
          "resourceType": "Dimension",
          "policyType": "FixedProportion",
          "name": "ResourceGroupName",
          "values": [
            {
              "name": "destinationRG",
              "percentage": 50
            },
            {
              "name": "destinationRG2",
              "percentage": 50
            }
          ]
        }
      ]
    }
  }
}
{
  "id": "providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/costAllocationRules/testRule",
  "name": "testRule",
  "type": "Microsoft.CostManagement/costAllocationRules",
  "properties": {
    "description": "This is a testRule",
    "createdDate": "2020-06-18T22:21:51.1287144Z",
    "updatedDate": "2020-06-18T22:21:51.1287144Z",
    "status": "Creating",
    "details": {
      "sourceResources": [
        {
          "resourceType": "Dimension",
          "name": "ResourceGroupName",
          "values": [
            "sampleRG"
          ]
        }
      ],
      "targetResources": [
        {
          "resourceType": "Dimension",
          "policyType": "FixedProportion",
          "name": "ResourceGroupName",
          "values": [
            {
              "name": "destinationRG",
              "percentage": 50
            },
            {
              "name": "destinationRG2",
              "percentage": 50
            }
          ]
        }
      ]
    }
  }
}

Определения

Имя Описание
CostAllocationPolicyType

Метод для выделения затрат. FixedProportion указывает, что затраты будут разделены на основе указанных процентных значений.

CostAllocationProportion

Целевые ресурсы и выделение

CostAllocationResourceType

Категория ресурса, используемого для выделения.

CostAllocationRuleDefinition

Определение модели правила распределения затрат

CostAllocationRuleDetails

Сведения о ресурсе правила распределения затрат

CostAllocationRuleProperties

Свойства правила распределения затрат

ErrorDetails

Сведения об ошибке.

ErrorResponse

Ответ на ошибку указывает, что служба не может обработать входящий запрос. Причина указана в сообщении об ошибке.

Некоторые ответы на ошибки:

  • 429 TooManyRequests — запрос регулируется. Повторите попытку после ожидания времени, указанного в заголовке x-ms-ratelimit-microsoft.consumption-retry-after.

  • 503 ServiceUnavailable — служба временно недоступна. Повторите попытку после ожидания времени, указанного в заголовке Retry-After.

RuleStatus

Текущее состояние правила.

SourceCostAllocationResource

Исходные ресурсы для распределения затрат

TargetCostAllocationResource

Целевые ресурсы для распределения затрат.

CostAllocationPolicyType

Метод для выделения затрат. FixedProportion указывает, что затраты будут разделены на основе указанных процентных значений.

Имя Тип Описание
FixedProportion

string

CostAllocationProportion

Целевые ресурсы и выделение

Имя Тип Описание
name

string

Целевой ресурс для выделения затрат

percentage

number

Процент исходной стоимости, выделяемой этому ресурсу. Это значение может быть указано в двух десятичных разрядах, а общий процент всех ресурсов в этом правиле должен составлять 100,00.

CostAllocationResourceType

Категория ресурса, используемого для выделения.

Имя Тип Описание
Dimension

string

Указывает измерение Azure, например идентификатор подписки или имя группы ресурсов, используемое для выделения.

Tag

string

Выделяет затраты на основе пар "Значение ключа тега Azure".

CostAllocationRuleDefinition

Определение модели правила распределения затрат

Имя Тип Описание
id

string

Идентификатор Azure Resource Manager для правила. Это значение для чтения.

name

string

Имя правила. Это значение только для чтения.

properties

CostAllocationRuleProperties

Свойства правила распределения затрат

type

string

Тип ресурса правила. Это значение только для чтения Microsoft.CostManagement/CostAllocationRule.

CostAllocationRuleDetails

Сведения о ресурсе правила распределения затрат

Имя Тип Описание
sourceResources

SourceCostAllocationResource[]

Исходные ресурсы для распределения затрат. В настоящее время этот список может содержать не более одного элемента.

targetResources

TargetCostAllocationResource[]

Целевые ресурсы для распределения затрат. В настоящее время этот список может содержать не более одного элемента.

CostAllocationRuleProperties

Свойства правила распределения затрат

Имя Тип Описание
createdDate

string

Время создания правила. Правила, изменяющие затраты для одного ресурса, применяются в порядке создания.

description

string

Описание правила распределения затрат.

details

CostAllocationRuleDetails

Сведения о ресурсах для правила распределения затрат

status

RuleStatus

Состояние правила

updatedDate

string

Время последнего обновления правила.

ErrorDetails

Сведения об ошибке.

Имя Тип Описание
code

string

Код ошибки.

message

string

Сообщение об ошибке, указывающее, почему операция завершилась ошибкой.

ErrorResponse

Ответ на ошибку указывает, что служба не может обработать входящий запрос. Причина указана в сообщении об ошибке.

Некоторые ответы на ошибки:

  • 429 TooManyRequests — запрос регулируется. Повторите попытку после ожидания времени, указанного в заголовке x-ms-ratelimit-microsoft.consumption-retry-after.

  • 503 ServiceUnavailable — служба временно недоступна. Повторите попытку после ожидания времени, указанного в заголовке Retry-After.

Имя Тип Описание
error

ErrorDetails

Сведения об ошибке.

RuleStatus

Текущее состояние правила.

Имя Тип Описание
Active

string

Правило сохраняется и влияет на распределение затрат.

NotActive

string

Правило сохраняется, но не используется для выделения затрат.

Processing

string

Правило сохраняется, а распределение затрат обновляется. Значение readonly, которое не может быть отправлено в запросе на размещение.

SourceCostAllocationResource

Исходные ресурсы для распределения затрат

Имя Тип Описание
name

string

Если тип ресурса является измерением, это должно быть значение ResourceGroupName или SubscriptionId. Если тип ресурса является тегом, это должен быть допустимый тег Azure

resourceType

CostAllocationResourceType

Тип ресурсов, содержащихся в этом правиле распределения затрат

values

string[]

Исходные ресурсы для распределения затрат. Этот список не может содержать более 25 значений.

TargetCostAllocationResource

Целевые ресурсы для распределения затрат.

Имя Тип Описание
name

string

Если тип ресурса является измерением, это должно быть значение ResourceGroupName или SubscriptionId. Если тип ресурса является тегом, это должен быть допустимый тег Azure

policyType

CostAllocationPolicyType

Метод распределения затрат для правила

resourceType

CostAllocationResourceType

Тип ресурсов, содержащихся в этом правиле распределения затрат

values

CostAllocationProportion[]

Целевые ресурсы для распределения затрат. Этот список не может содержать более 25 значений.