Volume Args
data class VolumeArgs(val accessMode: Output<String>? = null, val attachmentMode: Output<String>? = null, val capabilities: Output<List<VolumeCapabilityArgs>>? = null, val context: Output<Map<String, String>>? = null, val deregisterOnDestroy: Output<Boolean>? = null, val externalId: Output<String>? = null, val mountOptions: Output<VolumeMountOptionsArgs>? = null, val name: Output<String>? = null, val namespace: Output<String>? = null, val parameters: Output<Map<String, String>>? = null, val pluginId: Output<String>? = null, val secrets: Output<Map<String, String>>? = null, val topologyRequest: Output<VolumeTopologyRequestArgs>? = null, val type: Output<String>? = null, val volumeId: Output<String>? = null) : ConvertibleToJava<VolumeArgs>
Example Usage
Registering a volume:
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()
.type("csi")
.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());
}
}
Content copied to clipboard
Constructors
Link copied to clipboard
fun VolumeArgs(accessMode: Output<String>? = null, attachmentMode: Output<String>? = null, capabilities: Output<List<VolumeCapabilityArgs>>? = null, context: Output<Map<String, String>>? = null, deregisterOnDestroy: Output<Boolean>? = null, externalId: Output<String>? = null, mountOptions: Output<VolumeMountOptionsArgs>? = null, name: Output<String>? = null, namespace: Output<String>? = null, parameters: Output<Map<String, String>>? = null, pluginId: Output<String>? = null, secrets: Output<Map<String, String>>? = null, topologyRequest: Output<VolumeTopologyRequestArgs>? = null, type: Output<String>? = null, volumeId: Output<String>? = null)