Skip to content

Commit d1bbbb3

Browse files
authored
Update TypeSpec for DeviceRegistry (#29319)
* Update TypeSpec for DeviceRegistry * add client.tsp * fix model validation * fix example * fix example * remove unused csharp option * update client.tsp * fix tsp validation * fix more tsp validation * update csharp option
1 parent e9f47ec commit d1bbbb3

File tree

9 files changed

+58
-235
lines changed

9 files changed

+58
-235
lines changed

specification/deviceregistry/DeviceRegistry.Management/assetEndpointProfiles.tsp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -122,10 +122,8 @@ interface AssetEndpointProfiles {
122122

123123
createOrReplace is ArmResourceCreateOrReplaceAsync<AssetEndpointProfile>;
124124

125-
update is ArmResourcePatchAsync<
126-
AssetEndpointProfile,
127-
AssetEndpointProfileProperties
128-
>;
125+
@parameterVisibility
126+
update is ArmCustomPatchAsync<AssetEndpointProfile, AssetEndpointProfile>;
129127

130128
delete is ArmResourceDeleteWithoutOkAsync<AssetEndpointProfile>;
131129

specification/deviceregistry/DeviceRegistry.Management/assets.tsp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ model AssetProperties {
5656

5757
@doc("A reference to the asset endpoint profile (connection information) used by brokers to connect to an endpoint that provides data points for this asset. Must have the format <ModuleCR.metadata.namespace>/<ModuleCR.metadata.name>.")
5858
@visibility("read", "create")
59-
assetEndpointProfileUri: string;
59+
assetEndpointProfileUri: url;
6060

6161
@doc("An integer that is incremented each time the resource is modified.")
6262
@visibility("read")
@@ -66,7 +66,7 @@ model AssetProperties {
6666
manufacturer?: string;
6767

6868
@doc("Asset manufacturer URI.")
69-
manufacturerUri?: string;
69+
manufacturerUri?: url;
7070

7171
@doc("Asset model name.")
7272
// `model` is a reserved keyname. Wrap in double quotes
@@ -82,7 +82,7 @@ model AssetProperties {
8282
softwareRevision?: string;
8383

8484
@doc("Reference to the documentation.")
85-
documentationUri?: string;
85+
documentationUri?: url;
8686

8787
@doc("Asset serial number.")
8888
serialNumber?: string;
@@ -207,7 +207,8 @@ interface Assets {
207207

208208
createOrReplace is ArmResourceCreateOrReplaceAsync<Asset>;
209209

210-
update is ArmResourcePatchAsync<Asset, AssetProperties>;
210+
@parameterVisibility
211+
update is ArmCustomPatchAsync<Asset, Asset>;
211212

212213
delete is ArmResourceDeleteWithoutOkAsync<Asset>;
213214

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import "./main.tsp";
2+
import "@azure-tools/typespec-client-generator-core";
3+
4+
using Azure.ClientGenerator.Core;
5+
6+
namespace Microsoft.DeviceRegistry;
7+
8+
@@clientName(Asset, "DeviceRegistryAsset", "csharp");
9+
@@clientName(AssetEndpointProfile,
10+
"DeviceRegistryAssetEndpointProfile",
11+
"csharp"
12+
);
13+
@@clientName(ExtendedLocation, "DeviceRegistryExtendedLocation", "csharp");
14+
@@clientName(Event, "AssetEvent", "csharp");
15+
@@clientName(ProvisioningState, "DeviceRegistryProvisioningState", "csharp");
16+
@@clientName(ExtendedLocation.type, "ExtendedLocationType", "csharp");
17+
@@access(OperationStatus.get, Access.internal, "csharp");
18+
@@access(Operations.list, Access.internal, "csharp");

specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Update_Asset.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,15 @@
88
"resourceGroupName": "myResourceGroup",
99
"assetName": "my-asset",
1010
"properties": {
11+
"location": "West Europe",
1112
"properties": {
1213
"enabled": false,
13-
"displayName": "NewAssetDisplayName"
14+
"displayName": "NewAssetDisplayName",
15+
"assetEndpointProfileUri": "https://www.example.com/myAssetEndpointProfile"
16+
},
17+
"extendedLocation": {
18+
"type": "CustomLocation",
19+
"name": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.extendedlocation/customlocations/location1"
1420
}
1521
}
1622
},

specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Update_AssetEndpointProfile.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,13 @@
88
"resourceGroupName": "myResourceGroup",
99
"assetEndpointProfileName": "my-assetendpointprofile",
1010
"properties": {
11+
"location": "West Europe",
1112
"properties": {
1213
"targetAddress": "https://www.example.com/myTargetAddress"
14+
},
15+
"extendedLocation": {
16+
"type": "CustomLocation",
17+
"name": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.extendedlocation/customlocations/location1"
1318
}
1419
}
1520
},

specification/deviceregistry/DeviceRegistry.Management/tspconfig.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ options:
1717
namespace: "com.azure.resourcemanager.deviceregistry"
1818
service-name: "Device Registry"
1919
examples-directory: "examples"
20+
"@azure-tools/typespec-csharp":
21+
package-dir: "Azure.ResourceManager.DeviceRegistry"
22+
namespace: "{package-dir}"
23+
flavor: "azure"
2024
linter:
2125
extends:
2226
- "@azure-tools/typespec-azure-rulesets/resource-manager"

0 commit comments

Comments
 (0)