Skip to content

Microsoft.Web/sites/config/logs doesn't follow API roundtrip consistency for its sasUrl field #22504

Open
@magodo

Description

@magodo

Sending a PUT request to https://management.azure.com/subscriptions/xxxx/resourceGroups/acctestRG-storage-220816112105435513/providers/Microsoft.Web/sites/acctestWA-magodo/config/logs?api-version=2021-02-01

{
  "properties": {
    "applicationLogs": {
      "fileSystem": {
        "level": "Warning"
      },
      "azureBlobStorage": {
        "level": "Information",
        "sasUrl": "https://unlikely25exst2acctv9ipa.blob.core.windows.net/content?sv=2018-11-09&sr=c&st=2021-03-16T21%3A21%3A36Z&se=2221-03-16T21%3A21%3A36Z&sp=racwdl&spr=https&sig=Tu46c%2FnMpR%2B7S4ToqQOdsH%2F66vaaKmgynPh3TNuSp8I%3D&sr=b",
        "retentionInDays": 2
      }
    },
    "httpLogs": {
      "azureBlobStorage": {
        "sasUrl": "https://unlikely25exst2acctv9ipa.blob.core.windows.net/content?sv=2018-11-09&sr=c&st=2021-03-16T21%3A21%3A36Z&se=2221-03-16T21%3A21%3A36Z&sp=racwdl&spr=https&sig=Tu46c%2FnMpR%2B7S4ToqQOdsH%2F66vaaKmgynPh3TNuSp8I%3D&sr=b",
        "retentionInDays": 3,
        "enabled": true
      }
    },
    "failedRequestsTracing": {
      "enabled": false
    },
    "detailedErrorMessages": {
      "enabled": false
    }
  }
}

On success, GET it:

{
  "id": "/subscriptions/xxxx/resourceGroups/acctestRG-storage-220816112105435513/providers/Microsoft.Web/sites/acctestWA-magodo/config/logs",
  "name": "logs",
  "type": "Microsoft.Web/sites/config",
  "location": "West US 2",
  "tags": {},
  "properties": {
    "applicationLogs": {
      "fileSystem": {
        "level": "Warning"
      },
      "azureTableStorage": {
        "level": "Off",
        "sasUrl": null
      },
      "azureBlobStorage": {
        "level": "Information",
        "sasUrl": "https://unlikely25exst2acctv9ipa.blob.core.windows.net/content?sv=2018-11-09&sr=c&st=2021-03-16T21:21:36Z&se=2221-03-16T21:21:36Z&sp=racwdl&spr=https&sig=Tu46c%2FnMpR%2B7S4ToqQOdsH%2F66vaaKmgynPh3TNuSp8I%3D&sr=b",
        "retentionInDays": 2
      }
    },
    "httpLogs": {
      "fileSystem": {
        "retentionInMb": 35,
        "retentionInDays": 3,
        "enabled": false
      },
      "azureBlobStorage": {
        "sasUrl": "https://unlikely25exst2acctv9ipa.blob.core.windows.net/content?sv=2018-11-09&sr=c&st=2021-03-16T21:21:36Z&se=2221-03-16T21:21:36Z&sp=racwdl&spr=https&sig=Tu46c%2FnMpR%2B7S4ToqQOdsH%2F66vaaKmgynPh3TNuSp8I%3D&sr=b",
        "retentionInDays": 3,
        "enabled": true
      }
    },
    "failedRequestsTracing": {
      "enabled": false
    },
    "detailedErrorMessages": {
      "enabled": false
    }
  }
}

Diff both gives us:

1a2,6
>   "id": "/subscriptions/xxxx/resourceGroups/acctestRG-storage-220816112105435513/providers/Microsoft.Web/sites/acctestWA-magodo/config/logs",
>   "name": "logs",
>   "type": "Microsoft.Web/sites/config",
>   "location": "West US 2",
>   "tags": {},
6a12,15
>       "azureTableStorage": {
>         "level": "Off",
>         "sasUrl": null
>       },
9c18
<         "sasUrl": "https://unlikely25exst2acctv9ipa.blob.core.windows.net/content?sv=2018-11-09&sr=c&st=2021-03-16T21%3A21%3A36Z&se=2221-03-16T21%3A21%3A36Z&sp=racwdl&spr=https&sig=Tu46c%2FnMpR%2B7S4ToqQOdsH%2F66vaaKmgynPh3TNuSp8I%3D&sr=b",
---
>         "sasUrl": "https://unlikely25exst2acctv9ipa.blob.core.windows.net/content?sv=2018-11-09&sr=c&st=2021-03-16T21:21:36Z&se=2221-03-16T21:21:36Z&sp=racwdl&spr=https&sig=Tu46c%2FnMpR%2B7S4ToqQOdsH%2F66vaaKmgynPh3TNuSp8I%3D&sr=b",
13a23,27
>       "fileSystem": {
>         "retentionInMb": 35,
>         "retentionInDays": 3,
>         "enabled": false
>       },
15c29
<         "sasUrl": "https://unlikely25exst2acctv9ipa.blob.core.windows.net/content?sv=2018-11-09&sr=c&st=2021-03-16T21%3A21%3A36Z&se=2221-03-16T21%3A21%3A36Z&sp=racwdl&spr=https&sig=Tu46c%2FnMpR%2B7S4ToqQOdsH%2F66vaaKmgynPh3TNuSp8I%3D&sr=b",
---
>         "sasUrl": "https://unlikely25exst2acctv9ipa.blob.core.windows.net/content?sv=2018-11-09&sr=c&st=2021-03-16T21:21:36Z&se=2221-03-16T21:21:36Z&sp=racwdl&spr=https&sig=Tu46c%2FnMpR%2B7S4ToqQOdsH%2F66vaaKmgynPh3TNuSp8I%3D&sr=b",

The issue is that the sasUrl fields are not keeping what the users have sent, i.e. the se and st are urldecoded somehow. This doesn't follow the Azure API guideline that request and response should be roundtrip consistent.

Relates to hashicorp/terraform-provider-azurerm#19680

Metadata

Metadata

Assignees

No one assigned

    Labels

    Service AttentionWorkflow: This issue is responsible by Azure service team.Web Apps

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions