Class OpenZfsFileSystem


  • public class OpenZfsFileSystem
    extends com.pulumi.resources.CustomResource
    Manages an Amazon FSx for OpenZFS file system. See the [FSx OpenZFS User Guide](https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/what-is-fsx.html) for more information. ## Example Usage
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.fsx.OpenZfsFileSystem;
     import com.pulumi.aws.fsx.OpenZfsFileSystemArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     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 OpenZfsFileSystem("test", OpenZfsFileSystemArgs.builder()
                 .storageCapacity(64)
                 .subnetIds(test1.id())
                 .deploymentType("SINGLE_AZ_1")
                 .throughputCapacity(64)
                 .build());
     
         }
     }
     
     
    ## Import Using `pulumi import`, import FSx File Systems using the `id`. For example: ```sh $ pulumi import aws:fsx/openZfsFileSystem:OpenZfsFileSystem example fs-543ab12b1ca672f33 ``` Certain resource arguments, like `securityGroupIds`, do not have a FSx API method for reading the information after creation. If the argument is set in the Pulumi program on an imported resource, Pulumi will always show a difference. To workaround this behavior, either omit the argument from the Pulumi program or use `ignoreChanges` to hide the difference. For example:
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.fsx.OpenZfsFileSystem;
     import com.pulumi.aws.fsx.OpenZfsFileSystemArgs;
     import com.pulumi.resources.CustomResourceOptions;
     import java.util.ArrayList;
     import java.util.Arrays;
     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 example = new OpenZfsFileSystem("example", OpenZfsFileSystemArgs.builder()
                 .securityGroupIds(exampleAwsSecurityGroup.id())
                 .build(), CustomResourceOptions.builder()
                     .ignoreChanges("securityGroupIds")
                     .build());
     
         }
     }
     
     
    • Nested Class Summary

      • Nested classes/interfaces inherited from class com.pulumi.resources.CustomResource

        com.pulumi.resources.CustomResource.CustomResourceInternal
      • Nested classes/interfaces inherited from class com.pulumi.resources.Resource

        com.pulumi.resources.Resource.LazyField<T extends java.lang.Object>, com.pulumi.resources.Resource.LazyFields, com.pulumi.resources.Resource.ResourceInternal
    • Field Summary

      • Fields inherited from class com.pulumi.resources.Resource

        childResources, remote
    • Constructor Detail

      • OpenZfsFileSystem

        public OpenZfsFileSystem​(java.lang.String name)
        Parameters:
        name - The _unique_ name of the resulting resource.
      • OpenZfsFileSystem

        public OpenZfsFileSystem​(java.lang.String name,
                                 OpenZfsFileSystemArgs args)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
      • OpenZfsFileSystem

        public OpenZfsFileSystem​(java.lang.String name,
                                 OpenZfsFileSystemArgs args,
                                 @Nullable
                                 com.pulumi.resources.CustomResourceOptions options)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
        options - A bag of options that control this resource's behavior.
    • Method Detail

      • arn

        public com.pulumi.core.Output<java.lang.String> arn()
        Returns:
        ARN of the file system.
      • automaticBackupRetentionDays

        public com.pulumi.core.Output<java.util.Optional<java.lang.Integer>> automaticBackupRetentionDays()
        Returns:
        Number of days to retain automatic backups. Setting this to 0 disables automatic backups. You can retain automatic backups for a maximum of 90 days.
      • backupId

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> backupId()
        Returns:
        ID of the source backup to create the filesystem from.
      • copyTagsToBackups

        public com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> copyTagsToBackups()
        Returns:
        Whether tags for the file system should be copied to backups. Default value is false.
      • copyTagsToVolumes

        public com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> copyTagsToVolumes()
        Returns:
        Whether tags for the file system should be copied to snapshots. Default value is false.
      • dailyAutomaticBackupStartTime

        public com.pulumi.core.Output<java.lang.String> dailyAutomaticBackupStartTime()
        Returns:
        Recurring daily time, in the format HH:MM. HH is the zero-padded hour of the day (0-23), and MM is the zero-padded minute of the hour. For example, 05:00 specifies 5 AM daily. Requires `automaticBackupRetentionDays` to be set.
      • deleteOptions

        public com.pulumi.core.Output<java.util.Optional<java.util.List<java.lang.String>>> deleteOptions()
        Returns:
        List of delete options, which at present supports only one value that specifies whether to delete all child volumes and snapshots when the file system is deleted. Valid values: `DELETE_CHILD_VOLUMES_AND_SNAPSHOTS`.
      • deploymentType

        public com.pulumi.core.Output<java.lang.String> deploymentType()
        Returns:
        Filesystem deployment type. See the [AWS API documentation](https://docs.aws.amazon.com/fsx/latest/APIReference/API_CreateFileSystemOpenZFSConfiguration.html#FSx-Type-CreateFileSystemOpenZFSConfiguration-DeploymentType) for a list of valid values.
      • diskIopsConfiguration

        public com.pulumi.core.Output<OpenZfsFileSystemDiskIopsConfiguration> diskIopsConfiguration()
        Returns:
        SSD IOPS configuration for the Amazon FSx for OpenZFS file system. See `diskIopsConfiguration` Block for details.
      • dnsName

        public com.pulumi.core.Output<java.lang.String> dnsName()
        Returns:
        DNS name for the file system, e.g., `fs-12345678.fsx.us-west-2.amazonaws.com`
      • endpointIpAddress

        public com.pulumi.core.Output<java.lang.String> endpointIpAddress()
        Returns:
        IP address of the endpoint that is used to access data or to manage the file system.
      • endpointIpAddressRange

        public com.pulumi.core.Output<java.lang.String> endpointIpAddressRange()
        Returns:
        (Multi-AZ only) Specifies the IP address range in which the endpoints to access your file system will be created.
      • finalBackupTags

        public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> finalBackupTags()
        Returns:
        Map of tags to apply to the file system's final backup.
      • kmsKeyId

        public com.pulumi.core.Output<java.lang.String> kmsKeyId()
        Returns:
        ARN for the KMS Key to encrypt the file system at rest, Defaults to an AWS managed KMS Key.
      • networkInterfaceIds

        public com.pulumi.core.Output<java.util.List<java.lang.String>> networkInterfaceIds()
        Returns:
        Set of Elastic Network Interface identifiers from which the file system is accessible The first network interface returned is the primary network interface.
      • networkType

        public com.pulumi.core.Output<java.lang.String> networkType()
        Returns:
        Network type. Valid values are `IPV4` and `DUAL`. Default value is `IPV4`.
      • ownerId

        public com.pulumi.core.Output<java.lang.String> ownerId()
        Returns:
        AWS account identifier that created the file system.
      • preferredSubnetId

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> preferredSubnetId()
        Returns:
        (Multi-AZ only) Required when `deploymentType` is set to `MULTI_AZ_1`. This specifies the subnet in which you want the preferred file server to be located.
      • readCacheConfiguration

        public com.pulumi.core.Output<java.util.Optional<OpenZfsFileSystemReadCacheConfiguration>> readCacheConfiguration()
        Returns:
        Configuration block for optional provisioned SSD read cache on file systems that use the Intelligent-Tiering storage class. Required when `storageType` is set to `INTELLIGENT_TIERING`. See `readCacheConfiguration` Block for details.
      • region

        public com.pulumi.core.Output<java.lang.String> region()
        Returns:
        Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
      • rootVolumeConfiguration

        public com.pulumi.core.Output<OpenZfsFileSystemRootVolumeConfiguration> rootVolumeConfiguration()
        Returns:
        Configuration for the root volume of the file system. All other volumes are children or the root volume. See `rootVolumeConfiguration` Block for details.
      • rootVolumeId

        public com.pulumi.core.Output<java.lang.String> rootVolumeId()
        Returns:
        Identifier of the root volume, e.g., `fsvol-12345678`
      • routeTableIds

        public com.pulumi.core.Output<java.util.List<java.lang.String>> routeTableIds()
        Returns:
        (Multi-AZ only) Specifies the route tables in which Amazon FSx creates the rules for routing traffic to the correct file server. You should specify all VPC route tables associated with the subnets in which your clients are located. By default, Amazon FSx selects your VPC's default route table.
      • securityGroupIds

        public com.pulumi.core.Output<java.util.Optional<java.util.List<java.lang.String>>> securityGroupIds()
        Returns:
        List of IDs for the security groups that apply to the specified network interfaces created for file system access. These security groups will apply to all network interfaces.
      • skipFinalBackup

        public com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> skipFinalBackup()
        Returns:
        When enabled, will skip the default final backup taken when the file system is deleted. This configuration must be applied separately before attempting to delete the resource to have the desired behavior. Defaults to `false`.
      • storageCapacity

        public com.pulumi.core.Output<java.util.Optional<java.lang.Integer>> storageCapacity()
        Returns:
        Storage capacity (GiB) of the file system. Valid values between `64` and `524288`. Required when `storageType` is set to `SSD`. Must not be set when `storageType` is set to `INTELLIGENT_TIERING`.
      • storageType

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> storageType()
        Returns:
        Filesystem storage type. Valid values are `SSD` and `INTELLIGENT_TIERING`. `INTELLIGENT_TIERING` requires `deploymentType` to be `MULTI_AZ_1`.
      • subnetIds

        public com.pulumi.core.Output<java.util.List<java.lang.String>> subnetIds()
        Returns:
        List of IDs for the subnets that the file system will be accessible from.
      • tags

        public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> tags()
        Returns:
        Map of tags to assign to the file system. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
      • tagsAll

        public com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tagsAll()
        Returns:
        Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
      • throughputCapacity

        public com.pulumi.core.Output<java.lang.Integer> throughputCapacity()
        Returns:
        Throughput (MB/s) of the file system. Valid values depend on `deploymentType`. Must be one of `64`, `128`, `256`, `512`, `1024`, `2048`, `3072`, `4096` for `SINGLE_AZ_1`. Must be one of `160`, `320`, `640`, `1280`, `2560`, `3840`, `5120`, `7680`, `10240` for `SINGLE_AZ_2`. The following arguments are optional:
      • vpcId

        public com.pulumi.core.Output<java.lang.String> vpcId()
        Returns:
        Identifier of the VPC for the file system.
      • weeklyMaintenanceStartTime

        public com.pulumi.core.Output<java.lang.String> weeklyMaintenanceStartTime()
        Returns:
        Preferred start time (in `d:HH:MM` format) to perform weekly maintenance, in the UTC time zone.
      • get

        public static OpenZfsFileSystem get​(java.lang.String name,
                                            com.pulumi.core.Output<java.lang.String> id,
                                            @Nullable
                                            OpenZfsFileSystemState state,
                                            @Nullable
                                            com.pulumi.resources.CustomResourceOptions options)
        Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.
        Parameters:
        name - The _unique_ name of the resulting resource.
        id - The _unique_ provider ID of the resource to lookup.
        state -
        options - Optional settings to control the behavior of the CustomResource.