Skip to content

Resource: awsFsxOntapStorageVirtualMachine

Manages a FSx Storage Virtual Machine. See the FSx ONTAP User Guide for more information.

Example Usage

Basic Usage

/*Provider bindings are generated by running cdktf get.
See https://cdk.tf/provider-generation for more details.*/
import * as aws from "./.gen/providers/aws";
new aws.fsxOntapStorageVirtualMachine.FsxOntapStorageVirtualMachine(
  this,
  "test",
  {
    fileSystemId: "${aws_fsx_ontap_file_system.test.id}",
    name: "test",
  }
);

Using a Self-Managed Microsoft Active Directory

Additional information for using AWS Directory Service with ONTAP File Systems can be found in the FSx ONTAP Guide.

/*Provider bindings are generated by running cdktf get.
See https://cdk.tf/provider-generation for more details.*/
import * as aws from "./.gen/providers/aws";
new aws.fsxOntapStorageVirtualMachine.FsxOntapStorageVirtualMachine(
  this,
  "test",
  {
    activeDirectoryConfiguration: {
      netbiosName: "mysvm",
      selfManagedActiveDirectoryConfiguration: {
        dnsIps: ["10.0.0.111", "10.0.0.222"],
        domainName: "corp.example.com",
        password: "avoid-plaintext-passwords",
        username: "Admin",
      },
    },
    fileSystemId: "${aws_fsx_ontap_file_system.test.id}",
    name: "mysvm",
  }
);

Argument Reference

The following arguments are supported:

  • activeDirectoryConfiguration - (Optional) Configuration block that Amazon FSx uses to join the FSx ONTAP Storage Virtual Machine(SVM) to your Microsoft Active Directory (AD) directory. Detailed below.
  • fileSystemId - (Required) The ID of the Amazon FSx ONTAP File System that this SVM will be created on.
  • name - (Required) The name of the SVM. You can use a maximum of 47 alphanumeric characters, plus the underscore (_) special character.
  • rootVolumeSecurityStyle - (Optional) Specifies the root volume security style, Valid values are unix, ntfs, and mixed. All volumes created under this SVM will inherit the root security style unless the security style is specified on the volume. Default value is unix.
  • tags - (Optional) A map of tags to assign to the storage virtual machine. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

activeDirectoryConfiguration

The following arguments are supported for activeDirectoryConfiguration configuration block:

  • netbiosName - (Required) The NetBIOS name of the Active Directory computer object that will be created for your SVM. This is often the same as the SVM name but can be different. AWS limits to 15 characters because of standard NetBIOS naming limits.
  • selfManagedActiveDirectory - (Optional) Configuration block that Amazon FSx uses to join the SVM to your self-managed (including on-premises) Microsoft Active Directory (AD) directory.

selfManagedActiveDirectory

The following arguments are supported for selfManagedActiveDirectory configuration block:

  • dnsIps - (Required) A list of up to three IP addresses of DNS servers or domain controllers in the self-managed AD directory.
  • domainName - (Required) The fully qualified domain name of the self-managed AD directory. For example, corpExampleCom.
  • password - (Required) The password for the service account on your self-managed AD domain that Amazon FSx will use to join to your AD domain.
  • username - (Required) The user name for the service account on your self-managed AD domain that Amazon FSx will use to join to your AD domain.
  • fileSystemAdministratorsGroup - (Optional) The name of the domain group whose members are granted administrative privileges for the SVM. The group that you specify must already exist in your domain. Defaults to domainAdmins.
  • organizationalUnitDistinguishedName - (Optional) The fully qualified distinguished name of the organizational unit within your self-managed AD directory that the Windows File Server instance will join. For example, ou=fSx,dc=yourdomain,dc=corp,dc=com. Only accepts OU as the direct parent of the SVM. If none is provided, the SVM is created in the default location of your self-managed AD directory. To learn more, see RFC 2253.

Attributes Reference

In addition to all arguments above, the following attributes are exported:

  • arn - Amazon Resource Name of the storage virtual machine.
  • endpoints - The endpoints that are used to access data or to manage the storage virtual machine using the NetApp ONTAP CLI, REST API, or NetApp SnapMirror. See Endpoints below.
  • id - Identifier of the storage virtual machine, e.g., svm12345678
  • subtype - Describes the SVM's subtype, e.g. default
  • tagsAll - A map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.
  • uuid - The SVM's UUID (universally unique identifier).

Endpoints

  • iscsi - An endpoint for accessing data on your storage virtual machine via iSCSI protocol. See Endpoint.
  • management - An endpoint for managing your file system using the NetApp ONTAP CLI and NetApp ONTAP API. See Endpoint.
  • nfs - An endpoint for accessing data on your storage virtual machine via NFS protocol. See Endpoint.
  • smb - An endpoint for accessing data on your storage virtual machine via SMB protocol. This is only set if an active_directory_configuration has been set. See Endpoint.

Endpoint

  • dnsName - The Domain Name Service (DNS) name for the storage virtual machine. You can mount your storage virtual machine using its DNS name.
  • ipAddresses - IP addresses of the storage virtual machine endpoint.

Timeouts

Configuration options:

  • create - (Default 30M)
  • delete - (Default 30M)
  • update - (Default 30M)

Import

FSx Storage Virtual Machine can be imported using the id, e.g.,

$ terraform import aws_fsx_ontap_storage_virtual_machine.example svm-12345678abcdef123

Certain resource arguments, like svmAdminPassword and the selfManagedActiveDirectory configuation block password, do not have a FSx API method for reading the information after creation. If these arguments are set in the Terraform configuration on an imported resource, Terraform will always show a difference. To workaround this behavior, either omit the argument from the Terraform configuration or use ignoreChanges to hide the difference, e.g.,

/*Provider bindings are generated by running cdktf get.
See https://cdk.tf/provider-generation for more details.*/
import * as aws from "./.gen/providers/aws";
const awsFsxOntapStorageVirtualMachineExample =
  new aws.fsxOntapStorageVirtualMachine.FsxOntapStorageVirtualMachine(
    this,
    "example",
    {
      svmAdminPassword: "avoid-plaintext-passwords",
    }
  );
awsFsxOntapStorageVirtualMachineExample.addOverride("lifecycle", [
  {
    ignore_changes: ["${svm_admin_password}"],
  },
]);