@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.
Files changed (103) hide show
  1. package/dist/tsconfig.tsbuildinfo +1 -1
  2. package/dist/v4/events/allocate-game-resource-request.d.ts +3 -3
  3. package/dist/v4/events/allocate-game-resource-request.js +2 -2
  4. package/dist/v4/events/allocate-game-resource-request.js.map +1 -1
  5. package/dist/v4/events/allocate-ludeo-resource-request.d.ts +4 -4
  6. package/dist/v4/events/allocate-ludeo-resource-request.js +1 -1
  7. package/dist/v4/events/allocate-ludeo-resource-request.js.map +1 -1
  8. package/dist/v4/events/aws-reactivate-stream-session-task.d.ts +2 -2
  9. package/dist/v4/events/aws-reactivate-stream-session-task.js +2 -2
  10. package/dist/v4/events/aws-reactivate-stream-session-task.js.map +1 -1
  11. package/dist/v4/events/aws-stream-session-active.d.ts +2 -2
  12. package/dist/v4/events/aws-stream-session-active.js +2 -2
  13. package/dist/v4/events/aws-stream-session-active.js.map +1 -1
  14. package/dist/v4/events/aws-stream-session-reactivation-started.d.ts +2 -2
  15. package/dist/v4/events/aws-stream-session-reactivation-started.js +2 -2
  16. package/dist/v4/events/aws-stream-session-reactivation-started.js.map +1 -1
  17. package/dist/v4/events/create-game-resource-request.d.ts +2 -2
  18. package/dist/v4/events/create-game-resource-request.js +1 -1
  19. package/dist/v4/events/create-game-resource-request.js.map +1 -1
  20. package/dist/v4/events/create-machine-resource-batch-request.d.ts +2 -2
  21. package/dist/v4/events/create-machine-resource-batch-request.js +1 -1
  22. package/dist/v4/events/create-machine-resource-batch-request.js.map +1 -1
  23. package/dist/v4/events/create-machine-resource-request.d.ts +2 -2
  24. package/dist/v4/events/create-machine-resource-request.js +1 -1
  25. package/dist/v4/events/create-machine-resource-request.js.map +1 -1
  26. package/dist/v4/events/game-allocated-response.d.ts +4 -4
  27. package/dist/v4/events/game-allocated-response.js +1 -1
  28. package/dist/v4/events/game-allocated-response.js.map +1 -1
  29. package/dist/v4/events/game-resource-ready-for-creation.d.ts +4 -4
  30. package/dist/v4/events/game-resource-ready-for-creation.js +1 -1
  31. package/dist/v4/events/game-resource-ready-for-creation.js.map +1 -1
  32. package/dist/v4/events/game-resource-status-changed.d.ts +2 -2
  33. package/dist/v4/events/game-resource-status-changed.js +2 -2
  34. package/dist/v4/events/game-resource-status-changed.js.map +1 -1
  35. package/dist/v4/events/load-ludeo-resource.d.ts +4 -4
  36. package/dist/v4/events/load-ludeo-resource.js +1 -1
  37. package/dist/v4/events/load-ludeo-resource.js.map +1 -1
  38. package/dist/v4/events/machine-allocated-response.d.ts +2 -2
  39. package/dist/v4/events/machine-allocated-response.js +1 -1
  40. package/dist/v4/events/machine-allocated-response.js.map +1 -1
  41. package/dist/v4/events/machine-pool-resizing-task.d.ts +2 -2
  42. package/dist/v4/events/machine-pool-resizing-task.js +1 -1
  43. package/dist/v4/events/machine-pool-resizing-task.js.map +1 -1
  44. package/dist/v4/events/machine-resource-batch-creation-failed-response.d.ts +2 -2
  45. package/dist/v4/events/machine-resource-batch-creation-failed-response.js +1 -1
  46. package/dist/v4/events/machine-resource-batch-creation-failed-response.js.map +1 -1
  47. package/dist/v4/events/machine-resource-batch-termination-failed-response.d.ts +2 -2
  48. package/dist/v4/events/machine-resource-batch-termination-failed-response.js +1 -1
  49. package/dist/v4/events/machine-resource-batch-termination-failed-response.js.map +1 -1
  50. package/dist/v4/events/monitor-game-resource-task.js +1 -1
  51. package/dist/v4/events/monitor-game-resource-task.js.map +1 -1
  52. package/dist/v4/events/pool-status.js +1 -1
  53. package/dist/v4/events/pool-status.js.map +1 -1
  54. package/dist/v4/events/terminate-game-resource-request.d.ts +3 -3
  55. package/dist/v4/events/terminate-game-resource-request.js +2 -2
  56. package/dist/v4/events/terminate-game-resource-request.js.map +1 -1
  57. package/dist/v4/events/terminate-machine-resource-batch-request.d.ts +2 -2
  58. package/dist/v4/events/terminate-machine-resource-batch-request.js +1 -1
  59. package/dist/v4/events/terminate-machine-resource-batch-request.js.map +1 -1
  60. package/dist/v4/events/terminate-machine-resource-request.d.ts +2 -2
  61. package/dist/v4/events/terminate-machine-resource-request.js +1 -1
  62. package/dist/v4/events/terminate-machine-resource-request.js.map +1 -1
  63. package/dist/v4/events/update-ludeo-resource-status-request.d.ts +4 -4
  64. package/dist/v4/events/update-ludeo-resource-status-request.js +1 -1
  65. package/dist/v4/events/update-ludeo-resource-status-request.js.map +1 -1
  66. package/dist/v4/types/cloud/provider-settings.d.ts +2 -0
  67. package/dist/v4/types/cloud/provider-settings.js +11 -0
  68. package/dist/v4/types/cloud/provider-settings.js.map +1 -1
  69. package/dist/v4/types/cloud/resource-provider-settings.d.ts +2 -0
  70. package/dist/v4/types/cloud/resource-provider-settings.js +11 -0
  71. package/dist/v4/types/cloud/resource-provider-settings.js.map +1 -1
  72. package/dist/v4/types/pools/configuration/base.js +1 -1
  73. package/dist/v4/types/pools/configuration/base.js.map +1 -1
  74. package/dist/v4/types/pools/resource/game.d.ts +3 -3
  75. package/dist/v4/types/pools/resource/game.js +2 -2
  76. package/dist/v4/types/pools/resource/game.js.map +1 -1
  77. package/package.json +1 -1
  78. package/src/v4/events/allocate-game-resource-request.ts +10 -7
  79. package/src/v4/events/allocate-ludeo-resource-request.ts +9 -5
  80. package/src/v4/events/aws-reactivate-stream-session-task.ts +6 -3
  81. package/src/v4/events/aws-stream-session-active.ts +7 -4
  82. package/src/v4/events/aws-stream-session-reactivation-started.ts +6 -3
  83. package/src/v4/events/create-game-resource-request.ts +6 -4
  84. package/src/v4/events/create-machine-resource-batch-request.ts +6 -4
  85. package/src/v4/events/create-machine-resource-request.ts +6 -4
  86. package/src/v4/events/game-allocated-response.ts +9 -5
  87. package/src/v4/events/game-resource-ready-for-creation.ts +14 -6
  88. package/src/v4/events/game-resource-status-changed.ts +8 -4
  89. package/src/v4/events/load-ludeo-resource.ts +9 -5
  90. package/src/v4/events/machine-allocated-response.ts +6 -4
  91. package/src/v4/events/machine-pool-resizing-task.ts +6 -4
  92. package/src/v4/events/machine-resource-batch-creation-failed-response.ts +6 -4
  93. package/src/v4/events/machine-resource-batch-termination-failed-response.ts +6 -4
  94. package/src/v4/events/monitor-game-resource-task.ts +2 -2
  95. package/src/v4/events/pool-status.ts +2 -2
  96. package/src/v4/events/terminate-game-resource-request.ts +10 -6
  97. package/src/v4/events/terminate-machine-resource-batch-request.ts +6 -3
  98. package/src/v4/events/terminate-machine-resource-request.ts +6 -4
  99. package/src/v4/events/update-ludeo-resource-status-request.ts +9 -5
  100. package/src/v4/types/cloud/provider-settings.ts +13 -0
  101. package/src/v4/types/cloud/resource-provider-settings.ts +13 -0
  102. package/src/v4/types/pools/configuration/base.ts +2 -2
  103. package/src/v4/types/pools/resource/game.ts +7 -5
@@ -1 +1 @@
1
- {"version":3,"file":"pool-status.js","sourceRoot":"","sources":["../../../src/v4/events/pool-status.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAqD;AAErD,yDAAqD;AACrD,oCAQkB;AAClB,oGAAqF;AACrF,4FAA4E;AAE5E,MAAa,uBAAuB;CAUnC;AAVD,0DAUC;AANC;IADC,IAAA,mDAAkB,EAAC,GAAG,EAAE,CAAC,0BAAkB,CAAC;;2DAC/B;AAKd;IADC,IAAA,wBAAM,GAAE;;uDACM;AAGjB,MAAa,wBAAyB,SAAQ,uBAA4C;CAOzF;AAPD,4DAOC;AALC;IADC,IAAA,wBAAM,GAAE;;4DACU;AAInB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0CAAa,GAAE;;yDACC;AAGnB,MAAa,uBAAwB,SAAQ,uBAA2C;CAKvF;AALD,0DAKC;AAHC;IADC,IAAA,wBAAM,GAAE;;8DACa;AAKxB,MAAa,0BAA2B,SAAQ,uBAA8C;CAK7F;AALD,gEAKC;AADC;IADC,IAAA,mDAAkB,EAAC,GAAG,EAAE,CAAC,2BAAmB,CAAC;;oEACG;AAGnD,MAAa,sBAAsB;CAKlC;AALD,wDAKC;AADC;IADC,IAAA,wBAAM,GAAE;;yDACS;AAGpB,MAAa,eAAgB,SAAQ,wBAAU;IAG7C,YAAY,OAA+B;QACzC,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;;AANH,0CAUC;AATiB,0BAAU,GAAG,yBAAyB,CAAC;AAQvD;IADC,IAAA,mDAAkB,EAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC;8BACxC,sBAAsB;gDAAC"}
1
+ {"version":3,"file":"pool-status.js","sourceRoot":"","sources":["../../../src/v4/events/pool-status.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAqD;AAErD,yDAAqD;AACrD,oCAQkB;AAClB,oGAAqF;AACrF,4FAA4E;AAE5E,MAAa,uBAAuB;CAUnC;AAVD,0DAUC;AANC;IADC,IAAA,mDAAkB,EAAC,GAAG,EAAE,CAAC,0BAAkB,CAAC;;2DAC/B;AAKd;IADC,IAAA,wBAAM,GAAE;;uDACM;AAGjB,MAAa,wBAAyB,SAAQ,uBAA4C;CAOzF;AAPD,4DAOC;AALC;IADC,IAAA,wBAAM,GAAE;;4DACU;AAInB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0CAAa,GAAE;;yDACC;AAGnB,MAAa,uBAAwB,SAAQ,uBAA2C;CAKvF;AALD,0DAKC;AAHC;IADC,IAAA,wBAAM,GAAE;;8DACa;AAKxB,MAAa,0BAA2B,SAAQ,uBAA8C;CAK7F;AALD,gEAKC;AADC;IADC,IAAA,mDAAkB,EAAC,+BAAuB,CAAC;;oEACK;AAGnD,MAAa,sBAAsB;CAKlC;AALD,wDAKC;AADC;IADC,IAAA,wBAAM,GAAE;;yDACS;AAGpB,MAAa,eAAgB,SAAQ,wBAAU;IAG7C,YAAY,OAA+B;QACzC,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;;AANH,0CAUC;AATiB,0BAAU,GAAG,yBAAyB,CAAC;AAQvD;IADC,IAAA,mDAAkB,EAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC;8BACxC,sBAAsB;gDAAC"}
@@ -1,13 +1,13 @@
1
1
  import { CloudResourceContext, CloudSessionContext } from "../contexts";
2
2
  import { LudeoEvent } from "../../infra/ludeo-event";
3
3
  import { CloudProviderSettings, CloudResourceProviderSettings, CloudProvider } from "../types";
4
- export declare class TerminateGameResourceRequestPayload {
4
+ export declare class TerminateGameResourceRequestPayload<T extends CloudProviderSettings = CloudProviderSettings, K extends CloudResourceProviderSettings = CloudResourceProviderSettings> {
5
5
  gameResourceId: string;
6
6
  gamePoolId: string;
7
7
  uploadLogs?: boolean;
8
8
  cloudProvider: CloudProvider;
9
- providerSettings: CloudProviderSettings;
10
- resourceProviderSettings: CloudResourceProviderSettings;
9
+ providerSettings: T;
10
+ resourceProviderSettings: K;
11
11
  shouldDeallocateMachineResource: boolean;
12
12
  attemptNumber?: number;
13
13
  }
@@ -36,11 +36,11 @@ __decorate([
36
36
  __metadata("design:type", String)
37
37
  ], TerminateGameResourceRequestPayload.prototype, "cloudProvider", void 0);
38
38
  __decorate([
39
- (0, validate_nested_type_decorator_1.ValidateNestedType)(() => types_1.AWSProviderSettings),
39
+ (0, validate_nested_type_decorator_1.ValidateNestedType)(types_1.getProviderSettingsType),
40
40
  __metadata("design:type", Object)
41
41
  ], TerminateGameResourceRequestPayload.prototype, "providerSettings", void 0);
42
42
  __decorate([
43
- (0, validate_nested_type_decorator_1.ValidateNestedType)(() => types_1.AWSResourceProviderSettings),
43
+ (0, validate_nested_type_decorator_1.ValidateNestedType)(types_1.getResourceProviderSettingsType),
44
44
  __metadata("design:type", Object)
45
45
  ], TerminateGameResourceRequestPayload.prototype, "resourceProviderSettings", void 0);
46
46
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"terminate-game-resource-request.js","sourceRoot":"","sources":["../../../src/v4/events/terminate-game-resource-request.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAMyB;AAEzB,0CAIqB;AACrB,yDAAqD;AACrD,oGAAqF;AACrF,oCAMkB;AAElB,MAAa,mCAAmC;CA0B/C;AA1BD,kFA0BC;AAxBC;IADC,IAAA,wBAAM,GAAE;;2EACc;AAGvB;IADC,IAAA,wBAAM,GAAE;;uEACU;AAInB;IAFC,IAAA,2BAAS,GAAE;IACX,IAAA,4BAAU,GAAE;;uEACQ;AAGrB;IADC,IAAA,wBAAM,EAAC,qBAAa,CAAC;;0EACO;AAG7B;IADC,IAAA,mDAAkB,EAAC,GAAG,EAAE,CAAC,2BAAmB,CAAC;;6EACN;AAGxC;IADC,IAAA,mDAAkB,EAAC,GAAG,EAAE,CAAC,mCAA2B,CAAC;;qFACE;AAGxD;IADC,IAAA,2BAAS,GAAE;;4FAC6B;AAIzC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;0EACU;AAGzB,MAAa,4BAA6B,SAAQ,wBAAU;IAG1D,YACE,OAA4C,EAC5C,OAAmD;QAEnD,KAAK,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;;AAVH,oEAiBC;AAhBiB,uCAAU,GAAG,6CAA6C,CAAC;AAY3E;IADC,IAAA,mDAAkB,EAAC,8BAAmB,CAAC;;6DACY;AAGpD;IADC,IAAA,mDAAkB,EAAC,GAAG,EAAE,CAAC,mCAAmC,CAAC;8BACrD,mCAAmC;6DAAC"}
1
+ {"version":3,"file":"terminate-game-resource-request.js","sourceRoot":"","sources":["../../../src/v4/events/terminate-game-resource-request.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAMyB;AAEzB,0CAIqB;AACrB,yDAAqD;AACrD,oGAAqF;AACrF,oCAOkB;AAElB,MAAa,mCAAmC;CA6B/C;AA7BD,kFA6BC;AAxBC;IADC,IAAA,wBAAM,GAAE;;2EACc;AAGvB;IADC,IAAA,wBAAM,GAAE;;uEACU;AAInB;IAFC,IAAA,2BAAS,GAAE;IACX,IAAA,4BAAU,GAAE;;uEACQ;AAGrB;IADC,IAAA,wBAAM,EAAC,qBAAa,CAAC;;0EACO;AAG7B;IADC,IAAA,mDAAkB,EAAC,+BAAuB,CAAC;;6EACxB;AAGpB;IADC,IAAA,mDAAkB,EAAC,uCAA+B,CAAC;;qFACxB;AAG5B;IADC,IAAA,2BAAS,GAAE;;4FAC6B;AAIzC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;0EACU;AAGzB,MAAa,4BAA6B,SAAQ,wBAAU;IAG1D,YACE,OAA4C,EAC5C,OAAmD;QAEnD,KAAK,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;;AAVH,oEAiBC;AAhBiB,uCAAU,GAAG,6CAA6C,CAAC;AAY3E;IADC,IAAA,mDAAkB,EAAC,8BAAmB,CAAC;;6DACY;AAGpD;IADC,IAAA,mDAAkB,EAAC,GAAG,EAAE,CAAC,mCAAmC,CAAC;8BACrD,mCAAmC;6DAAC"}
@@ -1,11 +1,11 @@
1
1
  import { CloudResourceContext } from "../contexts";
2
2
  import { LudeoEvent } from "../../infra/ludeo-event";
3
3
  import { CloudProvider, CloudProviderSettings } from "../types";
4
- export declare class TerminateMachineResourceBatchRequestPayload {
4
+ export declare class TerminateMachineResourceBatchRequestPayload<T extends CloudProviderSettings = CloudProviderSettings> {
5
5
  machineResourceIds: string[];
6
6
  machinePoolId: string;
7
7
  cloudProvider: CloudProvider;
8
- cloudProviderSettings: CloudProviderSettings;
8
+ cloudProviderSettings: T;
9
9
  }
10
10
  export declare class TerminateMachineResourceBatchRequest extends LudeoEvent {
11
11
  static readonly EVENT_NAME = "cloud-pools.terminate-machine-resource-batch-request";
@@ -31,7 +31,7 @@ __decorate([
31
31
  __metadata("design:type", String)
32
32
  ], TerminateMachineResourceBatchRequestPayload.prototype, "cloudProvider", void 0);
33
33
  __decorate([
34
- (0, validate_nested_type_decorator_1.ValidateNestedType)(() => types_1.AWSProviderSettings),
34
+ (0, validate_nested_type_decorator_1.ValidateNestedType)(types_1.getProviderSettingsType),
35
35
  __metadata("design:type", Object)
36
36
  ], TerminateMachineResourceBatchRequestPayload.prototype, "cloudProviderSettings", void 0);
37
37
  class TerminateMachineResourceBatchRequest extends ludeo_event_1.LudeoEvent {
@@ -1 +1 @@
1
- {"version":3,"file":"terminate-machine-resource-batch-request.js","sourceRoot":"","sources":["../../../src/v4/events/terminate-machine-resource-batch-request.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA0D;AAE1D,0CAAmD;AACnD,yDAAqD;AACrD,oGAAqF;AACrF,oCAIkB;AAElB,MAAa,2CAA2C;CAYvD;AAZD,kGAYC;AAVC;IADC,IAAA,yBAAO,GAAE;;uFACmB;AAG7B;IADC,IAAA,wBAAM,GAAE;;kFACa;AAGtB;IADC,IAAA,wBAAM,EAAC,qBAAa,CAAC;;kFACO;AAG7B;IADC,IAAA,mDAAkB,EAAC,GAAG,EAAE,CAAC,2BAAmB,CAAC;;0FACD;AAG/C,MAAa,oCAAqC,SAAQ,wBAAU;IAIlE,YACE,OAAoD,EACpD,OAA6B;QAE7B,KAAK,CAAC,oCAAoC,CAAC,UAAU,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;;AAXH,oFAkBC;AAjBiB,+CAAU,GACxB,sDAAsD,CAAC;AAYzD;IADC,IAAA,mDAAkB,EAAC,GAAG,EAAE,CAAC,+BAAoB,CAAC;8BACtC,+BAAoB;qEAAC;AAG9B;IADC,IAAA,mDAAkB,EAAC,GAAG,EAAE,CAAC,2CAA2C,CAAC;8BAC7D,2CAA2C;qEAAC"}
1
+ {"version":3,"file":"terminate-machine-resource-batch-request.js","sourceRoot":"","sources":["../../../src/v4/events/terminate-machine-resource-batch-request.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA0D;AAE1D,0CAAmD;AACnD,yDAAqD;AACrD,oGAAqF;AACrF,oCAKkB;AAElB,MAAa,2CAA2C;CAcvD;AAdD,kGAcC;AAVC;IADC,IAAA,yBAAO,GAAE;;uFACmB;AAG7B;IADC,IAAA,wBAAM,GAAE;;kFACa;AAGtB;IADC,IAAA,wBAAM,EAAC,qBAAa,CAAC;;kFACO;AAG7B;IADC,IAAA,mDAAkB,EAAC,+BAAuB,CAAC;;0FACnB;AAG3B,MAAa,oCAAqC,SAAQ,wBAAU;IAIlE,YACE,OAAoD,EACpD,OAA6B;QAE7B,KAAK,CAAC,oCAAoC,CAAC,UAAU,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;;AAXH,oFAkBC;AAjBiB,+CAAU,GACxB,sDAAsD,CAAC;AAYzD;IADC,IAAA,mDAAkB,EAAC,GAAG,EAAE,CAAC,+BAAoB,CAAC;8BACtC,+BAAoB;qEAAC;AAG9B;IADC,IAAA,mDAAkB,EAAC,GAAG,EAAE,CAAC,2CAA2C,CAAC;8BAC7D,2CAA2C;qEAAC"}
@@ -1,11 +1,11 @@
1
1
  import { CloudResourceContext } from "../contexts";
2
2
  import { LudeoEvent } from "../../infra/ludeo-event";
3
3
  import { CloudProvider, CloudProviderSettings } from "../types";
4
- export declare class TerminateMachineResourceRequestPayload {
4
+ export declare class TerminateMachineResourceRequestPayload<T extends CloudProviderSettings = CloudProviderSettings> {
5
5
  machineResourceId: string;
6
6
  machinePoolId: string;
7
7
  cloudProvider: CloudProvider;
8
- cloudProviderSettings: CloudProviderSettings;
8
+ cloudProviderSettings: T;
9
9
  }
10
10
  export declare class TerminateMachineResourceRequest extends LudeoEvent {
11
11
  static readonly EVENT_NAME = "cloud-pools.terminate-machine-resource-request";
@@ -31,7 +31,7 @@ __decorate([
31
31
  __metadata("design:type", String)
32
32
  ], TerminateMachineResourceRequestPayload.prototype, "cloudProvider", void 0);
33
33
  __decorate([
34
- (0, validate_nested_type_decorator_1.ValidateNestedType)(() => types_1.AWSProviderSettings),
34
+ (0, validate_nested_type_decorator_1.ValidateNestedType)(types_1.getProviderSettingsType),
35
35
  __metadata("design:type", Object)
36
36
  ], TerminateMachineResourceRequestPayload.prototype, "cloudProviderSettings", void 0);
37
37
  class TerminateMachineResourceRequest extends ludeo_event_1.LudeoEvent {
@@ -1 +1 @@
1
- {"version":3,"file":"terminate-machine-resource-request.js","sourceRoot":"","sources":["../../../src/v4/events/terminate-machine-resource-request.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAiD;AAEjD,0CAAmD;AACnD,yDAAqD;AACrD,oGAAqF;AACrF,oCAIkB;AAElB,MAAa,sCAAsC;CAYlD;AAZD,wFAYC;AAVC;IADC,IAAA,wBAAM,GAAE;;iFACiB;AAG1B;IADC,IAAA,wBAAM,GAAE;;6EACa;AAGtB;IADC,IAAA,wBAAM,EAAC,qBAAa,CAAC;;6EACO;AAG7B;IADC,IAAA,mDAAkB,EAAC,GAAG,EAAE,CAAC,2BAAmB,CAAC;;qFACD;AAG/C,MAAa,+BAAgC,SAAQ,wBAAU;IAG7D,YACE,OAA+C,EAC/C,OAA6B;QAE7B,KAAK,CAAC,+BAA+B,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;;AAVH,0EAiBC;AAhBiB,0CAAU,GAAG,gDAAgD,CAAC;AAY9E;IADC,IAAA,mDAAkB,EAAC,GAAG,EAAE,CAAC,+BAAoB,CAAC;8BACtC,+BAAoB;gEAAC;AAG9B;IADC,IAAA,mDAAkB,EAAC,GAAG,EAAE,CAAC,sCAAsC,CAAC;8BACxD,sCAAsC;gEAAC"}
1
+ {"version":3,"file":"terminate-machine-resource-request.js","sourceRoot":"","sources":["../../../src/v4/events/terminate-machine-resource-request.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAiD;AAEjD,0CAAmD;AACnD,yDAAqD;AACrD,oGAAqF;AACrF,oCAIkB;AAElB,MAAa,sCAAsC;CAclD;AAdD,wFAcC;AAVC;IADC,IAAA,wBAAM,GAAE;;iFACiB;AAG1B;IADC,IAAA,wBAAM,GAAE;;6EACa;AAGtB;IADC,IAAA,wBAAM,EAAC,qBAAa,CAAC;;6EACO;AAG7B;IADC,IAAA,mDAAkB,EAAC,+BAAuB,CAAC;;qFACnB;AAG3B,MAAa,+BAAgC,SAAQ,wBAAU;IAG7D,YACE,OAA+C,EAC/C,OAA6B;QAE7B,KAAK,CAAC,+BAA+B,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;;AAVH,0EAiBC;AAhBiB,0CAAU,GAAG,gDAAgD,CAAC;AAY9E;IADC,IAAA,mDAAkB,EAAC,GAAG,EAAE,CAAC,+BAAoB,CAAC;8BACtC,+BAAoB;gEAAC;AAG9B;IADC,IAAA,mDAAkB,EAAC,GAAG,EAAE,CAAC,sCAAsC,CAAC;8BACxD,sCAAsC;gEAAC"}
@@ -1,7 +1,7 @@
1
1
  import { LudeoEvent } from "../../infra/ludeo-event";
2
2
  import { CloudResourceContext } from "../contexts/cloud-resource-context";
3
- import { CloudProvider, CloudProviderSettings, CloudResourceStatus, GameResourceSettings } from "../types";
4
- export declare class UpdateLudeoResourceStatusRequestPayload {
3
+ import { CloudProvider, CloudProviderSettings, CloudResourceProviderSettings, CloudResourceStatus, GameResourceSettings } from "../types";
4
+ export declare class UpdateLudeoResourceStatusRequestPayload<T extends CloudProviderSettings = CloudProviderSettings, K extends CloudResourceProviderSettings = CloudResourceProviderSettings> {
5
5
  ludeoResourceId: string;
6
6
  ludeoPoolId: string;
7
7
  gameStatus: CloudResourceStatus;
@@ -10,8 +10,8 @@ export declare class UpdateLudeoResourceStatusRequestPayload {
10
10
  gamePoolId: string;
11
11
  gameId: string;
12
12
  cloudProvider: CloudProvider;
13
- providerSettings: CloudProviderSettings;
14
- gameResourceSettings: GameResourceSettings;
13
+ providerSettings: T;
14
+ gameResourceSettings: GameResourceSettings<K>;
15
15
  }
16
16
  export declare class UpdateLudeoResourceStatusRequest extends LudeoEvent {
17
17
  static readonly EVENT_NAME = "cloud-pools.update-ludeo-resource-status-request";
@@ -52,7 +52,7 @@ __decorate([
52
52
  __metadata("design:type", String)
53
53
  ], UpdateLudeoResourceStatusRequestPayload.prototype, "cloudProvider", void 0);
54
54
  __decorate([
55
- (0, validate_nested_type_decorator_1.ValidateNestedType)(() => types_1.AWSProviderSettings),
55
+ (0, validate_nested_type_decorator_1.ValidateNestedType)(types_1.getProviderSettingsType),
56
56
  __metadata("design:type", Object)
57
57
  ], UpdateLudeoResourceStatusRequestPayload.prototype, "providerSettings", void 0);
58
58
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"update-ludeo-resource-status-request.js","sourceRoot":"","sources":["../../../src/v4/events/update-ludeo-resource-status-request.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAuE;AACvE,yDAAqD;AACrD,+EAA0E;AAC1E,oCAMkB;AAClB,oGAAqF;AAErF,MAAa,uCAAuC;CA+BnD;AA/BD,0FA+BC;AA7BC;IADC,IAAA,wBAAM,GAAE;;gFACe;AAGxB;IADC,IAAA,wBAAM,GAAE;;4EACW;AAGpB;IADC,IAAA,0BAAQ,GAAE;;2EACqB;AAIhC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;mFAC4B;AAGzC;IADC,IAAA,wBAAM,GAAE;;+EACc;AAGvB;IADC,IAAA,wBAAM,GAAE;;2EACU;AAGnB;IADC,IAAA,wBAAM,GAAE;;uEACM;AAGf;IADC,IAAA,wBAAM,EAAC,qBAAa,CAAC;;8EACO;AAG7B;IADC,IAAA,mDAAkB,EAAC,GAAG,EAAE,CAAC,2BAAmB,CAAC;;iFACN;AAGxC;IADC,IAAA,mDAAkB,EAAC,GAAG,EAAE,CAAC,4BAAoB,CAAC;8BACzB,4BAAoB;qFAAC;AAG7C,MAAa,gCAAiC,SAAQ,wBAAU;IAI9D,YACE,OAAgD,EAChD,OAA6B;QAE7B,KAAK,CAAC,gCAAgC,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;;AAXH,4EAkBC;AAjBiB,2CAAU,GACxB,kDAAkD,CAAC;AAYrD;IADC,IAAA,mDAAkB,EAAC,GAAG,EAAE,CAAC,6CAAoB,CAAC;8BACtC,6CAAoB;iEAAC;AAG9B;IADC,IAAA,mDAAkB,EAAC,GAAG,EAAE,CAAC,uCAAuC,CAAC;8BACzD,uCAAuC;iEAAC"}
1
+ {"version":3,"file":"update-ludeo-resource-status-request.js","sourceRoot":"","sources":["../../../src/v4/events/update-ludeo-resource-status-request.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAuE;AACvE,yDAAqD;AACrD,+EAA0E;AAC1E,oCAOkB;AAClB,oGAAqF;AAErF,MAAa,uCAAuC;CAkCnD;AAlCD,0FAkCC;AA7BC;IADC,IAAA,wBAAM,GAAE;;gFACe;AAGxB;IADC,IAAA,wBAAM,GAAE;;4EACW;AAGpB;IADC,IAAA,0BAAQ,GAAE;;2EACqB;AAIhC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;mFAC4B;AAGzC;IADC,IAAA,wBAAM,GAAE;;+EACc;AAGvB;IADC,IAAA,wBAAM,GAAE;;2EACU;AAGnB;IADC,IAAA,wBAAM,GAAE;;uEACM;AAGf;IADC,IAAA,wBAAM,EAAC,qBAAa,CAAC;;8EACO;AAG7B;IADC,IAAA,mDAAkB,EAAC,+BAAuB,CAAC;;iFACxB;AAGpB;IADC,IAAA,mDAAkB,EAAC,GAAG,EAAE,CAAC,4BAAoB,CAAC;8BACzB,4BAAoB;qFAAI;AAGhD,MAAa,gCAAiC,SAAQ,wBAAU;IAI9D,YACE,OAAgD,EAChD,OAA6B;QAE7B,KAAK,CAAC,gCAAgC,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;;AAXH,4EAkBC;AAjBiB,2CAAU,GACxB,kDAAkD,CAAC;AAYrD;IADC,IAAA,mDAAkB,EAAC,GAAG,EAAE,CAAC,6CAAoB,CAAC;8BACtC,6CAAoB;iEAAC;AAG9B;IADC,IAAA,mDAAkB,EAAC,GAAG,EAAE,CAAC,uCAAuC,CAAC;8BACzD,uCAAuC;iEAAC"}
@@ -1,3 +1,5 @@
1
+ import { TypeHelpOptions } from "class-transformer";
1
2
  import { AWSProviderSettings } from "./aws";
2
3
  import { MockProviderSettings } from "./mock";
3
4
  export type CloudProviderSettings = AWSProviderSettings | MockProviderSettings;
5
+ export declare const getProviderSettingsType: ({ object, property, }: TypeHelpOptions) => typeof MockProviderSettings;
@@ -1,3 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getProviderSettingsType = void 0;
4
+ const aws_1 = require("./aws");
5
+ const mock_1 = require("./mock");
6
+ const getProviderSettingsType = ({ object, property, }) => {
7
+ const providerSettings = object[property];
8
+ if ("streamGroupId" in providerSettings) {
9
+ return aws_1.AWSProviderSettings;
10
+ }
11
+ return mock_1.MockProviderSettings;
12
+ };
13
+ exports.getProviderSettingsType = getProviderSettingsType;
3
14
  //# sourceMappingURL=provider-settings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider-settings.js","sourceRoot":"","sources":["../../../../src/v4/types/cloud/provider-settings.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"provider-settings.js","sourceRoot":"","sources":["../../../../src/v4/types/cloud/provider-settings.ts"],"names":[],"mappings":";;;AACA,+BAA4C;AAC5C,iCAA8C;AAIvC,MAAM,uBAAuB,GAAG,CAAC,EACtC,MAAM,EACN,QAAQ,GACQ,EAAE,EAAE;IACpB,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,eAAe,IAAI,gBAAgB,EAAE,CAAC;QACxC,OAAO,yBAAmB,CAAC;IAC7B,CAAC;IAED,OAAO,2BAAoB,CAAC;AAC9B,CAAC,CAAC;AAVW,QAAA,uBAAuB,2BAUlC"}
@@ -1,3 +1,5 @@
1
+ import { TypeHelpOptions } from "class-transformer";
1
2
  import { AWSResourceProviderSettings } from "./aws";
2
3
  import { MockResourceProviderSettings } from "./mock";
3
4
  export type CloudResourceProviderSettings = AWSResourceProviderSettings | MockResourceProviderSettings;
5
+ export declare const getResourceProviderSettingsType: ({ object, property, }: TypeHelpOptions) => typeof AWSResourceProviderSettings | typeof MockResourceProviderSettings;
@@ -1,3 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getResourceProviderSettingsType = void 0;
4
+ const aws_1 = require("./aws");
5
+ const mock_1 = require("./mock");
6
+ const getResourceProviderSettingsType = ({ object, property, }) => {
7
+ const providerSettings = object[property];
8
+ if ("streamSessionId" in providerSettings) {
9
+ return aws_1.AWSResourceProviderSettings;
10
+ }
11
+ return mock_1.MockResourceProviderSettings;
12
+ };
13
+ exports.getResourceProviderSettingsType = getResourceProviderSettingsType;
3
14
  //# sourceMappingURL=resource-provider-settings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resource-provider-settings.js","sourceRoot":"","sources":["../../../../src/v4/types/cloud/resource-provider-settings.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"resource-provider-settings.js","sourceRoot":"","sources":["../../../../src/v4/types/cloud/resource-provider-settings.ts"],"names":[],"mappings":";;;AACA,+BAAoD;AACpD,iCAAsD;AAM/C,MAAM,+BAA+B,GAAG,CAAC,EAC9C,MAAM,EACN,QAAQ,GACQ,EAAE,EAAE;IACpB,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,iBAAiB,IAAI,gBAAgB,EAAE,CAAC;QAC1C,OAAO,iCAA2B,CAAC;IACrC,CAAC;IAED,OAAO,mCAA4B,CAAC;AACtC,CAAC,CAAC;AAVW,QAAA,+BAA+B,mCAU1C"}
@@ -32,7 +32,7 @@ class BaseCloudPoolConfiguration {
32
32
  exports.BaseCloudPoolConfiguration = BaseCloudPoolConfiguration;
33
33
  __decorate([
34
34
  (0, class_validator_1.IsOptional)(),
35
- (0, decorators_1.ValidateNestedType)(() => cloud_1.AWSProviderSettings),
35
+ (0, decorators_1.ValidateNestedType)(cloud_1.getProviderSettingsType),
36
36
  __metadata("design:type", Object)
37
37
  ], BaseCloudPoolConfiguration.prototype, "providerSettings", void 0);
38
38
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../src/v4/types/pools/configuration/base.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAuE;AAEvE,uCAIqB;AACrB,kCAAwC;AACxC,6CAAkD;AAClD,uDAA4D;AAE5D,MAAa,sBAAsB;CAOlC;AAPD,wDAOC;AALC;IADC,IAAA,0BAAQ,GAAE;;oDACE;AAIb;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;uDACM;AAGnB,MAAa,0BAA0B;CAuBtC;AAvBD,gEAuBC;AApBC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,+BAAkB,EAAC,GAAG,EAAE,CAAC,2BAAmB,CAAC;;oEACL;AAGzC;IADC,IAAA,wBAAM,EAAC,qBAAa,CAAC;;iEACO;AAG7B;IADC,IAAA,wBAAM,GAAE;;0DACM;AAGf;IADC,IAAA,+BAAkB,EAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC;8BACzB,sBAAsB;0EAAC;AAG/C;IADC,IAAA,wBAAM,EAAC,oBAAa,CAAC;;wDACF;AAGpB;IADC,IAAA,+BAAkB,EAAC,GAAG,EAAE,CAAC,+BAAkB,CAAC;8BACjC,+BAAkB;8DAAC;AAI/B;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;wEACiB"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../src/v4/types/pools/configuration/base.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAuE;AAEvE,uCAIqB;AACrB,kCAAwC;AACxC,6CAAkD;AAClD,uDAA4D;AAE5D,MAAa,sBAAsB;CAOlC;AAPD,wDAOC;AALC;IADC,IAAA,0BAAQ,GAAE;;oDACE;AAIb;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;uDACM;AAGnB,MAAa,0BAA0B;CAuBtC;AAvBD,gEAuBC;AApBC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,+BAAkB,EAAC,+BAAuB,CAAC;;oEACH;AAGzC;IADC,IAAA,wBAAM,EAAC,qBAAa,CAAC;;iEACO;AAG7B;IADC,IAAA,wBAAM,GAAE;;0DACM;AAGf;IADC,IAAA,+BAAkB,EAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC;8BACzB,sBAAsB;0EAAC;AAG/C;IADC,IAAA,wBAAM,EAAC,oBAAa,CAAC;;wDACF;AAGpB;IADC,IAAA,+BAAkB,EAAC,GAAG,EAAE,CAAC,+BAAkB,CAAC;8BACjC,+BAAkB;8DAAC;AAI/B;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;wEACiB"}
@@ -1,7 +1,7 @@
1
1
  import { BaseCloudResource } from "./base";
2
- import { CloudResourceProviderSettings } from "../../cloud";
3
- export declare class GameResourceSettings {
4
- provider?: CloudResourceProviderSettings;
2
+ import { CloudResourceProviderSettings } from "../../cloud/resource-provider-settings";
3
+ export declare class GameResourceSettings<T extends CloudResourceProviderSettings = CloudResourceProviderSettings> {
4
+ provider?: T;
5
5
  connectionId?: string;
6
6
  sessionToken?: string;
7
7
  }
@@ -13,13 +13,13 @@ exports.GameCloudResource = exports.GameResourceSettings = void 0;
13
13
  const class_validator_1 = require("class-validator");
14
14
  const base_1 = require("./base");
15
15
  const decorators_1 = require("../../../../decorators");
16
- const cloud_1 = require("../../cloud");
16
+ const resource_provider_settings_1 = require("../../cloud/resource-provider-settings");
17
17
  class GameResourceSettings {
18
18
  }
19
19
  exports.GameResourceSettings = GameResourceSettings;
20
20
  __decorate([
21
21
  (0, class_validator_1.IsOptional)(),
22
- (0, decorators_1.ValidateNestedType)(() => cloud_1.AWSResourceProviderSettings),
22
+ (0, decorators_1.ValidateNestedType)(resource_provider_settings_1.getResourceProviderSettingsType),
23
23
  __metadata("design:type", Object)
24
24
  ], GameResourceSettings.prototype, "provider", void 0);
25
25
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"game.js","sourceRoot":"","sources":["../../../../../src/v4/types/pools/resource/game.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA+D;AAE/D,iCAA2C;AAC3C,uDAA4D;AAC5D,uCAGqB;AAErB,MAAa,oBAAoB;CAYhC;AAZD,oDAYC;AATC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,+BAAkB,EAAC,GAAG,EAAE,CAAC,mCAA2B,CAAC;;sDACb;AAIzC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,GAAE;;0DACa;AAItB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;0DACW;AAGxB,MAAa,iBAAkB,SAAQ,wBAAiB;CAevD;AAfD,8CAeC;AAZC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;4DACc;AAI3B;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;0DACY;AAIzB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;sDACQ;AAGrB;IADC,IAAA,4BAAU,GAAE;8BACF,oBAAoB;mDAAC"}
1
+ {"version":3,"file":"game.js","sourceRoot":"","sources":["../../../../../src/v4/types/pools/resource/game.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA+D;AAE/D,iCAA2C;AAC3C,uDAA4D;AAC5D,uFAGgD;AAEhD,MAAa,oBAAoB;CAchC;AAdD,oDAcC;AATC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,+BAAkB,EAAC,4DAA+B,CAAC;;sDACvC;AAIb;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,GAAE;;0DACa;AAItB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;0DACW;AAGxB,MAAa,iBAAkB,SAAQ,wBAAiB;CAevD;AAfD,8CAeC;AAZC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;4DACc;AAI3B;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;0DACY;AAIzB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;sDACQ;AAGrB;IADC,IAAA,4BAAU,GAAE;8BACF,oBAAoB;mDAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ludeo/cloud-common",
3
- "version": "1.2.84",
3
+ "version": "1.2.85",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "author": "Yahil Didi",
@@ -4,23 +4,26 @@ import { LudeoEvent } from "../../infra/ludeo-event";
4
4
  import { CloudSessionContext } from "../contexts";
5
5
  import { ValidateNestedType } from "../../decorators/validate-nested-type.decorator";
6
6
  import {
7
- AWSProviderSettings,
8
7
  CloudProviderSettings,
9
8
  CloudProvider,
10
9
  AllocationRequestData,
11
- AWSResourceProviderSettings,
12
10
  CloudResourceProviderSettings,
11
+ getProviderSettingsType,
12
+ getResourceProviderSettingsType,
13
13
  } from "../types";
14
14
 
15
- export class AllocateGameResourceRequestPayload {
15
+ export class AllocateGameResourceRequestPayload<
16
+ T extends CloudProviderSettings = CloudProviderSettings,
17
+ K extends CloudResourceProviderSettings = CloudResourceProviderSettings
18
+ > {
16
19
  @IsUUID()
17
20
  gameResourceId: string;
18
21
 
19
22
  @IsUUID()
20
23
  gamePoolId: string;
21
24
 
22
- @ValidateNestedType(() => AWSProviderSettings)
23
- providerSettings: CloudProviderSettings;
25
+ @ValidateNestedType(getProviderSettingsType)
26
+ providerSettings: T;
24
27
 
25
28
  @IsEnum(CloudProvider)
26
29
  cloudProvider: CloudProvider;
@@ -28,8 +31,8 @@ export class AllocateGameResourceRequestPayload {
28
31
  @ValidateNestedType(() => AllocationRequestData)
29
32
  requestData: AllocationRequestData;
30
33
 
31
- @ValidateNestedType(() => AWSResourceProviderSettings)
32
- resourceProviderSettings: CloudResourceProviderSettings;
34
+ @ValidateNestedType(getResourceProviderSettingsType)
35
+ resourceProviderSettings: K;
33
36
  }
34
37
 
35
38
  export class AllocateGameResourceRequest extends LudeoEvent {
@@ -4,23 +4,27 @@ import { ValidateNestedType } from "../../decorators/validate-nested-type.decora
4
4
  import { CloudSessionContext } from "../contexts";
5
5
  import {
6
6
  AllocationRequestData,
7
- AWSProviderSettings,
8
7
  CloudProvider,
9
8
  CloudProviderSettings,
9
+ CloudResourceProviderSettings,
10
10
  GameResourceSettings,
11
+ getProviderSettingsType,
11
12
  LudeoResourceSettings,
12
13
  } from "../types";
13
14
  import { IsUUIDOrEmpty } from "../../decorators/is-uuid-or-empty.decorator";
14
15
 
15
- export class AllocateLudeoResourceRequestPayload {
16
+ export class AllocateLudeoResourceRequestPayload<
17
+ T extends CloudProviderSettings = CloudProviderSettings,
18
+ K extends CloudResourceProviderSettings = CloudResourceProviderSettings
19
+ > {
16
20
  @IsUUID()
17
21
  ludeoResourceId: string;
18
22
 
19
23
  @IsUUID()
20
24
  ludeoPoolId: string;
21
25
 
22
- @ValidateNestedType(() => AWSProviderSettings)
23
- providerSettings: CloudProviderSettings;
26
+ @ValidateNestedType(getProviderSettingsType)
27
+ providerSettings: T;
24
28
 
25
29
  @IsEnum(CloudProvider)
26
30
  cloudProvider: CloudProvider;
@@ -29,7 +33,7 @@ export class AllocateLudeoResourceRequestPayload {
29
33
  requestData: AllocationRequestData;
30
34
 
31
35
  @ValidateNestedType(() => GameResourceSettings)
32
- gameResourceSettings: GameResourceSettings;
36
+ gameResourceSettings: GameResourceSettings<K>;
33
37
 
34
38
  @ValidateNestedType(() => LudeoResourceSettings)
35
39
  ludeoResourceSettings: LudeoResourceSettings;
@@ -2,7 +2,10 @@ import { IsUUID } from "class-validator";
2
2
 
3
3
  import { LudeoEvent } from "../../infra";
4
4
  import { ValidateNestedType } from "../../decorators";
5
- import { AWSResourceProviderSettings } from "../types";
5
+ import {
6
+ CloudResourceProviderSettings,
7
+ getResourceProviderSettingsType,
8
+ } from "../types";
6
9
 
7
10
  export class AwsReactivateStreamSessionTaskPayload {
8
11
  @IsUUID()
@@ -11,8 +14,8 @@ export class AwsReactivateStreamSessionTaskPayload {
11
14
  @IsUUID()
12
15
  gamePoolId: string;
13
16
 
14
- @ValidateNestedType(() => AWSResourceProviderSettings)
15
- providerSettings: AWSResourceProviderSettings;
17
+ @ValidateNestedType(getResourceProviderSettingsType)
18
+ providerSettings: CloudResourceProviderSettings;
16
19
  }
17
20
 
18
21
  export class AwsReactivateStreamSessionTask extends LudeoEvent {
@@ -3,14 +3,17 @@ import { ValidateNestedType } from "../../decorators";
3
3
  import { CreateGameResourceRequestPayload } from "./create-game-resource-request";
4
4
  import { IsString } from "class-validator";
5
5
  import { CloudResourceContext } from "../contexts";
6
- import { AWSResourceProviderSettings } from "../types";
6
+ import {
7
+ CloudResourceProviderSettings,
8
+ getResourceProviderSettingsType,
9
+ } from "../types";
7
10
 
8
11
  export class AwsStreamSessionActivePayload {
9
12
  @ValidateNestedType(() => CreateGameResourceRequestPayload)
10
13
  creationPayload: CreateGameResourceRequestPayload;
11
14
 
12
- @ValidateNestedType(() => AWSResourceProviderSettings)
13
- providerSettings: AWSResourceProviderSettings;
15
+ @ValidateNestedType(getResourceProviderSettingsType)
16
+ providerSettings: CloudResourceProviderSettings;
14
17
 
15
18
  @IsString()
16
19
  streamSessionId: string;
@@ -21,7 +24,7 @@ export class AwsStreamSessionActive extends LudeoEvent {
21
24
 
22
25
  constructor(
23
26
  payload: AwsStreamSessionActivePayload,
24
- context: CloudResourceContext,
27
+ context: CloudResourceContext
25
28
  ) {
26
29
  super(AwsStreamSessionActive.EVENT_NAME);
27
30
  this.payload = payload;
@@ -2,7 +2,10 @@ import { IsUUID } from "class-validator";
2
2
 
3
3
  import { LudeoEvent } from "../../infra";
4
4
  import { ValidateNestedType } from "../../decorators";
5
- import { AWSResourceProviderSettings } from "../types";
5
+ import {
6
+ CloudResourceProviderSettings,
7
+ getResourceProviderSettingsType,
8
+ } from "../types";
6
9
 
7
10
  export class AwsStreamSessionReactivationStartedPayload {
8
11
  @IsUUID()
@@ -11,8 +14,8 @@ export class AwsStreamSessionReactivationStartedPayload {
11
14
  @IsUUID()
12
15
  gamePoolId: string;
13
16
 
14
- @ValidateNestedType(() => AWSResourceProviderSettings)
15
- providerSettings: AWSResourceProviderSettings;
17
+ @ValidateNestedType(getResourceProviderSettingsType)
18
+ providerSettings: CloudResourceProviderSettings;
16
19
  }
17
20
 
18
21
  export class AwsStreamSessionReactivationStarted extends LudeoEvent {
@@ -4,20 +4,22 @@ 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 CreateGameResourceRequestPayload {
12
+ export class CreateGameResourceRequestPayload<
13
+ T extends CloudProviderSettings = CloudProviderSettings
14
+ > {
13
15
  @IsUUID()
14
16
  gameResourceId: string;
15
17
 
16
18
  @IsUUID()
17
19
  gamePoolId: string;
18
20
 
19
- @ValidateNestedType(() => AWSProviderSettings)
20
- providerSettings: CloudProviderSettings;
21
+ @ValidateNestedType(getProviderSettingsType)
22
+ providerSettings: T;
21
23
 
22
24
  @IsEnum(CloudProvider)
23
25
  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 CreateMachineResourceBatchRequestPayload {
12
+ export class CreateMachineResourceBatchRequestPayload<
13
+ T extends CloudProviderSettings = CloudProviderSettings
14
+ > {
13
15
  @IsArray()
14
16
  machineResourceIds: string[];
15
17
 
@@ -19,8 +21,8 @@ export class CreateMachineResourceBatchRequestPayload {
19
21
  @IsEnum(CloudProvider)
20
22
  cloudProvider: CloudProvider;
21
23
 
22
- @ValidateNestedType(() => AWSProviderSettings)
23
- cloudProviderSettings: CloudProviderSettings;
24
+ @ValidateNestedType(getProviderSettingsType)
25
+ cloudProviderSettings: T;
24
26
  }
25
27
 
26
28
  export class CreateMachineResourceBatchRequest 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 CreateMachineResourceRequestPayload {
12
+ export class CreateMachineResourceRequestPayload<
13
+ T extends CloudProviderSettings = CloudProviderSettings
14
+ > {
13
15
  @IsUUID()
14
16
  machineResourceId: string;
15
17
 
@@ -19,8 +21,8 @@ export class CreateMachineResourceRequestPayload {
19
21
  @IsEnum(CloudProvider)
20
22
  cloudProvider: CloudProvider;
21
23
 
22
- @ValidateNestedType(() => AWSProviderSettings)
23
- cloudProviderSettings: CloudProviderSettings;
24
+ @ValidateNestedType(getProviderSettingsType)
25
+ cloudProviderSettings: T;
24
26
  }
25
27
 
26
28
  export class CreateMachineResourceRequest extends LudeoEvent {
@@ -1,16 +1,20 @@
1
1
  import { CloudResourceContext } from "../contexts";
2
2
  import { LudeoEvent } from "../../infra/ludeo-event";
3
3
  import {
4
- AWSProviderSettings,
5
4
  CloudProvider,
6
5
  CloudProviderSettings,
6
+ CloudResourceProviderSettings,
7
7
  GameResourceSettings,
8
+ getProviderSettingsType,
8
9
  } from "../types";
9
10
  import { ValidateNestedType } from "../../decorators/validate-nested-type.decorator";
10
11
  import { IsEnum, IsUUID, IsOptional } from "class-validator";
11
12
  import { IsUUIDOrEmpty } from "../../decorators/is-uuid-or-empty.decorator";
12
13
 
13
- export class GameAllocatedResponsePayload {
14
+ export class GameAllocatedResponsePayload<
15
+ T extends CloudProviderSettings = CloudProviderSettings,
16
+ K extends CloudResourceProviderSettings = CloudResourceProviderSettings
17
+ > {
14
18
  @IsUUID()
15
19
  gameResourceId: string;
16
20
 
@@ -27,14 +31,14 @@ export class GameAllocatedResponsePayload {
27
31
  @IsUUIDOrEmpty()
28
32
  ludeoId?: string;
29
33
 
30
- @ValidateNestedType(() => AWSProviderSettings)
31
- providerSettings: CloudProviderSettings;
34
+ @ValidateNestedType(getProviderSettingsType)
35
+ providerSettings: T;
32
36
 
33
37
  @IsUUID()
34
38
  gameId: string;
35
39
 
36
40
  @ValidateNestedType(() => GameResourceSettings)
37
- gameResourceSettings: GameResourceSettings;
41
+ gameResourceSettings: GameResourceSettings<K>;
38
42
 
39
43
  @IsEnum(CloudProvider)
40
44
  cloudProvider: CloudProvider;
@@ -1,15 +1,23 @@
1
1
  import { LudeoEvent } from "../../infra";
2
2
  import { ValidateNestedType } from "../../decorators";
3
3
  import { CloudResourceContext } from "../contexts";
4
- import { GameResourceSettings } from "../types";
4
+ import {
5
+ CloudProviderSettings,
6
+ CloudResourceProviderSettings,
7
+ GameResourceSettings,
8
+ getResourceProviderSettingsType,
9
+ } from "../types";
5
10
  import { CreateGameResourceRequestPayload } from "./create-game-resource-request";
6
11
 
7
- export class GameResourceReadyForCreationPayload {
8
- @ValidateNestedType(() => CreateGameResourceRequestPayload)
9
- creationPayload: CreateGameResourceRequestPayload;
12
+ export class GameResourceReadyForCreationPayload<
13
+ T extends CloudProviderSettings = CloudProviderSettings,
14
+ K extends CloudResourceProviderSettings = CloudResourceProviderSettings
15
+ > {
16
+ @ValidateNestedType(() => CreateGameResourceRequestPayload<T>)
17
+ creationPayload: CreateGameResourceRequestPayload<T>;
10
18
 
11
- @ValidateNestedType(() => GameResourceSettings)
12
- gameResourceSettings: GameResourceSettings;
19
+ @ValidateNestedType(getResourceProviderSettingsType)
20
+ gameResourceSettings: GameResourceSettings<K>;
13
21
  }
14
22
 
15
23
  export class GameResourceReadyForCreation extends LudeoEvent {
@@ -1,7 +1,11 @@
1
1
  import { IsOptional, IsString, IsUUID } from "class-validator";
2
2
  import { LudeoEvent } from "../../infra/ludeo-event";
3
3
  import { CloudResourceContext } from "../contexts/cloud-resource-context";
4
- import { AWSResourceProviderSettings, CloudResourceStatus } from "../types";
4
+ import {
5
+ CloudResourceProviderSettings,
6
+ CloudResourceStatus,
7
+ getResourceProviderSettingsType,
8
+ } from "../types";
5
9
  import { ValidateNestedType } from "../../decorators/validate-nested-type.decorator";
6
10
 
7
11
  export class GameResourceStatusChangedEventPayload {
@@ -11,8 +15,8 @@ export class GameResourceStatusChangedEventPayload {
11
15
  @IsUUID()
12
16
  gamePoolId: string;
13
17
 
14
- @ValidateNestedType(() => AWSResourceProviderSettings)
15
- providerSettings: AWSResourceProviderSettings;
18
+ @ValidateNestedType(getResourceProviderSettingsType)
19
+ providerSettings: CloudResourceProviderSettings;
16
20
 
17
21
  @IsString()
18
22
  status: CloudResourceStatus;
@@ -32,7 +36,7 @@ export class GameResourceStatusChangedEvent extends LudeoEvent {
32
36
 
33
37
  constructor(
34
38
  payload: GameResourceStatusChangedEventPayload,
35
- context: CloudResourceContext,
39
+ context: CloudResourceContext
36
40
  ) {
37
41
  super(GameResourceStatusChangedEvent.EVENT_NAME);
38
42
  this.payload = payload;