Cost Allocation Rules - Create Or Update

Créez/mettez à jour une règle pour allouer des coûts entre différentes ressources au sein d’un compte de facturation ou d’une inscription d’entreprise.

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

Paramètres URI

Nom Dans Obligatoire Type Description
billingAccountId
path True

string

BillingAccount ID

ruleName
path True

string

Nom de la règle d’allocation des coûts. Le nom ne peut pas inclure d’espaces ou de caractères non alphanumériques autres que « _ » et « - ». La longueur maximale est de 260 caractères.

Modèle d’expression régulière: [A-Za-z0-9\-_]+

api-version
query True

string

Version de l’API à utiliser pour cette opération.

Corps de la demande

Nom Type Description
properties

CostAllocationRuleProperties

Propriétés de la règle d’allocation des coûts

Réponses

Nom Type Description
200 OK

CostAllocationRuleDefinition

OK. La demande de mise à jour a réussi.

201 Created

CostAllocationRuleDefinition

Créé. La demande a réussi.

Other Status Codes

ErrorResponse

Réponse d’erreur décrivant la raison de l’échec de l’opération.

Sécurité

azure_auth

Flux OAuth2 Azure Active Directory.

Type: oauth2
Flux: implicit
URL d’autorisation: https://login.microsoftonline.com/common/oauth2/authorize

Étendues

Nom Description
user_impersonation Emprunter l’identité de votre compte d’utilisateur

Exemples

CostAllocationRulesCreateResourceGroup
CostAllocationRulesCreateTag

CostAllocationRulesCreateResourceGroup

Exemple de requête

PUT https://management.azure.com/providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/costAllocationRules/testRule?api-version=2023-11-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
            }
          ]
        }
      ]
    }
  }
}

Exemple de réponse

{
  "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

Exemple de requête

PUT https://management.azure.com/providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/costAllocationRules/testRule?api-version=2023-11-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
            }
          ]
        }
      ]
    }
  }
}

Exemple de réponse

{
  "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
            }
          ]
        }
      ]
    }
  }
}

Définitions

Nom Description
CostAllocationPolicyType

Méthode à utiliser pour l’allocation des coûts. FixedProportion indique que le coût sera fractionné en fonction des valeurs de pourcentage spécifiées.

CostAllocationProportion

Ressources cibles et allocation

CostAllocationResourceType

Catégorie de ressource à utiliser pour l’allocation.

CostAllocationRuleDefinition

Définition du modèle de règle d’allocation des coûts

CostAllocationRuleDetails

Détails des ressources de la règle d’allocation des coûts

CostAllocationRuleProperties

Propriétés d’une règle d’allocation des coûts

ErrorDetails

Détails de l’erreur.

ErrorResponse

La réponse d’erreur indique que le service n’est pas en mesure de traiter la requête entrante. La raison est fournie dans le message d’erreur.

Réponses d’erreur :

  • 429 TooManyRequests : la demande est limitée. Réessayez après avoir attendu l’heure spécifiée dans l’en-tête « x-ms-ratelimit-microsoft.consumption-retry-after ».

  • 503 ServiceUnavailable : le service est temporairement indisponible. Réessayez après avoir attendu le temps spécifié dans l’en-tête « Retry-After ».

RuleStatus

Status actuelle de la règle.

SourceCostAllocationResource

Ressources sources pour l’allocation des coûts

TargetCostAllocationResource

Ressources cibles pour l’allocation des coûts.

CostAllocationPolicyType

Méthode à utiliser pour l’allocation des coûts. FixedProportion indique que le coût sera fractionné en fonction des valeurs de pourcentage spécifiées.

Nom Type Description
FixedProportion

string

CostAllocationProportion

Ressources cibles et allocation

Nom Type Description
name

string

Ressource cible pour l’allocation des coûts

percentage

number

Pourcentage du coût source à allouer à cette ressource. Cette valeur peut être spécifiée à deux décimales et le pourcentage total de toutes les ressources dans cette règle doit être total de 100,00.

CostAllocationResourceType

Catégorie de ressource à utiliser pour l’allocation.

Nom Type Description
Dimension

string

Indique qu’une dimension Azure telle qu’un ID d’abonnement ou un nom de groupe de ressources est utilisée pour l’allocation.

Tag

string

Alloue le coût en fonction des paires clé-valeur d’étiquette Azure.

CostAllocationRuleDefinition

Définition du modèle de règle d’allocation des coûts

Nom Type Description
id

string

Id de Resource Manager Azure pour la règle. Il s’agit d’une valeur de lecture.

name

string

Nom de la règle. Il s’agit d’une valeur en lecture seule.

properties

CostAllocationRuleProperties

Propriétés de la règle d’allocation des coûts

type

string

Type de ressource de la règle. Il s’agit d’une valeur en lecture seule de Microsoft.CostManagement/CostAllocationRule.

CostAllocationRuleDetails

Détails des ressources de la règle d’allocation des coûts

Nom Type Description
sourceResources

SourceCostAllocationResource[]

Ressources sources pour l’allocation des coûts. À ce stade, cette liste ne peut contenir qu’un seul élément.

targetResources

TargetCostAllocationResource[]

Ressources cibles pour l’allocation des coûts. À ce stade, cette liste ne peut contenir qu’un seul élément.

CostAllocationRuleProperties

Propriétés d’une règle d’allocation des coûts

Nom Type Description
createdDate

string

Heure à laquelle la règle a été créée. Les règles qui modifient le coût pour la même ressource sont appliquées dans l’ordre de création.

description

string

Description d’une règle d’allocation des coûts.

details

CostAllocationRuleDetails

Informations sur les ressources pour la règle d’allocation des coûts

status

RuleStatus

État de la règle

updatedDate

string

Heure à laquelle la règle a été mise à jour pour la dernière fois.

ErrorDetails

Détails de l’erreur.

Nom Type Description
code

string

Code d’erreur.

message

string

Message d’erreur indiquant la raison de l’échec de l’opération.

ErrorResponse

La réponse d’erreur indique que le service n’est pas en mesure de traiter la requête entrante. La raison est fournie dans le message d’erreur.

Réponses d’erreur :

  • 429 TooManyRequests : la demande est limitée. Réessayez après avoir attendu l’heure spécifiée dans l’en-tête « x-ms-ratelimit-microsoft.consumption-retry-after ».

  • 503 ServiceUnavailable : le service est temporairement indisponible. Réessayez après avoir attendu le temps spécifié dans l’en-tête « Retry-After ».

Nom Type Description
error

ErrorDetails

Détails de l’erreur.

RuleStatus

Status actuelle de la règle.

Nom Type Description
Active

string

La règle est enregistrée et a un impact sur l’allocation des coûts.

NotActive

string

La règle est enregistrée, mais n’est pas utilisée pour allouer les coûts.

Processing

string

La règle est enregistrée et l’allocation des coûts est mise à jour. Valeur en lecture seule qui ne peut pas être envoyée dans une demande de put.

SourceCostAllocationResource

Ressources sources pour l’allocation des coûts

Nom Type Description
name

string

Si le type de ressource est dimension, il doit s’agir de ResourceGroupName ou SubscriptionId. Si le type de ressource est balise, il doit s’agir d’une balise Azure valide

resourceType

CostAllocationResourceType

Type de ressources contenues dans cette règle d’allocation des coûts

values

string[]

Ressources sources pour l’allocation des coûts. Cette liste ne peut pas contenir plus de 25 valeurs.

TargetCostAllocationResource

Ressources cibles pour l’allocation des coûts.

Nom Type Description
name

string

Si le type de ressource est dimension, il doit s’agir de ResourceGroupName ou SubscriptionId. Si le type de ressource est balise, il doit s’agir d’une balise Azure valide

policyType

CostAllocationPolicyType

Méthode d’allocation des coûts pour la règle

resourceType

CostAllocationResourceType

Type de ressources contenues dans cette règle d’allocation des coûts

values

CostAllocationProportion[]

Ressources cibles pour l’allocation des coûts. Cette liste ne peut pas contenir plus de 25 valeurs.