Class WindowsFileSystem


  • public class WindowsFileSystem
    extends com.pulumi.resources.CustomResource
    Manages a FSx Windows File System. See the [FSx Windows Guide](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/what-is.html) for more information. > **NOTE:** Either the `active_directory_id` argument or `self_managed_active_directory` configuration block must be specified. ## Example Usage ### Using AWS Directory Service Additional information for using AWS Directory Service with Windows File Systems can be found in the [FSx Windows Guide](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/fsx-aws-managed-ad.html). <!--Start PulumiCodeChooser -->
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.fsx.WindowsFileSystem;
     import com.pulumi.aws.fsx.WindowsFileSystemArgs;
     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 example = new WindowsFileSystem("example", WindowsFileSystemArgs.builder()
                 .activeDirectoryId(exampleAwsDirectoryServiceDirectory.id())
                 .kmsKeyId(exampleAwsKmsKey.arn())
                 .storageCapacity(300)
                 .subnetIds(exampleAwsSubnet.id())
                 .throughputCapacity(1024)
                 .build());
     
         }
     }
     
     
    <!--End PulumiCodeChooser --> ### Using a Self-Managed Microsoft Active Directory Additional information for using AWS Directory Service with Windows File Systems can be found in the [FSx Windows Guide](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/self-managed-AD.html). <!--Start PulumiCodeChooser -->
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.fsx.WindowsFileSystem;
     import com.pulumi.aws.fsx.WindowsFileSystemArgs;
     import com.pulumi.aws.fsx.inputs.WindowsFileSystemSelfManagedActiveDirectoryArgs;
     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 example = new WindowsFileSystem("example", WindowsFileSystemArgs.builder()
                 .kmsKeyId(exampleAwsKmsKey.arn())
                 .storageCapacity(300)
                 .subnetIds(exampleAwsSubnet.id())
                 .throughputCapacity(1024)
                 .selfManagedActiveDirectory(WindowsFileSystemSelfManagedActiveDirectoryArgs.builder()
                     .dnsIps(                
                         "10.0.0.111",
                         "10.0.0.222")
                     .domainName("corp.example.com")
                     .password("avoid-plaintext-passwords")
                     .username("Admin")
                     .build())
                 .build());
     
         }
     }
     
     
    <!--End PulumiCodeChooser --> ## Import Using `pulumi import`, import FSx File Systems using the `id`. For example: ```sh $ pulumi import aws:fsx/windowsFileSystem:WindowsFileSystem example fs-543ab12b1ca672f33 ``` Certain resource arguments, like `security_group_ids` and the `self_managed_active_directory` configuation block `password`, do not have a FSx API method for reading the information after creation. If these arguments are 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 `ignore_changes` to hide the difference. For example:
    • 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

      • WindowsFileSystem

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

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

        public WindowsFileSystem​(java.lang.String name,
                                 WindowsFileSystemArgs 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

      • activeDirectoryId

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> activeDirectoryId()
        Returns:
        The ID for an existing Microsoft Active Directory instance that the file system should join when it's created. Cannot be specified with `self_managed_active_directory`.
      • aliases

        public com.pulumi.core.Output<java.util.Optional<java.util.List<java.lang.String>>> aliases()
        Returns:
        An array DNS alias names that you want to associate with the Amazon FSx file system. For more information, see [Working with DNS Aliases](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-dns-aliases.html)
      • arn

        public com.pulumi.core.Output<java.lang.String> arn()
        Returns:
        Amazon Resource Name of the file system.
      • auditLogConfiguration

        public com.pulumi.core.Output<WindowsFileSystemAuditLogConfiguration> auditLogConfiguration()
        Returns:
        The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See `audit_log_configuration` Block for details.
      • automaticBackupRetentionDays

        public com.pulumi.core.Output<java.util.Optional<java.lang.Integer>> automaticBackupRetentionDays()
        Returns:
        The number of days to retain automatic backups. Minimum of `0` and maximum of `90`. Defaults to `7`. Set to `0` to disable.
      • backupId

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

        public com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> copyTagsToBackups()
        Returns:
        A boolean flag indicating whether tags on the file system should be copied to backups. Defaults to `false`.
      • dailyAutomaticBackupStartTime

        public com.pulumi.core.Output<java.lang.String> dailyAutomaticBackupStartTime()
        Returns:
        The preferred time (in `HH:MM` format) to take daily automatic backups, in the UTC time zone.
      • deploymentType

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> deploymentType()
        Returns:
        Specifies the file system deployment type, valid values are `MULTI_AZ_1`, `SINGLE_AZ_1` and `SINGLE_AZ_2`. Default value is `SINGLE_AZ_1`.
      • diskIopsConfiguration

        public com.pulumi.core.Output<WindowsFileSystemDiskIopsConfiguration> diskIopsConfiguration()
        Returns:
        The SSD IOPS configuration for the Amazon FSx for Windows File Server file system. See `disk_iops_configuration` Block for details.
      • dnsName

        public com.pulumi.core.Output<java.lang.String> dnsName()
        Returns:
        DNS name for the file system, e.g., `fs-12345678.corp.example.com` (domain name matching the Active Directory domain name)
      • finalBackupTags

        public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> finalBackupTags()
        Returns:
        A 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.
      • ownerId

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

        public com.pulumi.core.Output<java.lang.String> preferredFileServerIp()
        Returns:
        The IP address of the primary, or preferred, file server.
      • preferredSubnetId

        public com.pulumi.core.Output<java.lang.String> preferredSubnetId()
        Returns:
        Specifies the subnet in which you want the preferred file server to be located. Required for when deployment type is `MULTI_AZ_1`.
      • remoteAdministrationEndpoint

        public com.pulumi.core.Output<java.lang.String> remoteAdministrationEndpoint()
        Returns:
        For `MULTI_AZ_1` deployment types, use this endpoint when performing administrative tasks on the file system using Amazon FSx Remote PowerShell. For `SINGLE_AZ_1` deployment types, this is the DNS name of the file system.
      • securityGroupIds

        public com.pulumi.core.Output<java.util.Optional<java.util.List<java.lang.String>>> securityGroupIds()
        Returns:
        A 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.
      • selfManagedActiveDirectory

        public com.pulumi.core.Output<java.util.Optional<WindowsFileSystemSelfManagedActiveDirectory>> selfManagedActiveDirectory()
        Returns:
        Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. See `self_managed_active_directory` Block for details.
      • 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.lang.Integer> storageCapacity()
        Returns:
        Storage capacity (GiB) of the file system. Minimum of 32 and maximum of 65536. If the storage type is set to `HDD` the minimum value is 2000. Required when not creating filesystem for a backup.
      • storageType

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> storageType()
        Returns:
        Specifies the storage type, Valid values are `SSD` and `HDD`. `HDD` is supported on `SINGLE_AZ_2` and `MULTI_AZ_1` Windows file system deployment types. Default value is `SSD`.
      • subnetIds

        public com.pulumi.core.Output<java.util.List<java.lang.String>> subnetIds()
        Returns:
        A list of IDs for the subnets that the file system will be accessible from. To specify more than a single subnet set `deployment_type` to `MULTI_AZ_1`.
      • tags

        public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> tags()
        Returns:
        A map of tags to assign to the file system. .If configured with a provider `default_tags` 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:
        A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
      • throughputCapacity

        public com.pulumi.core.Output<java.lang.Integer> throughputCapacity()
        Returns:
        Throughput (megabytes per second) of the file system in power of 2 increments. Minimum of `8` and maximum of `2048`. The following arguments are optional:
      • vpcId

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

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

        public static WindowsFileSystem get​(java.lang.String name,
                                            com.pulumi.core.Output<java.lang.String> id,
                                            @Nullable
                                            WindowsFileSystemState 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.