Estoy tratando de crear una plantilla ARM y me encuentro con un problema al intentar proporcionar un templateLink en mi plantilla principal.
En la plantilla principal, estoy tratando de hacer referencia a una lista de otros archivos de plantilla que se utilizarán. Estoy haciendo esto agregando el siguiente objeto JSON
{
"apiVersion": "2016-09-01",
"name": "linkedTemplate",
"type": "Microsoft.Resources/deployments",
"properties": {
"mode": "Incremental",
"templateLink": {
"uri": "[concat(variables('baseURL'), 'settings%2Ejson/raw', variables('queryString'))]",
"contentVersion": "1.0.0.0"
}
}
}
Y tengo baseURL es la ruta a una instalación de gitlab definida como
"baseURL": "https://<URL>/api/v4/projects/2/repository/files/shared_services%2F",
Para que la API de GitLab funcione, necesita que la parte de la URL después de los archivos sea una URL codificada que haga referencia a la ruta del archivo dentro del repositorio de git. Entonces, en lugar de tener / y. en la URL necesita% 2E y% 2F para esa sección. Entonces, en mi caso, estoy tratando de acceder a la siguiente URL
https://whatever.com/api/v4/projects/2/repository/files/shared_services%2Fsettings%2Ejson/raw
Sin embargo, cuando ejecuto la plantilla utilizando la herramienta CLI azul con el siguiente comando,
az group deployment validate --debug -g example --template-file parent.json --parameters "@./parameters.json"
Obtuve el siguiente error
No se puede descargar contenido de implementación desde ' https://whatever.com/api/v4/projects/2/repository/files/shared_services%2Fsettings.json/raw
Parece que no importa lo que intente, la configuración% 2Ejson sigue convirtiéndose en settings.json. Sin embargo, el carácter codificado% 2F llegó a través de ok. Por lo tanto, no estaba seguro de si había algo que pudiera hacer para mantener% 2E sin que la herramienta CLI azul lo convirtiera en a.