@pulumi/spotinst 3.76.0-alpha.1713904914 → 3.76.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/azure/index.d.ts CHANGED
@@ -1,6 +1,3 @@
1
- export { ElastigroupArgs, ElastigroupState } from "./elastigroup";
2
- export type Elastigroup = import("./elastigroup").Elastigroup;
3
- export declare const Elastigroup: typeof import("./elastigroup").Elastigroup;
4
1
  export { OceanArgs, OceanState } from "./ocean";
5
2
  export type Ocean = import("./ocean").Ocean;
6
3
  export declare const Ocean: typeof import("./ocean").Ocean;
package/azure/index.js CHANGED
@@ -2,11 +2,9 @@
2
2
  // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
3
  // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.OceanVirtualNodeGroup = exports.OceanNpVirtualNodeGroup = exports.OceanNp = exports.Ocean = exports.Elastigroup = void 0;
5
+ exports.OceanVirtualNodeGroup = exports.OceanNpVirtualNodeGroup = exports.OceanNp = exports.Ocean = void 0;
6
6
  const pulumi = require("@pulumi/pulumi");
7
7
  const utilities = require("../utilities");
8
- exports.Elastigroup = null;
9
- utilities.lazyLoad(exports, ["Elastigroup"], () => require("./elastigroup"));
10
8
  exports.Ocean = null;
11
9
  utilities.lazyLoad(exports, ["Ocean"], () => require("./ocean"));
12
10
  exports.OceanNp = null;
@@ -19,8 +17,6 @@ const _module = {
19
17
  version: utilities.getVersion(),
20
18
  construct: (name, type, urn) => {
21
19
  switch (type) {
22
- case "spotinst:azure/elastigroup:Elastigroup":
23
- return new exports.Elastigroup(name, undefined, { urn });
24
20
  case "spotinst:azure/ocean:Ocean":
25
21
  return new exports.Ocean(name, undefined, { urn });
26
22
  case "spotinst:azure/oceanNp:OceanNp":
@@ -34,7 +30,6 @@ const _module = {
34
30
  }
35
31
  },
36
32
  };
37
- pulumi.runtime.registerResourceModule("spotinst", "azure/elastigroup", _module);
38
33
  pulumi.runtime.registerResourceModule("spotinst", "azure/ocean", _module);
39
34
  pulumi.runtime.registerResourceModule("spotinst", "azure/oceanNp", _module);
40
35
  pulumi.runtime.registerResourceModule("spotinst", "azure/oceanNpVirtualNodeGroup", _module);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../azure/index.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAK7B,QAAA,WAAW,GAA+C,IAAW,CAAC;AACnF,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;AAIhE,QAAA,KAAK,GAAmC,IAAW,CAAC;AACjE,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;AAIpD,QAAA,OAAO,GAAuC,IAAW,CAAC;AACvE,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;AAIxD,QAAA,uBAAuB,GAAuE,IAAW,CAAC;AACvH,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,yBAAyB,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,CAAC;AAIxF,QAAA,qBAAqB,GAAmE,IAAW,CAAC;AACjH,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,uBAAuB,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC;AAGjG,MAAM,OAAO,GAAG;IACZ,OAAO,EAAE,SAAS,CAAC,UAAU,EAAE;IAC/B,SAAS,EAAE,CAAC,IAAY,EAAE,IAAY,EAAE,GAAW,EAAmB,EAAE;QACpE,QAAQ,IAAI,EAAE;YACV,KAAK,wCAAwC;gBACzC,OAAO,IAAI,mBAAW,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YACzD,KAAK,4BAA4B;gBAC7B,OAAO,IAAI,aAAK,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YACnD,KAAK,gCAAgC;gBACjC,OAAO,IAAI,eAAO,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YACrD,KAAK,gEAAgE;gBACjE,OAAO,IAAI,+BAAuB,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YACrE,KAAK,4DAA4D;gBAC7D,OAAO,IAAI,6BAAqB,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YACnE;gBACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;SACxD;IACL,CAAC;CACJ,CAAC;AACF,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,UAAU,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAA;AAC/E,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,UAAU,EAAE,aAAa,EAAE,OAAO,CAAC,CAAA;AACzE,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,UAAU,EAAE,eAAe,EAAE,OAAO,CAAC,CAAA;AAC3E,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,UAAU,EAAE,+BAA+B,EAAE,OAAO,CAAC,CAAA;AAC3F,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,UAAU,EAAE,6BAA6B,EAAE,OAAO,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../azure/index.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAK7B,QAAA,KAAK,GAAmC,IAAW,CAAC;AACjE,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;AAIpD,QAAA,OAAO,GAAuC,IAAW,CAAC;AACvE,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;AAIxD,QAAA,uBAAuB,GAAuE,IAAW,CAAC;AACvH,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,yBAAyB,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,CAAC;AAIxF,QAAA,qBAAqB,GAAmE,IAAW,CAAC;AACjH,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,uBAAuB,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC;AAGjG,MAAM,OAAO,GAAG;IACZ,OAAO,EAAE,SAAS,CAAC,UAAU,EAAE;IAC/B,SAAS,EAAE,CAAC,IAAY,EAAE,IAAY,EAAE,GAAW,EAAmB,EAAE;QACpE,QAAQ,IAAI,EAAE;YACV,KAAK,4BAA4B;gBAC7B,OAAO,IAAI,aAAK,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YACnD,KAAK,gCAAgC;gBACjC,OAAO,IAAI,eAAO,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YACrD,KAAK,gEAAgE;gBACjE,OAAO,IAAI,+BAAuB,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YACrE,KAAK,4DAA4D;gBAC7D,OAAO,IAAI,6BAAqB,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YACnE;gBACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;SACxD;IACL,CAAC;CACJ,CAAC;AACF,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,UAAU,EAAE,aAAa,EAAE,OAAO,CAAC,CAAA;AACzE,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,UAAU,EAAE,eAAe,EAAE,OAAO,CAAC,CAAA;AAC3E,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,UAAU,EAAE,+BAA+B,EAAE,OAAO,CAAC,CAAA;AAC3F,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,UAAU,EAAE,6BAA6B,EAAE,OAAO,CAAC,CAAA"}
@@ -1,6 +1,32 @@
1
1
  import * as pulumi from "@pulumi/pulumi";
2
2
  import * as inputs from "../types/input";
3
3
  import * as outputs from "../types/output";
4
+ /**
5
+ * Manages a Spotinst Ocean AKS resource.
6
+ *
7
+ * ## Basic Ocean Cluster Creation Usage Example - using minimum configuration with only required parameters
8
+ *
9
+ * ```typescript
10
+ * import * as pulumi from "@pulumi/pulumi";
11
+ * import * as spotinst from "@pulumi/spotinst";
12
+ *
13
+ * const example = new spotinst.azure.OceanNp("example", {
14
+ * name: "test",
15
+ * aksRegion: "eastus",
16
+ * aksClusterName: "test-cluster",
17
+ * aksInfrastructureResourceGroupName: "MC_TestResourceGroup_test-cluster_eastus",
18
+ * aksResourceGroupName: "TestResourceGroup",
19
+ * controllerClusterId: "test-123124",
20
+ * availabilityZones: [
21
+ * "1",
22
+ * "2",
23
+ * "3",
24
+ * ],
25
+ * });
26
+ * ```
27
+ *
28
+ * ## Detailed Ocean Cluster Creation Usage Example - using all available parameters with sample values
29
+ */
4
30
  export declare class OceanNp extends pulumi.CustomResource {
5
31
  /**
6
32
  * Get an existing OceanNp resource's state with the given name, ID, and optional extra
@@ -21,34 +47,103 @@ export declare class OceanNp extends pulumi.CustomResource {
21
47
  readonly aksInfrastructureResourceGroupName: pulumi.Output<string>;
22
48
  readonly aksRegion: pulumi.Output<string>;
23
49
  readonly aksResourceGroupName: pulumi.Output<string>;
50
+ /**
51
+ * The Ocean Kubernetes Autoscaler object.
52
+ */
24
53
  readonly autoscaler: pulumi.Output<outputs.azure.OceanNpAutoscaler | undefined>;
54
+ /**
55
+ * An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
56
+ */
25
57
  readonly availabilityZones: pulumi.Output<string[]>;
58
+ /**
59
+ * Enter a unique Ocean cluster identifier. Cannot be updated. This needs to match with string that was used to install the controller in the cluster, typically clusterName + 8 digit string.
60
+ */
26
61
  readonly controllerClusterId: pulumi.Output<string>;
62
+ /**
63
+ * Enable node public IP.
64
+ */
27
65
  readonly enableNodePublicIp: pulumi.Output<boolean | undefined>;
66
+ /**
67
+ * If no spot VM markets are available, enable Ocean to launch regular (pay-as-you-go) nodes instead.
68
+ */
28
69
  readonly fallbackToOndemand: pulumi.Output<boolean | undefined>;
70
+ /**
71
+ * Filters for the VM sizes that can be launched from the virtual node group.
72
+ */
29
73
  readonly filters: pulumi.Output<outputs.azure.OceanNpFilters | undefined>;
74
+ /**
75
+ * Specify the custom headroom per VNG. Provide a list of headroom objects.
76
+ */
30
77
  readonly headrooms: pulumi.Output<outputs.azure.OceanNpHeadroom[] | undefined>;
78
+ /**
79
+ * The Ocean AKS Health object.
80
+ */
31
81
  readonly health: pulumi.Output<outputs.azure.OceanNpHealth | undefined>;
82
+ /**
83
+ * The desired Kubernetes version of the launched nodes. In case the value is null, the Kubernetes version of the control plane is used.
84
+ */
32
85
  readonly kubernetesVersion: pulumi.Output<string | undefined>;
86
+ /**
87
+ * An array of labels to add to the virtual node group. Only custom user labels are allowed, and not [Kubernetes well-known labels](https://kubernetes.io/docs/reference/labels-annotations-taints/) or [ Azure AKS labels](https://learn.microsoft.com/en-us/azure/aks/use-labels) or [Spot labels](https://docs.spot.io/ocean/features/labels-and-taints?id=spot-labels).
88
+ */
33
89
  readonly labels: pulumi.Output<{
34
90
  [key: string]: any;
35
91
  } | undefined>;
92
+ /**
93
+ * Maximum node count limit.
94
+ */
36
95
  readonly maxCount: pulumi.Output<number | undefined>;
96
+ /**
97
+ * The maximum number of pods per node in the node pools.
98
+ */
37
99
  readonly maxPodsPerNode: pulumi.Output<number | undefined>;
100
+ /**
101
+ * Minimum node count limit.
102
+ */
38
103
  readonly minCount: pulumi.Output<number | undefined>;
104
+ /**
105
+ * Add a name for the Ocean cluster.
106
+ */
39
107
  readonly name: pulumi.Output<string>;
108
+ /**
109
+ * The size of the OS disk in GB.
110
+ */
40
111
  readonly osDiskSizeGb: pulumi.Output<number | undefined>;
112
+ /**
113
+ * The type of the OS disk.
114
+ */
41
115
  readonly osDiskType: pulumi.Output<string | undefined>;
116
+ /**
117
+ * The OS SKU of the OS type. Must correlate with the os type.
118
+ */
42
119
  readonly osSku: pulumi.Output<string | undefined>;
120
+ /**
121
+ * The OS type of the OS disk. Can't be modified once set.
122
+ */
43
123
  readonly osType: pulumi.Output<string | undefined>;
124
+ /**
125
+ * The IDs of subnets in an existing VNet into which to assign pods in the cluster (requires azure network-plugin).
126
+ */
44
127
  readonly podSubnetIds: pulumi.Output<string[] | undefined>;
128
+ /**
129
+ * An object used to specify times when the cluster will turn off. Once the shutdown time will be over, the cluster will return to its previous state.
130
+ */
45
131
  readonly scheduling: pulumi.Output<outputs.azure.OceanNpScheduling | undefined>;
132
+ /**
133
+ * Percentage of spot VMs to maintain.
134
+ */
46
135
  readonly spotPercentage: pulumi.Output<number | undefined>;
47
136
  readonly tags: pulumi.Output<{
48
137
  [key: string]: any;
49
138
  } | undefined>;
139
+ /**
140
+ * Add taints to a virtual node group. Only custom user taints are allowed, and not [Kubernetes well-known taints](https://kubernetes.io/docs/reference/labels-annotations-taints/) or Azure AKS [ScaleSetPrioirty (Spot VM) taint](https://learn.microsoft.com/en-us/azure/aks/spot-node-pool). For all Spot VMs, AKS injects a taint kubernetes.azure.com/scalesetpriority=spot:NoSchedule, to ensure that only workloads that can handle interruptions are scheduled on Spot nodes. To [schedule a pod to run on Spot node](https://learn.microsoft.com/en-us/azure/aks/spot-node-pool#schedule-a-pod-to-run-on-the-spot-node), add a toleration but dont include the nodeAffinity (not supported for Spot Ocean), this will prevent the pod from being scheduled using Spot Ocean.
141
+ */
50
142
  readonly taints: pulumi.Output<outputs.azure.OceanNpTaint[] | undefined>;
51
143
  readonly updatePolicy: pulumi.Output<outputs.azure.OceanNpUpdatePolicy | undefined>;
144
+ /**
145
+ * The IDs of subnets in an existing VNet into which to assign nodes in the cluster (requires azure network-plugin).
146
+ */
52
147
  readonly vnetSubnetIds: pulumi.Output<string[] | undefined>;
53
148
  /**
54
149
  * Create a OceanNp resource with the given unique name, arguments, and options.
@@ -67,34 +162,103 @@ export interface OceanNpState {
67
162
  aksInfrastructureResourceGroupName?: pulumi.Input<string>;
68
163
  aksRegion?: pulumi.Input<string>;
69
164
  aksResourceGroupName?: pulumi.Input<string>;
165
+ /**
166
+ * The Ocean Kubernetes Autoscaler object.
167
+ */
70
168
  autoscaler?: pulumi.Input<inputs.azure.OceanNpAutoscaler>;
169
+ /**
170
+ * An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
171
+ */
71
172
  availabilityZones?: pulumi.Input<pulumi.Input<string>[]>;
173
+ /**
174
+ * Enter a unique Ocean cluster identifier. Cannot be updated. This needs to match with string that was used to install the controller in the cluster, typically clusterName + 8 digit string.
175
+ */
72
176
  controllerClusterId?: pulumi.Input<string>;
177
+ /**
178
+ * Enable node public IP.
179
+ */
73
180
  enableNodePublicIp?: pulumi.Input<boolean>;
181
+ /**
182
+ * If no spot VM markets are available, enable Ocean to launch regular (pay-as-you-go) nodes instead.
183
+ */
74
184
  fallbackToOndemand?: pulumi.Input<boolean>;
185
+ /**
186
+ * Filters for the VM sizes that can be launched from the virtual node group.
187
+ */
75
188
  filters?: pulumi.Input<inputs.azure.OceanNpFilters>;
189
+ /**
190
+ * Specify the custom headroom per VNG. Provide a list of headroom objects.
191
+ */
76
192
  headrooms?: pulumi.Input<pulumi.Input<inputs.azure.OceanNpHeadroom>[]>;
193
+ /**
194
+ * The Ocean AKS Health object.
195
+ */
77
196
  health?: pulumi.Input<inputs.azure.OceanNpHealth>;
197
+ /**
198
+ * The desired Kubernetes version of the launched nodes. In case the value is null, the Kubernetes version of the control plane is used.
199
+ */
78
200
  kubernetesVersion?: pulumi.Input<string>;
201
+ /**
202
+ * An array of labels to add to the virtual node group. Only custom user labels are allowed, and not [Kubernetes well-known labels](https://kubernetes.io/docs/reference/labels-annotations-taints/) or [ Azure AKS labels](https://learn.microsoft.com/en-us/azure/aks/use-labels) or [Spot labels](https://docs.spot.io/ocean/features/labels-and-taints?id=spot-labels).
203
+ */
79
204
  labels?: pulumi.Input<{
80
205
  [key: string]: any;
81
206
  }>;
207
+ /**
208
+ * Maximum node count limit.
209
+ */
82
210
  maxCount?: pulumi.Input<number>;
211
+ /**
212
+ * The maximum number of pods per node in the node pools.
213
+ */
83
214
  maxPodsPerNode?: pulumi.Input<number>;
215
+ /**
216
+ * Minimum node count limit.
217
+ */
84
218
  minCount?: pulumi.Input<number>;
219
+ /**
220
+ * Add a name for the Ocean cluster.
221
+ */
85
222
  name?: pulumi.Input<string>;
223
+ /**
224
+ * The size of the OS disk in GB.
225
+ */
86
226
  osDiskSizeGb?: pulumi.Input<number>;
227
+ /**
228
+ * The type of the OS disk.
229
+ */
87
230
  osDiskType?: pulumi.Input<string>;
231
+ /**
232
+ * The OS SKU of the OS type. Must correlate with the os type.
233
+ */
88
234
  osSku?: pulumi.Input<string>;
235
+ /**
236
+ * The OS type of the OS disk. Can't be modified once set.
237
+ */
89
238
  osType?: pulumi.Input<string>;
239
+ /**
240
+ * The IDs of subnets in an existing VNet into which to assign pods in the cluster (requires azure network-plugin).
241
+ */
90
242
  podSubnetIds?: pulumi.Input<pulumi.Input<string>[]>;
243
+ /**
244
+ * An object used to specify times when the cluster will turn off. Once the shutdown time will be over, the cluster will return to its previous state.
245
+ */
91
246
  scheduling?: pulumi.Input<inputs.azure.OceanNpScheduling>;
247
+ /**
248
+ * Percentage of spot VMs to maintain.
249
+ */
92
250
  spotPercentage?: pulumi.Input<number>;
93
251
  tags?: pulumi.Input<{
94
252
  [key: string]: any;
95
253
  }>;
254
+ /**
255
+ * Add taints to a virtual node group. Only custom user taints are allowed, and not [Kubernetes well-known taints](https://kubernetes.io/docs/reference/labels-annotations-taints/) or Azure AKS [ScaleSetPrioirty (Spot VM) taint](https://learn.microsoft.com/en-us/azure/aks/spot-node-pool). For all Spot VMs, AKS injects a taint kubernetes.azure.com/scalesetpriority=spot:NoSchedule, to ensure that only workloads that can handle interruptions are scheduled on Spot nodes. To [schedule a pod to run on Spot node](https://learn.microsoft.com/en-us/azure/aks/spot-node-pool#schedule-a-pod-to-run-on-the-spot-node), add a toleration but dont include the nodeAffinity (not supported for Spot Ocean), this will prevent the pod from being scheduled using Spot Ocean.
256
+ */
96
257
  taints?: pulumi.Input<pulumi.Input<inputs.azure.OceanNpTaint>[]>;
97
258
  updatePolicy?: pulumi.Input<inputs.azure.OceanNpUpdatePolicy>;
259
+ /**
260
+ * The IDs of subnets in an existing VNet into which to assign nodes in the cluster (requires azure network-plugin).
261
+ */
98
262
  vnetSubnetIds?: pulumi.Input<pulumi.Input<string>[]>;
99
263
  }
100
264
  /**
@@ -105,33 +269,102 @@ export interface OceanNpArgs {
105
269
  aksInfrastructureResourceGroupName: pulumi.Input<string>;
106
270
  aksRegion: pulumi.Input<string>;
107
271
  aksResourceGroupName: pulumi.Input<string>;
272
+ /**
273
+ * The Ocean Kubernetes Autoscaler object.
274
+ */
108
275
  autoscaler?: pulumi.Input<inputs.azure.OceanNpAutoscaler>;
276
+ /**
277
+ * An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
278
+ */
109
279
  availabilityZones: pulumi.Input<pulumi.Input<string>[]>;
280
+ /**
281
+ * Enter a unique Ocean cluster identifier. Cannot be updated. This needs to match with string that was used to install the controller in the cluster, typically clusterName + 8 digit string.
282
+ */
110
283
  controllerClusterId: pulumi.Input<string>;
284
+ /**
285
+ * Enable node public IP.
286
+ */
111
287
  enableNodePublicIp?: pulumi.Input<boolean>;
288
+ /**
289
+ * If no spot VM markets are available, enable Ocean to launch regular (pay-as-you-go) nodes instead.
290
+ */
112
291
  fallbackToOndemand?: pulumi.Input<boolean>;
292
+ /**
293
+ * Filters for the VM sizes that can be launched from the virtual node group.
294
+ */
113
295
  filters?: pulumi.Input<inputs.azure.OceanNpFilters>;
296
+ /**
297
+ * Specify the custom headroom per VNG. Provide a list of headroom objects.
298
+ */
114
299
  headrooms?: pulumi.Input<pulumi.Input<inputs.azure.OceanNpHeadroom>[]>;
300
+ /**
301
+ * The Ocean AKS Health object.
302
+ */
115
303
  health?: pulumi.Input<inputs.azure.OceanNpHealth>;
304
+ /**
305
+ * The desired Kubernetes version of the launched nodes. In case the value is null, the Kubernetes version of the control plane is used.
306
+ */
116
307
  kubernetesVersion?: pulumi.Input<string>;
308
+ /**
309
+ * An array of labels to add to the virtual node group. Only custom user labels are allowed, and not [Kubernetes well-known labels](https://kubernetes.io/docs/reference/labels-annotations-taints/) or [ Azure AKS labels](https://learn.microsoft.com/en-us/azure/aks/use-labels) or [Spot labels](https://docs.spot.io/ocean/features/labels-and-taints?id=spot-labels).
310
+ */
117
311
  labels?: pulumi.Input<{
118
312
  [key: string]: any;
119
313
  }>;
314
+ /**
315
+ * Maximum node count limit.
316
+ */
120
317
  maxCount?: pulumi.Input<number>;
318
+ /**
319
+ * The maximum number of pods per node in the node pools.
320
+ */
121
321
  maxPodsPerNode?: pulumi.Input<number>;
322
+ /**
323
+ * Minimum node count limit.
324
+ */
122
325
  minCount?: pulumi.Input<number>;
326
+ /**
327
+ * Add a name for the Ocean cluster.
328
+ */
123
329
  name?: pulumi.Input<string>;
330
+ /**
331
+ * The size of the OS disk in GB.
332
+ */
124
333
  osDiskSizeGb?: pulumi.Input<number>;
334
+ /**
335
+ * The type of the OS disk.
336
+ */
125
337
  osDiskType?: pulumi.Input<string>;
338
+ /**
339
+ * The OS SKU of the OS type. Must correlate with the os type.
340
+ */
126
341
  osSku?: pulumi.Input<string>;
342
+ /**
343
+ * The OS type of the OS disk. Can't be modified once set.
344
+ */
127
345
  osType?: pulumi.Input<string>;
346
+ /**
347
+ * The IDs of subnets in an existing VNet into which to assign pods in the cluster (requires azure network-plugin).
348
+ */
128
349
  podSubnetIds?: pulumi.Input<pulumi.Input<string>[]>;
350
+ /**
351
+ * An object used to specify times when the cluster will turn off. Once the shutdown time will be over, the cluster will return to its previous state.
352
+ */
129
353
  scheduling?: pulumi.Input<inputs.azure.OceanNpScheduling>;
354
+ /**
355
+ * Percentage of spot VMs to maintain.
356
+ */
130
357
  spotPercentage?: pulumi.Input<number>;
131
358
  tags?: pulumi.Input<{
132
359
  [key: string]: any;
133
360
  }>;
361
+ /**
362
+ * Add taints to a virtual node group. Only custom user taints are allowed, and not [Kubernetes well-known taints](https://kubernetes.io/docs/reference/labels-annotations-taints/) or Azure AKS [ScaleSetPrioirty (Spot VM) taint](https://learn.microsoft.com/en-us/azure/aks/spot-node-pool). For all Spot VMs, AKS injects a taint kubernetes.azure.com/scalesetpriority=spot:NoSchedule, to ensure that only workloads that can handle interruptions are scheduled on Spot nodes. To [schedule a pod to run on Spot node](https://learn.microsoft.com/en-us/azure/aks/spot-node-pool#schedule-a-pod-to-run-on-the-spot-node), add a toleration but dont include the nodeAffinity (not supported for Spot Ocean), this will prevent the pod from being scheduled using Spot Ocean.
363
+ */
134
364
  taints?: pulumi.Input<pulumi.Input<inputs.azure.OceanNpTaint>[]>;
135
365
  updatePolicy?: pulumi.Input<inputs.azure.OceanNpUpdatePolicy>;
366
+ /**
367
+ * The IDs of subnets in an existing VNet into which to assign nodes in the cluster (requires azure network-plugin).
368
+ */
136
369
  vnetSubnetIds?: pulumi.Input<pulumi.Input<string>[]>;
137
370
  }
package/azure/oceanNp.js CHANGED
@@ -5,6 +5,32 @@ Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.OceanNp = void 0;
6
6
  const pulumi = require("@pulumi/pulumi");
7
7
  const utilities = require("../utilities");
8
+ /**
9
+ * Manages a Spotinst Ocean AKS resource.
10
+ *
11
+ * ## Basic Ocean Cluster Creation Usage Example - using minimum configuration with only required parameters
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as spotinst from "@pulumi/spotinst";
16
+ *
17
+ * const example = new spotinst.azure.OceanNp("example", {
18
+ * name: "test",
19
+ * aksRegion: "eastus",
20
+ * aksClusterName: "test-cluster",
21
+ * aksInfrastructureResourceGroupName: "MC_TestResourceGroup_test-cluster_eastus",
22
+ * aksResourceGroupName: "TestResourceGroup",
23
+ * controllerClusterId: "test-123124",
24
+ * availabilityZones: [
25
+ * "1",
26
+ * "2",
27
+ * "3",
28
+ * ],
29
+ * });
30
+ * ```
31
+ *
32
+ * ## Detailed Ocean Cluster Creation Usage Example - using all available parameters with sample values
33
+ */
8
34
  class OceanNp extends pulumi.CustomResource {
9
35
  /**
10
36
  * Get an existing OceanNp resource's state with the given name, ID, and optional extra
@@ -1 +1 @@
1
- {"version":3,"file":"oceanNp.js","sourceRoot":"","sources":["../../azure/oceanNp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oceanNp.js","sourceRoot":"","sources":["../../azure/oceanNp.ts"],"names":[],"mappings":"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"}