@ludeo/cloud-common 1.2.232 → 1.2.234-beta-yahil-1

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.
@@ -7,6 +7,7 @@ export declare class SupportedSiteRegionData {
7
7
  country: string;
8
8
  region: string;
9
9
  machineClasses?: string[];
10
+ spotMachineClasses?: string[];
10
11
  }
11
12
  export declare class SupportedSitesPayload {
12
13
  sites: Record<string, SupportedSiteRegionData>;
@@ -46,6 +46,12 @@ __decorate([
46
46
  (0, class_validator_1.IsString)({ each: true }),
47
47
  __metadata("design:type", Array)
48
48
  ], SupportedSiteRegionData.prototype, "machineClasses", void 0);
49
+ __decorate([
50
+ (0, class_validator_1.IsOptional)(),
51
+ (0, class_validator_1.IsArray)(),
52
+ (0, class_validator_1.IsString)({ each: true }),
53
+ __metadata("design:type", Array)
54
+ ], SupportedSiteRegionData.prototype, "spotMachineClasses", void 0);
49
55
  class SupportedSitesPayload {
50
56
  }
51
57
  exports.SupportedSitesPayload = SupportedSitesPayload;
@@ -1 +1 @@
1
- {"version":3,"file":"supported-sites.js","sourceRoot":"","sources":["../../../../src/v4/events/provisioner/supported-sites.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAA4C;AAC5C,oDAAyD;AACzD,qDAA0E;AAE1E,MAAa,uBAAuB;CAuBnC;AAvBD,0DAuBC;AArBC;IADC,IAAA,0BAAQ,GAAE;;mDACA;AAGX;IADC,IAAA,0BAAQ,GAAE;;yDACM;AAGjB;IADC,IAAA,0BAAQ,GAAE;;0DACO;AAGlB;IADC,IAAA,0BAAQ,GAAE;;qDACE;AAGb;IADC,IAAA,0BAAQ,GAAE;;wDACK;AAGhB;IADC,IAAA,0BAAQ,GAAE;;uDACI;AAKf;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,yBAAO,GAAE;IACT,IAAA,0BAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;+DACC;AAG5B,MAAa,qBAAqB;CAGjC;AAHD,sDAGC;AADC;IADC,IAAA,+BAAkB,EAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC;;oDACH;AAGjD,MAAa,cAAe,SAAQ,kBAAU;IAG5C,YAAY,OAA8B;QACxC,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;;AANH,wCAUC;AATiB,yBAAU,GAAG,6BAA6B,CAAC;AAQ3D;IADC,IAAA,+BAAkB,EAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC;8BACvC,qBAAqB;+CAAC"}
1
+ {"version":3,"file":"supported-sites.js","sourceRoot":"","sources":["../../../../src/v4/events/provisioner/supported-sites.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAA4C;AAC5C,oDAAyD;AACzD,qDAA0E;AAE1E,MAAa,uBAAuB;CA4BnC;AA5BD,0DA4BC;AA1BC;IADC,IAAA,0BAAQ,GAAE;;mDACA;AAGX;IADC,IAAA,0BAAQ,GAAE;;yDACM;AAGjB;IADC,IAAA,0BAAQ,GAAE;;0DACO;AAGlB;IADC,IAAA,0BAAQ,GAAE;;qDACE;AAGb;IADC,IAAA,0BAAQ,GAAE;;wDACK;AAGhB;IADC,IAAA,0BAAQ,GAAE;;uDACI;AAKf;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,yBAAO,GAAE;IACT,IAAA,0BAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;+DACC;AAK1B;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,yBAAO,GAAE;IACT,IAAA,0BAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;mEACK;AAGhC,MAAa,qBAAqB;CAGjC;AAHD,sDAGC;AADC;IADC,IAAA,+BAAkB,EAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC;;oDACH;AAGjD,MAAa,cAAe,SAAQ,kBAAU;IAG5C,YAAY,OAA8B;QACxC,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;;AANH,wCAUC;AATiB,yBAAU,GAAG,6BAA6B,CAAC;AAQ3D;IADC,IAAA,+BAAkB,EAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC;8BACvC,qBAAqB;+CAAC"}
@@ -6,7 +6,8 @@ export declare enum CloudSettingsKeys {
6
6
  POST_GAME_LOAD_DELAY = "postGameLoadDelay",
7
7
  ADDITIONAL_LAUNCH_ARGS = "additionalLaunchArgs",
8
8
  ADDITIONAL_ENVIRONMENT_VARIABLES = "additionalEnvironmentVariables",
9
- MACHINE_CLASS_PRIORITY = "machineClassPriority"
9
+ MACHINE_CLASS_PRIORITY = "machineClassPriority",
10
+ SPOT_PREFERENCE = "spotPreference"
10
11
  }
11
12
  export interface CloudSettingsTypeMap {
12
13
  [CloudSettingsKeys.GAME_LOADING_TIME]: number;
@@ -16,6 +17,7 @@ export interface CloudSettingsTypeMap {
16
17
  [CloudSettingsKeys.ADDITIONAL_LAUNCH_ARGS]: string[];
17
18
  [CloudSettingsKeys.ADDITIONAL_ENVIRONMENT_VARIABLES]: Record<string, string>;
18
19
  [CloudSettingsKeys.MACHINE_CLASS_PRIORITY]: LudeoCastV2MachineClass[];
20
+ [CloudSettingsKeys.SPOT_PREFERENCE]: boolean;
19
21
  }
20
22
  export declare const MACHINE_CLASS_PRIORITY_DEFAULT_VALUES: LudeoCastV2MachineClass[];
21
23
  export type CloudSettings = {
@@ -47,5 +49,10 @@ export type CloudSettingConfig = {
47
49
  key: CloudSettingsKeys;
48
50
  displayKey: string;
49
51
  defaultValue: LudeoCastV2MachineClass[];
52
+ } | {
53
+ type: "boolean";
54
+ key: CloudSettingsKeys;
55
+ displayKey: string;
56
+ defaultValue: boolean;
50
57
  };
51
58
  export declare const CLOUD_SETTINGS_DEFAULT_VALUES: Record<CloudSettingsKeys, CloudSettingConfig>;
@@ -11,11 +11,16 @@ var CloudSettingsKeys;
11
11
  CloudSettingsKeys["ADDITIONAL_LAUNCH_ARGS"] = "additionalLaunchArgs";
12
12
  CloudSettingsKeys["ADDITIONAL_ENVIRONMENT_VARIABLES"] = "additionalEnvironmentVariables";
13
13
  CloudSettingsKeys["MACHINE_CLASS_PRIORITY"] = "machineClassPriority";
14
+ CloudSettingsKeys["SPOT_PREFERENCE"] = "spotPreference";
14
15
  })(CloudSettingsKeys || (exports.CloudSettingsKeys = CloudSettingsKeys = {}));
15
16
  exports.MACHINE_CLASS_PRIORITY_DEFAULT_VALUES = [
16
17
  ludeocast_v2_1.LudeoCastV2MachineClass.N1_STANDARD_8,
18
+ ludeocast_v2_1.LudeoCastV2MachineClass.G4DN_2XLARGE,
17
19
  ludeocast_v2_1.LudeoCastV2MachineClass.N1_STANDARD_16,
20
+ ludeocast_v2_1.LudeoCastV2MachineClass.G4DN_2XLARGE,
18
21
  ludeocast_v2_1.LudeoCastV2MachineClass.G2_STANDARD_16,
22
+ ludeocast_v2_1.LudeoCastV2MachineClass.G6_2XLARGE,
23
+ ludeocast_v2_1.LudeoCastV2MachineClass.G6_4XLARGE,
19
24
  ludeocast_v2_1.LudeoCastV2MachineClass.G4_STANDARD_48,
20
25
  ];
21
26
  const getCloudSettingsByKey = (key, cloudSettings) => {
@@ -66,5 +71,11 @@ exports.CLOUD_SETTINGS_DEFAULT_VALUES = {
66
71
  displayKey: "Machine Class Priority",
67
72
  defaultValue: exports.MACHINE_CLASS_PRIORITY_DEFAULT_VALUES
68
73
  },
74
+ [CloudSettingsKeys.SPOT_PREFERENCE]: {
75
+ type: "boolean",
76
+ key: CloudSettingsKeys.SPOT_PREFERENCE,
77
+ displayKey: "Spot Preference",
78
+ defaultValue: false,
79
+ },
69
80
  };
70
81
  //# sourceMappingURL=cloud-configuration-settings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cloud-configuration-settings.js","sourceRoot":"","sources":["../../../../src/v4/types/cloud/cloud-configuration-settings.ts"],"names":[],"mappings":";;;AAAA,iDAAyD;AAEzD,IAAY,iBAQX;AARD,WAAY,iBAAiB;IAC3B,0DAAqC,CAAA;IACrC,iEAA4C,CAAA;IAC5C,uEAAkD,CAAA;IAClD,+DAA0C,CAAA;IAC1C,oEAA+C,CAAA;IAC/C,wFAAmE,CAAA;IACnE,oEAA+C,CAAA;AACjD,CAAC,EARW,iBAAiB,iCAAjB,iBAAiB,QAQ5B;AAcY,QAAA,qCAAqC,GAAG;IACnD,sCAAuB,CAAC,aAAa;IACrC,sCAAuB,CAAC,cAAc;IACtC,sCAAuB,CAAC,cAAc;IACtC,sCAAuB,CAAC,cAAc;CACvC,CAAC;AAQK,MAAM,qBAAqB,GAAG,CACnC,GAAM,EACN,aAA4B,EACH,EAAE;IAC3B,OAAO,CACL,aAAa,CAAC,GAAG,CAAC;QACjB,qCAA6B,CAAC,GAAG,CAAC,CAAC,YAAwC,CAC7E,CAAC;AACJ,CAAC,CAAC;AARW,QAAA,qBAAqB,yBAQhC;AAmCW,QAAA,6BAA6B,GAGtC;IACF,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,EAAE;QACrC,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,iBAAiB,CAAC,iBAAiB;QACxC,UAAU,EAAE,wBAAwB;QACpC,YAAY,EAAE,MAAM;KACrB;IACD,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,EAAE;QACzC,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,iBAAiB,CAAC,qBAAqB;QAC5C,UAAU,EAAE,4BAA4B;QACxC,YAAY,EAAE,KAAK;KACpB;IACD,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,EAAE;QAC5C,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,iBAAiB,CAAC,wBAAwB;QAC/C,UAAU,EAAE,+BAA+B;QAC3C,YAAY,EAAE,KAAK;KACpB;IACD,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,EAAE;QACxC,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,iBAAiB,CAAC,oBAAoB;QAC3C,UAAU,EAAE,2BAA2B;QACvC,YAAY,EAAE,CAAC;KAChB;IACD,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,EAAE;QAC1C,IAAI,EAAE,OAAO;QACb,GAAG,EAAE,iBAAiB,CAAC,sBAAsB;QAC7C,UAAU,EAAE,wBAAwB;QACpC,YAAY,EAAE,EAAE;KACjB;IACD,CAAC,iBAAiB,CAAC,gCAAgC,CAAC,EAAE;QACpD,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,iBAAiB,CAAC,gCAAgC;QACvD,UAAU,EAAE,kCAAkC;QAC9C,YAAY,EAAE,EAAE;KACjB;IACD,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,EAAE;QAC1C,IAAI,EAAE,OAAO;QACb,GAAG,EAAE,iBAAiB,CAAC,sBAAsB;QAC7C,UAAU,EAAE,wBAAwB;QACpC,YAAY,EAAE,6CAAqC;KACpD;CACF,CAAC"}
1
+ {"version":3,"file":"cloud-configuration-settings.js","sourceRoot":"","sources":["../../../../src/v4/types/cloud/cloud-configuration-settings.ts"],"names":[],"mappings":";;;AAAA,iDAAyD;AAEzD,IAAY,iBASX;AATD,WAAY,iBAAiB;IAC3B,0DAAqC,CAAA;IACrC,iEAA4C,CAAA;IAC5C,uEAAkD,CAAA;IAClD,+DAA0C,CAAA;IAC1C,oEAA+C,CAAA;IAC/C,wFAAmE,CAAA;IACnE,oEAA+C,CAAA;IAC/C,uDAAkC,CAAA;AACpC,CAAC,EATW,iBAAiB,iCAAjB,iBAAiB,QAS5B;AAeY,QAAA,qCAAqC,GAAG;IACnD,sCAAuB,CAAC,aAAa;IACrC,sCAAuB,CAAC,YAAY;IACpC,sCAAuB,CAAC,cAAc;IACtC,sCAAuB,CAAC,YAAY;IACpC,sCAAuB,CAAC,cAAc;IACtC,sCAAuB,CAAC,UAAU;IAClC,sCAAuB,CAAC,UAAU;IAClC,sCAAuB,CAAC,cAAc;CACvC,CAAC;AAQK,MAAM,qBAAqB,GAAG,CACnC,GAAM,EACN,aAA4B,EACH,EAAE;IAC3B,OAAO,CACL,aAAa,CAAC,GAAG,CAAC;QACjB,qCAA6B,CAAC,GAAG,CAAC,CAAC,YAAwC,CAC7E,CAAC;AACJ,CAAC,CAAC;AARW,QAAA,qBAAqB,yBAQhC;AAyCW,QAAA,6BAA6B,GAGtC;IACF,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,EAAE;QACrC,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,iBAAiB,CAAC,iBAAiB;QACxC,UAAU,EAAE,wBAAwB;QACpC,YAAY,EAAE,MAAM;KACrB;IACD,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,EAAE;QACzC,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,iBAAiB,CAAC,qBAAqB;QAC5C,UAAU,EAAE,4BAA4B;QACxC,YAAY,EAAE,KAAK;KACpB;IACD,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,EAAE;QAC5C,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,iBAAiB,CAAC,wBAAwB;QAC/C,UAAU,EAAE,+BAA+B;QAC3C,YAAY,EAAE,KAAK;KACpB;IACD,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,EAAE;QACxC,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,iBAAiB,CAAC,oBAAoB;QAC3C,UAAU,EAAE,2BAA2B;QACvC,YAAY,EAAE,CAAC;KAChB;IACD,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,EAAE;QAC1C,IAAI,EAAE,OAAO;QACb,GAAG,EAAE,iBAAiB,CAAC,sBAAsB;QAC7C,UAAU,EAAE,wBAAwB;QACpC,YAAY,EAAE,EAAE;KACjB;IACD,CAAC,iBAAiB,CAAC,gCAAgC,CAAC,EAAE;QACpD,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,iBAAiB,CAAC,gCAAgC;QACvD,UAAU,EAAE,kCAAkC;QAC9C,YAAY,EAAE,EAAE;KACjB;IACD,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,EAAE;QAC1C,IAAI,EAAE,OAAO;QACb,GAAG,EAAE,iBAAiB,CAAC,sBAAsB;QAC7C,UAAU,EAAE,wBAAwB;QACpC,YAAY,EAAE,6CAAqC;KACpD;IACD,CAAC,iBAAiB,CAAC,eAAe,CAAC,EAAE;QACnC,IAAI,EAAE,SAAS;QACf,GAAG,EAAE,iBAAiB,CAAC,eAAe;QACtC,UAAU,EAAE,iBAAiB;QAC7B,YAAY,EAAE,KAAK;KACpB;CACF,CAAC"}
@@ -2,5 +2,9 @@ export declare enum LudeoCastV2MachineClass {
2
2
  N1_STANDARD_8 = "n1-standard-8",
3
3
  N1_STANDARD_16 = "n1-standard-16",
4
4
  G2_STANDARD_16 = "g2-standard-16",
5
- G4_STANDARD_48 = "g4-standard-48"
5
+ G4_STANDARD_48 = "g4-standard-48",
6
+ G4DN_2XLARGE = "g4dn.2xlarge",
7
+ G4DN_4XLARGE = "g4dn.4xlarge",
8
+ G6_2XLARGE = "g6.2xlarge",
9
+ G6_4XLARGE = "g6.4xlarge"
6
10
  }
@@ -7,5 +7,9 @@ var LudeoCastV2MachineClass;
7
7
  LudeoCastV2MachineClass["N1_STANDARD_16"] = "n1-standard-16";
8
8
  LudeoCastV2MachineClass["G2_STANDARD_16"] = "g2-standard-16";
9
9
  LudeoCastV2MachineClass["G4_STANDARD_48"] = "g4-standard-48";
10
+ LudeoCastV2MachineClass["G4DN_2XLARGE"] = "g4dn.2xlarge";
11
+ LudeoCastV2MachineClass["G4DN_4XLARGE"] = "g4dn.4xlarge";
12
+ LudeoCastV2MachineClass["G6_2XLARGE"] = "g6.2xlarge";
13
+ LudeoCastV2MachineClass["G6_4XLARGE"] = "g6.4xlarge";
10
14
  })(LudeoCastV2MachineClass || (exports.LudeoCastV2MachineClass = LudeoCastV2MachineClass = {}));
11
15
  //# sourceMappingURL=machine-class.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"machine-class.js","sourceRoot":"","sources":["../../../../../src/v4/types/cloud/ludeocast-v2/machine-class.ts"],"names":[],"mappings":";;;AAAA,IAAY,uBAKX;AALD,WAAY,uBAAuB;IACjC,0DAA+B,CAAA;IAC/B,4DAAiC,CAAA;IACjC,4DAAiC,CAAA;IACjC,4DAAiC,CAAA;AACnC,CAAC,EALW,uBAAuB,uCAAvB,uBAAuB,QAKlC"}
1
+ {"version":3,"file":"machine-class.js","sourceRoot":"","sources":["../../../../../src/v4/types/cloud/ludeocast-v2/machine-class.ts"],"names":[],"mappings":";;;AAAA,IAAY,uBAWX;AAXD,WAAY,uBAAuB;IAEjC,0DAA+B,CAAA;IAC/B,4DAAiC,CAAA;IACjC,4DAAiC,CAAA;IACjC,4DAAiC,CAAA;IAEjC,wDAA6B,CAAA;IAC7B,wDAA6B,CAAA;IAC7B,oDAAyB,CAAA;IACzB,oDAAyB,CAAA;AAC3B,CAAC,EAXW,uBAAuB,uCAAvB,uBAAuB,QAWlC"}
@@ -9,5 +9,6 @@ export declare class LudeoCastV2ProviderSettings {
9
9
  additionalEnvironmentVariables?: Record<string, string>;
10
10
  additionalLaunchArgs?: string[];
11
11
  distributionData?: LudeocastV2DistributionData;
12
+ isSpot?: boolean;
12
13
  }
13
14
  export declare const isLudeoCastV2ProviderSettings: (settings: CloudProviderSettings) => settings is LudeoCastV2ProviderSettings;
@@ -1 +1 @@
1
- {"version":3,"file":"provider-settings.js","sourceRoot":"","sources":["../../../../../src/v4/types/cloud/ludeocast-v2/provider-settings.ts"],"names":[],"mappings":";;;AAGA,MAAa,2BAA2B;CAgBvC;AAhBD,kEAgBC;AAEM,MAAM,6BAA6B,GAAG,CAC3C,QAA+B,EACU,EAAE;IAC3C,OAAO,CACL,QAAQ;QACR,MAAM,IAAI,QAAQ;QAClB,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAClC,CAAC;AACJ,CAAC,CAAC;AARW,QAAA,6BAA6B,iCAQxC"}
1
+ {"version":3,"file":"provider-settings.js","sourceRoot":"","sources":["../../../../../src/v4/types/cloud/ludeocast-v2/provider-settings.ts"],"names":[],"mappings":";;;AAGA,MAAa,2BAA2B;CAkBvC;AAlBD,kEAkBC;AAEM,MAAM,6BAA6B,GAAG,CAC3C,QAA+B,EACU,EAAE;IAC3C,OAAO,CACL,QAAQ;QACR,MAAM,IAAI,QAAQ;QAClB,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAClC,CAAC;AACJ,CAAC,CAAC;AARW,QAAA,6BAA6B,iCAQxC"}
@@ -4,5 +4,6 @@ export declare class CreateMachineRequestDto {
4
4
  region: string;
5
5
  machineMode: MachineMode;
6
6
  machineType: string;
7
+ useSpot?: boolean;
7
8
  metadata?: Record<string, string>;
8
9
  }
@@ -31,6 +31,11 @@ __decorate([
31
31
  (0, class_validator_1.IsString)(),
32
32
  __metadata("design:type", String)
33
33
  ], CreateMachineRequestDto.prototype, "machineType", void 0);
34
+ __decorate([
35
+ (0, class_validator_1.IsOptional)(),
36
+ (0, class_validator_1.IsBoolean)(),
37
+ __metadata("design:type", Boolean)
38
+ ], CreateMachineRequestDto.prototype, "useSpot", void 0);
34
39
  __decorate([
35
40
  (0, class_validator_1.IsOptional)(),
36
41
  __metadata("design:type", Object)
@@ -1 +1 @@
1
- {"version":3,"file":"create-machine.dto.js","sourceRoot":"","sources":["../../../../src/v4/types/site-controller/create-machine.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA+D;AAE/D,mCAAsC;AAEtC,MAAa,uBAAuB;CAenC;AAfD,0DAeC;AAbC;IADC,IAAA,0BAAQ,GAAE;;kEACe;AAG1B;IADC,IAAA,0BAAQ,GAAE;;uDACI;AAGf;IADC,IAAA,wBAAM,EAAC,mBAAW,CAAC;;4DACK;AAGzB;IADC,IAAA,0BAAQ,GAAE;;4DACS;AAGpB;IADC,IAAA,4BAAU,GAAE;;yDACqB"}
1
+ {"version":3,"file":"create-machine.dto.js","sourceRoot":"","sources":["../../../../src/v4/types/site-controller/create-machine.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA0E;AAE1E,mCAAsC;AAEtC,MAAa,uBAAuB;CAmBnC;AAnBD,0DAmBC;AAjBC;IADC,IAAA,0BAAQ,GAAE;;kEACe;AAG1B;IADC,IAAA,0BAAQ,GAAE;;uDACI;AAGf;IADC,IAAA,wBAAM,EAAC,mBAAW,CAAC;;4DACK;AAGzB;IADC,IAAA,0BAAQ,GAAE;;4DACS;AAIpB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,GAAE;;wDACM;AAGlB;IADC,IAAA,4BAAU,GAAE;;yDACqB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ludeo/cloud-common",
3
- "version": "1.2.232",
3
+ "version": "1.2.234-beta-yahil-1",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "author": "Yahil Didi",
@@ -25,6 +25,11 @@ export class SupportedSiteRegionData {
25
25
  @IsArray()
26
26
  @IsString({ each: true })
27
27
  machineClasses?: string[];
28
+
29
+ @IsOptional()
30
+ @IsArray()
31
+ @IsString({ each: true })
32
+ spotMachineClasses?: string[];
28
33
  }
29
34
 
30
35
  export class SupportedSitesPayload {
@@ -8,6 +8,7 @@ export enum CloudSettingsKeys {
8
8
  ADDITIONAL_LAUNCH_ARGS = "additionalLaunchArgs",
9
9
  ADDITIONAL_ENVIRONMENT_VARIABLES = "additionalEnvironmentVariables",
10
10
  MACHINE_CLASS_PRIORITY = "machineClassPriority",
11
+ SPOT_PREFERENCE = "spotPreference",
11
12
  }
12
13
 
13
14
  // Define the mapping of setting keys to their actual value types
@@ -19,13 +20,18 @@ export interface CloudSettingsTypeMap {
19
20
  [CloudSettingsKeys.ADDITIONAL_LAUNCH_ARGS]: string[];
20
21
  [CloudSettingsKeys.ADDITIONAL_ENVIRONMENT_VARIABLES]: Record<string, string>;
21
22
  [CloudSettingsKeys.MACHINE_CLASS_PRIORITY]: LudeoCastV2MachineClass[];
23
+ [CloudSettingsKeys.SPOT_PREFERENCE]: boolean;
22
24
  }
23
25
 
24
26
 
25
27
  export const MACHINE_CLASS_PRIORITY_DEFAULT_VALUES = [
26
28
  LudeoCastV2MachineClass.N1_STANDARD_8,
29
+ LudeoCastV2MachineClass.G4DN_2XLARGE,
27
30
  LudeoCastV2MachineClass.N1_STANDARD_16,
31
+ LudeoCastV2MachineClass.G4DN_2XLARGE,
28
32
  LudeoCastV2MachineClass.G2_STANDARD_16,
33
+ LudeoCastV2MachineClass.G6_2XLARGE,
34
+ LudeoCastV2MachineClass.G6_4XLARGE,
29
35
  LudeoCastV2MachineClass.G4_STANDARD_48,
30
36
  ];
31
37
 
@@ -76,6 +82,12 @@ export type CloudSettingConfig =
76
82
  key: CloudSettingsKeys;
77
83
  displayKey: string;
78
84
  defaultValue: LudeoCastV2MachineClass[];
85
+ }
86
+ | {
87
+ type: "boolean";
88
+ key: CloudSettingsKeys;
89
+ displayKey: string;
90
+ defaultValue: boolean;
79
91
  };
80
92
 
81
93
  export const CLOUD_SETTINGS_DEFAULT_VALUES: Record<
@@ -124,4 +136,10 @@ export const CLOUD_SETTINGS_DEFAULT_VALUES: Record<
124
136
  displayKey: "Machine Class Priority",
125
137
  defaultValue: MACHINE_CLASS_PRIORITY_DEFAULT_VALUES
126
138
  },
139
+ [CloudSettingsKeys.SPOT_PREFERENCE]: {
140
+ type: "boolean",
141
+ key: CloudSettingsKeys.SPOT_PREFERENCE,
142
+ displayKey: "Spot Preference",
143
+ defaultValue: false,
144
+ },
127
145
  };
@@ -1,6 +1,12 @@
1
1
  export enum LudeoCastV2MachineClass {
2
+ // GCP
2
3
  N1_STANDARD_8 = "n1-standard-8",
3
4
  N1_STANDARD_16 = "n1-standard-16",
4
5
  G2_STANDARD_16 = "g2-standard-16",
5
6
  G4_STANDARD_48 = "g4-standard-48",
7
+ // AWS
8
+ G4DN_2XLARGE = "g4dn.2xlarge",
9
+ G4DN_4XLARGE = "g4dn.4xlarge",
10
+ G6_2XLARGE = "g6.2xlarge",
11
+ G6_4XLARGE = "g6.4xlarge",
6
12
  }
@@ -17,6 +17,8 @@ export class LudeoCastV2ProviderSettings {
17
17
  additionalLaunchArgs?: string[];
18
18
 
19
19
  distributionData?: LudeocastV2DistributionData;
20
+
21
+ isSpot?: boolean;
20
22
  }
21
23
 
22
24
  export const isLudeoCastV2ProviderSettings = (
@@ -1,4 +1,4 @@
1
- import { IsEnum, IsOptional, IsString } from 'class-validator';
1
+ import { IsBoolean, IsEnum, IsOptional, IsString } from 'class-validator';
2
2
 
3
3
  import { MachineMode } from './types';
4
4
 
@@ -15,6 +15,10 @@ export class CreateMachineRequestDto {
15
15
  @IsString()
16
16
  machineType: string;
17
17
 
18
+ @IsOptional()
19
+ @IsBoolean()
20
+ useSpot?: boolean;
21
+
18
22
  @IsOptional()
19
23
  metadata?: Record<string, string>;
20
24
  }