@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,35 @@
|
|
|
1
|
+
import { IsUUID } from "class-validator";
|
|
2
|
+
|
|
3
|
+
import { CloudResourceContext } from "../contexts";
|
|
4
|
+
import { LudeoEvent } from "../../infra/ludeo-event";
|
|
5
|
+
import { ValidateNestedType } from "../../decorators/validate-nested-type.decorator";
|
|
6
|
+
|
|
7
|
+
export class AllocateMachineRequestPayload {
|
|
8
|
+
@IsUUID()
|
|
9
|
+
gameResourceId: string;
|
|
10
|
+
|
|
11
|
+
@IsUUID()
|
|
12
|
+
machinePoolId: string;
|
|
13
|
+
|
|
14
|
+
@IsUUID()
|
|
15
|
+
gamePoolId: string;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export class AllocateMachineRequest extends LudeoEvent {
|
|
19
|
+
static readonly EVENT_NAME = "cloud-pools.allocate-machine-request";
|
|
20
|
+
|
|
21
|
+
constructor(
|
|
22
|
+
payload: AllocateMachineRequestPayload,
|
|
23
|
+
context: CloudResourceContext
|
|
24
|
+
) {
|
|
25
|
+
super(AllocateMachineRequest.EVENT_NAME);
|
|
26
|
+
this.payload = payload;
|
|
27
|
+
this.context = context;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
@ValidateNestedType(() => CloudResourceContext)
|
|
31
|
+
context: CloudResourceContext;
|
|
32
|
+
|
|
33
|
+
@ValidateNestedType(() => AllocateMachineRequestPayload)
|
|
34
|
+
payload: AllocateMachineRequestPayload;
|
|
35
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { IsUUID, IsEnum } from "class-validator";
|
|
2
|
+
|
|
3
|
+
import { CloudResourceContext } from "../contexts";
|
|
4
|
+
import { LudeoEvent } from "../../infra/ludeo-event";
|
|
5
|
+
import { ValidateNestedType } from "../../decorators/validate-nested-type.decorator";
|
|
6
|
+
import {
|
|
7
|
+
AWSProviderSettings,
|
|
8
|
+
CloudProviderSettings,
|
|
9
|
+
CloudProvider,
|
|
10
|
+
} from "../types";
|
|
11
|
+
|
|
12
|
+
export class CreateGameResourceRequestPayload {
|
|
13
|
+
@IsUUID()
|
|
14
|
+
gameResourceId: string;
|
|
15
|
+
|
|
16
|
+
@IsUUID()
|
|
17
|
+
gamePoolId: string;
|
|
18
|
+
|
|
19
|
+
@ValidateNestedType(() => AWSProviderSettings)
|
|
20
|
+
providerSettings: CloudProviderSettings;
|
|
21
|
+
|
|
22
|
+
@IsEnum(CloudProvider)
|
|
23
|
+
cloudProvider: CloudProvider;
|
|
24
|
+
|
|
25
|
+
@IsUUID()
|
|
26
|
+
cloudToken: string;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export class CreateGameResourceRequest extends LudeoEvent {
|
|
30
|
+
static readonly EVENT_NAME = "cloud-pools.create-game-resource-request";
|
|
31
|
+
|
|
32
|
+
constructor(
|
|
33
|
+
payload: CreateGameResourceRequestPayload,
|
|
34
|
+
context: CloudResourceContext
|
|
35
|
+
) {
|
|
36
|
+
super(CreateGameResourceRequest.EVENT_NAME);
|
|
37
|
+
this.payload = payload;
|
|
38
|
+
this.context = context;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
@ValidateNestedType(() => CloudResourceContext)
|
|
42
|
+
context: CloudResourceContext;
|
|
43
|
+
|
|
44
|
+
@ValidateNestedType(() => CreateGameResourceRequestPayload)
|
|
45
|
+
payload: CreateGameResourceRequestPayload;
|
|
46
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { IsNumber, IsUUID } from "class-validator";
|
|
2
|
+
|
|
3
|
+
import { PoolContext } from "../../v2/contexts";
|
|
4
|
+
import { LudeoEvent } from "../../infra/ludeo-event";
|
|
5
|
+
import { ValidateNestedType } from "../../decorators/validate-nested-type.decorator";
|
|
6
|
+
|
|
7
|
+
export class CreateGamesRequestPayload {
|
|
8
|
+
@IsUUID()
|
|
9
|
+
poolId: string;
|
|
10
|
+
|
|
11
|
+
@IsNumber()
|
|
12
|
+
quantity: number;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export class CreateGamesRequest extends LudeoEvent {
|
|
16
|
+
static readonly EVENT_NAME = "cloud-pools.create-games-request";
|
|
17
|
+
|
|
18
|
+
constructor(payload: CreateGamesRequestPayload, context: PoolContext) {
|
|
19
|
+
super(CreateGamesRequest.EVENT_NAME);
|
|
20
|
+
this.payload = payload;
|
|
21
|
+
this.context = context;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
@ValidateNestedType(() => PoolContext)
|
|
25
|
+
context: PoolContext;
|
|
26
|
+
|
|
27
|
+
@ValidateNestedType(() => CreateGamesRequestPayload)
|
|
28
|
+
payload: CreateGamesRequestPayload;
|
|
29
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { IsArray, IsEnum, IsUUID } from "class-validator";
|
|
2
|
+
|
|
3
|
+
import { CloudResourceContext } from "../contexts";
|
|
4
|
+
import { LudeoEvent } from "../../infra/ludeo-event";
|
|
5
|
+
import { ValidateNestedType } from "../../decorators/validate-nested-type.decorator";
|
|
6
|
+
import {
|
|
7
|
+
AWSProviderSettings,
|
|
8
|
+
CloudProvider,
|
|
9
|
+
CloudProviderSettings,
|
|
10
|
+
} from "../types";
|
|
11
|
+
|
|
12
|
+
export class CreateMachineResourceBatchRequestPayload {
|
|
13
|
+
@IsArray()
|
|
14
|
+
machineResourceIds: string[];
|
|
15
|
+
|
|
16
|
+
@IsUUID()
|
|
17
|
+
machinePoolId: string;
|
|
18
|
+
|
|
19
|
+
@IsEnum(CloudProvider)
|
|
20
|
+
cloudProvider: CloudProvider;
|
|
21
|
+
|
|
22
|
+
@ValidateNestedType(() => AWSProviderSettings)
|
|
23
|
+
cloudProviderSettings: CloudProviderSettings;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export class CreateMachineResourceBatchRequest extends LudeoEvent {
|
|
27
|
+
static readonly EVENT_NAME =
|
|
28
|
+
"cloud-pools.create-machine-resource-batch-request";
|
|
29
|
+
|
|
30
|
+
constructor(
|
|
31
|
+
payload: CreateMachineResourceBatchRequestPayload,
|
|
32
|
+
context: CloudResourceContext
|
|
33
|
+
) {
|
|
34
|
+
super(CreateMachineResourceBatchRequest.EVENT_NAME);
|
|
35
|
+
this.payload = payload;
|
|
36
|
+
this.context = context;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
@ValidateNestedType(() => CloudResourceContext)
|
|
40
|
+
context: CloudResourceContext;
|
|
41
|
+
|
|
42
|
+
@ValidateNestedType(() => CreateMachineResourceBatchRequestPayload)
|
|
43
|
+
payload: CreateMachineResourceBatchRequestPayload;
|
|
44
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { IsEnum, IsUUID } from "class-validator";
|
|
2
|
+
|
|
3
|
+
import { CloudResourceContext } from "../contexts";
|
|
4
|
+
import { LudeoEvent } from "../../infra/ludeo-event";
|
|
5
|
+
import { ValidateNestedType } from "../../decorators/validate-nested-type.decorator";
|
|
6
|
+
import {
|
|
7
|
+
AWSProviderSettings,
|
|
8
|
+
CloudProvider,
|
|
9
|
+
CloudProviderSettings,
|
|
10
|
+
} from "../types";
|
|
11
|
+
|
|
12
|
+
export class CreateMachineResourceRequestPayload {
|
|
13
|
+
@IsUUID()
|
|
14
|
+
machineResourceId: string;
|
|
15
|
+
|
|
16
|
+
@IsUUID()
|
|
17
|
+
machinePoolId: string;
|
|
18
|
+
|
|
19
|
+
@IsEnum(CloudProvider)
|
|
20
|
+
cloudProvider: CloudProvider;
|
|
21
|
+
|
|
22
|
+
@ValidateNestedType(() => AWSProviderSettings)
|
|
23
|
+
cloudProviderSettings: CloudProviderSettings;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export class CreateMachineResourceRequest extends LudeoEvent {
|
|
27
|
+
static readonly EVENT_NAME = "cloud-pools.create-machine-resource-request";
|
|
28
|
+
|
|
29
|
+
constructor(
|
|
30
|
+
payload: CreateMachineResourceRequestPayload,
|
|
31
|
+
context: CloudResourceContext
|
|
32
|
+
) {
|
|
33
|
+
super(CreateMachineResourceRequest.EVENT_NAME);
|
|
34
|
+
this.payload = payload;
|
|
35
|
+
this.context = context;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
@ValidateNestedType(() => CloudResourceContext)
|
|
39
|
+
context: CloudResourceContext;
|
|
40
|
+
|
|
41
|
+
@ValidateNestedType(() => CreateMachineResourceRequestPayload)
|
|
42
|
+
payload: CreateMachineResourceRequestPayload;
|
|
43
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { IsNumber, IsUUID } from "class-validator";
|
|
2
|
+
|
|
3
|
+
import { PoolContext } from "../../v2/contexts";
|
|
4
|
+
import { LudeoEvent } from "../../infra/ludeo-event";
|
|
5
|
+
import { ValidateNestedType } from "../../decorators/validate-nested-type.decorator";
|
|
6
|
+
|
|
7
|
+
export class CreateMachinesRequestPayload {
|
|
8
|
+
@IsUUID()
|
|
9
|
+
poolId: string;
|
|
10
|
+
|
|
11
|
+
@IsNumber()
|
|
12
|
+
quantity: number;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export class CreateMachinesRequest extends LudeoEvent {
|
|
16
|
+
static readonly EVENT_NAME = "cloud-pools.create-machines-request";
|
|
17
|
+
|
|
18
|
+
constructor(payload: CreateMachinesRequestPayload, context: PoolContext) {
|
|
19
|
+
super(CreateMachinesRequest.EVENT_NAME);
|
|
20
|
+
this.payload = payload;
|
|
21
|
+
this.context = context;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
@ValidateNestedType(() => PoolContext)
|
|
25
|
+
context: PoolContext;
|
|
26
|
+
|
|
27
|
+
@ValidateNestedType(() => CreateMachinesRequestPayload)
|
|
28
|
+
payload: CreateMachinesRequestPayload;
|
|
29
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { IsUUID } from "class-validator";
|
|
2
|
+
|
|
3
|
+
import { CloudResourceContext } from "../contexts";
|
|
4
|
+
import { LudeoEvent } from "../../infra/ludeo-event";
|
|
5
|
+
import { ValidateNestedType } from "../../decorators/validate-nested-type.decorator";
|
|
6
|
+
import { AwsAllocationData, CloudProviderAllocationData } from "../types";
|
|
7
|
+
|
|
8
|
+
export class GameAllocatedResponsePayload {
|
|
9
|
+
@IsUUID()
|
|
10
|
+
gameResourceId: string;
|
|
11
|
+
|
|
12
|
+
@IsUUID()
|
|
13
|
+
gamePoolId: string;
|
|
14
|
+
|
|
15
|
+
@ValidateNestedType(() => AwsAllocationData)
|
|
16
|
+
allocationData: CloudProviderAllocationData;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export class GameAllocatedResponse extends LudeoEvent {
|
|
20
|
+
static readonly EVENT_NAME = "cloud-resources.game-allocated-response";
|
|
21
|
+
|
|
22
|
+
constructor(
|
|
23
|
+
payload: GameAllocatedResponsePayload,
|
|
24
|
+
context: CloudResourceContext
|
|
25
|
+
) {
|
|
26
|
+
super(GameAllocatedResponse.EVENT_NAME);
|
|
27
|
+
this.payload = payload;
|
|
28
|
+
this.context = context;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
@ValidateNestedType(() => CloudResourceContext)
|
|
32
|
+
context: CloudResourceContext;
|
|
33
|
+
|
|
34
|
+
@ValidateNestedType(() => GameAllocatedResponsePayload)
|
|
35
|
+
payload: GameAllocatedResponsePayload;
|
|
36
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { IsUUID, IsEnum } from "class-validator";
|
|
2
|
+
|
|
3
|
+
import { CloudResourceContext } from "../contexts";
|
|
4
|
+
import { LudeoEvent } from "../../infra/ludeo-event";
|
|
5
|
+
import { ValidateNestedType } from "../../decorators/validate-nested-type.decorator";
|
|
6
|
+
import {
|
|
7
|
+
AWSProviderSettings,
|
|
8
|
+
CloudProviderSettings,
|
|
9
|
+
CloudProvider,
|
|
10
|
+
} from "../types";
|
|
11
|
+
|
|
12
|
+
export class GameCreatedResponsePayload {
|
|
13
|
+
@IsUUID()
|
|
14
|
+
gameResourceId: string;
|
|
15
|
+
|
|
16
|
+
@IsUUID()
|
|
17
|
+
gamePoolId: string;
|
|
18
|
+
|
|
19
|
+
@ValidateNestedType(() => AWSProviderSettings)
|
|
20
|
+
providerSettings: CloudProviderSettings;
|
|
21
|
+
|
|
22
|
+
@IsEnum(CloudProvider)
|
|
23
|
+
cloudProvider: CloudProvider;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export class GameCreatedResponse extends LudeoEvent {
|
|
27
|
+
static readonly EVENT_NAME = "cloud-resources.game-created-response";
|
|
28
|
+
|
|
29
|
+
constructor(
|
|
30
|
+
payload: GameCreatedResponsePayload,
|
|
31
|
+
context: CloudResourceContext
|
|
32
|
+
) {
|
|
33
|
+
super(GameCreatedResponse.EVENT_NAME);
|
|
34
|
+
this.payload = payload;
|
|
35
|
+
this.context = context;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
@ValidateNestedType(() => CloudResourceContext)
|
|
39
|
+
context: CloudResourceContext;
|
|
40
|
+
|
|
41
|
+
@ValidateNestedType(() => GameCreatedResponsePayload)
|
|
42
|
+
payload: GameCreatedResponsePayload;
|
|
43
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { IsUUID } from "class-validator";
|
|
2
|
+
|
|
3
|
+
import { CloudResourceContext } from "../contexts";
|
|
4
|
+
import { LudeoEvent } from "../../infra/ludeo-event";
|
|
5
|
+
import { ValidateNestedType } from "../../decorators/validate-nested-type.decorator";
|
|
6
|
+
|
|
7
|
+
export class GameTerminatedResponsePayload {
|
|
8
|
+
@IsUUID()
|
|
9
|
+
gameResourceId: string;
|
|
10
|
+
|
|
11
|
+
@IsUUID()
|
|
12
|
+
gamePoolId: string;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export class GameTerminatedResponse extends LudeoEvent {
|
|
16
|
+
static readonly EVENT_NAME = "cloud-resources.game-terminated-response";
|
|
17
|
+
|
|
18
|
+
constructor(
|
|
19
|
+
payload: GameTerminatedResponsePayload,
|
|
20
|
+
context: CloudResourceContext
|
|
21
|
+
) {
|
|
22
|
+
super(GameTerminatedResponse.EVENT_NAME);
|
|
23
|
+
this.payload = payload;
|
|
24
|
+
this.context = context;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
@ValidateNestedType(() => CloudResourceContext)
|
|
28
|
+
context: CloudResourceContext;
|
|
29
|
+
|
|
30
|
+
@ValidateNestedType(() => GameTerminatedResponsePayload)
|
|
31
|
+
payload: GameTerminatedResponsePayload;
|
|
32
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export * from "./allocate-game-request";
|
|
2
|
+
export * from "./allocate-game-resource-request";
|
|
3
|
+
export * from "./allocate-machine-request";
|
|
4
|
+
export * from "./create-game-resource-request";
|
|
5
|
+
export * from "./create-games-request";
|
|
6
|
+
export * from "./create-machine-resource-batch-request";
|
|
7
|
+
export * from "./create-machines-request";
|
|
8
|
+
export * from "./game-allocated-response";
|
|
9
|
+
export * from "./game-created-response";
|
|
10
|
+
export * from "./game-terminated-response";
|
|
11
|
+
export * from "./machine-allocated-response";
|
|
12
|
+
export * from "./machine-created-response";
|
|
13
|
+
export * from "./set-pool.event";
|
|
14
|
+
export * from "./terminate-game-resource-request";
|
|
15
|
+
export * from "./terminate-games-request";
|
|
16
|
+
export * from "./terminate-machine-resource-batch-request";
|
|
17
|
+
export * from "./terminate-machines-request";
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { IsUUID, IsEnum } from "class-validator";
|
|
2
|
+
|
|
3
|
+
import { CloudResourceContext } from "../contexts";
|
|
4
|
+
import { LudeoEvent } from "../../infra/ludeo-event";
|
|
5
|
+
import { ValidateNestedType } from "../../decorators/validate-nested-type.decorator";
|
|
6
|
+
import {
|
|
7
|
+
AWSProviderSettings,
|
|
8
|
+
CloudProviderSettings,
|
|
9
|
+
CloudProvider,
|
|
10
|
+
} from "../types";
|
|
11
|
+
|
|
12
|
+
export class MachineAllocatedResponsePayload {
|
|
13
|
+
@IsUUID()
|
|
14
|
+
machineResourceId: string;
|
|
15
|
+
|
|
16
|
+
@IsUUID()
|
|
17
|
+
machinePoolId: string;
|
|
18
|
+
|
|
19
|
+
@IsUUID()
|
|
20
|
+
gameResourceId: string;
|
|
21
|
+
|
|
22
|
+
@IsUUID()
|
|
23
|
+
gamePoolId: string;
|
|
24
|
+
|
|
25
|
+
@ValidateNestedType(() => AWSProviderSettings)
|
|
26
|
+
providerSettings: CloudProviderSettings;
|
|
27
|
+
|
|
28
|
+
@IsEnum(CloudProvider)
|
|
29
|
+
cloudProvider: CloudProvider;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export class MachineAllocatedResponse extends LudeoEvent {
|
|
33
|
+
static readonly EVENT_NAME = "cloud-pools.machine-allocated-response";
|
|
34
|
+
|
|
35
|
+
constructor(
|
|
36
|
+
payload: MachineAllocatedResponsePayload,
|
|
37
|
+
context: CloudResourceContext
|
|
38
|
+
) {
|
|
39
|
+
super(MachineAllocatedResponse.EVENT_NAME);
|
|
40
|
+
this.payload = payload;
|
|
41
|
+
this.context = context;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
@ValidateNestedType(() => CloudResourceContext)
|
|
45
|
+
context: CloudResourceContext;
|
|
46
|
+
|
|
47
|
+
@ValidateNestedType(() => MachineAllocatedResponsePayload)
|
|
48
|
+
payload: MachineAllocatedResponsePayload;
|
|
49
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { IsUUID } from "class-validator";
|
|
2
|
+
|
|
3
|
+
import { CloudResourceContext } from "../contexts";
|
|
4
|
+
import { LudeoEvent } from "../../infra/ludeo-event";
|
|
5
|
+
import { ValidateNestedType } from "../../decorators/validate-nested-type.decorator";
|
|
6
|
+
|
|
7
|
+
export class MachineCreatedResponsePayload {
|
|
8
|
+
@IsUUID()
|
|
9
|
+
machineResourceId: string;
|
|
10
|
+
|
|
11
|
+
@IsUUID()
|
|
12
|
+
machinePoolId: string;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export class MachineCreatedResponse extends LudeoEvent {
|
|
16
|
+
static readonly EVENT_NAME = "cloud-resources.machine-created-response";
|
|
17
|
+
|
|
18
|
+
constructor(
|
|
19
|
+
payload: MachineCreatedResponsePayload,
|
|
20
|
+
context: CloudResourceContext
|
|
21
|
+
) {
|
|
22
|
+
super(MachineCreatedResponse.EVENT_NAME);
|
|
23
|
+
this.payload = payload;
|
|
24
|
+
this.context = context;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
@ValidateNestedType(() => CloudResourceContext)
|
|
28
|
+
context: CloudResourceContext;
|
|
29
|
+
|
|
30
|
+
@ValidateNestedType(() => MachineCreatedResponsePayload)
|
|
31
|
+
payload: MachineCreatedResponsePayload;
|
|
32
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { PoolContext } from "../../v2/contexts/pool-context";
|
|
2
|
+
import { ValidateNestedType } from "../../decorators/validate-nested-type.decorator";
|
|
3
|
+
import { LudeoEvent } from "../../infra/ludeo-event";
|
|
4
|
+
import { BaseCloudPoolConfiguration } from "../types";
|
|
5
|
+
|
|
6
|
+
export class SetPoolEvent extends LudeoEvent {
|
|
7
|
+
static readonly EVENT_NAME = "cloud-pools.set-pool";
|
|
8
|
+
|
|
9
|
+
constructor(
|
|
10
|
+
payload: Partial<BaseCloudPoolConfiguration>,
|
|
11
|
+
context: PoolContext
|
|
12
|
+
) {
|
|
13
|
+
super(SetPoolEvent.EVENT_NAME);
|
|
14
|
+
this.payload = payload;
|
|
15
|
+
this.context = context;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
@ValidateNestedType(() => PoolContext)
|
|
19
|
+
context: PoolContext;
|
|
20
|
+
|
|
21
|
+
@ValidateNestedType(() => BaseCloudPoolConfiguration)
|
|
22
|
+
payload: Partial<BaseCloudPoolConfiguration>;
|
|
23
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { IsUUID, IsEnum } from "class-validator";
|
|
2
|
+
|
|
3
|
+
import { CloudResourceContext } from "../contexts";
|
|
4
|
+
import { LudeoEvent } from "../../infra/ludeo-event";
|
|
5
|
+
import { ValidateNestedType } from "../../decorators/validate-nested-type.decorator";
|
|
6
|
+
import {
|
|
7
|
+
AWSProviderSettings,
|
|
8
|
+
CloudProviderSettings,
|
|
9
|
+
CloudProvider,
|
|
10
|
+
} from "../types";
|
|
11
|
+
|
|
12
|
+
export class TerminateGameResourceRequestPayload {
|
|
13
|
+
@IsUUID()
|
|
14
|
+
gameResourceId: string;
|
|
15
|
+
|
|
16
|
+
@IsUUID()
|
|
17
|
+
gamePoolId: string;
|
|
18
|
+
|
|
19
|
+
@ValidateNestedType(() => AWSProviderSettings)
|
|
20
|
+
providerSettings: CloudProviderSettings;
|
|
21
|
+
|
|
22
|
+
@IsEnum(CloudProvider)
|
|
23
|
+
cloudProvider: CloudProvider;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export class TerminateGameResourceRequest extends LudeoEvent {
|
|
27
|
+
static readonly EVENT_NAME = "cloud-pools.terminate-game-resource-request";
|
|
28
|
+
|
|
29
|
+
constructor(
|
|
30
|
+
payload: TerminateGameResourceRequestPayload,
|
|
31
|
+
context: CloudResourceContext
|
|
32
|
+
) {
|
|
33
|
+
super(TerminateGameResourceRequest.EVENT_NAME);
|
|
34
|
+
this.payload = payload;
|
|
35
|
+
this.context = context;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
@ValidateNestedType(() => CloudResourceContext)
|
|
39
|
+
context: CloudResourceContext;
|
|
40
|
+
|
|
41
|
+
@ValidateNestedType(() => TerminateGameResourceRequestPayload)
|
|
42
|
+
payload: TerminateGameResourceRequestPayload;
|
|
43
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { IsNumber, IsUUID } from "class-validator";
|
|
2
|
+
|
|
3
|
+
import { PoolContext } from "../../v2/contexts";
|
|
4
|
+
import { LudeoEvent } from "../../infra/ludeo-event";
|
|
5
|
+
import { ValidateNestedType } from "../../decorators/validate-nested-type.decorator";
|
|
6
|
+
|
|
7
|
+
export class TerminateGamesRequestPayload {
|
|
8
|
+
@IsUUID()
|
|
9
|
+
poolId: string;
|
|
10
|
+
|
|
11
|
+
@IsNumber()
|
|
12
|
+
quantity: number;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export class TerminateGamesRequest extends LudeoEvent {
|
|
16
|
+
static readonly EVENT_NAME = "cloud-pools.terminate-games-request";
|
|
17
|
+
|
|
18
|
+
constructor(payload: TerminateGamesRequestPayload, context: PoolContext) {
|
|
19
|
+
super(TerminateGamesRequest.EVENT_NAME);
|
|
20
|
+
this.payload = payload;
|
|
21
|
+
this.context = context;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
@ValidateNestedType(() => PoolContext)
|
|
25
|
+
context: PoolContext;
|
|
26
|
+
|
|
27
|
+
@ValidateNestedType(() => TerminateGamesRequestPayload)
|
|
28
|
+
payload: TerminateGamesRequestPayload;
|
|
29
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { IsArray, IsEnum, IsUUID } from "class-validator";
|
|
2
|
+
|
|
3
|
+
import { CloudResourceContext } from "../contexts";
|
|
4
|
+
import { LudeoEvent } from "../../infra/ludeo-event";
|
|
5
|
+
import { ValidateNestedType } from "../../decorators/validate-nested-type.decorator";
|
|
6
|
+
import {
|
|
7
|
+
AWSProviderSettings,
|
|
8
|
+
CloudProvider,
|
|
9
|
+
CloudProviderSettings,
|
|
10
|
+
} from "../types";
|
|
11
|
+
|
|
12
|
+
export class TerminateMachineResourceBatchRequestPayload {
|
|
13
|
+
@IsArray()
|
|
14
|
+
machineResourceIds: string[];
|
|
15
|
+
|
|
16
|
+
@IsUUID()
|
|
17
|
+
machinePoolId: string;
|
|
18
|
+
|
|
19
|
+
@IsEnum(CloudProvider)
|
|
20
|
+
cloudProvider: CloudProvider;
|
|
21
|
+
|
|
22
|
+
@ValidateNestedType(() => AWSProviderSettings)
|
|
23
|
+
cloudProviderSettings: CloudProviderSettings;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export class TerminateMachineResourceBatchRequest extends LudeoEvent {
|
|
27
|
+
static readonly EVENT_NAME =
|
|
28
|
+
"cloud-pools.terminate-machine-resource-batch-request";
|
|
29
|
+
|
|
30
|
+
constructor(
|
|
31
|
+
payload: TerminateMachineResourceBatchRequestPayload,
|
|
32
|
+
context: CloudResourceContext
|
|
33
|
+
) {
|
|
34
|
+
super(TerminateMachineResourceBatchRequest.EVENT_NAME);
|
|
35
|
+
this.payload = payload;
|
|
36
|
+
this.context = context;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
@ValidateNestedType(() => CloudResourceContext)
|
|
40
|
+
context: CloudResourceContext;
|
|
41
|
+
|
|
42
|
+
@ValidateNestedType(() => TerminateMachineResourceBatchRequestPayload)
|
|
43
|
+
payload: TerminateMachineResourceBatchRequestPayload;
|
|
44
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { IsNumber, IsUUID } from "class-validator";
|
|
2
|
+
|
|
3
|
+
import { PoolContext } from "../../v2/contexts";
|
|
4
|
+
import { LudeoEvent } from "../../infra/ludeo-event";
|
|
5
|
+
import { ValidateNestedType } from "../../decorators/validate-nested-type.decorator";
|
|
6
|
+
|
|
7
|
+
export class TerminateMachinesRequestPayload {
|
|
8
|
+
@IsUUID()
|
|
9
|
+
poolId: string;
|
|
10
|
+
|
|
11
|
+
@IsNumber()
|
|
12
|
+
quantity: number;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export class TerminateMachinesRequest extends LudeoEvent {
|
|
16
|
+
static readonly EVENT_NAME = "cloud-pools.terminate-machines-request";
|
|
17
|
+
|
|
18
|
+
constructor(payload: TerminateMachinesRequestPayload, context: PoolContext) {
|
|
19
|
+
super(TerminateMachinesRequest.EVENT_NAME);
|
|
20
|
+
this.payload = payload;
|
|
21
|
+
this.context = context;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
@ValidateNestedType(() => PoolContext)
|
|
25
|
+
context: PoolContext;
|
|
26
|
+
|
|
27
|
+
@ValidateNestedType(() => TerminateMachinesRequestPayload)
|
|
28
|
+
payload: TerminateMachinesRequestPayload;
|
|
29
|
+
}
|
package/src/v3/index.ts
ADDED