@ludeo/cloud-common 1.2.233 → 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,6 +11,7 @@ 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,
@@ -70,5 +71,11 @@ exports.CLOUD_SETTINGS_DEFAULT_VALUES = {
70
71
  displayKey: "Machine Class Priority",
71
72
  defaultValue: exports.MACHINE_CLASS_PRIORITY_DEFAULT_VALUES
72
73
  },
74
+ [CloudSettingsKeys.SPOT_PREFERENCE]: {
75
+ type: "boolean",
76
+ key: CloudSettingsKeys.SPOT_PREFERENCE,
77
+ displayKey: "Spot Preference",
78
+ defaultValue: false,
79
+ },
73
80
  };
74
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,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;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"}
@@ -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.233",
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,6 +20,7 @@ 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
 
@@ -80,6 +82,12 @@ export type CloudSettingConfig =
80
82
  key: CloudSettingsKeys;
81
83
  displayKey: string;
82
84
  defaultValue: LudeoCastV2MachineClass[];
85
+ }
86
+ | {
87
+ type: "boolean";
88
+ key: CloudSettingsKeys;
89
+ displayKey: string;
90
+ defaultValue: boolean;
83
91
  };
84
92
 
85
93
  export const CLOUD_SETTINGS_DEFAULT_VALUES: Record<
@@ -128,4 +136,10 @@ export const CLOUD_SETTINGS_DEFAULT_VALUES: Record<
128
136
  displayKey: "Machine Class Priority",
129
137
  defaultValue: MACHINE_CLASS_PRIORITY_DEFAULT_VALUES
130
138
  },
139
+ [CloudSettingsKeys.SPOT_PREFERENCE]: {
140
+ type: "boolean",
141
+ key: CloudSettingsKeys.SPOT_PREFERENCE,
142
+ displayKey: "Spot Preference",
143
+ defaultValue: false,
144
+ },
131
145
  };
@@ -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
  }