OntapStorageVirtualMachine

class OntapStorageVirtualMachine : KotlinCustomResource

Manages a FSx Storage Virtual Machine. 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.OntapStorageVirtualMachine("test", {
fileSystemId: testAwsFsxOntapFileSystem.id,
name: "test",
});
import pulumi
import pulumi_aws as aws
test = aws.fsx.OntapStorageVirtualMachine("test",
file_system_id=test_aws_fsx_ontap_file_system["id"],
name="test")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var test = new Aws.Fsx.OntapStorageVirtualMachine("test", new()
{
FileSystemId = testAwsFsxOntapFileSystem.Id,
Name = "test",
});
});
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.NewOntapStorageVirtualMachine(ctx, "test", &fsx.OntapStorageVirtualMachineArgs{
FileSystemId: pulumi.Any(testAwsFsxOntapFileSystem.Id),
Name: pulumi.String("test"),
})
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.OntapStorageVirtualMachine;
import com.pulumi.aws.fsx.OntapStorageVirtualMachineArgs;
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 OntapStorageVirtualMachine("test", OntapStorageVirtualMachineArgs.builder()
.fileSystemId(testAwsFsxOntapFileSystem.id())
.name("test")
.build());
}
}
resources:
test:
type: aws:fsx:OntapStorageVirtualMachine
properties:
fileSystemId: ${testAwsFsxOntapFileSystem.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.

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const test = new aws.fsx.OntapStorageVirtualMachine("test", {
fileSystemId: testAwsFsxOntapFileSystem.id,
name: "mysvm",
activeDirectoryConfiguration: {
netbiosName: "mysvm",
selfManagedActiveDirectoryConfiguration: {
dnsIps: [
"10.0.0.111",
"10.0.0.222",
],
domainName: "corp.example.com",
password: "avoid-plaintext-passwords",
username: "Admin",
},
},
});
import pulumi
import pulumi_aws as aws
test = aws.fsx.OntapStorageVirtualMachine("test",
file_system_id=test_aws_fsx_ontap_file_system["id"],
name="mysvm",
active_directory_configuration={
"netbios_name": "mysvm",
"self_managed_active_directory_configuration": {
"dns_ips": [
"10.0.0.111",
"10.0.0.222",
],
"domain_name": "corp.example.com",
"password": "avoid-plaintext-passwords",
"username": "Admin",
},
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var test = new Aws.Fsx.OntapStorageVirtualMachine("test", new()
{
FileSystemId = testAwsFsxOntapFileSystem.Id,
Name = "mysvm",
ActiveDirectoryConfiguration = new Aws.Fsx.Inputs.OntapStorageVirtualMachineActiveDirectoryConfigurationArgs
{
NetbiosName = "mysvm",
SelfManagedActiveDirectoryConfiguration = new Aws.Fsx.Inputs.OntapStorageVirtualMachineActiveDirectoryConfigurationSelfManagedActiveDirectoryConfigurationArgs
{
DnsIps = new[]
{
"10.0.0.111",
"10.0.0.222",
},
DomainName = "corp.example.com",
Password = "avoid-plaintext-passwords",
Username = "Admin",
},
},
});
});
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.NewOntapStorageVirtualMachine(ctx, "test", &fsx.OntapStorageVirtualMachineArgs{
FileSystemId: pulumi.Any(testAwsFsxOntapFileSystem.Id),
Name: pulumi.String("mysvm"),
ActiveDirectoryConfiguration: &fsx.OntapStorageVirtualMachineActiveDirectoryConfigurationArgs{
NetbiosName: pulumi.String("mysvm"),
SelfManagedActiveDirectoryConfiguration: &fsx.OntapStorageVirtualMachineActiveDirectoryConfigurationSelfManagedActiveDirectoryConfigurationArgs{
DnsIps: pulumi.StringArray{
pulumi.String("10.0.0.111"),
pulumi.String("10.0.0.222"),
},
DomainName: pulumi.String("corp.example.com"),
Password: pulumi.String("avoid-plaintext-passwords"),
Username: pulumi.String("Admin"),
},
},
})
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.OntapStorageVirtualMachine;
import com.pulumi.aws.fsx.OntapStorageVirtualMachineArgs;
import com.pulumi.aws.fsx.inputs.OntapStorageVirtualMachineActiveDirectoryConfigurationArgs;
import com.pulumi.aws.fsx.inputs.OntapStorageVirtualMachineActiveDirectoryConfigurationSelfManagedActiveDirectoryConfigurationArgs;
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 OntapStorageVirtualMachine("test", OntapStorageVirtualMachineArgs.builder()
.fileSystemId(testAwsFsxOntapFileSystem.id())
.name("mysvm")
.activeDirectoryConfiguration(OntapStorageVirtualMachineActiveDirectoryConfigurationArgs.builder()
.netbiosName("mysvm")
.selfManagedActiveDirectoryConfiguration(OntapStorageVirtualMachineActiveDirectoryConfigurationSelfManagedActiveDirectoryConfigurationArgs.builder()
.dnsIps(
"10.0.0.111",
"10.0.0.222")
.domainName("corp.example.com")
.password("avoid-plaintext-passwords")
.username("Admin")
.build())
.build())
.build());
}
}
resources:
test:
type: aws:fsx:OntapStorageVirtualMachine
properties:
fileSystemId: ${testAwsFsxOntapFileSystem.id}
name: mysvm
activeDirectoryConfiguration:
netbiosName: mysvm
selfManagedActiveDirectoryConfiguration:
dnsIps:
- 10.0.0.111
- 10.0.0.222
domainName: corp.example.com
password: avoid-plaintext-passwords
username: Admin

Import

Using pulumi import, import FSx Storage Virtual Machine using the id. For example:

$ pulumi import aws:fsx/ontapStorageVirtualMachine:OntapStorageVirtualMachine example svm-12345678abcdef123

Certain resource arguments, like svm_admin_password 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:

Properties

Link copied to clipboard

Configuration block that Amazon FSx uses to join the FSx ONTAP Storage Virtual Machine(SVM) to your Microsoft Active Directory (AD) directory. Detailed below.

Link copied to clipboard
val arn: Output<String>

Amazon Resource Name of the storage virtual machine.

Link copied to clipboard

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.

Link copied to clipboard
val fileSystemId: Output<String>

The ID of the Amazon FSx ONTAP File System that this SVM will be created on.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val name: Output<String>

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

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

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.

Link copied to clipboard
val subtype: Output<String>

Describes the SVM's subtype, e.g. DEFAULT

Link copied to clipboard
val svmAdminPassword: Output<String>?

Specifies the password to use when logging on to the SVM using a secure shell (SSH) connection to the SVM's management endpoint. Doing so enables you to manage the SVM using the NetApp ONTAP CLI or REST API. If you do not specify a password, you can still use the file system's fsxadmin user to manage the SVM.

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

A map of tags to assign to the storage virtual machine. 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
val tagsAll: Output<Map<String, String>>

A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Link copied to clipboard
val urn: Output<String>
Link copied to clipboard
val uuid: Output<String>

The SVM's UUID (universally unique identifier).