@alicloud/appstream-center20210901 5.7.0 → 5.8.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 (261) hide show
  1. package/dist/client.d.ts +356 -70
  2. package/dist/client.js +737 -74
  3. package/dist/client.js.map +1 -1
  4. package/dist/models/ApproveOtaTaskRequest.d.ts +2 -2
  5. package/dist/models/ApproveOtaTaskResponseBody.d.ts +1 -1
  6. package/dist/models/AuthorizeInstanceGroupRequest.d.ts +24 -14
  7. package/dist/models/AuthorizeInstanceGroupRequest.js +2 -0
  8. package/dist/models/AuthorizeInstanceGroupRequest.js.map +1 -1
  9. package/dist/models/AuthorizeInstanceGroupResponseBody.d.ts +1 -1
  10. package/dist/models/AuthorizeInstanceGroupShrinkRequest.d.ts +22 -12
  11. package/dist/models/AuthorizeInstanceGroupShrinkRequest.js +2 -0
  12. package/dist/models/AuthorizeInstanceGroupShrinkRequest.js.map +1 -1
  13. package/dist/models/AuthorizeUsersForAppRequest.d.ts +104 -0
  14. package/dist/models/AuthorizeUsersForAppRequest.js +98 -0
  15. package/dist/models/AuthorizeUsersForAppRequest.js.map +1 -0
  16. package/dist/models/AuthorizeUsersForAppResponse.d.ts +19 -0
  17. package/dist/models/AuthorizeUsersForAppResponse.js +69 -0
  18. package/dist/models/AuthorizeUsersForAppResponse.js.map +1 -0
  19. package/dist/models/AuthorizeUsersForAppResponseBody.d.ts +21 -0
  20. package/dist/models/AuthorizeUsersForAppResponseBody.js +58 -0
  21. package/dist/models/AuthorizeUsersForAppResponseBody.js.map +1 -0
  22. package/dist/models/AuthorizeUsersForAppShrinkRequest.d.ts +71 -0
  23. package/dist/models/AuthorizeUsersForAppShrinkRequest.js +74 -0
  24. package/dist/models/AuthorizeUsersForAppShrinkRequest.js.map +1 -0
  25. package/dist/models/CreateAppInstanceGroupRequest.d.ts +63 -63
  26. package/dist/models/CreateAppInstanceGroupShrinkRequest.d.ts +14 -14
  27. package/dist/models/CreateBrowserInstanceGroupRequest.d.ts +1140 -0
  28. package/dist/models/CreateBrowserInstanceGroupRequest.js +609 -0
  29. package/dist/models/CreateBrowserInstanceGroupRequest.js.map +1 -0
  30. package/dist/models/CreateBrowserInstanceGroupResponse.d.ts +19 -0
  31. package/dist/models/CreateBrowserInstanceGroupResponse.js +69 -0
  32. package/dist/models/CreateBrowserInstanceGroupResponse.js.map +1 -0
  33. package/dist/models/CreateBrowserInstanceGroupResponseBody.d.ts +54 -0
  34. package/dist/models/CreateBrowserInstanceGroupResponseBody.js +84 -0
  35. package/dist/models/CreateBrowserInstanceGroupResponseBody.js.map +1 -0
  36. package/dist/models/CreateBrowserInstanceGroupShrinkRequest.d.ts +247 -0
  37. package/dist/models/CreateBrowserInstanceGroupShrinkRequest.js +113 -0
  38. package/dist/models/CreateBrowserInstanceGroupShrinkRequest.js.map +1 -0
  39. package/dist/models/CreateImageByInstanceRequest.d.ts +29 -4
  40. package/dist/models/CreateImageByInstanceRequest.js.map +1 -1
  41. package/dist/models/CreateImageByInstanceResponseBody.d.ts +2 -2
  42. package/dist/models/CreateModelTemplateRequest.d.ts +6 -3
  43. package/dist/models/CreateModelTemplateRequest.js.map +1 -1
  44. package/dist/models/CreateWuyingServerRequest.d.ts +69 -22
  45. package/dist/models/CreateWuyingServerRequest.js +4 -0
  46. package/dist/models/CreateWuyingServerRequest.js.map +1 -1
  47. package/dist/models/DeleteImageResponseBody.d.ts +4 -7
  48. package/dist/models/DeleteImageResponseBody.js.map +1 -1
  49. package/dist/models/DescribeWuyingServerEipInfoRequest.d.ts +2 -2
  50. package/dist/models/DescribeWuyingServerEipInfoResponseBody.d.ts +8 -1
  51. package/dist/models/DescribeWuyingServerEipInfoResponseBody.js.map +1 -1
  52. package/dist/models/DescribeWuyingServerRequest.d.ts +1 -1
  53. package/dist/models/DescribeWuyingServerResponseBody.d.ts +20 -12
  54. package/dist/models/DescribeWuyingServerResponseBody.js +2 -0
  55. package/dist/models/DescribeWuyingServerResponseBody.js.map +1 -1
  56. package/dist/models/GetAppInstanceGroupRequest.d.ts +1 -1
  57. package/dist/models/GetAppInstanceGroupResponseBody.d.ts +25 -18
  58. package/dist/models/GetAppInstanceGroupResponseBody.js.map +1 -1
  59. package/dist/models/GetBrowserInstanceGroupRequest.d.ts +21 -0
  60. package/dist/models/GetBrowserInstanceGroupRequest.js +58 -0
  61. package/dist/models/GetBrowserInstanceGroupRequest.js.map +1 -0
  62. package/dist/models/GetBrowserInstanceGroupResponse.d.ts +19 -0
  63. package/dist/models/GetBrowserInstanceGroupResponse.js +69 -0
  64. package/dist/models/GetBrowserInstanceGroupResponse.js.map +1 -0
  65. package/dist/models/GetBrowserInstanceGroupResponseBody.d.ts +1061 -0
  66. package/dist/models/GetBrowserInstanceGroupResponseBody.js +598 -0
  67. package/dist/models/GetBrowserInstanceGroupResponseBody.js.map +1 -0
  68. package/dist/models/GetConnectionTicketRequest.d.ts +23 -9
  69. package/dist/models/GetConnectionTicketRequest.js +2 -0
  70. package/dist/models/GetConnectionTicketRequest.js.map +1 -1
  71. package/dist/models/GetConnectionTicketResponseBody.d.ts +5 -2
  72. package/dist/models/GetConnectionTicketResponseBody.js.map +1 -1
  73. package/dist/models/GetRuntimeModelConfigResponseBody.d.ts +11 -5
  74. package/dist/models/GetRuntimeModelConfigResponseBody.js.map +1 -1
  75. package/dist/models/ListAppInstanceGroupRequest.d.ts +9 -3
  76. package/dist/models/ListAppInstanceGroupRequest.js.map +1 -1
  77. package/dist/models/ListAppInstanceGroupResponseBody.d.ts +24 -17
  78. package/dist/models/ListAppInstanceGroupResponseBody.js.map +1 -1
  79. package/dist/models/ListAppInstancesRequest.d.ts +4 -4
  80. package/dist/models/ListAppInstancesResponseBody.d.ts +20 -6
  81. package/dist/models/ListAppInstancesResponseBody.js.map +1 -1
  82. package/dist/models/ListAuthorizedAppInstanceGroupByUserRequest.d.ts +106 -0
  83. package/dist/models/ListAuthorizedAppInstanceGroupByUserRequest.js +72 -0
  84. package/dist/models/ListAuthorizedAppInstanceGroupByUserRequest.js.map +1 -0
  85. package/dist/models/ListAuthorizedAppInstanceGroupByUserResponse.d.ts +19 -0
  86. package/dist/models/ListAuthorizedAppInstanceGroupByUserResponse.js +69 -0
  87. package/dist/models/ListAuthorizedAppInstanceGroupByUserResponse.js.map +1 -0
  88. package/dist/models/ListAuthorizedAppInstanceGroupByUserResponseBody.d.ts +195 -0
  89. package/dist/models/ListAuthorizedAppInstanceGroupByUserResponseBody.js +134 -0
  90. package/dist/models/ListAuthorizedAppInstanceGroupByUserResponseBody.js.map +1 -0
  91. package/dist/models/ListAuthorizedUserGroupsRequest.d.ts +9 -3
  92. package/dist/models/ListAuthorizedUserGroupsRequest.js +2 -0
  93. package/dist/models/ListAuthorizedUserGroupsRequest.js.map +1 -1
  94. package/dist/models/ListAuthorizedUserGroupsResponseBody.d.ts +10 -2
  95. package/dist/models/ListAuthorizedUserGroupsResponseBody.js +2 -0
  96. package/dist/models/ListAuthorizedUserGroupsResponseBody.js.map +1 -1
  97. package/dist/models/ListAuthorizedUsersRequest.d.ts +99 -0
  98. package/dist/models/ListAuthorizedUsersRequest.js +74 -0
  99. package/dist/models/ListAuthorizedUsersRequest.js.map +1 -0
  100. package/dist/models/ListAuthorizedUsersResponse.d.ts +19 -0
  101. package/dist/models/ListAuthorizedUsersResponse.js +69 -0
  102. package/dist/models/ListAuthorizedUsersResponse.js.map +1 -0
  103. package/dist/models/ListAuthorizedUsersResponseBody.d.ts +151 -0
  104. package/dist/models/ListAuthorizedUsersResponseBody.js +109 -0
  105. package/dist/models/ListAuthorizedUsersResponseBody.js.map +1 -0
  106. package/dist/models/ListBrowserInstanceGroupRequest.d.ts +146 -0
  107. package/dist/models/ListBrowserInstanceGroupRequest.js +115 -0
  108. package/dist/models/ListBrowserInstanceGroupRequest.js.map +1 -0
  109. package/dist/models/ListBrowserInstanceGroupResponse.d.ts +19 -0
  110. package/dist/models/ListBrowserInstanceGroupResponse.js +69 -0
  111. package/dist/models/ListBrowserInstanceGroupResponse.js.map +1 -0
  112. package/dist/models/ListBrowserInstanceGroupResponseBody.d.ts +705 -0
  113. package/dist/models/ListBrowserInstanceGroupResponseBody.js +470 -0
  114. package/dist/models/ListBrowserInstanceGroupResponseBody.js.map +1 -0
  115. package/dist/models/ListDesktopAgentRuntimeRequest.d.ts +9 -9
  116. package/dist/models/ListDesktopAgentRuntimeResponseBody.d.ts +19 -10
  117. package/dist/models/ListDesktopAgentRuntimeResponseBody.js.map +1 -1
  118. package/dist/models/ListLlmTemplatesRequest.d.ts +11 -3
  119. package/dist/models/ListLlmTemplatesRequest.js.map +1 -1
  120. package/dist/models/ListLlmTemplatesResponseBody.d.ts +36 -9
  121. package/dist/models/ListLlmTemplatesResponseBody.js.map +1 -1
  122. package/dist/models/ListLlmTemplatesShrinkRequest.d.ts +11 -3
  123. package/dist/models/ListLlmTemplatesShrinkRequest.js.map +1 -1
  124. package/dist/models/ListModelProviderEndpointsRequest.d.ts +28 -0
  125. package/dist/models/ListModelProviderEndpointsRequest.js.map +1 -1
  126. package/dist/models/ListModelProviderEndpointsResponseBody.d.ts +71 -0
  127. package/dist/models/ListModelProviderEndpointsResponseBody.js.map +1 -1
  128. package/dist/models/ListModelProviderTemplatesRequest.d.ts +3 -3
  129. package/dist/models/ListModelProviderTemplatesResponseBody.d.ts +3 -3
  130. package/dist/models/ListModelProviderTemplatesShrinkRequest.d.ts +3 -3
  131. package/dist/models/ListModelTemplatesRequest.d.ts +9 -8
  132. package/dist/models/ListModelTemplatesRequest.js.map +1 -1
  133. package/dist/models/ListModelTemplatesResponseBody.d.ts +19 -6
  134. package/dist/models/ListModelTemplatesResponseBody.js.map +1 -1
  135. package/dist/models/ListModelTemplatesShrinkRequest.d.ts +9 -8
  136. package/dist/models/ListModelTemplatesShrinkRequest.js.map +1 -1
  137. package/dist/models/ListNodeInstanceTypeRequest.d.ts +22 -1
  138. package/dist/models/ListNodeInstanceTypeRequest.js.map +1 -1
  139. package/dist/models/ListNodeInstanceTypeResponseBody.d.ts +2 -2
  140. package/dist/models/ListOtaTaskRequest.d.ts +1 -1
  141. package/dist/models/ListTenantConfigResponseBody.d.ts +8 -0
  142. package/dist/models/ListTenantConfigResponseBody.js.map +1 -1
  143. package/dist/models/ListWuyingServerResponseBody.d.ts +41 -23
  144. package/dist/models/ListWuyingServerResponseBody.js +4 -0
  145. package/dist/models/ListWuyingServerResponseBody.js.map +1 -1
  146. package/dist/models/ModifyAppInstanceGroupAttributeRequest.d.ts +24 -6
  147. package/dist/models/ModifyAppInstanceGroupAttributeRequest.js.map +1 -1
  148. package/dist/models/ModifyAppInstanceGroupAttributeResponseBody.d.ts +2 -2
  149. package/dist/models/ModifyAppInstanceGroupAttributeShrinkRequest.d.ts +4 -4
  150. package/dist/models/ModifyBrowserInstanceGroupRequest.d.ts +60 -21
  151. package/dist/models/ModifyBrowserInstanceGroupRequest.js +2 -0
  152. package/dist/models/ModifyBrowserInstanceGroupRequest.js.map +1 -1
  153. package/dist/models/ModifyBrowserInstanceGroupShrinkRequest.d.ts +8 -0
  154. package/dist/models/ModifyBrowserInstanceGroupShrinkRequest.js +2 -0
  155. package/dist/models/ModifyBrowserInstanceGroupShrinkRequest.js.map +1 -1
  156. package/dist/models/ModifyNodePoolAmountRequest.d.ts +5 -2
  157. package/dist/models/ModifyNodePoolAmountRequest.js.map +1 -1
  158. package/dist/models/ModifyNodePoolAmountShrinkRequest.d.ts +1 -1
  159. package/dist/models/ModifyWuyingServerAttributeRequest.d.ts +15 -0
  160. package/dist/models/ModifyWuyingServerAttributeRequest.js +2 -0
  161. package/dist/models/ModifyWuyingServerAttributeRequest.js.map +1 -1
  162. package/dist/models/RenewAppInstanceGroupRequest.d.ts +29 -11
  163. package/dist/models/RenewAppInstanceGroupRequest.js.map +1 -1
  164. package/dist/models/RenewAppInstanceGroupShrinkRequest.d.ts +29 -11
  165. package/dist/models/RenewAppInstanceGroupShrinkRequest.js.map +1 -1
  166. package/dist/models/RenewWuyingServerRequest.d.ts +3 -0
  167. package/dist/models/RenewWuyingServerRequest.js.map +1 -1
  168. package/dist/models/RestartWuyingServerRequest.d.ts +7 -0
  169. package/dist/models/RestartWuyingServerRequest.js.map +1 -1
  170. package/dist/models/StartWuyingServerRequest.d.ts +7 -0
  171. package/dist/models/StartWuyingServerRequest.js.map +1 -1
  172. package/dist/models/StopWuyingServerRequest.d.ts +8 -4
  173. package/dist/models/StopWuyingServerRequest.js.map +1 -1
  174. package/dist/models/UpdateModelTemplateRequest.d.ts +5 -2
  175. package/dist/models/UpdateModelTemplateRequest.js.map +1 -1
  176. package/dist/models/model.d.ts +75 -0
  177. package/dist/models/model.js +160 -8
  178. package/dist/models/model.js.map +1 -1
  179. package/package.json +1 -1
  180. package/src/client.ts +833 -74
  181. package/src/models/ApproveOtaTaskRequest.ts +2 -2
  182. package/src/models/ApproveOtaTaskResponseBody.ts +1 -1
  183. package/src/models/AuthorizeInstanceGroupRequest.ts +26 -14
  184. package/src/models/AuthorizeInstanceGroupResponseBody.ts +1 -1
  185. package/src/models/AuthorizeInstanceGroupShrinkRequest.ts +24 -12
  186. package/src/models/AuthorizeUsersForAppRequest.ts +148 -0
  187. package/src/models/AuthorizeUsersForAppResponse.ts +40 -0
  188. package/src/models/AuthorizeUsersForAppResponseBody.ts +34 -0
  189. package/src/models/AuthorizeUsersForAppShrinkRequest.ts +100 -0
  190. package/src/models/CreateAppInstanceGroupRequest.ts +63 -63
  191. package/src/models/CreateAppInstanceGroupShrinkRequest.ts +14 -14
  192. package/src/models/CreateBrowserInstanceGroupRequest.ts +1542 -0
  193. package/src/models/CreateBrowserInstanceGroupResponse.ts +40 -0
  194. package/src/models/CreateBrowserInstanceGroupResponseBody.ts +84 -0
  195. package/src/models/CreateBrowserInstanceGroupShrinkRequest.ts +315 -0
  196. package/src/models/CreateImageByInstanceRequest.ts +29 -4
  197. package/src/models/CreateImageByInstanceResponseBody.ts +2 -2
  198. package/src/models/CreateModelTemplateRequest.ts +6 -3
  199. package/src/models/CreateWuyingServerRequest.ts +73 -22
  200. package/src/models/DeleteImageResponseBody.ts +4 -7
  201. package/src/models/DescribeWuyingServerEipInfoRequest.ts +2 -2
  202. package/src/models/DescribeWuyingServerEipInfoResponseBody.ts +8 -1
  203. package/src/models/DescribeWuyingServerRequest.ts +1 -1
  204. package/src/models/DescribeWuyingServerResponseBody.ts +22 -12
  205. package/src/models/GetAppInstanceGroupRequest.ts +1 -1
  206. package/src/models/GetAppInstanceGroupResponseBody.ts +25 -18
  207. package/src/models/GetBrowserInstanceGroupRequest.ts +34 -0
  208. package/src/models/GetBrowserInstanceGroupResponse.ts +40 -0
  209. package/src/models/GetBrowserInstanceGroupResponseBody.ts +1461 -0
  210. package/src/models/GetConnectionTicketRequest.ts +25 -9
  211. package/src/models/GetConnectionTicketResponseBody.ts +5 -2
  212. package/src/models/GetRuntimeModelConfigResponseBody.ts +11 -5
  213. package/src/models/ListAppInstanceGroupRequest.ts +9 -3
  214. package/src/models/ListAppInstanceGroupResponseBody.ts +24 -17
  215. package/src/models/ListAppInstancesRequest.ts +4 -4
  216. package/src/models/ListAppInstancesResponseBody.ts +20 -6
  217. package/src/models/ListAuthorizedAppInstanceGroupByUserRequest.ts +133 -0
  218. package/src/models/ListAuthorizedAppInstanceGroupByUserResponse.ts +40 -0
  219. package/src/models/ListAuthorizedAppInstanceGroupByUserResponseBody.ts +266 -0
  220. package/src/models/ListAuthorizedUserGroupsRequest.ts +11 -3
  221. package/src/models/ListAuthorizedUserGroupsResponseBody.ts +12 -2
  222. package/src/models/ListAuthorizedUsersRequest.ts +128 -0
  223. package/src/models/ListAuthorizedUsersResponse.ts +40 -0
  224. package/src/models/ListAuthorizedUsersResponseBody.ts +206 -0
  225. package/src/models/ListBrowserInstanceGroupRequest.ts +207 -0
  226. package/src/models/ListBrowserInstanceGroupResponse.ts +40 -0
  227. package/src/models/ListBrowserInstanceGroupResponseBody.ts +1004 -0
  228. package/src/models/ListDesktopAgentRuntimeRequest.ts +9 -9
  229. package/src/models/ListDesktopAgentRuntimeResponseBody.ts +19 -10
  230. package/src/models/ListLlmTemplatesRequest.ts +11 -3
  231. package/src/models/ListLlmTemplatesResponseBody.ts +36 -9
  232. package/src/models/ListLlmTemplatesShrinkRequest.ts +11 -3
  233. package/src/models/ListModelProviderEndpointsRequest.ts +28 -0
  234. package/src/models/ListModelProviderEndpointsResponseBody.ts +71 -0
  235. package/src/models/ListModelProviderTemplatesRequest.ts +3 -3
  236. package/src/models/ListModelProviderTemplatesResponseBody.ts +3 -3
  237. package/src/models/ListModelProviderTemplatesShrinkRequest.ts +3 -3
  238. package/src/models/ListModelTemplatesRequest.ts +9 -8
  239. package/src/models/ListModelTemplatesResponseBody.ts +19 -6
  240. package/src/models/ListModelTemplatesShrinkRequest.ts +9 -8
  241. package/src/models/ListNodeInstanceTypeRequest.ts +22 -1
  242. package/src/models/ListNodeInstanceTypeResponseBody.ts +2 -2
  243. package/src/models/ListOtaTaskRequest.ts +1 -1
  244. package/src/models/ListTenantConfigResponseBody.ts +8 -0
  245. package/src/models/ListWuyingServerResponseBody.ts +45 -23
  246. package/src/models/ModifyAppInstanceGroupAttributeRequest.ts +24 -6
  247. package/src/models/ModifyAppInstanceGroupAttributeResponseBody.ts +2 -2
  248. package/src/models/ModifyAppInstanceGroupAttributeShrinkRequest.ts +4 -4
  249. package/src/models/ModifyBrowserInstanceGroupRequest.ts +62 -21
  250. package/src/models/ModifyBrowserInstanceGroupShrinkRequest.ts +10 -0
  251. package/src/models/ModifyNodePoolAmountRequest.ts +5 -2
  252. package/src/models/ModifyNodePoolAmountShrinkRequest.ts +1 -1
  253. package/src/models/ModifyWuyingServerAttributeRequest.ts +17 -0
  254. package/src/models/RenewAppInstanceGroupRequest.ts +29 -11
  255. package/src/models/RenewAppInstanceGroupShrinkRequest.ts +29 -11
  256. package/src/models/RenewWuyingServerRequest.ts +3 -0
  257. package/src/models/RestartWuyingServerRequest.ts +7 -0
  258. package/src/models/StartWuyingServerRequest.ts +7 -0
  259. package/src/models/StopWuyingServerRequest.ts +8 -4
  260. package/src/models/UpdateModelTemplateRequest.ts +5 -2
  261. package/src/models/model.ts +75 -0
@@ -0,0 +1,1542 @@
1
+ // This file is auto-generated, don't edit it
2
+ import * as $dara from '@darabonba/typescript';
3
+
4
+
5
+ export class CreateBrowserInstanceGroupRequestBrowserConfigBookmarks extends $dara.Model {
6
+ /**
7
+ * @remarks
8
+ * The folder in which the bookmark is located. The length after trimming leading and trailing whitespace cannot exceed 64 characters.
9
+ *
10
+ * @example
11
+ * Work Portal
12
+ */
13
+ bookmarkFolder?: string;
14
+ /**
15
+ * @remarks
16
+ * The bookmark name. This parameter is required and cannot be empty when you create a bookmark. The length after trimming leading and trailing whitespace cannot exceed 64 characters.
17
+ *
18
+ * This parameter is required.
19
+ *
20
+ * @example
21
+ * Alibaba Cloud Official Website
22
+ */
23
+ bookmarkName?: string;
24
+ /**
25
+ * @remarks
26
+ * The URL of the bookmark. This parameter is required when you create a bookmark. The length after trimming leading and trailing whitespace cannot exceed 1024 characters.
27
+ *
28
+ * This parameter is required.
29
+ *
30
+ * @example
31
+ * https://www.aliyun.com
32
+ */
33
+ bookmarkURL?: string;
34
+ static names(): { [key: string]: string } {
35
+ return {
36
+ bookmarkFolder: 'BookmarkFolder',
37
+ bookmarkName: 'BookmarkName',
38
+ bookmarkURL: 'BookmarkURL',
39
+ };
40
+ }
41
+
42
+ static types(): { [key: string]: any } {
43
+ return {
44
+ bookmarkFolder: 'string',
45
+ bookmarkName: 'string',
46
+ bookmarkURL: 'string',
47
+ };
48
+ }
49
+
50
+ validate() {
51
+ super.validate();
52
+ }
53
+
54
+ constructor(map?: { [key: string]: any }) {
55
+ super(map);
56
+ }
57
+ }
58
+
59
+ export class CreateBrowserInstanceGroupRequestBrowserConfig extends $dara.Model {
60
+ /**
61
+ * @remarks
62
+ * The list of browser bookmarks.
63
+ *
64
+ * **Limit:** Cannot be specified together with a non-empty `BookmarksFilePath`. Bookmark URLs must be unique.
65
+ */
66
+ bookmarks?: CreateBrowserInstanceGroupRequestBrowserConfigBookmarks[];
67
+ /**
68
+ * @remarks
69
+ * The path of the uploaded bookmark file. Cannot be specified together with a non-empty `Bookmarks`.
70
+ *
71
+ * **File format:** A headerless CSV file with four columns in the following order:
72
+ *
73
+ * 1. Bookmark name.
74
+ * 2. URL.
75
+ * 3. Folder.
76
+ * 4. Root directory type: `bookmark_bar` indicates the bookmarks bar, and `other` indicates other bookmarks.
77
+ *
78
+ * **Limits:**
79
+ *
80
+ * - Fields are separated by commas. Field values cannot contain commas or line breaks. Quote escaping is not supported.
81
+ * - The file path must belong to the upload directory specified for the current account and cannot contain `..`.
82
+ *
83
+ * @example
84
+ * cn-hangzhou/aig_upm/xxx/temp/BrowserBookmarks/浏览器书签模版.csv
85
+ */
86
+ bookmarksFilePath?: string;
87
+ /**
88
+ * @remarks
89
+ * The browser startup parameters. For example, --incognito opens the browser in incognito mode.
90
+ *
91
+ * @example
92
+ * --incognito
93
+ */
94
+ browserParam?: string;
95
+ /**
96
+ * @remarks
97
+ * Specifies whether to synchronize cookies.
98
+ *
99
+ * @example
100
+ * false
101
+ */
102
+ cookiesSync?: boolean;
103
+ /**
104
+ * @remarks
105
+ * The homepage URL that opens when the browser starts. The value must conform to URI syntax.
106
+ *
107
+ * @example
108
+ * https://www.aliyun.com
109
+ */
110
+ homepage?: string;
111
+ static names(): { [key: string]: string } {
112
+ return {
113
+ bookmarks: 'Bookmarks',
114
+ bookmarksFilePath: 'BookmarksFilePath',
115
+ browserParam: 'BrowserParam',
116
+ cookiesSync: 'CookiesSync',
117
+ homepage: 'Homepage',
118
+ };
119
+ }
120
+
121
+ static types(): { [key: string]: any } {
122
+ return {
123
+ bookmarks: { 'type': 'array', 'itemType': CreateBrowserInstanceGroupRequestBrowserConfigBookmarks },
124
+ bookmarksFilePath: 'string',
125
+ browserParam: 'string',
126
+ cookiesSync: 'boolean',
127
+ homepage: 'string',
128
+ };
129
+ }
130
+
131
+ validate() {
132
+ if(Array.isArray(this.bookmarks)) {
133
+ $dara.Model.validateArray(this.bookmarks);
134
+ }
135
+ super.validate();
136
+ }
137
+
138
+ constructor(map?: { [key: string]: any }) {
139
+ super(map);
140
+ }
141
+ }
142
+
143
+ export class CreateBrowserInstanceGroupRequestNetworkRestrictedURLs extends $dara.Model {
144
+ /**
145
+ * @remarks
146
+ * The URL of the allowed website.
147
+ *
148
+ * @example
149
+ * aliyun.com
150
+ */
151
+ URL?: string;
152
+ static names(): { [key: string]: string } {
153
+ return {
154
+ URL: 'URL',
155
+ };
156
+ }
157
+
158
+ static types(): { [key: string]: any } {
159
+ return {
160
+ URL: 'string',
161
+ };
162
+ }
163
+
164
+ validate() {
165
+ super.validate();
166
+ }
167
+
168
+ constructor(map?: { [key: string]: any }) {
169
+ super(map);
170
+ }
171
+ }
172
+
173
+ export class CreateBrowserInstanceGroupRequestNetwork extends $dara.Model {
174
+ /**
175
+ * @remarks
176
+ * The website access restriction mode.
177
+ *
178
+ * - `ALLOW_ALL`: Allows access to all domain names.
179
+ * - `ALLOW_LIST`: Allows access only to websites in the allowlist.
180
+ *
181
+ * @example
182
+ * ALLOW_ALL
183
+ */
184
+ accessRestriction?: string;
185
+ /**
186
+ * @remarks
187
+ * The ID of the office network that has been created. The office network must belong to the current account and be located in the target region specified by BizRegionId.
188
+ *
189
+ * @example
190
+ * cn-hangzhou+dir-643067****
191
+ */
192
+ officeSiteId?: string;
193
+ /**
194
+ * @remarks
195
+ * The list of allowed websites. This parameter is used in `ALLOW_LIST` mode.
196
+ *
197
+ * **Restrictions:**
198
+ *
199
+ * - A maximum of 20 URLs can be specified directly. If more than 20 URLs are required, use `RestrictedURLsFilePath` to import them from a file.
200
+ * - This parameter cannot be specified together with `RestrictedURLsFilePath`.
201
+ * - URLs in the list cannot be duplicated.
202
+ */
203
+ restrictedURLs?: CreateBrowserInstanceGroupRequestNetworkRestrictedURLs[];
204
+ /**
205
+ * @remarks
206
+ * The path of the uploaded website allowlist file. This parameter is used in `ALLOW_LIST` mode.
207
+ *
208
+ * If more than 20 URLs are required, use file import. A maximum of 1,000 URLs can be configured by default.
209
+ *
210
+ * This parameter cannot be specified together with `RestrictedURLs`.
211
+ *
212
+ * @example
213
+ * cn-hangzhou/aig_upm/xxx/temp/BrowserRestrictionUrls/URL白名单模版.csv
214
+ */
215
+ restrictedURLsFilePath?: string;
216
+ /**
217
+ * @remarks
218
+ * The list of vSwitch IDs.
219
+ *
220
+ * **Usage condition:** Specify this parameter only when you use a custom office network. Do not specify this parameter for other types of office networks.
221
+ *
222
+ * Select vSwitches that match the target business region and the custom office network.
223
+ */
224
+ vSwitchIds?: string[];
225
+ static names(): { [key: string]: string } {
226
+ return {
227
+ accessRestriction: 'AccessRestriction',
228
+ officeSiteId: 'OfficeSiteId',
229
+ restrictedURLs: 'RestrictedURLs',
230
+ restrictedURLsFilePath: 'RestrictedURLsFilePath',
231
+ vSwitchIds: 'VSwitchIds',
232
+ };
233
+ }
234
+
235
+ static types(): { [key: string]: any } {
236
+ return {
237
+ accessRestriction: 'string',
238
+ officeSiteId: 'string',
239
+ restrictedURLs: { 'type': 'array', 'itemType': CreateBrowserInstanceGroupRequestNetworkRestrictedURLs },
240
+ restrictedURLsFilePath: 'string',
241
+ vSwitchIds: { 'type': 'array', 'itemType': 'string' },
242
+ };
243
+ }
244
+
245
+ validate() {
246
+ if(Array.isArray(this.restrictedURLs)) {
247
+ $dara.Model.validateArray(this.restrictedURLs);
248
+ }
249
+ if(Array.isArray(this.vSwitchIds)) {
250
+ $dara.Model.validateArray(this.vSwitchIds);
251
+ }
252
+ super.validate();
253
+ }
254
+
255
+ constructor(map?: { [key: string]: any }) {
256
+ super(map);
257
+ }
258
+ }
259
+
260
+ export class CreateBrowserInstanceGroupRequestNodePool extends $dara.Model {
261
+ /**
262
+ * @remarks
263
+ * The number of nodes.
264
+ *
265
+ * You do not need to specify this parameter.
266
+ *
267
+ * @example
268
+ * -
269
+ */
270
+ nodeAmount?: number;
271
+ /**
272
+ * @remarks
273
+ * The node specifications identity.
274
+ *
275
+ * You do not need to specify this parameter.
276
+ *
277
+ * @example
278
+ * -
279
+ */
280
+ nodeInstanceType?: string;
281
+ /**
282
+ * @remarks
283
+ * The node scaling policy.
284
+ *
285
+ * You do not need to specify this parameter.
286
+ *
287
+ * @example
288
+ * -
289
+ */
290
+ strategyType?: string;
291
+ static names(): { [key: string]: string } {
292
+ return {
293
+ nodeAmount: 'NodeAmount',
294
+ nodeInstanceType: 'NodeInstanceType',
295
+ strategyType: 'StrategyType',
296
+ };
297
+ }
298
+
299
+ static types(): { [key: string]: any } {
300
+ return {
301
+ nodeAmount: 'number',
302
+ nodeInstanceType: 'string',
303
+ strategyType: 'string',
304
+ };
305
+ }
306
+
307
+ validate() {
308
+ super.validate();
309
+ }
310
+
311
+ constructor(map?: { [key: string]: any }) {
312
+ super(map);
313
+ }
314
+ }
315
+
316
+ export class CreateBrowserInstanceGroupRequestPolicyAuthorizeAccessPolicyRules extends $dara.Model {
317
+ /**
318
+ * @remarks
319
+ * The source CIDR block of clients that are allowed to access the cloud browser.
320
+ *
321
+ * @example
322
+ * 192.168.1.0/24
323
+ */
324
+ cidrIp?: string;
325
+ /**
326
+ * @remarks
327
+ * The description of the client access IP address whitelist rule.
328
+ *
329
+ * @example
330
+ * OfficeNetworkAccess
331
+ */
332
+ description?: string;
333
+ static names(): { [key: string]: string } {
334
+ return {
335
+ cidrIp: 'CidrIp',
336
+ description: 'Description',
337
+ };
338
+ }
339
+
340
+ static types(): { [key: string]: any } {
341
+ return {
342
+ cidrIp: 'string',
343
+ description: 'string',
344
+ };
345
+ }
346
+
347
+ validate() {
348
+ super.validate();
349
+ }
350
+
351
+ constructor(map?: { [key: string]: any }) {
352
+ super(map);
353
+ }
354
+ }
355
+
356
+ export class CreateBrowserInstanceGroupRequestPolicyClientTypes extends $dara.Model {
357
+ /**
358
+ * @remarks
359
+ * The client type for which you want to configure an access policy.
360
+ *
361
+ * - `windows`: Windows client.
362
+ * - `macos`: macOS client.
363
+ * - `html5`: Web client.
364
+ * - `android`: Android client.
365
+ * - `ios`: iOS client.
366
+ *
367
+ * @example
368
+ * windows
369
+ */
370
+ clientType?: string;
371
+ /**
372
+ * @remarks
373
+ * The access policy switch for the client type.
374
+ *
375
+ * - `on`: Allows access from this client type.
376
+ * - `off`: Denies access from this client type.
377
+ *
378
+ * @example
379
+ * on
380
+ */
381
+ status?: string;
382
+ static names(): { [key: string]: string } {
383
+ return {
384
+ clientType: 'ClientType',
385
+ status: 'Status',
386
+ };
387
+ }
388
+
389
+ static types(): { [key: string]: any } {
390
+ return {
391
+ clientType: 'string',
392
+ status: 'string',
393
+ };
394
+ }
395
+
396
+ validate() {
397
+ super.validate();
398
+ }
399
+
400
+ constructor(map?: { [key: string]: any }) {
401
+ super(map);
402
+ }
403
+ }
404
+
405
+ export class CreateBrowserInstanceGroupRequestPolicyClipboardPolicy extends $dara.Model {
406
+ /**
407
+ * @remarks
408
+ * The clipboard transfer direction. The value is case-insensitive.
409
+ *
410
+ * - `off`: Bidirectional transfer is disabled.
411
+ * - `read`: Allows copy and paste from the local PC to the cloud browser.
412
+ * - `write`: Allows copy and paste from the cloud browser to the local PC.
413
+ * - `readwrite`: Bidirectional transfer is allowed.
414
+ *
415
+ * @example
416
+ * readwrite
417
+ */
418
+ clipboard?: string;
419
+ /**
420
+ * @remarks
421
+ * The clipboard size limit for inbound transfer (from the local PC to the cloud browser).
422
+ *
423
+ * **Value range:** 1 to 102400. The unit is specified by ClipboardSizeUnit.
424
+ *
425
+ * The value range does not change with unit conversion.
426
+ *
427
+ * @example
428
+ * 1024
429
+ */
430
+ clipboardReadLimit?: number;
431
+ /**
432
+ * @remarks
433
+ * The clipboard control granularity.
434
+ *
435
+ * - `global`: Unified control.
436
+ * - `grained`: Separate control by text, rich text, and file.
437
+ *
438
+ * @example
439
+ * grained
440
+ */
441
+ clipboardScope?: string;
442
+ /**
443
+ * @remarks
444
+ * The clipboard size unit.
445
+ *
446
+ * - `B`: Bytes.
447
+ * - `KB`: 1024 bytes.
448
+ *
449
+ * @example
450
+ * KB
451
+ */
452
+ clipboardSizeUnit?: string;
453
+ /**
454
+ * @remarks
455
+ * The clipboard size limit for outbound transfer (from the cloud browser to the local PC).
456
+ *
457
+ * **Value range:** 1 to 102400. The unit is specified by ClipboardSizeUnit.
458
+ *
459
+ * The value range does not change with unit conversion.
460
+ *
461
+ * @example
462
+ * 1024
463
+ */
464
+ clipboardWriteLimit?: number;
465
+ /**
466
+ * @remarks
467
+ * The clipboard transfer direction. The value is case-insensitive.
468
+ *
469
+ * - `off`: Bidirectional transfer is disabled.
470
+ * - `read`: Allows copy and paste from the local PC to the cloud browser.
471
+ * - `write`: Allows copy and paste from the cloud browser to the local PC.
472
+ * - `readwrite`: Bidirectional transfer is allowed.
473
+ *
474
+ * @example
475
+ * off
476
+ */
477
+ fileClipboard?: string;
478
+ /**
479
+ * @remarks
480
+ * The clipboard transfer direction. The value is case-insensitive.
481
+ *
482
+ * - `off`: Bidirectional transfer is disabled.
483
+ * - `read`: Allows copy and paste from the local PC to the cloud browser.
484
+ * - `write`: Allows copy and paste from the cloud browser to the local PC.
485
+ * - `readwrite`: Bidirectional transfer is allowed.
486
+ *
487
+ * @example
488
+ * off
489
+ */
490
+ richTextClipboard?: string;
491
+ /**
492
+ * @remarks
493
+ * The rich text clipboard size limit.
494
+ *
495
+ * **Value range:** 1 to 204800. The unit is specified by RichTextClipboardSizeUnit.
496
+ *
497
+ * The value range does not change with unit conversion.
498
+ *
499
+ * @example
500
+ * 1024
501
+ */
502
+ richTextClipboardLimit?: number;
503
+ /**
504
+ * @remarks
505
+ * The clipboard size limit for inbound transfer (from the local PC to the cloud browser).
506
+ *
507
+ * **Value range:** 1 to 204800. The unit is specified by RichTextClipboardReadSizeUnit.
508
+ *
509
+ * The value range does not change with unit conversion.
510
+ *
511
+ * @example
512
+ * 1
513
+ */
514
+ richTextClipboardReadLimit?: number;
515
+ /**
516
+ * @remarks
517
+ * The clipboard size unit.
518
+ *
519
+ * - `B`: Bytes.
520
+ * - `KB`: 1024 bytes.
521
+ *
522
+ * **Default value:** `KB`.
523
+ *
524
+ * @example
525
+ * KB
526
+ */
527
+ richTextClipboardReadSizeUnit?: string;
528
+ /**
529
+ * @remarks
530
+ * The clipboard size unit.
531
+ *
532
+ * - `B`: Bytes.
533
+ * - `KB`: 1024 bytes.
534
+ *
535
+ * @example
536
+ * KB
537
+ */
538
+ richTextClipboardSizeUnit?: string;
539
+ /**
540
+ * @remarks
541
+ * The clipboard size limit for outbound transfer (from the cloud browser to the local PC).
542
+ *
543
+ * **Value range:** 1 to 204800. The unit is specified by RichTextClipboardWriteSizeUnit.
544
+ *
545
+ * The value range does not change with unit conversion.
546
+ *
547
+ * @example
548
+ * 1
549
+ */
550
+ richTextClipboardWriteLimit?: number;
551
+ /**
552
+ * @remarks
553
+ * The clipboard size unit.
554
+ *
555
+ * - `B`: Bytes.
556
+ * - `KB`: 1024 bytes.
557
+ *
558
+ * **Default value:** `KB`.
559
+ *
560
+ * @example
561
+ * KB
562
+ */
563
+ richTextClipboardWriteSizeUnit?: string;
564
+ /**
565
+ * @remarks
566
+ * The clipboard transfer direction. The value is case-insensitive.
567
+ *
568
+ * - `off`: Bidirectional transfer is disabled.
569
+ * - `read`: Allows copy and paste from the local PC to the cloud browser.
570
+ * - `write`: Allows copy and paste from the cloud browser to the local PC.
571
+ * - `readwrite`: Bidirectional transfer is allowed.
572
+ *
573
+ * @example
574
+ * readwrite
575
+ */
576
+ textClipboard?: string;
577
+ /**
578
+ * @remarks
579
+ * The clipboard size limit for inbound transfer (from the local PC to the cloud browser).
580
+ *
581
+ * **Value range:** 1 to 102400. The unit is specified by TextClipboardReadSizeUnit.
582
+ *
583
+ * The value range does not change with unit conversion.
584
+ *
585
+ * @example
586
+ * 1
587
+ */
588
+ textClipboardReadLimit?: number;
589
+ /**
590
+ * @remarks
591
+ * The clipboard size unit.
592
+ *
593
+ * - `B`: Bytes.
594
+ * - `KB`: 1024 bytes.
595
+ *
596
+ * **Default value:** `KB`.
597
+ *
598
+ * @example
599
+ * KB
600
+ */
601
+ textClipboardReadSizeUnit?: string;
602
+ /**
603
+ * @remarks
604
+ * The clipboard size limit for outbound transfer (from the cloud browser to the local PC).
605
+ *
606
+ * **Value range:** 1 to 102400. The unit is specified by TextClipboardWriteSizeUnit.
607
+ *
608
+ * The value range does not change with unit conversion.
609
+ *
610
+ * @example
611
+ * 1
612
+ */
613
+ textClipboardWriteLimit?: number;
614
+ /**
615
+ * @remarks
616
+ * The clipboard size unit.
617
+ *
618
+ * - `B`: Bytes.
619
+ * - `KB`: 1024 bytes.
620
+ *
621
+ * **Default value:** `KB`.
622
+ *
623
+ * @example
624
+ * KB
625
+ */
626
+ textClipboardWriteSizeUnit?: string;
627
+ static names(): { [key: string]: string } {
628
+ return {
629
+ clipboard: 'Clipboard',
630
+ clipboardReadLimit: 'ClipboardReadLimit',
631
+ clipboardScope: 'ClipboardScope',
632
+ clipboardSizeUnit: 'ClipboardSizeUnit',
633
+ clipboardWriteLimit: 'ClipboardWriteLimit',
634
+ fileClipboard: 'FileClipboard',
635
+ richTextClipboard: 'RichTextClipboard',
636
+ richTextClipboardLimit: 'RichTextClipboardLimit',
637
+ richTextClipboardReadLimit: 'RichTextClipboardReadLimit',
638
+ richTextClipboardReadSizeUnit: 'RichTextClipboardReadSizeUnit',
639
+ richTextClipboardSizeUnit: 'RichTextClipboardSizeUnit',
640
+ richTextClipboardWriteLimit: 'RichTextClipboardWriteLimit',
641
+ richTextClipboardWriteSizeUnit: 'RichTextClipboardWriteSizeUnit',
642
+ textClipboard: 'TextClipboard',
643
+ textClipboardReadLimit: 'TextClipboardReadLimit',
644
+ textClipboardReadSizeUnit: 'TextClipboardReadSizeUnit',
645
+ textClipboardWriteLimit: 'TextClipboardWriteLimit',
646
+ textClipboardWriteSizeUnit: 'TextClipboardWriteSizeUnit',
647
+ };
648
+ }
649
+
650
+ static types(): { [key: string]: any } {
651
+ return {
652
+ clipboard: 'string',
653
+ clipboardReadLimit: 'number',
654
+ clipboardScope: 'string',
655
+ clipboardSizeUnit: 'string',
656
+ clipboardWriteLimit: 'number',
657
+ fileClipboard: 'string',
658
+ richTextClipboard: 'string',
659
+ richTextClipboardLimit: 'number',
660
+ richTextClipboardReadLimit: 'number',
661
+ richTextClipboardReadSizeUnit: 'string',
662
+ richTextClipboardSizeUnit: 'string',
663
+ richTextClipboardWriteLimit: 'number',
664
+ richTextClipboardWriteSizeUnit: 'string',
665
+ textClipboard: 'string',
666
+ textClipboardReadLimit: 'number',
667
+ textClipboardReadSizeUnit: 'string',
668
+ textClipboardWriteLimit: 'number',
669
+ textClipboardWriteSizeUnit: 'string',
670
+ };
671
+ }
672
+
673
+ validate() {
674
+ super.validate();
675
+ }
676
+
677
+ constructor(map?: { [key: string]: any }) {
678
+ super(map);
679
+ }
680
+ }
681
+
682
+ export class CreateBrowserInstanceGroupRequestPolicyVideoPolicy extends $dara.Model {
683
+ /**
684
+ * @remarks
685
+ * The frame rate of the browser session.
686
+ *
687
+ * @example
688
+ * 60
689
+ */
690
+ frameRate?: number;
691
+ static names(): { [key: string]: string } {
692
+ return {
693
+ frameRate: 'FrameRate',
694
+ };
695
+ }
696
+
697
+ static types(): { [key: string]: any } {
698
+ return {
699
+ frameRate: 'number',
700
+ };
701
+ }
702
+
703
+ validate() {
704
+ super.validate();
705
+ }
706
+
707
+ constructor(map?: { [key: string]: any }) {
708
+ super(map);
709
+ }
710
+ }
711
+
712
+ export class CreateBrowserInstanceGroupRequestPolicyWatermarkPolicy extends $dara.Model {
713
+ /**
714
+ * @remarks
715
+ * The watermark switch. The value is case-insensitive.
716
+ *
717
+ * - `ON`: Enables the watermark.
718
+ * - `OFF`: Disables the watermark.
719
+ *
720
+ * When disabled, the watermark content type list is not used.
721
+ *
722
+ * @example
723
+ * ON
724
+ */
725
+ watermarkSwitch?: string;
726
+ /**
727
+ * @remarks
728
+ * The list of watermark content types.
729
+ *
730
+ * - `EndUserId`: The user identifier.
731
+ * - `InstanceGroupId`: The delivery group identifier.
732
+ * - `ClientTime`: The current time on the client.
733
+ *
734
+ * Use watermark types supported by the browser and client.
735
+ */
736
+ watermarkTypes?: string[];
737
+ static names(): { [key: string]: string } {
738
+ return {
739
+ watermarkSwitch: 'WatermarkSwitch',
740
+ watermarkTypes: 'WatermarkTypes',
741
+ };
742
+ }
743
+
744
+ static types(): { [key: string]: any } {
745
+ return {
746
+ watermarkSwitch: 'string',
747
+ watermarkTypes: { 'type': 'array', 'itemType': 'string' },
748
+ };
749
+ }
750
+
751
+ validate() {
752
+ if(Array.isArray(this.watermarkTypes)) {
753
+ $dara.Model.validateArray(this.watermarkTypes);
754
+ }
755
+ super.validate();
756
+ }
757
+
758
+ constructor(map?: { [key: string]: any }) {
759
+ super(map);
760
+ }
761
+ }
762
+
763
+ export class CreateBrowserInstanceGroupRequestPolicy extends $dara.Model {
764
+ /**
765
+ * @remarks
766
+ * Specifies whether to enable screen capture prevention.
767
+ *
768
+ * - `on`: Enables screen capture prevention.
769
+ * - `off`: Disables screen capture prevention.
770
+ *
771
+ * @example
772
+ * on
773
+ */
774
+ appContentProtection?: string;
775
+ /**
776
+ * @remarks
777
+ * The client access IP address whitelist. This parameter is used to restrict the source IP addresses of clients that can access the cloud browser.
778
+ */
779
+ authorizeAccessPolicyRules?: CreateBrowserInstanceGroupRequestPolicyAuthorizeAccessPolicyRules[];
780
+ /**
781
+ * @remarks
782
+ * The client access control list.
783
+ */
784
+ clientTypes?: CreateBrowserInstanceGroupRequestPolicyClientTypes[];
785
+ /**
786
+ * @remarks
787
+ * Specifies the clipboard transfer direction, content type, and size limit. read indicates transfer from the local PC to the cloud browser. write indicates transfer from the cloud browser to the local PC.
788
+ */
789
+ clipboardPolicy?: CreateBrowserInstanceGroupRequestPolicyClipboardPolicy;
790
+ /**
791
+ * @remarks
792
+ * The session data retention policy after disconnection.
793
+ *
794
+ * - `customTime`: Retains the session based on the session data retention policy. Customizing the duration through `DisconnectKeepSessionTime` is not supported.
795
+ * - `persistent`: The session is not subject to automatic release based on disconnection duration.
796
+ *
797
+ * **Note:** `persistent` is still subject to authorization and other release policies.
798
+ *
799
+ * @example
800
+ * customTime
801
+ */
802
+ disconnectKeepSession?: string;
803
+ /**
804
+ * @remarks
805
+ * Not supported. You do not need to specify this parameter.
806
+ *
807
+ * @example
808
+ * -
809
+ */
810
+ disconnectKeepSessionTime?: number;
811
+ /**
812
+ * @remarks
813
+ * Specifies whether to enable the floating ball file manager.
814
+ *
815
+ * - `on`: Enabled.
816
+ * - `off`: Disabled.
817
+ *
818
+ * **Default value:** `off`.
819
+ *
820
+ * @example
821
+ * off
822
+ */
823
+ fileManager?: string;
824
+ /**
825
+ * @remarks
826
+ * The file transfer policy for the web client.
827
+ *
828
+ * - `off`: File transfer is disabled.
829
+ * - `upload`: Only upload is allowed.
830
+ * - `download`: Only download is allowed.
831
+ * - `full`: Both upload and download are allowed.
832
+ *
833
+ * Configure this parameter together with the clipboard policy.
834
+ *
835
+ * @example
836
+ * full
837
+ */
838
+ html5FileTransfer?: string;
839
+ /**
840
+ * @remarks
841
+ * Specifies whether to enable automatic disconnection on inactivity. The value is case-insensitive.
842
+ *
843
+ * - `on`: Enabled.
844
+ * - `off`: Disabled.
845
+ *
846
+ * When enabled, set the wait duration through `NoOperationDisconnectTime`.
847
+ *
848
+ * @example
849
+ * on
850
+ */
851
+ noOperationDisconnect?: string;
852
+ /**
853
+ * @remarks
854
+ * The wait duration before disconnection is triggered after user inactivity. Unit: seconds.
855
+ *
856
+ * **Prerequisite:** When `NoOperationDisconnect` is enabled, specify a value greater than 0.
857
+ *
858
+ * @example
859
+ * 300
860
+ */
861
+ noOperationDisconnectTime?: number;
862
+ /**
863
+ * @remarks
864
+ * The policy version. The value is case-insensitive.
865
+ *
866
+ * - `DEFAULT`: Legacy policy.
867
+ * - `CENTER`: Centralized policy.
868
+ *
869
+ * **Default value:** `DEFAULT`. The actual effective policy version depends on the policy configuration available for the account.
870
+ *
871
+ * @example
872
+ * CENTER
873
+ */
874
+ policyVersion?: string;
875
+ /**
876
+ * @remarks
877
+ * The video display policy for the browser session.
878
+ */
879
+ videoPolicy?: CreateBrowserInstanceGroupRequestPolicyVideoPolicy;
880
+ /**
881
+ * @remarks
882
+ * The watermark display configuration for browser sessions.
883
+ */
884
+ watermarkPolicy?: CreateBrowserInstanceGroupRequestPolicyWatermarkPolicy;
885
+ static names(): { [key: string]: string } {
886
+ return {
887
+ appContentProtection: 'AppContentProtection',
888
+ authorizeAccessPolicyRules: 'AuthorizeAccessPolicyRules',
889
+ clientTypes: 'ClientTypes',
890
+ clipboardPolicy: 'ClipboardPolicy',
891
+ disconnectKeepSession: 'DisconnectKeepSession',
892
+ disconnectKeepSessionTime: 'DisconnectKeepSessionTime',
893
+ fileManager: 'FileManager',
894
+ html5FileTransfer: 'Html5FileTransfer',
895
+ noOperationDisconnect: 'NoOperationDisconnect',
896
+ noOperationDisconnectTime: 'NoOperationDisconnectTime',
897
+ policyVersion: 'PolicyVersion',
898
+ videoPolicy: 'VideoPolicy',
899
+ watermarkPolicy: 'WatermarkPolicy',
900
+ };
901
+ }
902
+
903
+ static types(): { [key: string]: any } {
904
+ return {
905
+ appContentProtection: 'string',
906
+ authorizeAccessPolicyRules: { 'type': 'array', 'itemType': CreateBrowserInstanceGroupRequestPolicyAuthorizeAccessPolicyRules },
907
+ clientTypes: { 'type': 'array', 'itemType': CreateBrowserInstanceGroupRequestPolicyClientTypes },
908
+ clipboardPolicy: CreateBrowserInstanceGroupRequestPolicyClipboardPolicy,
909
+ disconnectKeepSession: 'string',
910
+ disconnectKeepSessionTime: 'number',
911
+ fileManager: 'string',
912
+ html5FileTransfer: 'string',
913
+ noOperationDisconnect: 'string',
914
+ noOperationDisconnectTime: 'number',
915
+ policyVersion: 'string',
916
+ videoPolicy: CreateBrowserInstanceGroupRequestPolicyVideoPolicy,
917
+ watermarkPolicy: CreateBrowserInstanceGroupRequestPolicyWatermarkPolicy,
918
+ };
919
+ }
920
+
921
+ validate() {
922
+ if(Array.isArray(this.authorizeAccessPolicyRules)) {
923
+ $dara.Model.validateArray(this.authorizeAccessPolicyRules);
924
+ }
925
+ if(Array.isArray(this.clientTypes)) {
926
+ $dara.Model.validateArray(this.clientTypes);
927
+ }
928
+ if(this.clipboardPolicy && typeof (this.clipboardPolicy as any).validate === 'function') {
929
+ (this.clipboardPolicy as any).validate();
930
+ }
931
+ if(this.videoPolicy && typeof (this.videoPolicy as any).validate === 'function') {
932
+ (this.videoPolicy as any).validate();
933
+ }
934
+ if(this.watermarkPolicy && typeof (this.watermarkPolicy as any).validate === 'function') {
935
+ (this.watermarkPolicy as any).validate();
936
+ }
937
+ super.validate();
938
+ }
939
+
940
+ constructor(map?: { [key: string]: any }) {
941
+ super(map);
942
+ }
943
+ }
944
+
945
+ export class CreateBrowserInstanceGroupRequestSecurityPolicy extends $dara.Model {
946
+ /**
947
+ * @remarks
948
+ * Specifies whether to skip the user authorization check when connecting to the application.
949
+ *
950
+ * - `true`: Skips the check.
951
+ * - `false`: Performs the check.
952
+ *
953
+ * If this field is omitted when `SecurityPolicy` is configured, the user authorization check is performed.
954
+ *
955
+ * **Note:** This field cannot be used to skip OpenAPI identity authentication or RAM permission verification.
956
+ *
957
+ * @example
958
+ * false
959
+ */
960
+ skipUserAuthCheck?: boolean;
961
+ static names(): { [key: string]: string } {
962
+ return {
963
+ skipUserAuthCheck: 'SkipUserAuthCheck',
964
+ };
965
+ }
966
+
967
+ static types(): { [key: string]: any } {
968
+ return {
969
+ skipUserAuthCheck: 'boolean',
970
+ };
971
+ }
972
+
973
+ validate() {
974
+ super.validate();
975
+ }
976
+
977
+ constructor(map?: { [key: string]: any }) {
978
+ super(map);
979
+ }
980
+ }
981
+
982
+ export class CreateBrowserInstanceGroupRequestStoragePolicyUserProfile extends $dara.Model {
983
+ /**
984
+ * @remarks
985
+ * The size of the user data roaming cloud disk. Unit: GB.
986
+ *
987
+ * @example
988
+ * 30
989
+ */
990
+ userProfileSize?: number;
991
+ /**
992
+ * @remarks
993
+ * Specifies whether to enable user data roaming.
994
+ *
995
+ * - `true`: Enabled.
996
+ * - `false`: Disabled.
997
+ *
998
+ * In Windows scenarios, if this field is explicitly specified, the specified value is used. If this field is omitted, the user roaming configuration of the current account is used.
999
+ *
1000
+ * @example
1001
+ * true
1002
+ */
1003
+ userProfileSwitch?: boolean;
1004
+ static names(): { [key: string]: string } {
1005
+ return {
1006
+ userProfileSize: 'UserProfileSize',
1007
+ userProfileSwitch: 'UserProfileSwitch',
1008
+ };
1009
+ }
1010
+
1011
+ static types(): { [key: string]: any } {
1012
+ return {
1013
+ userProfileSize: 'number',
1014
+ userProfileSwitch: 'boolean',
1015
+ };
1016
+ }
1017
+
1018
+ validate() {
1019
+ super.validate();
1020
+ }
1021
+
1022
+ constructor(map?: { [key: string]: any }) {
1023
+ super(map);
1024
+ }
1025
+ }
1026
+
1027
+ export class CreateBrowserInstanceGroupRequestStoragePolicy extends $dara.Model {
1028
+ /**
1029
+ * @remarks
1030
+ * The user data roaming configuration, which is used to retain user configuration data.
1031
+ */
1032
+ userProfile?: CreateBrowserInstanceGroupRequestStoragePolicyUserProfile;
1033
+ static names(): { [key: string]: string } {
1034
+ return {
1035
+ userProfile: 'UserProfile',
1036
+ };
1037
+ }
1038
+
1039
+ static types(): { [key: string]: any } {
1040
+ return {
1041
+ userProfile: CreateBrowserInstanceGroupRequestStoragePolicyUserProfile,
1042
+ };
1043
+ }
1044
+
1045
+ validate() {
1046
+ if(this.userProfile && typeof (this.userProfile as any).validate === 'function') {
1047
+ (this.userProfile as any).validate();
1048
+ }
1049
+ super.validate();
1050
+ }
1051
+
1052
+ constructor(map?: { [key: string]: any }) {
1053
+ super(map);
1054
+ }
1055
+ }
1056
+
1057
+ export class CreateBrowserInstanceGroupRequestTag extends $dara.Model {
1058
+ /**
1059
+ * @remarks
1060
+ * Not supported. You do not need to specify this parameter.
1061
+ *
1062
+ * @example
1063
+ * -
1064
+ */
1065
+ key?: string;
1066
+ /**
1067
+ * @remarks
1068
+ * Not supported. You do not need to specify this parameter.
1069
+ *
1070
+ * @example
1071
+ * -
1072
+ */
1073
+ value?: string;
1074
+ static names(): { [key: string]: string } {
1075
+ return {
1076
+ key: 'Key',
1077
+ value: 'Value',
1078
+ };
1079
+ }
1080
+
1081
+ static types(): { [key: string]: any } {
1082
+ return {
1083
+ key: 'string',
1084
+ value: 'string',
1085
+ };
1086
+ }
1087
+
1088
+ validate() {
1089
+ super.validate();
1090
+ }
1091
+
1092
+ constructor(map?: { [key: string]: any }) {
1093
+ super(map);
1094
+ }
1095
+ }
1096
+
1097
+ export class CreateBrowserInstanceGroupRequestTimers extends $dara.Model {
1098
+ /**
1099
+ * @remarks
1100
+ * Not supported. You do not need to specify this parameter.
1101
+ *
1102
+ * @example
1103
+ * -
1104
+ */
1105
+ interval?: number;
1106
+ /**
1107
+ * @remarks
1108
+ * Not supported. You do not need to specify this parameter.
1109
+ *
1110
+ * @example
1111
+ * -
1112
+ */
1113
+ timerType?: string;
1114
+ static names(): { [key: string]: string } {
1115
+ return {
1116
+ interval: 'Interval',
1117
+ timerType: 'TimerType',
1118
+ };
1119
+ }
1120
+
1121
+ static types(): { [key: string]: any } {
1122
+ return {
1123
+ interval: 'number',
1124
+ timerType: 'string',
1125
+ };
1126
+ }
1127
+
1128
+ validate() {
1129
+ super.validate();
1130
+ }
1131
+
1132
+ constructor(map?: { [key: string]: any }) {
1133
+ super(map);
1134
+ }
1135
+ }
1136
+
1137
+ export class CreateBrowserInstanceGroupRequestUserInfo extends $dara.Model {
1138
+ /**
1139
+ * @remarks
1140
+ * The account type of the authorized user.
1141
+ *
1142
+ * - `simple`: Convenience account.
1143
+ * - `ad`: AD domain account.
1144
+ *
1145
+ * The value must match the account type of the user and workspace network.
1146
+ *
1147
+ * @example
1148
+ * simple
1149
+ */
1150
+ type?: string;
1151
+ static names(): { [key: string]: string } {
1152
+ return {
1153
+ type: 'Type',
1154
+ };
1155
+ }
1156
+
1157
+ static types(): { [key: string]: any } {
1158
+ return {
1159
+ type: 'string',
1160
+ };
1161
+ }
1162
+
1163
+ validate() {
1164
+ super.validate();
1165
+ }
1166
+
1167
+ constructor(map?: { [key: string]: any }) {
1168
+ super(map);
1169
+ }
1170
+ }
1171
+
1172
+ export class CreateBrowserInstanceGroupRequestUsers extends $dara.Model {
1173
+ /**
1174
+ * @remarks
1175
+ * The identity of the authorized user to be granted authorization.
1176
+ *
1177
+ * @example
1178
+ * alice
1179
+ */
1180
+ endUserId?: string;
1181
+ static names(): { [key: string]: string } {
1182
+ return {
1183
+ endUserId: 'EndUserId',
1184
+ };
1185
+ }
1186
+
1187
+ static types(): { [key: string]: any } {
1188
+ return {
1189
+ endUserId: 'string',
1190
+ };
1191
+ }
1192
+
1193
+ validate() {
1194
+ super.validate();
1195
+ }
1196
+
1197
+ constructor(map?: { [key: string]: any }) {
1198
+ super(map);
1199
+ }
1200
+ }
1201
+
1202
+ export class CreateBrowserInstanceGroupRequest extends $dara.Model {
1203
+ /**
1204
+ * @remarks
1205
+ * The plan identifier.
1206
+ *
1207
+ * Do not specify this parameter.
1208
+ *
1209
+ * @example
1210
+ * -
1211
+ */
1212
+ appPackageType?: string;
1213
+ /**
1214
+ * @remarks
1215
+ * Specifies whether to send authorization and deauthorization notification emails.
1216
+ *
1217
+ * - `true`: Sends the notification.
1218
+ * - `false`: Does not send the notification.
1219
+ *
1220
+ * @example
1221
+ * true
1222
+ */
1223
+ authNotificationEnabled?: boolean;
1224
+ /**
1225
+ * @remarks
1226
+ * The automatic payment parameter.
1227
+ *
1228
+ * Do not specify this parameter.
1229
+ *
1230
+ * @example
1231
+ * -
1232
+ */
1233
+ autoPay?: boolean;
1234
+ /**
1235
+ * @remarks
1236
+ * The auto-renewal parameter.
1237
+ *
1238
+ * Do not specify this parameter.
1239
+ *
1240
+ * @example
1241
+ * -
1242
+ */
1243
+ autoRenew?: boolean;
1244
+ /**
1245
+ * @remarks
1246
+ * The business region ID. This parameter is required.
1247
+ *
1248
+ * This parameter is required.
1249
+ *
1250
+ * @example
1251
+ * cn-hangzhou
1252
+ */
1253
+ bizRegionId?: string;
1254
+ /**
1255
+ * @remarks
1256
+ * The browser configuration.
1257
+ */
1258
+ browserConfig?: CreateBrowserInstanceGroupRequestBrowserConfig;
1259
+ /**
1260
+ * @remarks
1261
+ * The resource billing mode.
1262
+ *
1263
+ * **For MAU scenarios:** Set this parameter to `AppInstance` to bill by instance resource.
1264
+ *
1265
+ * @example
1266
+ * AppInstance
1267
+ */
1268
+ chargeResourceMode?: string;
1269
+ /**
1270
+ * @remarks
1271
+ * The billing type.
1272
+ *
1273
+ * **For MAU scenarios:** Set this parameter to `PostPaid`, which indicates pay-as-you-go billing.
1274
+ *
1275
+ * @example
1276
+ * PostPaid
1277
+ */
1278
+ chargeType?: string;
1279
+ /**
1280
+ * @remarks
1281
+ * The name of the cloud browser group. This parameter cannot be empty. The name is used to distinguish different browser groups in business management scenarios.
1282
+ *
1283
+ * This parameter is required.
1284
+ *
1285
+ * @example
1286
+ * BusinessOfficeBrowser
1287
+ */
1288
+ cloudBrowserName?: string;
1289
+ /**
1290
+ * @remarks
1291
+ * The image identifier used by the cloud browser. The image must be compatible with the operating system.
1292
+ *
1293
+ * If this parameter is omitted, the default image available for the account is used. If no default image is available, the creation may fail.
1294
+ *
1295
+ * **Usage condition:** When `CookiesSync` is enabled, explicitly specify an image that supports cookie synchronization.
1296
+ *
1297
+ * @example
1298
+ * img-bp13mu****
1299
+ */
1300
+ imageId?: string;
1301
+ /**
1302
+ * @remarks
1303
+ * The instance type identifier. Select an instance type that matches the target region, operating system, and inventory conditions.
1304
+ *
1305
+ * If this parameter is omitted, the default instance type is used.
1306
+ *
1307
+ * @example
1308
+ * appstreaming.general.basic
1309
+ */
1310
+ instanceType?: string;
1311
+ /**
1312
+ * @remarks
1313
+ * The capacity configuration for the MAU billing scenario.
1314
+ *
1315
+ * @example
1316
+ * 5
1317
+ */
1318
+ maxAmount?: number;
1319
+ /**
1320
+ * @remarks
1321
+ * The office network and website access restriction configurations. The selected office network must belong to the current account and be located in the region specified by `BizRegionId`.
1322
+ */
1323
+ network?: CreateBrowserInstanceGroupRequestNetwork;
1324
+ /**
1325
+ * @remarks
1326
+ * The node pool configuration.
1327
+ *
1328
+ * You do not need to specify this parameter.
1329
+ *
1330
+ * @example
1331
+ * -
1332
+ */
1333
+ nodePool?: CreateBrowserInstanceGroupRequestNodePool;
1334
+ /**
1335
+ * @remarks
1336
+ * The operating system type. This parameter is required.
1337
+ *
1338
+ * Only `Windows` is supported. Other operating systems are not supported.
1339
+ *
1340
+ * @example
1341
+ * Windows
1342
+ */
1343
+ osType?: string;
1344
+ /**
1345
+ * @remarks
1346
+ * The number of subscription periods.
1347
+ *
1348
+ * Do not specify this parameter.
1349
+ *
1350
+ * @example
1351
+ * -
1352
+ */
1353
+ period?: number;
1354
+ /**
1355
+ * @remarks
1356
+ * The unit of the subscription period.
1357
+ *
1358
+ * Do not specify this parameter.
1359
+ *
1360
+ * @example
1361
+ * -
1362
+ */
1363
+ periodUnit?: string;
1364
+ /**
1365
+ * @remarks
1366
+ * The clipboard, video, watermark, session, and client access policy configurations.
1367
+ */
1368
+ policy?: CreateBrowserInstanceGroupRequestPolicy;
1369
+ /**
1370
+ * @remarks
1371
+ * The promotion ID. Specifies the promotional campaign to apply to the order.
1372
+ *
1373
+ * Whether the promotion is applicable depends on the campaign rules. Do not specify this parameter if no promotional campaign is used.
1374
+ *
1375
+ * @example
1376
+ * 17440009****
1377
+ */
1378
+ promotionId?: string;
1379
+ /**
1380
+ * @remarks
1381
+ * The connection security policy for the browser group.
1382
+ */
1383
+ securityPolicy?: CreateBrowserInstanceGroupRequestSecurityPolicy;
1384
+ /**
1385
+ * @remarks
1386
+ * The user data storage configuration for the browser group.
1387
+ */
1388
+ storagePolicy?: CreateBrowserInstanceGroupRequestStoragePolicy;
1389
+ /**
1390
+ * @remarks
1391
+ * The billing subtype.
1392
+ *
1393
+ * **Set this parameter to `mau` explicitly, which indicates billing by monthly active users.** Omitting this field does not enable MAU billing.
1394
+ *
1395
+ * @example
1396
+ * mau
1397
+ */
1398
+ subPayType?: string;
1399
+ /**
1400
+ * @remarks
1401
+ * Not supported. You do not need to specify this parameter.
1402
+ *
1403
+ * @example
1404
+ * -
1405
+ */
1406
+ tag?: CreateBrowserInstanceGroupRequestTag[];
1407
+ /**
1408
+ * @remarks
1409
+ * Not supported. You do not need to specify this parameter.
1410
+ *
1411
+ * @example
1412
+ * -
1413
+ */
1414
+ timers?: CreateBrowserInstanceGroupRequestTimers[];
1415
+ /**
1416
+ * @remarks
1417
+ * The list of authorized user group identifiers. A maximum of 10 items are supported. The user groups must belong to the current account and match the workspace network account type.
1418
+ *
1419
+ * **Limit:** Cannot be specified together with a non-empty `Users`.
1420
+ *
1421
+ * **if can be null:**
1422
+ * true
1423
+ */
1424
+ userGroupIds?: string[];
1425
+ /**
1426
+ * @remarks
1427
+ * The authorized user account information. The value must match the user and workspace network type.
1428
+ */
1429
+ userInfo?: CreateBrowserInstanceGroupRequestUserInfo;
1430
+ /**
1431
+ * @remarks
1432
+ * The list of authorized users. A maximum of 200 users can be specified. Users must be created in advance and must match the account type.
1433
+ *
1434
+ * **Restriction:** This parameter cannot be specified together with a non-empty `UserGroupIds`.
1435
+ */
1436
+ users?: CreateBrowserInstanceGroupRequestUsers[];
1437
+ static names(): { [key: string]: string } {
1438
+ return {
1439
+ appPackageType: 'AppPackageType',
1440
+ authNotificationEnabled: 'AuthNotificationEnabled',
1441
+ autoPay: 'AutoPay',
1442
+ autoRenew: 'AutoRenew',
1443
+ bizRegionId: 'BizRegionId',
1444
+ browserConfig: 'BrowserConfig',
1445
+ chargeResourceMode: 'ChargeResourceMode',
1446
+ chargeType: 'ChargeType',
1447
+ cloudBrowserName: 'CloudBrowserName',
1448
+ imageId: 'ImageId',
1449
+ instanceType: 'InstanceType',
1450
+ maxAmount: 'MaxAmount',
1451
+ network: 'Network',
1452
+ nodePool: 'NodePool',
1453
+ osType: 'OsType',
1454
+ period: 'Period',
1455
+ periodUnit: 'PeriodUnit',
1456
+ policy: 'Policy',
1457
+ promotionId: 'PromotionId',
1458
+ securityPolicy: 'SecurityPolicy',
1459
+ storagePolicy: 'StoragePolicy',
1460
+ subPayType: 'SubPayType',
1461
+ tag: 'Tag',
1462
+ timers: 'Timers',
1463
+ userGroupIds: 'UserGroupIds',
1464
+ userInfo: 'UserInfo',
1465
+ users: 'Users',
1466
+ };
1467
+ }
1468
+
1469
+ static types(): { [key: string]: any } {
1470
+ return {
1471
+ appPackageType: 'string',
1472
+ authNotificationEnabled: 'boolean',
1473
+ autoPay: 'boolean',
1474
+ autoRenew: 'boolean',
1475
+ bizRegionId: 'string',
1476
+ browserConfig: CreateBrowserInstanceGroupRequestBrowserConfig,
1477
+ chargeResourceMode: 'string',
1478
+ chargeType: 'string',
1479
+ cloudBrowserName: 'string',
1480
+ imageId: 'string',
1481
+ instanceType: 'string',
1482
+ maxAmount: 'number',
1483
+ network: CreateBrowserInstanceGroupRequestNetwork,
1484
+ nodePool: CreateBrowserInstanceGroupRequestNodePool,
1485
+ osType: 'string',
1486
+ period: 'number',
1487
+ periodUnit: 'string',
1488
+ policy: CreateBrowserInstanceGroupRequestPolicy,
1489
+ promotionId: 'string',
1490
+ securityPolicy: CreateBrowserInstanceGroupRequestSecurityPolicy,
1491
+ storagePolicy: CreateBrowserInstanceGroupRequestStoragePolicy,
1492
+ subPayType: 'string',
1493
+ tag: { 'type': 'array', 'itemType': CreateBrowserInstanceGroupRequestTag },
1494
+ timers: { 'type': 'array', 'itemType': CreateBrowserInstanceGroupRequestTimers },
1495
+ userGroupIds: { 'type': 'array', 'itemType': 'string' },
1496
+ userInfo: CreateBrowserInstanceGroupRequestUserInfo,
1497
+ users: { 'type': 'array', 'itemType': CreateBrowserInstanceGroupRequestUsers },
1498
+ };
1499
+ }
1500
+
1501
+ validate() {
1502
+ if(this.browserConfig && typeof (this.browserConfig as any).validate === 'function') {
1503
+ (this.browserConfig as any).validate();
1504
+ }
1505
+ if(this.network && typeof (this.network as any).validate === 'function') {
1506
+ (this.network as any).validate();
1507
+ }
1508
+ if(this.nodePool && typeof (this.nodePool as any).validate === 'function') {
1509
+ (this.nodePool as any).validate();
1510
+ }
1511
+ if(this.policy && typeof (this.policy as any).validate === 'function') {
1512
+ (this.policy as any).validate();
1513
+ }
1514
+ if(this.securityPolicy && typeof (this.securityPolicy as any).validate === 'function') {
1515
+ (this.securityPolicy as any).validate();
1516
+ }
1517
+ if(this.storagePolicy && typeof (this.storagePolicy as any).validate === 'function') {
1518
+ (this.storagePolicy as any).validate();
1519
+ }
1520
+ if(Array.isArray(this.tag)) {
1521
+ $dara.Model.validateArray(this.tag);
1522
+ }
1523
+ if(Array.isArray(this.timers)) {
1524
+ $dara.Model.validateArray(this.timers);
1525
+ }
1526
+ if(Array.isArray(this.userGroupIds)) {
1527
+ $dara.Model.validateArray(this.userGroupIds);
1528
+ }
1529
+ if(this.userInfo && typeof (this.userInfo as any).validate === 'function') {
1530
+ (this.userInfo as any).validate();
1531
+ }
1532
+ if(Array.isArray(this.users)) {
1533
+ $dara.Model.validateArray(this.users);
1534
+ }
1535
+ super.validate();
1536
+ }
1537
+
1538
+ constructor(map?: { [key: string]: any }) {
1539
+ super(map);
1540
+ }
1541
+ }
1542
+