@ludeo/cloud-common 1.0.32 → 1.1.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.
- package/dist/index.d.ts +1 -0
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/v3/contexts/cloud-resource-context.d.ts +8 -0
- package/dist/v3/contexts/cloud-resource-context.js +40 -0
- package/dist/v3/contexts/cloud-resource-context.js.map +1 -0
- package/dist/v3/contexts/index.d.ts +1 -0
- package/dist/v3/contexts/index.js +18 -0
- package/dist/v3/contexts/index.js.map +1 -0
- package/dist/v3/events/allocate-game-request.d.ts +14 -0
- package/dist/v3/events/allocate-game-request.js +50 -0
- package/dist/v3/events/allocate-game-request.js.map +1 -0
- package/dist/v3/events/allocate-game-resource-request.d.ts +17 -0
- package/dist/v3/events/allocate-game-resource-request.js +62 -0
- package/dist/v3/events/allocate-game-resource-request.js.map +1 -0
- package/dist/v3/events/allocate-machine-request.d.ts +13 -0
- package/dist/v3/events/allocate-machine-request.js +49 -0
- package/dist/v3/events/allocate-machine-request.js.map +1 -0
- package/dist/v3/events/create-game-resource-request.d.ts +16 -0
- package/dist/v3/events/create-game-resource-request.js +58 -0
- package/dist/v3/events/create-game-resource-request.js.map +1 -0
- package/dist/v3/events/create-games-request.d.ts +12 -0
- package/dist/v3/events/create-games-request.js +45 -0
- package/dist/v3/events/create-games-request.js.map +1 -0
- package/dist/v3/events/create-machine-resource-batch-request.d.ts +15 -0
- package/dist/v3/events/create-machine-resource-batch-request.js +54 -0
- package/dist/v3/events/create-machine-resource-batch-request.js.map +1 -0
- package/dist/v3/events/create-machine-resource-request.d.ts +15 -0
- package/dist/v3/events/create-machine-resource-request.js +54 -0
- package/dist/v3/events/create-machine-resource-request.js.map +1 -0
- package/dist/v3/events/create-machines-request.d.ts +12 -0
- package/dist/v3/events/create-machines-request.js +45 -0
- package/dist/v3/events/create-machines-request.js.map +1 -0
- package/dist/v3/events/game-allocated-response.d.ts +14 -0
- package/dist/v3/events/game-allocated-response.js +50 -0
- package/dist/v3/events/game-allocated-response.js.map +1 -0
- package/dist/v3/events/game-created-response.d.ts +15 -0
- package/dist/v3/events/game-created-response.js +54 -0
- package/dist/v3/events/game-created-response.js.map +1 -0
- package/dist/v3/events/game-terminated-response.d.ts +12 -0
- package/dist/v3/events/game-terminated-response.js +45 -0
- package/dist/v3/events/game-terminated-response.js.map +1 -0
- package/dist/v3/events/index.d.ts +17 -0
- package/dist/v3/events/index.js +34 -0
- package/dist/v3/events/index.js.map +1 -0
- package/dist/v3/events/machine-allocated-response.d.ts +17 -0
- package/dist/v3/events/machine-allocated-response.js +62 -0
- package/dist/v3/events/machine-allocated-response.js.map +1 -0
- package/dist/v3/events/machine-created-response.d.ts +12 -0
- package/dist/v3/events/machine-created-response.js +45 -0
- package/dist/v3/events/machine-created-response.js.map +1 -0
- package/dist/v3/events/set-pool.event.d.ts +9 -0
- package/dist/v3/events/set-pool.event.js +34 -0
- package/dist/v3/events/set-pool.event.js.map +1 -0
- package/dist/v3/events/terminate-game-resource-request.d.ts +15 -0
- package/dist/v3/events/terminate-game-resource-request.js +54 -0
- package/dist/v3/events/terminate-game-resource-request.js.map +1 -0
- package/dist/v3/events/terminate-games-request.d.ts +12 -0
- package/dist/v3/events/terminate-games-request.js +45 -0
- package/dist/v3/events/terminate-games-request.js.map +1 -0
- package/dist/v3/events/terminate-machine-resource-batch-request.d.ts +15 -0
- package/dist/v3/events/terminate-machine-resource-batch-request.js +54 -0
- package/dist/v3/events/terminate-machine-resource-batch-request.js.map +1 -0
- package/dist/v3/events/terminate-machines-request.d.ts +12 -0
- package/dist/v3/events/terminate-machines-request.js +45 -0
- package/dist/v3/events/terminate-machines-request.js.map +1 -0
- package/dist/v3/index.d.ts +2 -0
- package/dist/v3/index.js +6 -0
- package/dist/v3/index.js.map +1 -0
- package/dist/v3/types/cloud.d.ts +39 -0
- package/dist/v3/types/cloud.js +88 -0
- package/dist/v3/types/cloud.js.map +1 -0
- package/dist/v3/types/index.d.ts +2 -0
- package/dist/v3/types/index.js +19 -0
- package/dist/v3/types/index.js.map +1 -0
- package/dist/v3/types/pools.d.ts +59 -0
- package/dist/v3/types/pools.js +88 -0
- package/dist/v3/types/pools.js.map +1 -0
- package/package.json +1 -1
- package/src/index.ts +1 -0
- package/src/v3/contexts/cloud-resource-context.ts +21 -0
- package/src/v3/contexts/index.ts +1 -0
- package/src/v3/events/allocate-game-request.ts +36 -0
- package/src/v3/events/allocate-game-resource-request.ts +50 -0
- package/src/v3/events/allocate-machine-request.ts +35 -0
- package/src/v3/events/create-game-resource-request.ts +46 -0
- package/src/v3/events/create-games-request.ts +29 -0
- package/src/v3/events/create-machine-resource-batch-request.ts +44 -0
- package/src/v3/events/create-machine-resource-request.ts +43 -0
- package/src/v3/events/create-machines-request.ts +29 -0
- package/src/v3/events/game-allocated-response.ts +36 -0
- package/src/v3/events/game-created-response.ts +43 -0
- package/src/v3/events/game-terminated-response.ts +32 -0
- package/src/v3/events/index.ts +17 -0
- package/src/v3/events/machine-allocated-response.ts +49 -0
- package/src/v3/events/machine-created-response.ts +32 -0
- package/src/v3/events/set-pool.event.ts +23 -0
- package/src/v3/events/terminate-game-resource-request.ts +43 -0
- package/src/v3/events/terminate-games-request.ts +29 -0
- package/src/v3/events/terminate-machine-resource-batch-request.ts +44 -0
- package/src/v3/events/terminate-machines-request.ts +29 -0
- package/src/v3/index.ts +2 -0
- package/src/v3/types/cloud.ts +84 -0
- package/src/v3/types/index.ts +2 -0
- package/src/v3/types/pools.ts +90 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { GameCast } from "@ludeo/aws-gamecast-sdk";
|
|
2
|
+
import {
|
|
3
|
+
IsDefined,
|
|
4
|
+
IsEnum,
|
|
5
|
+
IsNotEmpty,
|
|
6
|
+
IsOptional,
|
|
7
|
+
IsString,
|
|
8
|
+
IsUUID,
|
|
9
|
+
} from "class-validator";
|
|
10
|
+
import { ValidateNestedType } from "../../decorators";
|
|
11
|
+
|
|
12
|
+
export class AWSRequestData {
|
|
13
|
+
@IsString()
|
|
14
|
+
@IsNotEmpty()
|
|
15
|
+
signalRequest: string;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export type CloudProviderRequest = AWSRequestData;
|
|
19
|
+
|
|
20
|
+
export enum CloudProvider {
|
|
21
|
+
AWS = "aws",
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export class AWSProviderSettings {
|
|
25
|
+
streamGroupId: GameCast.Identifier;
|
|
26
|
+
additionalEnvironmentVariables?: GameCast.EnvironmentVariables;
|
|
27
|
+
protocol?: GameCast.Protocol;
|
|
28
|
+
connectionTimeoutSeconds?: GameCast.ConnectionTimeoutSeconds;
|
|
29
|
+
sessionLengthSeconds?: GameCast.SessionLengthSeconds;
|
|
30
|
+
applicationIdentifier?: GameCast.Identifier;
|
|
31
|
+
region?: string;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export type CloudProviderSettings = AWSProviderSettings;
|
|
35
|
+
|
|
36
|
+
export class AwsAllocationData {
|
|
37
|
+
@IsString()
|
|
38
|
+
streamGroupId: string;
|
|
39
|
+
|
|
40
|
+
@IsString()
|
|
41
|
+
streamSessionId: string;
|
|
42
|
+
|
|
43
|
+
@IsString()
|
|
44
|
+
signalResponse: string;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export type CloudProviderAllocationData = AwsAllocationData;
|
|
48
|
+
|
|
49
|
+
export class AWSResourceProviderSettings {
|
|
50
|
+
@IsString()
|
|
51
|
+
streamSessionId: string;
|
|
52
|
+
|
|
53
|
+
@IsOptional()
|
|
54
|
+
@IsString()
|
|
55
|
+
streamGroupId?: string;
|
|
56
|
+
|
|
57
|
+
@IsEnum(CloudProvider)
|
|
58
|
+
@IsOptional()
|
|
59
|
+
cloudProvider?: CloudProvider;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export type CloudResourceProviderSettings = AWSResourceProviderSettings;
|
|
63
|
+
|
|
64
|
+
export class AWSCreationResponse {
|
|
65
|
+
@IsString()
|
|
66
|
+
@IsNotEmpty()
|
|
67
|
+
streamSessionId: string;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export type CreationResponse = AWSCreationResponse;
|
|
71
|
+
|
|
72
|
+
export class AllocationRequestData {
|
|
73
|
+
@IsUUID()
|
|
74
|
+
@IsOptional()
|
|
75
|
+
authToken?: string;
|
|
76
|
+
|
|
77
|
+
@IsOptional()
|
|
78
|
+
@IsUUID()
|
|
79
|
+
appToken?: string;
|
|
80
|
+
|
|
81
|
+
@ValidateNestedType(() => AWSRequestData)
|
|
82
|
+
@IsDefined()
|
|
83
|
+
cloudProviderRequest: CloudProviderRequest;
|
|
84
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { IsEnum, IsNumber, IsUUID } from "class-validator";
|
|
2
|
+
import {
|
|
3
|
+
AWSResourceProviderSettings,
|
|
4
|
+
CloudProvider,
|
|
5
|
+
CloudProviderSettings,
|
|
6
|
+
} from "./cloud";
|
|
7
|
+
import { ValidateNestedType } from "../../decorators";
|
|
8
|
+
|
|
9
|
+
export enum CloudResourceStatus {
|
|
10
|
+
Allocated = "allocated",
|
|
11
|
+
Available = "available",
|
|
12
|
+
Creating = "creating",
|
|
13
|
+
Created = "created",
|
|
14
|
+
Allocating = "allocating",
|
|
15
|
+
Error = "error",
|
|
16
|
+
Terminating = "terminating",
|
|
17
|
+
Terminated = "terminated",
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export enum CloudPoolStatus {
|
|
21
|
+
Active = "active",
|
|
22
|
+
Scaling = "scaling",
|
|
23
|
+
Terminated = "terminated",
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export class PoolScaleConfiguration {
|
|
27
|
+
@IsNumber()
|
|
28
|
+
size: number;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export enum CloudPoolType {
|
|
32
|
+
GAME = "game",
|
|
33
|
+
MACHINE = "machine",
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export class BaseCloudPoolConfiguration {
|
|
37
|
+
providerSettings?: CloudProviderSettings;
|
|
38
|
+
|
|
39
|
+
@IsEnum(CloudProvider)
|
|
40
|
+
cloudProvider: CloudProvider;
|
|
41
|
+
|
|
42
|
+
@IsUUID()
|
|
43
|
+
poolId: string;
|
|
44
|
+
|
|
45
|
+
@ValidateNestedType(() => PoolScaleConfiguration)
|
|
46
|
+
poolScaleConfiguration: PoolScaleConfiguration;
|
|
47
|
+
|
|
48
|
+
@IsEnum(CloudPoolType)
|
|
49
|
+
type: CloudPoolType;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export class GamePoolConfiguration extends BaseCloudPoolConfiguration {
|
|
53
|
+
@IsEnum(CloudPoolType)
|
|
54
|
+
type: CloudPoolType.GAME;
|
|
55
|
+
|
|
56
|
+
@IsUUID()
|
|
57
|
+
gameId: string;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export class MachinePoolConfiguration extends BaseCloudPoolConfiguration {
|
|
61
|
+
@IsEnum(CloudPoolType)
|
|
62
|
+
type: CloudPoolType.MACHINE;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export type CloudResourceMapValue = {
|
|
66
|
+
status: CloudResourceStatus;
|
|
67
|
+
updatedAt?: number;
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
export type CloudResourcesMap = Record<string, CloudResourceMapValue>;
|
|
71
|
+
|
|
72
|
+
export type CloudResourcesStatusMap = Record<CloudResourceStatus, number>;
|
|
73
|
+
|
|
74
|
+
export class CloudPool {
|
|
75
|
+
id: string;
|
|
76
|
+
type: CloudPoolType;
|
|
77
|
+
status: CloudPoolStatus;
|
|
78
|
+
createdAt: number;
|
|
79
|
+
updatedAt?: number;
|
|
80
|
+
config: BaseCloudPoolConfiguration;
|
|
81
|
+
resources?: CloudResourcesMap;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export class CloudResource {
|
|
85
|
+
id: string;
|
|
86
|
+
status: CloudResourceStatus;
|
|
87
|
+
createdAt: number;
|
|
88
|
+
updatedAt?: number;
|
|
89
|
+
settings?: AWSResourceProviderSettings;
|
|
90
|
+
}
|