Skip to content
This repository was archived by the owner on Feb 23, 2024. It is now read-only.

Commit 1d61c1a

Browse files
authored
fix arm template validation for service/apis/operations (#688)
Co-authored-by: Dmitrii Korolev <dmkorolev@microsoft.com>
1 parent e3623d2 commit 1d61c1a

File tree

2 files changed

+4
-1
lines changed

2 files changed

+4
-1
lines changed

src/ArmTemplates/Extractor/EntityExtractors/ApiOperationExtractor.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ public async Task<List<ApiOperationTemplateResource>> GenerateApiOperationsResou
4444
apiOperation.OriginalName = apiOperation.Name;
4545

4646
apiOperation.Name = $"[concat(parameters('{ParameterNames.ApimServiceName}'), '/{apiName}/{apiOperation.OriginalName}')]";
47-
apiOperation.DependsOn = new[]{ $"[resourceId('Microsoft.ApiManagement/service/apis/operations', parameters('{ParameterNames.ApimServiceName}'), '{apiName}')]" };
4847
apiOperation.ApiVersion = GlobalConstants.ApiVersion;
4948
apiOperation.Scale = null;
5049

@@ -70,6 +69,8 @@ public async Task<List<ApiOperationTemplateResource>> GenerateApiOperationsResou
7069
}
7170
}
7271
}
72+
73+
apiOperation.DependsOn = operationDependsOn.ToArray();
7374
}
7475

7576
return apiOperations;

tests/ArmTemplates.Tests/Extractor/Scenarios/ApiExtractorTests.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,8 @@ public async Task GenerateApiTemplates_ProperlyLaysTheInformation()
123123
apiTemplate.TypedResources.ApiOperations.Count().Should().Be(2);
124124
apiTemplate.TypedResources.ApiOperations.All(x => x.Type == ResourceTypeConstants.APIOperation).Should().BeTrue();
125125
apiTemplate.TypedResources.ApiOperations.All(x => x.Properties is not null).Should().BeTrue();
126+
apiTemplate.TypedResources.ApiOperations.SelectMany(x => x.DependsOn).Any(x => x.Contains($"'{ResourceTypeConstants.API}'")).Should().BeTrue();
127+
apiTemplate.TypedResources.ApiOperations.SelectMany(x => x.DependsOn).Any(x => x.Contains($"'{ResourceTypeConstants.APIOperation}'")).Should().BeFalse();
126128

127129
// api operations policies
128130
apiTemplate.TypedResources.ApiOperationsPolicies.Count().Should().Be(2);

0 commit comments

Comments
 (0)