@ludeo/cloud-common 1.2.84 → 1.2.85
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/v4/events/allocate-game-resource-request.d.ts +3 -3
- package/dist/v4/events/allocate-game-resource-request.js +2 -2
- package/dist/v4/events/allocate-game-resource-request.js.map +1 -1
- package/dist/v4/events/allocate-ludeo-resource-request.d.ts +4 -4
- package/dist/v4/events/allocate-ludeo-resource-request.js +1 -1
- package/dist/v4/events/allocate-ludeo-resource-request.js.map +1 -1
- package/dist/v4/events/aws-reactivate-stream-session-task.d.ts +2 -2
- package/dist/v4/events/aws-reactivate-stream-session-task.js +2 -2
- package/dist/v4/events/aws-reactivate-stream-session-task.js.map +1 -1
- package/dist/v4/events/aws-stream-session-active.d.ts +2 -2
- package/dist/v4/events/aws-stream-session-active.js +2 -2
- package/dist/v4/events/aws-stream-session-active.js.map +1 -1
- package/dist/v4/events/aws-stream-session-reactivation-started.d.ts +2 -2
- package/dist/v4/events/aws-stream-session-reactivation-started.js +2 -2
- package/dist/v4/events/aws-stream-session-reactivation-started.js.map +1 -1
- package/dist/v4/events/create-game-resource-request.d.ts +2 -2
- package/dist/v4/events/create-game-resource-request.js +1 -1
- package/dist/v4/events/create-game-resource-request.js.map +1 -1
- package/dist/v4/events/create-machine-resource-batch-request.d.ts +2 -2
- package/dist/v4/events/create-machine-resource-batch-request.js +1 -1
- package/dist/v4/events/create-machine-resource-batch-request.js.map +1 -1
- package/dist/v4/events/create-machine-resource-request.d.ts +2 -2
- package/dist/v4/events/create-machine-resource-request.js +1 -1
- package/dist/v4/events/create-machine-resource-request.js.map +1 -1
- package/dist/v4/events/game-allocated-response.d.ts +4 -4
- package/dist/v4/events/game-allocated-response.js +1 -1
- package/dist/v4/events/game-allocated-response.js.map +1 -1
- package/dist/v4/events/game-resource-ready-for-creation.d.ts +4 -4
- package/dist/v4/events/game-resource-ready-for-creation.js +1 -1
- package/dist/v4/events/game-resource-ready-for-creation.js.map +1 -1
- package/dist/v4/events/game-resource-status-changed.d.ts +2 -2
- package/dist/v4/events/game-resource-status-changed.js +2 -2
- package/dist/v4/events/game-resource-status-changed.js.map +1 -1
- package/dist/v4/events/load-ludeo-resource.d.ts +4 -4
- package/dist/v4/events/load-ludeo-resource.js +1 -1
- package/dist/v4/events/load-ludeo-resource.js.map +1 -1
- package/dist/v4/events/machine-allocated-response.d.ts +2 -2
- package/dist/v4/events/machine-allocated-response.js +1 -1
- package/dist/v4/events/machine-allocated-response.js.map +1 -1
- package/dist/v4/events/machine-pool-resizing-task.d.ts +2 -2
- package/dist/v4/events/machine-pool-resizing-task.js +1 -1
- package/dist/v4/events/machine-pool-resizing-task.js.map +1 -1
- package/dist/v4/events/machine-resource-batch-creation-failed-response.d.ts +2 -2
- package/dist/v4/events/machine-resource-batch-creation-failed-response.js +1 -1
- package/dist/v4/events/machine-resource-batch-creation-failed-response.js.map +1 -1
- package/dist/v4/events/machine-resource-batch-termination-failed-response.d.ts +2 -2
- package/dist/v4/events/machine-resource-batch-termination-failed-response.js +1 -1
- package/dist/v4/events/machine-resource-batch-termination-failed-response.js.map +1 -1
- package/dist/v4/events/monitor-game-resource-task.js +1 -1
- package/dist/v4/events/monitor-game-resource-task.js.map +1 -1
- package/dist/v4/events/pool-status.js +1 -1
- package/dist/v4/events/pool-status.js.map +1 -1
- package/dist/v4/events/terminate-game-resource-request.d.ts +3 -3
- package/dist/v4/events/terminate-game-resource-request.js +2 -2
- package/dist/v4/events/terminate-game-resource-request.js.map +1 -1
- package/dist/v4/events/terminate-machine-resource-batch-request.d.ts +2 -2
- package/dist/v4/events/terminate-machine-resource-batch-request.js +1 -1
- package/dist/v4/events/terminate-machine-resource-batch-request.js.map +1 -1
- package/dist/v4/events/terminate-machine-resource-request.d.ts +2 -2
- package/dist/v4/events/terminate-machine-resource-request.js +1 -1
- package/dist/v4/events/terminate-machine-resource-request.js.map +1 -1
- package/dist/v4/events/update-ludeo-resource-status-request.d.ts +4 -4
- package/dist/v4/events/update-ludeo-resource-status-request.js +1 -1
- package/dist/v4/events/update-ludeo-resource-status-request.js.map +1 -1
- package/dist/v4/types/cloud/provider-settings.d.ts +2 -0
- package/dist/v4/types/cloud/provider-settings.js +11 -0
- package/dist/v4/types/cloud/provider-settings.js.map +1 -1
- package/dist/v4/types/cloud/resource-provider-settings.d.ts +2 -0
- package/dist/v4/types/cloud/resource-provider-settings.js +11 -0
- package/dist/v4/types/cloud/resource-provider-settings.js.map +1 -1
- package/dist/v4/types/pools/configuration/base.js +1 -1
- package/dist/v4/types/pools/configuration/base.js.map +1 -1
- package/dist/v4/types/pools/resource/game.d.ts +3 -3
- package/dist/v4/types/pools/resource/game.js +2 -2
- package/dist/v4/types/pools/resource/game.js.map +1 -1
- package/package.json +1 -1
- package/src/v4/events/allocate-game-resource-request.ts +10 -7
- package/src/v4/events/allocate-ludeo-resource-request.ts +9 -5
- package/src/v4/events/aws-reactivate-stream-session-task.ts +6 -3
- package/src/v4/events/aws-stream-session-active.ts +7 -4
- package/src/v4/events/aws-stream-session-reactivation-started.ts +6 -3
- package/src/v4/events/create-game-resource-request.ts +6 -4
- package/src/v4/events/create-machine-resource-batch-request.ts +6 -4
- package/src/v4/events/create-machine-resource-request.ts +6 -4
- package/src/v4/events/game-allocated-response.ts +9 -5
- package/src/v4/events/game-resource-ready-for-creation.ts +14 -6
- package/src/v4/events/game-resource-status-changed.ts +8 -4
- package/src/v4/events/load-ludeo-resource.ts +9 -5
- package/src/v4/events/machine-allocated-response.ts +6 -4
- package/src/v4/events/machine-pool-resizing-task.ts +6 -4
- package/src/v4/events/machine-resource-batch-creation-failed-response.ts +6 -4
- package/src/v4/events/machine-resource-batch-termination-failed-response.ts +6 -4
- package/src/v4/events/monitor-game-resource-task.ts +2 -2
- package/src/v4/events/pool-status.ts +2 -2
- package/src/v4/events/terminate-game-resource-request.ts +10 -6
- package/src/v4/events/terminate-machine-resource-batch-request.ts +6 -3
- package/src/v4/events/terminate-machine-resource-request.ts +6 -4
- package/src/v4/events/update-ludeo-resource-status-request.ts +9 -5
- package/src/v4/types/cloud/provider-settings.ts +13 -0
- package/src/v4/types/cloud/resource-provider-settings.ts +13 -0
- package/src/v4/types/pools/configuration/base.ts +2 -2
- package/src/v4/types/pools/resource/game.ts +7 -5
|
@@ -3,14 +3,18 @@ import { LudeoEvent } from "../../infra/ludeo-event";
|
|
|
3
3
|
import { ValidateNestedType } from "../../decorators/validate-nested-type.decorator";
|
|
4
4
|
import { CloudResourceContext } from "../contexts";
|
|
5
5
|
import {
|
|
6
|
-
AWSProviderSettings,
|
|
7
6
|
CloudProvider,
|
|
8
7
|
CloudProviderSettings,
|
|
8
|
+
CloudResourceProviderSettings,
|
|
9
9
|
GameResourceSettings,
|
|
10
|
+
getProviderSettingsType,
|
|
10
11
|
} from "../types";
|
|
11
12
|
import { IsUUIDOrEmpty } from "../../decorators/is-uuid-or-empty.decorator";
|
|
12
13
|
|
|
13
|
-
export class LoadLudeoResourcePayload
|
|
14
|
+
export class LoadLudeoResourcePayload<
|
|
15
|
+
T extends CloudProviderSettings = CloudProviderSettings,
|
|
16
|
+
K extends CloudResourceProviderSettings = CloudResourceProviderSettings
|
|
17
|
+
> {
|
|
14
18
|
@IsUUID()
|
|
15
19
|
gameResourceId: string;
|
|
16
20
|
|
|
@@ -34,10 +38,10 @@ export class LoadLudeoResourcePayload {
|
|
|
34
38
|
ludeoPoolId: string;
|
|
35
39
|
|
|
36
40
|
@ValidateNestedType(() => GameResourceSettings)
|
|
37
|
-
gameResourceSettings: GameResourceSettings
|
|
41
|
+
gameResourceSettings: GameResourceSettings<K>;
|
|
38
42
|
|
|
39
|
-
@ValidateNestedType(
|
|
40
|
-
providerSettings:
|
|
43
|
+
@ValidateNestedType(getProviderSettingsType)
|
|
44
|
+
providerSettings: T;
|
|
41
45
|
|
|
42
46
|
@IsEnum(CloudProvider)
|
|
43
47
|
cloudProvider: CloudProvider;
|
|
@@ -4,12 +4,14 @@ import { CloudResourceContext } from "../contexts";
|
|
|
4
4
|
import { LudeoEvent } from "../../infra/ludeo-event";
|
|
5
5
|
import { ValidateNestedType } from "../../decorators/validate-nested-type.decorator";
|
|
6
6
|
import {
|
|
7
|
-
AWSProviderSettings,
|
|
8
7
|
CloudProviderSettings,
|
|
9
8
|
CloudProvider,
|
|
9
|
+
getProviderSettingsType,
|
|
10
10
|
} from "../types";
|
|
11
11
|
|
|
12
|
-
export class MachineAllocatedResponsePayload
|
|
12
|
+
export class MachineAllocatedResponsePayload<
|
|
13
|
+
T extends CloudProviderSettings = CloudProviderSettings
|
|
14
|
+
> {
|
|
13
15
|
@IsUUID()
|
|
14
16
|
machineResourceId: string;
|
|
15
17
|
|
|
@@ -22,8 +24,8 @@ export class MachineAllocatedResponsePayload {
|
|
|
22
24
|
@IsUUID()
|
|
23
25
|
gamePoolId: string;
|
|
24
26
|
|
|
25
|
-
@ValidateNestedType(
|
|
26
|
-
providerSettings:
|
|
27
|
+
@ValidateNestedType(getProviderSettingsType)
|
|
28
|
+
providerSettings: T;
|
|
27
29
|
|
|
28
30
|
@IsEnum(CloudProvider)
|
|
29
31
|
cloudProvider: CloudProvider;
|
|
@@ -2,14 +2,16 @@ import { IsEnum, IsUUID } from "class-validator";
|
|
|
2
2
|
import { LudeoEvent } from "../../infra/ludeo-event";
|
|
3
3
|
import { ValidateNestedType } from "../../decorators";
|
|
4
4
|
import {
|
|
5
|
-
AWSProviderSettings,
|
|
6
5
|
CloudProvider,
|
|
7
6
|
CloudProviderSettings,
|
|
7
|
+
getProviderSettingsType,
|
|
8
8
|
} from "../types";
|
|
9
9
|
|
|
10
|
-
export class MachinePoolResizingTaskEventPayload
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
export class MachinePoolResizingTaskEventPayload<
|
|
11
|
+
T extends CloudProviderSettings = CloudProviderSettings
|
|
12
|
+
> {
|
|
13
|
+
@ValidateNestedType(getProviderSettingsType)
|
|
14
|
+
providerSettings: T;
|
|
13
15
|
|
|
14
16
|
@IsEnum(CloudProvider)
|
|
15
17
|
cloudProvider: CloudProvider;
|
|
@@ -4,12 +4,14 @@ import { CloudResourceContext } from "../contexts";
|
|
|
4
4
|
import { LudeoEvent } from "../../infra/ludeo-event";
|
|
5
5
|
import { ValidateNestedType } from "../../decorators/validate-nested-type.decorator";
|
|
6
6
|
import {
|
|
7
|
-
AWSProviderSettings,
|
|
8
7
|
CloudProvider,
|
|
9
8
|
CloudProviderSettings,
|
|
9
|
+
getProviderSettingsType,
|
|
10
10
|
} from "../types";
|
|
11
11
|
|
|
12
|
-
export class MachineResourceBatchCreationFailedResponsePayload
|
|
12
|
+
export class MachineResourceBatchCreationFailedResponsePayload<
|
|
13
|
+
T extends CloudProviderSettings = CloudProviderSettings
|
|
14
|
+
> {
|
|
13
15
|
@IsArray()
|
|
14
16
|
machineResourceIds: string[];
|
|
15
17
|
|
|
@@ -19,8 +21,8 @@ export class MachineResourceBatchCreationFailedResponsePayload {
|
|
|
19
21
|
@IsEnum(CloudProvider)
|
|
20
22
|
cloudProvider: CloudProvider;
|
|
21
23
|
|
|
22
|
-
@ValidateNestedType(
|
|
23
|
-
cloudProviderSettings:
|
|
24
|
+
@ValidateNestedType(getProviderSettingsType)
|
|
25
|
+
cloudProviderSettings: T;
|
|
24
26
|
|
|
25
27
|
@IsString()
|
|
26
28
|
errorMessage: string;
|
|
@@ -4,12 +4,14 @@ import { CloudResourceContext } from "../contexts";
|
|
|
4
4
|
import { LudeoEvent } from "../../infra/ludeo-event";
|
|
5
5
|
import { ValidateNestedType } from "../../decorators/validate-nested-type.decorator";
|
|
6
6
|
import {
|
|
7
|
-
AWSProviderSettings,
|
|
8
7
|
CloudProvider,
|
|
9
8
|
CloudProviderSettings,
|
|
9
|
+
getProviderSettingsType,
|
|
10
10
|
} from "../types";
|
|
11
11
|
|
|
12
|
-
export class MachineResourceBatchTerminationFailedResponsePayload
|
|
12
|
+
export class MachineResourceBatchTerminationFailedResponsePayload<
|
|
13
|
+
T extends CloudProviderSettings = CloudProviderSettings
|
|
14
|
+
> {
|
|
13
15
|
@IsArray()
|
|
14
16
|
machineResourceIds: string[];
|
|
15
17
|
|
|
@@ -19,8 +21,8 @@ export class MachineResourceBatchTerminationFailedResponsePayload {
|
|
|
19
21
|
@IsEnum(CloudProvider)
|
|
20
22
|
cloudProvider: CloudProvider;
|
|
21
23
|
|
|
22
|
-
@ValidateNestedType(
|
|
23
|
-
cloudProviderSettings:
|
|
24
|
+
@ValidateNestedType(getProviderSettingsType)
|
|
25
|
+
cloudProviderSettings: T;
|
|
24
26
|
|
|
25
27
|
@IsString()
|
|
26
28
|
errorMessage: string;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { IsEnum, IsUUID } from "class-validator";
|
|
2
2
|
import { LudeoEvent } from "../../infra/ludeo-event";
|
|
3
3
|
import {
|
|
4
|
-
AWSResourceProviderSettings,
|
|
5
4
|
CloudProvider,
|
|
6
5
|
CloudResourceProviderSettings,
|
|
6
|
+
getResourceProviderSettingsType,
|
|
7
7
|
} from "../types";
|
|
8
8
|
import { ValidateNestedType } from "../../decorators";
|
|
9
9
|
|
|
@@ -14,7 +14,7 @@ export class MonitorGameResourceTaskEventPayload {
|
|
|
14
14
|
@IsUUID()
|
|
15
15
|
gamePoolId: string;
|
|
16
16
|
|
|
17
|
-
@ValidateNestedType(
|
|
17
|
+
@ValidateNestedType(getResourceProviderSettingsType)
|
|
18
18
|
providerSettings: CloudResourceProviderSettings;
|
|
19
19
|
|
|
20
20
|
@IsEnum(CloudProvider)
|
|
@@ -6,9 +6,9 @@ import {
|
|
|
6
6
|
BasePoolAttributes,
|
|
7
7
|
LudeoPoolAttributes,
|
|
8
8
|
MachinePoolAttributes,
|
|
9
|
-
AWSProviderSettings,
|
|
10
9
|
CloudProviderSettings,
|
|
11
10
|
GamePoolAttributes,
|
|
11
|
+
getProviderSettingsType,
|
|
12
12
|
} from "../types";
|
|
13
13
|
import { ValidateNestedType } from "../../decorators/validate-nested-type.decorator";
|
|
14
14
|
import { IsUUIDOrEmpty } from "../../decorators/is-uuid-or-empty.decorator";
|
|
@@ -44,7 +44,7 @@ export class PoolStatusEventGamePool extends PoolStatusEventBasePool<GamePoolAtt
|
|
|
44
44
|
export class PoolStatusEventMachinePool extends PoolStatusEventBasePool<MachinePoolAttributes> {
|
|
45
45
|
games: PoolStatusEventGamePool[];
|
|
46
46
|
|
|
47
|
-
@ValidateNestedType(
|
|
47
|
+
@ValidateNestedType(getProviderSettingsType)
|
|
48
48
|
providerSettings: Partial<CloudProviderSettings>;
|
|
49
49
|
}
|
|
50
50
|
|
|
@@ -14,14 +14,18 @@ import {
|
|
|
14
14
|
import { LudeoEvent } from "../../infra/ludeo-event";
|
|
15
15
|
import { ValidateNestedType } from "../../decorators/validate-nested-type.decorator";
|
|
16
16
|
import {
|
|
17
|
-
AWSProviderSettings,
|
|
18
17
|
CloudProviderSettings,
|
|
19
18
|
AWSResourceProviderSettings,
|
|
20
19
|
CloudResourceProviderSettings,
|
|
21
20
|
CloudProvider,
|
|
21
|
+
getProviderSettingsType,
|
|
22
|
+
getResourceProviderSettingsType,
|
|
22
23
|
} from "../types";
|
|
23
24
|
|
|
24
|
-
export class TerminateGameResourceRequestPayload
|
|
25
|
+
export class TerminateGameResourceRequestPayload<
|
|
26
|
+
T extends CloudProviderSettings = CloudProviderSettings,
|
|
27
|
+
K extends CloudResourceProviderSettings = CloudResourceProviderSettings
|
|
28
|
+
> {
|
|
25
29
|
@IsUUID()
|
|
26
30
|
gameResourceId: string;
|
|
27
31
|
|
|
@@ -35,11 +39,11 @@ export class TerminateGameResourceRequestPayload {
|
|
|
35
39
|
@IsEnum(CloudProvider)
|
|
36
40
|
cloudProvider: CloudProvider;
|
|
37
41
|
|
|
38
|
-
@ValidateNestedType(
|
|
39
|
-
providerSettings:
|
|
42
|
+
@ValidateNestedType(getProviderSettingsType)
|
|
43
|
+
providerSettings: T;
|
|
40
44
|
|
|
41
|
-
@ValidateNestedType(
|
|
42
|
-
resourceProviderSettings:
|
|
45
|
+
@ValidateNestedType(getResourceProviderSettingsType)
|
|
46
|
+
resourceProviderSettings: K;
|
|
43
47
|
|
|
44
48
|
@IsBoolean()
|
|
45
49
|
shouldDeallocateMachineResource: boolean;
|
|
@@ -7,9 +7,12 @@ import {
|
|
|
7
7
|
AWSProviderSettings,
|
|
8
8
|
CloudProvider,
|
|
9
9
|
CloudProviderSettings,
|
|
10
|
+
getProviderSettingsType,
|
|
10
11
|
} from "../types";
|
|
11
12
|
|
|
12
|
-
export class TerminateMachineResourceBatchRequestPayload
|
|
13
|
+
export class TerminateMachineResourceBatchRequestPayload<
|
|
14
|
+
T extends CloudProviderSettings = CloudProviderSettings
|
|
15
|
+
> {
|
|
13
16
|
@IsArray()
|
|
14
17
|
machineResourceIds: string[];
|
|
15
18
|
|
|
@@ -19,8 +22,8 @@ export class TerminateMachineResourceBatchRequestPayload {
|
|
|
19
22
|
@IsEnum(CloudProvider)
|
|
20
23
|
cloudProvider: CloudProvider;
|
|
21
24
|
|
|
22
|
-
@ValidateNestedType(
|
|
23
|
-
cloudProviderSettings:
|
|
25
|
+
@ValidateNestedType(getProviderSettingsType)
|
|
26
|
+
cloudProviderSettings: T;
|
|
24
27
|
}
|
|
25
28
|
|
|
26
29
|
export class TerminateMachineResourceBatchRequest extends LudeoEvent {
|
|
@@ -4,12 +4,14 @@ import { CloudResourceContext } from "../contexts";
|
|
|
4
4
|
import { LudeoEvent } from "../../infra/ludeo-event";
|
|
5
5
|
import { ValidateNestedType } from "../../decorators/validate-nested-type.decorator";
|
|
6
6
|
import {
|
|
7
|
-
AWSProviderSettings,
|
|
8
7
|
CloudProvider,
|
|
9
8
|
CloudProviderSettings,
|
|
9
|
+
getProviderSettingsType,
|
|
10
10
|
} from "../types";
|
|
11
11
|
|
|
12
|
-
export class TerminateMachineResourceRequestPayload
|
|
12
|
+
export class TerminateMachineResourceRequestPayload<
|
|
13
|
+
T extends CloudProviderSettings = CloudProviderSettings
|
|
14
|
+
> {
|
|
13
15
|
@IsUUID()
|
|
14
16
|
machineResourceId: string;
|
|
15
17
|
|
|
@@ -19,8 +21,8 @@ export class TerminateMachineResourceRequestPayload {
|
|
|
19
21
|
@IsEnum(CloudProvider)
|
|
20
22
|
cloudProvider: CloudProvider;
|
|
21
23
|
|
|
22
|
-
@ValidateNestedType(
|
|
23
|
-
cloudProviderSettings:
|
|
24
|
+
@ValidateNestedType(getProviderSettingsType)
|
|
25
|
+
cloudProviderSettings: T;
|
|
24
26
|
}
|
|
25
27
|
|
|
26
28
|
export class TerminateMachineResourceRequest extends LudeoEvent {
|
|
@@ -2,15 +2,19 @@ import { IsEnum, IsOptional, IsString, IsUUID } from "class-validator";
|
|
|
2
2
|
import { LudeoEvent } from "../../infra/ludeo-event";
|
|
3
3
|
import { CloudResourceContext } from "../contexts/cloud-resource-context";
|
|
4
4
|
import {
|
|
5
|
-
AWSProviderSettings,
|
|
6
5
|
CloudProvider,
|
|
7
6
|
CloudProviderSettings,
|
|
7
|
+
CloudResourceProviderSettings,
|
|
8
8
|
CloudResourceStatus,
|
|
9
9
|
GameResourceSettings,
|
|
10
|
+
getProviderSettingsType,
|
|
10
11
|
} from "../types";
|
|
11
12
|
import { ValidateNestedType } from "../../decorators/validate-nested-type.decorator";
|
|
12
13
|
|
|
13
|
-
export class UpdateLudeoResourceStatusRequestPayload
|
|
14
|
+
export class UpdateLudeoResourceStatusRequestPayload<
|
|
15
|
+
T extends CloudProviderSettings = CloudProviderSettings,
|
|
16
|
+
K extends CloudResourceProviderSettings = CloudResourceProviderSettings
|
|
17
|
+
> {
|
|
14
18
|
@IsUUID()
|
|
15
19
|
ludeoResourceId: string;
|
|
16
20
|
|
|
@@ -36,11 +40,11 @@ export class UpdateLudeoResourceStatusRequestPayload {
|
|
|
36
40
|
@IsEnum(CloudProvider)
|
|
37
41
|
cloudProvider: CloudProvider;
|
|
38
42
|
|
|
39
|
-
@ValidateNestedType(
|
|
40
|
-
providerSettings:
|
|
43
|
+
@ValidateNestedType(getProviderSettingsType)
|
|
44
|
+
providerSettings: T;
|
|
41
45
|
|
|
42
46
|
@ValidateNestedType(() => GameResourceSettings)
|
|
43
|
-
gameResourceSettings: GameResourceSettings
|
|
47
|
+
gameResourceSettings: GameResourceSettings<K>;
|
|
44
48
|
}
|
|
45
49
|
|
|
46
50
|
export class UpdateLudeoResourceStatusRequest extends LudeoEvent {
|
|
@@ -1,4 +1,17 @@
|
|
|
1
|
+
import { TypeHelpOptions } from "class-transformer";
|
|
1
2
|
import { AWSProviderSettings } from "./aws";
|
|
2
3
|
import { MockProviderSettings } from "./mock";
|
|
3
4
|
|
|
4
5
|
export type CloudProviderSettings = AWSProviderSettings | MockProviderSettings;
|
|
6
|
+
|
|
7
|
+
export const getProviderSettingsType = ({
|
|
8
|
+
object,
|
|
9
|
+
property,
|
|
10
|
+
}: TypeHelpOptions) => {
|
|
11
|
+
const providerSettings = object[property];
|
|
12
|
+
if ("streamGroupId" in providerSettings) {
|
|
13
|
+
return AWSProviderSettings;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
return MockProviderSettings;
|
|
17
|
+
};
|
|
@@ -1,6 +1,19 @@
|
|
|
1
|
+
import { TypeHelpOptions } from "class-transformer";
|
|
1
2
|
import { AWSResourceProviderSettings } from "./aws";
|
|
2
3
|
import { MockResourceProviderSettings } from "./mock";
|
|
3
4
|
|
|
4
5
|
export type CloudResourceProviderSettings =
|
|
5
6
|
| AWSResourceProviderSettings
|
|
6
7
|
| MockResourceProviderSettings;
|
|
8
|
+
|
|
9
|
+
export const getResourceProviderSettingsType = ({
|
|
10
|
+
object,
|
|
11
|
+
property,
|
|
12
|
+
}: TypeHelpOptions) => {
|
|
13
|
+
const providerSettings = object[property];
|
|
14
|
+
if ("streamSessionId" in providerSettings) {
|
|
15
|
+
return AWSResourceProviderSettings;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
return MockResourceProviderSettings;
|
|
19
|
+
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { IsNumber, IsEnum, IsUUID, IsOptional } from "class-validator";
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
|
-
AWSProviderSettings,
|
|
5
4
|
CloudProvider,
|
|
6
5
|
CloudProviderSettings,
|
|
6
|
+
getProviderSettingsType,
|
|
7
7
|
} from "../../cloud";
|
|
8
8
|
import { CloudPoolType } from "../type";
|
|
9
9
|
import { BasePoolAttributes } from "./attributes";
|
|
@@ -20,7 +20,7 @@ export class PoolScaleConfiguration {
|
|
|
20
20
|
|
|
21
21
|
export class BaseCloudPoolConfiguration {
|
|
22
22
|
@IsOptional()
|
|
23
|
-
@ValidateNestedType(
|
|
23
|
+
@ValidateNestedType(getProviderSettingsType)
|
|
24
24
|
providerSettings?: CloudProviderSettings;
|
|
25
25
|
|
|
26
26
|
@IsEnum(CloudProvider)
|
|
@@ -3,14 +3,16 @@ import { IsOptional, IsString, IsUUID } from "class-validator";
|
|
|
3
3
|
import { BaseCloudResource } from "./base";
|
|
4
4
|
import { ValidateNestedType } from "../../../../decorators";
|
|
5
5
|
import {
|
|
6
|
-
AWSResourceProviderSettings,
|
|
7
6
|
CloudResourceProviderSettings,
|
|
8
|
-
|
|
7
|
+
getResourceProviderSettingsType,
|
|
8
|
+
} from "../../cloud/resource-provider-settings";
|
|
9
9
|
|
|
10
|
-
export class GameResourceSettings
|
|
10
|
+
export class GameResourceSettings<
|
|
11
|
+
T extends CloudResourceProviderSettings = CloudResourceProviderSettings
|
|
12
|
+
> {
|
|
11
13
|
@IsOptional()
|
|
12
|
-
@ValidateNestedType(
|
|
13
|
-
provider?:
|
|
14
|
+
@ValidateNestedType(getResourceProviderSettingsType)
|
|
15
|
+
provider?: T;
|
|
14
16
|
|
|
15
17
|
@IsOptional()
|
|
16
18
|
@IsUUID()
|