Ошибка «Неожиданный символ» при выполнении New-AzPolicyDefinition в Azure Powershell - PullRequest
0 голосов
/ 30 января 2020

При попытке создать новое определение политики с использованием Azure PowerShell ниже исключение выдается, пожалуйста, дайте мне знать, если есть ошибка в командлете или файле определения.

New-AzPolicyDefinition: неожиданно символ, обнаруженный при разборе значения: <. Путь '', строка 0, позиция 0. В строке: 1 символ: 15 + ... efinition = New-AzPolicyDefinition -Имя "application-role-tag" -Disp ... + ~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : CloseError: (:) [New-AzPolicyDefinition], JsonReaderException + FullyQualifiedErrorId: Microsoft. Azure .Commands.ResourceManager.Cmdlets.Implementation.NewAzurePolicyDefinitionCmdlet </strong>

, определение 1005 *

есть и определение параметров является ссылкой из репозитория azure devops (git),

$definition = New-AzPolicyDefinition -Name "application-role-tag" -DisplayName "Allow resource creation if Application Role tag value in allowed values" -description "Allows resource creation if the Application Role tag is set to one of the following values: webServer, appServer, data." -Policy 'https://company.visualstudio.com/DefaultCollection/Gullfoss/_git/Azure Governance?path=/Policies/Tags/application-role-tag/azurepolicy.rules.json' -Parameter 'https://company.visualstudio.com/DefaultCollection/Gullfoss/_git/Azure Governance?path=/Policies/Tags/application-role-tag/azurepolicy.parameters.json' -Mode Indexed

Файл определения политики:

{
    "properties": {
      "displayName": "Allow resource creation if 'application role' tag value in allowed values",
       "policyType": "Custom",
       "mode": "Indexed",
       "description": "Allows resource creation if the 'application role' tag is set to one of the following values: webserver, appserver, data, gateway, messageBroker.",
       "parameters": {},
       "policyRule": {
          "if": {
             "not": {
                "field": "tags['applicationRole']",
                "in": [
                   "webServer",
                   "appServer"                  
                ]
             }
          },
          "then": {
             "effect": "audit"
          }
       }
    }
 }

Определение параметров политики:

{
    "parameters": {}
}

1 Ответ

0 голосов
/ 05 февраля 2020

Я ошибочно ссылался на URL веб-страницы вместо того, чтобы извлекать содержимое файла с помощью DevOps REST API. URL для извлечения содержимого файла выглядит следующим образом:

https://dev.azure.com/{organization}/{project}/_apis/sourceProviders/{providerName}/filecontents?repository={repository}&commitOrBranch={commitOrBranch}&path={path}&api-version=5.1-preview.1

{providerName}: tfs git или tfvs {commitOrBranch}: имя ветви, например, 'master'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...