Estou procurando criar várias políticas do Azure usando infraestrutura como código.
A Documentação MS aconselha uma estrutura conforme abaixo:
.
|
|- policies/ ________________________ # Root folder for policy resources
| |- policy1/ ______________________ # Subfolder for a policy
| |- policy.json _________________ # Policy definition
| |- policy.parameters.json ______ # Policy definition of parameters
| |- policy.rules.json ___________ # Policy rule
| |- assign.<name1>.json _________ # Assignment 1 for this policy definition
| |- assign.<name2>.json _________ # Assignment 2 for this policy definition
| |- policy2/ ______________________ # Subfolder for a policy
| |- policy.json _________________ # Policy definition
| |- policy.parameters.json ______ # Policy definition of parameters
| |- policy.rules.json ___________ # Policy rule
| |- assign.<name1>.json _________ # Assignment 1 for this policy definition
| |- assign.<name2>.json _________ # Assignment 2 for this policy definition
|
Isso faz sentido, mas todos os exemplos de definições de política que vi incluem as definições de parâmetros; então não vejo valor em ter o policy.parameters.json
arquivo separado se for apenas duplicar informações.
Pergunta
Existe uma maneira de evitar essa duplicação; por exemplo, fazendo com que o policy.json
arquivo se refira ao policy.parameters.json
arquivo em vez de copiar seu conteúdo, ou há algum valor agregado por ter essa duplicação?
(O mesmo cenário ocorre para o arquivo de regras; suponho que a resposta para essa seção seja a mesma...)
Exemplo desta duplicação
No repositório de Políticas da Comunidade do Azure:
O arquivo de política inclui estas linhas:
"parameters": {
"tagName": {
"type": "String",
"defaultValue": "DateCreated",
"metadata": {
"displayName": "Tag Name",
"description": "Name of the tag, such as 'Date'"
}
}
}
O arquivo de parâmetros duplica exatamente o conteúdo encontrado na seção de parâmetros acima (bem, quase; neste caso, a descrição difere um pouco, mas isso parece um erro e não uma justificativa):
{
"tagName": {
"type": "String",
"defaultValue": "DateCreated",
"metadata": {
"displayName": "Tag Name",
"description": "Name of the tag, such as 'DateCreated'"
}
}
}
Resposta da equipe do MS Docs :