@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/input.d.ts CHANGED
@@ -199,9 +199,9 @@ export interface AclPolicyJobAcl {
199
199
  */
200
200
  group?: pulumi.Input<string>;
201
201
  /**
202
- * Job
202
+ * Job. If empty, the policy applies to all jobs in the namespace.
203
203
  */
204
- jobId: pulumi.Input<string>;
204
+ jobId?: pulumi.Input<string>;
205
205
  /**
206
206
  * Namespace
207
207
  */
@@ -489,6 +489,20 @@ export interface ExternalVolumeTopologyRequestRequiredTopology {
489
489
  [key: string]: pulumi.Input<string>;
490
490
  }>;
491
491
  }
492
+ export interface JobConstraint {
493
+ /**
494
+ * `(string)` - Attribute being constrained.
495
+ */
496
+ ltarget?: pulumi.Input<string>;
497
+ /**
498
+ * `(string)` - Operator used to compare the attribute to the constraint.
499
+ */
500
+ operand?: pulumi.Input<string>;
501
+ /**
502
+ * `(string)` - Constraint value.
503
+ */
504
+ rtarget?: pulumi.Input<string>;
505
+ }
492
506
  export interface JobHcl2 {
493
507
  /**
494
508
  * `(boolean: false)` - Set this to `true` to be able to use
@@ -502,34 +516,168 @@ export interface JobHcl2 {
502
516
  [key: string]: pulumi.Input<string>;
503
517
  }>;
504
518
  }
519
+ export interface JobPeriodicConfig {
520
+ /**
521
+ * `(boolean)` - Whether the periodic job is enabled. When disabled, scheduled runs and force launches are prevented.
522
+ */
523
+ enabled?: pulumi.Input<boolean>;
524
+ /**
525
+ * `(boolean)` - Whether this job should wait until previous instances of the same job have completed before launching again.
526
+ */
527
+ prohibitOverlap?: pulumi.Input<boolean>;
528
+ /**
529
+ * `(string)` - Cron expression configuring the interval at which the job is launched.
530
+ */
531
+ spec?: pulumi.Input<string>;
532
+ /**
533
+ * `(string)` - Type of periodic specification, such as `cron`.
534
+ */
535
+ specType?: pulumi.Input<string>;
536
+ /**
537
+ * `(string)` - Time zone used to evaluate the next launch interval.
538
+ */
539
+ timezone?: pulumi.Input<string>;
540
+ }
505
541
  export interface JobTaskGroup {
542
+ /**
543
+ * `(integer)` - Task group count.
544
+ */
506
545
  count?: pulumi.Input<number>;
546
+ /**
547
+ * `(map of strings)` - Task group metadata.
548
+ */
507
549
  meta?: pulumi.Input<{
508
550
  [key: string]: pulumi.Input<string>;
509
551
  }>;
552
+ /**
553
+ * `(string)` - Volume name.
554
+ */
510
555
  name?: pulumi.Input<string>;
556
+ /**
557
+ * `(list of maps)` - Tasks in the task group.
558
+ */
511
559
  tasks?: pulumi.Input<pulumi.Input<inputs.JobTaskGroupTask>[]>;
560
+ /**
561
+ * `(list of maps)` - Effective update strategy for the task group.
562
+ */
563
+ updateStrategies?: pulumi.Input<pulumi.Input<inputs.JobTaskGroupUpdateStrategy>[]>;
564
+ /**
565
+ * `(list of maps)` - Volume requests for the task group.
566
+ */
512
567
  volumes?: pulumi.Input<pulumi.Input<inputs.JobTaskGroupVolume>[]>;
513
568
  }
514
569
  export interface JobTaskGroupTask {
570
+ /**
571
+ * `(string)` - Task driver.
572
+ */
515
573
  driver?: pulumi.Input<string>;
574
+ /**
575
+ * `(map of strings)` - Task group metadata.
576
+ */
516
577
  meta?: pulumi.Input<{
517
578
  [key: string]: pulumi.Input<string>;
518
579
  }>;
580
+ /**
581
+ * `(string)` - Volume name.
582
+ */
519
583
  name?: pulumi.Input<string>;
584
+ /**
585
+ * `(list of maps)` - Task volume mounts.
586
+ */
520
587
  volumeMounts?: pulumi.Input<pulumi.Input<inputs.JobTaskGroupTaskVolumeMount>[]>;
521
588
  }
522
589
  export interface JobTaskGroupTaskVolumeMount {
590
+ /**
591
+ * `(string)` - Destination path inside the task.
592
+ */
523
593
  destination?: pulumi.Input<string>;
594
+ /**
595
+ * `(boolean)` - Whether the volume is read-only.
596
+ */
524
597
  readOnly?: pulumi.Input<boolean>;
598
+ /**
599
+ * `(string)` - Volume name.
600
+ */
525
601
  volume?: pulumi.Input<string>;
526
602
  }
603
+ export interface JobTaskGroupUpdateStrategy {
604
+ /**
605
+ * `(boolean)` - Whether the job should automatically revert to the last stable job on deployment failure.
606
+ */
607
+ autoRevert?: pulumi.Input<boolean>;
608
+ /**
609
+ * `(integer)` - Number of canary allocations created before destructive updates continue.
610
+ */
611
+ canary?: pulumi.Input<number>;
612
+ /**
613
+ * `(string)` - Mechanism used to determine allocation health: `checks`, `taskStates`, or `manual`.
614
+ */
615
+ healthCheck?: pulumi.Input<string>;
616
+ /**
617
+ * `(string)` - Deadline by which the allocation must become healthy before it is marked unhealthy.
618
+ */
619
+ healthyDeadline?: pulumi.Input<string>;
620
+ /**
621
+ * `(integer)` - Number of allocations within a task group that can be destructively updated at the same time. Setting `0` forces updates instead of deployments.
622
+ */
623
+ maxParallel?: pulumi.Input<number>;
624
+ /**
625
+ * `(string)` - Minimum time the allocation must be in the healthy state before further updates can proceed.
626
+ */
627
+ minHealthyTime?: pulumi.Input<string>;
628
+ /**
629
+ * `(string)` - Delay between each set of `maxParallel` updates when updating system jobs.
630
+ */
631
+ stagger?: pulumi.Input<string>;
632
+ }
527
633
  export interface JobTaskGroupVolume {
634
+ /**
635
+ * `(string)` - Volume name.
636
+ */
528
637
  name?: pulumi.Input<string>;
638
+ /**
639
+ * `(boolean)` - Whether the volume is read-only.
640
+ */
529
641
  readOnly?: pulumi.Input<boolean>;
642
+ /**
643
+ * `(string)` - Volume source.
644
+ */
530
645
  source?: pulumi.Input<string>;
646
+ /**
647
+ * `(string)` - Volume type.
648
+ */
531
649
  type?: pulumi.Input<string>;
532
650
  }
651
+ export interface JobUpdateStrategy {
652
+ /**
653
+ * `(boolean)` - Whether the job should automatically revert to the last stable job on deployment failure.
654
+ */
655
+ autoRevert?: pulumi.Input<boolean>;
656
+ /**
657
+ * `(integer)` - Number of canary allocations created before destructive updates continue.
658
+ */
659
+ canary?: pulumi.Input<number>;
660
+ /**
661
+ * `(string)` - Mechanism used to determine allocation health: `checks`, `taskStates`, or `manual`.
662
+ */
663
+ healthCheck?: pulumi.Input<string>;
664
+ /**
665
+ * `(string)` - Deadline by which the allocation must become healthy before it is marked unhealthy.
666
+ */
667
+ healthyDeadline?: pulumi.Input<string>;
668
+ /**
669
+ * `(integer)` - Number of allocations within a task group that can be destructively updated at the same time. Setting `0` forces updates instead of deployments.
670
+ */
671
+ maxParallel?: pulumi.Input<number>;
672
+ /**
673
+ * `(string)` - Minimum time the allocation must be in the healthy state before further updates can proceed.
674
+ */
675
+ minHealthyTime?: pulumi.Input<string>;
676
+ /**
677
+ * `(string)` - Delay between each set of `maxParallel` updates when updating system jobs.
678
+ */
679
+ stagger?: pulumi.Input<string>;
680
+ }
533
681
  export interface NamespaceCapabilities {
534
682
  /**
535
683
  * `([]string: <optional>)` - Network modes disabled for the namespace.
@@ -548,6 +696,20 @@ export interface NamespaceCapabilities {
548
696
  */
549
697
  enabledTaskDrivers?: pulumi.Input<pulumi.Input<string>[]>;
550
698
  }
699
+ export interface NamespaceConsulConfig {
700
+ /**
701
+ * `([]string: <optional>)` - The list of Consul clusters allowed to be used in this namespace. Cannot be used with `denied`.
702
+ */
703
+ alloweds?: pulumi.Input<pulumi.Input<string>[]>;
704
+ /**
705
+ * `(string: <optional>)` - The Consul cluster to use when none is specified in the job.
706
+ */
707
+ default?: pulumi.Input<string>;
708
+ /**
709
+ * `([]string: <optional>)` - The list of Consul clusters not allowed to be used in this namespace. Cannot be used with `allowed`.
710
+ */
711
+ denieds?: pulumi.Input<pulumi.Input<string>[]>;
712
+ }
551
713
  export interface NamespaceNodePoolConfig {
552
714
  /**
553
715
  * `([]string: <optional>)` - The list of node pools that are allowed to be used in this namespace.
@@ -562,6 +724,20 @@ export interface NamespaceNodePoolConfig {
562
724
  */
563
725
  denieds?: pulumi.Input<pulumi.Input<string>[]>;
564
726
  }
727
+ export interface NamespaceVaultConfig {
728
+ /**
729
+ * `([]string: <optional>)` - The list of Vault clusters allowed to be used in this namespace. Cannot be used with `denied`.
730
+ */
731
+ alloweds?: pulumi.Input<pulumi.Input<string>[]>;
732
+ /**
733
+ * `(string: <optional>)` - The Vault cluster to use when none is specified in the job.
734
+ */
735
+ default?: pulumi.Input<string>;
736
+ /**
737
+ * `([]string: <optional>)` - The list of Vault clusters not allowed to be used in this namespace. Cannot be used with `allowed`.
738
+ */
739
+ denieds?: pulumi.Input<pulumi.Input<string>[]>;
740
+ }
565
741
  export interface NodePoolSchedulerConfig {
566
742
  /**
567
743
  * `(string)` - Whether or not memory
@@ -604,27 +780,130 @@ export interface ProviderHeader {
604
780
  export interface QuoteSpecificationLimit {
605
781
  /**
606
782
  * `(string: <required>)` - The region these limits should apply to.
783
+ * - `regionLimit` `(block: <required>)` - The limits to enforce. This block
784
+ * may only be specified once in the `limits` block. Its structure is
785
+ * documented below.
607
786
  */
608
787
  region: pulumi.Input<string>;
609
788
  /**
610
- * `(block: <required>)` - The limits to enforce. This block
611
- * may only be specified once in the `limits` block. Its structure is
612
- * documented below.
789
+ * The limit applied to this region.
613
790
  */
614
791
  regionLimit: pulumi.Input<inputs.QuoteSpecificationLimitRegionLimit>;
615
792
  }
616
793
  export interface QuoteSpecificationLimitRegionLimit {
794
+ /**
795
+ * `(int: 0)` - The number of CPU cores to limit allocations to. A value
796
+ * of zero is treated as unlimited, and a negative value is treated as fully
797
+ * disallowed.
798
+ */
799
+ cores?: pulumi.Input<number>;
800
+ /**
801
+ * `(int: 0)` - The amount of CPU to limit allocations to. A value of zero
802
+ * is treated as unlimited, and a negative value is treated as fully disallowed.
803
+ */
804
+ cpu?: pulumi.Input<number>;
805
+ devices?: pulumi.Input<pulumi.Input<inputs.QuoteSpecificationLimitRegionLimitDevice>[]>;
806
+ /**
807
+ * `(int: 0)` - The maximum amount of memory (in megabytes) to
808
+ * limit allocations to. A value of zero is treated as unlimited, and a negative
809
+ * value is treated as fully disallowed.
810
+ * - `devices` `(block: optional)` - A list of device quotas to enforce. Can be
811
+ * repeated. See below for the structure of this block.
812
+ * - `nodePools` `(block: optional)` - Per-node-pool quota limits. Can be
813
+ * repeated. See below for the structure of this block.
814
+ * - `storage` `(block: optional)` - Storage resource quota configuration. May only
815
+ * be specified once. See below for the structure of this block.
816
+ */
817
+ memoryMaxMb?: pulumi.Input<number>;
818
+ /**
819
+ * `(int: 0)` - The amount of memory (in megabytes) to limit
820
+ * allocations to. A value of zero is treated as unlimited, and a negative value
821
+ * is treated as fully disallowed.
822
+ */
823
+ memoryMb?: pulumi.Input<number>;
824
+ nodePools?: pulumi.Input<pulumi.Input<inputs.QuoteSpecificationLimitRegionLimitNodePool>[]>;
825
+ storage?: pulumi.Input<inputs.QuoteSpecificationLimitRegionLimitStorage>;
826
+ }
827
+ export interface QuoteSpecificationLimitRegionLimitDevice {
828
+ /**
829
+ * `(int: 0)` - The number of device instances to limit allocations to.
830
+ */
831
+ count?: pulumi.Input<number>;
832
+ /**
833
+ * `(string: <required>)` - The name of the device, e.g.
834
+ * `"nvidia/gpu"`.
835
+ */
836
+ name: pulumi.Input<string>;
837
+ }
838
+ export interface QuoteSpecificationLimitRegionLimitNodePool {
839
+ /**
840
+ * `(int: 0)` - The number of CPU cores to limit allocations to. A value
841
+ * of zero is treated as unlimited, and a negative value is treated as fully
842
+ * disallowed.
843
+ */
844
+ cores?: pulumi.Input<number>;
617
845
  /**
618
846
  * `(int: 0)` - The amount of CPU to limit allocations to. A value of zero
619
847
  * is treated as unlimited, and a negative value is treated as fully disallowed.
620
848
  */
621
849
  cpu?: pulumi.Input<number>;
850
+ devices?: pulumi.Input<pulumi.Input<inputs.QuoteSpecificationLimitRegionLimitNodePoolDevice>[]>;
851
+ /**
852
+ * `(int: 0)` - The maximum amount of memory (in megabytes) to
853
+ * limit allocations to. A value of zero is treated as unlimited, and a negative
854
+ * value is treated as fully disallowed.
855
+ * - `devices` `(block: optional)` - A list of device quotas to
856
+ * enforce for the node pool. Can be repeated.
857
+ * - `storage` `(block: optional)` - Storage resource quota
858
+ * configuration for the node pool. May only be specified once.
859
+ */
860
+ memoryMaxMb?: pulumi.Input<number>;
622
861
  /**
623
862
  * `(int: 0)` - The amount of memory (in megabytes) to limit
624
863
  * allocations to. A value of zero is treated as unlimited, and a negative value
625
864
  * is treated as fully disallowed.
626
865
  */
627
866
  memoryMb?: pulumi.Input<number>;
867
+ /**
868
+ * `(string: <required>)` - The node pool name to apply limits to.
869
+ */
870
+ nodePool: pulumi.Input<string>;
871
+ storage?: pulumi.Input<inputs.QuoteSpecificationLimitRegionLimitNodePoolStorage>;
872
+ }
873
+ export interface QuoteSpecificationLimitRegionLimitNodePoolDevice {
874
+ /**
875
+ * `(int: 0)` - The number of device instances to limit allocations to.
876
+ */
877
+ count?: pulumi.Input<number>;
878
+ /**
879
+ * `(string: <required>)` - The name of the device, e.g.
880
+ * `"nvidia/gpu"`.
881
+ */
882
+ name: pulumi.Input<string>;
883
+ }
884
+ export interface QuoteSpecificationLimitRegionLimitNodePoolStorage {
885
+ /**
886
+ * `(int: 0)` - The amount of storage (in megabytes) to limit
887
+ * host volumes to.
888
+ */
889
+ hostVolumesMb?: pulumi.Input<number>;
890
+ /**
891
+ * `(int: 0)` - The amount of storage (in megabytes) to limit
892
+ * Nomad variables to.
893
+ */
894
+ variablesMb?: pulumi.Input<number>;
895
+ }
896
+ export interface QuoteSpecificationLimitRegionLimitStorage {
897
+ /**
898
+ * `(int: 0)` - The amount of storage (in megabytes) to limit
899
+ * host volumes to.
900
+ */
901
+ hostVolumesMb?: pulumi.Input<number>;
902
+ /**
903
+ * `(int: 0)` - The amount of storage (in megabytes) to limit
904
+ * Nomad variables to.
905
+ */
906
+ variablesMb?: pulumi.Input<number>;
628
907
  }
629
908
  export interface VolumeCapability {
630
909
  /**