Cost Allocation Rules - Create Or Update

Cree o actualice una regla para asignar costos entre distintos recursos dentro de una cuenta de facturación o una inscripción empresarial.

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

Parámetros de identificador URI

Nombre En Requerido Tipo Description
billingAccountId
path True

string

BillingAccount ID

ruleName
path True

string

Nombre de la regla de asignación de costos. El nombre no puede incluir espacios ni caracteres no alfanuméricos distintos de '_' y '-'. La longitud máxima es de 260 caracteres.

Regex pattern: [A-Za-z0-9\-_]+

api-version
query True

string

Versión de API que se usará para la operación.

Cuerpo de la solicitud

Nombre Tipo Description
properties

CostAllocationRuleProperties

Propiedades de la regla de asignación de costos

Respuestas

Nombre Tipo Description
200 OK

CostAllocationRuleDefinition

Aceptar. La solicitud de actualización se ha realizado correctamente.

201 Created

CostAllocationRuleDefinition

Creado. La solicitud se ha realizado correctamente.

Other Status Codes

ErrorResponse

Respuesta de error que describe el motivo del error de la operación.

Seguridad

azure_auth

Flujo de OAuth2 de Azure Active Directory.

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize

Scopes

Nombre Description
user_impersonation suplantación de su cuenta de usuario

Ejemplos

CostAllocationRulesCreateResourceGroup
CostAllocationRulesCreateTag

CostAllocationRulesCreateResourceGroup

Sample Request

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

Sample Response

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

Sample Request

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

Sample Response

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

Definiciones

Nombre Description
CostAllocationPolicyType

Método que se va a usar para asignar costos. FixedProportion indica que el costo se dividirá en función de los valores de porcentaje especificados.

CostAllocationProportion

Recursos de destino y asignación

CostAllocationResourceType

Categoría de recurso que se va a usar para la asignación.

CostAllocationRuleDefinition

Definición del modelo de regla de asignación de costos

CostAllocationRuleDetails

Detalles de recursos de la regla de asignación de costos

CostAllocationRuleProperties

Propiedades de una regla de asignación de costos

ErrorDetails

Detalles del error.

ErrorResponse

La respuesta de error indica que el servicio no puede procesar la solicitud entrante. El motivo se proporciona en el mensaje de error.

Algunas respuestas de error:

  • 429 TooManyRequests: la solicitud está limitada. Vuelva a intentarlo después de esperar el tiempo especificado en el encabezado "x-ms-ratelimit-microsoft.consumption-retry-after".

  • 503 ServiceUnavailable: el servicio no está disponible temporalmente. Vuelva a intentarlo después de esperar el tiempo especificado en el encabezado "Vuelva a intentarlo después de".

RuleStatus

Estado actual de la regla.

SourceCostAllocationResource

Recursos de origen para la asignación de costos

TargetCostAllocationResource

Recursos de destino para la asignación de costos.

CostAllocationPolicyType

Método que se va a usar para asignar costos. FixedProportion indica que el costo se dividirá en función de los valores de porcentaje especificados.

Nombre Tipo Description
FixedProportion

string

CostAllocationProportion

Recursos de destino y asignación

Nombre Tipo Description
name

string

Recurso de destino para la asignación de costos

percentage

number

Porcentaje del costo de origen que se va a asignar a este recurso. Este valor se puede especificar en dos posiciones decimales y el porcentaje total de todos los recursos de esta regla debe sumarse a 100,00.

CostAllocationResourceType

Categoría de recurso que se va a usar para la asignación.

Nombre Tipo Description
Dimension

string

Indica que se usa una dimensión de Azure, como un identificador de suscripción o un nombre de grupo de recursos para la asignación.

Tag

string

Asigna el costo en función de los pares clave-valor de etiqueta de Azure.

CostAllocationRuleDefinition

Definición del modelo de regla de asignación de costos

Nombre Tipo Description
id

string

Identificador de Resource Manager de Azure para la regla. Se trata de un valor de lectura ony.

name

string

Nombre de la regla. Se trata de un valor de solo lectura.

properties

CostAllocationRuleProperties

Propiedades de la regla de asignación de costos

type

string

Tipo de recurso de la regla. Se trata de un valor de solo lectura de Microsoft.CostManagement/CostAllocationRule.

CostAllocationRuleDetails

Detalles de recursos de la regla de asignación de costos

Nombre Tipo Description
sourceResources

SourceCostAllocationResource[]

Recursos de origen para la asignación de costos. En este momento, esta lista no puede contener más de un elemento.

targetResources

TargetCostAllocationResource[]

Recursos de destino para la asignación de costos. En este momento, esta lista no puede contener más de un elemento.

CostAllocationRuleProperties

Propiedades de una regla de asignación de costos

Nombre Tipo Description
createdDate

string

Hora en la que se creó la regla. Las reglas que cambian el costo del mismo recurso se aplican en orden de creación.

description

string

Descripción de una regla de asignación de costos.

details

CostAllocationRuleDetails

Información de recursos para la regla de asignación de costos

status

RuleStatus

Estado de la regla

updatedDate

string

Hora en la que se actualizó por última vez la regla.

ErrorDetails

Detalles del error.

Nombre Tipo Description
code

string

Código de error.

message

string

Mensaje de error que indica por qué se produjo un error en la operación.

ErrorResponse

La respuesta de error indica que el servicio no puede procesar la solicitud entrante. El motivo se proporciona en el mensaje de error.

Algunas respuestas de error:

  • 429 TooManyRequests: la solicitud está limitada. Vuelva a intentarlo después de esperar el tiempo especificado en el encabezado "x-ms-ratelimit-microsoft.consumption-retry-after".

  • 503 ServiceUnavailable: el servicio no está disponible temporalmente. Vuelva a intentarlo después de esperar el tiempo especificado en el encabezado "Vuelva a intentarlo después de".

Nombre Tipo Description
error

ErrorDetails

Detalles del error.

RuleStatus

Estado actual de la regla.

Nombre Tipo Description
Active

string

La regla se guarda y afecta a la asignación de costos.

NotActive

string

La regla se guarda pero no se usa para asignar costos.

Processing

string

La regla se guarda y se actualiza la asignación de costos. Valor de solo lectura que no se puede enviar en una solicitud put.

SourceCostAllocationResource

Recursos de origen para la asignación de costos

Nombre Tipo Description
name

string

Si el tipo de recurso es una dimensión, debe ser ResourceGroupName o SubscriptionId. Si el tipo de recurso es etiqueta, debe ser una etiqueta de Azure válida.

resourceType

CostAllocationResourceType

Tipo de recursos contenidos en esta regla de asignación de costos

values

string[]

Recursos de origen para la asignación de costos. Esta lista no puede contener más de 25 valores.

TargetCostAllocationResource

Recursos de destino para la asignación de costos.

Nombre Tipo Description
name

string

Si el tipo de recurso es una dimensión, debe ser ResourceGroupName o SubscriptionId. Si el tipo de recurso es etiqueta, debe ser una etiqueta de Azure válida.

policyType

CostAllocationPolicyType

Método de asignación de costos para la regla

resourceType

CostAllocationResourceType

Tipo de recursos contenidos en esta regla de asignación de costos

values

CostAllocationProportion[]

Recursos de destino para la asignación de costos. Esta lista no puede contener más de 25 valores.