pulumi-nomad 2.5.0a1744783739__py3-none-any.whl → 2.6.0a1745042960__py3-none-any.whl

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.
@@ -0,0 +1,1005 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins
6
+ import copy
7
+ import warnings
8
+ import sys
9
+ import pulumi
10
+ import pulumi.runtime
11
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
12
+ if sys.version_info >= (3, 11):
13
+ from typing import NotRequired, TypedDict, TypeAlias
14
+ else:
15
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
16
+ from . import _utilities
17
+ from . import outputs
18
+ from ._inputs import *
19
+
20
+ __all__ = ['DynamicHostVolumeArgs', 'DynamicHostVolume']
21
+
22
+ @pulumi.input_type
23
+ class DynamicHostVolumeArgs:
24
+ def __init__(__self__, *,
25
+ capabilities: pulumi.Input[Sequence[pulumi.Input['DynamicHostVolumeCapabilityArgs']]],
26
+ plugin_id: pulumi.Input[builtins.str],
27
+ capacity_max: Optional[pulumi.Input[builtins.str]] = None,
28
+ capacity_min: Optional[pulumi.Input[builtins.str]] = None,
29
+ constraints: Optional[pulumi.Input[Sequence[pulumi.Input['DynamicHostVolumeConstraintArgs']]]] = None,
30
+ name: Optional[pulumi.Input[builtins.str]] = None,
31
+ namespace: Optional[pulumi.Input[builtins.str]] = None,
32
+ node_id: Optional[pulumi.Input[builtins.str]] = None,
33
+ node_pool: Optional[pulumi.Input[builtins.str]] = None,
34
+ parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None):
35
+ """
36
+ The set of arguments for constructing a DynamicHostVolume resource.
37
+ :param pulumi.Input[Sequence[pulumi.Input['DynamicHostVolumeCapabilityArgs']]] capabilities: `(block: <optional>)` - Option for validating the capability of a
38
+ volume. Each capability block has the following attributes:
39
+ :param pulumi.Input[builtins.str] plugin_id: Plugin ID
40
+ :param pulumi.Input[builtins.str] capacity_max: `(string: <optional>)` - Option for requesting a maximum
41
+ capacity, in bytes. The capacity of a volume may be the physical size of a
42
+ disk, or a quota, depending on the plugin. The specific size of the resulting
43
+ volume is somewhere between `capacity_min` and `capacity_max`; the exact
44
+ behavior is up to the plugin. If you want to specify an exact size, set
45
+ `capacity_min` and `capacity_max` to the same value. Accepts human-friendly
46
+ suffixes such as `"100GiB"`. Plugins that cannot restrict the size of volumes
47
+ may ignore this field.
48
+ :param pulumi.Input[builtins.str] capacity_min: `(string: <optional>)` - Option for requesting a minimum
49
+ capacity, in bytes. The capacity of a volume may be the physical size of a
50
+ disk, or a quota, depending on the plugin. The specific size of the resulting
51
+ volume is somewhere between `capacity_min` and `capacity_max`; the exact
52
+ behavior is up to the plugin. If you want to specify an exact size, set
53
+ `capacity_min` and `capacity_max` to the same value. Accepts human-friendly
54
+ suffixes such as `"100GiB"`. Plugins that cannot restrict the size of volumes
55
+ may ignore this field.
56
+ :param pulumi.Input[Sequence[pulumi.Input['DynamicHostVolumeConstraintArgs']]] constraints: `(block: <optional>)` - A restriction on the eligible nodes where
57
+ a volume can be created, similar to the [`constraint`][] block on a Nomad job
58
+ specification.. You can provide multiple `constraint` blocks to add more
59
+ constraints. Each constraint block has the following attributes.
60
+ :param pulumi.Input[builtins.str] name: `(string: <required>)` - The name of the volume, which is used as the
61
+ [`volume.source`][volume_source] field in job specifications that claim this
62
+ volume. Host volume names must be unique per node. Names are visible to any
63
+ user with `node:read` ACL, even across namespaces, so they should not be
64
+ treated as sensitive values.
65
+ :param pulumi.Input[builtins.str] namespace: `(string: <optional>)` - The namespace of the volume. This field
66
+ overrides the namespace provided by the `-namespace` flag or `NOMAD_NAMESPACE`
67
+ environment variable. Defaults to `"default"` if unset.
68
+ :param pulumi.Input[builtins.str] node_id: `(string: <optional>)` - A specific node where you would like the
69
+ volume to be created.
70
+ :param pulumi.Input[builtins.str] node_pool: `(string: <optional>)` - A specific node pool where you would like
71
+ the volume to be created. If you also provide `node_id`, the node must be in the
72
+ provided `node_pool`.
73
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] parameters: `(map<string|string>: <optional>)` - A key-value map of strings
74
+ passed directly to the plugin to configure the volume. The details of these
75
+ parameters are specific to the plugin.
76
+ """
77
+ pulumi.set(__self__, "capabilities", capabilities)
78
+ pulumi.set(__self__, "plugin_id", plugin_id)
79
+ if capacity_max is not None:
80
+ pulumi.set(__self__, "capacity_max", capacity_max)
81
+ if capacity_min is not None:
82
+ pulumi.set(__self__, "capacity_min", capacity_min)
83
+ if constraints is not None:
84
+ pulumi.set(__self__, "constraints", constraints)
85
+ if name is not None:
86
+ pulumi.set(__self__, "name", name)
87
+ if namespace is not None:
88
+ pulumi.set(__self__, "namespace", namespace)
89
+ if node_id is not None:
90
+ pulumi.set(__self__, "node_id", node_id)
91
+ if node_pool is not None:
92
+ pulumi.set(__self__, "node_pool", node_pool)
93
+ if parameters is not None:
94
+ pulumi.set(__self__, "parameters", parameters)
95
+
96
+ @property
97
+ @pulumi.getter
98
+ def capabilities(self) -> pulumi.Input[Sequence[pulumi.Input['DynamicHostVolumeCapabilityArgs']]]:
99
+ """
100
+ `(block: <optional>)` - Option for validating the capability of a
101
+ volume. Each capability block has the following attributes:
102
+ """
103
+ return pulumi.get(self, "capabilities")
104
+
105
+ @capabilities.setter
106
+ def capabilities(self, value: pulumi.Input[Sequence[pulumi.Input['DynamicHostVolumeCapabilityArgs']]]):
107
+ pulumi.set(self, "capabilities", value)
108
+
109
+ @property
110
+ @pulumi.getter(name="pluginId")
111
+ def plugin_id(self) -> pulumi.Input[builtins.str]:
112
+ """
113
+ Plugin ID
114
+ """
115
+ return pulumi.get(self, "plugin_id")
116
+
117
+ @plugin_id.setter
118
+ def plugin_id(self, value: pulumi.Input[builtins.str]):
119
+ pulumi.set(self, "plugin_id", value)
120
+
121
+ @property
122
+ @pulumi.getter(name="capacityMax")
123
+ def capacity_max(self) -> Optional[pulumi.Input[builtins.str]]:
124
+ """
125
+ `(string: <optional>)` - Option for requesting a maximum
126
+ capacity, in bytes. The capacity of a volume may be the physical size of a
127
+ disk, or a quota, depending on the plugin. The specific size of the resulting
128
+ volume is somewhere between `capacity_min` and `capacity_max`; the exact
129
+ behavior is up to the plugin. If you want to specify an exact size, set
130
+ `capacity_min` and `capacity_max` to the same value. Accepts human-friendly
131
+ suffixes such as `"100GiB"`. Plugins that cannot restrict the size of volumes
132
+ may ignore this field.
133
+ """
134
+ return pulumi.get(self, "capacity_max")
135
+
136
+ @capacity_max.setter
137
+ def capacity_max(self, value: Optional[pulumi.Input[builtins.str]]):
138
+ pulumi.set(self, "capacity_max", value)
139
+
140
+ @property
141
+ @pulumi.getter(name="capacityMin")
142
+ def capacity_min(self) -> Optional[pulumi.Input[builtins.str]]:
143
+ """
144
+ `(string: <optional>)` - Option for requesting a minimum
145
+ capacity, in bytes. The capacity of a volume may be the physical size of a
146
+ disk, or a quota, depending on the plugin. The specific size of the resulting
147
+ volume is somewhere between `capacity_min` and `capacity_max`; the exact
148
+ behavior is up to the plugin. If you want to specify an exact size, set
149
+ `capacity_min` and `capacity_max` to the same value. Accepts human-friendly
150
+ suffixes such as `"100GiB"`. Plugins that cannot restrict the size of volumes
151
+ may ignore this field.
152
+ """
153
+ return pulumi.get(self, "capacity_min")
154
+
155
+ @capacity_min.setter
156
+ def capacity_min(self, value: Optional[pulumi.Input[builtins.str]]):
157
+ pulumi.set(self, "capacity_min", value)
158
+
159
+ @property
160
+ @pulumi.getter
161
+ def constraints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DynamicHostVolumeConstraintArgs']]]]:
162
+ """
163
+ `(block: <optional>)` - A restriction on the eligible nodes where
164
+ a volume can be created, similar to the [`constraint`][] block on a Nomad job
165
+ specification.. You can provide multiple `constraint` blocks to add more
166
+ constraints. Each constraint block has the following attributes.
167
+ """
168
+ return pulumi.get(self, "constraints")
169
+
170
+ @constraints.setter
171
+ def constraints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DynamicHostVolumeConstraintArgs']]]]):
172
+ pulumi.set(self, "constraints", value)
173
+
174
+ @property
175
+ @pulumi.getter
176
+ def name(self) -> Optional[pulumi.Input[builtins.str]]:
177
+ """
178
+ `(string: <required>)` - The name of the volume, which is used as the
179
+ [`volume.source`][volume_source] field in job specifications that claim this
180
+ volume. Host volume names must be unique per node. Names are visible to any
181
+ user with `node:read` ACL, even across namespaces, so they should not be
182
+ treated as sensitive values.
183
+ """
184
+ return pulumi.get(self, "name")
185
+
186
+ @name.setter
187
+ def name(self, value: Optional[pulumi.Input[builtins.str]]):
188
+ pulumi.set(self, "name", value)
189
+
190
+ @property
191
+ @pulumi.getter
192
+ def namespace(self) -> Optional[pulumi.Input[builtins.str]]:
193
+ """
194
+ `(string: <optional>)` - The namespace of the volume. This field
195
+ overrides the namespace provided by the `-namespace` flag or `NOMAD_NAMESPACE`
196
+ environment variable. Defaults to `"default"` if unset.
197
+ """
198
+ return pulumi.get(self, "namespace")
199
+
200
+ @namespace.setter
201
+ def namespace(self, value: Optional[pulumi.Input[builtins.str]]):
202
+ pulumi.set(self, "namespace", value)
203
+
204
+ @property
205
+ @pulumi.getter(name="nodeId")
206
+ def node_id(self) -> Optional[pulumi.Input[builtins.str]]:
207
+ """
208
+ `(string: <optional>)` - A specific node where you would like the
209
+ volume to be created.
210
+ """
211
+ return pulumi.get(self, "node_id")
212
+
213
+ @node_id.setter
214
+ def node_id(self, value: Optional[pulumi.Input[builtins.str]]):
215
+ pulumi.set(self, "node_id", value)
216
+
217
+ @property
218
+ @pulumi.getter(name="nodePool")
219
+ def node_pool(self) -> Optional[pulumi.Input[builtins.str]]:
220
+ """
221
+ `(string: <optional>)` - A specific node pool where you would like
222
+ the volume to be created. If you also provide `node_id`, the node must be in the
223
+ provided `node_pool`.
224
+ """
225
+ return pulumi.get(self, "node_pool")
226
+
227
+ @node_pool.setter
228
+ def node_pool(self, value: Optional[pulumi.Input[builtins.str]]):
229
+ pulumi.set(self, "node_pool", value)
230
+
231
+ @property
232
+ @pulumi.getter
233
+ def parameters(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
234
+ """
235
+ `(map<string|string>: <optional>)` - A key-value map of strings
236
+ passed directly to the plugin to configure the volume. The details of these
237
+ parameters are specific to the plugin.
238
+ """
239
+ return pulumi.get(self, "parameters")
240
+
241
+ @parameters.setter
242
+ def parameters(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]):
243
+ pulumi.set(self, "parameters", value)
244
+
245
+
246
+ @pulumi.input_type
247
+ class _DynamicHostVolumeState:
248
+ def __init__(__self__, *,
249
+ capabilities: Optional[pulumi.Input[Sequence[pulumi.Input['DynamicHostVolumeCapabilityArgs']]]] = None,
250
+ capacity: Optional[pulumi.Input[builtins.str]] = None,
251
+ capacity_bytes: Optional[pulumi.Input[builtins.int]] = None,
252
+ capacity_max: Optional[pulumi.Input[builtins.str]] = None,
253
+ capacity_max_bytes: Optional[pulumi.Input[builtins.int]] = None,
254
+ capacity_min: Optional[pulumi.Input[builtins.str]] = None,
255
+ capacity_min_bytes: Optional[pulumi.Input[builtins.int]] = None,
256
+ constraints: Optional[pulumi.Input[Sequence[pulumi.Input['DynamicHostVolumeConstraintArgs']]]] = None,
257
+ host_path: Optional[pulumi.Input[builtins.str]] = None,
258
+ name: Optional[pulumi.Input[builtins.str]] = None,
259
+ namespace: Optional[pulumi.Input[builtins.str]] = None,
260
+ node_id: Optional[pulumi.Input[builtins.str]] = None,
261
+ node_pool: Optional[pulumi.Input[builtins.str]] = None,
262
+ parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
263
+ plugin_id: Optional[pulumi.Input[builtins.str]] = None,
264
+ state: Optional[pulumi.Input[builtins.str]] = None):
265
+ """
266
+ Input properties used for looking up and filtering DynamicHostVolume resources.
267
+ :param pulumi.Input[Sequence[pulumi.Input['DynamicHostVolumeCapabilityArgs']]] capabilities: `(block: <optional>)` - Option for validating the capability of a
268
+ volume. Each capability block has the following attributes:
269
+ :param pulumi.Input[builtins.str] capacity: Provisioned capacity
270
+ :param pulumi.Input[builtins.str] capacity_max: `(string: <optional>)` - Option for requesting a maximum
271
+ capacity, in bytes. The capacity of a volume may be the physical size of a
272
+ disk, or a quota, depending on the plugin. The specific size of the resulting
273
+ volume is somewhere between `capacity_min` and `capacity_max`; the exact
274
+ behavior is up to the plugin. If you want to specify an exact size, set
275
+ `capacity_min` and `capacity_max` to the same value. Accepts human-friendly
276
+ suffixes such as `"100GiB"`. Plugins that cannot restrict the size of volumes
277
+ may ignore this field.
278
+ :param pulumi.Input[builtins.str] capacity_min: `(string: <optional>)` - Option for requesting a minimum
279
+ capacity, in bytes. The capacity of a volume may be the physical size of a
280
+ disk, or a quota, depending on the plugin. The specific size of the resulting
281
+ volume is somewhere between `capacity_min` and `capacity_max`; the exact
282
+ behavior is up to the plugin. If you want to specify an exact size, set
283
+ `capacity_min` and `capacity_max` to the same value. Accepts human-friendly
284
+ suffixes such as `"100GiB"`. Plugins that cannot restrict the size of volumes
285
+ may ignore this field.
286
+ :param pulumi.Input[Sequence[pulumi.Input['DynamicHostVolumeConstraintArgs']]] constraints: `(block: <optional>)` - A restriction on the eligible nodes where
287
+ a volume can be created, similar to the [`constraint`][] block on a Nomad job
288
+ specification.. You can provide multiple `constraint` blocks to add more
289
+ constraints. Each constraint block has the following attributes.
290
+ :param pulumi.Input[builtins.str] host_path: Host path
291
+ :param pulumi.Input[builtins.str] name: `(string: <required>)` - The name of the volume, which is used as the
292
+ [`volume.source`][volume_source] field in job specifications that claim this
293
+ volume. Host volume names must be unique per node. Names are visible to any
294
+ user with `node:read` ACL, even across namespaces, so they should not be
295
+ treated as sensitive values.
296
+ :param pulumi.Input[builtins.str] namespace: `(string: <optional>)` - The namespace of the volume. This field
297
+ overrides the namespace provided by the `-namespace` flag or `NOMAD_NAMESPACE`
298
+ environment variable. Defaults to `"default"` if unset.
299
+ :param pulumi.Input[builtins.str] node_id: `(string: <optional>)` - A specific node where you would like the
300
+ volume to be created.
301
+ :param pulumi.Input[builtins.str] node_pool: `(string: <optional>)` - A specific node pool where you would like
302
+ the volume to be created. If you also provide `node_id`, the node must be in the
303
+ provided `node_pool`.
304
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] parameters: `(map<string|string>: <optional>)` - A key-value map of strings
305
+ passed directly to the plugin to configure the volume. The details of these
306
+ parameters are specific to the plugin.
307
+ :param pulumi.Input[builtins.str] plugin_id: Plugin ID
308
+ :param pulumi.Input[builtins.str] state: State
309
+ """
310
+ if capabilities is not None:
311
+ pulumi.set(__self__, "capabilities", capabilities)
312
+ if capacity is not None:
313
+ pulumi.set(__self__, "capacity", capacity)
314
+ if capacity_bytes is not None:
315
+ pulumi.set(__self__, "capacity_bytes", capacity_bytes)
316
+ if capacity_max is not None:
317
+ pulumi.set(__self__, "capacity_max", capacity_max)
318
+ if capacity_max_bytes is not None:
319
+ pulumi.set(__self__, "capacity_max_bytes", capacity_max_bytes)
320
+ if capacity_min is not None:
321
+ pulumi.set(__self__, "capacity_min", capacity_min)
322
+ if capacity_min_bytes is not None:
323
+ pulumi.set(__self__, "capacity_min_bytes", capacity_min_bytes)
324
+ if constraints is not None:
325
+ pulumi.set(__self__, "constraints", constraints)
326
+ if host_path is not None:
327
+ pulumi.set(__self__, "host_path", host_path)
328
+ if name is not None:
329
+ pulumi.set(__self__, "name", name)
330
+ if namespace is not None:
331
+ pulumi.set(__self__, "namespace", namespace)
332
+ if node_id is not None:
333
+ pulumi.set(__self__, "node_id", node_id)
334
+ if node_pool is not None:
335
+ pulumi.set(__self__, "node_pool", node_pool)
336
+ if parameters is not None:
337
+ pulumi.set(__self__, "parameters", parameters)
338
+ if plugin_id is not None:
339
+ pulumi.set(__self__, "plugin_id", plugin_id)
340
+ if state is not None:
341
+ pulumi.set(__self__, "state", state)
342
+
343
+ @property
344
+ @pulumi.getter
345
+ def capabilities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DynamicHostVolumeCapabilityArgs']]]]:
346
+ """
347
+ `(block: <optional>)` - Option for validating the capability of a
348
+ volume. Each capability block has the following attributes:
349
+ """
350
+ return pulumi.get(self, "capabilities")
351
+
352
+ @capabilities.setter
353
+ def capabilities(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DynamicHostVolumeCapabilityArgs']]]]):
354
+ pulumi.set(self, "capabilities", value)
355
+
356
+ @property
357
+ @pulumi.getter
358
+ def capacity(self) -> Optional[pulumi.Input[builtins.str]]:
359
+ """
360
+ Provisioned capacity
361
+ """
362
+ return pulumi.get(self, "capacity")
363
+
364
+ @capacity.setter
365
+ def capacity(self, value: Optional[pulumi.Input[builtins.str]]):
366
+ pulumi.set(self, "capacity", value)
367
+
368
+ @property
369
+ @pulumi.getter(name="capacityBytes")
370
+ def capacity_bytes(self) -> Optional[pulumi.Input[builtins.int]]:
371
+ return pulumi.get(self, "capacity_bytes")
372
+
373
+ @capacity_bytes.setter
374
+ def capacity_bytes(self, value: Optional[pulumi.Input[builtins.int]]):
375
+ pulumi.set(self, "capacity_bytes", value)
376
+
377
+ @property
378
+ @pulumi.getter(name="capacityMax")
379
+ def capacity_max(self) -> Optional[pulumi.Input[builtins.str]]:
380
+ """
381
+ `(string: <optional>)` - Option for requesting a maximum
382
+ capacity, in bytes. The capacity of a volume may be the physical size of a
383
+ disk, or a quota, depending on the plugin. The specific size of the resulting
384
+ volume is somewhere between `capacity_min` and `capacity_max`; the exact
385
+ behavior is up to the plugin. If you want to specify an exact size, set
386
+ `capacity_min` and `capacity_max` to the same value. Accepts human-friendly
387
+ suffixes such as `"100GiB"`. Plugins that cannot restrict the size of volumes
388
+ may ignore this field.
389
+ """
390
+ return pulumi.get(self, "capacity_max")
391
+
392
+ @capacity_max.setter
393
+ def capacity_max(self, value: Optional[pulumi.Input[builtins.str]]):
394
+ pulumi.set(self, "capacity_max", value)
395
+
396
+ @property
397
+ @pulumi.getter(name="capacityMaxBytes")
398
+ def capacity_max_bytes(self) -> Optional[pulumi.Input[builtins.int]]:
399
+ return pulumi.get(self, "capacity_max_bytes")
400
+
401
+ @capacity_max_bytes.setter
402
+ def capacity_max_bytes(self, value: Optional[pulumi.Input[builtins.int]]):
403
+ pulumi.set(self, "capacity_max_bytes", value)
404
+
405
+ @property
406
+ @pulumi.getter(name="capacityMin")
407
+ def capacity_min(self) -> Optional[pulumi.Input[builtins.str]]:
408
+ """
409
+ `(string: <optional>)` - Option for requesting a minimum
410
+ capacity, in bytes. The capacity of a volume may be the physical size of a
411
+ disk, or a quota, depending on the plugin. The specific size of the resulting
412
+ volume is somewhere between `capacity_min` and `capacity_max`; the exact
413
+ behavior is up to the plugin. If you want to specify an exact size, set
414
+ `capacity_min` and `capacity_max` to the same value. Accepts human-friendly
415
+ suffixes such as `"100GiB"`. Plugins that cannot restrict the size of volumes
416
+ may ignore this field.
417
+ """
418
+ return pulumi.get(self, "capacity_min")
419
+
420
+ @capacity_min.setter
421
+ def capacity_min(self, value: Optional[pulumi.Input[builtins.str]]):
422
+ pulumi.set(self, "capacity_min", value)
423
+
424
+ @property
425
+ @pulumi.getter(name="capacityMinBytes")
426
+ def capacity_min_bytes(self) -> Optional[pulumi.Input[builtins.int]]:
427
+ return pulumi.get(self, "capacity_min_bytes")
428
+
429
+ @capacity_min_bytes.setter
430
+ def capacity_min_bytes(self, value: Optional[pulumi.Input[builtins.int]]):
431
+ pulumi.set(self, "capacity_min_bytes", value)
432
+
433
+ @property
434
+ @pulumi.getter
435
+ def constraints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DynamicHostVolumeConstraintArgs']]]]:
436
+ """
437
+ `(block: <optional>)` - A restriction on the eligible nodes where
438
+ a volume can be created, similar to the [`constraint`][] block on a Nomad job
439
+ specification.. You can provide multiple `constraint` blocks to add more
440
+ constraints. Each constraint block has the following attributes.
441
+ """
442
+ return pulumi.get(self, "constraints")
443
+
444
+ @constraints.setter
445
+ def constraints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DynamicHostVolumeConstraintArgs']]]]):
446
+ pulumi.set(self, "constraints", value)
447
+
448
+ @property
449
+ @pulumi.getter(name="hostPath")
450
+ def host_path(self) -> Optional[pulumi.Input[builtins.str]]:
451
+ """
452
+ Host path
453
+ """
454
+ return pulumi.get(self, "host_path")
455
+
456
+ @host_path.setter
457
+ def host_path(self, value: Optional[pulumi.Input[builtins.str]]):
458
+ pulumi.set(self, "host_path", value)
459
+
460
+ @property
461
+ @pulumi.getter
462
+ def name(self) -> Optional[pulumi.Input[builtins.str]]:
463
+ """
464
+ `(string: <required>)` - The name of the volume, which is used as the
465
+ [`volume.source`][volume_source] field in job specifications that claim this
466
+ volume. Host volume names must be unique per node. Names are visible to any
467
+ user with `node:read` ACL, even across namespaces, so they should not be
468
+ treated as sensitive values.
469
+ """
470
+ return pulumi.get(self, "name")
471
+
472
+ @name.setter
473
+ def name(self, value: Optional[pulumi.Input[builtins.str]]):
474
+ pulumi.set(self, "name", value)
475
+
476
+ @property
477
+ @pulumi.getter
478
+ def namespace(self) -> Optional[pulumi.Input[builtins.str]]:
479
+ """
480
+ `(string: <optional>)` - The namespace of the volume. This field
481
+ overrides the namespace provided by the `-namespace` flag or `NOMAD_NAMESPACE`
482
+ environment variable. Defaults to `"default"` if unset.
483
+ """
484
+ return pulumi.get(self, "namespace")
485
+
486
+ @namespace.setter
487
+ def namespace(self, value: Optional[pulumi.Input[builtins.str]]):
488
+ pulumi.set(self, "namespace", value)
489
+
490
+ @property
491
+ @pulumi.getter(name="nodeId")
492
+ def node_id(self) -> Optional[pulumi.Input[builtins.str]]:
493
+ """
494
+ `(string: <optional>)` - A specific node where you would like the
495
+ volume to be created.
496
+ """
497
+ return pulumi.get(self, "node_id")
498
+
499
+ @node_id.setter
500
+ def node_id(self, value: Optional[pulumi.Input[builtins.str]]):
501
+ pulumi.set(self, "node_id", value)
502
+
503
+ @property
504
+ @pulumi.getter(name="nodePool")
505
+ def node_pool(self) -> Optional[pulumi.Input[builtins.str]]:
506
+ """
507
+ `(string: <optional>)` - A specific node pool where you would like
508
+ the volume to be created. If you also provide `node_id`, the node must be in the
509
+ provided `node_pool`.
510
+ """
511
+ return pulumi.get(self, "node_pool")
512
+
513
+ @node_pool.setter
514
+ def node_pool(self, value: Optional[pulumi.Input[builtins.str]]):
515
+ pulumi.set(self, "node_pool", value)
516
+
517
+ @property
518
+ @pulumi.getter
519
+ def parameters(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
520
+ """
521
+ `(map<string|string>: <optional>)` - A key-value map of strings
522
+ passed directly to the plugin to configure the volume. The details of these
523
+ parameters are specific to the plugin.
524
+ """
525
+ return pulumi.get(self, "parameters")
526
+
527
+ @parameters.setter
528
+ def parameters(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]):
529
+ pulumi.set(self, "parameters", value)
530
+
531
+ @property
532
+ @pulumi.getter(name="pluginId")
533
+ def plugin_id(self) -> Optional[pulumi.Input[builtins.str]]:
534
+ """
535
+ Plugin ID
536
+ """
537
+ return pulumi.get(self, "plugin_id")
538
+
539
+ @plugin_id.setter
540
+ def plugin_id(self, value: Optional[pulumi.Input[builtins.str]]):
541
+ pulumi.set(self, "plugin_id", value)
542
+
543
+ @property
544
+ @pulumi.getter
545
+ def state(self) -> Optional[pulumi.Input[builtins.str]]:
546
+ """
547
+ State
548
+ """
549
+ return pulumi.get(self, "state")
550
+
551
+ @state.setter
552
+ def state(self, value: Optional[pulumi.Input[builtins.str]]):
553
+ pulumi.set(self, "state", value)
554
+
555
+
556
+ class DynamicHostVolume(pulumi.CustomResource):
557
+ @overload
558
+ def __init__(__self__,
559
+ resource_name: str,
560
+ opts: Optional[pulumi.ResourceOptions] = None,
561
+ capabilities: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DynamicHostVolumeCapabilityArgs', 'DynamicHostVolumeCapabilityArgsDict']]]]] = None,
562
+ capacity_max: Optional[pulumi.Input[builtins.str]] = None,
563
+ capacity_min: Optional[pulumi.Input[builtins.str]] = None,
564
+ constraints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DynamicHostVolumeConstraintArgs', 'DynamicHostVolumeConstraintArgsDict']]]]] = None,
565
+ name: Optional[pulumi.Input[builtins.str]] = None,
566
+ namespace: Optional[pulumi.Input[builtins.str]] = None,
567
+ node_id: Optional[pulumi.Input[builtins.str]] = None,
568
+ node_pool: Optional[pulumi.Input[builtins.str]] = None,
569
+ parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
570
+ plugin_id: Optional[pulumi.Input[builtins.str]] = None,
571
+ __props__=None):
572
+ """
573
+ layout: "nomad"
574
+ page_title: "Nomad: DynamicHostVolume"
575
+ sidebar_current: "docs-nomad-resource-dynamic-host-volume"
576
+ description: |-
577
+ Manages the lifecycle of creating and deleting dynamic host volumes.
578
+ ---
579
+
580
+ Creates and registers a dynamic host volume in Nomad. Note that Nomad supports
581
+ two workflows for dynamic host volumes: create and register. Both resources
582
+ result in the same data source with the same outputs.
583
+
584
+ > **Warning:** Destroying this resource **will result in data loss**. Use the
585
+ [`prevent_destroy`][tf_docs_prevent_destroy] directive to avoid accidental
586
+ deletions.
587
+
588
+ ## Example Usage
589
+
590
+ Creating a dynamic host volume:
591
+
592
+ ```python
593
+ import pulumi
594
+ import pulumi_nomad as nomad
595
+
596
+ example = nomad.DynamicHostVolume("example",
597
+ name="example",
598
+ namespace="prod",
599
+ plugin_id="mkdir",
600
+ capacity_max="12 GiB",
601
+ capacity_min="1.0 GiB",
602
+ capabilities=[{
603
+ "access_mode": "single-node-writer",
604
+ "attachment_mode": "file-system",
605
+ }],
606
+ constraints=[{
607
+ "attribute": "${attr.kernel.name}",
608
+ "value": "linux",
609
+ }],
610
+ parameters={
611
+ "some_key": "some_value",
612
+ })
613
+ ```
614
+
615
+ :param str resource_name: The name of the resource.
616
+ :param pulumi.ResourceOptions opts: Options for the resource.
617
+ :param pulumi.Input[Sequence[pulumi.Input[Union['DynamicHostVolumeCapabilityArgs', 'DynamicHostVolumeCapabilityArgsDict']]]] capabilities: `(block: <optional>)` - Option for validating the capability of a
618
+ volume. Each capability block has the following attributes:
619
+ :param pulumi.Input[builtins.str] capacity_max: `(string: <optional>)` - Option for requesting a maximum
620
+ capacity, in bytes. The capacity of a volume may be the physical size of a
621
+ disk, or a quota, depending on the plugin. The specific size of the resulting
622
+ volume is somewhere between `capacity_min` and `capacity_max`; the exact
623
+ behavior is up to the plugin. If you want to specify an exact size, set
624
+ `capacity_min` and `capacity_max` to the same value. Accepts human-friendly
625
+ suffixes such as `"100GiB"`. Plugins that cannot restrict the size of volumes
626
+ may ignore this field.
627
+ :param pulumi.Input[builtins.str] capacity_min: `(string: <optional>)` - Option for requesting a minimum
628
+ capacity, in bytes. The capacity of a volume may be the physical size of a
629
+ disk, or a quota, depending on the plugin. The specific size of the resulting
630
+ volume is somewhere between `capacity_min` and `capacity_max`; the exact
631
+ behavior is up to the plugin. If you want to specify an exact size, set
632
+ `capacity_min` and `capacity_max` to the same value. Accepts human-friendly
633
+ suffixes such as `"100GiB"`. Plugins that cannot restrict the size of volumes
634
+ may ignore this field.
635
+ :param pulumi.Input[Sequence[pulumi.Input[Union['DynamicHostVolumeConstraintArgs', 'DynamicHostVolumeConstraintArgsDict']]]] constraints: `(block: <optional>)` - A restriction on the eligible nodes where
636
+ a volume can be created, similar to the [`constraint`][] block on a Nomad job
637
+ specification.. You can provide multiple `constraint` blocks to add more
638
+ constraints. Each constraint block has the following attributes.
639
+ :param pulumi.Input[builtins.str] name: `(string: <required>)` - The name of the volume, which is used as the
640
+ [`volume.source`][volume_source] field in job specifications that claim this
641
+ volume. Host volume names must be unique per node. Names are visible to any
642
+ user with `node:read` ACL, even across namespaces, so they should not be
643
+ treated as sensitive values.
644
+ :param pulumi.Input[builtins.str] namespace: `(string: <optional>)` - The namespace of the volume. This field
645
+ overrides the namespace provided by the `-namespace` flag or `NOMAD_NAMESPACE`
646
+ environment variable. Defaults to `"default"` if unset.
647
+ :param pulumi.Input[builtins.str] node_id: `(string: <optional>)` - A specific node where you would like the
648
+ volume to be created.
649
+ :param pulumi.Input[builtins.str] node_pool: `(string: <optional>)` - A specific node pool where you would like
650
+ the volume to be created. If you also provide `node_id`, the node must be in the
651
+ provided `node_pool`.
652
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] parameters: `(map<string|string>: <optional>)` - A key-value map of strings
653
+ passed directly to the plugin to configure the volume. The details of these
654
+ parameters are specific to the plugin.
655
+ :param pulumi.Input[builtins.str] plugin_id: Plugin ID
656
+ """
657
+ ...
658
+ @overload
659
+ def __init__(__self__,
660
+ resource_name: str,
661
+ args: DynamicHostVolumeArgs,
662
+ opts: Optional[pulumi.ResourceOptions] = None):
663
+ """
664
+ layout: "nomad"
665
+ page_title: "Nomad: DynamicHostVolume"
666
+ sidebar_current: "docs-nomad-resource-dynamic-host-volume"
667
+ description: |-
668
+ Manages the lifecycle of creating and deleting dynamic host volumes.
669
+ ---
670
+
671
+ Creates and registers a dynamic host volume in Nomad. Note that Nomad supports
672
+ two workflows for dynamic host volumes: create and register. Both resources
673
+ result in the same data source with the same outputs.
674
+
675
+ > **Warning:** Destroying this resource **will result in data loss**. Use the
676
+ [`prevent_destroy`][tf_docs_prevent_destroy] directive to avoid accidental
677
+ deletions.
678
+
679
+ ## Example Usage
680
+
681
+ Creating a dynamic host volume:
682
+
683
+ ```python
684
+ import pulumi
685
+ import pulumi_nomad as nomad
686
+
687
+ example = nomad.DynamicHostVolume("example",
688
+ name="example",
689
+ namespace="prod",
690
+ plugin_id="mkdir",
691
+ capacity_max="12 GiB",
692
+ capacity_min="1.0 GiB",
693
+ capabilities=[{
694
+ "access_mode": "single-node-writer",
695
+ "attachment_mode": "file-system",
696
+ }],
697
+ constraints=[{
698
+ "attribute": "${attr.kernel.name}",
699
+ "value": "linux",
700
+ }],
701
+ parameters={
702
+ "some_key": "some_value",
703
+ })
704
+ ```
705
+
706
+ :param str resource_name: The name of the resource.
707
+ :param DynamicHostVolumeArgs args: The arguments to use to populate this resource's properties.
708
+ :param pulumi.ResourceOptions opts: Options for the resource.
709
+ """
710
+ ...
711
+ def __init__(__self__, resource_name: str, *args, **kwargs):
712
+ resource_args, opts = _utilities.get_resource_args_opts(DynamicHostVolumeArgs, pulumi.ResourceOptions, *args, **kwargs)
713
+ if resource_args is not None:
714
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
715
+ else:
716
+ __self__._internal_init(resource_name, *args, **kwargs)
717
+
718
+ def _internal_init(__self__,
719
+ resource_name: str,
720
+ opts: Optional[pulumi.ResourceOptions] = None,
721
+ capabilities: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DynamicHostVolumeCapabilityArgs', 'DynamicHostVolumeCapabilityArgsDict']]]]] = None,
722
+ capacity_max: Optional[pulumi.Input[builtins.str]] = None,
723
+ capacity_min: Optional[pulumi.Input[builtins.str]] = None,
724
+ constraints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DynamicHostVolumeConstraintArgs', 'DynamicHostVolumeConstraintArgsDict']]]]] = None,
725
+ name: Optional[pulumi.Input[builtins.str]] = None,
726
+ namespace: Optional[pulumi.Input[builtins.str]] = None,
727
+ node_id: Optional[pulumi.Input[builtins.str]] = None,
728
+ node_pool: Optional[pulumi.Input[builtins.str]] = None,
729
+ parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
730
+ plugin_id: Optional[pulumi.Input[builtins.str]] = None,
731
+ __props__=None):
732
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
733
+ if not isinstance(opts, pulumi.ResourceOptions):
734
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
735
+ if opts.id is None:
736
+ if __props__ is not None:
737
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
738
+ __props__ = DynamicHostVolumeArgs.__new__(DynamicHostVolumeArgs)
739
+
740
+ if capabilities is None and not opts.urn:
741
+ raise TypeError("Missing required property 'capabilities'")
742
+ __props__.__dict__["capabilities"] = capabilities
743
+ __props__.__dict__["capacity_max"] = capacity_max
744
+ __props__.__dict__["capacity_min"] = capacity_min
745
+ __props__.__dict__["constraints"] = constraints
746
+ __props__.__dict__["name"] = name
747
+ __props__.__dict__["namespace"] = namespace
748
+ __props__.__dict__["node_id"] = node_id
749
+ __props__.__dict__["node_pool"] = node_pool
750
+ __props__.__dict__["parameters"] = parameters
751
+ if plugin_id is None and not opts.urn:
752
+ raise TypeError("Missing required property 'plugin_id'")
753
+ __props__.__dict__["plugin_id"] = plugin_id
754
+ __props__.__dict__["capacity"] = None
755
+ __props__.__dict__["capacity_bytes"] = None
756
+ __props__.__dict__["capacity_max_bytes"] = None
757
+ __props__.__dict__["capacity_min_bytes"] = None
758
+ __props__.__dict__["host_path"] = None
759
+ __props__.__dict__["state"] = None
760
+ super(DynamicHostVolume, __self__).__init__(
761
+ 'nomad:index/dynamicHostVolume:DynamicHostVolume',
762
+ resource_name,
763
+ __props__,
764
+ opts)
765
+
766
+ @staticmethod
767
+ def get(resource_name: str,
768
+ id: pulumi.Input[str],
769
+ opts: Optional[pulumi.ResourceOptions] = None,
770
+ capabilities: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DynamicHostVolumeCapabilityArgs', 'DynamicHostVolumeCapabilityArgsDict']]]]] = None,
771
+ capacity: Optional[pulumi.Input[builtins.str]] = None,
772
+ capacity_bytes: Optional[pulumi.Input[builtins.int]] = None,
773
+ capacity_max: Optional[pulumi.Input[builtins.str]] = None,
774
+ capacity_max_bytes: Optional[pulumi.Input[builtins.int]] = None,
775
+ capacity_min: Optional[pulumi.Input[builtins.str]] = None,
776
+ capacity_min_bytes: Optional[pulumi.Input[builtins.int]] = None,
777
+ constraints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DynamicHostVolumeConstraintArgs', 'DynamicHostVolumeConstraintArgsDict']]]]] = None,
778
+ host_path: Optional[pulumi.Input[builtins.str]] = None,
779
+ name: Optional[pulumi.Input[builtins.str]] = None,
780
+ namespace: Optional[pulumi.Input[builtins.str]] = None,
781
+ node_id: Optional[pulumi.Input[builtins.str]] = None,
782
+ node_pool: Optional[pulumi.Input[builtins.str]] = None,
783
+ parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
784
+ plugin_id: Optional[pulumi.Input[builtins.str]] = None,
785
+ state: Optional[pulumi.Input[builtins.str]] = None) -> 'DynamicHostVolume':
786
+ """
787
+ Get an existing DynamicHostVolume resource's state with the given name, id, and optional extra
788
+ properties used to qualify the lookup.
789
+
790
+ :param str resource_name: The unique name of the resulting resource.
791
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
792
+ :param pulumi.ResourceOptions opts: Options for the resource.
793
+ :param pulumi.Input[Sequence[pulumi.Input[Union['DynamicHostVolumeCapabilityArgs', 'DynamicHostVolumeCapabilityArgsDict']]]] capabilities: `(block: <optional>)` - Option for validating the capability of a
794
+ volume. Each capability block has the following attributes:
795
+ :param pulumi.Input[builtins.str] capacity: Provisioned capacity
796
+ :param pulumi.Input[builtins.str] capacity_max: `(string: <optional>)` - Option for requesting a maximum
797
+ capacity, in bytes. The capacity of a volume may be the physical size of a
798
+ disk, or a quota, depending on the plugin. The specific size of the resulting
799
+ volume is somewhere between `capacity_min` and `capacity_max`; the exact
800
+ behavior is up to the plugin. If you want to specify an exact size, set
801
+ `capacity_min` and `capacity_max` to the same value. Accepts human-friendly
802
+ suffixes such as `"100GiB"`. Plugins that cannot restrict the size of volumes
803
+ may ignore this field.
804
+ :param pulumi.Input[builtins.str] capacity_min: `(string: <optional>)` - Option for requesting a minimum
805
+ capacity, in bytes. The capacity of a volume may be the physical size of a
806
+ disk, or a quota, depending on the plugin. The specific size of the resulting
807
+ volume is somewhere between `capacity_min` and `capacity_max`; the exact
808
+ behavior is up to the plugin. If you want to specify an exact size, set
809
+ `capacity_min` and `capacity_max` to the same value. Accepts human-friendly
810
+ suffixes such as `"100GiB"`. Plugins that cannot restrict the size of volumes
811
+ may ignore this field.
812
+ :param pulumi.Input[Sequence[pulumi.Input[Union['DynamicHostVolumeConstraintArgs', 'DynamicHostVolumeConstraintArgsDict']]]] constraints: `(block: <optional>)` - A restriction on the eligible nodes where
813
+ a volume can be created, similar to the [`constraint`][] block on a Nomad job
814
+ specification.. You can provide multiple `constraint` blocks to add more
815
+ constraints. Each constraint block has the following attributes.
816
+ :param pulumi.Input[builtins.str] host_path: Host path
817
+ :param pulumi.Input[builtins.str] name: `(string: <required>)` - The name of the volume, which is used as the
818
+ [`volume.source`][volume_source] field in job specifications that claim this
819
+ volume. Host volume names must be unique per node. Names are visible to any
820
+ user with `node:read` ACL, even across namespaces, so they should not be
821
+ treated as sensitive values.
822
+ :param pulumi.Input[builtins.str] namespace: `(string: <optional>)` - The namespace of the volume. This field
823
+ overrides the namespace provided by the `-namespace` flag or `NOMAD_NAMESPACE`
824
+ environment variable. Defaults to `"default"` if unset.
825
+ :param pulumi.Input[builtins.str] node_id: `(string: <optional>)` - A specific node where you would like the
826
+ volume to be created.
827
+ :param pulumi.Input[builtins.str] node_pool: `(string: <optional>)` - A specific node pool where you would like
828
+ the volume to be created. If you also provide `node_id`, the node must be in the
829
+ provided `node_pool`.
830
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] parameters: `(map<string|string>: <optional>)` - A key-value map of strings
831
+ passed directly to the plugin to configure the volume. The details of these
832
+ parameters are specific to the plugin.
833
+ :param pulumi.Input[builtins.str] plugin_id: Plugin ID
834
+ :param pulumi.Input[builtins.str] state: State
835
+ """
836
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
837
+
838
+ __props__ = _DynamicHostVolumeState.__new__(_DynamicHostVolumeState)
839
+
840
+ __props__.__dict__["capabilities"] = capabilities
841
+ __props__.__dict__["capacity"] = capacity
842
+ __props__.__dict__["capacity_bytes"] = capacity_bytes
843
+ __props__.__dict__["capacity_max"] = capacity_max
844
+ __props__.__dict__["capacity_max_bytes"] = capacity_max_bytes
845
+ __props__.__dict__["capacity_min"] = capacity_min
846
+ __props__.__dict__["capacity_min_bytes"] = capacity_min_bytes
847
+ __props__.__dict__["constraints"] = constraints
848
+ __props__.__dict__["host_path"] = host_path
849
+ __props__.__dict__["name"] = name
850
+ __props__.__dict__["namespace"] = namespace
851
+ __props__.__dict__["node_id"] = node_id
852
+ __props__.__dict__["node_pool"] = node_pool
853
+ __props__.__dict__["parameters"] = parameters
854
+ __props__.__dict__["plugin_id"] = plugin_id
855
+ __props__.__dict__["state"] = state
856
+ return DynamicHostVolume(resource_name, opts=opts, __props__=__props__)
857
+
858
+ @property
859
+ @pulumi.getter
860
+ def capabilities(self) -> pulumi.Output[Sequence['outputs.DynamicHostVolumeCapability']]:
861
+ """
862
+ `(block: <optional>)` - Option for validating the capability of a
863
+ volume. Each capability block has the following attributes:
864
+ """
865
+ return pulumi.get(self, "capabilities")
866
+
867
+ @property
868
+ @pulumi.getter
869
+ def capacity(self) -> pulumi.Output[builtins.str]:
870
+ """
871
+ Provisioned capacity
872
+ """
873
+ return pulumi.get(self, "capacity")
874
+
875
+ @property
876
+ @pulumi.getter(name="capacityBytes")
877
+ def capacity_bytes(self) -> pulumi.Output[builtins.int]:
878
+ return pulumi.get(self, "capacity_bytes")
879
+
880
+ @property
881
+ @pulumi.getter(name="capacityMax")
882
+ def capacity_max(self) -> pulumi.Output[Optional[builtins.str]]:
883
+ """
884
+ `(string: <optional>)` - Option for requesting a maximum
885
+ capacity, in bytes. The capacity of a volume may be the physical size of a
886
+ disk, or a quota, depending on the plugin. The specific size of the resulting
887
+ volume is somewhere between `capacity_min` and `capacity_max`; the exact
888
+ behavior is up to the plugin. If you want to specify an exact size, set
889
+ `capacity_min` and `capacity_max` to the same value. Accepts human-friendly
890
+ suffixes such as `"100GiB"`. Plugins that cannot restrict the size of volumes
891
+ may ignore this field.
892
+ """
893
+ return pulumi.get(self, "capacity_max")
894
+
895
+ @property
896
+ @pulumi.getter(name="capacityMaxBytes")
897
+ def capacity_max_bytes(self) -> pulumi.Output[builtins.int]:
898
+ return pulumi.get(self, "capacity_max_bytes")
899
+
900
+ @property
901
+ @pulumi.getter(name="capacityMin")
902
+ def capacity_min(self) -> pulumi.Output[Optional[builtins.str]]:
903
+ """
904
+ `(string: <optional>)` - Option for requesting a minimum
905
+ capacity, in bytes. The capacity of a volume may be the physical size of a
906
+ disk, or a quota, depending on the plugin. The specific size of the resulting
907
+ volume is somewhere between `capacity_min` and `capacity_max`; the exact
908
+ behavior is up to the plugin. If you want to specify an exact size, set
909
+ `capacity_min` and `capacity_max` to the same value. Accepts human-friendly
910
+ suffixes such as `"100GiB"`. Plugins that cannot restrict the size of volumes
911
+ may ignore this field.
912
+ """
913
+ return pulumi.get(self, "capacity_min")
914
+
915
+ @property
916
+ @pulumi.getter(name="capacityMinBytes")
917
+ def capacity_min_bytes(self) -> pulumi.Output[builtins.int]:
918
+ return pulumi.get(self, "capacity_min_bytes")
919
+
920
+ @property
921
+ @pulumi.getter
922
+ def constraints(self) -> pulumi.Output[Optional[Sequence['outputs.DynamicHostVolumeConstraint']]]:
923
+ """
924
+ `(block: <optional>)` - A restriction on the eligible nodes where
925
+ a volume can be created, similar to the [`constraint`][] block on a Nomad job
926
+ specification.. You can provide multiple `constraint` blocks to add more
927
+ constraints. Each constraint block has the following attributes.
928
+ """
929
+ return pulumi.get(self, "constraints")
930
+
931
+ @property
932
+ @pulumi.getter(name="hostPath")
933
+ def host_path(self) -> pulumi.Output[builtins.str]:
934
+ """
935
+ Host path
936
+ """
937
+ return pulumi.get(self, "host_path")
938
+
939
+ @property
940
+ @pulumi.getter
941
+ def name(self) -> pulumi.Output[builtins.str]:
942
+ """
943
+ `(string: <required>)` - The name of the volume, which is used as the
944
+ [`volume.source`][volume_source] field in job specifications that claim this
945
+ volume. Host volume names must be unique per node. Names are visible to any
946
+ user with `node:read` ACL, even across namespaces, so they should not be
947
+ treated as sensitive values.
948
+ """
949
+ return pulumi.get(self, "name")
950
+
951
+ @property
952
+ @pulumi.getter
953
+ def namespace(self) -> pulumi.Output[Optional[builtins.str]]:
954
+ """
955
+ `(string: <optional>)` - The namespace of the volume. This field
956
+ overrides the namespace provided by the `-namespace` flag or `NOMAD_NAMESPACE`
957
+ environment variable. Defaults to `"default"` if unset.
958
+ """
959
+ return pulumi.get(self, "namespace")
960
+
961
+ @property
962
+ @pulumi.getter(name="nodeId")
963
+ def node_id(self) -> pulumi.Output[builtins.str]:
964
+ """
965
+ `(string: <optional>)` - A specific node where you would like the
966
+ volume to be created.
967
+ """
968
+ return pulumi.get(self, "node_id")
969
+
970
+ @property
971
+ @pulumi.getter(name="nodePool")
972
+ def node_pool(self) -> pulumi.Output[builtins.str]:
973
+ """
974
+ `(string: <optional>)` - A specific node pool where you would like
975
+ the volume to be created. If you also provide `node_id`, the node must be in the
976
+ provided `node_pool`.
977
+ """
978
+ return pulumi.get(self, "node_pool")
979
+
980
+ @property
981
+ @pulumi.getter
982
+ def parameters(self) -> pulumi.Output[Optional[Mapping[str, builtins.str]]]:
983
+ """
984
+ `(map<string|string>: <optional>)` - A key-value map of strings
985
+ passed directly to the plugin to configure the volume. The details of these
986
+ parameters are specific to the plugin.
987
+ """
988
+ return pulumi.get(self, "parameters")
989
+
990
+ @property
991
+ @pulumi.getter(name="pluginId")
992
+ def plugin_id(self) -> pulumi.Output[builtins.str]:
993
+ """
994
+ Plugin ID
995
+ """
996
+ return pulumi.get(self, "plugin_id")
997
+
998
+ @property
999
+ @pulumi.getter
1000
+ def state(self) -> pulumi.Output[builtins.str]:
1001
+ """
1002
+ State
1003
+ """
1004
+ return pulumi.get(self, "state")
1005
+