1. Packages
  2. HashiCorp Nomad
  3. API Docs
  4. CsiVolumeRegistration
Nomad v2.0.0 published on Wednesday, Sep 13, 2023 by Pulumi

nomad.CsiVolumeRegistration

Explore with Pulumi AI

nomad logo
Nomad v2.0.0 published on Wednesday, Sep 13, 2023 by Pulumi

    Example Usage

    Registering a volume

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Nomad = Pulumi.Nomad;
    
    return await Deployment.RunAsync(() => 
    {
        var ebs = Nomad.GetPlugin.Invoke(new()
        {
            PluginId = "aws-ebs0",
            WaitForHealthy = true,
        });
    
        var mysqlVolume = new Nomad.Volume("mysqlVolume", new()
        {
            PluginId = "aws-ebs0",
            VolumeId = "mysql_volume",
            ExternalId = module.Hashistack.Ebs_test_volume_id,
            Capabilities = new[]
            {
                new Nomad.Inputs.VolumeCapabilityArgs
                {
                    AccessMode = "single-node-writer",
                    AttachmentMode = "file-system",
                },
            },
            MountOptions = new Nomad.Inputs.VolumeMountOptionsArgs
            {
                FsType = "ext4",
            },
            TopologyRequest = new Nomad.Inputs.VolumeTopologyRequestArgs
            {
                Required = new Nomad.Inputs.VolumeTopologyRequestRequiredArgs
                {
                    Topologies = new[]
                    {
                        new Nomad.Inputs.VolumeTopologyRequestRequiredTopologyArgs
                        {
                            Segments = 
                            {
                                { "rack", "R1" },
                                { "zone", "us-east-1a" },
                            },
                        },
                        new Nomad.Inputs.VolumeTopologyRequestRequiredTopologyArgs
                        {
                            Segments = 
                            {
                                { "rack", "R2" },
                            },
                        },
                    },
                },
            },
        }, new CustomResourceOptions
        {
            DependsOn = new[]
            {
                ebs,
            },
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		ebs, err := nomad.GetPlugin(ctx, &nomad.GetPluginArgs{
    			PluginId:       "aws-ebs0",
    			WaitForHealthy: pulumi.BoolRef(true),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = nomad.NewVolume(ctx, "mysqlVolume", &nomad.VolumeArgs{
    			PluginId:   pulumi.String("aws-ebs0"),
    			VolumeId:   pulumi.String("mysql_volume"),
    			ExternalId: pulumi.Any(module.Hashistack.Ebs_test_volume_id),
    			Capabilities: nomad.VolumeCapabilityArray{
    				&nomad.VolumeCapabilityArgs{
    					AccessMode:     pulumi.String("single-node-writer"),
    					AttachmentMode: pulumi.String("file-system"),
    				},
    			},
    			MountOptions: &nomad.VolumeMountOptionsArgs{
    				FsType: pulumi.String("ext4"),
    			},
    			TopologyRequest: &nomad.VolumeTopologyRequestArgs{
    				Required: &nomad.VolumeTopologyRequestRequiredArgs{
    					Topologies: nomad.VolumeTopologyRequestRequiredTopologyArray{
    						&nomad.VolumeTopologyRequestRequiredTopologyArgs{
    							Segments: pulumi.StringMap{
    								"rack": pulumi.String("R1"),
    								"zone": pulumi.String("us-east-1a"),
    							},
    						},
    						&nomad.VolumeTopologyRequestRequiredTopologyArgs{
    							Segments: pulumi.StringMap{
    								"rack": pulumi.String("R2"),
    							},
    						},
    					},
    				},
    			},
    		}, pulumi.DependsOn([]pulumi.Resource{
    			ebs,
    		}))
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.nomad.NomadFunctions;
    import com.pulumi.nomad.inputs.GetPluginArgs;
    import com.pulumi.nomad.Volume;
    import com.pulumi.nomad.VolumeArgs;
    import com.pulumi.nomad.inputs.VolumeCapabilityArgs;
    import com.pulumi.nomad.inputs.VolumeMountOptionsArgs;
    import com.pulumi.nomad.inputs.VolumeTopologyRequestArgs;
    import com.pulumi.nomad.inputs.VolumeTopologyRequestRequiredArgs;
    import com.pulumi.resources.CustomResourceOptions;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            final var ebs = NomadFunctions.getPlugin(GetPluginArgs.builder()
                .pluginId("aws-ebs0")
                .waitForHealthy(true)
                .build());
    
            var mysqlVolume = new Volume("mysqlVolume", VolumeArgs.builder()        
                .pluginId("aws-ebs0")
                .volumeId("mysql_volume")
                .externalId(module.hashistack().ebs_test_volume_id())
                .capabilities(VolumeCapabilityArgs.builder()
                    .accessMode("single-node-writer")
                    .attachmentMode("file-system")
                    .build())
                .mountOptions(VolumeMountOptionsArgs.builder()
                    .fsType("ext4")
                    .build())
                .topologyRequest(VolumeTopologyRequestArgs.builder()
                    .required(VolumeTopologyRequestRequiredArgs.builder()
                        .topologies(                    
                            VolumeTopologyRequestRequiredTopologyArgs.builder()
                                .segments(Map.ofEntries(
                                    Map.entry("rack", "R1"),
                                    Map.entry("zone", "us-east-1a")
                                ))
                                .build(),
                            VolumeTopologyRequestRequiredTopologyArgs.builder()
                                .segments(Map.of("rack", "R2"))
                                .build())
                        .build())
                    .build())
                .build(), CustomResourceOptions.builder()
                    .dependsOn(ebs.applyValue(getPluginResult -> getPluginResult))
                    .build());
    
        }
    }
    
    import pulumi
    import pulumi_nomad as nomad
    
    ebs = nomad.get_plugin(plugin_id="aws-ebs0",
        wait_for_healthy=True)
    mysql_volume = nomad.Volume("mysqlVolume",
        plugin_id="aws-ebs0",
        volume_id="mysql_volume",
        external_id=module["hashistack"]["ebs_test_volume_id"],
        capabilities=[nomad.VolumeCapabilityArgs(
            access_mode="single-node-writer",
            attachment_mode="file-system",
        )],
        mount_options=nomad.VolumeMountOptionsArgs(
            fs_type="ext4",
        ),
        topology_request=nomad.VolumeTopologyRequestArgs(
            required=nomad.VolumeTopologyRequestRequiredArgs(
                topologies=[
                    nomad.VolumeTopologyRequestRequiredTopologyArgs(
                        segments={
                            "rack": "R1",
                            "zone": "us-east-1a",
                        },
                    ),
                    nomad.VolumeTopologyRequestRequiredTopologyArgs(
                        segments={
                            "rack": "R2",
                        },
                    ),
                ],
            ),
        ),
        opts=pulumi.ResourceOptions(depends_on=[ebs]))
    
    import * as pulumi from "@pulumi/pulumi";
    import * as nomad from "@pulumi/nomad";
    
    const ebs = nomad.getPlugin({
        pluginId: "aws-ebs0",
        waitForHealthy: true,
    });
    const mysqlVolume = new nomad.Volume("mysqlVolume", {
        pluginId: "aws-ebs0",
        volumeId: "mysql_volume",
        externalId: module.hashistack.ebs_test_volume_id,
        capabilities: [{
            accessMode: "single-node-writer",
            attachmentMode: "file-system",
        }],
        mountOptions: {
            fsType: "ext4",
        },
        topologyRequest: {
            required: {
                topologies: [
                    {
                        segments: {
                            rack: "R1",
                            zone: "us-east-1a",
                        },
                    },
                    {
                        segments: {
                            rack: "R2",
                        },
                    },
                ],
            },
        },
    }, {
        dependsOn: [ebs],
    });
    
    resources:
      mysqlVolume:
        type: nomad:Volume
        properties:
          pluginId: aws-ebs0
          volumeId: mysql_volume
          externalId: ${module.hashistack.ebs_test_volume_id}
          capabilities:
            - accessMode: single-node-writer
              attachmentMode: file-system
          mountOptions:
            fsType: ext4
          topologyRequest:
            required:
              topologies:
                - segments:
                    rack: R1
                    zone: us-east-1a
                - segments:
                    rack: R2
        options:
          dependson:
            - ${ebs}
    variables:
      ebs:
        fn::invoke:
          Function: nomad:getPlugin
          Arguments:
            pluginId: aws-ebs0
            waitForHealthy: true
    

    Create CsiVolumeRegistration Resource

    new CsiVolumeRegistration(name: string, args: CsiVolumeRegistrationArgs, opts?: CustomResourceOptions);
    @overload
    def CsiVolumeRegistration(resource_name: str,
                              opts: Optional[ResourceOptions] = None,
                              capabilities: Optional[Sequence[CsiVolumeRegistrationCapabilityArgs]] = None,
                              context: Optional[Mapping[str, str]] = None,
                              deregister_on_destroy: Optional[bool] = None,
                              external_id: Optional[str] = None,
                              mount_options: Optional[CsiVolumeRegistrationMountOptionsArgs] = None,
                              name: Optional[str] = None,
                              namespace: Optional[str] = None,
                              parameters: Optional[Mapping[str, str]] = None,
                              plugin_id: Optional[str] = None,
                              secrets: Optional[Mapping[str, str]] = None,
                              topology_request: Optional[CsiVolumeRegistrationTopologyRequestArgs] = None,
                              volume_id: Optional[str] = None)
    @overload
    def CsiVolumeRegistration(resource_name: str,
                              args: CsiVolumeRegistrationArgs,
                              opts: Optional[ResourceOptions] = None)
    func NewCsiVolumeRegistration(ctx *Context, name string, args CsiVolumeRegistrationArgs, opts ...ResourceOption) (*CsiVolumeRegistration, error)
    public CsiVolumeRegistration(string name, CsiVolumeRegistrationArgs args, CustomResourceOptions? opts = null)
    public CsiVolumeRegistration(String name, CsiVolumeRegistrationArgs args)
    public CsiVolumeRegistration(String name, CsiVolumeRegistrationArgs args, CustomResourceOptions options)
    
    type: nomad:CsiVolumeRegistration
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    name string
    The unique name of the resource.
    args CsiVolumeRegistrationArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args CsiVolumeRegistrationArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args CsiVolumeRegistrationArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args CsiVolumeRegistrationArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args CsiVolumeRegistrationArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    CsiVolumeRegistration Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The CsiVolumeRegistration resource accepts the following input properties:

    ExternalId string

    (string: <required>) - The ID of the physical volume from the storage provider.

    PluginId string

    (string: <required>) - The ID of the Nomad plugin for registering this volume.

    VolumeId string

    (string: <required>) - The unique ID of the volume.

    Capabilities List<CsiVolumeRegistrationCapability>

    (``Capability``: <required>) - Options for validating the capability of a volume.

    Context Dictionary<string, string>

    (map[string]string: <optional>) - An optional key-value map of strings passed directly to the CSI plugin to validate the volume.

    DeregisterOnDestroy bool

    (boolean: false) - If true, the volume will be deregistered on destroy.

    MountOptions CsiVolumeRegistrationMountOptions

    (block: <optional>) Options for mounting block-device volumes without a pre-formatted file system.

    Name string

    (string: <required>) - The display name for the volume.

    Namespace string

    (string: "default") - The namespace in which to register the volume.

    Parameters Dictionary<string, string>

    (map[string]string: <optional>) - An optional key-value map of strings passed directly to the CSI plugin to configure the volume.

    Secrets Dictionary<string, string>

    (map[string]string: <optional>) - An optional key-value map of strings used as credentials for publishing and unpublishing volumes.

    TopologyRequest CsiVolumeRegistrationTopologyRequest

    (``TopologyRequest``: <optional>) - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from.

    ExternalId string

    (string: <required>) - The ID of the physical volume from the storage provider.

    PluginId string

    (string: <required>) - The ID of the Nomad plugin for registering this volume.

    VolumeId string

    (string: <required>) - The unique ID of the volume.

    Capabilities []CsiVolumeRegistrationCapabilityArgs

    (``Capability``: <required>) - Options for validating the capability of a volume.

    Context map[string]string

    (map[string]string: <optional>) - An optional key-value map of strings passed directly to the CSI plugin to validate the volume.

    DeregisterOnDestroy bool

    (boolean: false) - If true, the volume will be deregistered on destroy.

    MountOptions CsiVolumeRegistrationMountOptionsArgs

    (block: <optional>) Options for mounting block-device volumes without a pre-formatted file system.

    Name string

    (string: <required>) - The display name for the volume.

    Namespace string

    (string: "default") - The namespace in which to register the volume.

    Parameters map[string]string

    (map[string]string: <optional>) - An optional key-value map of strings passed directly to the CSI plugin to configure the volume.

    Secrets map[string]string

    (map[string]string: <optional>) - An optional key-value map of strings used as credentials for publishing and unpublishing volumes.

    TopologyRequest CsiVolumeRegistrationTopologyRequestArgs

    (``TopologyRequest``: <optional>) - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from.

    externalId String

    (string: <required>) - The ID of the physical volume from the storage provider.

    pluginId String

    (string: <required>) - The ID of the Nomad plugin for registering this volume.

    volumeId String

    (string: <required>) - The unique ID of the volume.

    capabilities List<CsiVolumeRegistrationCapability>

    (``Capability``: <required>) - Options for validating the capability of a volume.

    context Map<String,String>

    (map[string]string: <optional>) - An optional key-value map of strings passed directly to the CSI plugin to validate the volume.

    deregisterOnDestroy Boolean

    (boolean: false) - If true, the volume will be deregistered on destroy.

    mountOptions CsiVolumeRegistrationMountOptions

    (block: <optional>) Options for mounting block-device volumes without a pre-formatted file system.

    name String

    (string: <required>) - The display name for the volume.

    namespace String

    (string: "default") - The namespace in which to register the volume.

    parameters Map<String,String>

    (map[string]string: <optional>) - An optional key-value map of strings passed directly to the CSI plugin to configure the volume.

    secrets Map<String,String>

    (map[string]string: <optional>) - An optional key-value map of strings used as credentials for publishing and unpublishing volumes.

    topologyRequest CsiVolumeRegistrationTopologyRequest

    (``TopologyRequest``: <optional>) - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from.

    externalId string

    (string: <required>) - The ID of the physical volume from the storage provider.

    pluginId string

    (string: <required>) - The ID of the Nomad plugin for registering this volume.

    volumeId string

    (string: <required>) - The unique ID of the volume.

    capabilities CsiVolumeRegistrationCapability[]

    (``Capability``: <required>) - Options for validating the capability of a volume.

    context {[key: string]: string}

    (map[string]string: <optional>) - An optional key-value map of strings passed directly to the CSI plugin to validate the volume.

    deregisterOnDestroy boolean

    (boolean: false) - If true, the volume will be deregistered on destroy.

    mountOptions CsiVolumeRegistrationMountOptions

    (block: <optional>) Options for mounting block-device volumes without a pre-formatted file system.

    name string

    (string: <required>) - The display name for the volume.

    namespace string

    (string: "default") - The namespace in which to register the volume.

    parameters {[key: string]: string}

    (map[string]string: <optional>) - An optional key-value map of strings passed directly to the CSI plugin to configure the volume.

    secrets {[key: string]: string}

    (map[string]string: <optional>) - An optional key-value map of strings used as credentials for publishing and unpublishing volumes.

    topologyRequest CsiVolumeRegistrationTopologyRequest

    (``TopologyRequest``: <optional>) - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from.

    external_id str

    (string: <required>) - The ID of the physical volume from the storage provider.

    plugin_id str

    (string: <required>) - The ID of the Nomad plugin for registering this volume.

    volume_id str

    (string: <required>) - The unique ID of the volume.

    capabilities Sequence[CsiVolumeRegistrationCapabilityArgs]

    (``Capability``: <required>) - Options for validating the capability of a volume.

    context Mapping[str, str]

    (map[string]string: <optional>) - An optional key-value map of strings passed directly to the CSI plugin to validate the volume.

    deregister_on_destroy bool

    (boolean: false) - If true, the volume will be deregistered on destroy.

    mount_options CsiVolumeRegistrationMountOptionsArgs

    (block: <optional>) Options for mounting block-device volumes without a pre-formatted file system.

    name str

    (string: <required>) - The display name for the volume.

    namespace str

    (string: "default") - The namespace in which to register the volume.

    parameters Mapping[str, str]

    (map[string]string: <optional>) - An optional key-value map of strings passed directly to the CSI plugin to configure the volume.

    secrets Mapping[str, str]

    (map[string]string: <optional>) - An optional key-value map of strings used as credentials for publishing and unpublishing volumes.

    topology_request CsiVolumeRegistrationTopologyRequestArgs

    (``TopologyRequest``: <optional>) - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from.

    externalId String

    (string: <required>) - The ID of the physical volume from the storage provider.

    pluginId String

    (string: <required>) - The ID of the Nomad plugin for registering this volume.

    volumeId String

    (string: <required>) - The unique ID of the volume.

    capabilities List<Property Map>

    (``Capability``: <required>) - Options for validating the capability of a volume.

    context Map<String>

    (map[string]string: <optional>) - An optional key-value map of strings passed directly to the CSI plugin to validate the volume.

    deregisterOnDestroy Boolean

    (boolean: false) - If true, the volume will be deregistered on destroy.

    mountOptions Property Map

    (block: <optional>) Options for mounting block-device volumes without a pre-formatted file system.

    name String

    (string: <required>) - The display name for the volume.

    namespace String

    (string: "default") - The namespace in which to register the volume.

    parameters Map<String>

    (map[string]string: <optional>) - An optional key-value map of strings passed directly to the CSI plugin to configure the volume.

    secrets Map<String>

    (map[string]string: <optional>) - An optional key-value map of strings used as credentials for publishing and unpublishing volumes.

    topologyRequest Property Map

    (``TopologyRequest``: <optional>) - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the CsiVolumeRegistration resource produces the following output properties:

    ControllerRequired bool

    (boolean)

    ControllersExpected int

    (integer)

    ControllersHealthy int

    (integer)

    Id string

    The provider-assigned unique ID for this managed resource.

    NodesExpected int

    (integer)

    NodesHealthy int

    (integer)

    PluginProvider string

    (string)

    PluginProviderVersion string

    (string)

    Schedulable bool

    (boolean)

    Topologies List<CsiVolumeRegistrationTopology>

    (List of topologies)

    ControllerRequired bool

    (boolean)

    ControllersExpected int

    (integer)

    ControllersHealthy int

    (integer)

    Id string

    The provider-assigned unique ID for this managed resource.

    NodesExpected int

    (integer)

    NodesHealthy int

    (integer)

    PluginProvider string

    (string)

    PluginProviderVersion string

    (string)

    Schedulable bool

    (boolean)

    Topologies []CsiVolumeRegistrationTopology

    (List of topologies)

    controllerRequired Boolean

    (boolean)

    controllersExpected Integer

    (integer)

    controllersHealthy Integer

    (integer)

    id String

    The provider-assigned unique ID for this managed resource.

    nodesExpected Integer

    (integer)

    nodesHealthy Integer

    (integer)

    pluginProvider String

    (string)

    pluginProviderVersion String

    (string)

    schedulable Boolean

    (boolean)

    topologies List<CsiVolumeRegistrationTopology>

    (List of topologies)

    controllerRequired boolean

    (boolean)

    controllersExpected number

    (integer)

    controllersHealthy number

    (integer)

    id string

    The provider-assigned unique ID for this managed resource.

    nodesExpected number

    (integer)

    nodesHealthy number

    (integer)

    pluginProvider string

    (string)

    pluginProviderVersion string

    (string)

    schedulable boolean

    (boolean)

    topologies CsiVolumeRegistrationTopology[]

    (List of topologies)

    controller_required bool

    (boolean)

    controllers_expected int

    (integer)

    controllers_healthy int

    (integer)

    id str

    The provider-assigned unique ID for this managed resource.

    nodes_expected int

    (integer)

    nodes_healthy int

    (integer)

    plugin_provider str

    (string)

    plugin_provider_version str

    (string)

    schedulable bool

    (boolean)

    topologies Sequence[CsiVolumeRegistrationTopology]

    (List of topologies)

    controllerRequired Boolean

    (boolean)

    controllersExpected Number

    (integer)

    controllersHealthy Number

    (integer)

    id String

    The provider-assigned unique ID for this managed resource.

    nodesExpected Number

    (integer)

    nodesHealthy Number

    (integer)

    pluginProvider String

    (string)

    pluginProviderVersion String

    (string)

    schedulable Boolean

    (boolean)

    topologies List<Property Map>

    (List of topologies)

    Look up Existing CsiVolumeRegistration Resource

    Get an existing CsiVolumeRegistration resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: CsiVolumeRegistrationState, opts?: CustomResourceOptions): CsiVolumeRegistration
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            capabilities: Optional[Sequence[CsiVolumeRegistrationCapabilityArgs]] = None,
            context: Optional[Mapping[str, str]] = None,
            controller_required: Optional[bool] = None,
            controllers_expected: Optional[int] = None,
            controllers_healthy: Optional[int] = None,
            deregister_on_destroy: Optional[bool] = None,
            external_id: Optional[str] = None,
            mount_options: Optional[CsiVolumeRegistrationMountOptionsArgs] = None,
            name: Optional[str] = None,
            namespace: Optional[str] = None,
            nodes_expected: Optional[int] = None,
            nodes_healthy: Optional[int] = None,
            parameters: Optional[Mapping[str, str]] = None,
            plugin_id: Optional[str] = None,
            plugin_provider: Optional[str] = None,
            plugin_provider_version: Optional[str] = None,
            schedulable: Optional[bool] = None,
            secrets: Optional[Mapping[str, str]] = None,
            topologies: Optional[Sequence[CsiVolumeRegistrationTopologyArgs]] = None,
            topology_request: Optional[CsiVolumeRegistrationTopologyRequestArgs] = None,
            volume_id: Optional[str] = None) -> CsiVolumeRegistration
    func GetCsiVolumeRegistration(ctx *Context, name string, id IDInput, state *CsiVolumeRegistrationState, opts ...ResourceOption) (*CsiVolumeRegistration, error)
    public static CsiVolumeRegistration Get(string name, Input<string> id, CsiVolumeRegistrationState? state, CustomResourceOptions? opts = null)
    public static CsiVolumeRegistration get(String name, Output<String> id, CsiVolumeRegistrationState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Capabilities List<CsiVolumeRegistrationCapability>

    (``Capability``: <required>) - Options for validating the capability of a volume.

    Context Dictionary<string, string>

    (map[string]string: <optional>) - An optional key-value map of strings passed directly to the CSI plugin to validate the volume.

    ControllerRequired bool

    (boolean)

    ControllersExpected int

    (integer)

    ControllersHealthy int

    (integer)

    DeregisterOnDestroy bool

    (boolean: false) - If true, the volume will be deregistered on destroy.

    ExternalId string

    (string: <required>) - The ID of the physical volume from the storage provider.

    MountOptions CsiVolumeRegistrationMountOptions

    (block: <optional>) Options for mounting block-device volumes without a pre-formatted file system.

    Name string

    (string: <required>) - The display name for the volume.

    Namespace string

    (string: "default") - The namespace in which to register the volume.

    NodesExpected int

    (integer)

    NodesHealthy int

    (integer)

    Parameters Dictionary<string, string>

    (map[string]string: <optional>) - An optional key-value map of strings passed directly to the CSI plugin to configure the volume.

    PluginId string

    (string: <required>) - The ID of the Nomad plugin for registering this volume.

    PluginProvider string

    (string)

    PluginProviderVersion string

    (string)

    Schedulable bool

    (boolean)

    Secrets Dictionary<string, string>

    (map[string]string: <optional>) - An optional key-value map of strings used as credentials for publishing and unpublishing volumes.

    Topologies List<CsiVolumeRegistrationTopology>

    (List of topologies)

    TopologyRequest CsiVolumeRegistrationTopologyRequest

    (``TopologyRequest``: <optional>) - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from.

    VolumeId string

    (string: <required>) - The unique ID of the volume.

    Capabilities []CsiVolumeRegistrationCapabilityArgs

    (``Capability``: <required>) - Options for validating the capability of a volume.

    Context map[string]string

    (map[string]string: <optional>) - An optional key-value map of strings passed directly to the CSI plugin to validate the volume.

    ControllerRequired bool

    (boolean)

    ControllersExpected int

    (integer)

    ControllersHealthy int

    (integer)

    DeregisterOnDestroy bool

    (boolean: false) - If true, the volume will be deregistered on destroy.

    ExternalId string

    (string: <required>) - The ID of the physical volume from the storage provider.

    MountOptions CsiVolumeRegistrationMountOptionsArgs

    (block: <optional>) Options for mounting block-device volumes without a pre-formatted file system.

    Name string

    (string: <required>) - The display name for the volume.

    Namespace string

    (string: "default") - The namespace in which to register the volume.

    NodesExpected int

    (integer)

    NodesHealthy int

    (integer)

    Parameters map[string]string

    (map[string]string: <optional>) - An optional key-value map of strings passed directly to the CSI plugin to configure the volume.

    PluginId string

    (string: <required>) - The ID of the Nomad plugin for registering this volume.

    PluginProvider string

    (string)

    PluginProviderVersion string

    (string)

    Schedulable bool

    (boolean)

    Secrets map[string]string

    (map[string]string: <optional>) - An optional key-value map of strings used as credentials for publishing and unpublishing volumes.

    Topologies []CsiVolumeRegistrationTopologyArgs

    (List of topologies)

    TopologyRequest CsiVolumeRegistrationTopologyRequestArgs

    (``TopologyRequest``: <optional>) - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from.

    VolumeId string

    (string: <required>) - The unique ID of the volume.

    capabilities List<CsiVolumeRegistrationCapability>

    (``Capability``: <required>) - Options for validating the capability of a volume.

    context Map<String,String>

    (map[string]string: <optional>) - An optional key-value map of strings passed directly to the CSI plugin to validate the volume.

    controllerRequired Boolean

    (boolean)

    controllersExpected Integer

    (integer)

    controllersHealthy Integer

    (integer)

    deregisterOnDestroy Boolean

    (boolean: false) - If true, the volume will be deregistered on destroy.

    externalId String

    (string: <required>) - The ID of the physical volume from the storage provider.

    mountOptions CsiVolumeRegistrationMountOptions

    (block: <optional>) Options for mounting block-device volumes without a pre-formatted file system.

    name String

    (string: <required>) - The display name for the volume.

    namespace String

    (string: "default") - The namespace in which to register the volume.

    nodesExpected Integer

    (integer)

    nodesHealthy Integer

    (integer)

    parameters Map<String,String>

    (map[string]string: <optional>) - An optional key-value map of strings passed directly to the CSI plugin to configure the volume.

    pluginId String

    (string: <required>) - The ID of the Nomad plugin for registering this volume.

    pluginProvider String

    (string)

    pluginProviderVersion String

    (string)

    schedulable Boolean

    (boolean)

    secrets Map<String,String>

    (map[string]string: <optional>) - An optional key-value map of strings used as credentials for publishing and unpublishing volumes.

    topologies List<CsiVolumeRegistrationTopology>

    (List of topologies)

    topologyRequest CsiVolumeRegistrationTopologyRequest

    (``TopologyRequest``: <optional>) - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from.

    volumeId String

    (string: <required>) - The unique ID of the volume.

    capabilities CsiVolumeRegistrationCapability[]

    (``Capability``: <required>) - Options for validating the capability of a volume.

    context {[key: string]: string}

    (map[string]string: <optional>) - An optional key-value map of strings passed directly to the CSI plugin to validate the volume.

    controllerRequired boolean

    (boolean)

    controllersExpected number

    (integer)

    controllersHealthy number

    (integer)

    deregisterOnDestroy boolean

    (boolean: false) - If true, the volume will be deregistered on destroy.

    externalId string

    (string: <required>) - The ID of the physical volume from the storage provider.

    mountOptions CsiVolumeRegistrationMountOptions

    (block: <optional>) Options for mounting block-device volumes without a pre-formatted file system.

    name string

    (string: <required>) - The display name for the volume.

    namespace string

    (string: "default") - The namespace in which to register the volume.

    nodesExpected number

    (integer)

    nodesHealthy number

    (integer)

    parameters {[key: string]: string}

    (map[string]string: <optional>) - An optional key-value map of strings passed directly to the CSI plugin to configure the volume.

    pluginId string

    (string: <required>) - The ID of the Nomad plugin for registering this volume.

    pluginProvider string

    (string)

    pluginProviderVersion string

    (string)

    schedulable boolean

    (boolean)

    secrets {[key: string]: string}

    (map[string]string: <optional>) - An optional key-value map of strings used as credentials for publishing and unpublishing volumes.

    topologies CsiVolumeRegistrationTopology[]

    (List of topologies)

    topologyRequest CsiVolumeRegistrationTopologyRequest

    (``TopologyRequest``: <optional>) - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from.

    volumeId string

    (string: <required>) - The unique ID of the volume.

    capabilities Sequence[CsiVolumeRegistrationCapabilityArgs]

    (``Capability``: <required>) - Options for validating the capability of a volume.

    context Mapping[str, str]

    (map[string]string: <optional>) - An optional key-value map of strings passed directly to the CSI plugin to validate the volume.

    controller_required bool

    (boolean)

    controllers_expected int

    (integer)

    controllers_healthy int

    (integer)

    deregister_on_destroy bool

    (boolean: false) - If true, the volume will be deregistered on destroy.

    external_id str

    (string: <required>) - The ID of the physical volume from the storage provider.

    mount_options CsiVolumeRegistrationMountOptionsArgs

    (block: <optional>) Options for mounting block-device volumes without a pre-formatted file system.

    name str

    (string: <required>) - The display name for the volume.

    namespace str

    (string: "default") - The namespace in which to register the volume.

    nodes_expected int

    (integer)

    nodes_healthy int

    (integer)

    parameters Mapping[str, str]

    (map[string]string: <optional>) - An optional key-value map of strings passed directly to the CSI plugin to configure the volume.

    plugin_id str

    (string: <required>) - The ID of the Nomad plugin for registering this volume.

    plugin_provider str

    (string)

    plugin_provider_version str

    (string)

    schedulable bool

    (boolean)

    secrets Mapping[str, str]

    (map[string]string: <optional>) - An optional key-value map of strings used as credentials for publishing and unpublishing volumes.

    topologies Sequence[CsiVolumeRegistrationTopologyArgs]

    (List of topologies)

    topology_request CsiVolumeRegistrationTopologyRequestArgs

    (``TopologyRequest``: <optional>) - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from.

    volume_id str

    (string: <required>) - The unique ID of the volume.

    capabilities List<Property Map>

    (``Capability``: <required>) - Options for validating the capability of a volume.

    context Map<String>

    (map[string]string: <optional>) - An optional key-value map of strings passed directly to the CSI plugin to validate the volume.

    controllerRequired Boolean

    (boolean)

    controllersExpected Number

    (integer)

    controllersHealthy Number

    (integer)

    deregisterOnDestroy Boolean

    (boolean: false) - If true, the volume will be deregistered on destroy.

    externalId String

    (string: <required>) - The ID of the physical volume from the storage provider.

    mountOptions Property Map

    (block: <optional>) Options for mounting block-device volumes without a pre-formatted file system.

    name String

    (string: <required>) - The display name for the volume.

    namespace String

    (string: "default") - The namespace in which to register the volume.

    nodesExpected Number

    (integer)

    nodesHealthy Number

    (integer)

    parameters Map<String>

    (map[string]string: <optional>) - An optional key-value map of strings passed directly to the CSI plugin to configure the volume.

    pluginId String

    (string: <required>) - The ID of the Nomad plugin for registering this volume.

    pluginProvider String

    (string)

    pluginProviderVersion String

    (string)

    schedulable Boolean

    (boolean)

    secrets Map<String>

    (map[string]string: <optional>) - An optional key-value map of strings used as credentials for publishing and unpublishing volumes.

    topologies List<Property Map>

    (List of topologies)

    topologyRequest Property Map

    (``TopologyRequest``: <optional>) - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from.

    volumeId String

    (string: <required>) - The unique ID of the volume.

    Supporting Types

    CsiVolumeRegistrationCapability, CsiVolumeRegistrationCapabilityArgs

    AccessMode string

    (string: <required>) - Defines whether a volume should be available concurrently. Possible values are:

    • single-node-reader-only
    • single-node-writer
    • multi-node-reader-only
    • multi-node-single-writer
    • multi-node-multi-writer
    AttachmentMode string

    (string: <required>) - The storage API that will be used by the volume. Possible values are:

    • block-device
    • file-system
    AccessMode string

    (string: <required>) - Defines whether a volume should be available concurrently. Possible values are:

    • single-node-reader-only
    • single-node-writer
    • multi-node-reader-only
    • multi-node-single-writer
    • multi-node-multi-writer
    AttachmentMode string

    (string: <required>) - The storage API that will be used by the volume. Possible values are:

    • block-device
    • file-system
    accessMode String

    (string: <required>) - Defines whether a volume should be available concurrently. Possible values are:

    • single-node-reader-only
    • single-node-writer
    • multi-node-reader-only
    • multi-node-single-writer
    • multi-node-multi-writer
    attachmentMode String

    (string: <required>) - The storage API that will be used by the volume. Possible values are:

    • block-device
    • file-system
    accessMode string

    (string: <required>) - Defines whether a volume should be available concurrently. Possible values are:

    • single-node-reader-only
    • single-node-writer
    • multi-node-reader-only
    • multi-node-single-writer
    • multi-node-multi-writer
    attachmentMode string

    (string: <required>) - The storage API that will be used by the volume. Possible values are:

    • block-device
    • file-system
    access_mode str

    (string: <required>) - Defines whether a volume should be available concurrently. Possible values are:

    • single-node-reader-only
    • single-node-writer
    • multi-node-reader-only
    • multi-node-single-writer
    • multi-node-multi-writer
    attachment_mode str

    (string: <required>) - The storage API that will be used by the volume. Possible values are:

    • block-device
    • file-system
    accessMode String

    (string: <required>) - Defines whether a volume should be available concurrently. Possible values are:

    • single-node-reader-only
    • single-node-writer
    • multi-node-reader-only
    • multi-node-single-writer
    • multi-node-multi-writer
    attachmentMode String

    (string: <required>) - The storage API that will be used by the volume. Possible values are:

    • block-device
    • file-system

    CsiVolumeRegistrationMountOptions, CsiVolumeRegistrationMountOptionsArgs

    FsType string

    (string: <optional>) - The file system type.

    MountFlags List<string>

    ([]string: <optional>) - The flags passed to mount.

    FsType string

    (string: <optional>) - The file system type.

    MountFlags []string

    ([]string: <optional>) - The flags passed to mount.

    fsType String

    (string: <optional>) - The file system type.

    mountFlags List<String>

    ([]string: <optional>) - The flags passed to mount.

    fsType string

    (string: <optional>) - The file system type.

    mountFlags string[]

    ([]string: <optional>) - The flags passed to mount.

    fs_type str

    (string: <optional>) - The file system type.

    mount_flags Sequence[str]

    ([]string: <optional>) - The flags passed to mount.

    fsType String

    (string: <optional>) - The file system type.

    mountFlags List<String>

    ([]string: <optional>) - The flags passed to mount.

    CsiVolumeRegistrationTopology, CsiVolumeRegistrationTopologyArgs

    Segments Dictionary<string, string>

    (map[string]string) - Define the attributes for the topology request.

    In addition to the above arguments, the following attributes are exported and can be referenced:

    Segments map[string]string

    (map[string]string) - Define the attributes for the topology request.

    In addition to the above arguments, the following attributes are exported and can be referenced:

    segments Map<String,String>

    (map[string]string) - Define the attributes for the topology request.

    In addition to the above arguments, the following attributes are exported and can be referenced:

    segments {[key: string]: string}

    (map[string]string) - Define the attributes for the topology request.

    In addition to the above arguments, the following attributes are exported and can be referenced:

    segments Mapping[str, str]

    (map[string]string) - Define the attributes for the topology request.

    In addition to the above arguments, the following attributes are exported and can be referenced:

    segments Map<String>

    (map[string]string) - Define the attributes for the topology request.

    In addition to the above arguments, the following attributes are exported and can be referenced:

    CsiVolumeRegistrationTopologyRequest, CsiVolumeRegistrationTopologyRequestArgs

    Required CsiVolumeRegistrationTopologyRequestRequired

    (``Topology``: <optional>) - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies.

    Required CsiVolumeRegistrationTopologyRequestRequired

    (``Topology``: <optional>) - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies.

    required CsiVolumeRegistrationTopologyRequestRequired

    (``Topology``: <optional>) - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies.

    required CsiVolumeRegistrationTopologyRequestRequired

    (``Topology``: <optional>) - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies.

    required CsiVolumeRegistrationTopologyRequestRequired

    (``Topology``: <optional>) - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies.

    required Property Map

    (``Topology``: <optional>) - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies.

    CsiVolumeRegistrationTopologyRequestRequired, CsiVolumeRegistrationTopologyRequestRequiredArgs

    CsiVolumeRegistrationTopologyRequestRequiredTopology, CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs

    Segments Dictionary<string, string>

    (map[string]string) - Define the attributes for the topology request.

    In addition to the above arguments, the following attributes are exported and can be referenced:

    Segments map[string]string

    (map[string]string) - Define the attributes for the topology request.

    In addition to the above arguments, the following attributes are exported and can be referenced:

    segments Map<String,String>

    (map[string]string) - Define the attributes for the topology request.

    In addition to the above arguments, the following attributes are exported and can be referenced:

    segments {[key: string]: string}

    (map[string]string) - Define the attributes for the topology request.

    In addition to the above arguments, the following attributes are exported and can be referenced:

    segments Mapping[str, str]

    (map[string]string) - Define the attributes for the topology request.

    In addition to the above arguments, the following attributes are exported and can be referenced:

    segments Map<String>

    (map[string]string) - Define the attributes for the topology request.

    In addition to the above arguments, the following attributes are exported and can be referenced:

    Package Details

    Repository
    HashiCorp Nomad pulumi/pulumi-nomad
    License
    Apache-2.0
    Notes

    This Pulumi package is based on the nomad Terraform Provider.

    nomad logo
    Nomad v2.0.0 published on Wednesday, Sep 13, 2023 by Pulumi