@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.
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/v2/types/pools.d.ts +1 -0
- package/dist/v2/types/pools.js +1 -0
- package/dist/v2/types/pools.js.map +1 -1
- package/dist/v3/types/pools/configuration/base.d.ts +12 -0
- package/dist/v3/types/pools/configuration/base.js +48 -0
- package/dist/v3/types/pools/configuration/base.js.map +1 -0
- package/dist/v3/types/pools/configuration/game.d.ts +7 -0
- package/dist/v3/types/pools/configuration/game.js +31 -0
- package/dist/v3/types/pools/configuration/game.js.map +1 -0
- package/dist/v3/types/pools/configuration/index.d.ts +4 -0
- package/dist/v3/types/pools/configuration/index.js +21 -0
- package/dist/v3/types/pools/configuration/index.js.map +1 -0
- package/dist/v3/types/pools/configuration/machine.d.ts +5 -0
- package/dist/v3/types/pools/configuration/machine.js +23 -0
- package/dist/v3/types/pools/configuration/machine.js.map +1 -0
- package/dist/v3/types/pools/configuration/type.d.ts +5 -0
- package/dist/v3/types/pools/configuration/type.js +3 -0
- package/dist/v3/types/pools/configuration/type.js.map +1 -0
- package/dist/v3/types/pools/index.d.ts +5 -0
- package/dist/v3/types/pools/index.js +22 -0
- package/dist/v3/types/pools/index.js.map +1 -0
- package/dist/v3/types/pools/pool.d.ts +13 -0
- package/dist/v3/types/pools/pool.js +7 -0
- package/dist/v3/types/pools/pool.js.map +1 -0
- package/dist/v3/types/pools/resource/base.d.ts +9 -0
- package/dist/v3/types/pools/resource/base.js +41 -0
- package/dist/v3/types/pools/resource/base.js.map +1 -0
- package/dist/v3/types/pools/resource/game.d.ts +4 -0
- package/dist/v3/types/pools/resource/game.js +23 -0
- package/dist/v3/types/pools/resource/game.js.map +1 -0
- package/dist/v3/types/pools/resource/index.d.ts +6 -0
- package/dist/v3/types/pools/resource/index.js +23 -0
- package/dist/v3/types/pools/resource/index.js.map +1 -0
- package/dist/v3/types/pools/resource/machine.d.ts +3 -0
- package/dist/v3/types/pools/resource/machine.js +8 -0
- package/dist/v3/types/pools/resource/machine.js.map +1 -0
- package/dist/v3/types/pools/resource/status.d.ts +10 -0
- package/dist/v3/types/pools/resource/status.js +15 -0
- package/dist/v3/types/pools/resource/status.js.map +1 -0
- package/dist/v3/types/pools/resource/statusMap.d.ts +2 -0
- package/dist/v3/types/pools/resource/statusMap.js +3 -0
- package/dist/v3/types/pools/resource/statusMap.js.map +1 -0
- package/dist/v3/types/pools/resource/type.d.ts +5 -0
- package/dist/v3/types/pools/resource/type.js +3 -0
- package/dist/v3/types/pools/resource/type.js.map +1 -0
- package/dist/v3/types/pools/status.d.ts +6 -0
- package/dist/v3/types/pools/status.js +11 -0
- package/dist/v3/types/pools/status.js.map +1 -0
- package/dist/v3/types/pools/type.d.ts +4 -0
- package/dist/v3/types/pools/type.js +9 -0
- package/dist/v3/types/pools/type.js.map +1 -0
- package/package.json +1 -1
- package/src/v2/types/pools.ts +1 -0
- package/src/v3/types/pools/configuration/base.ts +32 -0
- package/src/v3/types/pools/configuration/game.ts +15 -0
- package/src/v3/types/pools/configuration/index.ts +4 -0
- package/src/v3/types/pools/configuration/machine.ts +9 -0
- package/src/v3/types/pools/configuration/type.ts +14 -0
- package/src/v3/types/pools/index.ts +5 -0
- package/src/v3/types/pools/pool.ts +15 -0
- package/src/v3/types/pools/resource/base.ts +23 -0
- package/src/v3/types/pools/resource/game.ts +9 -0
- package/src/v3/types/pools/resource/index.ts +6 -0
- package/src/v3/types/pools/resource/machine.ts +3 -0
- package/src/v3/types/pools/resource/status.ts +10 -0
- package/src/v3/types/pools/resource/statusMap.ts +3 -0
- package/src/v3/types/pools/resource/type.ts +13 -0
- package/src/v3/types/pools/status.ts +6 -0
- package/src/v3/types/pools/type.ts +4 -0
- 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,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,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;
|
package/src/v3/types/pools.ts
DELETED
|
@@ -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
|
-
}
|