@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,7 +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
4
- * license information.
2
+ * Copyright (c) Microsoft Corporation.
3
+ * Licensed under the MIT License.
5
4
  *
6
5
  * Code generated by Microsoft (R) AutoRest Code Generator.
7
6
  * Changes may cause incorrect behavior and will be lost if the code is
@@ -13,88 +12,91 @@ import * as msRestAzure from "@azure/ms-rest-azure-js";
13
12
  import * as Models from "../models";
14
13
  import * as Mappers from "../models/usersMappers";
15
14
  import * as Parameters from "../models/parameters";
16
- import { ManagedLabsClientContext } from "../managedLabsClientContext";
15
+ import { LabServicesClientContext } from "../labServicesClientContext";
17
16
 
18
17
  /** Class representing a Users. */
19
18
  export class Users {
20
- private readonly client: ManagedLabsClientContext;
19
+ private readonly client: LabServicesClientContext;
21
20
 
22
21
  /**
23
22
  * Create a Users.
24
- * @param {ManagedLabsClientContext} client Reference to the service client.
23
+ * @param {LabServicesClientContext} client Reference to the service client.
25
24
  */
26
- constructor(client: ManagedLabsClientContext) {
25
+ constructor(client: LabServicesClientContext) {
27
26
  this.client = client;
28
27
  }
29
28
 
30
29
  /**
31
- * List users in a given lab.
32
- * @param resourceGroupName The name of the resource group.
33
- * @param labAccountName The name of the lab Account.
34
- * @param labName The name of the lab.
30
+ * Returns a list of all users for a lab.
31
+ * @summary Get all users for a lab.
32
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
33
+ * @param labName The name of the lab that uniquely identifies it within containing lab account.
34
+ * Used in resource URIs.
35
35
  * @param [options] The optional parameters
36
- * @returns Promise<Models.UsersListResponse>
36
+ * @returns Promise<Models.UsersListByLabResponse>
37
37
  */
38
- list(resourceGroupName: string, labAccountName: string, labName: string, options?: Models.UsersListOptionalParams): Promise<Models.UsersListResponse>;
38
+ listByLab(resourceGroupName: string, labName: string, options?: Models.UsersListByLabOptionalParams): Promise<Models.UsersListByLabResponse>;
39
39
  /**
40
- * @param resourceGroupName The name of the resource group.
41
- * @param labAccountName The name of the lab Account.
42
- * @param labName The name of the lab.
40
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
41
+ * @param labName The name of the lab that uniquely identifies it within containing lab account.
42
+ * Used in resource URIs.
43
43
  * @param callback The callback
44
44
  */
45
- list(resourceGroupName: string, labAccountName: string, labName: string, callback: msRest.ServiceCallback<Models.ResponseWithContinuationUser>): void;
45
+ listByLab(resourceGroupName: string, labName: string, callback: msRest.ServiceCallback<Models.PagedUsers>): void;
46
46
  /**
47
- * @param resourceGroupName The name of the resource group.
48
- * @param labAccountName The name of the lab Account.
49
- * @param labName The name of the lab.
47
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
48
+ * @param labName The name of the lab that uniquely identifies it within containing lab account.
49
+ * Used in resource URIs.
50
50
  * @param options The optional parameters
51
51
  * @param callback The callback
52
52
  */
53
- list(resourceGroupName: string, labAccountName: string, labName: string, options: Models.UsersListOptionalParams, callback: msRest.ServiceCallback<Models.ResponseWithContinuationUser>): void;
54
- list(resourceGroupName: string, labAccountName: string, labName: string, options?: Models.UsersListOptionalParams | msRest.ServiceCallback<Models.ResponseWithContinuationUser>, callback?: msRest.ServiceCallback<Models.ResponseWithContinuationUser>): Promise<Models.UsersListResponse> {
53
+ listByLab(resourceGroupName: string, labName: string, options: Models.UsersListByLabOptionalParams, callback: msRest.ServiceCallback<Models.PagedUsers>): void;
54
+ listByLab(resourceGroupName: string, labName: string, options?: Models.UsersListByLabOptionalParams | msRest.ServiceCallback<Models.PagedUsers>, callback?: msRest.ServiceCallback<Models.PagedUsers>): Promise<Models.UsersListByLabResponse> {
55
55
  return this.client.sendOperationRequest(
56
56
  {
57
57
  resourceGroupName,
58
- labAccountName,
59
58
  labName,
60
59
  options
61
60
  },
62
- listOperationSpec,
63
- callback) as Promise<Models.UsersListResponse>;
61
+ listByLabOperationSpec,
62
+ callback) as Promise<Models.UsersListByLabResponse>;
64
63
  }
65
64
 
66
65
  /**
67
- * Get user
68
- * @param resourceGroupName The name of the resource group.
69
- * @param labAccountName The name of the lab Account.
70
- * @param labName The name of the lab.
71
- * @param userName The name of the user.
66
+ * Returns the properties of a lab user.
67
+ * @summary Get a lab user.
68
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
69
+ * @param labName The name of the lab that uniquely identifies it within containing lab account.
70
+ * Used in resource URIs.
71
+ * @param userName The name of the user that uniquely identifies it within containing lab. Used in
72
+ * resource URIs.
72
73
  * @param [options] The optional parameters
73
74
  * @returns Promise<Models.UsersGetResponse>
74
75
  */
75
- get(resourceGroupName: string, labAccountName: string, labName: string, userName: string, options?: Models.UsersGetOptionalParams): Promise<Models.UsersGetResponse>;
76
+ get(resourceGroupName: string, labName: string, userName: string, options?: msRest.RequestOptionsBase): Promise<Models.UsersGetResponse>;
76
77
  /**
77
- * @param resourceGroupName The name of the resource group.
78
- * @param labAccountName The name of the lab Account.
79
- * @param labName The name of the lab.
80
- * @param userName The name of the user.
78
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
79
+ * @param labName The name of the lab that uniquely identifies it within containing lab account.
80
+ * Used in resource URIs.
81
+ * @param userName The name of the user that uniquely identifies it within containing lab. Used in
82
+ * resource URIs.
81
83
  * @param callback The callback
82
84
  */
83
- get(resourceGroupName: string, labAccountName: string, labName: string, userName: string, callback: msRest.ServiceCallback<Models.User>): void;
85
+ get(resourceGroupName: string, labName: string, userName: string, callback: msRest.ServiceCallback<Models.User>): void;
84
86
  /**
85
- * @param resourceGroupName The name of the resource group.
86
- * @param labAccountName The name of the lab Account.
87
- * @param labName The name of the lab.
88
- * @param userName The name of the user.
87
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
88
+ * @param labName The name of the lab that uniquely identifies it within containing lab account.
89
+ * Used in resource URIs.
90
+ * @param userName The name of the user that uniquely identifies it within containing lab. Used in
91
+ * resource URIs.
89
92
  * @param options The optional parameters
90
93
  * @param callback The callback
91
94
  */
92
- get(resourceGroupName: string, labAccountName: string, labName: string, userName: string, options: Models.UsersGetOptionalParams, callback: msRest.ServiceCallback<Models.User>): void;
93
- get(resourceGroupName: string, labAccountName: string, labName: string, userName: string, options?: Models.UsersGetOptionalParams | msRest.ServiceCallback<Models.User>, callback?: msRest.ServiceCallback<Models.User>): Promise<Models.UsersGetResponse> {
95
+ get(resourceGroupName: string, labName: string, userName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.User>): void;
96
+ get(resourceGroupName: string, labName: string, userName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.User>, callback?: msRest.ServiceCallback<Models.User>): Promise<Models.UsersGetResponse> {
94
97
  return this.client.sendOperationRequest(
95
98
  {
96
99
  resourceGroupName,
97
- labAccountName,
98
100
  labName,
99
101
  userName,
100
102
  options
@@ -104,185 +106,223 @@ export class Users {
104
106
  }
105
107
 
106
108
  /**
107
- * Create or replace an existing User.
108
- * @param resourceGroupName The name of the resource group.
109
- * @param labAccountName The name of the lab Account.
110
- * @param labName The name of the lab.
111
- * @param userName The name of the user.
112
- * @param user The User registered to a lab
109
+ * Operation to create or update a lab user.
110
+ * @summary Create or update a lab user.
111
+ * @param body The request body.
112
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
113
+ * @param labName The name of the lab that uniquely identifies it within containing lab account.
114
+ * Used in resource URIs.
115
+ * @param userName The name of the user that uniquely identifies it within containing lab. Used in
116
+ * resource URIs.
113
117
  * @param [options] The optional parameters
114
118
  * @returns Promise<Models.UsersCreateOrUpdateResponse>
115
119
  */
116
- createOrUpdate(resourceGroupName: string, labAccountName: string, labName: string, userName: string, user: Models.User, options?: msRest.RequestOptionsBase): Promise<Models.UsersCreateOrUpdateResponse>;
120
+ createOrUpdate(body: Models.User, resourceGroupName: string, labName: string, userName: string, options?: msRest.RequestOptionsBase): Promise<Models.UsersCreateOrUpdateResponse> {
121
+ return this.beginCreateOrUpdate(body,resourceGroupName,labName,userName,options)
122
+ .then(lroPoller => lroPoller.pollUntilFinished()) as Promise<Models.UsersCreateOrUpdateResponse>;
123
+ }
124
+
117
125
  /**
118
- * @param resourceGroupName The name of the resource group.
119
- * @param labAccountName The name of the lab Account.
120
- * @param labName The name of the lab.
121
- * @param userName The name of the user.
122
- * @param user The User registered to a lab
123
- * @param callback The callback
126
+ * Operation to update a lab user.
127
+ * @summary Update a lab user.
128
+ * @param body The request body.
129
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
130
+ * @param labName The name of the lab that uniquely identifies it within containing lab account.
131
+ * Used in resource URIs.
132
+ * @param userName The name of the user that uniquely identifies it within containing lab. Used in
133
+ * resource URIs.
134
+ * @param [options] The optional parameters
135
+ * @returns Promise<Models.UsersUpdateResponse>
124
136
  */
125
- createOrUpdate(resourceGroupName: string, labAccountName: string, labName: string, userName: string, user: Models.User, callback: msRest.ServiceCallback<Models.User>): void;
137
+ update(body: Models.UserUpdate, resourceGroupName: string, labName: string, userName: string, options?: msRest.RequestOptionsBase): Promise<Models.UsersUpdateResponse> {
138
+ return this.beginUpdate(body,resourceGroupName,labName,userName,options)
139
+ .then(lroPoller => lroPoller.pollUntilFinished()) as Promise<Models.UsersUpdateResponse>;
140
+ }
141
+
126
142
  /**
127
- * @param resourceGroupName The name of the resource group.
128
- * @param labAccountName The name of the lab Account.
129
- * @param labName The name of the lab.
130
- * @param userName The name of the user.
131
- * @param user The User registered to a lab
132
- * @param options The optional parameters
133
- * @param callback The callback
143
+ * Operation to delete a user resource.
144
+ * @summary Deletes a user resource.
145
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
146
+ * @param labName The name of the lab that uniquely identifies it within containing lab account.
147
+ * Used in resource URIs.
148
+ * @param userName The name of the user that uniquely identifies it within containing lab. Used in
149
+ * resource URIs.
150
+ * @param [options] The optional parameters
151
+ * @returns Promise<msRest.RestResponse>
134
152
  */
135
- createOrUpdate(resourceGroupName: string, labAccountName: string, labName: string, userName: string, user: Models.User, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.User>): void;
136
- createOrUpdate(resourceGroupName: string, labAccountName: string, labName: string, userName: string, user: Models.User, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.User>, callback?: msRest.ServiceCallback<Models.User>): Promise<Models.UsersCreateOrUpdateResponse> {
137
- return this.client.sendOperationRequest(
138
- {
139
- resourceGroupName,
140
- labAccountName,
141
- labName,
142
- userName,
143
- user,
144
- options
145
- },
146
- createOrUpdateOperationSpec,
147
- callback) as Promise<Models.UsersCreateOrUpdateResponse>;
153
+ deleteMethod(resourceGroupName: string, labName: string, userName: string, options?: msRest.RequestOptionsBase): Promise<msRest.RestResponse> {
154
+ return this.beginDeleteMethod(resourceGroupName,labName,userName,options)
155
+ .then(lroPoller => lroPoller.pollUntilFinished());
148
156
  }
149
157
 
150
158
  /**
151
- * Delete user. This operation can take a while to complete
152
- * @param resourceGroupName The name of the resource group.
153
- * @param labAccountName The name of the lab Account.
154
- * @param labName The name of the lab.
155
- * @param userName The name of the user.
159
+ * Operation to invite a user to a lab.
160
+ * @summary Invite a user to a lab.
161
+ * @param body The request body.
162
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
163
+ * @param labName The name of the lab that uniquely identifies it within containing lab account.
164
+ * Used in resource URIs.
165
+ * @param userName The name of the user that uniquely identifies it within containing lab. Used in
166
+ * resource URIs.
156
167
  * @param [options] The optional parameters
157
168
  * @returns Promise<msRest.RestResponse>
158
169
  */
159
- deleteMethod(resourceGroupName: string, labAccountName: string, labName: string, userName: string, options?: msRest.RequestOptionsBase): Promise<msRest.RestResponse> {
160
- return this.beginDeleteMethod(resourceGroupName,labAccountName,labName,userName,options)
170
+ invite(body: Models.InviteBody, resourceGroupName: string, labName: string, userName: string, options?: msRest.RequestOptionsBase): Promise<msRest.RestResponse> {
171
+ return this.beginInvite(body,resourceGroupName,labName,userName,options)
161
172
  .then(lroPoller => lroPoller.pollUntilFinished());
162
173
  }
163
174
 
164
175
  /**
165
- * Modify properties of users.
166
- * @param resourceGroupName The name of the resource group.
167
- * @param labAccountName The name of the lab Account.
168
- * @param labName The name of the lab.
169
- * @param userName The name of the user.
170
- * @param user The User registered to a lab
176
+ * Operation to create or update a lab user.
177
+ * @summary Create or update a lab user.
178
+ * @param body The request body.
179
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
180
+ * @param labName The name of the lab that uniquely identifies it within containing lab account.
181
+ * Used in resource URIs.
182
+ * @param userName The name of the user that uniquely identifies it within containing lab. Used in
183
+ * resource URIs.
171
184
  * @param [options] The optional parameters
172
- * @returns Promise<Models.UsersUpdateResponse>
185
+ * @returns Promise<msRestAzure.LROPoller>
173
186
  */
174
- update(resourceGroupName: string, labAccountName: string, labName: string, userName: string, user: Models.UserFragment, options?: msRest.RequestOptionsBase): Promise<Models.UsersUpdateResponse>;
187
+ beginCreateOrUpdate(body: Models.User, resourceGroupName: string, labName: string, userName: string, options?: msRest.RequestOptionsBase): Promise<msRestAzure.LROPoller> {
188
+ return this.client.sendLRORequest(
189
+ {
190
+ body,
191
+ resourceGroupName,
192
+ labName,
193
+ userName,
194
+ options
195
+ },
196
+ beginCreateOrUpdateOperationSpec,
197
+ options);
198
+ }
199
+
175
200
  /**
176
- * @param resourceGroupName The name of the resource group.
177
- * @param labAccountName The name of the lab Account.
178
- * @param labName The name of the lab.
179
- * @param userName The name of the user.
180
- * @param user The User registered to a lab
181
- * @param callback The callback
201
+ * Operation to update a lab user.
202
+ * @summary Update a lab user.
203
+ * @param body The request body.
204
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
205
+ * @param labName The name of the lab that uniquely identifies it within containing lab account.
206
+ * Used in resource URIs.
207
+ * @param userName The name of the user that uniquely identifies it within containing lab. Used in
208
+ * resource URIs.
209
+ * @param [options] The optional parameters
210
+ * @returns Promise<msRestAzure.LROPoller>
182
211
  */
183
- update(resourceGroupName: string, labAccountName: string, labName: string, userName: string, user: Models.UserFragment, callback: msRest.ServiceCallback<Models.User>): void;
212
+ beginUpdate(body: Models.UserUpdate, resourceGroupName: string, labName: string, userName: string, options?: msRest.RequestOptionsBase): Promise<msRestAzure.LROPoller> {
213
+ return this.client.sendLRORequest(
214
+ {
215
+ body,
216
+ resourceGroupName,
217
+ labName,
218
+ userName,
219
+ options
220
+ },
221
+ beginUpdateOperationSpec,
222
+ options);
223
+ }
224
+
184
225
  /**
185
- * @param resourceGroupName The name of the resource group.
186
- * @param labAccountName The name of the lab Account.
187
- * @param labName The name of the lab.
188
- * @param userName The name of the user.
189
- * @param user The User registered to a lab
190
- * @param options The optional parameters
191
- * @param callback The callback
226
+ * Operation to delete a user resource.
227
+ * @summary Deletes a user resource.
228
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
229
+ * @param labName The name of the lab that uniquely identifies it within containing lab account.
230
+ * Used in resource URIs.
231
+ * @param userName The name of the user that uniquely identifies it within containing lab. Used in
232
+ * resource URIs.
233
+ * @param [options] The optional parameters
234
+ * @returns Promise<msRestAzure.LROPoller>
192
235
  */
193
- update(resourceGroupName: string, labAccountName: string, labName: string, userName: string, user: Models.UserFragment, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.User>): void;
194
- update(resourceGroupName: string, labAccountName: string, labName: string, userName: string, user: Models.UserFragment, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.User>, callback?: msRest.ServiceCallback<Models.User>): Promise<Models.UsersUpdateResponse> {
195
- return this.client.sendOperationRequest(
236
+ beginDeleteMethod(resourceGroupName: string, labName: string, userName: string, options?: msRest.RequestOptionsBase): Promise<msRestAzure.LROPoller> {
237
+ return this.client.sendLRORequest(
196
238
  {
197
239
  resourceGroupName,
198
- labAccountName,
199
240
  labName,
200
241
  userName,
201
- user,
202
242
  options
203
243
  },
204
- updateOperationSpec,
205
- callback) as Promise<Models.UsersUpdateResponse>;
244
+ beginDeleteMethodOperationSpec,
245
+ options);
206
246
  }
207
247
 
208
248
  /**
209
- * Delete user. This operation can take a while to complete
210
- * @param resourceGroupName The name of the resource group.
211
- * @param labAccountName The name of the lab Account.
212
- * @param labName The name of the lab.
213
- * @param userName The name of the user.
249
+ * Operation to invite a user to a lab.
250
+ * @summary Invite a user to a lab.
251
+ * @param body The request body.
252
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
253
+ * @param labName The name of the lab that uniquely identifies it within containing lab account.
254
+ * Used in resource URIs.
255
+ * @param userName The name of the user that uniquely identifies it within containing lab. Used in
256
+ * resource URIs.
214
257
  * @param [options] The optional parameters
215
258
  * @returns Promise<msRestAzure.LROPoller>
216
259
  */
217
- beginDeleteMethod(resourceGroupName: string, labAccountName: string, labName: string, userName: string, options?: msRest.RequestOptionsBase): Promise<msRestAzure.LROPoller> {
260
+ beginInvite(body: Models.InviteBody, resourceGroupName: string, labName: string, userName: string, options?: msRest.RequestOptionsBase): Promise<msRestAzure.LROPoller> {
218
261
  return this.client.sendLRORequest(
219
262
  {
263
+ body,
220
264
  resourceGroupName,
221
- labAccountName,
222
265
  labName,
223
266
  userName,
224
267
  options
225
268
  },
226
- beginDeleteMethodOperationSpec,
269
+ beginInviteOperationSpec,
227
270
  options);
228
271
  }
229
272
 
230
273
  /**
231
- * List users in a given lab.
274
+ * Returns a list of all users for a lab.
275
+ * @summary Get all users for a lab.
232
276
  * @param nextPageLink The NextLink from the previous successful call to List operation.
233
277
  * @param [options] The optional parameters
234
- * @returns Promise<Models.UsersListNextResponse>
278
+ * @returns Promise<Models.UsersListByLabNextResponse>
235
279
  */
236
- listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise<Models.UsersListNextResponse>;
280
+ listByLabNext(nextPageLink: string, options?: Models.UsersListByLabNextOptionalParams): Promise<Models.UsersListByLabNextResponse>;
237
281
  /**
238
282
  * @param nextPageLink The NextLink from the previous successful call to List operation.
239
283
  * @param callback The callback
240
284
  */
241
- listNext(nextPageLink: string, callback: msRest.ServiceCallback<Models.ResponseWithContinuationUser>): void;
285
+ listByLabNext(nextPageLink: string, callback: msRest.ServiceCallback<Models.PagedUsers>): void;
242
286
  /**
243
287
  * @param nextPageLink The NextLink from the previous successful call to List operation.
244
288
  * @param options The optional parameters
245
289
  * @param callback The callback
246
290
  */
247
- listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.ResponseWithContinuationUser>): void;
248
- listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.ResponseWithContinuationUser>, callback?: msRest.ServiceCallback<Models.ResponseWithContinuationUser>): Promise<Models.UsersListNextResponse> {
291
+ listByLabNext(nextPageLink: string, options: Models.UsersListByLabNextOptionalParams, callback: msRest.ServiceCallback<Models.PagedUsers>): void;
292
+ listByLabNext(nextPageLink: string, options?: Models.UsersListByLabNextOptionalParams | msRest.ServiceCallback<Models.PagedUsers>, callback?: msRest.ServiceCallback<Models.PagedUsers>): Promise<Models.UsersListByLabNextResponse> {
249
293
  return this.client.sendOperationRequest(
250
294
  {
251
295
  nextPageLink,
252
296
  options
253
297
  },
254
- listNextOperationSpec,
255
- callback) as Promise<Models.UsersListNextResponse>;
298
+ listByLabNextOperationSpec,
299
+ callback) as Promise<Models.UsersListByLabNextResponse>;
256
300
  }
257
301
  }
258
302
 
259
303
  // Operation Specifications
260
304
  const serializer = new msRest.Serializer(Mappers);
261
- const listOperationSpec: msRest.OperationSpec = {
305
+ const listByLabOperationSpec: msRest.OperationSpec = {
262
306
  httpMethod: "GET",
263
- path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/users",
307
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/users",
264
308
  urlParameters: [
265
309
  Parameters.subscriptionId,
266
310
  Parameters.resourceGroupName,
267
- Parameters.labAccountName,
268
311
  Parameters.labName
269
312
  ],
270
313
  queryParameters: [
271
- Parameters.expand,
272
- Parameters.filter,
273
- Parameters.top,
274
- Parameters.orderby,
275
- Parameters.apiVersion
314
+ Parameters.apiVersion,
315
+ Parameters.filter
276
316
  ],
277
317
  headerParameters: [
278
318
  Parameters.acceptLanguage
279
319
  ],
280
320
  responses: {
281
321
  200: {
282
- bodyMapper: Mappers.ResponseWithContinuationUser
322
+ bodyMapper: Mappers.PagedUsers
283
323
  },
284
324
  default: {
285
- bodyMapper: Mappers.CloudError
325
+ bodyMapper: Mappers.ErrorResponse
286
326
  }
287
327
  },
288
328
  serializer
@@ -290,16 +330,14 @@ const listOperationSpec: msRest.OperationSpec = {
290
330
 
291
331
  const getOperationSpec: msRest.OperationSpec = {
292
332
  httpMethod: "GET",
293
- path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/users/{userName}",
333
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/users/{userName}",
294
334
  urlParameters: [
295
335
  Parameters.subscriptionId,
296
336
  Parameters.resourceGroupName,
297
- Parameters.labAccountName,
298
337
  Parameters.labName,
299
338
  Parameters.userName
300
339
  ],
301
340
  queryParameters: [
302
- Parameters.expand,
303
341
  Parameters.apiVersion
304
342
  ],
305
343
  headerParameters: [
@@ -310,19 +348,18 @@ const getOperationSpec: msRest.OperationSpec = {
310
348
  bodyMapper: Mappers.User
311
349
  },
312
350
  default: {
313
- bodyMapper: Mappers.CloudError
351
+ bodyMapper: Mappers.ErrorResponse
314
352
  }
315
353
  },
316
354
  serializer
317
355
  };
318
356
 
319
- const createOrUpdateOperationSpec: msRest.OperationSpec = {
357
+ const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = {
320
358
  httpMethod: "PUT",
321
- path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/users/{userName}",
359
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/users/{userName}",
322
360
  urlParameters: [
323
361
  Parameters.subscriptionId,
324
362
  Parameters.resourceGroupName,
325
- Parameters.labAccountName,
326
363
  Parameters.labName,
327
364
  Parameters.userName
328
365
  ],
@@ -333,7 +370,7 @@ const createOrUpdateOperationSpec: msRest.OperationSpec = {
333
370
  Parameters.acceptLanguage
334
371
  ],
335
372
  requestBody: {
336
- parameterPath: "user",
373
+ parameterPath: "body",
337
374
  mapper: {
338
375
  ...Mappers.User,
339
376
  required: true
@@ -346,20 +383,22 @@ const createOrUpdateOperationSpec: msRest.OperationSpec = {
346
383
  201: {
347
384
  bodyMapper: Mappers.User
348
385
  },
386
+ 202: {
387
+ bodyMapper: Mappers.User
388
+ },
349
389
  default: {
350
- bodyMapper: Mappers.CloudError
390
+ bodyMapper: Mappers.ErrorResponse
351
391
  }
352
392
  },
353
393
  serializer
354
394
  };
355
395
 
356
- const updateOperationSpec: msRest.OperationSpec = {
396
+ const beginUpdateOperationSpec: msRest.OperationSpec = {
357
397
  httpMethod: "PATCH",
358
- path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/users/{userName}",
398
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/users/{userName}",
359
399
  urlParameters: [
360
400
  Parameters.subscriptionId,
361
401
  Parameters.resourceGroupName,
362
- Parameters.labAccountName,
363
402
  Parameters.labName,
364
403
  Parameters.userName
365
404
  ],
@@ -370,9 +409,9 @@ const updateOperationSpec: msRest.OperationSpec = {
370
409
  Parameters.acceptLanguage
371
410
  ],
372
411
  requestBody: {
373
- parameterPath: "user",
412
+ parameterPath: "body",
374
413
  mapper: {
375
- ...Mappers.UserFragment,
414
+ ...Mappers.UserUpdate,
376
415
  required: true
377
416
  }
378
417
  },
@@ -380,8 +419,11 @@ const updateOperationSpec: msRest.OperationSpec = {
380
419
  200: {
381
420
  bodyMapper: Mappers.User
382
421
  },
422
+ 202: {
423
+ bodyMapper: Mappers.User
424
+ },
383
425
  default: {
384
- bodyMapper: Mappers.CloudError
426
+ bodyMapper: Mappers.ErrorResponse
385
427
  }
386
428
  },
387
429
  serializer
@@ -389,11 +431,10 @@ const updateOperationSpec: msRest.OperationSpec = {
389
431
 
390
432
  const beginDeleteMethodOperationSpec: msRest.OperationSpec = {
391
433
  httpMethod: "DELETE",
392
- path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/users/{userName}",
434
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/users/{userName}",
393
435
  urlParameters: [
394
436
  Parameters.subscriptionId,
395
437
  Parameters.resourceGroupName,
396
- Parameters.labAccountName,
397
438
  Parameters.labName,
398
439
  Parameters.userName
399
440
  ],
@@ -404,31 +445,68 @@ const beginDeleteMethodOperationSpec: msRest.OperationSpec = {
404
445
  Parameters.acceptLanguage
405
446
  ],
406
447
  responses: {
448
+ 200: {},
407
449
  202: {},
408
450
  204: {},
409
451
  default: {
410
- bodyMapper: Mappers.CloudError
452
+ bodyMapper: Mappers.ErrorResponse
453
+ }
454
+ },
455
+ serializer
456
+ };
457
+
458
+ const beginInviteOperationSpec: msRest.OperationSpec = {
459
+ httpMethod: "POST",
460
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/users/{userName}/invite",
461
+ urlParameters: [
462
+ Parameters.subscriptionId,
463
+ Parameters.resourceGroupName,
464
+ Parameters.labName,
465
+ Parameters.userName
466
+ ],
467
+ queryParameters: [
468
+ Parameters.apiVersion
469
+ ],
470
+ headerParameters: [
471
+ Parameters.acceptLanguage
472
+ ],
473
+ requestBody: {
474
+ parameterPath: "body",
475
+ mapper: {
476
+ ...Mappers.InviteBody,
477
+ required: true
478
+ }
479
+ },
480
+ responses: {
481
+ 200: {},
482
+ 202: {},
483
+ default: {
484
+ bodyMapper: Mappers.ErrorResponse
411
485
  }
412
486
  },
413
487
  serializer
414
488
  };
415
489
 
416
- const listNextOperationSpec: msRest.OperationSpec = {
490
+ const listByLabNextOperationSpec: msRest.OperationSpec = {
417
491
  httpMethod: "GET",
418
492
  baseUrl: "https://management.azure.com",
419
493
  path: "{nextLink}",
420
494
  urlParameters: [
421
495
  Parameters.nextPageLink
422
496
  ],
497
+ queryParameters: [
498
+ Parameters.apiVersion,
499
+ Parameters.filter
500
+ ],
423
501
  headerParameters: [
424
502
  Parameters.acceptLanguage
425
503
  ],
426
504
  responses: {
427
505
  200: {
428
- bodyMapper: Mappers.ResponseWithContinuationUser
506
+ bodyMapper: Mappers.PagedUsers
429
507
  },
430
508
  default: {
431
- bodyMapper: Mappers.CloudError
509
+ bodyMapper: Mappers.ErrorResponse
432
510
  }
433
511
  },
434
512
  serializer