@ludeo/cloud-common 1.2.192 → 1.2.193

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 (76) hide show
  1. package/.github/workflows/main.yaml +3 -3
  2. package/dist/tsconfig.tsbuildinfo +1 -1
  3. package/dist/v4/contexts/index.d.ts +0 -1
  4. package/dist/v4/contexts/index.js +0 -1
  5. package/dist/v4/contexts/index.js.map +1 -1
  6. package/dist/v4/events/cloud-builds/create-ludeocast-build-distribution-request.d.ts +15 -0
  7. package/dist/v4/events/cloud-builds/{create-build-snapshot-request.js → create-ludeocast-build-distribution-request.js} +20 -20
  8. package/dist/v4/events/cloud-builds/create-ludeocast-build-distribution-request.js.map +1 -0
  9. package/dist/v4/events/cloud-builds/index.d.ts +2 -2
  10. package/dist/v4/events/cloud-builds/index.js +2 -2
  11. package/dist/v4/events/cloud-builds/index.js.map +1 -1
  12. package/dist/v4/events/cloud-builds/terminate-ludeocast-build-distribution-request.d.ts +16 -0
  13. package/dist/v4/events/cloud-builds/{terminate-build-snapshot-request.js → terminate-ludeocast-build-distribution-request.js} +19 -19
  14. package/dist/v4/events/cloud-builds/terminate-ludeocast-build-distribution-request.js.map +1 -0
  15. package/dist/v4/events/site-controller/index.d.ts +2 -2
  16. package/dist/v4/events/site-controller/index.js +2 -2
  17. package/dist/v4/events/site-controller/index.js.map +1 -1
  18. package/dist/v4/events/site-controller/ludeocast-build-distribution-creation-ended.d.ts +16 -0
  19. package/dist/v4/events/site-controller/{build-snapshot-creation-ended.js → ludeocast-build-distribution-creation-ended.js} +18 -18
  20. package/dist/v4/events/site-controller/ludeocast-build-distribution-creation-ended.js.map +1 -0
  21. package/dist/v4/events/site-controller/ludeocast-build-distribution-termination-ended.d.ts +15 -0
  22. package/dist/v4/events/site-controller/{build-snapshot-termination-ended.js → ludeocast-build-distribution-termination-ended.js} +16 -16
  23. package/dist/v4/events/site-controller/ludeocast-build-distribution-termination-ended.js.map +1 -0
  24. package/dist/v4/events/site-controller/resource-status-update.js +0 -1
  25. package/dist/v4/events/site-controller/resource-status-update.js.map +1 -1
  26. package/dist/v4/types/build.d.ts +9 -5
  27. package/dist/v4/types/build.js +6 -12
  28. package/dist/v4/types/build.js.map +1 -1
  29. package/dist/v4/types/site-controller/create-distribution.dto.d.ts +12 -0
  30. package/dist/v4/types/site-controller/{create-snapshot.dto.js → create-distribution.dto.js} +18 -13
  31. package/dist/v4/types/site-controller/create-distribution.dto.js.map +1 -0
  32. package/dist/v4/types/site-controller/create-game.dto.d.ts +1 -1
  33. package/dist/v4/types/site-controller/create-game.dto.js +1 -1
  34. package/dist/v4/types/site-controller/create-game.dto.js.map +1 -1
  35. package/dist/v4/types/site-controller/index.d.ts +2 -2
  36. package/dist/v4/types/site-controller/index.js +2 -2
  37. package/dist/v4/types/site-controller/index.js.map +1 -1
  38. package/dist/v4/types/site-controller/terminate-build-distribution.dto.d.ts +6 -0
  39. package/dist/v4/types/site-controller/{terminate-build-snapshot.dto.js → terminate-build-distribution.dto.js} +9 -9
  40. package/dist/v4/types/site-controller/terminate-build-distribution.dto.js.map +1 -0
  41. package/dist/v4/types/site-controller/types.d.ts +3 -3
  42. package/package.json +1 -1
  43. package/src/v4/contexts/index.ts +0 -1
  44. package/src/v4/events/cloud-builds/create-ludeocast-build-distribution-request.ts +40 -0
  45. package/src/v4/events/cloud-builds/index.ts +2 -2
  46. package/src/v4/events/cloud-builds/terminate-ludeocast-build-distribution-request.ts +44 -0
  47. package/src/v4/events/site-controller/index.ts +2 -2
  48. package/src/v4/events/site-controller/ludeocast-build-distribution-creation-ended.ts +39 -0
  49. package/src/v4/events/site-controller/{build-snapshot-termination-ended.ts → ludeocast-build-distribution-termination-ended.ts} +7 -7
  50. package/src/v4/events/site-controller/resource-status-update.ts +1 -1
  51. package/src/v4/types/build.ts +12 -8
  52. package/src/v4/types/site-controller/create-distribution.dto.ts +29 -0
  53. package/src/v4/types/site-controller/create-game.dto.ts +1 -1
  54. package/src/v4/types/site-controller/index.ts +2 -2
  55. package/src/v4/types/site-controller/{terminate-build-snapshot.dto.ts → terminate-build-distribution.dto.ts} +4 -5
  56. package/src/v4/types/site-controller/types.ts +3 -3
  57. package/dist/v4/contexts/site-controller-context.d.ts +0 -8
  58. package/dist/v4/contexts/site-controller-context.js +0 -47
  59. package/dist/v4/contexts/site-controller-context.js.map +0 -1
  60. package/dist/v4/events/cloud-builds/create-build-snapshot-request.d.ts +0 -15
  61. package/dist/v4/events/cloud-builds/create-build-snapshot-request.js.map +0 -1
  62. package/dist/v4/events/cloud-builds/terminate-build-snapshot-request.d.ts +0 -16
  63. package/dist/v4/events/cloud-builds/terminate-build-snapshot-request.js.map +0 -1
  64. package/dist/v4/events/site-controller/build-snapshot-creation-ended.d.ts +0 -16
  65. package/dist/v4/events/site-controller/build-snapshot-creation-ended.js.map +0 -1
  66. package/dist/v4/events/site-controller/build-snapshot-termination-ended.d.ts +0 -15
  67. package/dist/v4/events/site-controller/build-snapshot-termination-ended.js.map +0 -1
  68. package/dist/v4/types/site-controller/create-snapshot.dto.d.ts +0 -10
  69. package/dist/v4/types/site-controller/create-snapshot.dto.js.map +0 -1
  70. package/dist/v4/types/site-controller/terminate-build-snapshot.dto.d.ts +0 -6
  71. package/dist/v4/types/site-controller/terminate-build-snapshot.dto.js.map +0 -1
  72. package/src/v4/contexts/site-controller-context.ts +0 -32
  73. package/src/v4/events/cloud-builds/create-build-snapshot-request.ts +0 -40
  74. package/src/v4/events/cloud-builds/terminate-build-snapshot-request.ts +0 -44
  75. package/src/v4/events/site-controller/build-snapshot-creation-ended.ts +0 -39
  76. package/src/v4/types/site-controller/create-snapshot.dto.ts +0 -25
@@ -9,34 +9,39 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.CreateBuildSnapshotResponseDto = exports.CreateBuildSnapshotRequestDto = void 0;
12
+ exports.CreateBuildDistributionResponseDto = exports.CreateBuildDistributionRequestDto = void 0;
13
13
  const class_validator_1 = require("class-validator");
14
- class CreateBuildSnapshotRequestDto {
14
+ const build_1 = require("../build");
15
+ class CreateBuildDistributionRequestDto {
15
16
  }
16
- exports.CreateBuildSnapshotRequestDto = CreateBuildSnapshotRequestDto;
17
+ exports.CreateBuildDistributionRequestDto = CreateBuildDistributionRequestDto;
17
18
  __decorate([
18
19
  (0, class_validator_1.IsString)(),
19
20
  __metadata("design:type", String)
20
- ], CreateBuildSnapshotRequestDto.prototype, "downloadURL", void 0);
21
+ ], CreateBuildDistributionRequestDto.prototype, "downloadURL", void 0);
21
22
  __decorate([
22
23
  (0, class_validator_1.IsNumber)(),
23
24
  __metadata("design:type", Number)
24
- ], CreateBuildSnapshotRequestDto.prototype, "sizeGB", void 0);
25
+ ], CreateBuildDistributionRequestDto.prototype, "sizeGB", void 0);
25
26
  __decorate([
26
27
  (0, class_validator_1.IsString)(),
27
28
  __metadata("design:type", String)
28
- ], CreateBuildSnapshotRequestDto.prototype, "buildId", void 0);
29
- class CreateBuildSnapshotResponseDto {
29
+ ], CreateBuildDistributionRequestDto.prototype, "buildId", void 0);
30
+ __decorate([
31
+ (0, class_validator_1.IsArray)(),
32
+ (0, class_validator_1.IsString)({ each: true }),
33
+ __metadata("design:type", Array)
34
+ ], CreateBuildDistributionRequestDto.prototype, "regions", void 0);
35
+ class CreateBuildDistributionResponseDto {
30
36
  }
31
- exports.CreateBuildSnapshotResponseDto = CreateBuildSnapshotResponseDto;
37
+ exports.CreateBuildDistributionResponseDto = CreateBuildDistributionResponseDto;
32
38
  __decorate([
33
39
  (0, class_validator_1.IsOptional)(),
34
40
  (0, class_validator_1.IsString)(),
35
41
  __metadata("design:type", String)
36
- ], CreateBuildSnapshotResponseDto.prototype, "message", void 0);
42
+ ], CreateBuildDistributionResponseDto.prototype, "message", void 0);
37
43
  __decorate([
38
44
  (0, class_validator_1.IsOptional)(),
39
- (0, class_validator_1.IsString)(),
40
- __metadata("design:type", String)
41
- ], CreateBuildSnapshotResponseDto.prototype, "snapshotName", void 0);
42
- //# sourceMappingURL=create-snapshot.dto.js.map
45
+ __metadata("design:type", build_1.LudeocastV2Distributions)
46
+ ], CreateBuildDistributionResponseDto.prototype, "distributions", void 0);
47
+ //# sourceMappingURL=create-distribution.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-distribution.dto.js","sourceRoot":"","sources":["../../../../src/v4/types/site-controller/create-distribution.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA0E;AAC1E,oCAAoD;AAEpD,MAAa,iCAAiC;CAa7C;AAbD,8EAaC;AAXC;IADC,IAAA,0BAAQ,GAAE;;sEACS;AAGpB;IADC,IAAA,0BAAQ,GAAE;;iEACI;AAGf;IADC,IAAA,0BAAQ,GAAE;;kEACK;AAIhB;IAFC,IAAA,yBAAO,GAAE;IACT,IAAA,0BAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;kEACP;AAGpB,MAAa,kCAAkC;CAS9C;AATD,gFASC;AAJC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;mEACM;AAGjB;IADC,IAAA,4BAAU,GAAE;8BACG,gCAAwB;yEAAC"}
@@ -5,7 +5,7 @@ export declare class CreateGameRequestDto {
5
5
  region: string;
6
6
  machineMode: MachineMode;
7
7
  machineType: string;
8
- sourceSnapshot: string;
8
+ distributionName: string;
9
9
  additionalEnvironmentVariables?: Record<string, string>;
10
10
  metadata?: Record<string, string>;
11
11
  buildId: string;
@@ -38,7 +38,7 @@ __decorate([
38
38
  __decorate([
39
39
  (0, class_validator_1.IsString)(),
40
40
  __metadata("design:type", String)
41
- ], CreateGameRequestDto.prototype, "sourceSnapshot", void 0);
41
+ ], CreateGameRequestDto.prototype, "distributionName", void 0);
42
42
  __decorate([
43
43
  (0, class_validator_1.IsOptional)(),
44
44
  __metadata("design:type", Object)
@@ -1 +1 @@
1
- {"version":3,"file":"create-game.dto.js","sourceRoot":"","sources":["../../../../src/v4/types/site-controller/create-game.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA+D;AAE/D,mCAAsC;AAEtC,MAAa,oBAAoB;CA2BhC;AA3BD,oDA2BC;AAzBC;IADC,IAAA,0BAAQ,GAAE;;4DACY;AAGvB;IADC,IAAA,0BAAQ,GAAE;;+DACe;AAG1B;IADC,IAAA,0BAAQ,GAAE;;oDACI;AAGf;IADC,IAAA,wBAAM,EAAC,mBAAW,CAAC;;yDACK;AAGzB;IADC,IAAA,0BAAQ,GAAE;;yDACS;AAGpB;IADC,IAAA,0BAAQ,GAAE;;4DACY;AAGvB;IADC,IAAA,4BAAU,GAAE;;4EAC2C;AAGxD;IADC,IAAA,4BAAU,GAAE;;sDACqB;AAGlC;IADC,IAAA,0BAAQ,GAAE;;qDACK"}
1
+ {"version":3,"file":"create-game.dto.js","sourceRoot":"","sources":["../../../../src/v4/types/site-controller/create-game.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA+D;AAE/D,mCAAsC;AAEtC,MAAa,oBAAoB;CA2BhC;AA3BD,oDA2BC;AAzBC;IADC,IAAA,0BAAQ,GAAE;;4DACY;AAGvB;IADC,IAAA,0BAAQ,GAAE;;+DACe;AAG1B;IADC,IAAA,0BAAQ,GAAE;;oDACI;AAGf;IADC,IAAA,wBAAM,EAAC,mBAAW,CAAC;;yDACK;AAGzB;IADC,IAAA,0BAAQ,GAAE;;yDACS;AAGpB;IADC,IAAA,0BAAQ,GAAE;;8DACc;AAGzB;IADC,IAAA,4BAAU,GAAE;;4EAC2C;AAGxD;IADC,IAAA,4BAAU,GAAE;;sDACqB;AAGlC;IADC,IAAA,0BAAQ,GAAE;;qDACK"}
@@ -1,7 +1,7 @@
1
1
  export * from "./types";
2
2
  export * from "./create-machine.dto";
3
3
  export * from "./create-game.dto";
4
- export * from "./create-snapshot.dto";
5
- export * from "./terminate-build-snapshot.dto";
4
+ export * from "./create-distribution.dto";
5
+ export * from "./terminate-build-distribution.dto";
6
6
  export * from "./terminate-machine.dto";
7
7
  export * from "./terminate-game.dto";
@@ -17,8 +17,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./types"), exports);
18
18
  __exportStar(require("./create-machine.dto"), exports);
19
19
  __exportStar(require("./create-game.dto"), exports);
20
- __exportStar(require("./create-snapshot.dto"), exports);
21
- __exportStar(require("./terminate-build-snapshot.dto"), exports);
20
+ __exportStar(require("./create-distribution.dto"), exports);
21
+ __exportStar(require("./terminate-build-distribution.dto"), exports);
22
22
  __exportStar(require("./terminate-machine.dto"), exports);
23
23
  __exportStar(require("./terminate-game.dto"), exports);
24
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/v4/types/site-controller/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,uDAAqC;AACrC,oDAAkC;AAClC,wDAAsC;AACtC,iEAA+C;AAC/C,0DAAwC;AACxC,uDAAqC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/v4/types/site-controller/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,uDAAqC;AACrC,oDAAkC;AAClC,4DAA0C;AAC1C,qEAAmD;AACnD,0DAAwC;AACxC,uDAAqC"}
@@ -0,0 +1,6 @@
1
+ import { LudeocastV2Distributions } from '../build';
2
+ export declare class TerminateBuildDistributionRequestDto {
3
+ buildId: string;
4
+ distributions?: LudeocastV2Distributions;
5
+ envIds?: string[];
6
+ }
@@ -9,26 +9,26 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.TerminateBuildSnapshotRequestDto = void 0;
12
+ exports.TerminateBuildDistributionRequestDto = void 0;
13
13
  const class_validator_1 = require("class-validator");
14
14
  const decorators_1 = require("../../../decorators");
15
15
  const build_1 = require("../build");
16
- class TerminateBuildSnapshotRequestDto {
16
+ class TerminateBuildDistributionRequestDto {
17
17
  }
18
- exports.TerminateBuildSnapshotRequestDto = TerminateBuildSnapshotRequestDto;
18
+ exports.TerminateBuildDistributionRequestDto = TerminateBuildDistributionRequestDto;
19
19
  __decorate([
20
20
  (0, class_validator_1.IsString)(),
21
21
  __metadata("design:type", String)
22
- ], TerminateBuildSnapshotRequestDto.prototype, "buildId", void 0);
22
+ ], TerminateBuildDistributionRequestDto.prototype, "buildId", void 0);
23
23
  __decorate([
24
24
  (0, class_validator_1.IsOptional)(),
25
- (0, decorators_1.ValidateNestedType)(() => build_1.LudeocastV2DistributionData),
26
- __metadata("design:type", build_1.LudeocastV2DistributionData)
27
- ], TerminateBuildSnapshotRequestDto.prototype, "distributionData", void 0);
25
+ (0, decorators_1.ValidateNestedType)(() => build_1.LudeocastV2Distributions),
26
+ __metadata("design:type", build_1.LudeocastV2Distributions)
27
+ ], TerminateBuildDistributionRequestDto.prototype, "distributions", void 0);
28
28
  __decorate([
29
29
  (0, class_validator_1.IsOptional)(),
30
30
  (0, class_validator_1.IsArray)(),
31
31
  (0, class_validator_1.IsString)({ each: true }),
32
32
  __metadata("design:type", Array)
33
- ], TerminateBuildSnapshotRequestDto.prototype, "envIds", void 0);
34
- //# sourceMappingURL=terminate-build-snapshot.dto.js.map
33
+ ], TerminateBuildDistributionRequestDto.prototype, "envIds", void 0);
34
+ //# sourceMappingURL=terminate-build-distribution.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminate-build-distribution.dto.js","sourceRoot":"","sources":["../../../../src/v4/types/site-controller/terminate-build-distribution.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAgE;AAChE,oDAAyD;AACzD,oCAAoD;AAEpD,MAAa,oCAAoC;CAYhD;AAZD,oFAYC;AAVC;IADC,IAAA,0BAAQ,GAAE;;qEACK;AAIhB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,+BAAkB,EAAC,GAAG,EAAE,CAAC,gCAAwB,CAAC;8BACnC,gCAAwB;2EAAC;AAKzC;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,yBAAO,GAAE;IACT,IAAA,0BAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;oEACP"}
@@ -1,4 +1,4 @@
1
- import { LudeocastV2DistributionData } from '../build';
1
+ import { LudeocastV2Distributions } from '../build';
2
2
  import { MachineResourceSettings } from '../pools';
3
3
  import { LudeoCastV2MachineResourceProviderSettings } from '../cloud';
4
4
  export declare enum MachineMode {
@@ -53,8 +53,8 @@ export interface MachineSiteAdapterStatusPayload extends SiteAdapterStatusPayloa
53
53
  export interface GameSiteAdapterStatusPayload extends SiteAdapterStatusPayload {
54
54
  reason?: GameStatusReason;
55
55
  }
56
- export interface BuildSnapshotAdapterStatusPayload extends SiteAdapterStatusPayload {
56
+ export interface BuildDistributionAdapterStatusPayload extends SiteAdapterStatusPayload {
57
57
  buildId?: string;
58
- distributionData?: LudeocastV2DistributionData;
58
+ distributions?: LudeocastV2Distributions;
59
59
  envIds?: string[];
60
60
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ludeo/cloud-common",
3
- "version": "1.2.192",
3
+ "version": "1.2.193",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "author": "Yahil Didi",
@@ -3,5 +3,4 @@ export * from "./cloud-resource-context";
3
3
  export * from "./cloud-session-context";
4
4
  export * from "./getCloudContextType";
5
5
  export * from "./build-context";
6
- export * from "./site-controller-context";
7
6
  export * from "./client-geo-data";
@@ -0,0 +1,40 @@
1
+ import { LudeoEvent } from '../../../infra';
2
+ import { ValidateNestedType } from '../../../decorators';
3
+ import { IsString, IsOptional, IsNumber, IsArray } from 'class-validator';
4
+ import { BuildContext } from '../../contexts';
5
+
6
+ export class CreateLudeocastBuildDistributionRequestPayload {
7
+ @IsString()
8
+ buildId: string;
9
+
10
+ @IsString()
11
+ downloadURL: string;
12
+
13
+ @IsNumber()
14
+ sizeGB: number;
15
+
16
+ @IsOptional()
17
+ @IsString()
18
+ site?: string;
19
+
20
+ @IsArray()
21
+ @IsString({ each: true })
22
+ regions: string[];
23
+ }
24
+
25
+ export class CreateLudeocastBuildDistributionRequest extends LudeoEvent {
26
+ static readonly EVENT_NAME = 'cloud-builds.create-ludeocast-build-distribution-request';
27
+
28
+ constructor(payload: CreateLudeocastBuildDistributionRequestPayload, context: BuildContext) {
29
+ super(CreateLudeocastBuildDistributionRequest.EVENT_NAME);
30
+ this.payload = payload;
31
+ this.context = context;
32
+ }
33
+
34
+ @ValidateNestedType(() => CreateLudeocastBuildDistributionRequestPayload)
35
+ payload: CreateLudeocastBuildDistributionRequestPayload;
36
+
37
+ @ValidateNestedType(() => BuildContext)
38
+ context: BuildContext;
39
+ }
40
+
@@ -1,2 +1,2 @@
1
- export * from "./create-build-snapshot-request";
2
- export * from "./terminate-build-snapshot-request";
1
+ export * from "./create-ludeocast-build-distribution-request";
2
+ export * from "./terminate-ludeocast-build-distribution-request";
@@ -0,0 +1,44 @@
1
+ import { LudeoEvent } from '../../../infra';
2
+ import { ValidateNestedType } from '../../../decorators';
3
+ import { IsArray, IsOptional, IsString } from 'class-validator';
4
+ import { BuildContext } from '../../contexts';
5
+ import { LudeocastV2Distributions } from '../../types/build';
6
+
7
+ export class TerminateLudeocastBuildDistributionRequestPayload {
8
+ @IsString()
9
+ buildId: string;
10
+
11
+ @IsOptional()
12
+ @IsString()
13
+ site?: string;
14
+
15
+ @IsOptional()
16
+ @IsString()
17
+ region?: string;
18
+
19
+ @IsOptional()
20
+ @ValidateNestedType(() => LudeocastV2Distributions)
21
+ distributions?: LudeocastV2Distributions;
22
+
23
+ @IsOptional()
24
+ @IsArray()
25
+ @IsString({ each: true })
26
+ envIds?: string[];
27
+ }
28
+
29
+ export class TerminateLudeocastBuildDistributionRequest extends LudeoEvent {
30
+ static readonly EVENT_NAME = 'cloud-builds.terminate-ludeocast-build-distribution-request';
31
+
32
+ constructor(payload: TerminateLudeocastBuildDistributionRequestPayload, context: BuildContext) {
33
+ super(TerminateLudeocastBuildDistributionRequest.EVENT_NAME);
34
+ this.payload = payload;
35
+ this.context = context;
36
+ }
37
+
38
+ @ValidateNestedType(() => TerminateLudeocastBuildDistributionRequestPayload)
39
+ payload: TerminateLudeocastBuildDistributionRequestPayload;
40
+
41
+ @ValidateNestedType(() => BuildContext)
42
+ context: BuildContext;
43
+ }
44
+
@@ -4,8 +4,8 @@ export * from './game-ludeocast-creation-ended';
4
4
  export * from './game-ludeocast-termination-ended';
5
5
  export * from './machine-ludeocast-termination-ended';
6
6
 
7
- export * from './build-snapshot-creation-ended';
8
- export * from './build-snapshot-termination-ended';
7
+ export * from './ludeocast-build-distribution-creation-ended';
8
+ export * from './ludeocast-build-distribution-termination-ended';
9
9
 
10
10
  export * from './resource-status-update';
11
11
 
@@ -0,0 +1,39 @@
1
+ import { LudeoEvent } from '../../../infra';
2
+ import { ValidateNestedType } from '../../../decorators';
3
+ import { IsEnum, IsOptional, IsString } from 'class-validator';
4
+ import { BuildContext } from '../../contexts';
5
+ import { SiteOperationStatus } from '../../types/site-controller';
6
+ import { LudeocastV2Distributions } from '../../types/build';
7
+
8
+ export class LudeocastBuildDistributionCreationEndedPayload {
9
+ @IsString()
10
+ buildId: string;
11
+
12
+ @IsEnum(SiteOperationStatus)
13
+ status: SiteOperationStatus;
14
+
15
+ @IsOptional()
16
+ @IsString()
17
+ reason?: string;
18
+
19
+ @IsOptional()
20
+ @ValidateNestedType(() => LudeocastV2Distributions)
21
+ distributions?: LudeocastV2Distributions;
22
+ }
23
+
24
+ export class LudeocastBuildDistributionCreationEnded extends LudeoEvent {
25
+ static readonly EVENT_NAME = 'site-controller.ludeocast-build-distribution-creation-ended';
26
+
27
+ constructor(payload: LudeocastBuildDistributionCreationEndedPayload, context: BuildContext) {
28
+ super(LudeocastBuildDistributionCreationEnded.EVENT_NAME);
29
+ this.payload = payload;
30
+ this.context = context;
31
+ }
32
+
33
+ @ValidateNestedType(() => LudeocastBuildDistributionCreationEndedPayload)
34
+ payload: LudeocastBuildDistributionCreationEndedPayload;
35
+
36
+ @ValidateNestedType(() => BuildContext)
37
+ context: BuildContext;
38
+ }
39
+
@@ -4,7 +4,7 @@ import { IsEnum, IsOptional, IsString, IsArray } from 'class-validator';
4
4
  import { BuildContext } from '../../contexts';
5
5
  import { SiteOperationStatus } from '../../types/site-controller';
6
6
 
7
- export class BuildSnapshotTerminationEndedPayload {
7
+ export class LudeocastBuildDistributionTerminationEndedPayload {
8
8
  @IsString()
9
9
  buildId: string;
10
10
 
@@ -21,17 +21,17 @@ export class BuildSnapshotTerminationEndedPayload {
21
21
  envIds?: string[];
22
22
  }
23
23
 
24
- export class BuildSnapshotTerminationEnded extends LudeoEvent {
25
- static readonly EVENT_NAME = 'site-controller.build-snapshot-termination-ended';
24
+ export class LudeocastBuildDistributionTerminationEnded extends LudeoEvent {
25
+ static readonly EVENT_NAME = 'site-controller.ludeocast-build-distribution-termination-ended';
26
26
 
27
- constructor(payload: BuildSnapshotTerminationEndedPayload, context: BuildContext) {
28
- super(BuildSnapshotTerminationEnded.EVENT_NAME);
27
+ constructor(payload: LudeocastBuildDistributionTerminationEndedPayload, context: BuildContext) {
28
+ super(LudeocastBuildDistributionTerminationEnded.EVENT_NAME);
29
29
  this.payload = payload;
30
30
  this.context = context;
31
31
  }
32
32
 
33
- @ValidateNestedType(() => BuildSnapshotTerminationEndedPayload)
34
- payload: BuildSnapshotTerminationEndedPayload;
33
+ @ValidateNestedType(() => LudeocastBuildDistributionTerminationEndedPayload)
34
+ payload: LudeocastBuildDistributionTerminationEndedPayload;
35
35
 
36
36
  @ValidateNestedType(() => BuildContext)
37
37
  context: BuildContext;
@@ -1,6 +1,6 @@
1
1
  import { LudeoEvent } from '../../../infra';
2
2
  import { ValidateNestedType } from '../../../decorators';
3
- import { IsEnum, IsOptional, IsString, IsUUID } from 'class-validator';;
3
+ import { IsEnum, IsOptional, IsString, IsUUID } from 'class-validator';
4
4
  import { CloudResourceContext } from '../../contexts';
5
5
  import { CloudResourceStatus } from '../../types';
6
6
  import { LudeoCastStreamState } from '../ludeocast-stream-state-updated';
@@ -3,6 +3,7 @@ import {
3
3
  AWSProviderSettings,
4
4
  CloudProvider,
5
5
  LudeoCastProviderSettings,
6
+ LudeoCastV2ProviderSettings,
6
7
  } from "./cloud";
7
8
  import * as GameLift from "@aws-sdk/client-gameliftstreams";
8
9
 
@@ -95,17 +96,14 @@ export class LudeocastDistributions {
95
96
  }
96
97
 
97
98
  export class LudeocastV2DistributionData {
98
- @IsString()
99
- snapshotName: string;
100
-
101
- @IsArray()
102
- @IsString({ each: true })
103
- storageLocations: string[]; // Multi-regional storage locations (e.g., ["us", "eu", "asia"])
99
+ name: string;
104
100
  }
105
101
 
106
102
  export class LudeocastV2Artifacts {}
107
103
 
108
- export class LudeocastV2Distributions extends LudeocastV2DistributionData {}
104
+ export class LudeocastV2Distributions {
105
+ [region: string]: LudeocastV2DistributionData;
106
+ }
109
107
 
110
108
  export type Distributions = AwsDistributions | LudeocastDistributions | LudeocastV2Distributions;
111
109
 
@@ -174,6 +172,7 @@ export class BuildAssignmentProvidersSettings {
174
172
  [CloudProvider.GAMELIFT]?: AwsBuildAssignmentSettings;
175
173
  [CloudProvider.AWS]?: AwsBuildAssignmentSettings;
176
174
  [CloudProvider.LUDEOCAST]?: LudeoCastBuildAssignmentSettings;
175
+ [CloudProvider.LUDEOCAST_V2]?: LudeoCastV2BuildAssignmentSettings;
177
176
  }
178
177
 
179
178
  export class LudeoCastBuildAssignmentSettings {
@@ -184,6 +183,10 @@ export class AwsBuildAssignmentSettings {
184
183
  [region: string]: AWSProviderSettings;
185
184
  }
186
185
 
186
+ export class LudeoCastV2BuildAssignmentSettings {
187
+ [region: string]: LudeoCastV2ProviderSettings[];
188
+ }
189
+
187
190
  export enum StreamGroupStatus {
188
191
  ACTIVATING = "ACTIVATING",
189
192
  ACTIVE = "ACTIVE",
@@ -228,7 +231,8 @@ export class BuildsAssignmentsData {
228
231
 
229
232
  export type BuildAssignmentProviderSettings =
230
233
  | AwsBuildAssignmentSettings
231
- | LudeoCastBuildAssignmentSettings;
234
+ | LudeoCastBuildAssignmentSettings
235
+ | LudeoCastV2BuildAssignmentSettings;
232
236
 
233
237
  export class BuildAssignmentData {
234
238
  buildVersion: string;
@@ -0,0 +1,29 @@
1
+ import { IsArray, IsNumber, IsOptional, IsString } from 'class-validator';
2
+ import { LudeocastV2Distributions } from '../build';
3
+
4
+ export class CreateBuildDistributionRequestDto {
5
+ @IsString()
6
+ downloadURL: string; // S3 URL (e.g., s3://bucket/path)
7
+
8
+ @IsNumber()
9
+ sizeGB: number;
10
+
11
+ @IsString()
12
+ buildId: string; // Build ID for distribution naming (e.g., 'build-{buildId}')
13
+
14
+ @IsArray()
15
+ @IsString({ each: true })
16
+ regions: string[];
17
+ }
18
+
19
+ export class CreateBuildDistributionResponseDto {
20
+ status: 'success' | 'error';
21
+
22
+ @IsOptional()
23
+ @IsString()
24
+ message?: string;
25
+
26
+ @IsOptional()
27
+ distributions?: LudeocastV2Distributions;
28
+ }
29
+
@@ -19,7 +19,7 @@ export class CreateGameRequestDto {
19
19
  machineType: string;
20
20
 
21
21
  @IsString()
22
- sourceSnapshot: string;
22
+ distributionName: string;
23
23
 
24
24
  @IsOptional()
25
25
  additionalEnvironmentVariables?: Record<string, string>;
@@ -1,7 +1,7 @@
1
1
  export * from "./types";
2
2
  export * from "./create-machine.dto";
3
3
  export * from "./create-game.dto";
4
- export * from "./create-snapshot.dto";
5
- export * from "./terminate-build-snapshot.dto";
4
+ export * from "./create-distribution.dto";
5
+ export * from "./terminate-build-distribution.dto";
6
6
  export * from "./terminate-machine.dto";
7
7
  export * from "./terminate-game.dto";
@@ -1,15 +1,14 @@
1
1
  import { IsArray, IsOptional, IsString } from 'class-validator';
2
2
  import { ValidateNestedType } from '../../../decorators';
3
- import { LudeocastV2DistributionData } from '../build';
3
+ import { LudeocastV2Distributions } from '../build';
4
4
 
5
- export class TerminateBuildSnapshotRequestDto {
5
+ export class TerminateBuildDistributionRequestDto {
6
6
  @IsString()
7
7
  buildId: string;
8
8
 
9
9
  @IsOptional()
10
- @ValidateNestedType(() => LudeocastV2DistributionData)
11
- distributionData?: LudeocastV2DistributionData;
12
-
10
+ @ValidateNestedType(() => LudeocastV2Distributions)
11
+ distributions?: LudeocastV2Distributions;
13
12
 
14
13
  @IsOptional()
15
14
  @IsArray()
@@ -1,5 +1,5 @@
1
1
  import { IsString, IsOptional, IsObject, IsArray } from 'class-validator';
2
- import { LudeocastV2DistributionData } from '../build';
2
+ import { LudeocastV2Distributions } from '../build';
3
3
  import { MachineResourceSettings } from '../pools';
4
4
  import { LudeoCastV2MachineResourceProviderSettings } from '../cloud';
5
5
 
@@ -83,9 +83,9 @@ export interface GameSiteAdapterStatusPayload extends SiteAdapterStatusPayload {
83
83
  reason?: GameStatusReason;
84
84
  }
85
85
 
86
- export interface BuildSnapshotAdapterStatusPayload
86
+ export interface BuildDistributionAdapterStatusPayload
87
87
  extends SiteAdapterStatusPayload {
88
88
  buildId?: string;
89
- distributionData?: LudeocastV2DistributionData;
89
+ distributions?: LudeocastV2Distributions;
90
90
  envIds?: string[];
91
91
  }
@@ -1,8 +0,0 @@
1
- export declare class SiteControllerContext {
2
- site?: string;
3
- region?: string;
4
- machineResourceId?: string;
5
- gameResourceId?: string;
6
- buildId?: string;
7
- snapshotId?: string;
8
- }
@@ -1,47 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.SiteControllerContext = void 0;
13
- const class_validator_1 = require("class-validator");
14
- class SiteControllerContext {
15
- }
16
- exports.SiteControllerContext = SiteControllerContext;
17
- __decorate([
18
- (0, class_validator_1.IsOptional)(),
19
- (0, class_validator_1.IsString)(),
20
- __metadata("design:type", String)
21
- ], SiteControllerContext.prototype, "site", void 0);
22
- __decorate([
23
- (0, class_validator_1.IsOptional)(),
24
- (0, class_validator_1.IsString)(),
25
- __metadata("design:type", String)
26
- ], SiteControllerContext.prototype, "region", void 0);
27
- __decorate([
28
- (0, class_validator_1.IsOptional)(),
29
- (0, class_validator_1.IsUUID)(),
30
- __metadata("design:type", String)
31
- ], SiteControllerContext.prototype, "machineResourceId", void 0);
32
- __decorate([
33
- (0, class_validator_1.IsOptional)(),
34
- (0, class_validator_1.IsUUID)(),
35
- __metadata("design:type", String)
36
- ], SiteControllerContext.prototype, "gameResourceId", void 0);
37
- __decorate([
38
- (0, class_validator_1.IsOptional)(),
39
- (0, class_validator_1.IsString)(),
40
- __metadata("design:type", String)
41
- ], SiteControllerContext.prototype, "buildId", void 0);
42
- __decorate([
43
- (0, class_validator_1.IsOptional)(),
44
- (0, class_validator_1.IsString)(),
45
- __metadata("design:type", String)
46
- ], SiteControllerContext.prototype, "snapshotId", void 0);
47
- //# sourceMappingURL=site-controller-context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"site-controller-context.js","sourceRoot":"","sources":["../../../src/v4/contexts/site-controller-context.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA+D;AAM/D,MAAa,qBAAqB;CAwBjC;AAxBD,sDAwBC;AArBC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;mDACG;AAId;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;qDACK;AAIhB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,GAAE;;gEACkB;AAI3B;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,GAAE;;6DACe;AAIxB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;sDACM;AAIjB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;yDACS"}
@@ -1,15 +0,0 @@
1
- import { LudeoEvent } from '../../../infra';
2
- import { BuildContext } from '../../contexts';
3
- export declare class CreateBuildSnapshotRequestPayload {
4
- buildId: string;
5
- downloadURL: string;
6
- sizeGB: number;
7
- site?: string;
8
- region?: string;
9
- }
10
- export declare class CreateBuildSnapshotRequest extends LudeoEvent {
11
- static readonly EVENT_NAME = "cloud-builds.create-build-snapshot-request";
12
- constructor(payload: CreateBuildSnapshotRequestPayload, context: BuildContext);
13
- payload: CreateBuildSnapshotRequestPayload;
14
- context: BuildContext;
15
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-build-snapshot-request.js","sourceRoot":"","sources":["../../../../src/v4/events/cloud-builds/create-build-snapshot-request.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAA4C;AAC5C,oDAAyD;AACzD,qDAAiE;AACjE,6CAA8C;AAE9C,MAAa,iCAAiC;CAiB7C;AAjBD,8EAiBC;AAfC;IADC,IAAA,0BAAQ,GAAE;;kEACK;AAGhB;IADC,IAAA,0BAAQ,GAAE;;sEACS;AAGpB;IADC,IAAA,0BAAQ,GAAE;;iEACI;AAIf;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;+DACG;AAId;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;iEACK;AAGlB,MAAa,0BAA2B,SAAQ,kBAAU;IAGxD,YAAY,OAA0C,EAAE,OAAqB;QAC3E,KAAK,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;;AAPH,gEAcC;AAbiB,qCAAU,GAAG,4CAA4C,CAAC;AAS1E;IADC,IAAA,+BAAkB,EAAC,GAAG,EAAE,CAAC,iCAAiC,CAAC;8BACnD,iCAAiC;2DAAC;AAG3C;IADC,IAAA,+BAAkB,EAAC,GAAG,EAAE,CAAC,uBAAY,CAAC;8BAC9B,uBAAY;2DAAC"}
@@ -1,16 +0,0 @@
1
- import { LudeoEvent } from '../../../infra';
2
- import { BuildContext } from '../../contexts';
3
- import { LudeocastV2DistributionData } from '../../types/build';
4
- export declare class TerminateBuildSnapshotRequestPayload {
5
- buildId: string;
6
- site?: string;
7
- region?: string;
8
- distributionData?: LudeocastV2DistributionData;
9
- envIds?: string[];
10
- }
11
- export declare class TerminateBuildSnapshotRequest extends LudeoEvent {
12
- static readonly EVENT_NAME = "cloud-builds.terminate-build-snapshot-request";
13
- constructor(payload: TerminateBuildSnapshotRequestPayload, context: BuildContext);
14
- payload: TerminateBuildSnapshotRequestPayload;
15
- context: BuildContext;
16
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"terminate-build-snapshot-request.js","sourceRoot":"","sources":["../../../../src/v4/events/cloud-builds/terminate-build-snapshot-request.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAA4C;AAC5C,oDAAyD;AACzD,qDAAgE;AAChE,6CAA8C;AAC9C,6CAAgE;AAEhE,MAAa,oCAAoC;CAoBhD;AApBD,oFAoBC;AAlBC;IADC,IAAA,0BAAQ,GAAE;;qEACK;AAIhB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;kEACG;AAId;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;oEACK;AAIhB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,+BAAkB,EAAC,GAAG,EAAE,CAAC,mCAA2B,CAAC;8BACnC,mCAA2B;8EAAC;AAK/C;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,yBAAO,GAAE;IACT,IAAA,0BAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;oEACP;AAGpB,MAAa,6BAA8B,SAAQ,kBAAU;IAG3D,YAAY,OAA6C,EAAE,OAAqB;QAC9E,KAAK,CAAC,6BAA6B,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;;AAPH,sEAcC;AAbiB,wCAAU,GAAG,+CAA+C,CAAC;AAS7E;IADC,IAAA,+BAAkB,EAAC,GAAG,EAAE,CAAC,oCAAoC,CAAC;8BACtD,oCAAoC;8DAAC;AAG9C;IADC,IAAA,+BAAkB,EAAC,GAAG,EAAE,CAAC,uBAAY,CAAC;8BAC9B,uBAAY;8DAAC"}