@azure/arm-labservices 1.1.1 → 2.0.0

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.
Files changed (182) hide show
  1. package/LICENSE.txt +1 -1
  2. package/README.md +11 -14
  3. package/dist/arm-labservices.js +2913 -3372
  4. package/dist/arm-labservices.js.map +1 -1
  5. package/dist/arm-labservices.min.js +1 -1
  6. package/dist/arm-labservices.min.js.map +1 -1
  7. package/esm/{managedLabsClient.d.ts → labServicesClient.d.ts} +12 -13
  8. package/esm/labServicesClient.d.ts.map +1 -0
  9. package/esm/{managedLabsClient.js → labServicesClient.js} +17 -19
  10. package/esm/labServicesClient.js.map +1 -0
  11. package/esm/{managedLabsClientContext.d.ts → labServicesClientContext.d.ts} +6 -6
  12. package/esm/labServicesClientContext.d.ts.map +1 -0
  13. package/esm/{managedLabsClientContext.js → labServicesClientContext.js} +12 -13
  14. package/esm/labServicesClientContext.js.map +1 -0
  15. package/esm/models/imagesMappers.d.ts +2 -0
  16. package/esm/models/imagesMappers.d.ts.map +1 -0
  17. package/esm/models/imagesMappers.js +9 -0
  18. package/esm/models/imagesMappers.js.map +1 -0
  19. package/esm/models/index.d.ts +977 -1070
  20. package/esm/models/index.d.ts.map +1 -1
  21. package/esm/models/index.js +2 -2
  22. package/esm/models/labPlansMappers.d.ts +2 -0
  23. package/esm/models/labPlansMappers.d.ts.map +1 -0
  24. package/esm/models/labPlansMappers.js +9 -0
  25. package/esm/models/labPlansMappers.js.map +1 -0
  26. package/esm/models/labsMappers.d.ts +1 -1
  27. package/esm/models/labsMappers.d.ts.map +1 -1
  28. package/esm/models/labsMappers.js +3 -3
  29. package/esm/models/labsMappers.js.map +1 -1
  30. package/esm/models/mappers.d.ts +50 -65
  31. package/esm/models/mappers.d.ts.map +1 -1
  32. package/esm/models/mappers.js +1182 -1209
  33. package/esm/models/mappers.js.map +1 -1
  34. package/esm/models/operationResultsMappers.d.ts +2 -0
  35. package/esm/models/operationResultsMappers.d.ts.map +1 -0
  36. package/esm/models/operationResultsMappers.js +9 -0
  37. package/esm/models/operationResultsMappers.js.map +1 -0
  38. package/esm/models/operationsMappers.d.ts +1 -1
  39. package/esm/models/operationsMappers.d.ts.map +1 -1
  40. package/esm/models/operationsMappers.js +3 -3
  41. package/esm/models/operationsMappers.js.map +1 -1
  42. package/esm/models/parameters.d.ts +5 -9
  43. package/esm/models/parameters.d.ts.map +1 -1
  44. package/esm/models/parameters.js +69 -74
  45. package/esm/models/parameters.js.map +1 -1
  46. package/esm/models/schedulesMappers.d.ts +2 -0
  47. package/esm/models/schedulesMappers.d.ts.map +1 -0
  48. package/esm/models/schedulesMappers.js +9 -0
  49. package/esm/models/schedulesMappers.js.map +1 -0
  50. package/esm/models/usersMappers.d.ts +1 -1
  51. package/esm/models/usersMappers.d.ts.map +1 -1
  52. package/esm/models/usersMappers.js +3 -3
  53. package/esm/models/usersMappers.js.map +1 -1
  54. package/esm/models/virtualMachinesMappers.d.ts +2 -0
  55. package/esm/models/virtualMachinesMappers.d.ts.map +1 -0
  56. package/esm/models/virtualMachinesMappers.js +9 -0
  57. package/esm/models/virtualMachinesMappers.js.map +1 -0
  58. package/esm/operations/images.d.ts +147 -0
  59. package/esm/operations/images.d.ts.map +1 -0
  60. package/esm/operations/images.js +198 -0
  61. package/esm/operations/images.js.map +1 -0
  62. package/esm/operations/index.d.ts +5 -6
  63. package/esm/operations/index.d.ts.map +1 -1
  64. package/esm/operations/index.js +7 -9
  65. package/esm/operations/index.js.map +1 -1
  66. package/esm/operations/labPlans.d.ts +202 -0
  67. package/esm/operations/labPlans.d.ts.map +1 -0
  68. package/esm/operations/labPlans.js +419 -0
  69. package/esm/operations/labPlans.js.map +1 -0
  70. package/esm/operations/labs.d.ts +135 -117
  71. package/esm/operations/labs.d.ts.map +1 -1
  72. package/esm/operations/labs.js +233 -92
  73. package/esm/operations/labs.js.map +1 -1
  74. package/esm/operations/operationResults.d.ts +32 -0
  75. package/esm/operations/operationResults.d.ts.map +1 -0
  76. package/esm/operations/operationResults.js +56 -0
  77. package/esm/operations/operationResults.js.map +1 -0
  78. package/esm/operations/operations.d.ts +28 -14
  79. package/esm/operations/operations.d.ts.map +1 -1
  80. package/esm/operations/operations.js +36 -15
  81. package/esm/operations/operations.js.map +1 -1
  82. package/esm/operations/schedules.d.ts +181 -0
  83. package/esm/operations/schedules.d.ts.map +1 -0
  84. package/esm/operations/schedules.js +260 -0
  85. package/esm/operations/schedules.js.map +1 -0
  86. package/esm/operations/users.d.ts +123 -95
  87. package/esm/operations/users.d.ts.map +1 -1
  88. package/esm/operations/users.js +190 -69
  89. package/esm/operations/users.js.map +1 -1
  90. package/esm/operations/virtualMachines.d.ts +217 -0
  91. package/esm/operations/virtualMachines.d.ts.map +1 -0
  92. package/esm/operations/virtualMachines.js +425 -0
  93. package/esm/operations/virtualMachines.js.map +1 -0
  94. package/package.json +13 -13
  95. package/rollup.config.js +4 -4
  96. package/src/{managedLabsClient.ts → labServicesClient.ts} +21 -24
  97. package/src/{managedLabsClientContext.ts → labServicesClientContext.ts} +9 -10
  98. package/src/models/imagesMappers.ts +47 -0
  99. package/src/models/index.ts +992 -1091
  100. package/src/models/labPlansMappers.ts +50 -0
  101. package/src/models/labsMappers.ts +37 -28
  102. package/src/models/mappers.ts +1192 -1234
  103. package/src/models/operationResultsMappers.ts +14 -0
  104. package/src/models/operationsMappers.ts +8 -5
  105. package/src/models/parameters.ts +69 -74
  106. package/src/models/schedulesMappers.ts +47 -0
  107. package/src/models/usersMappers.ts +36 -27
  108. package/src/models/virtualMachinesMappers.ts +47 -0
  109. package/src/operations/images.ts +365 -0
  110. package/src/operations/index.ts +7 -9
  111. package/src/operations/labPlans.ts +578 -0
  112. package/src/operations/labs.ts +297 -215
  113. package/src/operations/operationResults.ts +83 -0
  114. package/src/operations/operations.ts +70 -30
  115. package/src/operations/schedules.ts +443 -0
  116. package/src/operations/users.ts +238 -160
  117. package/src/operations/virtualMachines.ts +551 -0
  118. package/tsconfig.json +1 -1
  119. package/esm/managedLabsClient.d.ts.map +0 -1
  120. package/esm/managedLabsClient.js.map +0 -1
  121. package/esm/managedLabsClientContext.d.ts.map +0 -1
  122. package/esm/managedLabsClientContext.js.map +0 -1
  123. package/esm/models/environmentSettingsMappers.d.ts +0 -2
  124. package/esm/models/environmentSettingsMappers.d.ts.map +0 -1
  125. package/esm/models/environmentSettingsMappers.js +0 -9
  126. package/esm/models/environmentSettingsMappers.js.map +0 -1
  127. package/esm/models/environmentsMappers.d.ts +0 -2
  128. package/esm/models/environmentsMappers.d.ts.map +0 -1
  129. package/esm/models/environmentsMappers.js +0 -9
  130. package/esm/models/environmentsMappers.js.map +0 -1
  131. package/esm/models/galleryImagesMappers.d.ts +0 -2
  132. package/esm/models/galleryImagesMappers.d.ts.map +0 -1
  133. package/esm/models/galleryImagesMappers.js +0 -9
  134. package/esm/models/galleryImagesMappers.js.map +0 -1
  135. package/esm/models/globalUsersMappers.d.ts +0 -2
  136. package/esm/models/globalUsersMappers.d.ts.map +0 -1
  137. package/esm/models/globalUsersMappers.js +0 -9
  138. package/esm/models/globalUsersMappers.js.map +0 -1
  139. package/esm/models/labAccountsMappers.d.ts +0 -2
  140. package/esm/models/labAccountsMappers.d.ts.map +0 -1
  141. package/esm/models/labAccountsMappers.js +0 -9
  142. package/esm/models/labAccountsMappers.js.map +0 -1
  143. package/esm/models/providerOperationsMappers.d.ts +0 -2
  144. package/esm/models/providerOperationsMappers.d.ts.map +0 -1
  145. package/esm/models/providerOperationsMappers.js +0 -9
  146. package/esm/models/providerOperationsMappers.js.map +0 -1
  147. package/esm/operations/environmentSettings.d.ts +0 -262
  148. package/esm/operations/environmentSettings.d.ts.map +0 -1
  149. package/esm/operations/environmentSettings.js +0 -479
  150. package/esm/operations/environmentSettings.js.map +0 -1
  151. package/esm/operations/environments.d.ts +0 -279
  152. package/esm/operations/environments.d.ts.map +0 -1
  153. package/esm/operations/environments.js +0 -504
  154. package/esm/operations/environments.js.map +0 -1
  155. package/esm/operations/galleryImages.d.ts +0 -154
  156. package/esm/operations/galleryImages.d.ts.map +0 -1
  157. package/esm/operations/galleryImages.js +0 -234
  158. package/esm/operations/galleryImages.js.map +0 -1
  159. package/esm/operations/globalUsers.d.ts +0 -220
  160. package/esm/operations/globalUsers.d.ts.map +0 -1
  161. package/esm/operations/globalUsers.js +0 -411
  162. package/esm/operations/globalUsers.js.map +0 -1
  163. package/esm/operations/labAccounts.d.ts +0 -216
  164. package/esm/operations/labAccounts.d.ts.map +0 -1
  165. package/esm/operations/labAccounts.js +0 -364
  166. package/esm/operations/labAccounts.js.map +0 -1
  167. package/esm/operations/providerOperations.d.ts +0 -46
  168. package/esm/operations/providerOperations.d.ts.map +0 -1
  169. package/esm/operations/providerOperations.js +0 -77
  170. package/esm/operations/providerOperations.js.map +0 -1
  171. package/src/models/environmentSettingsMappers.ts +0 -40
  172. package/src/models/environmentsMappers.ts +0 -40
  173. package/src/models/galleryImagesMappers.ts +0 -39
  174. package/src/models/globalUsersMappers.ts +0 -29
  175. package/src/models/labAccountsMappers.ts +0 -47
  176. package/src/models/providerOperationsMappers.ts +0 -14
  177. package/src/operations/environmentSettings.ts +0 -705
  178. package/src/operations/environments.ts +0 -741
  179. package/src/operations/galleryImages.ts +0 -413
  180. package/src/operations/globalUsers.ts +0 -644
  181. package/src/operations/labAccounts.ts +0 -613
  182. package/src/operations/providerOperations.ts +0 -123
@@ -1,6 +1,6 @@
1
1
  /*
2
- * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Licensed under the MIT License. See License.txt in the project root for license information.
2
+ * Copyright (c) Microsoft Corporation.
3
+ * Licensed under the MIT License.
4
4
  *
5
5
  * Code generated by Microsoft (R) AutoRest Code Generator.
6
6
  * Changes may cause incorrect behavior and will be lost if the code is regenerated.
@@ -12,1573 +12,1386 @@ import * as msRest from "@azure/ms-rest-js";
12
12
  export { BaseResource, CloudError };
13
13
 
14
14
  /**
15
- * Payload for Add Users operation on a Lab.
15
+ * Base tracked resource type for all PATCH updates.
16
16
  */
17
- export interface AddUsersPayload {
17
+ export interface TrackedResourceUpdate {
18
18
  /**
19
- * List of user emails addresses to add to the lab.
19
+ * Resource tags.
20
20
  */
21
- emailAddresses: string[];
21
+ tags?: string[];
22
22
  }
23
23
 
24
24
  /**
25
- * Creation parameters for Reference Vm
25
+ * Profile for how to handle shutting down virtual machines.
26
26
  */
27
- export interface ReferenceVmCreationParameters {
27
+ export interface AutoShutdownProfile {
28
28
  /**
29
- * The username of the virtual machine
29
+ * Whether shutdown on disconnect is enabled. Possible values include: 'Enabled', 'Disabled'
30
30
  */
31
- userName: string;
31
+ shutdownOnDisconnect?: EnableState;
32
32
  /**
33
- * The password of the virtual machine.
33
+ * Whether a VM will get shutdown when it hasn't been connected to after a period of time.
34
+ * Possible values include: 'Enabled', 'Disabled'
34
35
  */
35
- password: string;
36
- }
37
-
38
- /**
39
- * Represents resource specific settings
40
- */
41
- export interface ResourceSettingCreationParameters {
42
- /**
43
- * The location where the virtual machine will live
44
- */
45
- location?: string;
36
+ shutdownWhenNotConnected?: EnableState;
46
37
  /**
47
- * The name of the resource setting
38
+ * Whether a VM will get shutdown when it has idled for a period of time. Possible values
39
+ * include: 'None', 'UserAbsence', 'LowUsage'
48
40
  */
49
- name?: string;
41
+ shutdownOnIdle?: ShutdownOnIdleMode;
50
42
  /**
51
- * The resource id of the gallery image used for creating the virtual machine
43
+ * The amount of time a VM will stay running after a user disconnects if this behavior is
44
+ * enabled.
52
45
  */
53
- galleryImageResourceId: string;
46
+ disconnectDelay?: string;
54
47
  /**
55
- * The size of the virtual machine. Possible values include: 'Basic', 'Standard', 'Performance'
48
+ * The amount of time a VM will stay running before it is shutdown if no connection is made and
49
+ * this behavior is enabled.
56
50
  */
57
- size?: ManagedLabVmSize;
51
+ noConnectDelay?: string;
58
52
  /**
59
- * Creation parameters for Reference Vm
53
+ * The amount of time a VM will idle before it is shutdown if this behavior is enabled.
60
54
  */
61
- referenceVmCreationParameters: ReferenceVmCreationParameters;
55
+ idleDelay?: string;
62
56
  }
63
57
 
64
58
  /**
65
- * Settings related to creating an environment setting
59
+ * Connection profile for how users connect to lab virtual machines.
66
60
  */
67
- export interface EnvironmentSettingCreationParameters {
61
+ export interface ConnectionProfile {
62
+ /**
63
+ * The enabled access level for Web Access over SSH. Possible values include: 'Public',
64
+ * 'Private', 'None'
65
+ */
66
+ webSshAccess?: ConnectionType;
67
+ /**
68
+ * The enabled access level for Web Access over RDP. Possible values include: 'Public',
69
+ * 'Private', 'None'
70
+ */
71
+ webRdpAccess?: ConnectionType;
72
+ /**
73
+ * The enabled access level for Client Access over SSH. Possible values include: 'Public',
74
+ * 'Private', 'None'
75
+ */
76
+ clientSshAccess?: ConnectionType;
68
77
  /**
69
- * The resource specific settings
78
+ * The enabled access level for Client Access over RDP. Possible values include: 'Public',
79
+ * 'Private', 'None'
70
80
  */
71
- resourceSettingCreationParameters: ResourceSettingCreationParameters;
81
+ clientRdpAccess?: ConnectionType;
72
82
  }
73
83
 
74
84
  /**
75
- * Settings related to creating a lab
85
+ * The resource management error additional info.
76
86
  */
77
- export interface LabCreationParameters {
87
+ export interface ErrorAdditionalInfo {
88
+ /**
89
+ * The additional info type.
90
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
91
+ */
92
+ readonly type?: string;
78
93
  /**
79
- * Maximum number of users allowed in the lab.
94
+ * The additional info.
95
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
80
96
  */
81
- maxUsersInLab?: number;
97
+ readonly info?: any;
82
98
  }
83
99
 
84
100
  /**
85
- * Properties for creating a managed lab and a default environment setting
101
+ * The error detail.
86
102
  */
87
- export interface CreateLabProperties {
103
+ export interface ErrorDetail {
88
104
  /**
89
- * Settings related to creating an environment setting
105
+ * The error code.
106
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
90
107
  */
91
- environmentSettingCreationParameters?: EnvironmentSettingCreationParameters;
108
+ readonly code?: string;
92
109
  /**
93
- * Settings related to creating a lab
110
+ * The error message.
111
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
94
112
  */
95
- labCreationParameters: LabCreationParameters;
113
+ readonly message?: string;
96
114
  /**
97
- * The name of the resource
115
+ * The error target.
116
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
98
117
  */
99
- name: string;
118
+ readonly target?: string;
100
119
  /**
101
- * The location of the resource
120
+ * The error details.
121
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
102
122
  */
103
- location?: string;
123
+ readonly details?: ErrorDetail[];
104
124
  /**
105
- * The tags of the resource.
125
+ * The error additional info.
126
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
106
127
  */
107
- tags?: { [propertyName: string]: string };
128
+ readonly additionalInfo?: ErrorAdditionalInfo[];
108
129
  }
109
130
 
110
131
  /**
111
- * Represents a VM and the setting Id it was created for.
132
+ * Common error response for all Azure Resource Manager APIs to return error details for failed
133
+ * operations. (This also follows the OData error response format.).
134
+ * @summary Error response
112
135
  */
113
- export interface ResourceSet {
136
+ export interface ErrorResponse {
114
137
  /**
115
- * VM resource Id for the environment
138
+ * The error object.
116
139
  */
117
- vmResourceId?: string;
118
- /**
119
- * resourceSettingId for the environment
120
- */
121
- resourceSettingId?: string;
140
+ error?: ErrorDetail;
122
141
  }
123
142
 
124
143
  /**
125
- * Network details of the environment
144
+ * Localized display information for this particular operation.
126
145
  */
127
- export interface NetworkInterface {
146
+ export interface OperationDisplay {
128
147
  /**
129
- * PrivateIp address of the Compute VM
148
+ * The localized friendly form of the resource provider name, e.g. "Microsoft Monitoring
149
+ * Insights" or "Microsoft Compute".
130
150
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
131
151
  */
132
- readonly privateIpAddress?: string;
152
+ readonly provider?: string;
133
153
  /**
134
- * Connection information for Linux
154
+ * The localized friendly name of the resource type related to this operation. E.g. "Virtual
155
+ * Machines" or "Job Schedule Collections".
135
156
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
136
157
  */
137
- readonly sshAuthority?: string;
158
+ readonly resource?: string;
138
159
  /**
139
- * Connection information for Windows
160
+ * The concise, localized friendly name for the operation; suitable for dropdowns. E.g. "Create
161
+ * or Update Virtual Machine", "Restart Virtual Machine".
140
162
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
141
163
  */
142
- readonly rdpAuthority?: string;
164
+ readonly operation?: string;
143
165
  /**
144
- * Username of the VM
166
+ * The short, localized friendly description of the operation; suitable for tool tips and
167
+ * detailed views.
145
168
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
146
169
  */
147
- readonly username?: string;
170
+ readonly description?: string;
148
171
  }
149
172
 
150
173
  /**
151
- * Details of the status of an operation.
174
+ * Details of a REST API operation, returned from the Resource Provider Operations API
175
+ * @summary REST API Operation
152
176
  */
153
- export interface LatestOperationResult {
177
+ export interface Operation {
154
178
  /**
155
- * The current status of the operation.
179
+ * The name of the operation, as per Resource-Based Access Control (RBAC). Examples:
180
+ * "Microsoft.Compute/virtualMachines/write", "Microsoft.Compute/virtualMachines/capture/action"
156
181
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
157
182
  */
158
- readonly status?: string;
159
- /**
160
- * Error code on failure.
161
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
162
- */
163
- readonly errorCode?: string;
183
+ readonly name?: string;
164
184
  /**
165
- * The error message.
185
+ * Whether the operation applies to data-plane. This is "true" for data-plane operations and
186
+ * "false" for ARM/control-plane operations.
166
187
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
167
188
  */
168
- readonly errorMessage?: string;
189
+ readonly isDataAction?: boolean;
169
190
  /**
170
- * Request URI of the operation.
171
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
191
+ * Localized display information for this particular operation.
172
192
  */
173
- readonly requestUri?: string;
193
+ display?: OperationDisplay;
174
194
  /**
175
- * The HttpMethod - PUT/POST/DELETE for the operation.
195
+ * The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit
196
+ * logs UX. Default value is "user,system". Possible values include: 'user', 'system',
197
+ * 'user,system'
176
198
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
177
199
  */
178
- readonly httpMethod?: string;
200
+ readonly origin?: Origin;
179
201
  /**
180
- * The URL to use to check long-running operation status
202
+ * Enum. Indicates the action type. "Internal" refers to actions that are for internal only APIs.
203
+ * Possible values include: 'Internal'
181
204
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
182
205
  */
183
- readonly operationUrl?: string;
206
+ readonly actionType?: ActionType;
184
207
  }
185
208
 
186
209
  /**
187
- * An Azure resource.
210
+ * A long running operation result
188
211
  */
189
- export interface Resource extends BaseResource {
212
+ export interface OperationResult {
190
213
  /**
191
- * The identifier of the resource.
214
+ * Fully qualified resource ID for the resource. Ex -
215
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
192
216
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
193
217
  */
194
218
  readonly id?: string;
195
219
  /**
196
- * The name of the resource.
220
+ * The name of the resource
197
221
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
198
222
  */
199
223
  readonly name?: string;
200
224
  /**
201
- * The type of the resource.
202
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
225
+ * The operation status. Possible values include: 'NotStarted', 'InProgress', 'Succeeded',
226
+ * 'Failed', 'Canceled'
203
227
  */
204
- readonly type?: string;
228
+ status: OperationStatus;
205
229
  /**
206
- * The location of the resource.
230
+ * Start time
207
231
  */
208
- location?: string;
232
+ startTime?: Date;
209
233
  /**
210
- * The tags of the resource.
234
+ * End time
211
235
  */
212
- tags?: { [propertyName: string]: string };
213
- }
214
-
215
- /**
216
- * Represents an environment instance
217
- */
218
- export interface Environment extends Resource {
219
- /**
220
- * The set of a VM and the setting id it was created for
221
- */
222
- resourceSets?: ResourceSet;
223
- /**
224
- * The AAD object Id of the user who has claimed the environment
225
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
226
- */
227
- readonly claimedByUserObjectId?: string;
228
- /**
229
- * The user principal Id of the user who has claimed the environment
230
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
231
- */
232
- readonly claimedByUserPrincipalId?: string;
236
+ endTime?: Date;
233
237
  /**
234
- * The name or email address of the user who has claimed the environment
235
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
238
+ * Percent completion
236
239
  */
237
- readonly claimedByUserName?: string;
240
+ percentComplete?: number;
238
241
  /**
239
- * Is the environment claimed or not
240
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
242
+ * The error for a failure if the operation failed.
241
243
  */
242
- readonly isClaimed?: boolean;
244
+ error?: ErrorDetail;
245
+ }
246
+
247
+ /**
248
+ * Metadata pertaining to creation and last modification of the resource.
249
+ */
250
+ export interface SystemData {
243
251
  /**
244
- * Last known power state of the environment
245
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
252
+ * The identity that created the resource.
246
253
  */
247
- readonly lastKnownPowerState?: string;
254
+ createdBy?: string;
248
255
  /**
249
- * Network details of the environment
250
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
256
+ * The type of identity that created the resource. Possible values include: 'User',
257
+ * 'Application', 'ManagedIdentity', 'Key'
251
258
  */
252
- readonly networkInterface?: NetworkInterface;
259
+ createdByType?: CreatedByType;
253
260
  /**
254
- * How long the environment has been used by a lab user
255
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
261
+ * The timestamp of resource creation (UTC).
256
262
  */
257
- readonly totalUsage?: string;
263
+ createdAt?: Date;
258
264
  /**
259
- * When the password was last reset on the environment.
260
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
265
+ * The identity that last modified the resource.
261
266
  */
262
- readonly passwordLastReset?: Date;
267
+ lastModifiedBy?: string;
263
268
  /**
264
- * The provisioning status of the resource.
269
+ * The type of identity that last modified the resource. Possible values include: 'User',
270
+ * 'Application', 'ManagedIdentity', 'Key'
265
271
  */
266
- provisioningState?: string;
272
+ lastModifiedByType?: CreatedByType;
267
273
  /**
268
- * The unique immutable identifier of a resource (Guid).
274
+ * The timestamp of resource last modification (UTC)
269
275
  */
270
- uniqueIdentifier?: string;
271
- /**
272
- * The details of the latest operation. ex: status, error
273
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
274
- */
275
- readonly latestOperationResult?: LatestOperationResult;
276
+ lastModifiedAt?: Date;
276
277
  }
277
278
 
278
279
  /**
279
- * Details of the backing virtual machine.
280
+ * Common fields that are returned in the response for all Azure Resource Manager resources
281
+ * @summary Resource
280
282
  */
281
- export interface VirtualMachineDetails {
282
- /**
283
- * Provisioning state of the Dtl VM
284
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
285
- */
286
- readonly provisioningState?: string;
283
+ export interface Resource extends BaseResource {
287
284
  /**
288
- * Connection information for Windows
285
+ * Fully qualified resource ID for the resource. Ex -
286
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
289
287
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
290
288
  */
291
- readonly rdpAuthority?: string;
289
+ readonly id?: string;
292
290
  /**
293
- * Connection information for Linux
291
+ * The name of the resource
294
292
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
295
293
  */
296
- readonly sshAuthority?: string;
294
+ readonly name?: string;
297
295
  /**
298
- * PrivateIp address of the compute VM
296
+ * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
297
+ * "Microsoft.Storage/storageAccounts"
299
298
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
300
299
  */
301
- readonly privateIpAddress?: string;
300
+ readonly type?: string;
301
+ }
302
+
303
+ /**
304
+ * The resource model definition for an Azure Resource Manager tracked top level resource which has
305
+ * 'tags' and a 'location'
306
+ * @summary Tracked Resource
307
+ */
308
+ export interface TrackedResource extends Resource {
302
309
  /**
303
- * Compute VM login user name
304
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
310
+ * Resource tags.
305
311
  */
306
- readonly userName?: string;
312
+ tags?: { [propertyName: string]: string };
307
313
  /**
308
- * Last known compute power state captured in DTL
309
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
314
+ * The geo-location where the resource lives
310
315
  */
311
- readonly lastKnownPowerState?: string;
316
+ location: string;
312
317
  }
313
318
 
314
319
  /**
315
- * This represents the details about a User's environment and its state.
320
+ * Lab Plans act as a permission container for creating labs via labs.azure.com. Additionally, they
321
+ * can provide a set of default configurations that will apply at the time of creating a lab, but
322
+ * these defaults can still be overwritten.
316
323
  */
317
- export interface EnvironmentDetails {
324
+ export interface LabPlan extends TrackedResource {
318
325
  /**
319
- * Name of the Environment
326
+ * Metadata pertaining to creation and last modification of the lab plan.
320
327
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
321
328
  */
322
- readonly name?: string;
329
+ readonly systemData?: SystemData;
323
330
  /**
324
- * Description of the Environment
325
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
331
+ * The default lab connection profile. This can be changed on a lab resource and only provides a
332
+ * default profile.
326
333
  */
327
- readonly description?: string;
334
+ defaultConnectionProfile?: ConnectionProfile;
328
335
  /**
329
- * Resource Id of the environment
330
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
336
+ * The default lab shutdown profile. This can be changed on a lab resource and only provides a
337
+ * default profile.
331
338
  */
332
- readonly id?: string;
339
+ defaultAutoShutdownProfile?: AutoShutdownProfile;
333
340
  /**
334
- * The provisioning state of the environment. This also includes LabIsFull and NotYetProvisioned
335
- * status.
336
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
341
+ * The lab plan network profile. To enforce lab network policies they must be defined here and
342
+ * cannot be changed when there are existing labs associated with this lab plan.
337
343
  */
338
- readonly provisioningState?: string;
344
+ defaultNetworkProfile?: LabPlanNetworkProfile;
339
345
  /**
340
- * Details of backing DTL virtual machine with compute and network details.
341
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
346
+ * The allowed regions for the lab creator to use when creating labs using this lab plan.
342
347
  */
343
- readonly virtualMachineDetails?: VirtualMachineDetails;
348
+ allowedRegions?: string[];
344
349
  /**
345
- * The details of the latest operation. ex: status, error
346
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
350
+ * Resource ID of the Shared Image Gallery attached to this lab plan. When saving a lab template
351
+ * virtual machine image it will be persisted in this gallery. Shared images from the gallery can
352
+ * be made available to use when creating new labs.
347
353
  */
348
- readonly latestOperationResult?: LatestOperationResult;
354
+ sharedGalleryId?: string;
349
355
  /**
350
- * Publishing state of the environment setting Possible values are Creating, Created, Failed
351
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
356
+ * Support contact information and instructions for users of the lab plan. This information is
357
+ * displayed to lab owners and virtual machine users for all labs in the lab plan.
352
358
  */
353
- readonly environmentState?: string;
359
+ supportInfo?: SupportInfo;
354
360
  /**
355
- * How long the environment has been used by a lab user
356
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
361
+ * Base Url of the lms instance this lab plan can link lab rosters against.
357
362
  */
358
- readonly totalUsage?: string;
363
+ linkedLmsInstance?: string;
359
364
  /**
360
- * When the password was last reset on the environment.
365
+ * Current provisioning state of the lab plan. Possible values include: 'Creating', 'Updating',
366
+ * 'Deleting', 'Succeeded', 'Failed', 'Locked'
361
367
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
362
368
  */
363
- readonly passwordLastReset?: Date;
369
+ readonly provisioningState?: ProvisioningState;
364
370
  }
365
371
 
366
372
  /**
367
- * Represents a VM and the setting Id it was created for.
373
+ * Profile for how to handle networking for Lab Plans.
368
374
  */
369
- export interface ResourceSetFragment {
375
+ export interface LabPlanNetworkProfile {
370
376
  /**
371
- * VM resource Id for the environment
377
+ * The external subnet resource id
372
378
  */
373
- vmResourceId?: string;
374
- /**
375
- * resourceSettingId for the environment
376
- */
377
- resourceSettingId?: string;
379
+ subnetId?: string;
378
380
  }
379
381
 
380
382
  /**
381
- * Represents an environment instance
383
+ * Support contact information and instructions.
382
384
  */
383
- export interface EnvironmentFragment extends Resource {
385
+ export interface SupportInfo {
384
386
  /**
385
- * The set of a VM and the setting id it was created for
387
+ * Support web address.
386
388
  */
387
- resourceSets?: ResourceSetFragment;
389
+ url?: string;
388
390
  /**
389
- * The provisioning status of the resource.
391
+ * Support contact email address.
390
392
  */
391
- provisioningState?: string;
393
+ email?: string;
392
394
  /**
393
- * The unique immutable identifier of a resource (Guid).
395
+ * Support contact phone number.
394
396
  */
395
- uniqueIdentifier?: string;
396
- }
397
-
398
- /**
399
- * Represents payload for any Environment operations like get, start, stop, connect
400
- */
401
- export interface EnvironmentOperationsPayload {
397
+ phone?: string;
402
398
  /**
403
- * The resourceId of the environment
399
+ * Support instructions.
404
400
  */
405
- environmentId: string;
401
+ instructions?: string;
406
402
  }
407
403
 
408
404
  /**
409
- * Details about the state of the reference virtual machine.
405
+ * Contains lab configuration and default settings. This variant is used for PATCH.
410
406
  */
411
- export interface VmStateDetails {
407
+ export interface LabPlanUpdate extends TrackedResourceUpdate {
412
408
  /**
413
- * The RdpAuthority property is a server DNS host name or IP address followed by the service port
414
- * number for RDP (Remote Desktop Protocol).
415
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
409
+ * The default lab connection profile. This can be changed on a lab resource and only provides a
410
+ * default profile.
416
411
  */
417
- readonly rdpAuthority?: string;
412
+ defaultConnectionProfile?: ConnectionProfile;
418
413
  /**
419
- * The SshAuthority property is a server DNS host name or IP address followed by the service port
420
- * number for SSH.
421
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
414
+ * The default lab shutdown profile. This can be changed on a lab resource and only provides a
415
+ * default profile.
422
416
  */
423
- readonly sshAuthority?: string;
417
+ defaultAutoShutdownProfile?: AutoShutdownProfile;
424
418
  /**
425
- * The power state of the reference virtual machine.
426
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
419
+ * The lab plan network profile. To enforce lab network policies they must be defined here and
420
+ * cannot be changed when there are existing labs associated with this lab plan.
427
421
  */
428
- readonly powerState?: string;
422
+ defaultNetworkProfile?: LabPlanNetworkProfile;
429
423
  /**
430
- * Last known compute power state captured in DTL
431
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
424
+ * The allowed regions for the lab creator to use when creating labs using this lab plan.
432
425
  */
433
- readonly lastKnownPowerState?: string;
426
+ allowedRegions?: string[];
427
+ /**
428
+ * Resource ID of the Shared Image Gallery attached to this lab plan. When saving a lab template
429
+ * virtual machine image it will be persisted in this gallery. Shared images from the gallery can
430
+ * be made available to use when creating new labs.
431
+ */
432
+ sharedGalleryId?: string;
433
+ /**
434
+ * Support contact information and instructions for users of the lab plan. This information is
435
+ * displayed to lab owners and virtual machine users for all labs in the lab plan.
436
+ */
437
+ supportInfo?: SupportInfo;
438
+ /**
439
+ * Base Url of the lms instance this lab plan can link lab rosters against.
440
+ */
441
+ linkedLmsInstance?: string;
434
442
  }
435
443
 
436
444
  /**
437
- * Details of a Reference Vm
445
+ * Body for the save image POST
438
446
  */
439
- export interface ReferenceVm {
447
+ export interface SaveImageBody {
440
448
  /**
441
- * The username of the virtual machine
449
+ * The name for the image we create.
442
450
  */
443
- userName: string;
444
- /**
445
- * The password of the virtual machine. This will be set to null in GET resource API
446
- */
447
- password?: string;
451
+ name?: string;
448
452
  /**
449
- * The state details for the reference virtual machine.
450
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
453
+ * The ID of the lab virtual machine you want to save an image from.
451
454
  */
452
- readonly vmStateDetails?: VmStateDetails;
455
+ labVirtualMachineId?: string;
456
+ }
457
+
458
+ /**
459
+ * The resource model definition for a Azure Resource Manager proxy resource. It will not have tags
460
+ * and a location
461
+ * @summary Proxy Resource
462
+ */
463
+ export interface ProxyResource extends Resource {
464
+ }
465
+
466
+ /**
467
+ * The resource model definition for an Azure Resource Manager resource with an etag.
468
+ * @summary Entity Resource
469
+ */
470
+ export interface AzureEntityResource extends Resource {
453
471
  /**
454
- * VM resource Id for the environment
472
+ * Resource Etag.
455
473
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
456
474
  */
457
- readonly vmResourceId?: string;
475
+ readonly etag?: string;
458
476
  }
459
477
 
460
478
  /**
461
- * Represents resource specific settings
479
+ * Lab services virtual machine image
462
480
  */
463
- export interface ResourceSettings {
481
+ export interface Image extends ProxyResource {
464
482
  /**
465
- * The unique id of the resource setting
483
+ * Metadata pertaining to creation and last modification of the image.
466
484
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
467
485
  */
468
- readonly id?: string;
486
+ readonly systemData?: SystemData;
469
487
  /**
470
- * The resource id of the gallery image used for creating the virtual machine
488
+ * Is the image enabled. Possible values include: 'Enabled', 'Disabled'
471
489
  */
472
- galleryImageResourceId?: string;
490
+ enabledState?: EnableState;
473
491
  /**
474
- * The name of the image used to created the environment setting
492
+ * Current provisioning state of the image. Possible values include: 'Creating', 'Updating',
493
+ * 'Deleting', 'Succeeded', 'Failed', 'Locked'
475
494
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
476
495
  */
477
- readonly imageName?: string;
496
+ readonly provisioningState?: ProvisioningState;
478
497
  /**
479
- * The size of the virtual machine. Possible values include: 'Basic', 'Standard', 'Performance'
498
+ * The image display name.
499
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
480
500
  */
481
- size?: ManagedLabVmSize;
501
+ readonly displayName?: string;
482
502
  /**
483
- * The translated compute cores of the virtual machine
503
+ * A description of the image.
484
504
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
485
505
  */
486
- readonly cores?: number;
506
+ readonly description?: string;
487
507
  /**
488
- * Details specific to Reference Vm
508
+ * URL of the image icon.
509
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
489
510
  */
490
- referenceVm: ReferenceVm;
491
- }
492
-
493
- /**
494
- * Represents settings of an environment, from which environment instances would be created
495
- */
496
- export interface EnvironmentSetting extends Resource {
511
+ readonly iconUrl?: string;
497
512
  /**
498
- * Describes the readiness of this environment setting. Possible values include: 'Draft',
499
- * 'Publishing', 'Published', 'PublishFailed', 'Scaling'
513
+ * The image author.
500
514
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
501
515
  */
502
- readonly publishingState?: PublishingState;
516
+ readonly author?: string;
503
517
  /**
504
- * Describes the user's progress in configuring their environment setting. Possible values
505
- * include: 'NotApplicable', 'Completed'
518
+ * The OS Type of the image. Possible values include: 'Windows', 'Linux'
519
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
506
520
  */
507
- configurationState?: ConfigurationState;
521
+ readonly osType?: OsType;
508
522
  /**
509
- * Describes the environment and its resource settings
523
+ * The ID of marketplace plan associated with the image (optional).
524
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
510
525
  */
511
- description?: string;
526
+ readonly plan?: string;
527
+ /**
528
+ * The status of image terms of use (enabled = accepted, disabled = not accepted). Possible
529
+ * values include: 'Enabled', 'Disabled'
530
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
531
+ */
532
+ readonly termsStatus?: EnableState;
512
533
  /**
513
- * Brief title describing the environment and its resource settings
534
+ * The ID of an offer associated with the image.
535
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
514
536
  */
515
- title?: string;
537
+ readonly offer?: string;
516
538
  /**
517
- * The resource specific settings
539
+ * The ID of the publisher of the image.
540
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
518
541
  */
519
- resourceSettings: ResourceSettings;
542
+ readonly publisher?: string;
520
543
  /**
521
- * Time when the template VM was last changed.
544
+ * The image SKU.
522
545
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
523
546
  */
524
- readonly lastChanged?: Date;
547
+ readonly sku?: string;
525
548
  /**
526
- * Time when the template VM was last sent for publishing.
549
+ * The image version.
527
550
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
528
551
  */
529
- readonly lastPublished?: Date;
552
+ readonly version?: string;
530
553
  /**
531
- * The provisioning status of the resource.
554
+ * The ID for the image in the shared gallery.
555
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
532
556
  */
533
- provisioningState?: string;
557
+ readonly sharedGalleryId?: string;
534
558
  /**
535
- * The unique immutable identifier of a resource (Guid).
559
+ * The available regions of the image in the shared gallery.
536
560
  */
537
- uniqueIdentifier?: string;
561
+ availableRegions?: string[];
538
562
  /**
539
- * The details of the latest operation. ex: status, error
563
+ * The OS State of the image. Possible values include: 'Generalized', 'Specialized'
540
564
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
541
565
  */
542
- readonly latestOperationResult?: LatestOperationResult;
566
+ readonly osState?: OsState;
543
567
  }
544
568
 
545
569
  /**
546
- * Details of a Reference Vm
570
+ * Lab services virtual machine image for updates.
547
571
  */
548
- export interface ReferenceVmFragment {
572
+ export interface ImageUpdate {
549
573
  /**
550
- * The username of the virtual machine
574
+ * Is the image enabled. Possible values include: 'Enabled', 'Disabled'
551
575
  */
552
- userName?: string;
553
- /**
554
- * The password of the virtual machine. This will be set to null in GET resource API
555
- */
556
- password?: string;
576
+ enabledState?: EnableState;
557
577
  }
558
578
 
559
579
  /**
560
- * Represents resource specific settings
580
+ * Profile for how to handle networking for Labs.
561
581
  */
562
- export interface ResourceSettingsFragment {
582
+ export interface LabNetworkProfile {
563
583
  /**
564
- * The resource id of the gallery image used for creating the virtual machine
584
+ * The external subnet resource id
565
585
  */
566
- galleryImageResourceId?: string;
586
+ subnetId?: string;
567
587
  /**
568
- * The size of the virtual machine. Possible values include: 'Basic', 'Standard', 'Performance'
588
+ * The external load balancer resource id
569
589
  */
570
- size?: ManagedLabVmSize;
590
+ loadBalancerId?: string;
571
591
  /**
572
- * Details specific to Reference Vm
592
+ * The external public IP resource id
573
593
  */
574
- referenceVm?: ReferenceVmFragment;
594
+ publicIpId?: string;
575
595
  }
576
596
 
577
597
  /**
578
- * Represents settings of an environment, from which environment instances would be created
598
+ * The lab resource.
579
599
  */
580
- export interface EnvironmentSettingFragment extends Resource {
600
+ export interface Lab extends TrackedResource {
581
601
  /**
582
- * Describes the user's progress in configuring their environment setting. Possible values
583
- * include: 'NotApplicable', 'Completed'
602
+ * Metadata pertaining to creation and last modification of the lab.
603
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
584
604
  */
585
- configurationState?: ConfigurationState;
605
+ readonly systemData?: SystemData;
586
606
  /**
587
- * Describes the environment and its resource settings
607
+ * The resource auto shutdown configuration for the lab. This controls whether actions are taken
608
+ * on resources that are sitting idle.
588
609
  */
589
- description?: string;
610
+ autoShutdownProfile?: AutoShutdownProfile;
590
611
  /**
591
- * Brief title describing the environment and its resource settings
612
+ * The connection profile for the lab. This controls settings such as web access to lab resources
613
+ * or whether RDP or SSH ports are open.
592
614
  */
593
- title?: string;
615
+ connectionProfile?: ConnectionProfile;
594
616
  /**
595
- * The resource specific settings
617
+ * The profile used for creating lab virtual machines.
596
618
  */
597
- resourceSettings?: ResourceSettingsFragment;
619
+ virtualMachineProfile?: VirtualMachineProfile;
598
620
  /**
599
- * The provisioning status of the resource.
621
+ * The lab security profile.
600
622
  */
601
- provisioningState?: string;
623
+ securityProfile?: SecurityProfile;
602
624
  /**
603
- * The unique immutable identifier of a resource (Guid).
625
+ * The lab user list management profile.
604
626
  */
605
- uniqueIdentifier?: string;
606
- }
607
-
608
- /**
609
- * Contains detailed information about a size
610
- */
611
- export interface SizeInfo {
627
+ rosterProfile?: RosterProfile;
612
628
  /**
613
- * Represents the actual compute size, e.g. Standard_A2_v2.
629
+ * The ID of the lab plan. Used during resource creation to provide defaults and acts as a
630
+ * permission container when creating a lab via labs.azure.com. Setting a labPlanId on an
631
+ * existing lab provides organization..
614
632
  */
615
- computeSize?: string;
633
+ labPlanId?: string;
616
634
  /**
617
- * The pay-as-you-go price per hour this size will cost. It does not include discounts and may
618
- * not reflect the actual price the size will cost.
635
+ * The title of the lab.
619
636
  */
620
- price?: number;
637
+ title?: string;
621
638
  /**
622
- * The number of cores a VM of this size has.
639
+ * The description of the lab.
623
640
  */
624
- numberOfCores?: number;
641
+ description?: string;
625
642
  /**
626
- * The amount of memory available (in GB).
643
+ * Current provisioning state of the lab. Possible values include: 'Creating', 'Updating',
644
+ * 'Deleting', 'Succeeded', 'Failed', 'Locked'
645
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
646
+ */
647
+ readonly provisioningState?: ProvisioningState;
648
+ /**
649
+ * The network profile for the lab, typically applied via a lab plan. This profile cannot be
650
+ * modified once a lab has been created.
651
+ */
652
+ networkProfile?: LabNetworkProfile;
653
+ /**
654
+ * The lab state. Possible values include: 'Draft', 'Publishing', 'Scaling', 'Syncing',
655
+ * 'Published'
656
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
627
657
  */
628
- memory?: number;
658
+ readonly state?: LabState;
629
659
  }
630
660
 
631
661
  /**
632
- * Represents a size category supported by this Lab Account (small, medium or large)
662
+ * Image reference information. Used in the virtual machine profile.
633
663
  */
634
- export interface EnvironmentSize {
664
+ export interface ImageReference {
635
665
  /**
636
- * The size category. Possible values include: 'Basic', 'Standard', 'Performance'
666
+ * Image resource ID
637
667
  */
638
- name?: ManagedLabVmSize;
668
+ id?: string;
639
669
  /**
640
- * Represents a set of compute sizes that can serve this given size type
670
+ * The image offer if applicable.
641
671
  */
642
- vmSizes?: SizeInfo[];
672
+ offer?: string;
643
673
  /**
644
- * The pay-as-you-go dollar price per hour this size will cost. It does not include discounts and
645
- * may not reflect the actual price the size will cost. This is the maximum price of all prices
646
- * within this tier.
647
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
674
+ * The image publisher
648
675
  */
649
- readonly maxPrice?: number;
676
+ publisher?: string;
650
677
  /**
651
- * The number of cores a VM of this size has. This is the minimum number of cores within this
652
- * tier.
653
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
678
+ * The image SKU
654
679
  */
655
- readonly minNumberOfCores?: number;
680
+ sku?: string;
656
681
  /**
657
- * The amount of memory available (in GB). This is the minimum amount of memory within this tier.
682
+ * The image version specified on creation.
683
+ */
684
+ version?: string;
685
+ /**
686
+ * The actual version of the image after use.
658
687
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
659
688
  */
660
- readonly minMemory?: number;
689
+ readonly exactVersion?: string;
661
690
  }
662
691
 
663
692
  /**
664
- * Contains detailed information about a size
693
+ * The resource model definition representing SKU
665
694
  */
666
- export interface SizeInfoFragment {
695
+ export interface Sku {
696
+ /**
697
+ * The name of the SKU. Ex - P3. It is typically a letter+number code
698
+ */
699
+ name: string;
667
700
  /**
668
- * Represents the actual compute size, e.g. Standard_A2_v2.
701
+ * This field is required to be implemented by the Resource Provider if the service has more than
702
+ * one tier, but is not required on a PUT. Possible values include: 'Free', 'Basic', 'Standard',
703
+ * 'Premium'
669
704
  */
670
- computeSize?: string;
705
+ tier?: SkuTier;
671
706
  /**
672
- * The pay-as-you-go price per hour this size will cost. It does not include discounts and may
673
- * not reflect the actual price the size will cost.
707
+ * The SKU size. When the name field is the combination of tier and some other value, this would
708
+ * be the standalone code.
674
709
  */
675
- price?: number;
710
+ size?: string;
676
711
  /**
677
- * The number of cores a VM of this size has.
712
+ * If the service has different generations of hardware, for the same SKU, then that can be
713
+ * captured here.
678
714
  */
679
- numberOfCores?: number;
715
+ family?: string;
680
716
  /**
681
- * The amount of memory available (in GB).
717
+ * If the SKU supports scale out/in then the capacity integer should be included. If scale out/in
718
+ * is not possible for the resource this may be omitted.
682
719
  */
683
- memory?: number;
720
+ capacity?: number;
684
721
  }
685
722
 
686
723
  /**
687
- * Represents a size category supported by this Lab Account (small, medium or large)
724
+ * The additional capabilities for a lab VM.
688
725
  */
689
- export interface EnvironmentSizeFragment {
726
+ export interface VirtualMachineAdditionalCapabilities {
690
727
  /**
691
- * The size category. Possible values include: 'Basic', 'Standard', 'Performance'
728
+ * Flag to pre-install dedicated GPU drivers. Possible values include: 'Enabled', 'Disabled'
692
729
  */
693
- name?: ManagedLabVmSize;
694
- /**
695
- * Represents a set of compute sizes that can serve this given size type
696
- */
697
- vmSizes?: SizeInfoFragment[];
730
+ installGpuDrivers?: EnableState;
698
731
  }
699
732
 
700
733
  /**
701
- * The reference information for an Azure Marketplace image.
734
+ * Credentials for a user on a lab VM.
702
735
  */
703
- export interface GalleryImageReference {
704
- /**
705
- * The offer of the gallery image.
706
- */
707
- offer?: string;
736
+ export interface Credentials {
708
737
  /**
709
- * The publisher of the gallery image.
738
+ * The username to use when signing in to lab VMs.
710
739
  */
711
- publisher?: string;
712
- /**
713
- * The SKU of the gallery image.
714
- */
715
- sku?: string;
716
- /**
717
- * The OS type of the gallery image.
718
- */
719
- osType?: string;
740
+ username: string;
720
741
  /**
721
- * The version of the gallery image.
742
+ * The password for the user. This is required for the TemplateVM createOption.
722
743
  */
723
- version?: string;
744
+ password?: string;
724
745
  }
725
746
 
726
747
  /**
727
- * Represents an image from the Azure Marketplace
748
+ * The base virtual machine configuration for a lab.
728
749
  */
729
- export interface GalleryImage extends Resource {
730
- /**
731
- * The author of the gallery image.
732
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
733
- */
734
- readonly author?: string;
750
+ export interface VirtualMachineProfile {
735
751
  /**
736
- * The creation date of the gallery image.
737
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
752
+ * Indicates what lab virtual machines are created from. Possible values include: 'Image',
753
+ * 'TemplateVM'
738
754
  */
739
- readonly createdDate?: Date;
755
+ createOption: CreateOption;
740
756
  /**
741
- * The description of the gallery image.
742
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
757
+ * The image configuration for lab virtual machines.
743
758
  */
744
- readonly description?: string;
759
+ imageReference: ImageReference;
745
760
  /**
746
- * The image reference of the gallery image.
761
+ * The OS type of the image. Possible values include: 'Windows', 'Linux'
747
762
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
748
763
  */
749
- readonly imageReference?: GalleryImageReference;
764
+ readonly osType?: OsType;
750
765
  /**
751
- * The icon of the gallery image.
752
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
766
+ * The SKU for the lab. Defines the type of virtual machines used in the lab.
753
767
  */
754
- readonly icon?: string;
768
+ sku: Sku;
755
769
  /**
756
- * Indicates whether this gallery image is enabled.
770
+ * Additional VM capabilities.
757
771
  */
758
- isEnabled?: boolean;
772
+ additionalCapabilities?: VirtualMachineAdditionalCapabilities;
759
773
  /**
760
- * Indicates whether this gallery has been overridden for this lab account
774
+ * The initial quota alloted to each lab user. Must be a time span between 0 and 9999 hours.
761
775
  */
762
- isOverride?: boolean;
776
+ usageQuota: string;
763
777
  /**
764
- * The third party plan that applies to this image
765
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
778
+ * Enabling this option will use the same password for all user VMs. Possible values include:
779
+ * 'Enabled', 'Disabled'
766
780
  */
767
- readonly planId?: string;
781
+ useSharedPassword?: EnableState;
768
782
  /**
769
- * Indicates if the plan has been authorized for programmatic deployment.
783
+ * Credentials for the admin user on the VM.
770
784
  */
771
- isPlanAuthorized?: boolean;
785
+ adminUser: Credentials;
772
786
  /**
773
- * The provisioning status of the resource.
787
+ * Credentials for the non-admin user on the VM, if one exists.
774
788
  */
775
- provisioningState?: string;
789
+ nonAdminUser?: Credentials;
790
+ }
791
+
792
+ /**
793
+ * The lab security profile.
794
+ */
795
+ export interface SecurityProfile {
776
796
  /**
777
- * The unique immutable identifier of a resource (Guid).
797
+ * The registration code for the lab.
798
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
778
799
  */
779
- uniqueIdentifier?: string;
800
+ readonly registrationCode?: string;
780
801
  /**
781
- * The details of the latest operation. ex: status, error
782
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
802
+ * Whether any user or only specified users can register to a lab. Possible values include:
803
+ * 'Enabled', 'Disabled'
783
804
  */
784
- readonly latestOperationResult?: LatestOperationResult;
805
+ openAccess?: EnableState;
785
806
  }
786
807
 
787
808
  /**
788
- * Represents an image from the Azure Marketplace
809
+ * The lab user list management profile.
789
810
  */
790
- export interface GalleryImageFragment extends Resource {
811
+ export interface RosterProfile {
791
812
  /**
792
- * Indicates whether this gallery image is enabled.
813
+ * The AAD group ID which this lab roster is populated from. Having this set enables AAD sync
814
+ * mode.
793
815
  */
794
- isEnabled?: boolean;
816
+ activeDirectoryGroupId?: string;
795
817
  /**
796
- * Indicates whether this gallery has been overridden for this lab account
818
+ * The unique context identifier for the lab in the lms.
797
819
  */
798
- isOverride?: boolean;
820
+ ltiContextId?: string;
799
821
  /**
800
- * Indicates if the plan has been authorized for programmatic deployment.
822
+ * The base URI identifying the lms instance.
801
823
  */
802
- isPlanAuthorized?: boolean;
824
+ lmsInstance?: string;
803
825
  /**
804
- * The provisioning status of the resource.
826
+ * The unique id of the azure lab services tool in the lms.
805
827
  */
806
- provisioningState?: string;
828
+ ltiClientId?: string;
807
829
  /**
808
- * The unique immutable identifier of a resource (Guid).
830
+ * The uri of the names and roles service endpoint on the lms for the class attached to this lab.
809
831
  */
810
- uniqueIdentifier?: string;
832
+ ltiRosterEndpoint?: string;
811
833
  }
812
834
 
813
835
  /**
814
- * The reference information for an Azure Marketplace image.
836
+ * The lab resource for updates.
815
837
  */
816
- export interface GalleryImageReferenceFragment {
838
+ export interface LabUpdate extends TrackedResourceUpdate {
817
839
  /**
818
- * The offer of the gallery image.
840
+ * The resource auto shutdown configuration for the lab. This controls whether actions are taken
841
+ * on resources that are sitting idle.
819
842
  */
820
- offer?: string;
843
+ autoShutdownProfile?: AutoShutdownProfile;
821
844
  /**
822
- * The publisher of the gallery image.
845
+ * The connection profile for the lab. This controls settings such as web access to lab resources
846
+ * or whether RDP or SSH ports are open.
823
847
  */
824
- publisher?: string;
848
+ connectionProfile?: ConnectionProfile;
825
849
  /**
826
- * The SKU of the gallery image.
850
+ * The profile used for creating lab virtual machines.
827
851
  */
828
- sku?: string;
852
+ virtualMachineProfile?: VirtualMachineProfile;
829
853
  /**
830
- * The OS type of the gallery image.
854
+ * The lab security profile.
831
855
  */
832
- osType?: string;
856
+ securityProfile?: SecurityProfile;
833
857
  /**
834
- * The version of the gallery image.
858
+ * The lab user list management profile.
835
859
  */
836
- version?: string;
837
- }
838
-
839
- /**
840
- * Represents the environments details
841
- */
842
- export interface GetEnvironmentResponse {
860
+ rosterProfile?: RosterProfile;
843
861
  /**
844
- * Details of the environment
845
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
862
+ * The ID of the lab plan. Used during resource creation to provide defaults and acts as a
863
+ * permission container when creating a lab via labs.azure.com. Setting a labPlanId on an
864
+ * existing lab provides organization..
846
865
  */
847
- readonly environment?: EnvironmentDetails;
848
- }
849
-
850
- /**
851
- * Represents the PersonalPreferences for the user
852
- */
853
- export interface GetPersonalPreferencesResponse {
866
+ labPlanId?: string;
854
867
  /**
855
- * Id to be used by the cache orchestrator
868
+ * The title of the lab.
856
869
  */
857
- id?: string;
870
+ title?: string;
858
871
  /**
859
- * Array of favorite lab resource ids
872
+ * The description of the lab.
860
873
  */
861
- favoriteLabResourceIds?: string[];
874
+ description?: string;
862
875
  }
863
876
 
864
877
  /**
865
- * Represents the size information
878
+ * Identity for the resource.
866
879
  */
867
- export interface SizeAvailability {
880
+ export interface Identity {
881
+ /**
882
+ * The principal ID of resource identity.
883
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
884
+ */
885
+ readonly principalId?: string;
868
886
  /**
869
- * The category of the size (Basic, Standard, Performance). Possible values include: 'Basic',
870
- * 'Standard', 'Performance'
887
+ * The tenant ID of resource.
888
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
871
889
  */
872
- sizeCategory?: ManagedLabVmSize;
890
+ readonly tenantId?: string;
873
891
  /**
874
- * Whether or not this size category is available
892
+ * The identity type. Possible values include: 'SystemAssigned'
875
893
  */
876
- isAvailable?: boolean;
894
+ type?: ResourceIdentityType;
877
895
  }
878
896
 
879
897
  /**
880
- * The availability information of sizes across regions
898
+ * An interface representing ResourceModelWithAllowedPropertySetIdentity.
881
899
  */
882
- export interface RegionalAvailability {
883
- /**
884
- * Corresponding region
885
- */
886
- region?: string;
887
- /**
888
- * List of all the size information for the region
889
- */
890
- sizeAvailabilities?: SizeAvailability[];
900
+ export interface ResourceModelWithAllowedPropertySetIdentity extends Identity {
891
901
  }
892
902
 
893
903
  /**
894
- * The response model from the GetRegionalAvailability action
904
+ * An interface representing ResourceModelWithAllowedPropertySetSku.
895
905
  */
896
- export interface GetRegionalAvailabilityResponse {
897
- /**
898
- * Availability information for different size categories per region
899
- */
900
- regionalAvailability?: RegionalAvailability[];
906
+ export interface ResourceModelWithAllowedPropertySetSku extends Sku {
901
907
  }
902
908
 
903
909
  /**
904
- * Represents a lab.
910
+ * Plan for the resource.
905
911
  */
906
- export interface Lab extends Resource {
907
- /**
908
- * Maximum number of users allowed in the lab.
909
- */
910
- maxUsersInLab?: number;
911
- /**
912
- * Maximum value MaxUsersInLab can be set to, as specified by the service
913
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
914
- */
915
- readonly userQuota?: number;
916
- /**
917
- * Invitation code that users can use to join a lab.
918
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
919
- */
920
- readonly invitationCode?: string;
921
- /**
922
- * Object id of the user that created the lab.
923
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
924
- */
925
- readonly createdByObjectId?: string;
926
- /**
927
- * Maximum duration a user can use an environment for in the lab.
928
- */
929
- usageQuota?: string;
912
+ export interface Plan {
930
913
  /**
931
- * Lab user access mode (open to all vs. restricted to those listed on the lab). Possible values
932
- * include: 'Restricted', 'Open'
933
- */
934
- userAccessMode?: LabUserAccessMode;
935
- /**
936
- * Lab creator name
937
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
914
+ * A user defined name of the 3rd Party Artifact that is being procured.
938
915
  */
939
- readonly createdByUserPrincipalName?: string;
916
+ name: string;
940
917
  /**
941
- * Creation date for the lab
942
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
918
+ * The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic
943
919
  */
944
- readonly createdDate?: Date;
920
+ publisher: string;
945
921
  /**
946
- * The provisioning status of the resource.
922
+ * The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID
923
+ * specified for the artifact at the time of Data Market onboarding.
947
924
  */
948
- provisioningState?: string;
925
+ product: string;
949
926
  /**
950
- * The unique immutable identifier of a resource (Guid).
927
+ * A publisher provided promotion code as provisioned in Data Market for the said
928
+ * product/artifact.
951
929
  */
952
- uniqueIdentifier?: string;
930
+ promotionCode?: string;
953
931
  /**
954
- * The details of the latest operation. ex: status, error
955
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
932
+ * The version of the desired product/artifact.
956
933
  */
957
- readonly latestOperationResult?: LatestOperationResult;
934
+ version?: string;
958
935
  }
959
936
 
960
937
  /**
961
- * Represents the size configuration under the lab account
938
+ * An interface representing ResourceModelWithAllowedPropertySetPlan.
962
939
  */
963
- export interface SizeConfigurationProperties {
964
- /**
965
- * Represents a list of size categories supported by this Lab Account (Small, Medium, Large)
966
- */
967
- environmentSizes?: EnvironmentSize[];
940
+ export interface ResourceModelWithAllowedPropertySetPlan extends Plan {
968
941
  }
969
942
 
970
943
  /**
971
- * Represents a lab account.
944
+ * The resource model definition containing the full set of allowed properties for a resource.
945
+ * Except properties bag, there cannot be a top level property outside of this set.
972
946
  */
973
- export interface LabAccount extends Resource {
947
+ export interface ResourceModelWithAllowedPropertySet extends BaseResource {
974
948
  /**
975
- * Represents the size configuration under the lab account
949
+ * Fully qualified resource ID for the resource. Ex -
950
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
976
951
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
977
952
  */
978
- readonly sizeConfiguration?: SizeConfigurationProperties;
953
+ readonly id?: string;
979
954
  /**
980
- * Represents if region selection is enabled
955
+ * The name of the resource
956
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
981
957
  */
982
- enabledRegionSelection?: boolean;
958
+ readonly name?: string;
983
959
  /**
984
- * The provisioning status of the resource.
960
+ * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
961
+ * "Microsoft.Storage/storageAccounts"
962
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
985
963
  */
986
- provisioningState?: string;
964
+ readonly type?: string;
987
965
  /**
988
- * The unique immutable identifier of a resource (Guid).
966
+ * The geo-location where the resource lives
989
967
  */
990
- uniqueIdentifier?: string;
968
+ location?: string;
991
969
  /**
992
- * The details of the latest operation. ex: status, error
993
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
970
+ * The fully qualified resource ID of the resource that manages this resource. Indicates if this
971
+ * resource is managed by another Azure resource. If this is present, complete mode deployment
972
+ * will not delete the resource if it is removed from the template since it is managed by another
973
+ * resource.
994
974
  */
995
- readonly latestOperationResult?: LatestOperationResult;
996
- }
997
-
998
- /**
999
- * Represents a lab account.
1000
- */
1001
- export interface LabAccountFragment extends Resource {
975
+ managedBy?: string;
1002
976
  /**
1003
- * Represents if region selection is enabled
977
+ * Metadata used by portal/tooling/etc to render different UX experiences for resources of the
978
+ * same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource
979
+ * provider must validate and persist this value.
1004
980
  */
1005
- enabledRegionSelection?: boolean;
981
+ kind?: string;
1006
982
  /**
1007
- * The provisioning status of the resource.
983
+ * The etag field is *not* required. If it is provided in the response body, it must also be
984
+ * provided as a header per the normal etag convention. Entity tags are used for comparing two
985
+ * or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag
986
+ * (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range
987
+ * (section 14.27) header fields.
988
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
1008
989
  */
1009
- provisioningState?: string;
990
+ readonly etag?: string;
1010
991
  /**
1011
- * The unique immutable identifier of a resource (Guid).
992
+ * Resource tags.
1012
993
  */
1013
- uniqueIdentifier?: string;
994
+ tags?: { [propertyName: string]: string };
995
+ identity?: ResourceModelWithAllowedPropertySetIdentity;
996
+ sku?: ResourceModelWithAllowedPropertySetSku;
997
+ plan?: ResourceModelWithAllowedPropertySetPlan;
1014
998
  }
1015
999
 
1016
1000
  /**
1017
- * This represents the details about a lab that the User is in, and its state.
1001
+ * User of a lab that can register for and use virtual machines within the lab.
1018
1002
  */
1019
- export interface LabDetails {
1003
+ export interface User extends ProxyResource {
1020
1004
  /**
1021
- * Name of the lab
1005
+ * Metadata pertaining to creation and last modification of the user resource.
1006
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
1022
1007
  */
1023
- name?: string;
1008
+ readonly systemData?: SystemData;
1024
1009
  /**
1025
- * The provisioning state of the lab.
1010
+ * The amount of usage quota time the user gets in addition to the lab usage quota.
1026
1011
  */
1027
- provisioningState?: string;
1012
+ additionalUsageQuota?: string;
1028
1013
  /**
1029
- * The Id of the lab.
1030
- */
1031
- id?: string;
1032
- /**
1033
- * The maximum duration a user can use a VM in this lab.
1014
+ * Current provisioning state of the user resource. Possible values include: 'Creating',
1015
+ * 'Updating', 'Deleting', 'Succeeded', 'Failed', 'Locked'
1034
1016
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1035
1017
  */
1036
- readonly usageQuota?: string;
1037
- }
1038
-
1039
- /**
1040
- * Represents a lab.
1041
- */
1042
- export interface LabFragment extends Resource {
1018
+ readonly provisioningState?: ProvisioningState;
1043
1019
  /**
1044
- * Maximum number of users allowed in the lab.
1045
- */
1046
- maxUsersInLab?: number;
1047
- /**
1048
- * Maximum duration a user can use an environment for in the lab.
1020
+ * Display name of the user, for example user's full name.
1021
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
1049
1022
  */
1050
- usageQuota?: string;
1023
+ readonly displayName?: string;
1051
1024
  /**
1052
- * Lab user access mode (open to all vs. restricted to those listed on the lab). Possible values
1053
- * include: 'Restricted', 'Open'
1025
+ * Email address of the user.
1054
1026
  */
1055
- userAccessMode?: LabUserAccessMode;
1027
+ email: string;
1056
1028
  /**
1057
- * The provisioning status of the resource.
1029
+ * State of the user's registration within the lab. Possible values include: 'Registered',
1030
+ * 'NotRegistered'
1031
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
1058
1032
  */
1059
- provisioningState?: string;
1033
+ readonly registrationState?: RegistrationState;
1060
1034
  /**
1061
- * The unique immutable identifier of a resource (Guid).
1035
+ * State of the invitation message for the user. Possible values include: 'NotSent', 'Sending',
1036
+ * 'Sent', 'Failed'
1037
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
1062
1038
  */
1063
- uniqueIdentifier?: string;
1064
- }
1065
-
1066
- /**
1067
- * Represents the payload to list environments owned by a user
1068
- */
1069
- export interface ListEnvironmentsPayload {
1039
+ readonly invitationState?: InvitationState;
1070
1040
  /**
1071
- * The resource Id of the lab
1041
+ * Date and time when the invitation message was sent to the user.
1042
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
1072
1043
  */
1073
- labId?: string;
1074
- }
1075
-
1076
- /**
1077
- * Represents the list of environments owned by a user
1078
- */
1079
- export interface ListEnvironmentsResponse {
1044
+ readonly invitationSent?: Date;
1080
1045
  /**
1081
- * List of all the environments
1046
+ * How long the user has used their virtual machines in this lab.
1047
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
1082
1048
  */
1083
- environments?: EnvironmentDetails[];
1049
+ readonly totalUsage?: string;
1084
1050
  }
1085
1051
 
1086
1052
  /**
1087
- * Lists the labs owned by a user
1053
+ * User of a lab that can register for and use virtual machines within the lab. Used for updates.
1088
1054
  */
1089
- export interface ListLabsResponse {
1055
+ export interface UserUpdate {
1090
1056
  /**
1091
- * List of all the labs
1057
+ * The amount of usage quota time the user gets in addition to the lab usage quota.
1092
1058
  */
1093
- labs?: LabDetails[];
1059
+ additionalUsageQuota?: string;
1094
1060
  }
1095
1061
 
1096
1062
  /**
1097
- * Payload to get the status of an operation
1063
+ * Body for a user invite request
1098
1064
  */
1099
- export interface OperationBatchStatusPayload {
1065
+ export interface InviteBody {
1100
1066
  /**
1101
- * The operation url of long running operation
1067
+ * Custom text for the invite email.
1102
1068
  */
1103
- urls: string[];
1069
+ text?: string;
1104
1070
  }
1105
1071
 
1106
1072
  /**
1107
- * Represents the status of an operation that used the batch API.
1073
+ * The connection information for the virtual machine
1108
1074
  */
1109
- export interface OperationBatchStatusResponseItem {
1075
+ export interface VirtualMachineConnectionProfile {
1110
1076
  /**
1111
- * status of the long running operation for an environment
1077
+ * The private IP address of the virtual machine.
1112
1078
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1113
1079
  */
1114
- readonly operationUrl?: string;
1080
+ readonly privateIpAddress?: string;
1115
1081
  /**
1116
- * status of the long running operation for an environment
1082
+ * Port and host name separated by semicolon for connecting via SSH protocol to the virtual
1083
+ * machine.
1117
1084
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1118
1085
  */
1119
- readonly status?: string;
1120
- }
1121
-
1122
- /**
1123
- * Status Details of the long running operation for an environment
1124
- */
1125
- export interface OperationBatchStatusResponse {
1086
+ readonly sshAuthority?: string;
1126
1087
  /**
1127
- * Gets a collection of items that contain the operation url and status.
1088
+ * URL for connecting via SSH protocol to the virtual machine in browser.
1128
1089
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1129
1090
  */
1130
- readonly items?: OperationBatchStatusResponseItem[];
1131
- }
1132
-
1133
- /**
1134
- * Error details for the operation in case of a failure.
1135
- */
1136
- export interface OperationError {
1137
- /**
1138
- * The error code of the operation error.
1139
- */
1140
- code?: string;
1141
- /**
1142
- * The error message of the operation error.
1143
- */
1144
- message?: string;
1145
- }
1146
-
1147
- /**
1148
- * The object that describes the operations
1149
- */
1150
- export interface OperationMetadataDisplay {
1151
- /**
1152
- * Friendly name of the resource provider
1153
- */
1154
- provider?: string;
1155
- /**
1156
- * Resource type on which the operation is performed.
1157
- */
1158
- resource?: string;
1159
- /**
1160
- * Operation type: read, write, delete, listKeys/action, etc.
1161
- */
1162
- operation?: string;
1163
- /**
1164
- * Friendly name of the operation
1165
- */
1166
- description?: string;
1167
- }
1168
-
1169
- /**
1170
- * The REST API operation supported by ManagedLab ResourceProvider.
1171
- */
1172
- export interface OperationMetadata {
1173
- /**
1174
- * Operation name: {provider}/{resource}/{operation}
1175
- */
1176
- name?: string;
1091
+ readonly sshInBrowserUrl?: string;
1177
1092
  /**
1178
- * The object that describes the operations
1093
+ * Port and host name separated by semicolon for connecting via RDP protocol to the virtual
1094
+ * machine.
1095
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
1179
1096
  */
1180
- display?: OperationMetadataDisplay;
1181
- }
1182
-
1183
- /**
1184
- * An Operation Result
1185
- */
1186
- export interface OperationResult {
1097
+ readonly rdpAuthority?: string;
1187
1098
  /**
1188
- * The operation status.
1099
+ * URL for connecting via RDP protocol to the virtual machine in browser.
1100
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
1189
1101
  */
1190
- status?: string;
1102
+ readonly rdpInBrowserUrl?: string;
1191
1103
  /**
1192
- * Error details for the operation in case of a failure.
1104
+ * The username used to log on to the virtual machine as admin.
1105
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
1193
1106
  */
1194
- error?: OperationError;
1195
- }
1196
-
1197
- /**
1198
- * Payload to get the status of an operation
1199
- */
1200
- export interface OperationStatusPayload {
1107
+ readonly adminUsername?: string;
1201
1108
  /**
1202
- * The operation url of long running operation
1109
+ * The username used to log on to the virtual machine as non-admin, if one exists.
1110
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
1203
1111
  */
1204
- operationUrl: string;
1112
+ readonly nonAdminUsername?: string;
1205
1113
  }
1206
1114
 
1207
1115
  /**
1208
- * Status Details of the long running operation for an environment
1116
+ * A lab virtual machine resource.
1209
1117
  */
1210
- export interface OperationStatusResponse {
1118
+ export interface VirtualMachine extends ProxyResource {
1211
1119
  /**
1212
- * status of the long running operation for an environment
1120
+ * System data of the Lab virtual machine.
1213
1121
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1214
1122
  */
1215
- readonly status?: string;
1216
- }
1217
-
1218
- /**
1219
- * Represents payload for any Environment operations like get, start, stop, connect
1220
- */
1221
- export interface PersonalPreferencesOperationsPayload {
1123
+ readonly systemData?: SystemData;
1222
1124
  /**
1223
- * Resource Id of the lab account
1125
+ * Current provisioning state of the virtual machine. Possible values include: 'Creating',
1126
+ * 'Updating', 'Deleting', 'Succeeded', 'Failed', 'Locked'
1127
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
1224
1128
  */
1225
- labAccountResourceId?: string;
1129
+ readonly provisioningState?: ProvisioningState;
1226
1130
  /**
1227
- * Enum indicating if user is adding or removing a favorite lab. Possible values include: 'Add',
1228
- * 'Remove'
1131
+ * The current state of the virtual machine. Possible values include: 'Stopped', 'Starting',
1132
+ * 'Running', 'Stopping', 'ResettingPassword', 'Reimaging', 'Redeploying'
1133
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
1229
1134
  */
1230
- addRemove?: AddRemove;
1135
+ readonly state?: VirtualMachineState;
1231
1136
  /**
1232
- * Resource Id of the lab to add/remove from the favorites list
1137
+ * Profile for information about connecting to the virtual machine.
1138
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
1233
1139
  */
1234
- labResourceId?: string;
1235
- }
1236
-
1237
- /**
1238
- * Payload for Publish operation on EnvironmentSetting.
1239
- */
1240
- export interface PublishPayload {
1140
+ readonly connectionProfile?: VirtualMachineConnectionProfile;
1241
1141
  /**
1242
- * Whether to use existing VM custom image when publishing.
1142
+ * The lab user ID (not the PUID!) of who claimed the virtual machine.
1143
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
1243
1144
  */
1244
- useExistingImage?: boolean;
1245
- }
1246
-
1247
- /**
1248
- * Represents payload for Register action.
1249
- */
1250
- export interface RegisterPayload {
1145
+ readonly claimedByUserId?: string;
1251
1146
  /**
1252
- * The registration code of the lab.
1147
+ * The type of this VM resource. Possible values include: 'User', 'Template'
1148
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
1253
1149
  */
1254
- registrationCode?: string;
1150
+ readonly vmType?: VirtualMachineType;
1255
1151
  }
1256
1152
 
1257
1153
  /**
1258
- * Represents the payload for resetting passwords.
1154
+ * Body of a reset password request.
1259
1155
  */
1260
- export interface ResetPasswordPayload {
1261
- /**
1262
- * The resourceId of the environment
1263
- */
1264
- environmentId: string;
1156
+ export interface ResetPasswordBody {
1265
1157
  /**
1266
- * The username for which the password will be reset.
1158
+ * The user whose password is being reset
1267
1159
  */
1268
- username?: string;
1160
+ username: string;
1269
1161
  /**
1270
- * The password to assign to the user specified in
1162
+ * The password
1271
1163
  */
1272
- password?: string;
1273
- }
1274
-
1275
- /**
1276
- * Represents the size configuration under the lab account
1277
- */
1278
- export interface SizeConfigurationPropertiesFragment {
1279
- /**
1280
- * Represents a list of size categories supported by this Lab Account (Small, Medium, Large)
1281
- */
1282
- environmentSizes?: EnvironmentSizeFragment[];
1164
+ password: string;
1283
1165
  }
1284
1166
 
1285
1167
  /**
1286
- * The User registered to a lab
1168
+ * Schedule for automatically turning virtual machines in a lab on and off at specified times.
1287
1169
  */
1288
- export interface User extends Resource {
1289
- /**
1290
- * The user email address, as it was specified during registration.
1291
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
1292
- */
1293
- readonly email?: string;
1170
+ export interface Schedule extends ProxyResource {
1294
1171
  /**
1295
- * The user family name, as it was specified during registration.
1172
+ * Metadata pertaining to creation and last modification of the schedule.
1296
1173
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1297
1174
  */
1298
- readonly familyName?: string;
1175
+ readonly systemData?: SystemData;
1299
1176
  /**
1300
- * The user given name, as it was specified during registration.
1301
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
1177
+ * When lab user virtual machines will be started. Timestamp offsets will be ignored and
1178
+ * timeZoneId is used instead.
1302
1179
  */
1303
- readonly givenName?: string;
1180
+ startAt?: Date;
1304
1181
  /**
1305
- * The user tenant ID, as it was specified during registration.
1306
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
1182
+ * When lab user virtual machines will be stopped. Timestamp offsets will be ignored and
1183
+ * timeZoneId is used instead.
1307
1184
  */
1308
- readonly tenantId?: string;
1185
+ stopAt?: Date;
1309
1186
  /**
1310
- * How long the user has used his VMs in this lab
1311
- * **NOTE: This property will not be serialized. It can only be populated by the server.**
1187
+ * The recurrence pattern of the scheduled actions.
1312
1188
  */
1313
- readonly totalUsage?: string;
1189
+ recurrencePattern?: RecurrencePattern;
1314
1190
  /**
1315
- * The provisioning status of the resource.
1191
+ * The IANA timezone id for the schedule.
1316
1192
  */
1317
- provisioningState?: string;
1193
+ timeZoneId?: string;
1318
1194
  /**
1319
- * The unique immutable identifier of a resource (Guid).
1195
+ * Notes for this schedule.
1320
1196
  */
1321
- uniqueIdentifier?: string;
1197
+ notes?: string;
1322
1198
  /**
1323
- * The details of the latest operation. ex: status, error
1199
+ * Current provisioning state of the schedule. Possible values include: 'Creating', 'Updating',
1200
+ * 'Deleting', 'Succeeded', 'Failed', 'Locked'
1324
1201
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1325
1202
  */
1326
- readonly latestOperationResult?: LatestOperationResult;
1203
+ readonly provisioningState?: ProvisioningState;
1327
1204
  }
1328
1205
 
1329
1206
  /**
1330
- * The User registered to a lab
1207
+ * Recurrence pattern of a lab schedule.
1331
1208
  */
1332
- export interface UserFragment extends Resource {
1209
+ export interface RecurrencePattern {
1333
1210
  /**
1334
- * The provisioning status of the resource.
1211
+ * The frequency of the recurrence. Possible values include: 'Daily', 'Weekly'
1335
1212
  */
1336
- provisioningState?: string;
1213
+ frequency: RecurrenceFrequency;
1337
1214
  /**
1338
- * The unique immutable identifier of a resource (Guid).
1215
+ * The week days the schedule runs. Used for when the Frequency is set to Weekly.
1339
1216
  */
1340
- uniqueIdentifier?: string;
1341
- }
1342
-
1343
- /**
1344
- * Optional Parameters.
1345
- */
1346
- export interface GlobalUsersGetEnvironmentOptionalParams extends msRest.RequestOptionsBase {
1217
+ weekDays?: WeekDay[];
1218
+ /**
1219
+ * The interval to invoke the schedule on. For example, interval = 2 and
1220
+ * RecurrenceFrequency.Daily will run every 2 days. When no interval is supplied, an interval of
1221
+ * 1 is used.
1222
+ */
1223
+ interval?: number;
1347
1224
  /**
1348
- * Specify the $expand query. Example: 'properties($expand=environment)'
1225
+ * When the recurrence will expire. This date is inclusive.
1349
1226
  */
1350
- expand?: string;
1227
+ expirationDate: Date;
1351
1228
  }
1352
1229
 
1353
1230
  /**
1354
- * Optional Parameters.
1231
+ * Schedule for automatically turning virtual machines in a lab on and off at specified times. Used
1232
+ * for updates.
1355
1233
  */
1356
- export interface LabAccountsListBySubscriptionOptionalParams extends msRest.RequestOptionsBase {
1234
+ export interface ScheduleUpdate {
1357
1235
  /**
1358
- * Specify the $expand query. Example: 'properties($expand=sizeConfiguration)'
1236
+ * When lab user virtual machines will be started. Timestamp offsets will be ignored and
1237
+ * timeZoneId is used instead.
1359
1238
  */
1360
- expand?: string;
1239
+ startAt?: Date;
1361
1240
  /**
1362
- * The filter to apply to the operation.
1241
+ * When lab user virtual machines will be stopped. Timestamp offsets will be ignored and
1242
+ * timeZoneId is used instead.
1363
1243
  */
1364
- filter?: string;
1244
+ stopAt?: Date;
1245
+ /**
1246
+ * The recurrence pattern of the scheduled actions.
1247
+ */
1248
+ recurrencePattern?: RecurrencePattern;
1365
1249
  /**
1366
- * The maximum number of resources to return from the operation.
1250
+ * The IANA timezone id for the schedule.
1367
1251
  */
1368
- top?: number;
1252
+ timeZoneId?: string;
1369
1253
  /**
1370
- * The ordering expression for the results, using OData notation.
1254
+ * Notes for this schedule.
1371
1255
  */
1372
- orderby?: string;
1256
+ notes?: string;
1373
1257
  }
1374
1258
 
1375
1259
  /**
1376
1260
  * Optional Parameters.
1377
1261
  */
1378
- export interface LabAccountsListByResourceGroupOptionalParams extends msRest.RequestOptionsBase {
1379
- /**
1380
- * Specify the $expand query. Example: 'properties($expand=sizeConfiguration)'
1381
- */
1382
- expand?: string;
1262
+ export interface LabPlansListBySubscriptionOptionalParams extends msRest.RequestOptionsBase {
1383
1263
  /**
1384
1264
  * The filter to apply to the operation.
1385
1265
  */
1386
1266
  filter?: string;
1387
- /**
1388
- * The maximum number of resources to return from the operation.
1389
- */
1390
- top?: number;
1391
- /**
1392
- * The ordering expression for the results, using OData notation.
1393
- */
1394
- orderby?: string;
1395
1267
  }
1396
1268
 
1397
1269
  /**
1398
1270
  * Optional Parameters.
1399
1271
  */
1400
- export interface LabAccountsGetOptionalParams extends msRest.RequestOptionsBase {
1272
+ export interface LabPlansListBySubscriptionNextOptionalParams extends msRest.RequestOptionsBase {
1401
1273
  /**
1402
- * Specify the $expand query. Example: 'properties($expand=sizeConfiguration)'
1274
+ * The filter to apply to the operation.
1403
1275
  */
1404
- expand?: string;
1276
+ filter?: string;
1405
1277
  }
1406
1278
 
1407
1279
  /**
1408
1280
  * Optional Parameters.
1409
1281
  */
1410
- export interface GalleryImagesListOptionalParams extends msRest.RequestOptionsBase {
1411
- /**
1412
- * Specify the $expand query. Example: 'properties($select=author)'
1413
- */
1414
- expand?: string;
1282
+ export interface ImagesListByLabPlanOptionalParams extends msRest.RequestOptionsBase {
1415
1283
  /**
1416
1284
  * The filter to apply to the operation.
1417
1285
  */
1418
1286
  filter?: string;
1419
- /**
1420
- * The maximum number of resources to return from the operation.
1421
- */
1422
- top?: number;
1423
- /**
1424
- * The ordering expression for the results, using OData notation.
1425
- */
1426
- orderby?: string;
1427
1287
  }
1428
1288
 
1429
1289
  /**
1430
1290
  * Optional Parameters.
1431
1291
  */
1432
- export interface GalleryImagesGetOptionalParams extends msRest.RequestOptionsBase {
1292
+ export interface ImagesListByLabPlanNextOptionalParams extends msRest.RequestOptionsBase {
1433
1293
  /**
1434
- * Specify the $expand query. Example: 'properties($select=author)'
1294
+ * The filter to apply to the operation.
1435
1295
  */
1436
- expand?: string;
1296
+ filter?: string;
1437
1297
  }
1438
1298
 
1439
1299
  /**
1440
1300
  * Optional Parameters.
1441
1301
  */
1442
- export interface LabsListOptionalParams extends msRest.RequestOptionsBase {
1443
- /**
1444
- * Specify the $expand query. Example: 'properties($select=maxUsersInLab)'
1445
- */
1446
- expand?: string;
1302
+ export interface LabsListBySubscriptionOptionalParams extends msRest.RequestOptionsBase {
1447
1303
  /**
1448
1304
  * The filter to apply to the operation.
1449
1305
  */
1450
1306
  filter?: string;
1451
- /**
1452
- * The maximum number of resources to return from the operation.
1453
- */
1454
- top?: number;
1455
- /**
1456
- * The ordering expression for the results, using OData notation.
1457
- */
1458
- orderby?: string;
1459
1307
  }
1460
1308
 
1461
1309
  /**
1462
1310
  * Optional Parameters.
1463
1311
  */
1464
- export interface LabsGetOptionalParams extends msRest.RequestOptionsBase {
1312
+ export interface LabsListBySubscriptionNextOptionalParams extends msRest.RequestOptionsBase {
1465
1313
  /**
1466
- * Specify the $expand query. Example: 'properties($select=maxUsersInLab)'
1314
+ * The filter to apply to the operation.
1467
1315
  */
1468
- expand?: string;
1316
+ filter?: string;
1469
1317
  }
1470
1318
 
1471
1319
  /**
1472
1320
  * Optional Parameters.
1473
1321
  */
1474
- export interface EnvironmentSettingsListOptionalParams extends msRest.RequestOptionsBase {
1475
- /**
1476
- * Specify the $expand query. Example: 'properties($select=publishingState)'
1477
- */
1478
- expand?: string;
1322
+ export interface UsersListByLabOptionalParams extends msRest.RequestOptionsBase {
1479
1323
  /**
1480
1324
  * The filter to apply to the operation.
1481
1325
  */
1482
1326
  filter?: string;
1483
- /**
1484
- * The maximum number of resources to return from the operation.
1485
- */
1486
- top?: number;
1487
- /**
1488
- * The ordering expression for the results, using OData notation.
1489
- */
1490
- orderby?: string;
1491
1327
  }
1492
1328
 
1493
1329
  /**
1494
1330
  * Optional Parameters.
1495
1331
  */
1496
- export interface EnvironmentSettingsGetOptionalParams extends msRest.RequestOptionsBase {
1332
+ export interface UsersListByLabNextOptionalParams extends msRest.RequestOptionsBase {
1497
1333
  /**
1498
- * Specify the $expand query. Example: 'properties($select=publishingState)'
1334
+ * The filter to apply to the operation.
1499
1335
  */
1500
- expand?: string;
1336
+ filter?: string;
1501
1337
  }
1502
1338
 
1503
1339
  /**
1504
1340
  * Optional Parameters.
1505
1341
  */
1506
- export interface EnvironmentsListOptionalParams extends msRest.RequestOptionsBase {
1507
- /**
1508
- * Specify the $expand query. Example: 'properties($expand=networkInterface)'
1509
- */
1510
- expand?: string;
1342
+ export interface VirtualMachinesListByLabOptionalParams extends msRest.RequestOptionsBase {
1511
1343
  /**
1512
1344
  * The filter to apply to the operation.
1513
1345
  */
1514
1346
  filter?: string;
1515
- /**
1516
- * The maximum number of resources to return from the operation.
1517
- */
1518
- top?: number;
1519
- /**
1520
- * The ordering expression for the results, using OData notation.
1521
- */
1522
- orderby?: string;
1523
1347
  }
1524
1348
 
1525
1349
  /**
1526
1350
  * Optional Parameters.
1527
1351
  */
1528
- export interface EnvironmentsGetOptionalParams extends msRest.RequestOptionsBase {
1352
+ export interface VirtualMachinesListByLabNextOptionalParams extends msRest.RequestOptionsBase {
1529
1353
  /**
1530
- * Specify the $expand query. Example: 'properties($expand=networkInterface)'
1354
+ * The filter to apply to the operation.
1531
1355
  */
1532
- expand?: string;
1356
+ filter?: string;
1533
1357
  }
1534
1358
 
1535
1359
  /**
1536
1360
  * Optional Parameters.
1537
1361
  */
1538
- export interface UsersListOptionalParams extends msRest.RequestOptionsBase {
1539
- /**
1540
- * Specify the $expand query. Example: 'properties($select=email)'
1541
- */
1542
- expand?: string;
1362
+ export interface SchedulesListByLabOptionalParams extends msRest.RequestOptionsBase {
1543
1363
  /**
1544
1364
  * The filter to apply to the operation.
1545
1365
  */
1546
1366
  filter?: string;
1547
- /**
1548
- * The maximum number of resources to return from the operation.
1549
- */
1550
- top?: number;
1551
- /**
1552
- * The ordering expression for the results, using OData notation.
1553
- */
1554
- orderby?: string;
1555
1367
  }
1556
1368
 
1557
1369
  /**
1558
1370
  * Optional Parameters.
1559
1371
  */
1560
- export interface UsersGetOptionalParams extends msRest.RequestOptionsBase {
1372
+ export interface SchedulesListByLabNextOptionalParams extends msRest.RequestOptionsBase {
1561
1373
  /**
1562
- * Specify the $expand query. Example: 'properties($select=email)'
1374
+ * The filter to apply to the operation.
1563
1375
  */
1564
- expand?: string;
1376
+ filter?: string;
1565
1377
  }
1566
1378
 
1567
1379
  /**
1568
- * An interface representing ManagedLabsClientOptions.
1380
+ * An interface representing LabServicesClientOptions.
1569
1381
  */
1570
- export interface ManagedLabsClientOptions extends AzureServiceClientOptions {
1382
+ export interface LabServicesClientOptions extends AzureServiceClientOptions {
1571
1383
  baseUri?: string;
1572
1384
  }
1573
1385
 
1574
1386
  /**
1575
1387
  * @interface
1576
- * Result of the request to list REST API operations
1577
- * @extends Array<OperationMetadata>
1388
+ * A list of REST API operations supported by an Azure Resource Provider. It contains an URL link
1389
+ * to get the next set of results.
1390
+ * @extends Array<Operation>
1578
1391
  */
1579
- export interface ProviderOperationResult extends Array<OperationMetadata> {
1392
+ export interface OperationListResult extends Array<Operation> {
1580
1393
  /**
1581
- * URL to get the next set of operation list results if there are any.
1394
+ * URL to get the next set of operation list results (if there are any).
1582
1395
  * **NOTE: This property will not be serialized. It can only be populated by the server.**
1583
1396
  */
1584
1397
  readonly nextLink?: string;
@@ -1586,160 +1399,248 @@ export interface ProviderOperationResult extends Array<OperationMetadata> {
1586
1399
 
1587
1400
  /**
1588
1401
  * @interface
1589
- * The response of a list operation.
1590
- * @extends Array<LabAccount>
1402
+ * Paged list of lab plans.
1403
+ * @extends Array<LabPlan>
1591
1404
  */
1592
- export interface ResponseWithContinuationLabAccount extends Array<LabAccount> {
1405
+ export interface PagedLabPlans extends Array<LabPlan> {
1593
1406
  /**
1594
- * Link for next set of results.
1407
+ * The link to get the next page of lab plan results.
1408
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
1595
1409
  */
1596
- nextLink?: string;
1410
+ readonly nextLink?: string;
1597
1411
  }
1598
1412
 
1599
1413
  /**
1600
1414
  * @interface
1601
- * The response of a list operation.
1602
- * @extends Array<GalleryImage>
1415
+ * Paged list of Lab services virtual machine images.
1416
+ * @extends Array<Image>
1603
1417
  */
1604
- export interface ResponseWithContinuationGalleryImage extends Array<GalleryImage> {
1418
+ export interface PagedImages extends Array<Image> {
1605
1419
  /**
1606
- * Link for next set of results.
1420
+ * The link to get the next page of image results.
1421
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
1607
1422
  */
1608
- nextLink?: string;
1423
+ readonly nextLink?: string;
1609
1424
  }
1610
1425
 
1611
1426
  /**
1612
1427
  * @interface
1613
- * The response of a list operation.
1428
+ * Paged list of labs.
1614
1429
  * @extends Array<Lab>
1615
1430
  */
1616
- export interface ResponseWithContinuationLab extends Array<Lab> {
1431
+ export interface PagedLabs extends Array<Lab> {
1617
1432
  /**
1618
- * Link for next set of results.
1433
+ * The link to get the next page of image results.
1434
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
1619
1435
  */
1620
- nextLink?: string;
1436
+ readonly nextLink?: string;
1621
1437
  }
1622
1438
 
1623
1439
  /**
1624
1440
  * @interface
1625
- * The response of a list operation.
1626
- * @extends Array<EnvironmentSetting>
1441
+ * Paged list of users.
1442
+ * @extends Array<User>
1627
1443
  */
1628
- export interface ResponseWithContinuationEnvironmentSetting extends Array<EnvironmentSetting> {
1444
+ export interface PagedUsers extends Array<User> {
1629
1445
  /**
1630
- * Link for next set of results.
1446
+ * The link to get the next page of image results.
1447
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
1631
1448
  */
1632
- nextLink?: string;
1449
+ readonly nextLink?: string;
1633
1450
  }
1634
1451
 
1635
1452
  /**
1636
1453
  * @interface
1637
- * The response of a list operation.
1638
- * @extends Array<Environment>
1454
+ * Paged list of lab services virtual machines.
1455
+ * @extends Array<VirtualMachine>
1639
1456
  */
1640
- export interface ResponseWithContinuationEnvironment extends Array<Environment> {
1457
+ export interface PagedVirtualMachines extends Array<VirtualMachine> {
1641
1458
  /**
1642
- * Link for next set of results.
1459
+ * The link to get the next page of virtual machine results.
1460
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
1643
1461
  */
1644
- nextLink?: string;
1462
+ readonly nextLink?: string;
1645
1463
  }
1646
1464
 
1647
1465
  /**
1648
1466
  * @interface
1649
- * The response of a list operation.
1650
- * @extends Array<User>
1467
+ * Paged list of schedules.
1468
+ * @extends Array<Schedule>
1651
1469
  */
1652
- export interface ResponseWithContinuationUser extends Array<User> {
1470
+ export interface PagedSchedules extends Array<Schedule> {
1653
1471
  /**
1654
- * Link for next set of results.
1472
+ * The link to get the next page of schedule results.
1473
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
1655
1474
  */
1656
- nextLink?: string;
1475
+ readonly nextLink?: string;
1657
1476
  }
1658
1477
 
1659
1478
  /**
1660
- * Defines values for ManagedLabVmSize.
1661
- * Possible values include: 'Basic', 'Standard', 'Performance'
1479
+ * Defines values for ProvisioningState.
1480
+ * Possible values include: 'Creating', 'Updating', 'Deleting', 'Succeeded', 'Failed', 'Locked'
1662
1481
  * @readonly
1663
1482
  * @enum {string}
1664
1483
  */
1665
- export type ManagedLabVmSize = 'Basic' | 'Standard' | 'Performance';
1484
+ export type ProvisioningState = 'Creating' | 'Updating' | 'Deleting' | 'Succeeded' | 'Failed' | 'Locked';
1666
1485
 
1667
1486
  /**
1668
- * Defines values for PublishingState.
1669
- * Possible values include: 'Draft', 'Publishing', 'Published', 'PublishFailed', 'Scaling'
1487
+ * Defines values for EnableState.
1488
+ * Possible values include: 'Enabled', 'Disabled'
1670
1489
  * @readonly
1671
1490
  * @enum {string}
1672
1491
  */
1673
- export type PublishingState = 'Draft' | 'Publishing' | 'Published' | 'PublishFailed' | 'Scaling';
1492
+ export type EnableState = 'Enabled' | 'Disabled';
1674
1493
 
1675
1494
  /**
1676
- * Defines values for ConfigurationState.
1677
- * Possible values include: 'NotApplicable', 'Completed'
1495
+ * Defines values for ConnectionType.
1496
+ * Possible values include: 'Public', 'Private', 'None'
1678
1497
  * @readonly
1679
1498
  * @enum {string}
1680
1499
  */
1681
- export type ConfigurationState = 'NotApplicable' | 'Completed';
1500
+ export type ConnectionType = 'Public' | 'Private' | 'None';
1682
1501
 
1683
1502
  /**
1684
- * Defines values for LabUserAccessMode.
1685
- * Possible values include: 'Restricted', 'Open'
1503
+ * Defines values for OsType.
1504
+ * Possible values include: 'Windows', 'Linux'
1686
1505
  * @readonly
1687
1506
  * @enum {string}
1688
1507
  */
1689
- export type LabUserAccessMode = 'Restricted' | 'Open';
1508
+ export type OsType = 'Windows' | 'Linux';
1690
1509
 
1691
1510
  /**
1692
- * Defines values for AddRemove.
1693
- * Possible values include: 'Add', 'Remove'
1511
+ * Defines values for OsState.
1512
+ * Possible values include: 'Generalized', 'Specialized'
1694
1513
  * @readonly
1695
1514
  * @enum {string}
1696
1515
  */
1697
- export type AddRemove = 'Add' | 'Remove';
1516
+ export type OsState = 'Generalized' | 'Specialized';
1698
1517
 
1699
1518
  /**
1700
- * Contains response data for the list operation.
1519
+ * Defines values for ShutdownOnIdleMode.
1520
+ * Possible values include: 'None', 'UserAbsence', 'LowUsage'
1521
+ * @readonly
1522
+ * @enum {string}
1701
1523
  */
1702
- export type ProviderOperationsListResponse = ProviderOperationResult & {
1703
- /**
1704
- * The underlying HTTP response.
1705
- */
1706
- _response: msRest.HttpResponse & {
1707
- /**
1708
- * The response body as text (string format)
1709
- */
1710
- bodyAsText: string;
1524
+ export type ShutdownOnIdleMode = 'None' | 'UserAbsence' | 'LowUsage';
1711
1525
 
1712
- /**
1713
- * The response body as parsed JSON or XML
1714
- */
1715
- parsedBody: ProviderOperationResult;
1716
- };
1717
- };
1526
+ /**
1527
+ * Defines values for Origin.
1528
+ * Possible values include: 'user', 'system', 'user,system'
1529
+ * @readonly
1530
+ * @enum {string}
1531
+ */
1532
+ export type Origin = 'user' | 'system' | 'user,system';
1718
1533
 
1719
1534
  /**
1720
- * Contains response data for the listNext operation.
1535
+ * Defines values for ActionType.
1536
+ * Possible values include: 'Internal'
1537
+ * @readonly
1538
+ * @enum {string}
1721
1539
  */
1722
- export type ProviderOperationsListNextResponse = ProviderOperationResult & {
1723
- /**
1724
- * The underlying HTTP response.
1725
- */
1726
- _response: msRest.HttpResponse & {
1727
- /**
1728
- * The response body as text (string format)
1729
- */
1730
- bodyAsText: string;
1540
+ export type ActionType = 'Internal';
1731
1541
 
1732
- /**
1733
- * The response body as parsed JSON or XML
1734
- */
1735
- parsedBody: ProviderOperationResult;
1736
- };
1737
- };
1542
+ /**
1543
+ * Defines values for OperationStatus.
1544
+ * Possible values include: 'NotStarted', 'InProgress', 'Succeeded', 'Failed', 'Canceled'
1545
+ * @readonly
1546
+ * @enum {string}
1547
+ */
1548
+ export type OperationStatus = 'NotStarted' | 'InProgress' | 'Succeeded' | 'Failed' | 'Canceled';
1549
+
1550
+ /**
1551
+ * Defines values for CreatedByType.
1552
+ * Possible values include: 'User', 'Application', 'ManagedIdentity', 'Key'
1553
+ * @readonly
1554
+ * @enum {string}
1555
+ */
1556
+ export type CreatedByType = 'User' | 'Application' | 'ManagedIdentity' | 'Key';
1557
+
1558
+ /**
1559
+ * Defines values for LabState.
1560
+ * Possible values include: 'Draft', 'Publishing', 'Scaling', 'Syncing', 'Published'
1561
+ * @readonly
1562
+ * @enum {string}
1563
+ */
1564
+ export type LabState = 'Draft' | 'Publishing' | 'Scaling' | 'Syncing' | 'Published';
1565
+
1566
+ /**
1567
+ * Defines values for CreateOption.
1568
+ * Possible values include: 'Image', 'TemplateVM'
1569
+ * @readonly
1570
+ * @enum {string}
1571
+ */
1572
+ export type CreateOption = 'Image' | 'TemplateVM';
1573
+
1574
+ /**
1575
+ * Defines values for SkuTier.
1576
+ * Possible values include: 'Free', 'Basic', 'Standard', 'Premium'
1577
+ * @readonly
1578
+ * @enum {string}
1579
+ */
1580
+ export type SkuTier = 'Free' | 'Basic' | 'Standard' | 'Premium';
1581
+
1582
+ /**
1583
+ * Defines values for ResourceIdentityType.
1584
+ * Possible values include: 'SystemAssigned'
1585
+ * @readonly
1586
+ * @enum {string}
1587
+ */
1588
+ export type ResourceIdentityType = 'SystemAssigned';
1589
+
1590
+ /**
1591
+ * Defines values for RegistrationState.
1592
+ * Possible values include: 'Registered', 'NotRegistered'
1593
+ * @readonly
1594
+ * @enum {string}
1595
+ */
1596
+ export type RegistrationState = 'Registered' | 'NotRegistered';
1597
+
1598
+ /**
1599
+ * Defines values for InvitationState.
1600
+ * Possible values include: 'NotSent', 'Sending', 'Sent', 'Failed'
1601
+ * @readonly
1602
+ * @enum {string}
1603
+ */
1604
+ export type InvitationState = 'NotSent' | 'Sending' | 'Sent' | 'Failed';
1605
+
1606
+ /**
1607
+ * Defines values for VirtualMachineState.
1608
+ * Possible values include: 'Stopped', 'Starting', 'Running', 'Stopping', 'ResettingPassword',
1609
+ * 'Reimaging', 'Redeploying'
1610
+ * @readonly
1611
+ * @enum {string}
1612
+ */
1613
+ export type VirtualMachineState = 'Stopped' | 'Starting' | 'Running' | 'Stopping' | 'ResettingPassword' | 'Reimaging' | 'Redeploying';
1614
+
1615
+ /**
1616
+ * Defines values for VirtualMachineType.
1617
+ * Possible values include: 'User', 'Template'
1618
+ * @readonly
1619
+ * @enum {string}
1620
+ */
1621
+ export type VirtualMachineType = 'User' | 'Template';
1622
+
1623
+ /**
1624
+ * Defines values for RecurrenceFrequency.
1625
+ * Possible values include: 'Daily', 'Weekly'
1626
+ * @readonly
1627
+ * @enum {string}
1628
+ */
1629
+ export type RecurrenceFrequency = 'Daily' | 'Weekly';
1630
+
1631
+ /**
1632
+ * Defines values for WeekDay.
1633
+ * Possible values include: 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday',
1634
+ * 'Saturday'
1635
+ * @readonly
1636
+ * @enum {string}
1637
+ */
1638
+ export type WeekDay = 'Sunday' | 'Monday' | 'Tuesday' | 'Wednesday' | 'Thursday' | 'Friday' | 'Saturday';
1738
1639
 
1739
1640
  /**
1740
- * Contains response data for the getEnvironment operation.
1641
+ * Contains response data for the list operation.
1741
1642
  */
1742
- export type GlobalUsersGetEnvironmentResponse = GetEnvironmentResponse & {
1643
+ export type OperationsListResponse = OperationListResult & {
1743
1644
  /**
1744
1645
  * The underlying HTTP response.
1745
1646
  */
@@ -1752,14 +1653,14 @@ export type GlobalUsersGetEnvironmentResponse = GetEnvironmentResponse & {
1752
1653
  /**
1753
1654
  * The response body as parsed JSON or XML
1754
1655
  */
1755
- parsedBody: GetEnvironmentResponse;
1656
+ parsedBody: OperationListResult;
1756
1657
  };
1757
1658
  };
1758
1659
 
1759
1660
  /**
1760
- * Contains response data for the getOperationBatchStatus operation.
1661
+ * Contains response data for the listNext operation.
1761
1662
  */
1762
- export type GlobalUsersGetOperationBatchStatusResponse = OperationBatchStatusResponse & {
1663
+ export type OperationsListNextResponse = OperationListResult & {
1763
1664
  /**
1764
1665
  * The underlying HTTP response.
1765
1666
  */
@@ -1772,14 +1673,14 @@ export type GlobalUsersGetOperationBatchStatusResponse = OperationBatchStatusRes
1772
1673
  /**
1773
1674
  * The response body as parsed JSON or XML
1774
1675
  */
1775
- parsedBody: OperationBatchStatusResponse;
1676
+ parsedBody: OperationListResult;
1776
1677
  };
1777
1678
  };
1778
1679
 
1779
1680
  /**
1780
- * Contains response data for the getOperationStatus operation.
1681
+ * Contains response data for the get operation.
1781
1682
  */
1782
- export type GlobalUsersGetOperationStatusResponse = OperationStatusResponse & {
1683
+ export type OperationResultsGetResponse = OperationResult & {
1783
1684
  /**
1784
1685
  * The underlying HTTP response.
1785
1686
  */
@@ -1792,14 +1693,14 @@ export type GlobalUsersGetOperationStatusResponse = OperationStatusResponse & {
1792
1693
  /**
1793
1694
  * The response body as parsed JSON or XML
1794
1695
  */
1795
- parsedBody: OperationStatusResponse;
1696
+ parsedBody: OperationResult;
1796
1697
  };
1797
1698
  };
1798
1699
 
1799
1700
  /**
1800
- * Contains response data for the getPersonalPreferences operation.
1701
+ * Contains response data for the listBySubscription operation.
1801
1702
  */
1802
- export type GlobalUsersGetPersonalPreferencesResponse = GetPersonalPreferencesResponse & {
1703
+ export type LabPlansListBySubscriptionResponse = PagedLabPlans & {
1803
1704
  /**
1804
1705
  * The underlying HTTP response.
1805
1706
  */
@@ -1812,14 +1713,14 @@ export type GlobalUsersGetPersonalPreferencesResponse = GetPersonalPreferencesRe
1812
1713
  /**
1813
1714
  * The response body as parsed JSON or XML
1814
1715
  */
1815
- parsedBody: GetPersonalPreferencesResponse;
1716
+ parsedBody: PagedLabPlans;
1816
1717
  };
1817
1718
  };
1818
1719
 
1819
1720
  /**
1820
- * Contains response data for the listEnvironments operation.
1721
+ * Contains response data for the listByResourceGroup operation.
1821
1722
  */
1822
- export type GlobalUsersListEnvironmentsResponse = ListEnvironmentsResponse & {
1723
+ export type LabPlansListByResourceGroupResponse = PagedLabPlans & {
1823
1724
  /**
1824
1725
  * The underlying HTTP response.
1825
1726
  */
@@ -1832,14 +1733,14 @@ export type GlobalUsersListEnvironmentsResponse = ListEnvironmentsResponse & {
1832
1733
  /**
1833
1734
  * The response body as parsed JSON or XML
1834
1735
  */
1835
- parsedBody: ListEnvironmentsResponse;
1736
+ parsedBody: PagedLabPlans;
1836
1737
  };
1837
1738
  };
1838
1739
 
1839
1740
  /**
1840
- * Contains response data for the listLabs operation.
1741
+ * Contains response data for the get operation.
1841
1742
  */
1842
- export type GlobalUsersListLabsResponse = ListLabsResponse & {
1743
+ export type LabPlansGetResponse = LabPlan & {
1843
1744
  /**
1844
1745
  * The underlying HTTP response.
1845
1746
  */
@@ -1852,14 +1753,14 @@ export type GlobalUsersListLabsResponse = ListLabsResponse & {
1852
1753
  /**
1853
1754
  * The response body as parsed JSON or XML
1854
1755
  */
1855
- parsedBody: ListLabsResponse;
1756
+ parsedBody: LabPlan;
1856
1757
  };
1857
1758
  };
1858
1759
 
1859
1760
  /**
1860
- * Contains response data for the listBySubscription operation.
1761
+ * Contains response data for the createOrUpdate operation.
1861
1762
  */
1862
- export type LabAccountsListBySubscriptionResponse = ResponseWithContinuationLabAccount & {
1763
+ export type LabPlansCreateOrUpdateResponse = LabPlan & {
1863
1764
  /**
1864
1765
  * The underlying HTTP response.
1865
1766
  */
@@ -1872,14 +1773,14 @@ export type LabAccountsListBySubscriptionResponse = ResponseWithContinuationLabA
1872
1773
  /**
1873
1774
  * The response body as parsed JSON or XML
1874
1775
  */
1875
- parsedBody: ResponseWithContinuationLabAccount;
1776
+ parsedBody: LabPlan;
1876
1777
  };
1877
1778
  };
1878
1779
 
1879
1780
  /**
1880
- * Contains response data for the listByResourceGroup operation.
1781
+ * Contains response data for the update operation.
1881
1782
  */
1882
- export type LabAccountsListByResourceGroupResponse = ResponseWithContinuationLabAccount & {
1783
+ export type LabPlansUpdateResponse = LabPlan & {
1883
1784
  /**
1884
1785
  * The underlying HTTP response.
1885
1786
  */
@@ -1892,14 +1793,14 @@ export type LabAccountsListByResourceGroupResponse = ResponseWithContinuationLab
1892
1793
  /**
1893
1794
  * The response body as parsed JSON or XML
1894
1795
  */
1895
- parsedBody: ResponseWithContinuationLabAccount;
1796
+ parsedBody: LabPlan;
1896
1797
  };
1897
1798
  };
1898
1799
 
1899
1800
  /**
1900
- * Contains response data for the get operation.
1801
+ * Contains response data for the beginCreateOrUpdate operation.
1901
1802
  */
1902
- export type LabAccountsGetResponse = LabAccount & {
1803
+ export type LabPlansBeginCreateOrUpdateResponse = LabPlan & {
1903
1804
  /**
1904
1805
  * The underlying HTTP response.
1905
1806
  */
@@ -1912,14 +1813,14 @@ export type LabAccountsGetResponse = LabAccount & {
1912
1813
  /**
1913
1814
  * The response body as parsed JSON or XML
1914
1815
  */
1915
- parsedBody: LabAccount;
1816
+ parsedBody: LabPlan;
1916
1817
  };
1917
1818
  };
1918
1819
 
1919
1820
  /**
1920
- * Contains response data for the createOrUpdate operation.
1821
+ * Contains response data for the beginUpdate operation.
1921
1822
  */
1922
- export type LabAccountsCreateOrUpdateResponse = LabAccount & {
1823
+ export type LabPlansBeginUpdateResponse = LabPlan & {
1923
1824
  /**
1924
1825
  * The underlying HTTP response.
1925
1826
  */
@@ -1932,14 +1833,14 @@ export type LabAccountsCreateOrUpdateResponse = LabAccount & {
1932
1833
  /**
1933
1834
  * The response body as parsed JSON or XML
1934
1835
  */
1935
- parsedBody: LabAccount;
1836
+ parsedBody: LabPlan;
1936
1837
  };
1937
1838
  };
1938
1839
 
1939
1840
  /**
1940
- * Contains response data for the update operation.
1841
+ * Contains response data for the listBySubscriptionNext operation.
1941
1842
  */
1942
- export type LabAccountsUpdateResponse = LabAccount & {
1843
+ export type LabPlansListBySubscriptionNextResponse = PagedLabPlans & {
1943
1844
  /**
1944
1845
  * The underlying HTTP response.
1945
1846
  */
@@ -1952,14 +1853,14 @@ export type LabAccountsUpdateResponse = LabAccount & {
1952
1853
  /**
1953
1854
  * The response body as parsed JSON or XML
1954
1855
  */
1955
- parsedBody: LabAccount;
1856
+ parsedBody: PagedLabPlans;
1956
1857
  };
1957
1858
  };
1958
1859
 
1959
1860
  /**
1960
- * Contains response data for the getRegionalAvailability operation.
1861
+ * Contains response data for the listByResourceGroupNext operation.
1961
1862
  */
1962
- export type LabAccountsGetRegionalAvailabilityResponse = GetRegionalAvailabilityResponse & {
1863
+ export type LabPlansListByResourceGroupNextResponse = PagedLabPlans & {
1963
1864
  /**
1964
1865
  * The underlying HTTP response.
1965
1866
  */
@@ -1972,14 +1873,14 @@ export type LabAccountsGetRegionalAvailabilityResponse = GetRegionalAvailability
1972
1873
  /**
1973
1874
  * The response body as parsed JSON or XML
1974
1875
  */
1975
- parsedBody: GetRegionalAvailabilityResponse;
1876
+ parsedBody: PagedLabPlans;
1976
1877
  };
1977
1878
  };
1978
1879
 
1979
1880
  /**
1980
- * Contains response data for the listBySubscriptionNext operation.
1881
+ * Contains response data for the listByLabPlan operation.
1981
1882
  */
1982
- export type LabAccountsListBySubscriptionNextResponse = ResponseWithContinuationLabAccount & {
1883
+ export type ImagesListByLabPlanResponse = PagedImages & {
1983
1884
  /**
1984
1885
  * The underlying HTTP response.
1985
1886
  */
@@ -1992,14 +1893,14 @@ export type LabAccountsListBySubscriptionNextResponse = ResponseWithContinuation
1992
1893
  /**
1993
1894
  * The response body as parsed JSON or XML
1994
1895
  */
1995
- parsedBody: ResponseWithContinuationLabAccount;
1896
+ parsedBody: PagedImages;
1996
1897
  };
1997
1898
  };
1998
1899
 
1999
1900
  /**
2000
- * Contains response data for the listByResourceGroupNext operation.
1901
+ * Contains response data for the get operation.
2001
1902
  */
2002
- export type LabAccountsListByResourceGroupNextResponse = ResponseWithContinuationLabAccount & {
1903
+ export type ImagesGetResponse = Image & {
2003
1904
  /**
2004
1905
  * The underlying HTTP response.
2005
1906
  */
@@ -2012,14 +1913,14 @@ export type LabAccountsListByResourceGroupNextResponse = ResponseWithContinuatio
2012
1913
  /**
2013
1914
  * The response body as parsed JSON or XML
2014
1915
  */
2015
- parsedBody: ResponseWithContinuationLabAccount;
1916
+ parsedBody: Image;
2016
1917
  };
2017
1918
  };
2018
1919
 
2019
1920
  /**
2020
- * Contains response data for the get operation.
1921
+ * Contains response data for the createOrUpdate operation.
2021
1922
  */
2022
- export type OperationsGetResponse = OperationResult & {
1923
+ export type ImagesCreateOrUpdateResponse = Image & {
2023
1924
  /**
2024
1925
  * The underlying HTTP response.
2025
1926
  */
@@ -2032,14 +1933,14 @@ export type OperationsGetResponse = OperationResult & {
2032
1933
  /**
2033
1934
  * The response body as parsed JSON or XML
2034
1935
  */
2035
- parsedBody: OperationResult;
1936
+ parsedBody: Image;
2036
1937
  };
2037
1938
  };
2038
1939
 
2039
1940
  /**
2040
- * Contains response data for the list operation.
1941
+ * Contains response data for the update operation.
2041
1942
  */
2042
- export type GalleryImagesListResponse = ResponseWithContinuationGalleryImage & {
1943
+ export type ImagesUpdateResponse = Image & {
2043
1944
  /**
2044
1945
  * The underlying HTTP response.
2045
1946
  */
@@ -2052,14 +1953,14 @@ export type GalleryImagesListResponse = ResponseWithContinuationGalleryImage & {
2052
1953
  /**
2053
1954
  * The response body as parsed JSON or XML
2054
1955
  */
2055
- parsedBody: ResponseWithContinuationGalleryImage;
1956
+ parsedBody: Image;
2056
1957
  };
2057
1958
  };
2058
1959
 
2059
1960
  /**
2060
- * Contains response data for the get operation.
1961
+ * Contains response data for the listByLabPlanNext operation.
2061
1962
  */
2062
- export type GalleryImagesGetResponse = GalleryImage & {
1963
+ export type ImagesListByLabPlanNextResponse = PagedImages & {
2063
1964
  /**
2064
1965
  * The underlying HTTP response.
2065
1966
  */
@@ -2072,14 +1973,14 @@ export type GalleryImagesGetResponse = GalleryImage & {
2072
1973
  /**
2073
1974
  * The response body as parsed JSON or XML
2074
1975
  */
2075
- parsedBody: GalleryImage;
1976
+ parsedBody: PagedImages;
2076
1977
  };
2077
1978
  };
2078
1979
 
2079
1980
  /**
2080
- * Contains response data for the createOrUpdate operation.
1981
+ * Contains response data for the listBySubscription operation.
2081
1982
  */
2082
- export type GalleryImagesCreateOrUpdateResponse = GalleryImage & {
1983
+ export type LabsListBySubscriptionResponse = PagedLabs & {
2083
1984
  /**
2084
1985
  * The underlying HTTP response.
2085
1986
  */
@@ -2092,14 +1993,14 @@ export type GalleryImagesCreateOrUpdateResponse = GalleryImage & {
2092
1993
  /**
2093
1994
  * The response body as parsed JSON or XML
2094
1995
  */
2095
- parsedBody: GalleryImage;
1996
+ parsedBody: PagedLabs;
2096
1997
  };
2097
1998
  };
2098
1999
 
2099
2000
  /**
2100
- * Contains response data for the update operation.
2001
+ * Contains response data for the listByResourceGroup operation.
2101
2002
  */
2102
- export type GalleryImagesUpdateResponse = GalleryImage & {
2003
+ export type LabsListByResourceGroupResponse = PagedLabs & {
2103
2004
  /**
2104
2005
  * The underlying HTTP response.
2105
2006
  */
@@ -2112,14 +2013,14 @@ export type GalleryImagesUpdateResponse = GalleryImage & {
2112
2013
  /**
2113
2014
  * The response body as parsed JSON or XML
2114
2015
  */
2115
- parsedBody: GalleryImage;
2016
+ parsedBody: PagedLabs;
2116
2017
  };
2117
2018
  };
2118
2019
 
2119
2020
  /**
2120
- * Contains response data for the listNext operation.
2021
+ * Contains response data for the get operation.
2121
2022
  */
2122
- export type GalleryImagesListNextResponse = ResponseWithContinuationGalleryImage & {
2023
+ export type LabsGetResponse = Lab & {
2123
2024
  /**
2124
2025
  * The underlying HTTP response.
2125
2026
  */
@@ -2132,14 +2033,14 @@ export type GalleryImagesListNextResponse = ResponseWithContinuationGalleryImage
2132
2033
  /**
2133
2034
  * The response body as parsed JSON or XML
2134
2035
  */
2135
- parsedBody: ResponseWithContinuationGalleryImage;
2036
+ parsedBody: Lab;
2136
2037
  };
2137
2038
  };
2138
2039
 
2139
2040
  /**
2140
- * Contains response data for the list operation.
2041
+ * Contains response data for the createOrUpdate operation.
2141
2042
  */
2142
- export type LabsListResponse = ResponseWithContinuationLab & {
2043
+ export type LabsCreateOrUpdateResponse = Lab & {
2143
2044
  /**
2144
2045
  * The underlying HTTP response.
2145
2046
  */
@@ -2152,14 +2053,14 @@ export type LabsListResponse = ResponseWithContinuationLab & {
2152
2053
  /**
2153
2054
  * The response body as parsed JSON or XML
2154
2055
  */
2155
- parsedBody: ResponseWithContinuationLab;
2056
+ parsedBody: Lab;
2156
2057
  };
2157
2058
  };
2158
2059
 
2159
2060
  /**
2160
- * Contains response data for the get operation.
2061
+ * Contains response data for the update operation.
2161
2062
  */
2162
- export type LabsGetResponse = Lab & {
2063
+ export type LabsUpdateResponse = Lab & {
2163
2064
  /**
2164
2065
  * The underlying HTTP response.
2165
2066
  */
@@ -2177,9 +2078,9 @@ export type LabsGetResponse = Lab & {
2177
2078
  };
2178
2079
 
2179
2080
  /**
2180
- * Contains response data for the createOrUpdate operation.
2081
+ * Contains response data for the beginCreateOrUpdate operation.
2181
2082
  */
2182
- export type LabsCreateOrUpdateResponse = Lab & {
2083
+ export type LabsBeginCreateOrUpdateResponse = Lab & {
2183
2084
  /**
2184
2085
  * The underlying HTTP response.
2185
2086
  */
@@ -2197,9 +2098,9 @@ export type LabsCreateOrUpdateResponse = Lab & {
2197
2098
  };
2198
2099
 
2199
2100
  /**
2200
- * Contains response data for the update operation.
2101
+ * Contains response data for the beginUpdate operation.
2201
2102
  */
2202
- export type LabsUpdateResponse = Lab & {
2103
+ export type LabsBeginUpdateResponse = Lab & {
2203
2104
  /**
2204
2105
  * The underlying HTTP response.
2205
2106
  */
@@ -2217,9 +2118,9 @@ export type LabsUpdateResponse = Lab & {
2217
2118
  };
2218
2119
 
2219
2120
  /**
2220
- * Contains response data for the listNext operation.
2121
+ * Contains response data for the listBySubscriptionNext operation.
2221
2122
  */
2222
- export type LabsListNextResponse = ResponseWithContinuationLab & {
2123
+ export type LabsListBySubscriptionNextResponse = PagedLabs & {
2223
2124
  /**
2224
2125
  * The underlying HTTP response.
2225
2126
  */
@@ -2232,14 +2133,14 @@ export type LabsListNextResponse = ResponseWithContinuationLab & {
2232
2133
  /**
2233
2134
  * The response body as parsed JSON or XML
2234
2135
  */
2235
- parsedBody: ResponseWithContinuationLab;
2136
+ parsedBody: PagedLabs;
2236
2137
  };
2237
2138
  };
2238
2139
 
2239
2140
  /**
2240
- * Contains response data for the list operation.
2141
+ * Contains response data for the listByResourceGroupNext operation.
2241
2142
  */
2242
- export type EnvironmentSettingsListResponse = ResponseWithContinuationEnvironmentSetting & {
2143
+ export type LabsListByResourceGroupNextResponse = PagedLabs & {
2243
2144
  /**
2244
2145
  * The underlying HTTP response.
2245
2146
  */
@@ -2252,14 +2153,14 @@ export type EnvironmentSettingsListResponse = ResponseWithContinuationEnvironmen
2252
2153
  /**
2253
2154
  * The response body as parsed JSON or XML
2254
2155
  */
2255
- parsedBody: ResponseWithContinuationEnvironmentSetting;
2156
+ parsedBody: PagedLabs;
2256
2157
  };
2257
2158
  };
2258
2159
 
2259
2160
  /**
2260
- * Contains response data for the get operation.
2161
+ * Contains response data for the listByLab operation.
2261
2162
  */
2262
- export type EnvironmentSettingsGetResponse = EnvironmentSetting & {
2163
+ export type UsersListByLabResponse = PagedUsers & {
2263
2164
  /**
2264
2165
  * The underlying HTTP response.
2265
2166
  */
@@ -2272,14 +2173,14 @@ export type EnvironmentSettingsGetResponse = EnvironmentSetting & {
2272
2173
  /**
2273
2174
  * The response body as parsed JSON or XML
2274
2175
  */
2275
- parsedBody: EnvironmentSetting;
2176
+ parsedBody: PagedUsers;
2276
2177
  };
2277
2178
  };
2278
2179
 
2279
2180
  /**
2280
- * Contains response data for the createOrUpdate operation.
2181
+ * Contains response data for the get operation.
2281
2182
  */
2282
- export type EnvironmentSettingsCreateOrUpdateResponse = EnvironmentSetting & {
2183
+ export type UsersGetResponse = User & {
2283
2184
  /**
2284
2185
  * The underlying HTTP response.
2285
2186
  */
@@ -2292,14 +2193,14 @@ export type EnvironmentSettingsCreateOrUpdateResponse = EnvironmentSetting & {
2292
2193
  /**
2293
2194
  * The response body as parsed JSON or XML
2294
2195
  */
2295
- parsedBody: EnvironmentSetting;
2196
+ parsedBody: User;
2296
2197
  };
2297
2198
  };
2298
2199
 
2299
2200
  /**
2300
- * Contains response data for the update operation.
2201
+ * Contains response data for the createOrUpdate operation.
2301
2202
  */
2302
- export type EnvironmentSettingsUpdateResponse = EnvironmentSetting & {
2203
+ export type UsersCreateOrUpdateResponse = User & {
2303
2204
  /**
2304
2205
  * The underlying HTTP response.
2305
2206
  */
@@ -2312,14 +2213,14 @@ export type EnvironmentSettingsUpdateResponse = EnvironmentSetting & {
2312
2213
  /**
2313
2214
  * The response body as parsed JSON or XML
2314
2215
  */
2315
- parsedBody: EnvironmentSetting;
2216
+ parsedBody: User;
2316
2217
  };
2317
2218
  };
2318
2219
 
2319
2220
  /**
2320
- * Contains response data for the beginCreateOrUpdate operation.
2221
+ * Contains response data for the update operation.
2321
2222
  */
2322
- export type EnvironmentSettingsBeginCreateOrUpdateResponse = EnvironmentSetting & {
2223
+ export type UsersUpdateResponse = User & {
2323
2224
  /**
2324
2225
  * The underlying HTTP response.
2325
2226
  */
@@ -2332,14 +2233,14 @@ export type EnvironmentSettingsBeginCreateOrUpdateResponse = EnvironmentSetting
2332
2233
  /**
2333
2234
  * The response body as parsed JSON or XML
2334
2235
  */
2335
- parsedBody: EnvironmentSetting;
2236
+ parsedBody: User;
2336
2237
  };
2337
2238
  };
2338
2239
 
2339
2240
  /**
2340
- * Contains response data for the listNext operation.
2241
+ * Contains response data for the beginCreateOrUpdate operation.
2341
2242
  */
2342
- export type EnvironmentSettingsListNextResponse = ResponseWithContinuationEnvironmentSetting & {
2243
+ export type UsersBeginCreateOrUpdateResponse = User & {
2343
2244
  /**
2344
2245
  * The underlying HTTP response.
2345
2246
  */
@@ -2352,14 +2253,14 @@ export type EnvironmentSettingsListNextResponse = ResponseWithContinuationEnviro
2352
2253
  /**
2353
2254
  * The response body as parsed JSON or XML
2354
2255
  */
2355
- parsedBody: ResponseWithContinuationEnvironmentSetting;
2256
+ parsedBody: User;
2356
2257
  };
2357
2258
  };
2358
2259
 
2359
2260
  /**
2360
- * Contains response data for the list operation.
2261
+ * Contains response data for the beginUpdate operation.
2361
2262
  */
2362
- export type EnvironmentsListResponse = ResponseWithContinuationEnvironment & {
2263
+ export type UsersBeginUpdateResponse = User & {
2363
2264
  /**
2364
2265
  * The underlying HTTP response.
2365
2266
  */
@@ -2372,14 +2273,14 @@ export type EnvironmentsListResponse = ResponseWithContinuationEnvironment & {
2372
2273
  /**
2373
2274
  * The response body as parsed JSON or XML
2374
2275
  */
2375
- parsedBody: ResponseWithContinuationEnvironment;
2276
+ parsedBody: User;
2376
2277
  };
2377
2278
  };
2378
2279
 
2379
2280
  /**
2380
- * Contains response data for the get operation.
2281
+ * Contains response data for the listByLabNext operation.
2381
2282
  */
2382
- export type EnvironmentsGetResponse = Environment & {
2283
+ export type UsersListByLabNextResponse = PagedUsers & {
2383
2284
  /**
2384
2285
  * The underlying HTTP response.
2385
2286
  */
@@ -2392,14 +2293,14 @@ export type EnvironmentsGetResponse = Environment & {
2392
2293
  /**
2393
2294
  * The response body as parsed JSON or XML
2394
2295
  */
2395
- parsedBody: Environment;
2296
+ parsedBody: PagedUsers;
2396
2297
  };
2397
2298
  };
2398
2299
 
2399
2300
  /**
2400
- * Contains response data for the createOrUpdate operation.
2301
+ * Contains response data for the listByLab operation.
2401
2302
  */
2402
- export type EnvironmentsCreateOrUpdateResponse = Environment & {
2303
+ export type VirtualMachinesListByLabResponse = PagedVirtualMachines & {
2403
2304
  /**
2404
2305
  * The underlying HTTP response.
2405
2306
  */
@@ -2412,14 +2313,14 @@ export type EnvironmentsCreateOrUpdateResponse = Environment & {
2412
2313
  /**
2413
2314
  * The response body as parsed JSON or XML
2414
2315
  */
2415
- parsedBody: Environment;
2316
+ parsedBody: PagedVirtualMachines;
2416
2317
  };
2417
2318
  };
2418
2319
 
2419
2320
  /**
2420
- * Contains response data for the update operation.
2321
+ * Contains response data for the get operation.
2421
2322
  */
2422
- export type EnvironmentsUpdateResponse = Environment & {
2323
+ export type VirtualMachinesGetResponse = VirtualMachine & {
2423
2324
  /**
2424
2325
  * The underlying HTTP response.
2425
2326
  */
@@ -2432,14 +2333,14 @@ export type EnvironmentsUpdateResponse = Environment & {
2432
2333
  /**
2433
2334
  * The response body as parsed JSON or XML
2434
2335
  */
2435
- parsedBody: Environment;
2336
+ parsedBody: VirtualMachine;
2436
2337
  };
2437
2338
  };
2438
2339
 
2439
2340
  /**
2440
- * Contains response data for the listNext operation.
2341
+ * Contains response data for the listByLabNext operation.
2441
2342
  */
2442
- export type EnvironmentsListNextResponse = ResponseWithContinuationEnvironment & {
2343
+ export type VirtualMachinesListByLabNextResponse = PagedVirtualMachines & {
2443
2344
  /**
2444
2345
  * The underlying HTTP response.
2445
2346
  */
@@ -2452,14 +2353,14 @@ export type EnvironmentsListNextResponse = ResponseWithContinuationEnvironment &
2452
2353
  /**
2453
2354
  * The response body as parsed JSON or XML
2454
2355
  */
2455
- parsedBody: ResponseWithContinuationEnvironment;
2356
+ parsedBody: PagedVirtualMachines;
2456
2357
  };
2457
2358
  };
2458
2359
 
2459
2360
  /**
2460
- * Contains response data for the list operation.
2361
+ * Contains response data for the listByLab operation.
2461
2362
  */
2462
- export type UsersListResponse = ResponseWithContinuationUser & {
2363
+ export type SchedulesListByLabResponse = PagedSchedules & {
2463
2364
  /**
2464
2365
  * The underlying HTTP response.
2465
2366
  */
@@ -2472,14 +2373,14 @@ export type UsersListResponse = ResponseWithContinuationUser & {
2472
2373
  /**
2473
2374
  * The response body as parsed JSON or XML
2474
2375
  */
2475
- parsedBody: ResponseWithContinuationUser;
2376
+ parsedBody: PagedSchedules;
2476
2377
  };
2477
2378
  };
2478
2379
 
2479
2380
  /**
2480
2381
  * Contains response data for the get operation.
2481
2382
  */
2482
- export type UsersGetResponse = User & {
2383
+ export type SchedulesGetResponse = Schedule & {
2483
2384
  /**
2484
2385
  * The underlying HTTP response.
2485
2386
  */
@@ -2492,14 +2393,14 @@ export type UsersGetResponse = User & {
2492
2393
  /**
2493
2394
  * The response body as parsed JSON or XML
2494
2395
  */
2495
- parsedBody: User;
2396
+ parsedBody: Schedule;
2496
2397
  };
2497
2398
  };
2498
2399
 
2499
2400
  /**
2500
2401
  * Contains response data for the createOrUpdate operation.
2501
2402
  */
2502
- export type UsersCreateOrUpdateResponse = User & {
2403
+ export type SchedulesCreateOrUpdateResponse = Schedule & {
2503
2404
  /**
2504
2405
  * The underlying HTTP response.
2505
2406
  */
@@ -2512,14 +2413,14 @@ export type UsersCreateOrUpdateResponse = User & {
2512
2413
  /**
2513
2414
  * The response body as parsed JSON or XML
2514
2415
  */
2515
- parsedBody: User;
2416
+ parsedBody: Schedule;
2516
2417
  };
2517
2418
  };
2518
2419
 
2519
2420
  /**
2520
2421
  * Contains response data for the update operation.
2521
2422
  */
2522
- export type UsersUpdateResponse = User & {
2423
+ export type SchedulesUpdateResponse = Schedule & {
2523
2424
  /**
2524
2425
  * The underlying HTTP response.
2525
2426
  */
@@ -2532,14 +2433,14 @@ export type UsersUpdateResponse = User & {
2532
2433
  /**
2533
2434
  * The response body as parsed JSON or XML
2534
2435
  */
2535
- parsedBody: User;
2436
+ parsedBody: Schedule;
2536
2437
  };
2537
2438
  };
2538
2439
 
2539
2440
  /**
2540
- * Contains response data for the listNext operation.
2441
+ * Contains response data for the listByLabNext operation.
2541
2442
  */
2542
- export type UsersListNextResponse = ResponseWithContinuationUser & {
2443
+ export type SchedulesListByLabNextResponse = PagedSchedules & {
2543
2444
  /**
2544
2445
  * The underlying HTTP response.
2545
2446
  */
@@ -2552,6 +2453,6 @@ export type UsersListNextResponse = ResponseWithContinuationUser & {
2552
2453
  /**
2553
2454
  * The response body as parsed JSON or XML
2554
2455
  */
2555
- parsedBody: ResponseWithContinuationUser;
2456
+ parsedBody: PagedSchedules;
2556
2457
  };
2557
2458
  };