OntapVolumeArgs

data class OntapVolumeArgs(val aggregateConfiguration: Output<OntapVolumeAggregateConfigurationArgs>? = null, val bypassSnaplockEnterpriseRetention: Output<Boolean>? = null, val copyTagsToBackups: Output<Boolean>? = null, val finalBackupTags: Output<Map<String, String>>? = null, val junctionPath: Output<String>? = null, val name: Output<String>? = null, val ontapVolumeType: Output<String>? = null, val securityStyle: Output<String>? = null, val sizeInBytes: Output<String>? = null, val sizeInMegabytes: Output<Int>? = null, val skipFinalBackup: Output<Boolean>? = null, val snaplockConfiguration: Output<OntapVolumeSnaplockConfigurationArgs>? = null, val snapshotPolicy: Output<String>? = null, val storageEfficiencyEnabled: Output<Boolean>? = null, val storageVirtualMachineId: Output<String>? = null, val tags: Output<Map<String, String>>? = null, val tieringPolicy: Output<OntapVolumeTieringPolicyArgs>? = null, val volumeStyle: Output<String>? = null, val volumeType: Output<String>? = null) : ConvertibleToJava<OntapVolumeArgs>

Manages a FSx ONTAP Volume. See the FSx ONTAP User Guide for more information.

Example Usage

Basic Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const test = new aws.fsx.OntapVolume("test", {
name: "test",
junctionPath: "/test",
sizeInMegabytes: 1024,
storageEfficiencyEnabled: true,
storageVirtualMachineId: testAwsFsxOntapStorageVirtualMachine.id,
});
import pulumi
import pulumi_aws as aws
test = aws.fsx.OntapVolume("test",
name="test",
junction_path="/test",
size_in_megabytes=1024,
storage_efficiency_enabled=True,
storage_virtual_machine_id=test_aws_fsx_ontap_storage_virtual_machine["id"])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var test = new Aws.Fsx.OntapVolume("test", new()
{
Name = "test",
JunctionPath = "/test",
SizeInMegabytes = 1024,
StorageEfficiencyEnabled = true,
StorageVirtualMachineId = testAwsFsxOntapStorageVirtualMachine.Id,
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := fsx.NewOntapVolume(ctx, "test", &fsx.OntapVolumeArgs{
Name: pulumi.String("test"),
JunctionPath: pulumi.String("/test"),
SizeInMegabytes: pulumi.Int(1024),
StorageEfficiencyEnabled: pulumi.Bool(true),
StorageVirtualMachineId: pulumi.Any(testAwsFsxOntapStorageVirtualMachine.Id),
})
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.aws.fsx.OntapVolume;
import com.pulumi.aws.fsx.OntapVolumeArgs;
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) {
var test = new OntapVolume("test", OntapVolumeArgs.builder()
.name("test")
.junctionPath("/test")
.sizeInMegabytes(1024)
.storageEfficiencyEnabled(true)
.storageVirtualMachineId(testAwsFsxOntapStorageVirtualMachine.id())
.build());
}
}
resources:
test:
type: aws:fsx:OntapVolume
properties:
name: test
junctionPath: /test
sizeInMegabytes: 1024
storageEfficiencyEnabled: true
storageVirtualMachineId: ${testAwsFsxOntapStorageVirtualMachine.id}

Using Tiering Policy

Additional information on tiering policy with ONTAP Volumes can be found in the FSx ONTAP Guide.

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const test = new aws.fsx.OntapVolume("test", {
name: "test",
junctionPath: "/test",
sizeInMegabytes: 1024,
storageEfficiencyEnabled: true,
storageVirtualMachineId: testAwsFsxOntapStorageVirtualMachine.id,
tieringPolicy: {
name: "AUTO",
coolingPeriod: 31,
},
});
import pulumi
import pulumi_aws as aws
test = aws.fsx.OntapVolume("test",
name="test",
junction_path="/test",
size_in_megabytes=1024,
storage_efficiency_enabled=True,
storage_virtual_machine_id=test_aws_fsx_ontap_storage_virtual_machine["id"],
tiering_policy={
"name": "AUTO",
"cooling_period": 31,
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var test = new Aws.Fsx.OntapVolume("test", new()
{
Name = "test",
JunctionPath = "/test",
SizeInMegabytes = 1024,
StorageEfficiencyEnabled = true,
StorageVirtualMachineId = testAwsFsxOntapStorageVirtualMachine.Id,
TieringPolicy = new Aws.Fsx.Inputs.OntapVolumeTieringPolicyArgs
{
Name = "AUTO",
CoolingPeriod = 31,
},
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := fsx.NewOntapVolume(ctx, "test", &fsx.OntapVolumeArgs{
Name: pulumi.String("test"),
JunctionPath: pulumi.String("/test"),
SizeInMegabytes: pulumi.Int(1024),
StorageEfficiencyEnabled: pulumi.Bool(true),
StorageVirtualMachineId: pulumi.Any(testAwsFsxOntapStorageVirtualMachine.Id),
TieringPolicy: &fsx.OntapVolumeTieringPolicyArgs{
Name: pulumi.String("AUTO"),
CoolingPeriod: pulumi.Int(31),
},
})
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.aws.fsx.OntapVolume;
import com.pulumi.aws.fsx.OntapVolumeArgs;
import com.pulumi.aws.fsx.inputs.OntapVolumeTieringPolicyArgs;
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) {
var test = new OntapVolume("test", OntapVolumeArgs.builder()
.name("test")
.junctionPath("/test")
.sizeInMegabytes(1024)
.storageEfficiencyEnabled(true)
.storageVirtualMachineId(testAwsFsxOntapStorageVirtualMachine.id())
.tieringPolicy(OntapVolumeTieringPolicyArgs.builder()
.name("AUTO")
.coolingPeriod(31)
.build())
.build());
}
}
resources:
test:
type: aws:fsx:OntapVolume
properties:
name: test
junctionPath: /test
sizeInMegabytes: 1024
storageEfficiencyEnabled: true
storageVirtualMachineId: ${testAwsFsxOntapStorageVirtualMachine.id}
tieringPolicy:
name: AUTO
coolingPeriod: 31

Import

Using pulumi import, import FSx ONTAP volume using the id. For example:

$ pulumi import aws:fsx/ontapVolume:OntapVolume example fsvol-12345678abcdef123

Constructors

Link copied to clipboard
constructor(aggregateConfiguration: Output<OntapVolumeAggregateConfigurationArgs>? = null, bypassSnaplockEnterpriseRetention: Output<Boolean>? = null, copyTagsToBackups: Output<Boolean>? = null, finalBackupTags: Output<Map<String, String>>? = null, junctionPath: Output<String>? = null, name: Output<String>? = null, ontapVolumeType: Output<String>? = null, securityStyle: Output<String>? = null, sizeInBytes: Output<String>? = null, sizeInMegabytes: Output<Int>? = null, skipFinalBackup: Output<Boolean>? = null, snaplockConfiguration: Output<OntapVolumeSnaplockConfigurationArgs>? = null, snapshotPolicy: Output<String>? = null, storageEfficiencyEnabled: Output<Boolean>? = null, storageVirtualMachineId: Output<String>? = null, tags: Output<Map<String, String>>? = null, tieringPolicy: Output<OntapVolumeTieringPolicyArgs>? = null, volumeStyle: Output<String>? = null, volumeType: Output<String>? = null)

Properties

Link copied to clipboard

The Aggregate configuration only applies to FLEXGROUP volumes. See `aggregate_configuration` Block for details.

Link copied to clipboard

Setting this to true allows a SnapLock administrator to delete an FSx for ONTAP SnapLock Enterprise volume with unexpired write once, read many (WORM) files. This configuration must be applied separately before attempting to delete the resource to have the desired behavior. Defaults to false.

Link copied to clipboard
val copyTagsToBackups: Output<Boolean>? = null

A boolean flag indicating whether tags for the volume should be copied to backups. This value defaults to false.

Link copied to clipboard
val finalBackupTags: Output<Map<String, String>>? = null

A map of tags to apply to the volume's final backup.

Link copied to clipboard
val junctionPath: Output<String>? = null

Specifies the location in the storage virtual machine's namespace where the volume is mounted. The junction_path must have a leading forward slash, such as /vol3

Link copied to clipboard
val name: Output<String>? = null

The name of the Volume. You can use a maximum of 203 alphanumeric characters, plus the underscore (_) special character.

Link copied to clipboard
val ontapVolumeType: Output<String>? = null

Specifies the type of volume, valid values are RW, DP. Default value is RW. These can be set by the ONTAP CLI or API. This setting is used as part of migration and replication Migrating to Amazon FSx for NetApp ONTAP

Link copied to clipboard
val securityStyle: Output<String>? = null

Specifies the volume security style, Valid values are UNIX, NTFS, and MIXED.

Link copied to clipboard
val sizeInBytes: Output<String>? = null

Specifies the size of the volume, in megabytes (MB), that you are creating. Can be used for any size but required for volumes over 2 PB. Either size_in_bytes or size_in_megabytes must be specified. Minimum size for FLEXGROUP volumes are 100GiB per constituent.

Link copied to clipboard
val sizeInMegabytes: Output<Int>? = null

Specifies the size of the volume, in megabytes (MB), that you are creating. Supported when creating volumes under 2 PB. Either size_in_bytes or size_in_megabytes must be specified. Minimum size for FLEXGROUP volumes are 100GiB per constituent.

Link copied to clipboard
val skipFinalBackup: Output<Boolean>? = null

When enabled, will skip the default final backup taken when the volume is deleted. This configuration must be applied separately before attempting to delete the resource to have the desired behavior. Defaults to false.

Link copied to clipboard

The SnapLock configuration for an FSx for ONTAP volume. See snaplock_configuration Block for details.

Link copied to clipboard
val snapshotPolicy: Output<String>? = null

Specifies the snapshot policy for the volume. See snapshot policies in the Amazon FSx ONTAP User Guide

Link copied to clipboard
val storageEfficiencyEnabled: Output<Boolean>? = null

Set to true to enable deduplication, compression, and compaction storage efficiency features on the volume.

Link copied to clipboard
val storageVirtualMachineId: Output<String>? = null

Specifies the storage virtual machine in which to create the volume. The following arguments are optional:

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

A map of tags to assign to the volume. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

Link copied to clipboard

The data tiering policy for an FSx for ONTAP volume. See tiering_policy Block for details.

Link copied to clipboard
val volumeStyle: Output<String>? = null

Specifies the styles of volume, valid values are FLEXVOL, FLEXGROUP. Default value is FLEXVOL. FLEXGROUPS have a larger minimum and maximum size. See Volume Styles for more details. Volume Styles

Link copied to clipboard
val volumeType: Output<String>? = null

The type of volume, currently the only valid value is ONTAP.

Functions

Link copied to clipboard
open override fun toJava(): OntapVolumeArgs