HashiCorp Nomad

v0.2.1 published on Tuesday, Dec 7, 2021 by Pulumi

ExternalVolume

Create a ExternalVolume Resource

new ExternalVolume(name: string, args: ExternalVolumeArgs, opts?: CustomResourceOptions);
@overload
def ExternalVolume(resource_name: str,
                   opts: Optional[ResourceOptions] = None,
                   capabilities: Optional[Sequence[ExternalVolumeCapabilityArgs]] = None,
                   capacity_max: Optional[str] = None,
                   capacity_min: Optional[str] = None,
                   clone_id: Optional[str] = None,
                   mount_options: Optional[ExternalVolumeMountOptionsArgs] = 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,
                   snapshot_id: Optional[str] = None,
                   type: Optional[str] = None,
                   volume_id: Optional[str] = None)
@overload
def ExternalVolume(resource_name: str,
                   args: ExternalVolumeArgs,
                   opts: Optional[ResourceOptions] = None)
func NewExternalVolume(ctx *Context, name string, args ExternalVolumeArgs, opts ...ResourceOption) (*ExternalVolume, error)
public ExternalVolume(string name, ExternalVolumeArgs args, CustomResourceOptions? opts = null)
name string
The unique name of the resource.
args ExternalVolumeArgs
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 ExternalVolumeArgs
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 ExternalVolumeArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args ExternalVolumeArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.

ExternalVolume 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 ExternalVolume resource accepts the following input properties:

Capabilities List<ExternalVolumeCapabilityArgs>
Capabilities intended to be used in a job. At least one capability must be provided.
PluginId string
The ID of the CSI plugin that manages this volume.
VolumeId string
The unique ID of the volume, how jobs will refer to the volume.
CapacityMax string
Defines how large the volume can be. The storage provider may return a volume that is smaller than this value.
CapacityMin string
Defines how small the volume can be. The storage provider may return a volume that is larger than this value.
CloneId string
The volume ID to clone when creating this volume. Storage provider must support cloning. Conflicts with ‘snapshot_id’.
MountOptions ExternalVolumeMountOptionsArgs
Options for mounting ‘block-device’ volumes without a pre-formatted file system.
Name string
The display name of the volume.
Namespace string
The namespace in which to create the volume.
Parameters Dictionary<string, string>
An optional key-value map of strings passed directly to the CSI plugin to configure the volume.
Secrets Dictionary<string, string>
An optional key-value map of strings used as credentials for publishing and unpublishing volumes.
SnapshotId string
The snapshot ID to restore when creating this volume. Storage provider must support snapshots. Conflicts with ‘clone_id’.
Type string
The type of the volume. Currently, only ‘csi’ is supported.
Capabilities []ExternalVolumeCapabilityArgs
Capabilities intended to be used in a job. At least one capability must be provided.
PluginId string
The ID of the CSI plugin that manages this volume.
VolumeId string
The unique ID of the volume, how jobs will refer to the volume.
CapacityMax string
Defines how large the volume can be. The storage provider may return a volume that is smaller than this value.
CapacityMin string
Defines how small the volume can be. The storage provider may return a volume that is larger than this value.
CloneId string
The volume ID to clone when creating this volume. Storage provider must support cloning. Conflicts with ‘snapshot_id’.
MountOptions ExternalVolumeMountOptionsArgs
Options for mounting ‘block-device’ volumes without a pre-formatted file system.
Name string
The display name of the volume.
Namespace string
The namespace in which to create the volume.
Parameters map[string]string
An optional key-value map of strings passed directly to the CSI plugin to configure the volume.
Secrets map[string]string
An optional key-value map of strings used as credentials for publishing and unpublishing volumes.
SnapshotId string
The snapshot ID to restore when creating this volume. Storage provider must support snapshots. Conflicts with ‘clone_id’.
Type string
The type of the volume. Currently, only ‘csi’ is supported.
capabilities ExternalVolumeCapabilityArgs[]
Capabilities intended to be used in a job. At least one capability must be provided.
pluginId string
The ID of the CSI plugin that manages this volume.
volumeId string
The unique ID of the volume, how jobs will refer to the volume.
capacityMax string
Defines how large the volume can be. The storage provider may return a volume that is smaller than this value.
capacityMin string
Defines how small the volume can be. The storage provider may return a volume that is larger than this value.
cloneId string
The volume ID to clone when creating this volume. Storage provider must support cloning. Conflicts with ‘snapshot_id’.
mountOptions ExternalVolumeMountOptionsArgs
Options for mounting ‘block-device’ volumes without a pre-formatted file system.
name string
The display name of the volume.
namespace string
The namespace in which to create the volume.
parameters {[key: string]: string}
An optional key-value map of strings passed directly to the CSI plugin to configure the volume.
secrets {[key: string]: string}
An optional key-value map of strings used as credentials for publishing and unpublishing volumes.
snapshotId string
The snapshot ID to restore when creating this volume. Storage provider must support snapshots. Conflicts with ‘clone_id’.
type string
The type of the volume. Currently, only ‘csi’ is supported.
capabilities Sequence[ExternalVolumeCapabilityArgs]
Capabilities intended to be used in a job. At least one capability must be provided.
plugin_id str
The ID of the CSI plugin that manages this volume.
volume_id str
The unique ID of the volume, how jobs will refer to the volume.
capacity_max str
Defines how large the volume can be. The storage provider may return a volume that is smaller than this value.
capacity_min str
Defines how small the volume can be. The storage provider may return a volume that is larger than this value.
clone_id str
The volume ID to clone when creating this volume. Storage provider must support cloning. Conflicts with ‘snapshot_id’.
mount_options ExternalVolumeMountOptionsArgs
Options for mounting ‘block-device’ volumes without a pre-formatted file system.
name str
The display name of the volume.
namespace str
The namespace in which to create the volume.
parameters Mapping[str, str]
An optional key-value map of strings passed directly to the CSI plugin to configure the volume.
secrets Mapping[str, str]
An optional key-value map of strings used as credentials for publishing and unpublishing volumes.
snapshot_id str
The snapshot ID to restore when creating this volume. Storage provider must support snapshots. Conflicts with ‘clone_id’.
type str
The type of the volume. Currently, only ‘csi’ is supported.

Outputs

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

ControllerRequired bool
ControllersExpected int
ControllersHealthy int
Id string
The provider-assigned unique ID for this managed resource.
NodesExpected int
NodesHealthy int
PluginProvider string
PluginProviderVersion string
Schedulable bool
ControllerRequired bool
ControllersExpected int
ControllersHealthy int
Id string
The provider-assigned unique ID for this managed resource.
NodesExpected int
NodesHealthy int
PluginProvider string
PluginProviderVersion string
Schedulable bool
controllerRequired boolean
controllersExpected number
controllersHealthy number
id string
The provider-assigned unique ID for this managed resource.
nodesExpected number
nodesHealthy number
pluginProvider string
pluginProviderVersion string
schedulable boolean
controller_required bool
controllers_expected int
controllers_healthy int
id str
The provider-assigned unique ID for this managed resource.
nodes_expected int
nodes_healthy int
plugin_provider str
plugin_provider_version str
schedulable bool

Look up an Existing ExternalVolume Resource

Get an existing ExternalVolume 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?: ExternalVolumeState, opts?: CustomResourceOptions): ExternalVolume
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        capabilities: Optional[Sequence[ExternalVolumeCapabilityArgs]] = None,
        capacity_max: Optional[str] = None,
        capacity_min: Optional[str] = None,
        clone_id: Optional[str] = None,
        controller_required: Optional[bool] = None,
        controllers_expected: Optional[int] = None,
        controllers_healthy: Optional[int] = None,
        mount_options: Optional[ExternalVolumeMountOptionsArgs] = 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,
        snapshot_id: Optional[str] = None,
        type: Optional[str] = None,
        volume_id: Optional[str] = None) -> ExternalVolume
func GetExternalVolume(ctx *Context, name string, id IDInput, state *ExternalVolumeState, opts ...ResourceOption) (*ExternalVolume, error)
public static ExternalVolume Get(string name, Input<string> id, ExternalVolumeState? state, CustomResourceOptions? opts = null)
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.

The following state arguments are supported:

Capabilities List<ExternalVolumeCapabilityArgs>
Capabilities intended to be used in a job. At least one capability must be provided.
CapacityMax string
Defines how large the volume can be. The storage provider may return a volume that is smaller than this value.
CapacityMin string
Defines how small the volume can be. The storage provider may return a volume that is larger than this value.
CloneId string
The volume ID to clone when creating this volume. Storage provider must support cloning. Conflicts with ‘snapshot_id’.
ControllerRequired bool
ControllersExpected int
ControllersHealthy int
MountOptions ExternalVolumeMountOptionsArgs
Options for mounting ‘block-device’ volumes without a pre-formatted file system.
Name string
The display name of the volume.
Namespace string
The namespace in which to create the volume.
NodesExpected int
NodesHealthy int
Parameters Dictionary<string, string>
An optional key-value map of strings passed directly to the CSI plugin to configure the volume.
PluginId string
The ID of the CSI plugin that manages this volume.
PluginProvider string
PluginProviderVersion string
Schedulable bool
Secrets Dictionary<string, string>
An optional key-value map of strings used as credentials for publishing and unpublishing volumes.
SnapshotId string
The snapshot ID to restore when creating this volume. Storage provider must support snapshots. Conflicts with ‘clone_id’.
Type string
The type of the volume. Currently, only ‘csi’ is supported.
VolumeId string
The unique ID of the volume, how jobs will refer to the volume.
Capabilities []ExternalVolumeCapabilityArgs
Capabilities intended to be used in a job. At least one capability must be provided.
CapacityMax string
Defines how large the volume can be. The storage provider may return a volume that is smaller than this value.
CapacityMin string
Defines how small the volume can be. The storage provider may return a volume that is larger than this value.
CloneId string
The volume ID to clone when creating this volume. Storage provider must support cloning. Conflicts with ‘snapshot_id’.
ControllerRequired bool
ControllersExpected int
ControllersHealthy int
MountOptions ExternalVolumeMountOptionsArgs
Options for mounting ‘block-device’ volumes without a pre-formatted file system.
Name string
The display name of the volume.
Namespace string
The namespace in which to create the volume.
NodesExpected int
NodesHealthy int
Parameters map[string]string
An optional key-value map of strings passed directly to the CSI plugin to configure the volume.
PluginId string
The ID of the CSI plugin that manages this volume.
PluginProvider string
PluginProviderVersion string
Schedulable bool
Secrets map[string]string
An optional key-value map of strings used as credentials for publishing and unpublishing volumes.
SnapshotId string
The snapshot ID to restore when creating this volume. Storage provider must support snapshots. Conflicts with ‘clone_id’.
Type string
The type of the volume. Currently, only ‘csi’ is supported.
VolumeId string
The unique ID of the volume, how jobs will refer to the volume.
capabilities ExternalVolumeCapabilityArgs[]
Capabilities intended to be used in a job. At least one capability must be provided.
capacityMax string
Defines how large the volume can be. The storage provider may return a volume that is smaller than this value.
capacityMin string
Defines how small the volume can be. The storage provider may return a volume that is larger than this value.
cloneId string
The volume ID to clone when creating this volume. Storage provider must support cloning. Conflicts with ‘snapshot_id’.
controllerRequired boolean
controllersExpected number
controllersHealthy number
mountOptions ExternalVolumeMountOptionsArgs
Options for mounting ‘block-device’ volumes without a pre-formatted file system.
name string
The display name of the volume.
namespace string
The namespace in which to create the volume.
nodesExpected number
nodesHealthy number
parameters {[key: string]: string}
An optional key-value map of strings passed directly to the CSI plugin to configure the volume.
pluginId string
The ID of the CSI plugin that manages this volume.
pluginProvider string
pluginProviderVersion string
schedulable boolean
secrets {[key: string]: string}
An optional key-value map of strings used as credentials for publishing and unpublishing volumes.
snapshotId string
The snapshot ID to restore when creating this volume. Storage provider must support snapshots. Conflicts with ‘clone_id’.
type string
The type of the volume. Currently, only ‘csi’ is supported.
volumeId string
The unique ID of the volume, how jobs will refer to the volume.
capabilities Sequence[ExternalVolumeCapabilityArgs]
Capabilities intended to be used in a job. At least one capability must be provided.
capacity_max str
Defines how large the volume can be. The storage provider may return a volume that is smaller than this value.
capacity_min str
Defines how small the volume can be. The storage provider may return a volume that is larger than this value.
clone_id str
The volume ID to clone when creating this volume. Storage provider must support cloning. Conflicts with ‘snapshot_id’.
controller_required bool
controllers_expected int
controllers_healthy int
mount_options ExternalVolumeMountOptionsArgs
Options for mounting ‘block-device’ volumes without a pre-formatted file system.
name str
The display name of the volume.
namespace str
The namespace in which to create the volume.
nodes_expected int
nodes_healthy int
parameters Mapping[str, str]
An optional key-value map of strings passed directly to the CSI plugin to configure the volume.
plugin_id str
The ID of the CSI plugin that manages this volume.
plugin_provider str
plugin_provider_version str
schedulable bool
secrets Mapping[str, str]
An optional key-value map of strings used as credentials for publishing and unpublishing volumes.
snapshot_id str
The snapshot ID to restore when creating this volume. Storage provider must support snapshots. Conflicts with ‘clone_id’.
type str
The type of the volume. Currently, only ‘csi’ is supported.
volume_id str
The unique ID of the volume, how jobs will refer to the volume.

Supporting Types

ExternalVolumeCapability

AccessMode string
AttachmentMode string
AccessMode string
AttachmentMode string
accessMode string
attachmentMode string

ExternalVolumeMountOptions

FsType string
MountFlags List<string>
FsType string
MountFlags []string
fsType string
mountFlags string[]
fs_type str
mount_flags Sequence[str]

Package Details

Repository
https://github.com/pulumi/pulumi-nomad
License
Apache-2.0
Notes
This Pulumi package is based on the nomad Terraform Provider.