@ludeo/cloud-common 1.1.70 → 1.1.72

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 (71) hide show
  1. package/dist/tsconfig.tsbuildinfo +1 -1
  2. package/dist/v2/types/pools.d.ts +1 -0
  3. package/dist/v2/types/pools.js +1 -0
  4. package/dist/v2/types/pools.js.map +1 -1
  5. package/dist/v3/types/pools/configuration/base.d.ts +12 -0
  6. package/dist/v3/types/pools/configuration/base.js +48 -0
  7. package/dist/v3/types/pools/configuration/base.js.map +1 -0
  8. package/dist/v3/types/pools/configuration/game.d.ts +7 -0
  9. package/dist/v3/types/pools/configuration/game.js +31 -0
  10. package/dist/v3/types/pools/configuration/game.js.map +1 -0
  11. package/dist/v3/types/pools/configuration/index.d.ts +4 -0
  12. package/dist/v3/types/pools/configuration/index.js +21 -0
  13. package/dist/v3/types/pools/configuration/index.js.map +1 -0
  14. package/dist/v3/types/pools/configuration/machine.d.ts +5 -0
  15. package/dist/v3/types/pools/configuration/machine.js +23 -0
  16. package/dist/v3/types/pools/configuration/machine.js.map +1 -0
  17. package/dist/v3/types/pools/configuration/type.d.ts +5 -0
  18. package/dist/v3/types/pools/configuration/type.js +3 -0
  19. package/dist/v3/types/pools/configuration/type.js.map +1 -0
  20. package/dist/v3/types/pools/index.d.ts +5 -0
  21. package/dist/v3/types/pools/index.js +22 -0
  22. package/dist/v3/types/pools/index.js.map +1 -0
  23. package/dist/v3/types/pools/pool.d.ts +13 -0
  24. package/dist/v3/types/pools/pool.js +7 -0
  25. package/dist/v3/types/pools/pool.js.map +1 -0
  26. package/dist/v3/types/pools/resource/base.d.ts +9 -0
  27. package/dist/v3/types/pools/resource/base.js +41 -0
  28. package/dist/v3/types/pools/resource/base.js.map +1 -0
  29. package/dist/v3/types/pools/resource/game.d.ts +4 -0
  30. package/dist/v3/types/pools/resource/game.js +23 -0
  31. package/dist/v3/types/pools/resource/game.js.map +1 -0
  32. package/dist/v3/types/pools/resource/index.d.ts +6 -0
  33. package/dist/v3/types/pools/resource/index.js +23 -0
  34. package/dist/v3/types/pools/resource/index.js.map +1 -0
  35. package/dist/v3/types/pools/resource/machine.d.ts +3 -0
  36. package/dist/v3/types/pools/resource/machine.js +8 -0
  37. package/dist/v3/types/pools/resource/machine.js.map +1 -0
  38. package/dist/v3/types/pools/resource/status.d.ts +10 -0
  39. package/dist/v3/types/pools/resource/status.js +15 -0
  40. package/dist/v3/types/pools/resource/status.js.map +1 -0
  41. package/dist/v3/types/pools/resource/statusMap.d.ts +2 -0
  42. package/dist/v3/types/pools/resource/statusMap.js +3 -0
  43. package/dist/v3/types/pools/resource/statusMap.js.map +1 -0
  44. package/dist/v3/types/pools/resource/type.d.ts +5 -0
  45. package/dist/v3/types/pools/resource/type.js +3 -0
  46. package/dist/v3/types/pools/resource/type.js.map +1 -0
  47. package/dist/v3/types/pools/status.d.ts +6 -0
  48. package/dist/v3/types/pools/status.js +11 -0
  49. package/dist/v3/types/pools/status.js.map +1 -0
  50. package/dist/v3/types/pools/type.d.ts +4 -0
  51. package/dist/v3/types/pools/type.js +9 -0
  52. package/dist/v3/types/pools/type.js.map +1 -0
  53. package/package.json +1 -1
  54. package/src/v2/types/pools.ts +1 -0
  55. package/src/v3/types/pools/configuration/base.ts +32 -0
  56. package/src/v3/types/pools/configuration/game.ts +15 -0
  57. package/src/v3/types/pools/configuration/index.ts +4 -0
  58. package/src/v3/types/pools/configuration/machine.ts +9 -0
  59. package/src/v3/types/pools/configuration/type.ts +14 -0
  60. package/src/v3/types/pools/index.ts +5 -0
  61. package/src/v3/types/pools/pool.ts +15 -0
  62. package/src/v3/types/pools/resource/base.ts +23 -0
  63. package/src/v3/types/pools/resource/game.ts +9 -0
  64. package/src/v3/types/pools/resource/index.ts +6 -0
  65. package/src/v3/types/pools/resource/machine.ts +3 -0
  66. package/src/v3/types/pools/resource/status.ts +10 -0
  67. package/src/v3/types/pools/resource/statusMap.ts +3 -0
  68. package/src/v3/types/pools/resource/type.ts +13 -0
  69. package/src/v3/types/pools/status.ts +6 -0
  70. package/src/v3/types/pools/type.ts +4 -0
  71. package/src/v3/types/pools.ts +0 -130
@@ -0,0 +1,14 @@
1
+ import { CloudPoolType } from "..";
2
+ import { GamePoolConfiguration } from "./game";
3
+ import { BaseCloudPoolConfiguration } from "./base";
4
+ import { MachinePoolConfiguration } from "./machine";
5
+
6
+ export type CloudPoolConfigurationType<
7
+ T extends CloudPoolType | undefined = undefined
8
+ > = T extends undefined
9
+ ? BaseCloudPoolConfiguration
10
+ : T extends CloudPoolType.GAME
11
+ ? GamePoolConfiguration
12
+ : T extends CloudPoolType.MACHINE
13
+ ? MachinePoolConfiguration
14
+ : BaseCloudPoolConfiguration;
@@ -0,0 +1,5 @@
1
+ export * from "./status";
2
+ export * from "./configuration";
3
+ export * from "./type";
4
+ export * from "./resource";
5
+ export * from "./pool";
@@ -0,0 +1,15 @@
1
+ import { CloudPoolType } from "./type";
2
+ import { CloudPoolStatus } from "./status";
3
+ import { CloudPoolConfigurationType } from "./configuration";
4
+ import { BaseCloudResource, CloudResourceType } from "./resource";
5
+
6
+ export type CloudResourcesMap<T extends BaseCloudResource> = Record<string, T>;
7
+
8
+ export class CloudPool<T extends CloudPoolType | undefined = undefined> {
9
+ id: string;
10
+ status: CloudPoolStatus;
11
+ createdAt: number;
12
+ updatedAt?: number;
13
+ config: CloudPoolConfigurationType<T>;
14
+ resources?: CloudResourcesMap<CloudResourceType<T>>;
15
+ }
@@ -0,0 +1,23 @@
1
+ import { IsEnum, IsNumber, IsOptional, IsUUID } from "class-validator";
2
+
3
+ import { CloudResourceStatus } from "./status";
4
+ import { AWSResourceProviderSettings } from "../../cloud";
5
+ import { ValidateNestedType } from "../../../../decorators";
6
+
7
+ export class BaseCloudResource {
8
+ @IsUUID()
9
+ id: string;
10
+
11
+ @IsEnum(CloudResourceStatus)
12
+ status: CloudResourceStatus;
13
+
14
+ @IsNumber()
15
+ createdAt: number;
16
+
17
+ @IsNumber()
18
+ @IsOptional()
19
+ updatedAt?: number;
20
+
21
+ @ValidateNestedType(() => AWSResourceProviderSettings)
22
+ settings?: AWSResourceProviderSettings;
23
+ }
@@ -0,0 +1,9 @@
1
+ import { IsOptional, IsString } from "class-validator";
2
+
3
+ import { BaseCloudResource } from "./base";
4
+
5
+ export class GameCloudResource extends BaseCloudResource {
6
+ @IsString()
7
+ @IsOptional()
8
+ machineResourceId?: string;
9
+ }
@@ -0,0 +1,6 @@
1
+ export * from "./base";
2
+ export * from "./game";
3
+ export * from "./machine";
4
+ export * from "./status";
5
+ export * from "./statusMap";
6
+ export * from "./type";
@@ -0,0 +1,3 @@
1
+ import { BaseCloudResource } from "./base";
2
+
3
+ export class MachineCloudResource extends BaseCloudResource {}
@@ -0,0 +1,10 @@
1
+ export enum CloudResourceStatus {
2
+ Allocated = "allocated",
3
+ Available = "available",
4
+ Creating = "creating",
5
+ Created = "created",
6
+ Allocating = "allocating",
7
+ Error = "error",
8
+ Terminating = "terminating",
9
+ Terminated = "terminated",
10
+ }
@@ -0,0 +1,3 @@
1
+ import { CloudResourceStatus } from "./status";
2
+
3
+ export type CloudResourcesStatusMap = Record<CloudResourceStatus, number>;
@@ -0,0 +1,13 @@
1
+ import { CloudPoolType } from "../type";
2
+ import { BaseCloudResource } from "./base";
3
+ import { GameCloudResource } from "./game";
4
+ import { MachineCloudResource } from "./machine";
5
+
6
+ export type CloudResourceType<T extends CloudPoolType | undefined = undefined> =
7
+ T extends undefined
8
+ ? BaseCloudResource
9
+ : T extends CloudPoolType.GAME
10
+ ? GameCloudResource
11
+ : T extends CloudPoolType.MACHINE
12
+ ? MachineCloudResource
13
+ : BaseCloudResource;
@@ -0,0 +1,6 @@
1
+ export enum CloudPoolStatus {
2
+ Active = "active",
3
+ Created = "created",
4
+ Scaling = "scaling",
5
+ Terminated = "terminated",
6
+ }
@@ -0,0 +1,4 @@
1
+ export enum CloudPoolType {
2
+ GAME = "game",
3
+ MACHINE = "machine",
4
+ }
@@ -1,130 +0,0 @@
1
- import {
2
- IsEnum,
3
- IsNumber,
4
- IsOptional,
5
- IsString,
6
- IsUUID,
7
- } from "class-validator";
8
-
9
- import { ValidateNestedType } from "../../decorators";
10
- import {
11
- AWSResourceProviderSettings,
12
- CloudProvider,
13
- CloudProviderSettings,
14
- } from "./cloud";
15
-
16
- export enum CloudResourceStatus {
17
- Allocated = "allocated",
18
- Available = "available",
19
- Creating = "creating",
20
- Created = "created",
21
- Allocating = "allocating",
22
- Error = "error",
23
- Terminating = "terminating",
24
- Terminated = "terminated",
25
- }
26
-
27
- export enum CloudPoolStatus {
28
- Active = "active",
29
- Created = "created",
30
- Scaling = "scaling",
31
- Terminated = "terminated",
32
- }
33
- export class PoolScaleConfiguration {
34
- @IsNumber()
35
- size: number;
36
- }
37
-
38
- export enum CloudPoolType {
39
- GAME = "game",
40
- MACHINE = "machine",
41
- }
42
-
43
- export class BaseCloudPoolConfiguration {
44
- providerSettings?: CloudProviderSettings;
45
-
46
- @IsEnum(CloudProvider)
47
- cloudProvider: CloudProvider;
48
-
49
- @IsUUID()
50
- poolId: string;
51
-
52
- @ValidateNestedType(() => PoolScaleConfiguration)
53
- poolScaleConfiguration: PoolScaleConfiguration;
54
-
55
- @IsEnum(CloudPoolType)
56
- type: CloudPoolType;
57
- }
58
-
59
- export class GamePoolConfiguration extends BaseCloudPoolConfiguration {
60
- @IsEnum(CloudPoolType)
61
- type: CloudPoolType.GAME;
62
-
63
- @IsUUID()
64
- gameId: string;
65
-
66
- @IsUUID()
67
- machinePoolId: string;
68
- }
69
-
70
- export class MachinePoolConfiguration extends BaseCloudPoolConfiguration {
71
- @IsEnum(CloudPoolType)
72
- type: CloudPoolType.MACHINE;
73
- }
74
- export type CloudPoolConfigurationType<
75
- T extends CloudPoolType | undefined = undefined
76
- > = T extends undefined
77
- ? BaseCloudPoolConfiguration
78
- : T extends CloudPoolType.GAME
79
- ? GamePoolConfiguration
80
- : T extends CloudPoolType.MACHINE
81
- ? MachinePoolConfiguration
82
- : BaseCloudPoolConfiguration;
83
-
84
- export class BaseCloudResource {
85
- @IsUUID()
86
- id: string;
87
-
88
- @IsEnum(CloudResourceStatus)
89
- status: CloudResourceStatus;
90
-
91
- @IsNumber()
92
- createdAt: number;
93
-
94
- @IsNumber()
95
- @IsOptional()
96
- updatedAt?: number;
97
-
98
- @ValidateNestedType(() => AWSResourceProviderSettings)
99
- settings?: AWSResourceProviderSettings;
100
- }
101
-
102
- export class MachineCloudResource extends BaseCloudResource {}
103
-
104
- export class GameCloudResource extends BaseCloudResource {
105
- @IsString()
106
- @IsOptional()
107
- machineResourceId?: string;
108
- }
109
-
110
- export type CloudResourceType<T extends CloudPoolType | undefined = undefined> =
111
- T extends undefined
112
- ? BaseCloudResource
113
- : T extends CloudPoolType.GAME
114
- ? GameCloudResource
115
- : T extends CloudPoolType.MACHINE
116
- ? MachineCloudResource
117
- : BaseCloudResource;
118
-
119
- export type CloudResourcesMap<T extends BaseCloudResource> = Record<string, T>;
120
-
121
- export type CloudResourcesStatusMap = Record<CloudResourceStatus, number>;
122
-
123
- export class CloudPool<T extends CloudPoolType | undefined = undefined> {
124
- id: string;
125
- status: CloudPoolStatus;
126
- createdAt: number;
127
- updatedAt?: number;
128
- config: CloudPoolConfigurationType<T>;
129
- resources?: CloudResourcesMap<CloudResourceType<T>>;
130
- }