pulumi-nomad 2.3.0a1710649436__py3-none-any.whl → 2.5.0a1736834448__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.
Files changed (54) hide show
  1. pulumi_nomad/__init__.py +1 -0
  2. pulumi_nomad/_inputs.py +896 -175
  3. pulumi_nomad/_utilities.py +41 -5
  4. pulumi_nomad/acl_auth_method.py +44 -41
  5. pulumi_nomad/acl_binding_rule.py +5 -0
  6. pulumi_nomad/acl_policy.py +10 -69
  7. pulumi_nomad/acl_role.py +10 -5
  8. pulumi_nomad/acl_token.py +28 -31
  9. pulumi_nomad/config/__init__.pyi +5 -0
  10. pulumi_nomad/config/outputs.py +5 -0
  11. pulumi_nomad/config/vars.py +5 -0
  12. pulumi_nomad/csi_volume.py +21 -88
  13. pulumi_nomad/csi_volume_registration.py +21 -88
  14. pulumi_nomad/external_volume.py +65 -132
  15. pulumi_nomad/get_acl_policies.py +14 -9
  16. pulumi_nomad/get_acl_policy.py +15 -9
  17. pulumi_nomad/get_acl_role.py +15 -9
  18. pulumi_nomad/get_acl_roles.py +14 -9
  19. pulumi_nomad/get_acl_token.py +22 -9
  20. pulumi_nomad/get_acl_tokens.py +14 -9
  21. pulumi_nomad/get_allocations.py +18 -9
  22. pulumi_nomad/get_datacenters.py +20 -13
  23. pulumi_nomad/get_deployments.py +18 -10
  24. pulumi_nomad/get_job.py +34 -9
  25. pulumi_nomad/get_job_parser.py +16 -29
  26. pulumi_nomad/get_jwks.py +124 -0
  27. pulumi_nomad/get_namespace.py +18 -9
  28. pulumi_nomad/get_namespaces.py +14 -9
  29. pulumi_nomad/get_node_pool.py +16 -9
  30. pulumi_nomad/get_node_pools.py +16 -9
  31. pulumi_nomad/get_plugin.py +25 -9
  32. pulumi_nomad/get_plugins.py +15 -10
  33. pulumi_nomad/get_regions.py +46 -5
  34. pulumi_nomad/get_scaling_policies.py +16 -9
  35. pulumi_nomad/get_scaling_policy.py +19 -10
  36. pulumi_nomad/get_scheduler_policy.py +14 -9
  37. pulumi_nomad/get_variable.py +17 -10
  38. pulumi_nomad/get_volumes.py +21 -10
  39. pulumi_nomad/job.py +22 -88
  40. pulumi_nomad/namespace.py +43 -40
  41. pulumi_nomad/node_pool.py +12 -9
  42. pulumi_nomad/outputs.py +293 -165
  43. pulumi_nomad/provider.py +8 -3
  44. pulumi_nomad/pulumi-plugin.json +2 -1
  45. pulumi_nomad/quote_specification.py +28 -25
  46. pulumi_nomad/scheduler_config.py +11 -10
  47. pulumi_nomad/sentinel_policy.py +11 -10
  48. pulumi_nomad/variable.py +33 -32
  49. pulumi_nomad/volume.py +73 -152
  50. {pulumi_nomad-2.3.0a1710649436.dist-info → pulumi_nomad-2.5.0a1736834448.dist-info}/METADATA +7 -6
  51. pulumi_nomad-2.5.0a1736834448.dist-info/RECORD +55 -0
  52. {pulumi_nomad-2.3.0a1710649436.dist-info → pulumi_nomad-2.5.0a1736834448.dist-info}/WHEEL +1 -1
  53. pulumi_nomad-2.3.0a1710649436.dist-info/RECORD +0 -54
  54. {pulumi_nomad-2.3.0a1710649436.dist-info → pulumi_nomad-2.5.0a1736834448.dist-info}/top_level.txt +0 -0
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from . import _utilities
11
16
  from . import outputs
12
17
  from ._inputs import *
@@ -274,22 +279,13 @@ class _ExternalVolumeState:
274
279
  :param pulumi.Input[str] capacity_max: `(string: <optional>)` - Option to signal a maximum volume size. This may not be supported by all storage providers.
275
280
  :param pulumi.Input[str] capacity_min: `(string: <optional>)` - Option to signal a minimum volume size. This may not be supported by all storage providers.
276
281
  :param pulumi.Input[str] clone_id: `(string: <optional>)` - The external ID of an existing volume to restore. If ommited, the volume will be created from scratch. Conflicts with `snapshot_id`.
277
- :param pulumi.Input[bool] controller_required: `(boolean)`
278
- :param pulumi.Input[int] controllers_expected: `(integer)`
279
- :param pulumi.Input[int] controllers_healthy: `(integer)`
280
282
  :param pulumi.Input['ExternalVolumeMountOptionsArgs'] mount_options: `(block: optional)` Options for mounting `block-device` volumes without a pre-formatted file system.
281
283
  :param pulumi.Input[str] name: `(string: <required>)` - The display name for the volume.
282
284
  :param pulumi.Input[str] namespace: `(string: "default")` - The namespace in which to register the volume.
283
- :param pulumi.Input[int] nodes_expected: `(integer)`
284
- :param pulumi.Input[int] nodes_healthy: `(integer)`
285
285
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: `(map[string]string: optional)` An optional key-value map of strings passed directly to the CSI plugin to configure the volume.
286
286
  :param pulumi.Input[str] plugin_id: `(string: <required>)` - The ID of the Nomad plugin for registering this volume.
287
- :param pulumi.Input[str] plugin_provider: `(string)`
288
- :param pulumi.Input[str] plugin_provider_version: `(string)`
289
- :param pulumi.Input[bool] schedulable: `(boolean)`
290
287
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] secrets: `(map[string]string: optional)` An optional key-value map of strings used as credentials for publishing and unpublishing volumes.
291
288
  :param pulumi.Input[str] snapshot_id: `(string: <optional>)` - The external ID of a snapshot to restore. If ommited, the volume will be created from scratch. Conflicts with `clone_id`.
292
- :param pulumi.Input[Sequence[pulumi.Input['ExternalVolumeTopologyArgs']]] topologies: `(List of topologies)`
293
289
  :param pulumi.Input['ExternalVolumeTopologyRequestArgs'] topology_request: `(``TopologyRequest``: <optional>)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from.
294
290
  :param pulumi.Input[str] type: `(string: <required>)` - The type of the volume. Currently, only `csi` is supported.
295
291
  :param pulumi.Input[str] volume_id: `(string: <required>)` - The unique ID of the volume.
@@ -392,9 +388,6 @@ class _ExternalVolumeState:
392
388
  @property
393
389
  @pulumi.getter(name="controllerRequired")
394
390
  def controller_required(self) -> Optional[pulumi.Input[bool]]:
395
- """
396
- `(boolean)`
397
- """
398
391
  return pulumi.get(self, "controller_required")
399
392
 
400
393
  @controller_required.setter
@@ -404,9 +397,6 @@ class _ExternalVolumeState:
404
397
  @property
405
398
  @pulumi.getter(name="controllersExpected")
406
399
  def controllers_expected(self) -> Optional[pulumi.Input[int]]:
407
- """
408
- `(integer)`
409
- """
410
400
  return pulumi.get(self, "controllers_expected")
411
401
 
412
402
  @controllers_expected.setter
@@ -416,9 +406,6 @@ class _ExternalVolumeState:
416
406
  @property
417
407
  @pulumi.getter(name="controllersHealthy")
418
408
  def controllers_healthy(self) -> Optional[pulumi.Input[int]]:
419
- """
420
- `(integer)`
421
- """
422
409
  return pulumi.get(self, "controllers_healthy")
423
410
 
424
411
  @controllers_healthy.setter
@@ -464,9 +451,6 @@ class _ExternalVolumeState:
464
451
  @property
465
452
  @pulumi.getter(name="nodesExpected")
466
453
  def nodes_expected(self) -> Optional[pulumi.Input[int]]:
467
- """
468
- `(integer)`
469
- """
470
454
  return pulumi.get(self, "nodes_expected")
471
455
 
472
456
  @nodes_expected.setter
@@ -476,9 +460,6 @@ class _ExternalVolumeState:
476
460
  @property
477
461
  @pulumi.getter(name="nodesHealthy")
478
462
  def nodes_healthy(self) -> Optional[pulumi.Input[int]]:
479
- """
480
- `(integer)`
481
- """
482
463
  return pulumi.get(self, "nodes_healthy")
483
464
 
484
465
  @nodes_healthy.setter
@@ -512,9 +493,6 @@ class _ExternalVolumeState:
512
493
  @property
513
494
  @pulumi.getter(name="pluginProvider")
514
495
  def plugin_provider(self) -> Optional[pulumi.Input[str]]:
515
- """
516
- `(string)`
517
- """
518
496
  return pulumi.get(self, "plugin_provider")
519
497
 
520
498
  @plugin_provider.setter
@@ -524,9 +502,6 @@ class _ExternalVolumeState:
524
502
  @property
525
503
  @pulumi.getter(name="pluginProviderVersion")
526
504
  def plugin_provider_version(self) -> Optional[pulumi.Input[str]]:
527
- """
528
- `(string)`
529
- """
530
505
  return pulumi.get(self, "plugin_provider_version")
531
506
 
532
507
  @plugin_provider_version.setter
@@ -536,9 +511,6 @@ class _ExternalVolumeState:
536
511
  @property
537
512
  @pulumi.getter
538
513
  def schedulable(self) -> Optional[pulumi.Input[bool]]:
539
- """
540
- `(boolean)`
541
- """
542
514
  return pulumi.get(self, "schedulable")
543
515
 
544
516
  @schedulable.setter
@@ -572,9 +544,6 @@ class _ExternalVolumeState:
572
544
  @property
573
545
  @pulumi.getter
574
546
  def topologies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ExternalVolumeTopologyArgs']]]]:
575
- """
576
- `(List of topologies)`
577
- """
578
547
  return pulumi.get(self, "topologies")
579
548
 
580
549
  @topologies.setter
@@ -623,18 +592,18 @@ class ExternalVolume(pulumi.CustomResource):
623
592
  def __init__(__self__,
624
593
  resource_name: str,
625
594
  opts: Optional[pulumi.ResourceOptions] = None,
626
- capabilities: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ExternalVolumeCapabilityArgs']]]]] = None,
595
+ capabilities: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ExternalVolumeCapabilityArgs', 'ExternalVolumeCapabilityArgsDict']]]]] = None,
627
596
  capacity_max: Optional[pulumi.Input[str]] = None,
628
597
  capacity_min: Optional[pulumi.Input[str]] = None,
629
598
  clone_id: Optional[pulumi.Input[str]] = None,
630
- mount_options: Optional[pulumi.Input[pulumi.InputType['ExternalVolumeMountOptionsArgs']]] = None,
599
+ mount_options: Optional[pulumi.Input[Union['ExternalVolumeMountOptionsArgs', 'ExternalVolumeMountOptionsArgsDict']]] = None,
631
600
  name: Optional[pulumi.Input[str]] = None,
632
601
  namespace: Optional[pulumi.Input[str]] = None,
633
602
  parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
634
603
  plugin_id: Optional[pulumi.Input[str]] = None,
635
604
  secrets: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
636
605
  snapshot_id: Optional[pulumi.Input[str]] = None,
637
- topology_request: Optional[pulumi.Input[pulumi.InputType['ExternalVolumeTopologyRequestArgs']]] = None,
606
+ topology_request: Optional[pulumi.Input[Union['ExternalVolumeTopologyRequestArgs', 'ExternalVolumeTopologyRequestArgsDict']]] = None,
638
607
  type: Optional[pulumi.Input[str]] = None,
639
608
  volume_id: Optional[pulumi.Input[str]] = None,
640
609
  __props__=None):
@@ -643,61 +612,61 @@ class ExternalVolume(pulumi.CustomResource):
643
612
 
644
613
  Creating a volume:
645
614
 
646
- <!--Start PulumiCodeChooser -->
647
615
  ```python
648
616
  import pulumi
649
617
  import pulumi_nomad as nomad
650
618
 
619
+ # It can sometimes be helpful to wait for a particular plugin to be available
651
620
  ebs = nomad.get_plugin(plugin_id="aws-ebs0",
652
621
  wait_for_healthy=True)
653
- mysql_volume = nomad.ExternalVolume("mysqlVolume",
622
+ mysql_volume = nomad.ExternalVolume("mysql_volume",
654
623
  type="csi",
655
624
  plugin_id="aws-ebs0",
656
625
  volume_id="mysql_volume",
626
+ name="mysql_volume",
657
627
  capacity_min="10GiB",
658
628
  capacity_max="20GiB",
659
- capabilities=[nomad.ExternalVolumeCapabilityArgs(
660
- access_mode="single-node-writer",
661
- attachment_mode="file-system",
662
- )],
663
- mount_options=nomad.ExternalVolumeMountOptionsArgs(
664
- fs_type="ext4",
665
- ),
666
- topology_request=nomad.ExternalVolumeTopologyRequestArgs(
667
- required=nomad.ExternalVolumeTopologyRequestRequiredArgs(
668
- topologies=[
669
- nomad.ExternalVolumeTopologyRequestRequiredTopologyArgs(
670
- segments={
629
+ capabilities=[{
630
+ "access_mode": "single-node-writer",
631
+ "attachment_mode": "file-system",
632
+ }],
633
+ mount_options={
634
+ "fs_type": "ext4",
635
+ },
636
+ topology_request={
637
+ "required": {
638
+ "topologies": [
639
+ {
640
+ "segments": {
671
641
  "rack": "R1",
672
642
  "zone": "us-east-1a",
673
643
  },
674
- ),
675
- nomad.ExternalVolumeTopologyRequestRequiredTopologyArgs(
676
- segments={
644
+ },
645
+ {
646
+ "segments": {
677
647
  "rack": "R2",
678
648
  },
679
- ),
649
+ },
680
650
  ],
681
- ),
682
- ),
683
- opts=pulumi.ResourceOptions(depends_on=[ebs]))
651
+ },
652
+ },
653
+ opts = pulumi.ResourceOptions(depends_on=[ebs]))
684
654
  ```
685
- <!--End PulumiCodeChooser -->
686
655
 
687
656
  :param str resource_name: The name of the resource.
688
657
  :param pulumi.ResourceOptions opts: Options for the resource.
689
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ExternalVolumeCapabilityArgs']]]] capabilities: `(``Capability``: <required>)` - Options for validating the capability of a volume.
658
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ExternalVolumeCapabilityArgs', 'ExternalVolumeCapabilityArgsDict']]]] capabilities: `(``Capability``: <required>)` - Options for validating the capability of a volume.
690
659
  :param pulumi.Input[str] capacity_max: `(string: <optional>)` - Option to signal a maximum volume size. This may not be supported by all storage providers.
691
660
  :param pulumi.Input[str] capacity_min: `(string: <optional>)` - Option to signal a minimum volume size. This may not be supported by all storage providers.
692
661
  :param pulumi.Input[str] clone_id: `(string: <optional>)` - The external ID of an existing volume to restore. If ommited, the volume will be created from scratch. Conflicts with `snapshot_id`.
693
- :param pulumi.Input[pulumi.InputType['ExternalVolumeMountOptionsArgs']] mount_options: `(block: optional)` Options for mounting `block-device` volumes without a pre-formatted file system.
662
+ :param pulumi.Input[Union['ExternalVolumeMountOptionsArgs', 'ExternalVolumeMountOptionsArgsDict']] mount_options: `(block: optional)` Options for mounting `block-device` volumes without a pre-formatted file system.
694
663
  :param pulumi.Input[str] name: `(string: <required>)` - The display name for the volume.
695
664
  :param pulumi.Input[str] namespace: `(string: "default")` - The namespace in which to register the volume.
696
665
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: `(map[string]string: optional)` An optional key-value map of strings passed directly to the CSI plugin to configure the volume.
697
666
  :param pulumi.Input[str] plugin_id: `(string: <required>)` - The ID of the Nomad plugin for registering this volume.
698
667
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] secrets: `(map[string]string: optional)` An optional key-value map of strings used as credentials for publishing and unpublishing volumes.
699
668
  :param pulumi.Input[str] snapshot_id: `(string: <optional>)` - The external ID of a snapshot to restore. If ommited, the volume will be created from scratch. Conflicts with `clone_id`.
700
- :param pulumi.Input[pulumi.InputType['ExternalVolumeTopologyRequestArgs']] topology_request: `(``TopologyRequest``: <optional>)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from.
669
+ :param pulumi.Input[Union['ExternalVolumeTopologyRequestArgs', 'ExternalVolumeTopologyRequestArgsDict']] topology_request: `(``TopologyRequest``: <optional>)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from.
701
670
  :param pulumi.Input[str] type: `(string: <required>)` - The type of the volume. Currently, only `csi` is supported.
702
671
  :param pulumi.Input[str] volume_id: `(string: <required>)` - The unique ID of the volume.
703
672
  """
@@ -712,46 +681,46 @@ class ExternalVolume(pulumi.CustomResource):
712
681
 
713
682
  Creating a volume:
714
683
 
715
- <!--Start PulumiCodeChooser -->
716
684
  ```python
717
685
  import pulumi
718
686
  import pulumi_nomad as nomad
719
687
 
688
+ # It can sometimes be helpful to wait for a particular plugin to be available
720
689
  ebs = nomad.get_plugin(plugin_id="aws-ebs0",
721
690
  wait_for_healthy=True)
722
- mysql_volume = nomad.ExternalVolume("mysqlVolume",
691
+ mysql_volume = nomad.ExternalVolume("mysql_volume",
723
692
  type="csi",
724
693
  plugin_id="aws-ebs0",
725
694
  volume_id="mysql_volume",
695
+ name="mysql_volume",
726
696
  capacity_min="10GiB",
727
697
  capacity_max="20GiB",
728
- capabilities=[nomad.ExternalVolumeCapabilityArgs(
729
- access_mode="single-node-writer",
730
- attachment_mode="file-system",
731
- )],
732
- mount_options=nomad.ExternalVolumeMountOptionsArgs(
733
- fs_type="ext4",
734
- ),
735
- topology_request=nomad.ExternalVolumeTopologyRequestArgs(
736
- required=nomad.ExternalVolumeTopologyRequestRequiredArgs(
737
- topologies=[
738
- nomad.ExternalVolumeTopologyRequestRequiredTopologyArgs(
739
- segments={
698
+ capabilities=[{
699
+ "access_mode": "single-node-writer",
700
+ "attachment_mode": "file-system",
701
+ }],
702
+ mount_options={
703
+ "fs_type": "ext4",
704
+ },
705
+ topology_request={
706
+ "required": {
707
+ "topologies": [
708
+ {
709
+ "segments": {
740
710
  "rack": "R1",
741
711
  "zone": "us-east-1a",
742
712
  },
743
- ),
744
- nomad.ExternalVolumeTopologyRequestRequiredTopologyArgs(
745
- segments={
713
+ },
714
+ {
715
+ "segments": {
746
716
  "rack": "R2",
747
717
  },
748
- ),
718
+ },
749
719
  ],
750
- ),
751
- ),
752
- opts=pulumi.ResourceOptions(depends_on=[ebs]))
720
+ },
721
+ },
722
+ opts = pulumi.ResourceOptions(depends_on=[ebs]))
753
723
  ```
754
- <!--End PulumiCodeChooser -->
755
724
 
756
725
  :param str resource_name: The name of the resource.
757
726
  :param ExternalVolumeArgs args: The arguments to use to populate this resource's properties.
@@ -768,18 +737,18 @@ class ExternalVolume(pulumi.CustomResource):
768
737
  def _internal_init(__self__,
769
738
  resource_name: str,
770
739
  opts: Optional[pulumi.ResourceOptions] = None,
771
- capabilities: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ExternalVolumeCapabilityArgs']]]]] = None,
740
+ capabilities: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ExternalVolumeCapabilityArgs', 'ExternalVolumeCapabilityArgsDict']]]]] = None,
772
741
  capacity_max: Optional[pulumi.Input[str]] = None,
773
742
  capacity_min: Optional[pulumi.Input[str]] = None,
774
743
  clone_id: Optional[pulumi.Input[str]] = None,
775
- mount_options: Optional[pulumi.Input[pulumi.InputType['ExternalVolumeMountOptionsArgs']]] = None,
744
+ mount_options: Optional[pulumi.Input[Union['ExternalVolumeMountOptionsArgs', 'ExternalVolumeMountOptionsArgsDict']]] = None,
776
745
  name: Optional[pulumi.Input[str]] = None,
777
746
  namespace: Optional[pulumi.Input[str]] = None,
778
747
  parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
779
748
  plugin_id: Optional[pulumi.Input[str]] = None,
780
749
  secrets: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
781
750
  snapshot_id: Optional[pulumi.Input[str]] = None,
782
- topology_request: Optional[pulumi.Input[pulumi.InputType['ExternalVolumeTopologyRequestArgs']]] = None,
751
+ topology_request: Optional[pulumi.Input[Union['ExternalVolumeTopologyRequestArgs', 'ExternalVolumeTopologyRequestArgsDict']]] = None,
783
752
  type: Optional[pulumi.Input[str]] = None,
784
753
  volume_id: Optional[pulumi.Input[str]] = None,
785
754
  __props__=None):
@@ -832,14 +801,14 @@ class ExternalVolume(pulumi.CustomResource):
832
801
  def get(resource_name: str,
833
802
  id: pulumi.Input[str],
834
803
  opts: Optional[pulumi.ResourceOptions] = None,
835
- capabilities: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ExternalVolumeCapabilityArgs']]]]] = None,
804
+ capabilities: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ExternalVolumeCapabilityArgs', 'ExternalVolumeCapabilityArgsDict']]]]] = None,
836
805
  capacity_max: Optional[pulumi.Input[str]] = None,
837
806
  capacity_min: Optional[pulumi.Input[str]] = None,
838
807
  clone_id: Optional[pulumi.Input[str]] = None,
839
808
  controller_required: Optional[pulumi.Input[bool]] = None,
840
809
  controllers_expected: Optional[pulumi.Input[int]] = None,
841
810
  controllers_healthy: Optional[pulumi.Input[int]] = None,
842
- mount_options: Optional[pulumi.Input[pulumi.InputType['ExternalVolumeMountOptionsArgs']]] = None,
811
+ mount_options: Optional[pulumi.Input[Union['ExternalVolumeMountOptionsArgs', 'ExternalVolumeMountOptionsArgsDict']]] = None,
843
812
  name: Optional[pulumi.Input[str]] = None,
844
813
  namespace: Optional[pulumi.Input[str]] = None,
845
814
  nodes_expected: Optional[pulumi.Input[int]] = None,
@@ -851,8 +820,8 @@ class ExternalVolume(pulumi.CustomResource):
851
820
  schedulable: Optional[pulumi.Input[bool]] = None,
852
821
  secrets: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
853
822
  snapshot_id: Optional[pulumi.Input[str]] = None,
854
- topologies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ExternalVolumeTopologyArgs']]]]] = None,
855
- topology_request: Optional[pulumi.Input[pulumi.InputType['ExternalVolumeTopologyRequestArgs']]] = None,
823
+ topologies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ExternalVolumeTopologyArgs', 'ExternalVolumeTopologyArgsDict']]]]] = None,
824
+ topology_request: Optional[pulumi.Input[Union['ExternalVolumeTopologyRequestArgs', 'ExternalVolumeTopologyRequestArgsDict']]] = None,
856
825
  type: Optional[pulumi.Input[str]] = None,
857
826
  volume_id: Optional[pulumi.Input[str]] = None) -> 'ExternalVolume':
858
827
  """
@@ -862,27 +831,18 @@ class ExternalVolume(pulumi.CustomResource):
862
831
  :param str resource_name: The unique name of the resulting resource.
863
832
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
864
833
  :param pulumi.ResourceOptions opts: Options for the resource.
865
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ExternalVolumeCapabilityArgs']]]] capabilities: `(``Capability``: <required>)` - Options for validating the capability of a volume.
834
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ExternalVolumeCapabilityArgs', 'ExternalVolumeCapabilityArgsDict']]]] capabilities: `(``Capability``: <required>)` - Options for validating the capability of a volume.
866
835
  :param pulumi.Input[str] capacity_max: `(string: <optional>)` - Option to signal a maximum volume size. This may not be supported by all storage providers.
867
836
  :param pulumi.Input[str] capacity_min: `(string: <optional>)` - Option to signal a minimum volume size. This may not be supported by all storage providers.
868
837
  :param pulumi.Input[str] clone_id: `(string: <optional>)` - The external ID of an existing volume to restore. If ommited, the volume will be created from scratch. Conflicts with `snapshot_id`.
869
- :param pulumi.Input[bool] controller_required: `(boolean)`
870
- :param pulumi.Input[int] controllers_expected: `(integer)`
871
- :param pulumi.Input[int] controllers_healthy: `(integer)`
872
- :param pulumi.Input[pulumi.InputType['ExternalVolumeMountOptionsArgs']] mount_options: `(block: optional)` Options for mounting `block-device` volumes without a pre-formatted file system.
838
+ :param pulumi.Input[Union['ExternalVolumeMountOptionsArgs', 'ExternalVolumeMountOptionsArgsDict']] mount_options: `(block: optional)` Options for mounting `block-device` volumes without a pre-formatted file system.
873
839
  :param pulumi.Input[str] name: `(string: <required>)` - The display name for the volume.
874
840
  :param pulumi.Input[str] namespace: `(string: "default")` - The namespace in which to register the volume.
875
- :param pulumi.Input[int] nodes_expected: `(integer)`
876
- :param pulumi.Input[int] nodes_healthy: `(integer)`
877
841
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: `(map[string]string: optional)` An optional key-value map of strings passed directly to the CSI plugin to configure the volume.
878
842
  :param pulumi.Input[str] plugin_id: `(string: <required>)` - The ID of the Nomad plugin for registering this volume.
879
- :param pulumi.Input[str] plugin_provider: `(string)`
880
- :param pulumi.Input[str] plugin_provider_version: `(string)`
881
- :param pulumi.Input[bool] schedulable: `(boolean)`
882
843
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] secrets: `(map[string]string: optional)` An optional key-value map of strings used as credentials for publishing and unpublishing volumes.
883
844
  :param pulumi.Input[str] snapshot_id: `(string: <optional>)` - The external ID of a snapshot to restore. If ommited, the volume will be created from scratch. Conflicts with `clone_id`.
884
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ExternalVolumeTopologyArgs']]]] topologies: `(List of topologies)`
885
- :param pulumi.Input[pulumi.InputType['ExternalVolumeTopologyRequestArgs']] topology_request: `(``TopologyRequest``: <optional>)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from.
845
+ :param pulumi.Input[Union['ExternalVolumeTopologyRequestArgs', 'ExternalVolumeTopologyRequestArgsDict']] topology_request: `(``TopologyRequest``: <optional>)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from.
886
846
  :param pulumi.Input[str] type: `(string: <required>)` - The type of the volume. Currently, only `csi` is supported.
887
847
  :param pulumi.Input[str] volume_id: `(string: <required>)` - The unique ID of the volume.
888
848
  """
@@ -950,25 +910,16 @@ class ExternalVolume(pulumi.CustomResource):
950
910
  @property
951
911
  @pulumi.getter(name="controllerRequired")
952
912
  def controller_required(self) -> pulumi.Output[bool]:
953
- """
954
- `(boolean)`
955
- """
956
913
  return pulumi.get(self, "controller_required")
957
914
 
958
915
  @property
959
916
  @pulumi.getter(name="controllersExpected")
960
917
  def controllers_expected(self) -> pulumi.Output[int]:
961
- """
962
- `(integer)`
963
- """
964
918
  return pulumi.get(self, "controllers_expected")
965
919
 
966
920
  @property
967
921
  @pulumi.getter(name="controllersHealthy")
968
922
  def controllers_healthy(self) -> pulumi.Output[int]:
969
- """
970
- `(integer)`
971
- """
972
923
  return pulumi.get(self, "controllers_healthy")
973
924
 
974
925
  @property
@@ -998,17 +949,11 @@ class ExternalVolume(pulumi.CustomResource):
998
949
  @property
999
950
  @pulumi.getter(name="nodesExpected")
1000
951
  def nodes_expected(self) -> pulumi.Output[int]:
1001
- """
1002
- `(integer)`
1003
- """
1004
952
  return pulumi.get(self, "nodes_expected")
1005
953
 
1006
954
  @property
1007
955
  @pulumi.getter(name="nodesHealthy")
1008
956
  def nodes_healthy(self) -> pulumi.Output[int]:
1009
- """
1010
- `(integer)`
1011
- """
1012
957
  return pulumi.get(self, "nodes_healthy")
1013
958
 
1014
959
  @property
@@ -1030,25 +975,16 @@ class ExternalVolume(pulumi.CustomResource):
1030
975
  @property
1031
976
  @pulumi.getter(name="pluginProvider")
1032
977
  def plugin_provider(self) -> pulumi.Output[str]:
1033
- """
1034
- `(string)`
1035
- """
1036
978
  return pulumi.get(self, "plugin_provider")
1037
979
 
1038
980
  @property
1039
981
  @pulumi.getter(name="pluginProviderVersion")
1040
982
  def plugin_provider_version(self) -> pulumi.Output[str]:
1041
- """
1042
- `(string)`
1043
- """
1044
983
  return pulumi.get(self, "plugin_provider_version")
1045
984
 
1046
985
  @property
1047
986
  @pulumi.getter
1048
987
  def schedulable(self) -> pulumi.Output[bool]:
1049
- """
1050
- `(boolean)`
1051
- """
1052
988
  return pulumi.get(self, "schedulable")
1053
989
 
1054
990
  @property
@@ -1070,9 +1006,6 @@ class ExternalVolume(pulumi.CustomResource):
1070
1006
  @property
1071
1007
  @pulumi.getter
1072
1008
  def topologies(self) -> pulumi.Output[Sequence['outputs.ExternalVolumeTopology']]:
1073
- """
1074
- `(List of topologies)`
1075
- """
1076
1009
  return pulumi.get(self, "topologies")
1077
1010
 
1078
1011
  @property
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from . import _utilities
11
16
  from . import outputs
12
17
 
@@ -73,14 +78,12 @@ def get_acl_policies(prefix: Optional[str] = None,
73
78
 
74
79
  ## Example Usage
75
80
 
76
- <!--Start PulumiCodeChooser -->
77
81
  ```python
78
82
  import pulumi
79
83
  import pulumi_nomad as nomad
80
84
 
81
85
  example = nomad.get_acl_policies(prefix="prod")
82
86
  ```
83
- <!--End PulumiCodeChooser -->
84
87
 
85
88
 
86
89
  :param str prefix: `(string)` An optional string to filter ACL policies based on name prefix. If not provided, all policies are returned.
@@ -94,26 +97,28 @@ def get_acl_policies(prefix: Optional[str] = None,
94
97
  id=pulumi.get(__ret__, 'id'),
95
98
  policies=pulumi.get(__ret__, 'policies'),
96
99
  prefix=pulumi.get(__ret__, 'prefix'))
97
-
98
-
99
- @_utilities.lift_output_func(get_acl_policies)
100
100
  def get_acl_policies_output(prefix: Optional[pulumi.Input[Optional[str]]] = None,
101
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAclPoliciesResult]:
101
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAclPoliciesResult]:
102
102
  """
103
103
  Retrieve a list of ACL Policies.
104
104
 
105
105
  ## Example Usage
106
106
 
107
- <!--Start PulumiCodeChooser -->
108
107
  ```python
109
108
  import pulumi
110
109
  import pulumi_nomad as nomad
111
110
 
112
111
  example = nomad.get_acl_policies(prefix="prod")
113
112
  ```
114
- <!--End PulumiCodeChooser -->
115
113
 
116
114
 
117
115
  :param str prefix: `(string)` An optional string to filter ACL policies based on name prefix. If not provided, all policies are returned.
118
116
  """
119
- ...
117
+ __args__ = dict()
118
+ __args__['prefix'] = prefix
119
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
120
+ __ret__ = pulumi.runtime.invoke_output('nomad:index/getAclPolicies:getAclPolicies', __args__, opts=opts, typ=GetAclPoliciesResult)
121
+ return __ret__.apply(lambda __response__: GetAclPoliciesResult(
122
+ id=pulumi.get(__response__, 'id'),
123
+ policies=pulumi.get(__response__, 'policies'),
124
+ prefix=pulumi.get(__response__, 'prefix')))
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from . import _utilities
11
16
 
12
17
  __all__ = [
@@ -87,14 +92,12 @@ def get_acl_policy(name: Optional[str] = None,
87
92
 
88
93
  ## Example Usage
89
94
 
90
- <!--Start PulumiCodeChooser -->
91
95
  ```python
92
96
  import pulumi
93
97
  import pulumi_nomad as nomad
94
98
 
95
99
  my_policy = nomad.get_acl_policy(name="my-policy")
96
100
  ```
97
- <!--End PulumiCodeChooser -->
98
101
 
99
102
 
100
103
  :param str name: `(string)` - the name of the ACL Policy.
@@ -109,26 +112,29 @@ def get_acl_policy(name: Optional[str] = None,
109
112
  id=pulumi.get(__ret__, 'id'),
110
113
  name=pulumi.get(__ret__, 'name'),
111
114
  rules=pulumi.get(__ret__, 'rules'))
112
-
113
-
114
- @_utilities.lift_output_func(get_acl_policy)
115
115
  def get_acl_policy_output(name: Optional[pulumi.Input[str]] = None,
116
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAclPolicyResult]:
116
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAclPolicyResult]:
117
117
  """
118
118
  Retrieve information on an ACL Policy.
119
119
 
120
120
  ## Example Usage
121
121
 
122
- <!--Start PulumiCodeChooser -->
123
122
  ```python
124
123
  import pulumi
125
124
  import pulumi_nomad as nomad
126
125
 
127
126
  my_policy = nomad.get_acl_policy(name="my-policy")
128
127
  ```
129
- <!--End PulumiCodeChooser -->
130
128
 
131
129
 
132
130
  :param str name: `(string)` - the name of the ACL Policy.
133
131
  """
134
- ...
132
+ __args__ = dict()
133
+ __args__['name'] = name
134
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
135
+ __ret__ = pulumi.runtime.invoke_output('nomad:index/getAclPolicy:getAclPolicy', __args__, opts=opts, typ=GetAclPolicyResult)
136
+ return __ret__.apply(lambda __response__: GetAclPolicyResult(
137
+ description=pulumi.get(__response__, 'description'),
138
+ id=pulumi.get(__response__, 'id'),
139
+ name=pulumi.get(__response__, 'name'),
140
+ rules=pulumi.get(__response__, 'rules')))
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from . import _utilities
11
16
  from . import outputs
12
17
 
@@ -88,14 +93,12 @@ def get_acl_role(id: Optional[str] = None,
88
93
 
89
94
  ## Example Usage
90
95
 
91
- <!--Start PulumiCodeChooser -->
92
96
  ```python
93
97
  import pulumi
94
98
  import pulumi_nomad as nomad
95
99
 
96
100
  example = nomad.get_acl_role(id="aa534e09-6a07-0a45-2295-a7f77063d429")
97
101
  ```
98
- <!--End PulumiCodeChooser -->
99
102
 
100
103
 
101
104
  :param str id: `(string)` The unique identifier of the ACL Role.
@@ -110,26 +113,29 @@ def get_acl_role(id: Optional[str] = None,
110
113
  id=pulumi.get(__ret__, 'id'),
111
114
  name=pulumi.get(__ret__, 'name'),
112
115
  policies=pulumi.get(__ret__, 'policies'))
113
-
114
-
115
- @_utilities.lift_output_func(get_acl_role)
116
116
  def get_acl_role_output(id: Optional[pulumi.Input[str]] = None,
117
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAclRoleResult]:
117
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAclRoleResult]:
118
118
  """
119
119
  Get information on an ACL Role.
120
120
 
121
121
  ## Example Usage
122
122
 
123
- <!--Start PulumiCodeChooser -->
124
123
  ```python
125
124
  import pulumi
126
125
  import pulumi_nomad as nomad
127
126
 
128
127
  example = nomad.get_acl_role(id="aa534e09-6a07-0a45-2295-a7f77063d429")
129
128
  ```
130
- <!--End PulumiCodeChooser -->
131
129
 
132
130
 
133
131
  :param str id: `(string)` The unique identifier of the ACL Role.
134
132
  """
135
- ...
133
+ __args__ = dict()
134
+ __args__['id'] = id
135
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
136
+ __ret__ = pulumi.runtime.invoke_output('nomad:index/getAclRole:getAclRole', __args__, opts=opts, typ=GetAclRoleResult)
137
+ return __ret__.apply(lambda __response__: GetAclRoleResult(
138
+ description=pulumi.get(__response__, 'description'),
139
+ id=pulumi.get(__response__, 'id'),
140
+ name=pulumi.get(__response__, 'name'),
141
+ policies=pulumi.get(__response__, 'policies')))