Esta semana uno de nuestros clientes nos preguntaba si era posible crear organizaciones de Azure DevOps de manera programática, ya que dependiendo del proyecto y la empresa externa que lo ejecutara necesitaban una independiente, pero al mismo tiempo conectar esta a la suscripción de Azure que el cliente considerara oportuno, para los gastos adicionales. En este artículo te cuento cómo hacerlo.
Crear un recurso microsoft.visualstudio/account
Para este escenario la linea de comandos az devops se queda a nivel de organización hacia abajo, pero podemos ir un nivel más arriba con Azure CLI y ejecutar algo como lo siguiente:
# Variables
RESOURCE_GROUP="<RESOURCE_GROUP_NAME>"
LOCATION="<LOCATION>"
ORGANIZATION_NAME="<ORGANIZATION_NAME>"
OWNER="<MICROSOFT_ACCOUNT_EMAIL>"
SUBSCRIPTION="<SUBSCRIPTION_NAME>"
# Connect to your Azure account
az login
# Select the azure subscription
az account set --subscription $SUBSCRIPTION
# Create resource group
az group create \
--name $RESOURCE_GROUP \
--location $LOCATION
# Create organization
az resource create \
-g $RESOURCE_GROUP \
-n $ORGANIZATION_NAME \
--resource-type microsoft.visualstudio/account \
--is-full-object \
--properties "{\"location\":\"$LOCATION\", \"properties\":{ \"operationType\": \"Create\", \"ownerUpn\": \"$OWNER\"}}"
Una vez que el proceso finalice le llegará un correo electrónico al propietario que hayas indicado para la nueva organización:
Y si vas al apartado Organization Settings > Billing comprobarás que la misma ya está asociada a la suscripción desde la que lanzaste el comando. También podrás verla en el grupo de recursos que elegiste para ella, y poder así monitorizar el consumo adicional generado a través de Cost Management.
¡Saludos!