Skip to content

Commit a19b89c

Browse files
authored
updated common-types version to v6 (#735)
* updated types, managedidentity and privatelinks common-types version to v6 * added NetworkSecurityPerimeterConfigurationNameParameter to exclusion list
1 parent 400972e commit a19b89c

File tree

5 files changed

+50
-15
lines changed

5 files changed

+50
-15
lines changed

packages/rulesets/generated/spectral/az-arm.js

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -175,9 +175,9 @@ const mutabilityWithReadOnly = (prop, _opts, ctx) => {
175175
};
176176

177177
const LATEST_VERSION_BY_COMMON_TYPES_FILENAME = new Map([
178-
["types.json", "v5"],
179-
["managedidentity.json", "v5"],
180-
["privatelinks.json", "v5"],
178+
["types.json", "v6"],
179+
["managedidentity.json", "v6"],
180+
["privatelinks.json", "v6"],
181181
["customermanagedkeys.json", "v5"],
182182
["managedidentitywithdelegation.json", "v5"],
183183
["networksecurityperimeter.json", "v5"],
@@ -2585,7 +2585,12 @@ const reservedResourceNamesModelAsEnum = (pathItem, _opts, ctx) => {
25852585
return errors;
25862586
};
25872587

2588-
const EXCEPTION_LIST = ["resourceGroupName", "privateEndpointConnectionName", "managementGroupName"];
2588+
const EXCEPTION_LIST = [
2589+
"resourceGroupName",
2590+
"privateEndpointConnectionName",
2591+
"managementGroupName",
2592+
"networkSecurityPerimeterConfigurationName",
2593+
];
25892594
const resourceNameRestriction = (paths, _opts, ctx) => {
25902595
if (paths === null || typeof paths !== "object") {
25912596
return [];

packages/rulesets/src/spectral/functions/resource-name-restriction.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
11
// Check conformance to Azure parameter naming conventions:
22

33
//system-defined parameters => needs to be excluded from validation
4-
const EXCEPTION_LIST = ["resourceGroupName", "privateEndpointConnectionName", "managementGroupName"]
4+
const EXCEPTION_LIST = [
5+
"resourceGroupName",
6+
"privateEndpointConnectionName",
7+
"managementGroupName",
8+
"networkSecurityPerimeterConfigurationName",
9+
]
510
export const resourceNameRestriction = (paths: any, _opts: any, ctx: any) => {
611
if (paths === null || typeof paths !== "object") {
712
return []

packages/rulesets/src/spectral/functions/utils.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import _ from "lodash"
22

33
export const LATEST_VERSION_BY_COMMON_TYPES_FILENAME = new Map([
4-
["types.json", "v5"],
5-
["managedidentity.json", "v5"],
6-
["privatelinks.json", "v5"],
4+
["types.json", "v6"],
5+
["managedidentity.json", "v6"],
6+
["privatelinks.json", "v6"],
77
["customermanagedkeys.json", "v5"],
88
["managedidentitywithdelegation.json", "v5"],
99
["networksecurityperimeter.json", "v5"],

packages/rulesets/src/spectral/test/latest-version-of-common-types-must-be-used.test.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,9 @@ test("LatestVersionOfCommonTypesMustBeUsed should find errors for obsolete versi
5757
expect(results[0].path.join(".")).toBe("paths./foo.get.parameters.0.$ref")
5858
expect(results[0].message).toContain("Use the latest version v5 of customermanagedkeys.json.")
5959
expect(results[1].path.join(".")).toBe("paths./foo.get.parameters.1.$ref")
60-
expect(results[1].message).toContain("Use the latest version v5 of managedidentity.json.")
60+
expect(results[1].message).toContain("Use the latest version v6 of managedidentity.json.")
6161
expect(results[2].path.join(".")).toBe("paths./foo.get.responses.200.$ref")
62-
expect(results[2].message).toContain("Use the latest version v5 of types.json.")
62+
expect(results[2].message).toContain("Use the latest version v6 of types.json.")
6363
})
6464
})
6565

@@ -73,20 +73,20 @@ test("LatestVersionOfCommonTypesMustBeUsed should find no errors", async () => {
7373
parameters: [
7474
{
7575
$ref: `../../../../../common-types/resource-management/${LATEST_VERSION_BY_COMMON_TYPES_FILENAME.get(
76-
"customermanagedkeys.json"
76+
"customermanagedkeys.json",
7777
)}/customermanagedkeys.json#/parameters/ApiVersionParameter`,
7878
},
7979
{
8080
$ref: `../../../../../common-types/resource-management/${LATEST_VERSION_BY_COMMON_TYPES_FILENAME.get(
81-
"managedidentity.json"
81+
"managedidentity.json",
8282
)}/managedidentity.json#/parameters/ApiVersionParameter`,
8383
},
8484
],
8585
responses: {
8686
200: {
8787
description: "Success",
8888
$ref: `../../../../../common-types/resource-management/${LATEST_VERSION_BY_COMMON_TYPES_FILENAME.get(
89-
"types.json"
89+
"types.json",
9090
)}/types.json#/parameters/ApiVersionParameter`,
9191
},
9292
},

packages/rulesets/src/spectral/test/resource-names-restriction.test.ts

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ test("ResourceNameRestriction should find errors on path level", () => {
3232
return linter.run(oasDoc).then((results) => {
3333
expect(results.length).toBe(1)
3434
expect(results[0].path.join(".")).toBe(
35-
"paths./subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/My.NS/foo/{fooName}"
35+
"paths./subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/My.NS/foo/{fooName}",
3636
)
3737
expect(results[0].message).toContain("The resource name parameter 'fooName' should be defined with a 'pattern' restriction.")
3838
})
@@ -61,7 +61,7 @@ test("ResourceNameRestriction should find errors on operation level", () => {
6161
return linter.run(oasDoc).then((results) => {
6262
expect(results.length).toBe(1)
6363
expect(results[0].path.join(".")).toBe(
64-
"paths./subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/My.NS/foo/{fooName}"
64+
"paths./subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/My.NS/foo/{fooName}",
6565
)
6666
expect(results[0].message).toContain("The resource name parameter 'fooName' should be defined with a 'pattern' restriction.")
6767
})
@@ -138,6 +138,31 @@ test("ResourceNameRestriction should find no errors for system-defined variables
138138
responses: {},
139139
},
140140
},
141+
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/My.NS/foo/{fooName}/networkSecurityPerimeterConfiguration/{networkSecurityPerimeterConfigurationName}":
142+
{
143+
parameters: [
144+
{
145+
name: "fooName",
146+
in: "path",
147+
required: true,
148+
type: "string",
149+
pattern: "[a-zA-Z_0-9]+",
150+
"x-ms-parameter-location": "method",
151+
},
152+
{
153+
name: "networkSecurityPerimeterConfigurationName",
154+
in: "path",
155+
required: true,
156+
type: "string",
157+
description: "The name of the network security perimeter configuration associated with the Azure resource.",
158+
"x-ms-parameter-location": "method",
159+
},
160+
],
161+
get: {
162+
parameters: [],
163+
responses: {},
164+
},
165+
},
141166
},
142167
}
143168
return linter.run(oasDoc).then((results) => {

0 commit comments

Comments
 (0)