-
Notifications
You must be signed in to change notification settings - Fork 5.7k
Expand file tree
/
Copy pathCloud.tsp
More file actions
66 lines (62 loc) · 1.95 KB
/
Cloud.tsp
File metadata and controls
66 lines (62 loc) · 1.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
import "@azure-tools/typespec-azure-core";
import "@azure-tools/typespec-azure-resource-manager";
import "@typespec/rest";
import "./models.tsp";
using TypeSpec.Rest;
using Azure.ResourceManager;
using TypeSpec.Http;
using OpenAPI;
namespace Microsoft.ScVmm;
/** The Clouds resource definition. */
model Cloud is TrackedResource<CloudProperties> {
/** Name of the Cloud. */
@maxLength(54)
@minLength(1)
@pattern("[a-zA-Z0-9-_\\.]")
@path
@key("cloudResourceName")
@segment("clouds")
name: string;
/** The extended location. */
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "This property is allowed but not recognized by the linter"
extendedLocation: ExtendedLocation;
}
@armResourceOperations
interface Clouds {
/** Implements Cloud GET method. */
@summary("Gets a Cloud.")
get is ArmResourceRead<Cloud>;
/** Onboards the ScVmm fabric cloud as an Azure cloud resource. */
@summary("Implements Clouds PUT method.")
createOrUpdate is ArmResourceCreateOrReplaceAsync<Cloud>;
/** Updates the Clouds resource. */
@summary("Implements the Clouds PATCH method.")
@extension(
"x-ms-long-running-operation-options",
{
`final-state-via`: "azure-async-operation",
}
)
update is ArmTagsPatchAsync<Cloud>;
/** Deregisters the ScVmm fabric cloud from Azure. */
@summary("Implements Cloud resource DELETE method.")
@extension(
"x-ms-long-running-operation-options",
{
`final-state-via`: "azure-async-operation",
}
)
delete is ArmResourceDeleteWithoutOkAsync<
Cloud,
{
...Foundations.BaseParameters<Cloud>;
...QueryForceDelete;
}
>;
/** List of Clouds in a resource group. */
@summary("Implements GET Clouds in a resource group.")
listByResourceGroup is ArmResourceListByParent<Cloud>;
/** List of Clouds in a subscription. */
@summary("Implements GET Clouds in a subscription.")
listBySubscription is ArmListBySubscription<Cloud>;
}