@pulumi/nomad 2.6.0-alpha.1776321506 → 2.6.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/types/output.d.ts CHANGED
@@ -198,9 +198,9 @@ export interface AclPolicyJobAcl {
198
198
  */
199
199
  group?: string;
200
200
  /**
201
- * Job
201
+ * Job. If empty, the policy applies to all jobs in the namespace.
202
202
  */
203
- jobId: string;
203
+ jobId?: string;
204
204
  /**
205
205
  * Namespace
206
206
  */
@@ -705,73 +705,177 @@ export interface GetJobConstraint {
705
705
  }
706
706
  export interface GetJobPeriodicConfig {
707
707
  /**
708
- * `(boolean)` If periodic scheduling is enabled for the specified job.
708
+ * `(boolean)` Whether the periodic job is enabled. When disabled, scheduled runs and force launches are prevented.
709
709
  */
710
710
  enabled: boolean;
711
711
  /**
712
- * `(boolean)` If the specified job should wait until previous instances of the job have completed.
712
+ * `(boolean)` Whether this job should wait until previous instances of the same job have completed before launching again.
713
713
  */
714
714
  prohibitOverlap: boolean;
715
715
  /**
716
- * `(string)`
716
+ * `(string)` Cron expression configuring the interval at which the job is launched.
717
717
  */
718
718
  spec: string;
719
719
  /**
720
- * `(string)`
720
+ * `(string)` Type of periodic specification, such as `cron`.
721
721
  */
722
722
  specType: string;
723
723
  /**
724
- * `(string)` Time zone to evaluate the next launch interval against.
724
+ * `(string)` Time zone used to evaluate the next launch interval.
725
725
  */
726
726
  timezone: string;
727
727
  }
728
728
  export interface GetJobTaskGroup {
729
+ /**
730
+ * `(integer)` Task group count.
731
+ */
729
732
  count: number;
733
+ /**
734
+ * `(map of strings)` Task group metadata.
735
+ */
730
736
  meta: {
731
737
  [key: string]: string;
732
738
  };
733
739
  /**
734
- * `(string)` Name of the job.
740
+ * `(string)` Volume name.
735
741
  */
736
742
  name: string;
743
+ /**
744
+ * `(list of maps)` Tasks in the task group.
745
+ */
737
746
  tasks: outputs.GetJobTaskGroupTask[];
747
+ /**
748
+ * `(list of maps)` Job-level update strategy returned by Nomad.
749
+ */
750
+ updateStrategies: outputs.GetJobTaskGroupUpdateStrategy[];
751
+ /**
752
+ * `(list of maps)` Volume requests for the task group.
753
+ */
738
754
  volumes: outputs.GetJobTaskGroupVolume[];
739
755
  }
740
756
  export interface GetJobTaskGroupTask {
757
+ /**
758
+ * `(string)` Task driver.
759
+ */
741
760
  driver: string;
761
+ /**
762
+ * `(map of strings)` Task group metadata.
763
+ */
742
764
  meta: {
743
765
  [key: string]: string;
744
766
  };
745
767
  /**
746
- * `(string)` Name of the job.
768
+ * `(string)` Volume name.
747
769
  */
748
770
  name: string;
771
+ /**
772
+ * `(list of maps)` Task volume mounts.
773
+ */
749
774
  volumeMounts: outputs.GetJobTaskGroupTaskVolumeMount[];
750
775
  }
751
776
  export interface GetJobTaskGroupTaskVolumeMount {
777
+ /**
778
+ * `(string)` Destination path inside the task.
779
+ */
752
780
  destination: string;
781
+ /**
782
+ * `(boolean)` Whether the volume is read-only.
783
+ */
753
784
  readOnly: boolean;
785
+ /**
786
+ * `(string)` Volume name.
787
+ */
754
788
  volume: string;
755
789
  }
790
+ export interface GetJobTaskGroupUpdateStrategy {
791
+ /**
792
+ * `(boolean)` Whether the job should automatically revert to the last stable job on deployment failure.
793
+ */
794
+ autoRevert: boolean;
795
+ /**
796
+ * `(integer)` Number of canary allocations created before destructive updates continue.
797
+ */
798
+ canary: number;
799
+ /**
800
+ * `(string)` Mechanism used to determine allocation health: `checks`, `taskStates`, or `manual`.
801
+ */
802
+ healthCheck: string;
803
+ /**
804
+ * `(string)` Deadline by which the allocation must become healthy before it is marked unhealthy.
805
+ */
806
+ healthyDeadline: string;
807
+ /**
808
+ * `(integer)` Number of allocations within a task group that can be destructively updated at the same time. Setting `0` forces updates instead of deployments.
809
+ */
810
+ maxParallel: number;
811
+ /**
812
+ * `(string)` Minimum time the allocation must be in the healthy state before further updates can proceed.
813
+ */
814
+ minHealthyTime: string;
815
+ /**
816
+ * `(string)` Delay between each set of `maxParallel` updates when updating system jobs.
817
+ */
818
+ stagger: string;
819
+ }
756
820
  export interface GetJobTaskGroupVolume {
757
821
  /**
758
- * `(string)` Name of the job.
822
+ * `(string)` Volume name.
759
823
  */
760
824
  name: string;
825
+ /**
826
+ * `(boolean)` Whether the volume is read-only.
827
+ */
761
828
  readOnly: boolean;
829
+ /**
830
+ * `(string)` Volume source.
831
+ */
762
832
  source: string;
763
833
  /**
764
- * `(string)` Scheduler type used during job creation.
834
+ * `(string)` Volume type.
765
835
  */
766
836
  type: string;
767
837
  }
838
+ export interface GetJobUpdateStrategy {
839
+ /**
840
+ * `(boolean)` Whether the job should automatically revert to the last stable job on deployment failure.
841
+ */
842
+ autoRevert: boolean;
843
+ /**
844
+ * `(integer)` Number of canary allocations created before destructive updates continue.
845
+ */
846
+ canary: number;
847
+ /**
848
+ * `(string)` Mechanism used to determine allocation health: `checks`, `taskStates`, or `manual`.
849
+ */
850
+ healthCheck: string;
851
+ /**
852
+ * `(string)` Deadline by which the allocation must become healthy before it is marked unhealthy.
853
+ */
854
+ healthyDeadline: string;
855
+ /**
856
+ * `(integer)` Number of allocations within a task group that can be destructively updated at the same time. Setting `0` forces updates instead of deployments.
857
+ */
858
+ maxParallel: number;
859
+ /**
860
+ * `(string)` Minimum time the allocation must be in the healthy state before further updates can proceed.
861
+ */
862
+ minHealthyTime: string;
863
+ /**
864
+ * `(string)` Delay between each set of `maxParallel` updates when updating system jobs.
865
+ */
866
+ stagger: string;
867
+ }
768
868
  export interface GetJwksKey {
769
869
  /**
770
- * `(string)` - JWK field `alg`
870
+ * `(string)` - JWK field `alg` (e.g. `RS256`, `EdDSA`)
771
871
  */
772
872
  algorithm: string;
773
873
  /**
774
- * `(string)` - JWK field `e`
874
+ * `(string)` - JWK field `crv` (EdDSA only, e.g. `Ed25519`)
875
+ */
876
+ curve: string;
877
+ /**
878
+ * `(string)` - JWK field `e` (RSA only)
775
879
  */
776
880
  exponent: string;
777
881
  /**
@@ -779,7 +883,7 @@ export interface GetJwksKey {
779
883
  */
780
884
  keyId: string;
781
885
  /**
782
- * `(string)` - JWK field `kty`
886
+ * `(string)` - JWK field `kty` (e.g. `RSA`, `OKP`)
783
887
  */
784
888
  keyType: string;
785
889
  /**
@@ -787,9 +891,13 @@ export interface GetJwksKey {
787
891
  */
788
892
  keyUse: string;
789
893
  /**
790
- * `(string)` - JWK field `n`
894
+ * `(string)` - JWK field `n` (RSA only)
791
895
  */
792
896
  modulus: string;
897
+ /**
898
+ * `(string)` - JWK field `x` (EdDSA only, the public key)
899
+ */
900
+ x: string;
793
901
  }
794
902
  export interface GetNamespaceCapability {
795
903
  /**
@@ -809,11 +917,178 @@ export interface GetNamespaceCapability {
809
917
  */
810
918
  enabledTaskDrivers?: string[];
811
919
  }
920
+ export interface GetNamespaceConsulConfig {
921
+ /**
922
+ * `([]string)` - The list of Consul clusters allowed to be used in this namespace.
923
+ */
924
+ alloweds: string[];
925
+ /**
926
+ * `(string)` - The Consul cluster to use when none is specified in the job.
927
+ */
928
+ default: string;
929
+ /**
930
+ * `([]string)` - The list of Consul clusters not allowed to be used in this namespace.
931
+ */
932
+ denieds: string[];
933
+ }
812
934
  export interface GetNamespaceNodePoolConfig {
935
+ /**
936
+ * `([]string)` - The list of Consul clusters allowed to be used in this namespace.
937
+ */
813
938
  alloweds: string[];
939
+ /**
940
+ * `(string)` - The Consul cluster to use when none is specified in the job.
941
+ */
814
942
  default: string;
943
+ /**
944
+ * `([]string)` - The list of Consul clusters not allowed to be used in this namespace.
945
+ */
815
946
  denieds: string[];
816
947
  }
948
+ export interface GetNamespaceVaultConfig {
949
+ /**
950
+ * `([]string)` - The list of Consul clusters allowed to be used in this namespace.
951
+ */
952
+ alloweds: string[];
953
+ /**
954
+ * `(string)` - The Consul cluster to use when none is specified in the job.
955
+ */
956
+ default: string;
957
+ /**
958
+ * `([]string)` - The list of Consul clusters not allowed to be used in this namespace.
959
+ */
960
+ denieds: string[];
961
+ }
962
+ export interface GetNodeDriver {
963
+ /**
964
+ * `(map of string)` - Driver-specific attributes.
965
+ */
966
+ attributes: {
967
+ [key: string]: string;
968
+ };
969
+ /**
970
+ * `(bool)` - Whether the driver is detected.
971
+ */
972
+ detected: boolean;
973
+ /**
974
+ * `(bool)` - Whether the driver is healthy.
975
+ */
976
+ healthy: boolean;
977
+ /**
978
+ * `(string)` - The device name.
979
+ */
980
+ name: string;
981
+ }
982
+ export interface GetNodeHostVolume {
983
+ /**
984
+ * `(string)` - The ID of the host volume (set for dynamic host volumes only).
985
+ */
986
+ id: string;
987
+ /**
988
+ * `(string)` - The device name.
989
+ */
990
+ name: string;
991
+ /**
992
+ * `(string)` - The path of the host volume.
993
+ */
994
+ path: string;
995
+ /**
996
+ * `(bool)` - Whether the host volume is read-only.
997
+ */
998
+ readOnly: boolean;
999
+ }
1000
+ export interface GetNodeNodeResource {
1001
+ /**
1002
+ * `(list)` - Reserved CPU resources.
1003
+ */
1004
+ cpus: outputs.GetNodeNodeResourceCpus[];
1005
+ /**
1006
+ * `(list)` - Device resources on the node (GPUs, etc.).
1007
+ */
1008
+ devices: outputs.GetNodeNodeResourceDevice[];
1009
+ /**
1010
+ * `(list)` - Reserved disk resources.
1011
+ */
1012
+ disks: outputs.GetNodeNodeResourceDisk[];
1013
+ /**
1014
+ * `(int)` - Maximum dynamic port for this node.
1015
+ */
1016
+ maxDynamicPort: number;
1017
+ /**
1018
+ * `(list)` - Reserved memory resources.
1019
+ */
1020
+ memories: outputs.GetNodeNodeResourceMemory[];
1021
+ /**
1022
+ * `(int)` - Minimum dynamic port for this node.
1023
+ */
1024
+ minDynamicPort: number;
1025
+ /**
1026
+ * `(map of string)` - Reserved network resources.
1027
+ */
1028
+ networks: outputs.GetNodeNodeResourceNetwork[];
1029
+ }
1030
+ export interface GetNodeNodeResourceCpus {
1031
+ /**
1032
+ * `(int)` - Reserved CPU shares.
1033
+ */
1034
+ cpuShares: number;
1035
+ /**
1036
+ * `(list of int)` - List of reservable CPU core IDs.
1037
+ */
1038
+ reservableCpuCores: number[];
1039
+ /**
1040
+ * `(int)` - Total number of CPU cores.
1041
+ */
1042
+ totalCpuCores: number;
1043
+ }
1044
+ export interface GetNodeNodeResourceDevice {
1045
+ /**
1046
+ * `(int)` - The number of device instances.
1047
+ */
1048
+ count: number;
1049
+ /**
1050
+ * `(string)` - The device name.
1051
+ */
1052
+ name: string;
1053
+ /**
1054
+ * `(string)` - The device type.
1055
+ */
1056
+ type: string;
1057
+ /**
1058
+ * `(string)` - The device vendor.
1059
+ */
1060
+ vendor: string;
1061
+ }
1062
+ export interface GetNodeNodeResourceDisk {
1063
+ /**
1064
+ * `(int)` - Reserved disk space in MB.
1065
+ */
1066
+ diskMb: number;
1067
+ }
1068
+ export interface GetNodeNodeResourceMemory {
1069
+ /**
1070
+ * `(int)` - Reserved memory in MB.
1071
+ */
1072
+ memoryMb: number;
1073
+ }
1074
+ export interface GetNodeNodeResourceNetwork {
1075
+ /**
1076
+ * `(string)` - The CIDR of the network.
1077
+ */
1078
+ cidr: string;
1079
+ /**
1080
+ * `(string)` - The network device.
1081
+ */
1082
+ device: string;
1083
+ /**
1084
+ * `(string)` - The IP address of the network.
1085
+ */
1086
+ ip: string;
1087
+ /**
1088
+ * `(string)` - The network mode.
1089
+ */
1090
+ mode: string;
1091
+ }
817
1092
  export interface GetNodePoolSchedulerConfig {
818
1093
  /**
819
1094
  * `(string)` - Whether or not memory
@@ -843,6 +1118,11 @@ export interface GetNodePoolsNodePool {
843
1118
  * `(string)` - The name of the node pool.
844
1119
  */
845
1120
  name: string;
1121
+ /**
1122
+ * `(string)` - The TTL applied to node identities issued to
1123
+ * nodes in this pool.
1124
+ */
1125
+ nodeIdentityTtl: string;
846
1126
  /**
847
1127
  * `(block)` - Scheduler configuration for the node pool.
848
1128
  */
@@ -861,6 +1141,264 @@ export interface GetNodePoolsNodePoolSchedulerConfig {
861
1141
  */
862
1142
  schedulerAlgorithm: string;
863
1143
  }
1144
+ export interface GetNodeReservedResource {
1145
+ /**
1146
+ * `(list)` - Reserved CPU resources.
1147
+ */
1148
+ cpus: outputs.GetNodeReservedResourceCpus[];
1149
+ /**
1150
+ * `(list)` - Reserved disk resources.
1151
+ */
1152
+ disks: outputs.GetNodeReservedResourceDisk[];
1153
+ /**
1154
+ * `(list)` - Reserved memory resources.
1155
+ */
1156
+ memories: outputs.GetNodeReservedResourceMemory[];
1157
+ /**
1158
+ * `(map of string)` - Reserved network resources.
1159
+ */
1160
+ networks: {
1161
+ [key: string]: string;
1162
+ };
1163
+ }
1164
+ export interface GetNodeReservedResourceCpus {
1165
+ /**
1166
+ * `(int)` - Reserved CPU shares.
1167
+ */
1168
+ cpuShares: number;
1169
+ }
1170
+ export interface GetNodeReservedResourceDisk {
1171
+ /**
1172
+ * `(int)` - Reserved disk space in MB.
1173
+ */
1174
+ diskMb: number;
1175
+ }
1176
+ export interface GetNodeReservedResourceMemory {
1177
+ /**
1178
+ * `(int)` - Reserved memory in MB.
1179
+ */
1180
+ memoryMb: number;
1181
+ }
1182
+ export interface GetNodesNode {
1183
+ /**
1184
+ * `(string)` - The address of the node.
1185
+ */
1186
+ address: string;
1187
+ /**
1188
+ * `(map of string)` - Driver-specific attributes.
1189
+ */
1190
+ attributes: {
1191
+ [key: string]: string;
1192
+ };
1193
+ /**
1194
+ * `(string)` - The datacenter of the node.
1195
+ */
1196
+ datacenter: string;
1197
+ /**
1198
+ * `(bool)` - Whether the node is in drain mode. This value is ephemeral
1199
+ * and can change without an agent restart.
1200
+ */
1201
+ drain: boolean;
1202
+ /**
1203
+ * `(list of drivers)` - A list of driver information for the node.
1204
+ */
1205
+ drivers: outputs.GetNodesNodeDriver[];
1206
+ /**
1207
+ * `(string)` - The ID of the node.
1208
+ */
1209
+ id: string;
1210
+ /**
1211
+ * `(string)` - The device name.
1212
+ */
1213
+ name: string;
1214
+ /**
1215
+ * `(string)` - The node class of the node.
1216
+ */
1217
+ nodeClass: string;
1218
+ /**
1219
+ * `(string)` - The node pool of the node.
1220
+ */
1221
+ nodePool: string;
1222
+ /**
1223
+ * `(list)` - Resources available on the node. Only populated
1224
+ * when the `resources` parameter is set to true.
1225
+ */
1226
+ nodeResources: outputs.GetNodesNodeNodeResource[];
1227
+ /**
1228
+ * `(list)` - Resources reserved on the node. Only populated
1229
+ * when the `resources` parameter is set to true.
1230
+ */
1231
+ reservedResources: outputs.GetNodesNodeReservedResource[];
1232
+ /**
1233
+ * `(string)` - The scheduling eligibility of the node.
1234
+ * This value is ephemeral and can change without an agent restart.
1235
+ */
1236
+ schedulingEligibility: string;
1237
+ /**
1238
+ * `(string)` - The status of the node. This value is ephemeral and
1239
+ * can change without an agent restart.
1240
+ */
1241
+ status: string;
1242
+ /**
1243
+ * `(string)` - The status description of the node. This
1244
+ * value is ephemeral and can change without an agent restart.
1245
+ */
1246
+ statusDescription: string;
1247
+ /**
1248
+ * `(string)` - The Nomad version of the node.
1249
+ */
1250
+ version: string;
1251
+ }
1252
+ export interface GetNodesNodeDriver {
1253
+ /**
1254
+ * `(map of string)` - Driver-specific attributes.
1255
+ */
1256
+ attributes: {
1257
+ [key: string]: string;
1258
+ };
1259
+ /**
1260
+ * `(bool)` - Whether the driver is detected.
1261
+ */
1262
+ detected: boolean;
1263
+ /**
1264
+ * `(bool)` - Whether the driver is healthy.
1265
+ */
1266
+ healthy: boolean;
1267
+ /**
1268
+ * `(string)` - The device name.
1269
+ */
1270
+ name: string;
1271
+ }
1272
+ export interface GetNodesNodeNodeResource {
1273
+ /**
1274
+ * `(list)` - Reserved CPU resources.
1275
+ */
1276
+ cpus: outputs.GetNodesNodeNodeResourceCpus[];
1277
+ /**
1278
+ * `(list)` - Device resources on the node (GPUs, etc.).
1279
+ */
1280
+ devices: outputs.GetNodesNodeNodeResourceDevice[];
1281
+ /**
1282
+ * `(list)` - Reserved disk resources.
1283
+ */
1284
+ disks: outputs.GetNodesNodeNodeResourceDisk[];
1285
+ /**
1286
+ * `(int)` - Maximum dynamic port for this node.
1287
+ */
1288
+ maxDynamicPort: number;
1289
+ /**
1290
+ * `(list)` - Reserved memory resources.
1291
+ */
1292
+ memories: outputs.GetNodesNodeNodeResourceMemory[];
1293
+ /**
1294
+ * `(int)` - Minimum dynamic port for this node.
1295
+ */
1296
+ minDynamicPort: number;
1297
+ /**
1298
+ * `(map of string)` - Reserved network resources.
1299
+ */
1300
+ networks: outputs.GetNodesNodeNodeResourceNetwork[];
1301
+ }
1302
+ export interface GetNodesNodeNodeResourceCpus {
1303
+ /**
1304
+ * `(int)` - Reserved CPU shares.
1305
+ */
1306
+ cpuShares: number;
1307
+ /**
1308
+ * `(list of int)` - List of reservable CPU core IDs.
1309
+ */
1310
+ reservableCpuCores: number[];
1311
+ /**
1312
+ * `(int)` - Total number of CPU cores.
1313
+ */
1314
+ totalCpuCores: number;
1315
+ }
1316
+ export interface GetNodesNodeNodeResourceDevice {
1317
+ /**
1318
+ * `(int)` - The number of device instances.
1319
+ */
1320
+ count: number;
1321
+ /**
1322
+ * `(string)` - The device name.
1323
+ */
1324
+ name: string;
1325
+ /**
1326
+ * `(string)` - The device type.
1327
+ */
1328
+ type: string;
1329
+ /**
1330
+ * `(string)` - The device vendor.
1331
+ */
1332
+ vendor: string;
1333
+ }
1334
+ export interface GetNodesNodeNodeResourceDisk {
1335
+ /**
1336
+ * `(int)` - Reserved disk space in MB.
1337
+ */
1338
+ diskMb: number;
1339
+ }
1340
+ export interface GetNodesNodeNodeResourceMemory {
1341
+ /**
1342
+ * `(int)` - Reserved memory in MB.
1343
+ */
1344
+ memoryMb: number;
1345
+ }
1346
+ export interface GetNodesNodeNodeResourceNetwork {
1347
+ /**
1348
+ * `(string)` - The CIDR of the network.
1349
+ */
1350
+ cidr: string;
1351
+ /**
1352
+ * `(string)` - The network device.
1353
+ */
1354
+ device: string;
1355
+ /**
1356
+ * `(string)` - The IP address of the network.
1357
+ */
1358
+ ip: string;
1359
+ /**
1360
+ * `(string)` - The network mode.
1361
+ */
1362
+ mode: string;
1363
+ }
1364
+ export interface GetNodesNodeReservedResource {
1365
+ /**
1366
+ * `(list)` - Reserved CPU resources.
1367
+ */
1368
+ cpus: outputs.GetNodesNodeReservedResourceCpus[];
1369
+ /**
1370
+ * `(list)` - Reserved disk resources.
1371
+ */
1372
+ disks: outputs.GetNodesNodeReservedResourceDisk[];
1373
+ /**
1374
+ * `(list)` - Reserved memory resources.
1375
+ */
1376
+ memories: outputs.GetNodesNodeReservedResourceMemory[];
1377
+ /**
1378
+ * `(map of string)` - Reserved network resources.
1379
+ */
1380
+ networks: {
1381
+ [key: string]: string;
1382
+ };
1383
+ }
1384
+ export interface GetNodesNodeReservedResourceCpus {
1385
+ /**
1386
+ * `(int)` - Reserved CPU shares.
1387
+ */
1388
+ cpuShares: number;
1389
+ }
1390
+ export interface GetNodesNodeReservedResourceDisk {
1391
+ /**
1392
+ * `(int)` - Reserved disk space in MB.
1393
+ */
1394
+ diskMb: number;
1395
+ }
1396
+ export interface GetNodesNodeReservedResourceMemory {
1397
+ /**
1398
+ * `(int)` - Reserved memory in MB.
1399
+ */
1400
+ memoryMb: number;
1401
+ }
864
1402
  export interface GetPluginNode {
865
1403
  healthy: boolean;
866
1404
  healthyDescription: string;
@@ -886,6 +1424,20 @@ export interface GetScalingPoliciesPolicy {
886
1424
  */
887
1425
  type: string;
888
1426
  }
1427
+ export interface JobConstraint {
1428
+ /**
1429
+ * `(string)` - Attribute being constrained.
1430
+ */
1431
+ ltarget: string;
1432
+ /**
1433
+ * `(string)` - Operator used to compare the attribute to the constraint.
1434
+ */
1435
+ operand: string;
1436
+ /**
1437
+ * `(string)` - Constraint value.
1438
+ */
1439
+ rtarget: string;
1440
+ }
889
1441
  export interface JobHcl2 {
890
1442
  /**
891
1443
  * `(boolean: false)` - Set this to `true` to be able to use
@@ -899,34 +1451,168 @@ export interface JobHcl2 {
899
1451
  [key: string]: string;
900
1452
  };
901
1453
  }
1454
+ export interface JobPeriodicConfig {
1455
+ /**
1456
+ * `(boolean)` - Whether the periodic job is enabled. When disabled, scheduled runs and force launches are prevented.
1457
+ */
1458
+ enabled: boolean;
1459
+ /**
1460
+ * `(boolean)` - Whether this job should wait until previous instances of the same job have completed before launching again.
1461
+ */
1462
+ prohibitOverlap: boolean;
1463
+ /**
1464
+ * `(string)` - Cron expression configuring the interval at which the job is launched.
1465
+ */
1466
+ spec: string;
1467
+ /**
1468
+ * `(string)` - Type of periodic specification, such as `cron`.
1469
+ */
1470
+ specType: string;
1471
+ /**
1472
+ * `(string)` - Time zone used to evaluate the next launch interval.
1473
+ */
1474
+ timezone: string;
1475
+ }
902
1476
  export interface JobTaskGroup {
1477
+ /**
1478
+ * `(integer)` - Task group count.
1479
+ */
903
1480
  count: number;
1481
+ /**
1482
+ * `(map of strings)` - Task group metadata.
1483
+ */
904
1484
  meta: {
905
1485
  [key: string]: string;
906
1486
  };
1487
+ /**
1488
+ * `(string)` - Volume name.
1489
+ */
907
1490
  name: string;
1491
+ /**
1492
+ * `(list of maps)` - Tasks in the task group.
1493
+ */
908
1494
  tasks: outputs.JobTaskGroupTask[];
1495
+ /**
1496
+ * `(list of maps)` - Effective update strategy for the task group.
1497
+ */
1498
+ updateStrategies: outputs.JobTaskGroupUpdateStrategy[];
1499
+ /**
1500
+ * `(list of maps)` - Volume requests for the task group.
1501
+ */
909
1502
  volumes: outputs.JobTaskGroupVolume[];
910
1503
  }
911
1504
  export interface JobTaskGroupTask {
1505
+ /**
1506
+ * `(string)` - Task driver.
1507
+ */
912
1508
  driver: string;
1509
+ /**
1510
+ * `(map of strings)` - Task group metadata.
1511
+ */
913
1512
  meta: {
914
1513
  [key: string]: string;
915
1514
  };
1515
+ /**
1516
+ * `(string)` - Volume name.
1517
+ */
916
1518
  name: string;
1519
+ /**
1520
+ * `(list of maps)` - Task volume mounts.
1521
+ */
917
1522
  volumeMounts: outputs.JobTaskGroupTaskVolumeMount[];
918
1523
  }
919
1524
  export interface JobTaskGroupTaskVolumeMount {
1525
+ /**
1526
+ * `(string)` - Destination path inside the task.
1527
+ */
920
1528
  destination: string;
1529
+ /**
1530
+ * `(boolean)` - Whether the volume is read-only.
1531
+ */
921
1532
  readOnly: boolean;
1533
+ /**
1534
+ * `(string)` - Volume name.
1535
+ */
922
1536
  volume: string;
923
1537
  }
1538
+ export interface JobTaskGroupUpdateStrategy {
1539
+ /**
1540
+ * `(boolean)` - Whether the job should automatically revert to the last stable job on deployment failure.
1541
+ */
1542
+ autoRevert: boolean;
1543
+ /**
1544
+ * `(integer)` - Number of canary allocations created before destructive updates continue.
1545
+ */
1546
+ canary: number;
1547
+ /**
1548
+ * `(string)` - Mechanism used to determine allocation health: `checks`, `taskStates`, or `manual`.
1549
+ */
1550
+ healthCheck: string;
1551
+ /**
1552
+ * `(string)` - Deadline by which the allocation must become healthy before it is marked unhealthy.
1553
+ */
1554
+ healthyDeadline: string;
1555
+ /**
1556
+ * `(integer)` - Number of allocations within a task group that can be destructively updated at the same time. Setting `0` forces updates instead of deployments.
1557
+ */
1558
+ maxParallel: number;
1559
+ /**
1560
+ * `(string)` - Minimum time the allocation must be in the healthy state before further updates can proceed.
1561
+ */
1562
+ minHealthyTime: string;
1563
+ /**
1564
+ * `(string)` - Delay between each set of `maxParallel` updates when updating system jobs.
1565
+ */
1566
+ stagger: string;
1567
+ }
924
1568
  export interface JobTaskGroupVolume {
1569
+ /**
1570
+ * `(string)` - Volume name.
1571
+ */
925
1572
  name: string;
1573
+ /**
1574
+ * `(boolean)` - Whether the volume is read-only.
1575
+ */
926
1576
  readOnly: boolean;
1577
+ /**
1578
+ * `(string)` - Volume source.
1579
+ */
927
1580
  source: string;
1581
+ /**
1582
+ * `(string)` - Volume type.
1583
+ */
928
1584
  type: string;
929
1585
  }
1586
+ export interface JobUpdateStrategy {
1587
+ /**
1588
+ * `(boolean)` - Whether the job should automatically revert to the last stable job on deployment failure.
1589
+ */
1590
+ autoRevert: boolean;
1591
+ /**
1592
+ * `(integer)` - Number of canary allocations created before destructive updates continue.
1593
+ */
1594
+ canary: number;
1595
+ /**
1596
+ * `(string)` - Mechanism used to determine allocation health: `checks`, `taskStates`, or `manual`.
1597
+ */
1598
+ healthCheck: string;
1599
+ /**
1600
+ * `(string)` - Deadline by which the allocation must become healthy before it is marked unhealthy.
1601
+ */
1602
+ healthyDeadline: string;
1603
+ /**
1604
+ * `(integer)` - Number of allocations within a task group that can be destructively updated at the same time. Setting `0` forces updates instead of deployments.
1605
+ */
1606
+ maxParallel: number;
1607
+ /**
1608
+ * `(string)` - Minimum time the allocation must be in the healthy state before further updates can proceed.
1609
+ */
1610
+ minHealthyTime: string;
1611
+ /**
1612
+ * `(string)` - Delay between each set of `maxParallel` updates when updating system jobs.
1613
+ */
1614
+ stagger: string;
1615
+ }
930
1616
  export interface NamespaceCapabilities {
931
1617
  /**
932
1618
  * `([]string: <optional>)` - Network modes disabled for the namespace.
@@ -945,6 +1631,20 @@ export interface NamespaceCapabilities {
945
1631
  */
946
1632
  enabledTaskDrivers?: string[];
947
1633
  }
1634
+ export interface NamespaceConsulConfig {
1635
+ /**
1636
+ * `([]string: <optional>)` - The list of Consul clusters allowed to be used in this namespace. Cannot be used with `denied`.
1637
+ */
1638
+ alloweds?: string[];
1639
+ /**
1640
+ * `(string: <optional>)` - The Consul cluster to use when none is specified in the job.
1641
+ */
1642
+ default?: string;
1643
+ /**
1644
+ * `([]string: <optional>)` - The list of Consul clusters not allowed to be used in this namespace. Cannot be used with `allowed`.
1645
+ */
1646
+ denieds?: string[];
1647
+ }
948
1648
  export interface NamespaceNodePoolConfig {
949
1649
  /**
950
1650
  * `([]string: <optional>)` - The list of node pools that are allowed to be used in this namespace.
@@ -959,6 +1659,20 @@ export interface NamespaceNodePoolConfig {
959
1659
  */
960
1660
  denieds?: string[];
961
1661
  }
1662
+ export interface NamespaceVaultConfig {
1663
+ /**
1664
+ * `([]string: <optional>)` - The list of Vault clusters allowed to be used in this namespace. Cannot be used with `denied`.
1665
+ */
1666
+ alloweds?: string[];
1667
+ /**
1668
+ * `(string: <optional>)` - The Vault cluster to use when none is specified in the job.
1669
+ */
1670
+ default?: string;
1671
+ /**
1672
+ * `([]string: <optional>)` - The list of Vault clusters not allowed to be used in this namespace. Cannot be used with `allowed`.
1673
+ */
1674
+ denieds?: string[];
1675
+ }
962
1676
  export interface NodePoolSchedulerConfig {
963
1677
  /**
964
1678
  * `(string)` - Whether or not memory
@@ -981,27 +1695,130 @@ export interface NodePoolSchedulerConfig {
981
1695
  export interface QuoteSpecificationLimit {
982
1696
  /**
983
1697
  * `(string: <required>)` - The region these limits should apply to.
1698
+ * - `regionLimit` `(block: <required>)` - The limits to enforce. This block
1699
+ * may only be specified once in the `limits` block. Its structure is
1700
+ * documented below.
984
1701
  */
985
1702
  region: string;
986
1703
  /**
987
- * `(block: <required>)` - The limits to enforce. This block
988
- * may only be specified once in the `limits` block. Its structure is
989
- * documented below.
1704
+ * The limit applied to this region.
990
1705
  */
991
1706
  regionLimit: outputs.QuoteSpecificationLimitRegionLimit;
992
1707
  }
993
1708
  export interface QuoteSpecificationLimitRegionLimit {
1709
+ /**
1710
+ * `(int: 0)` - The number of CPU cores to limit allocations to. A value
1711
+ * of zero is treated as unlimited, and a negative value is treated as fully
1712
+ * disallowed.
1713
+ */
1714
+ cores?: number;
994
1715
  /**
995
1716
  * `(int: 0)` - The amount of CPU to limit allocations to. A value of zero
996
1717
  * is treated as unlimited, and a negative value is treated as fully disallowed.
997
1718
  */
998
1719
  cpu?: number;
1720
+ devices?: outputs.QuoteSpecificationLimitRegionLimitDevice[];
1721
+ /**
1722
+ * `(int: 0)` - The maximum amount of memory (in megabytes) to
1723
+ * limit allocations to. A value of zero is treated as unlimited, and a negative
1724
+ * value is treated as fully disallowed.
1725
+ * - `devices` `(block: optional)` - A list of device quotas to enforce. Can be
1726
+ * repeated. See below for the structure of this block.
1727
+ * - `nodePools` `(block: optional)` - Per-node-pool quota limits. Can be
1728
+ * repeated. See below for the structure of this block.
1729
+ * - `storage` `(block: optional)` - Storage resource quota configuration. May only
1730
+ * be specified once. See below for the structure of this block.
1731
+ */
1732
+ memoryMaxMb?: number;
999
1733
  /**
1000
1734
  * `(int: 0)` - The amount of memory (in megabytes) to limit
1001
1735
  * allocations to. A value of zero is treated as unlimited, and a negative value
1002
1736
  * is treated as fully disallowed.
1003
1737
  */
1004
1738
  memoryMb?: number;
1739
+ nodePools?: outputs.QuoteSpecificationLimitRegionLimitNodePool[];
1740
+ storage?: outputs.QuoteSpecificationLimitRegionLimitStorage;
1741
+ }
1742
+ export interface QuoteSpecificationLimitRegionLimitDevice {
1743
+ /**
1744
+ * `(int: 0)` - The number of device instances to limit allocations to.
1745
+ */
1746
+ count?: number;
1747
+ /**
1748
+ * `(string: <required>)` - The name of the device, e.g.
1749
+ * `"nvidia/gpu"`.
1750
+ */
1751
+ name: string;
1752
+ }
1753
+ export interface QuoteSpecificationLimitRegionLimitNodePool {
1754
+ /**
1755
+ * `(int: 0)` - The number of CPU cores to limit allocations to. A value
1756
+ * of zero is treated as unlimited, and a negative value is treated as fully
1757
+ * disallowed.
1758
+ */
1759
+ cores?: number;
1760
+ /**
1761
+ * `(int: 0)` - The amount of CPU to limit allocations to. A value of zero
1762
+ * is treated as unlimited, and a negative value is treated as fully disallowed.
1763
+ */
1764
+ cpu?: number;
1765
+ devices?: outputs.QuoteSpecificationLimitRegionLimitNodePoolDevice[];
1766
+ /**
1767
+ * `(int: 0)` - The maximum amount of memory (in megabytes) to
1768
+ * limit allocations to. A value of zero is treated as unlimited, and a negative
1769
+ * value is treated as fully disallowed.
1770
+ * - `devices` `(block: optional)` - A list of device quotas to
1771
+ * enforce for the node pool. Can be repeated.
1772
+ * - `storage` `(block: optional)` - Storage resource quota
1773
+ * configuration for the node pool. May only be specified once.
1774
+ */
1775
+ memoryMaxMb?: number;
1776
+ /**
1777
+ * `(int: 0)` - The amount of memory (in megabytes) to limit
1778
+ * allocations to. A value of zero is treated as unlimited, and a negative value
1779
+ * is treated as fully disallowed.
1780
+ */
1781
+ memoryMb?: number;
1782
+ /**
1783
+ * `(string: <required>)` - The node pool name to apply limits to.
1784
+ */
1785
+ nodePool: string;
1786
+ storage?: outputs.QuoteSpecificationLimitRegionLimitNodePoolStorage;
1787
+ }
1788
+ export interface QuoteSpecificationLimitRegionLimitNodePoolDevice {
1789
+ /**
1790
+ * `(int: 0)` - The number of device instances to limit allocations to.
1791
+ */
1792
+ count?: number;
1793
+ /**
1794
+ * `(string: <required>)` - The name of the device, e.g.
1795
+ * `"nvidia/gpu"`.
1796
+ */
1797
+ name: string;
1798
+ }
1799
+ export interface QuoteSpecificationLimitRegionLimitNodePoolStorage {
1800
+ /**
1801
+ * `(int: 0)` - The amount of storage (in megabytes) to limit
1802
+ * host volumes to.
1803
+ */
1804
+ hostVolumesMb?: number;
1805
+ /**
1806
+ * `(int: 0)` - The amount of storage (in megabytes) to limit
1807
+ * Nomad variables to.
1808
+ */
1809
+ variablesMb?: number;
1810
+ }
1811
+ export interface QuoteSpecificationLimitRegionLimitStorage {
1812
+ /**
1813
+ * `(int: 0)` - The amount of storage (in megabytes) to limit
1814
+ * host volumes to.
1815
+ */
1816
+ hostVolumesMb?: number;
1817
+ /**
1818
+ * `(int: 0)` - The amount of storage (in megabytes) to limit
1819
+ * Nomad variables to.
1820
+ */
1821
+ variablesMb?: number;
1005
1822
  }
1006
1823
  export interface VolumeCapability {
1007
1824
  /**