@azure-tools/typespec-azure-resource-manager 0.40.0-dev.10 → 0.40.0-dev.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/rules/arm-resource-provisioning-state-rule.d.ts +2 -0
- package/dist/src/rules/arm-resource-provisioning-state-rule.d.ts.map +1 -1
- package/dist/src/rules/arm-resource-provisioning-state-rule.js +18 -1
- package/dist/src/rules/arm-resource-provisioning-state-rule.js.map +1 -1
- package/lib/models.tsp +3 -1
- package/lib/operations.tsp +6 -7
- package/package.json +1 -1
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export declare const armResourceProvisioningStateRule: import("@typespec/compiler").LinterRuleDefinition<"arm-resource-provisioning-state", {
|
|
2
2
|
readonly default: "The RP-specific property model in the 'properties' property of this resource must contain a 'provisioningState property. The property type should be an enum or a union of string values, and it must specify known state values 'Succeeded', 'Failed', and 'Canceled'.";
|
|
3
3
|
readonly missingValues: import("@typespec/compiler").CallableMessage<[string]>;
|
|
4
|
+
readonly missingReadOnlyVisibility: "The provisioningState property must have a single read visibility.";
|
|
5
|
+
readonly mustBeOptional: "The provisioningState property must be optional.";
|
|
4
6
|
}>;
|
|
5
7
|
//# sourceMappingURL=arm-resource-provisioning-state-rule.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arm-resource-provisioning-state-rule.d.ts","sourceRoot":"","sources":["../../../src/rules/arm-resource-provisioning-state-rule.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"arm-resource-provisioning-state-rule.d.ts","sourceRoot":"","sources":["../../../src/rules/arm-resource-provisioning-state-rule.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,gCAAgC;;;;;EA8G3C,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createRule, getProperty, paramMessage } from "@typespec/compiler";
|
|
1
|
+
import { createRule, getProperty, getVisibility, paramMessage, } from "@typespec/compiler";
|
|
2
2
|
import { getUnionAsEnum } from "@azure-tools/typespec-azure-core";
|
|
3
3
|
import { getArmResource } from "../resource.js";
|
|
4
4
|
import { getSourceProperty } from "./utils.js";
|
|
@@ -9,6 +9,8 @@ export const armResourceProvisioningStateRule = createRule({
|
|
|
9
9
|
messages: {
|
|
10
10
|
default: "The RP-specific property model in the 'properties' property of this resource must contain a 'provisioningState property. The property type should be an enum or a union of string values, and it must specify known state values 'Succeeded', 'Failed', and 'Canceled'.",
|
|
11
11
|
missingValues: paramMessage `The "@knownValues" decorator for provisioningState, must reference an enum with 'Succeeded', 'Failed', 'Canceled' values. The enum is missing the values: [${"missingValues"}].`,
|
|
12
|
+
missingReadOnlyVisibility: "The provisioningState property must have a single read visibility.",
|
|
13
|
+
mustBeOptional: "The provisioningState property must be optional.",
|
|
12
14
|
},
|
|
13
15
|
create(context) {
|
|
14
16
|
return {
|
|
@@ -85,6 +87,21 @@ export const armResourceProvisioningStateRule = createRule({
|
|
|
85
87
|
target: provisioning,
|
|
86
88
|
});
|
|
87
89
|
}
|
|
90
|
+
// validate provisioning state is optional
|
|
91
|
+
if (provisioning.optional !== true) {
|
|
92
|
+
context.reportDiagnostic({
|
|
93
|
+
messageId: "mustBeOptional",
|
|
94
|
+
target: provisioning,
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
// validate it must has a read only visibility
|
|
98
|
+
const visibilities = getVisibility(context.program, provisioning);
|
|
99
|
+
if (!(visibilities !== undefined && visibilities.length === 1 && visibilities[0] === "read")) {
|
|
100
|
+
context.reportDiagnostic({
|
|
101
|
+
messageId: "missingReadOnlyVisibility",
|
|
102
|
+
target: provisioning,
|
|
103
|
+
});
|
|
104
|
+
}
|
|
88
105
|
}
|
|
89
106
|
},
|
|
90
107
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arm-resource-provisioning-state-rule.js","sourceRoot":"","sources":["../../../src/rules/arm-resource-provisioning-state-rule.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"arm-resource-provisioning-state-rule.js","sourceRoot":"","sources":["../../../src/rules/arm-resource-provisioning-state-rule.ts"],"names":[],"mappings":"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"}
|
package/lib/models.tsp
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
using TypeSpec.Http;
|
|
2
2
|
using TypeSpec.Rest;
|
|
3
3
|
using TypeSpec.OpenAPI;
|
|
4
|
+
using Azure.Core;
|
|
4
5
|
using Azure.ResourceManager.Foundations;
|
|
5
6
|
using Azure.ResourceManager.Private;
|
|
6
7
|
|
|
@@ -169,7 +170,8 @@ enum ResourceProvisioningState {
|
|
|
169
170
|
@doc("Contains a default provisioningState property to be spread into resource property types")
|
|
170
171
|
model DefaultProvisioningStateProperty {
|
|
171
172
|
@doc("The provisioning state of the resource.")
|
|
172
|
-
|
|
173
|
+
@visibility("read")
|
|
174
|
+
provisioningState?: ResourceProvisioningState;
|
|
173
175
|
}
|
|
174
176
|
|
|
175
177
|
/**
|
package/lib/operations.tsp
CHANGED
|
@@ -164,7 +164,7 @@ op ArmResourceCreateOrUpdateAsync<
|
|
|
164
164
|
> is ArmCreateOperation<
|
|
165
165
|
ResourceInstanceParameters<Resource, BaseParameters> & Parameters,
|
|
166
166
|
Resource,
|
|
167
|
-
|
|
167
|
+
Response,
|
|
168
168
|
Error
|
|
169
169
|
>;
|
|
170
170
|
|
|
@@ -592,17 +592,16 @@ op ArmResourceActionNoContentAsync<
|
|
|
592
592
|
Resource extends ArmResource,
|
|
593
593
|
Request extends TypeSpec.Reflection.Model | void,
|
|
594
594
|
BaseParameters extends TypeSpec.Reflection.Model = DefaultBaseParameters<Resource>,
|
|
595
|
-
LroHeaders extends TypeSpec.Reflection.Model = ArmLroLocationHeader
|
|
596
|
-
Azure.Core.StatusMonitorPollingOptions<ArmOperationStatus>,
|
|
597
|
-
void,
|
|
598
|
-
string
|
|
599
|
-
>,
|
|
595
|
+
LroHeaders extends TypeSpec.Reflection.Model = ArmLroLocationHeader,
|
|
600
596
|
Parameters extends {} = {},
|
|
601
597
|
Error extends {} = ErrorResponse
|
|
602
598
|
> is ArmResourceActionAsyncBase<
|
|
603
599
|
Resource,
|
|
604
600
|
Request,
|
|
605
|
-
ArmAcceptedLroResponse
|
|
601
|
+
ArmAcceptedLroResponse<
|
|
602
|
+
"Resource operation accepted.",
|
|
603
|
+
LroHeaders
|
|
604
|
+
> | ArmNoContentResponse<"Action completed successfully.">,
|
|
606
605
|
BaseParameters,
|
|
607
606
|
Parameters,
|
|
608
607
|
Error
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@azure-tools/typespec-azure-resource-manager",
|
|
3
|
-
"version": "0.40.0-dev.
|
|
3
|
+
"version": "0.40.0-dev.12",
|
|
4
4
|
"author": "Microsoft Corporation",
|
|
5
5
|
"description": "TypeSpec Azure Resource Manager library",
|
|
6
6
|
"homepage": "https://azure.github.io/typespec-azure",
|