@grnsft/if 0.0.2

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 (285) hide show
  1. package/.devcontainer/devcontainer.json +38 -0
  2. package/.editorconfig +8 -0
  3. package/.env.example +9 -0
  4. package/.eslintignore +4 -0
  5. package/.eslintrc.json +8 -0
  6. package/.github/ISSUE_TEMPLATE/agenda.md +36 -0
  7. package/.github/ISSUE_TEMPLATE/blank-issue.md +10 -0
  8. package/.github/ISSUE_TEMPLATE/feedback.md +42 -0
  9. package/.github/ISSUE_TEMPLATE/model-plugin.md +63 -0
  10. package/.github/ISSUE_TEMPLATE/user-story.md +10 -0
  11. package/.github/PULL_REQUEST_TEMPLATE.md +21 -0
  12. package/.github/workflows/nodejs-ci.yml +34 -0
  13. package/.gitmodules +3 -0
  14. package/.prettierrc.js +3 -0
  15. package/CONTRIBUTING.md +194 -0
  16. package/LICENSE +21 -0
  17. package/Makefile +16 -0
  18. package/README.md +67 -0
  19. package/build/__mocks__/azure/index.d.ts +11 -0
  20. package/build/__mocks__/azure/index.js +132 -0
  21. package/build/__mocks__/boavizta/countries.json +138 -0
  22. package/build/__mocks__/boavizta/instance_types.json +625 -0
  23. package/build/__mocks__/boavizta/providers.json +1 -0
  24. package/build/__mocks__/fs/index.d.ts +3 -0
  25. package/build/__mocks__/fs/index.js +56 -0
  26. package/build/__mocks__/model-universe/index.d.ts +33 -0
  27. package/build/__mocks__/model-universe/index.js +68 -0
  28. package/build/__mocks__/watt-time/data.json +119 -0
  29. package/build/__tests__/integration/ompl/index.test.d.ts +1 -0
  30. package/build/__tests__/integration/ompl/index.test.js +61 -0
  31. package/build/__tests__/unit/lib/azure-importer/index.test.d.ts +1 -0
  32. package/build/__tests__/unit/lib/azure-importer/index.test.js +152 -0
  33. package/build/__tests__/unit/lib/boavizta/index.test.d.ts +1 -0
  34. package/build/__tests__/unit/lib/boavizta/index.test.js +579 -0
  35. package/build/__tests__/unit/lib/case-studies/aveva.test.d.ts +1 -0
  36. package/build/__tests__/unit/lib/case-studies/aveva.test.js +36 -0
  37. package/build/__tests__/unit/lib/case-studies/emem.test.d.ts +1 -0
  38. package/build/__tests__/unit/lib/case-studies/emem.test.js +108 -0
  39. package/build/__tests__/unit/lib/case-studies/eshoppen.test.d.ts +1 -0
  40. package/build/__tests__/unit/lib/case-studies/eshoppen.test.js +53 -0
  41. package/build/__tests__/unit/lib/case-studies/sci-accenture.test.d.ts +1 -0
  42. package/build/__tests__/unit/lib/case-studies/sci-accenture.test.js +23 -0
  43. package/build/__tests__/unit/lib/ccf/index.test.d.ts +1 -0
  44. package/build/__tests__/unit/lib/ccf/index.test.js +223 -0
  45. package/build/__tests__/unit/lib/cloud-instance-metadata/index.test.d.ts +1 -0
  46. package/build/__tests__/unit/lib/cloud-instance-metadata/index.test.js +73 -0
  47. package/build/__tests__/unit/lib/sci/index.test.d.ts +1 -0
  48. package/build/__tests__/unit/lib/sci/index.test.js +106 -0
  49. package/build/__tests__/unit/lib/sci-e/index.test.d.ts +1 -0
  50. package/build/__tests__/unit/lib/sci-e/index.test.js +30 -0
  51. package/build/__tests__/unit/lib/sci-m/index.test.d.ts +1 -0
  52. package/build/__tests__/unit/lib/sci-m/index.test.js +58 -0
  53. package/build/__tests__/unit/lib/sci-o/index.test.d.ts +1 -0
  54. package/build/__tests__/unit/lib/sci-o/index.test.js +42 -0
  55. package/build/__tests__/unit/lib/shell-imp/index.test.d.ts +1 -0
  56. package/build/__tests__/unit/lib/shell-imp/index.test.js +21 -0
  57. package/build/__tests__/unit/lib/tdp-finder/index.test.d.ts +1 -0
  58. package/build/__tests__/unit/lib/tdp-finder/index.test.js +62 -0
  59. package/build/__tests__/unit/lib/teads-aws/index.test.d.ts +1 -0
  60. package/build/__tests__/unit/lib/teads-aws/index.test.js +170 -0
  61. package/build/__tests__/unit/lib/teads-curve/index.test.d.ts +1 -0
  62. package/build/__tests__/unit/lib/teads-curve/index.test.js +146 -0
  63. package/build/__tests__/unit/lib/watt-time/index.test.d.ts +1 -0
  64. package/build/__tests__/unit/lib/watt-time/index.test.js +106 -0
  65. package/build/__tests__/unit/util/args.test.d.ts +1 -0
  66. package/build/__tests__/unit/util/args.test.js +92 -0
  67. package/build/__tests__/unit/util/models-universe.test.d.ts +1 -0
  68. package/build/__tests__/unit/util/models-universe.test.js +211 -0
  69. package/build/__tests__/unit/util/observatory.test.d.ts +1 -0
  70. package/build/__tests__/unit/util/observatory.test.js +91 -0
  71. package/build/__tests__/unit/util/supercomputer.test.d.ts +1 -0
  72. package/build/__tests__/unit/util/supercomputer.test.js +231 -0
  73. package/build/__tests__/unit/util/yaml.test.d.ts +1 -0
  74. package/build/__tests__/unit/util/yaml.test.js +59 -0
  75. package/build/config/config.d.ts +32 -0
  76. package/build/config/config.js +74 -0
  77. package/build/config/index.d.ts +2 -0
  78. package/build/config/index.js +8 -0
  79. package/build/config/strings.d.ts +14 -0
  80. package/build/config/strings.js +30 -0
  81. package/build/index.d.ts +1 -0
  82. package/build/index.js +46 -0
  83. package/build/lib/azure-importer/index.d.ts +55 -0
  84. package/build/lib/azure-importer/index.js +314 -0
  85. package/build/lib/boavizta/index.d.ts +53 -0
  86. package/build/lib/boavizta/index.js +254 -0
  87. package/build/lib/case-studies/aveva-model.d.ts +29 -0
  88. package/build/lib/case-studies/aveva-model.js +53 -0
  89. package/build/lib/case-studies/emem-model.d.ts +42 -0
  90. package/build/lib/case-studies/emem-model.js +93 -0
  91. package/build/lib/case-studies/eshoppen-model.d.ts +24 -0
  92. package/build/lib/case-studies/eshoppen-model.js +123 -0
  93. package/build/lib/case-studies/index.d.ts +4 -0
  94. package/build/lib/case-studies/index.js +21 -0
  95. package/build/lib/case-studies/sci-accenture-model.d.ts +10 -0
  96. package/build/lib/case-studies/sci-accenture-model.js +37 -0
  97. package/build/lib/ccf/aws-embodied.json +5591 -0
  98. package/build/lib/ccf/aws-instances.json +21116 -0
  99. package/build/lib/ccf/aws-use.json +79 -0
  100. package/build/lib/ccf/azure-embodied.json +6547 -0
  101. package/build/lib/ccf/azure-instances.json +8332 -0
  102. package/build/lib/ccf/azure-use.json +58 -0
  103. package/build/lib/ccf/gcp-embodied.json +3049 -0
  104. package/build/lib/ccf/gcp-instances.json +3880 -0
  105. package/build/lib/ccf/gcp-use.json +58 -0
  106. package/build/lib/ccf/index.d.ts +63 -0
  107. package/build/lib/ccf/index.js +338 -0
  108. package/build/lib/cloud-instance-metadata/aws-instances.json +1 -0
  109. package/build/lib/cloud-instance-metadata/azure-instances.json +1 -0
  110. package/build/lib/cloud-instance-metadata/index.d.ts +15 -0
  111. package/build/lib/cloud-instance-metadata/index.js +104 -0
  112. package/build/lib/index.d.ts +15 -0
  113. package/build/lib/index.js +32 -0
  114. package/build/lib/interfaces/ccf.d.ts +19 -0
  115. package/build/lib/interfaces/ccf.js +3 -0
  116. package/build/lib/interfaces/index.d.ts +7 -0
  117. package/build/lib/interfaces/index.js +18 -0
  118. package/build/lib/sci/index.d.ts +13 -0
  119. package/build/lib/sci/index.js +131 -0
  120. package/build/lib/sci-e/index.d.ts +38 -0
  121. package/build/lib/sci-e/index.js +85 -0
  122. package/build/lib/sci-m/index.d.ts +10 -0
  123. package/build/lib/sci-m/index.js +124 -0
  124. package/build/lib/sci-o/index.d.ts +17 -0
  125. package/build/lib/sci-o/index.js +52 -0
  126. package/build/lib/shell-imp/index.d.ts +32 -0
  127. package/build/lib/shell-imp/index.js +82 -0
  128. package/build/lib/tdp-finder/index.d.ts +19 -0
  129. package/build/lib/tdp-finder/index.js +98 -0
  130. package/build/lib/teads-aws/aws-embodied.json +1 -0
  131. package/build/lib/teads-aws/aws-instances.json +1 -0
  132. package/build/lib/teads-aws/index.d.ts +58 -0
  133. package/build/lib/teads-aws/index.js +208 -0
  134. package/build/lib/teads-curve/index.d.ts +52 -0
  135. package/build/lib/teads-curve/index.js +158 -0
  136. package/build/lib/watt-time/index.d.ts +18 -0
  137. package/build/lib/watt-time/index.js +204 -0
  138. package/build/types/azure-importer.d.ts +29 -0
  139. package/build/types/azure-importer.js +3 -0
  140. package/build/types/boavizta.d.ts +7 -0
  141. package/build/types/boavizta.js +3 -0
  142. package/build/types/common.d.ts +7 -0
  143. package/build/types/common.js +9 -0
  144. package/build/types/impl.d.ts +40 -0
  145. package/build/types/impl.js +3 -0
  146. package/build/types/models-universe.d.ts +24 -0
  147. package/build/types/models-universe.js +3 -0
  148. package/build/types/process-args.d.ts +7 -0
  149. package/build/types/process-args.js +3 -0
  150. package/build/types/supercomputer.d.ts +4 -0
  151. package/build/types/supercomputer.js +3 -0
  152. package/build/util/args.d.ts +8 -0
  153. package/build/util/args.js +48 -0
  154. package/build/util/errors.d.ts +6 -0
  155. package/build/util/errors.js +22 -0
  156. package/build/util/helpers.d.ts +4 -0
  157. package/build/util/helpers.js +18 -0
  158. package/build/util/models-universe.d.ts +28 -0
  159. package/build/util/models-universe.js +95 -0
  160. package/build/util/observatory.d.ts +20 -0
  161. package/build/util/observatory.js +31 -0
  162. package/build/util/supercomputer.d.ts +30 -0
  163. package/build/util/supercomputer.js +109 -0
  164. package/build/util/validations.d.ts +25 -0
  165. package/build/util/validations.js +52 -0
  166. package/build/util/yaml.d.ts +13 -0
  167. package/build/util/yaml.js +36 -0
  168. package/coverage/clover.xml +1172 -0
  169. package/coverage/coverage-final.json +27 -0
  170. package/coverage/lcov-report/base.css +224 -0
  171. package/coverage/lcov-report/block-navigation.js +87 -0
  172. package/coverage/lcov-report/config/config.ts.html +310 -0
  173. package/coverage/lcov-report/config/index.html +146 -0
  174. package/coverage/lcov-report/config/index.ts.html +91 -0
  175. package/coverage/lcov-report/config/strings.ts.html +118 -0
  176. package/coverage/lcov-report/favicon.png +0 -0
  177. package/coverage/lcov-report/index.html +341 -0
  178. package/coverage/lcov-report/lib/boavizta/index.html +116 -0
  179. package/coverage/lcov-report/lib/boavizta/index.ts.html +1171 -0
  180. package/coverage/lcov-report/lib/case-studies/aveva-model.ts.html +277 -0
  181. package/coverage/lcov-report/lib/case-studies/emem-model.ts.html +439 -0
  182. package/coverage/lcov-report/lib/case-studies/eshoppen-model.ts.html +550 -0
  183. package/coverage/lcov-report/lib/case-studies/index.html +176 -0
  184. package/coverage/lcov-report/lib/case-studies/index.ts.html +97 -0
  185. package/coverage/lcov-report/lib/case-studies/sci-accenture-model.ts.html +232 -0
  186. package/coverage/lcov-report/lib/ccf/index.html +116 -0
  187. package/coverage/lcov-report/lib/ccf/index.ts.html +1339 -0
  188. package/coverage/lcov-report/lib/cloud-instance-metadata/index.html +116 -0
  189. package/coverage/lcov-report/lib/cloud-instance-metadata/index.ts.html +370 -0
  190. package/coverage/lcov-report/lib/index.html +116 -0
  191. package/coverage/lcov-report/lib/index.ts.html +121 -0
  192. package/coverage/lcov-report/lib/sci/index.html +116 -0
  193. package/coverage/lcov-report/lib/sci/index.ts.html +571 -0
  194. package/coverage/lcov-report/lib/sci-e/index.html +116 -0
  195. package/coverage/lcov-report/lib/sci-e/index.ts.html +403 -0
  196. package/coverage/lcov-report/lib/sci-m/index.html +116 -0
  197. package/coverage/lcov-report/lib/sci-m/index.ts.html +487 -0
  198. package/coverage/lcov-report/lib/sci-o/index.html +116 -0
  199. package/coverage/lcov-report/lib/sci-o/index.ts.html +265 -0
  200. package/coverage/lcov-report/lib/shell-imp/index.html +116 -0
  201. package/coverage/lcov-report/lib/shell-imp/index.ts.html +376 -0
  202. package/coverage/lcov-report/lib/teads-aws/index.html +116 -0
  203. package/coverage/lcov-report/lib/teads-aws/index.ts.html +823 -0
  204. package/coverage/lcov-report/lib/teads-curve/index.html +116 -0
  205. package/coverage/lcov-report/lib/teads-curve/index.ts.html +625 -0
  206. package/coverage/lcov-report/lib/watt-time/index.html +116 -0
  207. package/coverage/lcov-report/lib/watt-time/index.ts.html +829 -0
  208. package/coverage/lcov-report/prettify.css +1 -0
  209. package/coverage/lcov-report/prettify.js +2 -0
  210. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  211. package/coverage/lcov-report/sorter.js +196 -0
  212. package/coverage/lcov-report/types/common.ts.html +109 -0
  213. package/coverage/lcov-report/types/index.html +116 -0
  214. package/coverage/lcov-report/util/args.ts.html +244 -0
  215. package/coverage/lcov-report/util/index.html +176 -0
  216. package/coverage/lcov-report/util/models-universe.ts.html +679 -0
  217. package/coverage/lcov-report/util/observatory.ts.html +229 -0
  218. package/coverage/lcov-report/util/supercomputer.ts.html +466 -0
  219. package/coverage/lcov-report/util/yaml.ts.html +193 -0
  220. package/coverage/lcov.info +2094 -0
  221. package/docs/implementations/tdp-finder.md +36 -0
  222. package/examples/impls/case-studies/accenture.yml +155 -0
  223. package/examples/impls/case-studies/aveva.yaml +48 -0
  224. package/examples/impls/case-studies/azure-yassine.yaml +67 -0
  225. package/examples/impls/case-studies/boavizta.yml +26 -0
  226. package/examples/impls/case-studies/dow_msft.yml +173 -0
  227. package/examples/impls/case-studies/farm-insights.yaml +35 -0
  228. package/examples/impls/case-studies/gsf-website.yaml +93 -0
  229. package/examples/impls/case-studies/msft-eshoppen.yaml +162 -0
  230. package/examples/impls/case-studies/msft-green-ai.yaml +58 -0
  231. package/examples/impls/case-studies/ntt-data-on-premise.yaml +201 -0
  232. package/examples/impls/tdp-finder-test.yml +19 -0
  233. package/examples/impls/test/azure.yml +26 -0
  234. package/examples/impls/test/ccf.yml +19 -0
  235. package/examples/impls/test/complex-pipeline.yml +67 -0
  236. package/examples/impls/test/if-demo.yml +51 -0
  237. package/examples/impls/test/metadata.yml +20 -0
  238. package/examples/impls/test/nesting.yml +65 -0
  239. package/examples/impls/test/sci-e.yml +21 -0
  240. package/examples/impls/test/sci-m.yml +24 -0
  241. package/examples/impls/test/sci-o.yml +28 -0
  242. package/examples/impls/test/sci.yml +27 -0
  243. package/examples/impls/test/shell.yml +18 -0
  244. package/examples/impls/test/toto.yaml +22 -0
  245. package/examples/ompls/azure.yml +145 -0
  246. package/examples/ompls/ccf.yml +27 -0
  247. package/examples/ompls/complex-pipeline.yml +105 -0
  248. package/examples/ompls/full-sci.yml +64 -0
  249. package/examples/ompls/if-demo.yml +493 -0
  250. package/examples/ompls/metadata.yml +29 -0
  251. package/examples/ompls/nesting.yml +107 -0
  252. package/examples/ompls/sci-e.yml +23 -0
  253. package/examples/ompls/sci-m.yml +33 -0
  254. package/examples/ompls/sci-o.yml +29 -0
  255. package/examples/ompls/sci.yml +36 -0
  256. package/examples/ompls/shell.yml +23 -0
  257. package/jest.config.js +14 -0
  258. package/package.json +71 -0
  259. package/scripts/impact-test.sh +12 -0
  260. package/src/__mocks__/boavizta/countries.json +138 -0
  261. package/src/__mocks__/boavizta/instance_types.json +625 -0
  262. package/src/__mocks__/boavizta/providers.json +1 -0
  263. package/src/__mocks__/watt-time/data.json +119 -0
  264. package/src/config/units.yaml +125 -0
  265. package/src/lib/ccf/aws-embodied.json +5591 -0
  266. package/src/lib/ccf/aws-instances.json +21116 -0
  267. package/src/lib/ccf/aws-use.json +79 -0
  268. package/src/lib/ccf/azure-embodied.json +6547 -0
  269. package/src/lib/ccf/azure-instances.json +8332 -0
  270. package/src/lib/ccf/azure-use.json +58 -0
  271. package/src/lib/ccf/gcp-embodied.json +3049 -0
  272. package/src/lib/ccf/gcp-instances.json +3880 -0
  273. package/src/lib/ccf/gcp-use.json +58 -0
  274. package/src/lib/cloud-instance-metadata/aws-instances.json +1 -0
  275. package/src/lib/cloud-instance-metadata/azure-instances.json +1 -0
  276. package/src/lib/shell-imp/sampler +30 -0
  277. package/src/lib/tdp-finder/README.md +7 -0
  278. package/src/lib/tdp-finder/boavizta_data.csv +1768 -0
  279. package/src/lib/tdp-finder/data.csv +4460 -0
  280. package/src/lib/tdp-finder/data2.csv +2162 -0
  281. package/src/lib/teads-aws/aws-embodied.json +1 -0
  282. package/src/lib/teads-aws/aws-instances.json +1 -0
  283. package/tsconfig.test.json +39 -0
  284. package/tsconfig.tsbuildinfo +1 -0
  285. package/yarn-error.log +5854 -0
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MockComputeManagementClient = exports.MockMonitorClient = exports.MockAzureCredentials = void 0;
4
+ class MockAzureCredentials {
5
+ }
6
+ exports.MockAzureCredentials = MockAzureCredentials;
7
+ class MockMonitorClient {
8
+ constructor() {
9
+ this.metrics = {
10
+ list: (resourceUri, options) => {
11
+ if (options !== undefined && options.metricnames === 'Percentage CPU') {
12
+ return {
13
+ url: resourceUri,
14
+ cost: 59,
15
+ timespan: '2023-11-02T10:35:31Z/2023-11-02T11:35:31Z',
16
+ interval: 'PT5M',
17
+ namespace: 'Microsoft.Compute/virtualMachines',
18
+ resourceregion: 'uksouth',
19
+ value: [
20
+ {
21
+ id: '/subscriptions/9de7e19f-8a18-4e73-9451-45fc74e7d0d3/resourceGroups/vm1_group/providers/Microsoft.Compute/virtualMachines/vm1/providers/Microsoft.Insights/metrics/Percentage CPU',
22
+ type: 'Microsoft.Insights/metrics',
23
+ name: [Object],
24
+ displayDescription: 'The percentage of allocated compute units that are currently in use by the Virtual Machine(s)',
25
+ errorCode: 'Success',
26
+ unit: 'Percent',
27
+ timeseries: [
28
+ {
29
+ data: [
30
+ {
31
+ timeStamp: new Date('2023-11-02T10:35:00.000Z'),
32
+ average: 3.14,
33
+ },
34
+ ],
35
+ },
36
+ ],
37
+ },
38
+ ],
39
+ };
40
+ }
41
+ else if (options !== undefined &&
42
+ options.metricnames === 'Available Memory Bytes') {
43
+ return {
44
+ url: resourceUri,
45
+ cost: 59,
46
+ timespan: '2023-11-02T10:35:31Z/2023-11-02T11:35:31Z',
47
+ interval: 'PT5M',
48
+ namespace: 'Microsoft.Compute/virtualMachines',
49
+ resourceregion: 'uksouth',
50
+ value: [
51
+ {
52
+ id: '/subscriptions/9de7e19f-8a18-4e73-9451-45fc74e7d0d3/resourceGroups/vm1_group/providers/Microsoft.Compute/virtualMachines/vm1/providers/Microsoft.Insights/metrics/Percentage CPU',
53
+ type: 'Microsoft.Insights/metrics',
54
+ name: [Object],
55
+ displayDescription: 'The percentage of allocated compute units that are currently in use by the Virtual Machine(s)',
56
+ errorCode: 'Success',
57
+ unit: 'Percent',
58
+ timeseries: [
59
+ {
60
+ data: [
61
+ {
62
+ timeStamp: new Date('2023-11-02T10:35:00.000Z'),
63
+ average: 500000000,
64
+ },
65
+ ],
66
+ },
67
+ ],
68
+ },
69
+ ],
70
+ };
71
+ }
72
+ else {
73
+ throw new Error('invalid params');
74
+ }
75
+ },
76
+ };
77
+ }
78
+ }
79
+ exports.MockMonitorClient = MockMonitorClient;
80
+ class MockComputeManagementClient {
81
+ constructor() {
82
+ this.virtualMachines = {
83
+ list: function* () {
84
+ yield {
85
+ id: '/subscriptions/999999999999999999/resourceGroups/vm1_group/providers/Microsoft.Compute/virtualMachines/vm1',
86
+ name: 'vm1',
87
+ type: 'Microsoft.Compute/virtualMachines',
88
+ location: 'uksouth',
89
+ zones: ['1'],
90
+ hardwareProfile: { vmSize: 'Standard_B1s' },
91
+ storageProfile: {
92
+ imageReference: [Object],
93
+ osDisk: [Object],
94
+ dataDisks: [],
95
+ diskControllerType: 'SCSI',
96
+ },
97
+ osProfile: {
98
+ computerName: 'vm1',
99
+ adminUsername: 'user',
100
+ linuxConfiguration: [Object],
101
+ secrets: [],
102
+ allowExtensionOperations: true,
103
+ requireGuestProvisionSignal: true,
104
+ },
105
+ networkProfile: { networkInterfaces: [Array] },
106
+ securityProfile: {
107
+ uefiSettings: [Object],
108
+ securityType: 'TrustedLaunch',
109
+ },
110
+ diagnosticsProfile: { bootDiagnostics: [Object] },
111
+ provisioningState: 'Succeeded',
112
+ vmId: '11cf628c-38bb-4b5e-b1f4-0c60d8dcbf13',
113
+ timeCreated: '2023-10-20T10:54:50.248Z',
114
+ };
115
+ },
116
+ };
117
+ this.resourceSkus = {
118
+ list: function* () {
119
+ yield {
120
+ resourceType: 'virtualMachines',
121
+ name: 'Standard_B1s',
122
+ locations: ['uksouth'],
123
+ locationInfo: [{ location: 'uksouth', zones: [], zoneDetails: [] }],
124
+ capabilities: [{ name: 'MemoryGB', value: 1 }],
125
+ restrictions: [],
126
+ };
127
+ },
128
+ };
129
+ }
130
+ }
131
+ exports.MockComputeManagementClient = MockComputeManagementClient;
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvX19tb2Nrc19fL2F6dXJlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLE1BQWEsb0JBQW9CO0NBQUc7QUFBcEMsb0RBQW9DO0FBRXBDLE1BQWEsaUJBQWlCO0lBRTVCO1FBQ0UsSUFBSSxDQUFDLE9BQU8sR0FBRztZQUNiLElBQUksRUFBRSxDQUNKLFdBQW1CLEVBQ25CLE9BQStDLEVBQy9DLEVBQUU7Z0JBQ0YsSUFBSSxPQUFPLEtBQUssU0FBUyxJQUFJLE9BQU8sQ0FBQyxXQUFXLEtBQUssZ0JBQWdCLEVBQUU7b0JBQ3JFLE9BQU87d0JBQ0wsR0FBRyxFQUFFLFdBQVc7d0JBQ2hCLElBQUksRUFBRSxFQUFFO3dCQUNSLFFBQVEsRUFBRSwyQ0FBMkM7d0JBQ3JELFFBQVEsRUFBRSxNQUFNO3dCQUNoQixTQUFTLEVBQUUsbUNBQW1DO3dCQUM5QyxjQUFjLEVBQUUsU0FBUzt3QkFDekIsS0FBSyxFQUFFOzRCQUNMO2dDQUNFLEVBQUUsRUFBRSxrTEFBa0w7Z0NBQ3RMLElBQUksRUFBRSw0QkFBNEI7Z0NBQ2xDLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQztnQ0FDZCxrQkFBa0IsRUFDaEIsK0ZBQStGO2dDQUNqRyxTQUFTLEVBQUUsU0FBUztnQ0FDcEIsSUFBSSxFQUFFLFNBQVM7Z0NBQ2YsVUFBVSxFQUFFO29DQUNWO3dDQUNFLElBQUksRUFBRTs0Q0FDSjtnREFDRSxTQUFTLEVBQUUsSUFBSSxJQUFJLENBQUMsMEJBQTBCLENBQUM7Z0RBQy9DLE9BQU8sRUFBRSxJQUFJOzZDQUNkO3lDQUNGO3FDQUNGO2lDQUNGOzZCQUNGO3lCQUNGO3FCQUNGLENBQUM7aUJBQ0g7cUJBQU0sSUFDTCxPQUFPLEtBQUssU0FBUztvQkFDckIsT0FBTyxDQUFDLFdBQVcsS0FBSyx3QkFBd0IsRUFDaEQ7b0JBQ0EsT0FBTzt3QkFDTCxHQUFHLEVBQUUsV0FBVzt3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TWV0cmljc0xpc3RPcHRpb25hbFBhcmFtc30gZnJvbSAnQGF6dXJlL2FybS1tb25pdG9yJztcblxuZXhwb3J0IGNsYXNzIE1vY2tBenVyZUNyZWRlbnRpYWxzIHt9XG5cbmV4cG9ydCBjbGFzcyBNb2NrTW9uaXRvckNsaWVudCB7XG4gIHB1YmxpYyBtZXRyaWNzOiBhbnk7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMubWV0cmljcyA9IHtcbiAgICAgIGxpc3Q6IChcbiAgICAgICAgcmVzb3VyY2VVcmk6IHN0cmluZyxcbiAgICAgICAgb3B0aW9ucz86IE1ldHJpY3NMaXN0T3B0aW9uYWxQYXJhbXMgfCB1bmRlZmluZWRcbiAgICAgICkgPT4ge1xuICAgICAgICBpZiAob3B0aW9ucyAhPT0gdW5kZWZpbmVkICYmIG9wdGlvbnMubWV0cmljbmFtZXMgPT09ICdQZXJjZW50YWdlIENQVScpIHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdXJsOiByZXNvdXJjZVVyaSxcbiAgICAgICAgICAgIGNvc3Q6IDU5LFxuICAgICAgICAgICAgdGltZXNwYW46ICcyMDIzLTExLTAyVDEwOjM1OjMxWi8yMDIzLTExLTAyVDExOjM1OjMxWicsXG4gICAgICAgICAgICBpbnRlcnZhbDogJ1BUNU0nLFxuICAgICAgICAgICAgbmFtZXNwYWNlOiAnTWljcm9zb2Z0LkNvbXB1dGUvdmlydHVhbE1hY2hpbmVzJyxcbiAgICAgICAgICAgIHJlc291cmNlcmVnaW9uOiAndWtzb3V0aCcsXG4gICAgICAgICAgICB2YWx1ZTogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6ICcvc3Vic2NyaXB0aW9ucy85ZGU3ZTE5Zi04YTE4LTRlNzMtOTQ1MS00NWZjNzRlN2QwZDMvcmVzb3VyY2VHcm91cHMvdm0xX2dyb3VwL3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29tcHV0ZS92aXJ0dWFsTWFjaGluZXMvdm0xL3Byb3ZpZGVycy9NaWNyb3NvZnQuSW5zaWdodHMvbWV0cmljcy9QZXJjZW50YWdlIENQVScsXG4gICAgICAgICAgICAgICAgdHlwZTogJ01pY3Jvc29mdC5JbnNpZ2h0cy9tZXRyaWNzJyxcbiAgICAgICAgICAgICAgICBuYW1lOiBbT2JqZWN0XSxcbiAgICAgICAgICAgICAgICBkaXNwbGF5RGVzY3JpcHRpb246XG4gICAgICAgICAgICAgICAgICAnVGhlIHBlcmNlbnRhZ2Ugb2YgYWxsb2NhdGVkIGNvbXB1dGUgdW5pdHMgdGhhdCBhcmUgY3VycmVudGx5IGluIHVzZSBieSB0aGUgVmlydHVhbCBNYWNoaW5lKHMpJyxcbiAgICAgICAgICAgICAgICBlcnJvckNvZGU6ICdTdWNjZXNzJyxcbiAgICAgICAgICAgICAgICB1bml0OiAnUGVyY2VudCcsXG4gICAgICAgICAgICAgICAgdGltZXNlcmllczogW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBkYXRhOiBbXG4gICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGltZVN0YW1wOiBuZXcgRGF0ZSgnMjAyMy0xMS0wMlQxMDozNTowMC4wMDBaJyksXG4gICAgICAgICAgICAgICAgICAgICAgICBhdmVyYWdlOiAzLjE0LFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgb3B0aW9ucyAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgb3B0aW9ucy5tZXRyaWNuYW1lcyA9PT0gJ0F2YWlsYWJsZSBNZW1vcnkgQnl0ZXMnXG4gICAgICAgICkge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB1cmw6IHJlc291cmNlVXJpLFxuICAgICAgICAgICAgY29zdDogNTksXG4gICAgICAgICAgICB0aW1lc3BhbjogJzIwMjMtMTEtMDJUMTA6MzU6MzFaLzIwMjMtMTEtMDJUMTE6MzU6MzFaJyxcbiAgICAgICAgICAgIGludGVydmFsOiAnUFQ1TScsXG4gICAgICAgICAgICBuYW1lc3BhY2U6ICdNaWNyb3NvZnQuQ29tcHV0ZS92aXJ0dWFsTWFjaGluZXMnLFxuICAgICAgICAgICAgcmVzb3VyY2VyZWdpb246ICd1a3NvdXRoJyxcbiAgICAgICAgICAgIHZhbHVlOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogJy9zdWJzY3JpcHRpb25zLzlkZTdlMTlmLThhMTgtNGU3My05NDUxLTQ1ZmM3NGU3ZDBkMy9yZXNvdXJjZUdyb3Vwcy92bTFfZ3JvdXAvcHJvdmlkZXJzL01pY3Jvc29mdC5Db21wdXRlL3ZpcnR1YWxNYWNoaW5lcy92bTEvcHJvdmlkZXJzL01pY3Jvc29mdC5JbnNpZ2h0cy9tZXRyaWNzL1BlcmNlbnRhZ2UgQ1BVJyxcbiAgICAgICAgICAgICAgICB0eXBlOiAnTWljcm9zb2Z0Lkluc2lnaHRzL21ldHJpY3MnLFxuICAgICAgICAgICAgICAgIG5hbWU6IFtPYmplY3RdLFxuICAgICAgICAgICAgICAgIGRpc3BsYXlEZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICAgICAgICdUaGUgcGVyY2VudGFnZSBvZiBhbGxvY2F0ZWQgY29tcHV0ZSB1bml0cyB0aGF0IGFyZSBjdXJyZW50bHkgaW4gdXNlIGJ5IHRoZSBWaXJ0dWFsIE1hY2hpbmUocyknLFxuICAgICAgICAgICAgICAgIGVycm9yQ29kZTogJ1N1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgIHVuaXQ6ICdQZXJjZW50JyxcbiAgICAgICAgICAgICAgICB0aW1lc2VyaWVzOiBbXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGE6IFtcbiAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aW1lU3RhbXA6IG5ldyBEYXRlKCcyMDIzLTExLTAyVDEwOjM1OjAwLjAwMFonKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGF2ZXJhZ2U6IDUwMDAwMDAwMCxcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBwYXJhbXMnKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNb2NrQ29tcHV0ZU1hbmFnZW1lbnRDbGllbnQge1xuICBwdWJsaWMgdmlydHVhbE1hY2hpbmVzOiBhbnk7XG4gIHB1YmxpYyByZXNvdXJjZVNrdXM6IGFueTtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy52aXJ0dWFsTWFjaGluZXMgPSB7XG4gICAgICBsaXN0OiBmdW5jdGlvbiogKCkge1xuICAgICAgICB5aWVsZCB7XG4gICAgICAgICAgaWQ6ICcvc3Vic2NyaXB0aW9ucy85OTk5OTk5OTk5OTk5OTk5OTkvcmVzb3VyY2VHcm91cHMvdm0xX2dyb3VwL3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29tcHV0ZS92aXJ0dWFsTWFjaGluZXMvdm0xJyxcbiAgICAgICAgICBuYW1lOiAndm0xJyxcbiAgICAgICAgICB0eXBlOiAnTWljcm9zb2Z0LkNvbXB1dGUvdmlydHVhbE1hY2hpbmVzJyxcbiAgICAgICAgICBsb2NhdGlvbjogJ3Vrc291dGgnLFxuICAgICAgICAgIHpvbmVzOiBbJzEnXSxcbiAgICAgICAgICBoYXJkd2FyZVByb2ZpbGU6IHt2bVNpemU6ICdTdGFuZGFyZF9CMXMnfSxcbiAgICAgICAgICBzdG9yYWdlUHJvZmlsZToge1xuICAgICAgICAgICAgaW1hZ2VSZWZlcmVuY2U6IFtPYmplY3RdLFxuICAgICAgICAgICAgb3NEaXNrOiBbT2JqZWN0XSxcbiAgICAgICAgICAgIGRhdGFEaXNrczogW10sXG4gICAgICAgICAgICBkaXNrQ29udHJvbGxlclR5cGU6ICdTQ1NJJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIG9zUHJvZmlsZToge1xuICAgICAgICAgICAgY29tcHV0ZXJOYW1lOiAndm0xJyxcbiAgICAgICAgICAgIGFkbWluVXNlcm5hbWU6ICd1c2VyJyxcbiAgICAgICAgICAgIGxpbnV4Q29uZmlndXJhdGlvbjogW09iamVjdF0sXG4gICAgICAgICAgICBzZWNyZXRzOiBbXSxcbiAgICAgICAgICAgIGFsbG93RXh0ZW5zaW9uT3BlcmF0aW9uczogdHJ1ZSxcbiAgICAgICAgICAgIHJlcXVpcmVHdWVzdFByb3Zpc2lvblNpZ25hbDogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIG5ldHdvcmtQcm9maWxlOiB7bmV0d29ya0ludGVyZmFjZXM6IFtBcnJheV19LFxuICAgICAgICAgIHNlY3VyaXR5UHJvZmlsZToge1xuICAgICAgICAgICAgdWVmaVNldHRpbmdzOiBbT2JqZWN0XSxcbiAgICAgICAgICAgIHNlY3VyaXR5VHlwZTogJ1RydXN0ZWRMYXVuY2gnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZGlhZ25vc3RpY3NQcm9maWxlOiB7Ym9vdERpYWdub3N0aWNzOiBbT2JqZWN0XX0sXG4gICAgICAgICAgcHJvdmlzaW9uaW5nU3RhdGU6ICdTdWNjZWVkZWQnLFxuICAgICAgICAgIHZtSWQ6ICcxMWNmNjI4Yy0zOGJiLTRiNWUtYjFmNC0wYzYwZDhkY2JmMTMnLFxuICAgICAgICAgIHRpbWVDcmVhdGVkOiAnMjAyMy0xMC0yMFQxMDo1NDo1MC4yNDhaJyxcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgfTtcbiAgICB0aGlzLnJlc291cmNlU2t1cyA9IHtcbiAgICAgIGxpc3Q6IGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgIHlpZWxkIHtcbiAgICAgICAgICByZXNvdXJjZVR5cGU6ICd2aXJ0dWFsTWFjaGluZXMnLFxuICAgICAgICAgIG5hbWU6ICdTdGFuZGFyZF9CMXMnLFxuICAgICAgICAgIGxvY2F0aW9uczogWyd1a3NvdXRoJ10sXG4gICAgICAgICAgbG9jYXRpb25JbmZvOiBbe2xvY2F0aW9uOiAndWtzb3V0aCcsIHpvbmVzOiBbXSwgem9uZURldGFpbHM6IFtdfV0sXG4gICAgICAgICAgY2FwYWJpbGl0aWVzOiBbe25hbWU6ICdNZW1vcnlHQicsIHZhbHVlOiAxfV0sXG4gICAgICAgICAgcmVzdHJpY3Rpb25zOiBbXSxcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -0,0 +1,138 @@
1
+ {
2
+ "0-Global": "WOR",
3
+ "1-Europe": "EEE",
4
+ "Albania": "ALB",
5
+ "Algeria": "DZA",
6
+ "Angola": "AGO",
7
+ "Argentina": "ARG",
8
+ "Armenia": "ARM",
9
+ "Australia": "AUS",
10
+ "Austria": "AUT",
11
+ "Azerbaijan": "AZE",
12
+ "Bahrain": "BHR",
13
+ "Bangladesh": "BGD",
14
+ "Belarus": "BLR",
15
+ "Belgium": "BEL",
16
+ "Benin": "BEN",
17
+ "Bolivia": "BOL",
18
+ "Bosnia and Herzegovina": "BIH",
19
+ "Botswana": "BWA",
20
+ "Brazil": "BRA",
21
+ "Brunei": "BRN",
22
+ "Bulgaria": "BGR",
23
+ "Cambodia": "KHM",
24
+ "Cameroon": "CMR",
25
+ "Canada": "CAN",
26
+ "Chile": "CHL",
27
+ "China": "CHN",
28
+ "Colombia": "COL",
29
+ "Congo": "COG",
30
+ "Costa Rica": "CRI",
31
+ "Croatia": "HRV",
32
+ "Cuba": "CUB",
33
+ "Cyprus": "CYP",
34
+ "Czech Republic": "CZE",
35
+ "Denmark": "DNK",
36
+ "Dominican Republic": "DOM",
37
+ "DR Congo": "COD",
38
+ "Ecuador": "ECU",
39
+ "Egypt": "EGY",
40
+ "El Salvador": "SLV",
41
+ "Eritrea": "ERI",
42
+ "Estonia": "EST",
43
+ "Ethiopia": "ETH",
44
+ "Finland": "FIN",
45
+ "France": "FRA",
46
+ "Gabon": "GAB",
47
+ "Georgia": "GEO",
48
+ "Germany": "DEU",
49
+ "Ghana": "GHA",
50
+ "Greece": "GRC",
51
+ "Guatemala": "GTM",
52
+ "Haiti": "HTI",
53
+ "Honduras": "HND",
54
+ "Hungary": "HUN",
55
+ "Iceland": "ISL",
56
+ "India": "IND",
57
+ "Indonesia": "IDN",
58
+ "Iran": "IRN",
59
+ "Iraq": "IRQ",
60
+ "Ireland": "IRL",
61
+ "Israel": "ISR",
62
+ "Italy": "ITA",
63
+ "Ivory Coast": "CIV",
64
+ "Jamaica": "JAM",
65
+ "Japan": "JPN",
66
+ "Jordan": "JOR",
67
+ "Kazakhstan": "KAZ",
68
+ "Kenya": "KEN",
69
+ "Kuwait": "KWT",
70
+ "Kyrgyzstan": "KGZ",
71
+ "Latvia": "LVA",
72
+ "Lebanon": "LBN",
73
+ "Libyan Arab Jamahiriya": "LBY",
74
+ "Lithuania": "LTU",
75
+ "Luxembourg": "LUX",
76
+ "Malaysia": "MYS",
77
+ "Malta": "MLT",
78
+ "Mexico": "MEX",
79
+ "Moldova": "MDA",
80
+ "Mongolia": "MNG",
81
+ "Morocco": "MAR",
82
+ "Mozambique": "MOZ",
83
+ "Myanmar": "MMR",
84
+ "Namibia": "NAM",
85
+ "Nepal": "NPL",
86
+ "Netherlands": "NLD",
87
+ "New Zealand": "NZL",
88
+ "Nicaragua": "NIC",
89
+ "Nigeria": "NGA",
90
+ "North Korea": "PRK",
91
+ "North Macedonia": "MKD",
92
+ "Norway": "NOR",
93
+ "Oman": "OMN",
94
+ "Pakistan": "PAK",
95
+ "Panama": "PAN",
96
+ "Paraguay": "PRY",
97
+ "Peru": "PER",
98
+ "Philippines": "PHL",
99
+ "Poland": "POL",
100
+ "Portugal": "PRT",
101
+ "Qatar": "QAT",
102
+ "Romania": "ROU",
103
+ "Russian Federation": "RUS",
104
+ "Saudi Arabia": "SAU",
105
+ "Senegal": "SEN",
106
+ "Serbia": "SCG",
107
+ "Singapore": "SGP",
108
+ "Slovakia": "SVK",
109
+ "Slovenia": "SVN",
110
+ "South Africa": "ZAF",
111
+ "South Korea": "KOR",
112
+ "Spain": "ESP",
113
+ "Sri Lanka": "LKA",
114
+ "Sudan": "SDN",
115
+ "Sweden": "SWE",
116
+ "Switzerland": "CHE",
117
+ "Syrian Arab Republic": "SYR",
118
+ "Taiwan": "TWN",
119
+ "Tajikistan": "TJK",
120
+ "Tanzania": "TZA",
121
+ "Thailand": "THA",
122
+ "Togo": "TGO",
123
+ "Trinidad and Tobago": "TTO",
124
+ "Tunisia": "TUN",
125
+ "Turkey": "TUR",
126
+ "Turkmenistan": "TKM",
127
+ "Ukraine": "UKR",
128
+ "United Arab Emirates": "ARE",
129
+ "United Kingdom": "GBR",
130
+ "United States of America": "USA",
131
+ "Uruguay": "URY",
132
+ "Uzbekistan": "UZB",
133
+ "Venezuela": "VEN",
134
+ "Vietnam": "VNM",
135
+ "Yemen": "YEM",
136
+ "Zambia": "ZMB",
137
+ "Zimbabwe": "ZWE"
138
+ }