github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/fsx/openZfsFileSystem.go (about)

     1  // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT.
     2  // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
     3  
     4  package fsx
     5  
     6  import (
     7  	"context"
     8  	"reflect"
     9  
    10  	"errors"
    11  	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal"
    12  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    13  )
    14  
    15  // Manages an Amazon FSx for OpenZFS file system.
    16  // See the [FSx OpenZFS User Guide](https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/what-is-fsx.html) for more information.
    17  //
    18  // ## Example Usage
    19  //
    20  // <!--Start PulumiCodeChooser -->
    21  // ```go
    22  // package main
    23  //
    24  // import (
    25  //
    26  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx"
    27  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    28  //
    29  // )
    30  //
    31  //	func main() {
    32  //		pulumi.Run(func(ctx *pulumi.Context) error {
    33  //			_, err := fsx.NewOpenZfsFileSystem(ctx, "test", &fsx.OpenZfsFileSystemArgs{
    34  //				StorageCapacity:    pulumi.Int(64),
    35  //				SubnetIds:          pulumi.Any(test1.Id),
    36  //				DeploymentType:     pulumi.String("SINGLE_AZ_1"),
    37  //				ThroughputCapacity: pulumi.Int(64),
    38  //			})
    39  //			if err != nil {
    40  //				return err
    41  //			}
    42  //			return nil
    43  //		})
    44  //	}
    45  //
    46  // ```
    47  // <!--End PulumiCodeChooser -->
    48  //
    49  // ## Import
    50  //
    51  // Using `pulumi import`, import FSx File Systems using the `id`. For example:
    52  //
    53  // ```sh
    54  // $ pulumi import aws:fsx/openZfsFileSystem:OpenZfsFileSystem example fs-543ab12b1ca672f33
    55  // ```
    56  // Certain resource arguments, like `security_group_ids`, 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 `ignore_changes` to hide the difference. For example:
    57  type OpenZfsFileSystem struct {
    58  	pulumi.CustomResourceState
    59  
    60  	// Amazon Resource Name of the file system.
    61  	Arn pulumi.StringOutput `pulumi:"arn"`
    62  	// The 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.
    63  	AutomaticBackupRetentionDays pulumi.IntPtrOutput `pulumi:"automaticBackupRetentionDays"`
    64  	// The ID of the source backup to create the filesystem from.
    65  	BackupId pulumi.StringPtrOutput `pulumi:"backupId"`
    66  	// A boolean flag indicating whether tags for the file system should be copied to backups. The default value is false.
    67  	CopyTagsToBackups pulumi.BoolPtrOutput `pulumi:"copyTagsToBackups"`
    68  	// A boolean flag indicating whether tags for the file system should be copied to snapshots. The default value is false.
    69  	CopyTagsToVolumes pulumi.BoolPtrOutput `pulumi:"copyTagsToVolumes"`
    70  	// A 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.
    71  	DailyAutomaticBackupStartTime pulumi.StringOutput `pulumi:"dailyAutomaticBackupStartTime"`
    72  	// The filesystem deployment type. Valid values: `SINGLE_AZ_1`, `SINGLE_AZ_2` and `MULTI_AZ_1`.
    73  	DeploymentType pulumi.StringOutput `pulumi:"deploymentType"`
    74  	// The SSD IOPS configuration for the Amazon FSx for OpenZFS file system. See Disk Iops Configuration below.
    75  	DiskIopsConfiguration OpenZfsFileSystemDiskIopsConfigurationOutput `pulumi:"diskIopsConfiguration"`
    76  	// DNS name for the file system, e.g., `fs-12345678.fsx.us-west-2.amazonaws.com`
    77  	DnsName pulumi.StringOutput `pulumi:"dnsName"`
    78  	// IP address of the endpoint that is used to access data or to manage the file system.
    79  	EndpointIpAddress pulumi.StringOutput `pulumi:"endpointIpAddress"`
    80  	// (Multi-AZ only) Specifies the IP address range in which the endpoints to access your file system will be created.
    81  	EndpointIpAddressRange pulumi.StringOutput `pulumi:"endpointIpAddressRange"`
    82  	// ARN for the KMS Key to encrypt the file system at rest, Defaults to an AWS managed KMS Key.
    83  	KmsKeyId pulumi.StringOutput `pulumi:"kmsKeyId"`
    84  	// Set of Elastic Network Interface identifiers from which the file system is accessible The first network interface returned is the primary network interface.
    85  	NetworkInterfaceIds pulumi.StringArrayOutput `pulumi:"networkInterfaceIds"`
    86  	// AWS account identifier that created the file system.
    87  	OwnerId pulumi.StringOutput `pulumi:"ownerId"`
    88  	// (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.
    89  	PreferredSubnetId pulumi.StringPtrOutput `pulumi:"preferredSubnetId"`
    90  	// The configuration for the root volume of the file system. All other volumes are children or the root volume. See Root Volume Configuration below.
    91  	RootVolumeConfiguration OpenZfsFileSystemRootVolumeConfigurationOutput `pulumi:"rootVolumeConfiguration"`
    92  	// Identifier of the root volume, e.g., `fsvol-12345678`
    93  	RootVolumeId pulumi.StringOutput `pulumi:"rootVolumeId"`
    94  	// (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 virtual private cloud (VPC) route tables associated with the subnets in which your clients are located. By default, Amazon FSx selects your VPC's default route table.
    95  	RouteTableIds pulumi.StringArrayOutput `pulumi:"routeTableIds"`
    96  	// 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.
    97  	SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"`
    98  	// 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`.
    99  	SkipFinalBackup pulumi.BoolPtrOutput `pulumi:"skipFinalBackup"`
   100  	// The storage capacity (GiB) of the file system. Valid values between `64` and `524288`.
   101  	StorageCapacity pulumi.IntPtrOutput `pulumi:"storageCapacity"`
   102  	// The filesystem storage type. Only `SSD` is supported.
   103  	StorageType pulumi.StringPtrOutput `pulumi:"storageType"`
   104  	// A list of IDs for the subnets that the file system will be accessible from.
   105  	SubnetIds pulumi.StringOutput `pulumi:"subnetIds"`
   106  	// A 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.
   107  	Tags pulumi.StringMapOutput `pulumi:"tags"`
   108  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   109  	//
   110  	// Deprecated: Please use `tags` instead.
   111  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
   112  	// 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`.
   113  	ThroughputCapacity pulumi.IntOutput `pulumi:"throughputCapacity"`
   114  	// Identifier of the Virtual Private Cloud for the file system.
   115  	VpcId pulumi.StringOutput `pulumi:"vpcId"`
   116  	// The preferred start time (in `d:HH:MM` format) to perform weekly maintenance, in the UTC time zone.
   117  	WeeklyMaintenanceStartTime pulumi.StringOutput `pulumi:"weeklyMaintenanceStartTime"`
   118  }
   119  
   120  // NewOpenZfsFileSystem registers a new resource with the given unique name, arguments, and options.
   121  func NewOpenZfsFileSystem(ctx *pulumi.Context,
   122  	name string, args *OpenZfsFileSystemArgs, opts ...pulumi.ResourceOption) (*OpenZfsFileSystem, error) {
   123  	if args == nil {
   124  		return nil, errors.New("missing one or more required arguments")
   125  	}
   126  
   127  	if args.DeploymentType == nil {
   128  		return nil, errors.New("invalid value for required argument 'DeploymentType'")
   129  	}
   130  	if args.SubnetIds == nil {
   131  		return nil, errors.New("invalid value for required argument 'SubnetIds'")
   132  	}
   133  	if args.ThroughputCapacity == nil {
   134  		return nil, errors.New("invalid value for required argument 'ThroughputCapacity'")
   135  	}
   136  	opts = internal.PkgResourceDefaultOpts(opts)
   137  	var resource OpenZfsFileSystem
   138  	err := ctx.RegisterResource("aws:fsx/openZfsFileSystem:OpenZfsFileSystem", name, args, &resource, opts...)
   139  	if err != nil {
   140  		return nil, err
   141  	}
   142  	return &resource, nil
   143  }
   144  
   145  // GetOpenZfsFileSystem gets an existing OpenZfsFileSystem resource's state with the given name, ID, and optional
   146  // state properties that are used to uniquely qualify the lookup (nil if not required).
   147  func GetOpenZfsFileSystem(ctx *pulumi.Context,
   148  	name string, id pulumi.IDInput, state *OpenZfsFileSystemState, opts ...pulumi.ResourceOption) (*OpenZfsFileSystem, error) {
   149  	var resource OpenZfsFileSystem
   150  	err := ctx.ReadResource("aws:fsx/openZfsFileSystem:OpenZfsFileSystem", name, id, state, &resource, opts...)
   151  	if err != nil {
   152  		return nil, err
   153  	}
   154  	return &resource, nil
   155  }
   156  
   157  // Input properties used for looking up and filtering OpenZfsFileSystem resources.
   158  type openZfsFileSystemState struct {
   159  	// Amazon Resource Name of the file system.
   160  	Arn *string `pulumi:"arn"`
   161  	// The 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.
   162  	AutomaticBackupRetentionDays *int `pulumi:"automaticBackupRetentionDays"`
   163  	// The ID of the source backup to create the filesystem from.
   164  	BackupId *string `pulumi:"backupId"`
   165  	// A boolean flag indicating whether tags for the file system should be copied to backups. The default value is false.
   166  	CopyTagsToBackups *bool `pulumi:"copyTagsToBackups"`
   167  	// A boolean flag indicating whether tags for the file system should be copied to snapshots. The default value is false.
   168  	CopyTagsToVolumes *bool `pulumi:"copyTagsToVolumes"`
   169  	// A 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.
   170  	DailyAutomaticBackupStartTime *string `pulumi:"dailyAutomaticBackupStartTime"`
   171  	// The filesystem deployment type. Valid values: `SINGLE_AZ_1`, `SINGLE_AZ_2` and `MULTI_AZ_1`.
   172  	DeploymentType *string `pulumi:"deploymentType"`
   173  	// The SSD IOPS configuration for the Amazon FSx for OpenZFS file system. See Disk Iops Configuration below.
   174  	DiskIopsConfiguration *OpenZfsFileSystemDiskIopsConfiguration `pulumi:"diskIopsConfiguration"`
   175  	// DNS name for the file system, e.g., `fs-12345678.fsx.us-west-2.amazonaws.com`
   176  	DnsName *string `pulumi:"dnsName"`
   177  	// IP address of the endpoint that is used to access data or to manage the file system.
   178  	EndpointIpAddress *string `pulumi:"endpointIpAddress"`
   179  	// (Multi-AZ only) Specifies the IP address range in which the endpoints to access your file system will be created.
   180  	EndpointIpAddressRange *string `pulumi:"endpointIpAddressRange"`
   181  	// ARN for the KMS Key to encrypt the file system at rest, Defaults to an AWS managed KMS Key.
   182  	KmsKeyId *string `pulumi:"kmsKeyId"`
   183  	// Set of Elastic Network Interface identifiers from which the file system is accessible The first network interface returned is the primary network interface.
   184  	NetworkInterfaceIds []string `pulumi:"networkInterfaceIds"`
   185  	// AWS account identifier that created the file system.
   186  	OwnerId *string `pulumi:"ownerId"`
   187  	// (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.
   188  	PreferredSubnetId *string `pulumi:"preferredSubnetId"`
   189  	// The configuration for the root volume of the file system. All other volumes are children or the root volume. See Root Volume Configuration below.
   190  	RootVolumeConfiguration *OpenZfsFileSystemRootVolumeConfiguration `pulumi:"rootVolumeConfiguration"`
   191  	// Identifier of the root volume, e.g., `fsvol-12345678`
   192  	RootVolumeId *string `pulumi:"rootVolumeId"`
   193  	// (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 virtual private cloud (VPC) route tables associated with the subnets in which your clients are located. By default, Amazon FSx selects your VPC's default route table.
   194  	RouteTableIds []string `pulumi:"routeTableIds"`
   195  	// 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.
   196  	SecurityGroupIds []string `pulumi:"securityGroupIds"`
   197  	// 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`.
   198  	SkipFinalBackup *bool `pulumi:"skipFinalBackup"`
   199  	// The storage capacity (GiB) of the file system. Valid values between `64` and `524288`.
   200  	StorageCapacity *int `pulumi:"storageCapacity"`
   201  	// The filesystem storage type. Only `SSD` is supported.
   202  	StorageType *string `pulumi:"storageType"`
   203  	// A list of IDs for the subnets that the file system will be accessible from.
   204  	SubnetIds *string `pulumi:"subnetIds"`
   205  	// A 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.
   206  	Tags map[string]string `pulumi:"tags"`
   207  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   208  	//
   209  	// Deprecated: Please use `tags` instead.
   210  	TagsAll map[string]string `pulumi:"tagsAll"`
   211  	// 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`.
   212  	ThroughputCapacity *int `pulumi:"throughputCapacity"`
   213  	// Identifier of the Virtual Private Cloud for the file system.
   214  	VpcId *string `pulumi:"vpcId"`
   215  	// The preferred start time (in `d:HH:MM` format) to perform weekly maintenance, in the UTC time zone.
   216  	WeeklyMaintenanceStartTime *string `pulumi:"weeklyMaintenanceStartTime"`
   217  }
   218  
   219  type OpenZfsFileSystemState struct {
   220  	// Amazon Resource Name of the file system.
   221  	Arn pulumi.StringPtrInput
   222  	// The 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.
   223  	AutomaticBackupRetentionDays pulumi.IntPtrInput
   224  	// The ID of the source backup to create the filesystem from.
   225  	BackupId pulumi.StringPtrInput
   226  	// A boolean flag indicating whether tags for the file system should be copied to backups. The default value is false.
   227  	CopyTagsToBackups pulumi.BoolPtrInput
   228  	// A boolean flag indicating whether tags for the file system should be copied to snapshots. The default value is false.
   229  	CopyTagsToVolumes pulumi.BoolPtrInput
   230  	// A 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.
   231  	DailyAutomaticBackupStartTime pulumi.StringPtrInput
   232  	// The filesystem deployment type. Valid values: `SINGLE_AZ_1`, `SINGLE_AZ_2` and `MULTI_AZ_1`.
   233  	DeploymentType pulumi.StringPtrInput
   234  	// The SSD IOPS configuration for the Amazon FSx for OpenZFS file system. See Disk Iops Configuration below.
   235  	DiskIopsConfiguration OpenZfsFileSystemDiskIopsConfigurationPtrInput
   236  	// DNS name for the file system, e.g., `fs-12345678.fsx.us-west-2.amazonaws.com`
   237  	DnsName pulumi.StringPtrInput
   238  	// IP address of the endpoint that is used to access data or to manage the file system.
   239  	EndpointIpAddress pulumi.StringPtrInput
   240  	// (Multi-AZ only) Specifies the IP address range in which the endpoints to access your file system will be created.
   241  	EndpointIpAddressRange pulumi.StringPtrInput
   242  	// ARN for the KMS Key to encrypt the file system at rest, Defaults to an AWS managed KMS Key.
   243  	KmsKeyId pulumi.StringPtrInput
   244  	// Set of Elastic Network Interface identifiers from which the file system is accessible The first network interface returned is the primary network interface.
   245  	NetworkInterfaceIds pulumi.StringArrayInput
   246  	// AWS account identifier that created the file system.
   247  	OwnerId pulumi.StringPtrInput
   248  	// (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.
   249  	PreferredSubnetId pulumi.StringPtrInput
   250  	// The configuration for the root volume of the file system. All other volumes are children or the root volume. See Root Volume Configuration below.
   251  	RootVolumeConfiguration OpenZfsFileSystemRootVolumeConfigurationPtrInput
   252  	// Identifier of the root volume, e.g., `fsvol-12345678`
   253  	RootVolumeId pulumi.StringPtrInput
   254  	// (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 virtual private cloud (VPC) route tables associated with the subnets in which your clients are located. By default, Amazon FSx selects your VPC's default route table.
   255  	RouteTableIds pulumi.StringArrayInput
   256  	// 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.
   257  	SecurityGroupIds pulumi.StringArrayInput
   258  	// 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`.
   259  	SkipFinalBackup pulumi.BoolPtrInput
   260  	// The storage capacity (GiB) of the file system. Valid values between `64` and `524288`.
   261  	StorageCapacity pulumi.IntPtrInput
   262  	// The filesystem storage type. Only `SSD` is supported.
   263  	StorageType pulumi.StringPtrInput
   264  	// A list of IDs for the subnets that the file system will be accessible from.
   265  	SubnetIds pulumi.StringPtrInput
   266  	// A 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.
   267  	Tags pulumi.StringMapInput
   268  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   269  	//
   270  	// Deprecated: Please use `tags` instead.
   271  	TagsAll pulumi.StringMapInput
   272  	// 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`.
   273  	ThroughputCapacity pulumi.IntPtrInput
   274  	// Identifier of the Virtual Private Cloud for the file system.
   275  	VpcId pulumi.StringPtrInput
   276  	// The preferred start time (in `d:HH:MM` format) to perform weekly maintenance, in the UTC time zone.
   277  	WeeklyMaintenanceStartTime pulumi.StringPtrInput
   278  }
   279  
   280  func (OpenZfsFileSystemState) ElementType() reflect.Type {
   281  	return reflect.TypeOf((*openZfsFileSystemState)(nil)).Elem()
   282  }
   283  
   284  type openZfsFileSystemArgs struct {
   285  	// The 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.
   286  	AutomaticBackupRetentionDays *int `pulumi:"automaticBackupRetentionDays"`
   287  	// The ID of the source backup to create the filesystem from.
   288  	BackupId *string `pulumi:"backupId"`
   289  	// A boolean flag indicating whether tags for the file system should be copied to backups. The default value is false.
   290  	CopyTagsToBackups *bool `pulumi:"copyTagsToBackups"`
   291  	// A boolean flag indicating whether tags for the file system should be copied to snapshots. The default value is false.
   292  	CopyTagsToVolumes *bool `pulumi:"copyTagsToVolumes"`
   293  	// A 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.
   294  	DailyAutomaticBackupStartTime *string `pulumi:"dailyAutomaticBackupStartTime"`
   295  	// The filesystem deployment type. Valid values: `SINGLE_AZ_1`, `SINGLE_AZ_2` and `MULTI_AZ_1`.
   296  	DeploymentType string `pulumi:"deploymentType"`
   297  	// The SSD IOPS configuration for the Amazon FSx for OpenZFS file system. See Disk Iops Configuration below.
   298  	DiskIopsConfiguration *OpenZfsFileSystemDiskIopsConfiguration `pulumi:"diskIopsConfiguration"`
   299  	// (Multi-AZ only) Specifies the IP address range in which the endpoints to access your file system will be created.
   300  	EndpointIpAddressRange *string `pulumi:"endpointIpAddressRange"`
   301  	// ARN for the KMS Key to encrypt the file system at rest, Defaults to an AWS managed KMS Key.
   302  	KmsKeyId *string `pulumi:"kmsKeyId"`
   303  	// (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.
   304  	PreferredSubnetId *string `pulumi:"preferredSubnetId"`
   305  	// The configuration for the root volume of the file system. All other volumes are children or the root volume. See Root Volume Configuration below.
   306  	RootVolumeConfiguration *OpenZfsFileSystemRootVolumeConfiguration `pulumi:"rootVolumeConfiguration"`
   307  	// (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 virtual private cloud (VPC) route tables associated with the subnets in which your clients are located. By default, Amazon FSx selects your VPC's default route table.
   308  	RouteTableIds []string `pulumi:"routeTableIds"`
   309  	// 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.
   310  	SecurityGroupIds []string `pulumi:"securityGroupIds"`
   311  	// 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`.
   312  	SkipFinalBackup *bool `pulumi:"skipFinalBackup"`
   313  	// The storage capacity (GiB) of the file system. Valid values between `64` and `524288`.
   314  	StorageCapacity *int `pulumi:"storageCapacity"`
   315  	// The filesystem storage type. Only `SSD` is supported.
   316  	StorageType *string `pulumi:"storageType"`
   317  	// A list of IDs for the subnets that the file system will be accessible from.
   318  	SubnetIds string `pulumi:"subnetIds"`
   319  	// A 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.
   320  	Tags map[string]string `pulumi:"tags"`
   321  	// 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`.
   322  	ThroughputCapacity int `pulumi:"throughputCapacity"`
   323  	// The preferred start time (in `d:HH:MM` format) to perform weekly maintenance, in the UTC time zone.
   324  	WeeklyMaintenanceStartTime *string `pulumi:"weeklyMaintenanceStartTime"`
   325  }
   326  
   327  // The set of arguments for constructing a OpenZfsFileSystem resource.
   328  type OpenZfsFileSystemArgs struct {
   329  	// The 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.
   330  	AutomaticBackupRetentionDays pulumi.IntPtrInput
   331  	// The ID of the source backup to create the filesystem from.
   332  	BackupId pulumi.StringPtrInput
   333  	// A boolean flag indicating whether tags for the file system should be copied to backups. The default value is false.
   334  	CopyTagsToBackups pulumi.BoolPtrInput
   335  	// A boolean flag indicating whether tags for the file system should be copied to snapshots. The default value is false.
   336  	CopyTagsToVolumes pulumi.BoolPtrInput
   337  	// A 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.
   338  	DailyAutomaticBackupStartTime pulumi.StringPtrInput
   339  	// The filesystem deployment type. Valid values: `SINGLE_AZ_1`, `SINGLE_AZ_2` and `MULTI_AZ_1`.
   340  	DeploymentType pulumi.StringInput
   341  	// The SSD IOPS configuration for the Amazon FSx for OpenZFS file system. See Disk Iops Configuration below.
   342  	DiskIopsConfiguration OpenZfsFileSystemDiskIopsConfigurationPtrInput
   343  	// (Multi-AZ only) Specifies the IP address range in which the endpoints to access your file system will be created.
   344  	EndpointIpAddressRange pulumi.StringPtrInput
   345  	// ARN for the KMS Key to encrypt the file system at rest, Defaults to an AWS managed KMS Key.
   346  	KmsKeyId pulumi.StringPtrInput
   347  	// (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.
   348  	PreferredSubnetId pulumi.StringPtrInput
   349  	// The configuration for the root volume of the file system. All other volumes are children or the root volume. See Root Volume Configuration below.
   350  	RootVolumeConfiguration OpenZfsFileSystemRootVolumeConfigurationPtrInput
   351  	// (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 virtual private cloud (VPC) route tables associated with the subnets in which your clients are located. By default, Amazon FSx selects your VPC's default route table.
   352  	RouteTableIds pulumi.StringArrayInput
   353  	// 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.
   354  	SecurityGroupIds pulumi.StringArrayInput
   355  	// 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`.
   356  	SkipFinalBackup pulumi.BoolPtrInput
   357  	// The storage capacity (GiB) of the file system. Valid values between `64` and `524288`.
   358  	StorageCapacity pulumi.IntPtrInput
   359  	// The filesystem storage type. Only `SSD` is supported.
   360  	StorageType pulumi.StringPtrInput
   361  	// A list of IDs for the subnets that the file system will be accessible from.
   362  	SubnetIds pulumi.StringInput
   363  	// A 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.
   364  	Tags pulumi.StringMapInput
   365  	// 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`.
   366  	ThroughputCapacity pulumi.IntInput
   367  	// The preferred start time (in `d:HH:MM` format) to perform weekly maintenance, in the UTC time zone.
   368  	WeeklyMaintenanceStartTime pulumi.StringPtrInput
   369  }
   370  
   371  func (OpenZfsFileSystemArgs) ElementType() reflect.Type {
   372  	return reflect.TypeOf((*openZfsFileSystemArgs)(nil)).Elem()
   373  }
   374  
   375  type OpenZfsFileSystemInput interface {
   376  	pulumi.Input
   377  
   378  	ToOpenZfsFileSystemOutput() OpenZfsFileSystemOutput
   379  	ToOpenZfsFileSystemOutputWithContext(ctx context.Context) OpenZfsFileSystemOutput
   380  }
   381  
   382  func (*OpenZfsFileSystem) ElementType() reflect.Type {
   383  	return reflect.TypeOf((**OpenZfsFileSystem)(nil)).Elem()
   384  }
   385  
   386  func (i *OpenZfsFileSystem) ToOpenZfsFileSystemOutput() OpenZfsFileSystemOutput {
   387  	return i.ToOpenZfsFileSystemOutputWithContext(context.Background())
   388  }
   389  
   390  func (i *OpenZfsFileSystem) ToOpenZfsFileSystemOutputWithContext(ctx context.Context) OpenZfsFileSystemOutput {
   391  	return pulumi.ToOutputWithContext(ctx, i).(OpenZfsFileSystemOutput)
   392  }
   393  
   394  // OpenZfsFileSystemArrayInput is an input type that accepts OpenZfsFileSystemArray and OpenZfsFileSystemArrayOutput values.
   395  // You can construct a concrete instance of `OpenZfsFileSystemArrayInput` via:
   396  //
   397  //	OpenZfsFileSystemArray{ OpenZfsFileSystemArgs{...} }
   398  type OpenZfsFileSystemArrayInput interface {
   399  	pulumi.Input
   400  
   401  	ToOpenZfsFileSystemArrayOutput() OpenZfsFileSystemArrayOutput
   402  	ToOpenZfsFileSystemArrayOutputWithContext(context.Context) OpenZfsFileSystemArrayOutput
   403  }
   404  
   405  type OpenZfsFileSystemArray []OpenZfsFileSystemInput
   406  
   407  func (OpenZfsFileSystemArray) ElementType() reflect.Type {
   408  	return reflect.TypeOf((*[]*OpenZfsFileSystem)(nil)).Elem()
   409  }
   410  
   411  func (i OpenZfsFileSystemArray) ToOpenZfsFileSystemArrayOutput() OpenZfsFileSystemArrayOutput {
   412  	return i.ToOpenZfsFileSystemArrayOutputWithContext(context.Background())
   413  }
   414  
   415  func (i OpenZfsFileSystemArray) ToOpenZfsFileSystemArrayOutputWithContext(ctx context.Context) OpenZfsFileSystemArrayOutput {
   416  	return pulumi.ToOutputWithContext(ctx, i).(OpenZfsFileSystemArrayOutput)
   417  }
   418  
   419  // OpenZfsFileSystemMapInput is an input type that accepts OpenZfsFileSystemMap and OpenZfsFileSystemMapOutput values.
   420  // You can construct a concrete instance of `OpenZfsFileSystemMapInput` via:
   421  //
   422  //	OpenZfsFileSystemMap{ "key": OpenZfsFileSystemArgs{...} }
   423  type OpenZfsFileSystemMapInput interface {
   424  	pulumi.Input
   425  
   426  	ToOpenZfsFileSystemMapOutput() OpenZfsFileSystemMapOutput
   427  	ToOpenZfsFileSystemMapOutputWithContext(context.Context) OpenZfsFileSystemMapOutput
   428  }
   429  
   430  type OpenZfsFileSystemMap map[string]OpenZfsFileSystemInput
   431  
   432  func (OpenZfsFileSystemMap) ElementType() reflect.Type {
   433  	return reflect.TypeOf((*map[string]*OpenZfsFileSystem)(nil)).Elem()
   434  }
   435  
   436  func (i OpenZfsFileSystemMap) ToOpenZfsFileSystemMapOutput() OpenZfsFileSystemMapOutput {
   437  	return i.ToOpenZfsFileSystemMapOutputWithContext(context.Background())
   438  }
   439  
   440  func (i OpenZfsFileSystemMap) ToOpenZfsFileSystemMapOutputWithContext(ctx context.Context) OpenZfsFileSystemMapOutput {
   441  	return pulumi.ToOutputWithContext(ctx, i).(OpenZfsFileSystemMapOutput)
   442  }
   443  
   444  type OpenZfsFileSystemOutput struct{ *pulumi.OutputState }
   445  
   446  func (OpenZfsFileSystemOutput) ElementType() reflect.Type {
   447  	return reflect.TypeOf((**OpenZfsFileSystem)(nil)).Elem()
   448  }
   449  
   450  func (o OpenZfsFileSystemOutput) ToOpenZfsFileSystemOutput() OpenZfsFileSystemOutput {
   451  	return o
   452  }
   453  
   454  func (o OpenZfsFileSystemOutput) ToOpenZfsFileSystemOutputWithContext(ctx context.Context) OpenZfsFileSystemOutput {
   455  	return o
   456  }
   457  
   458  // Amazon Resource Name of the file system.
   459  func (o OpenZfsFileSystemOutput) Arn() pulumi.StringOutput {
   460  	return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   461  }
   462  
   463  // The 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.
   464  func (o OpenZfsFileSystemOutput) AutomaticBackupRetentionDays() pulumi.IntPtrOutput {
   465  	return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.IntPtrOutput { return v.AutomaticBackupRetentionDays }).(pulumi.IntPtrOutput)
   466  }
   467  
   468  // The ID of the source backup to create the filesystem from.
   469  func (o OpenZfsFileSystemOutput) BackupId() pulumi.StringPtrOutput {
   470  	return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.StringPtrOutput { return v.BackupId }).(pulumi.StringPtrOutput)
   471  }
   472  
   473  // A boolean flag indicating whether tags for the file system should be copied to backups. The default value is false.
   474  func (o OpenZfsFileSystemOutput) CopyTagsToBackups() pulumi.BoolPtrOutput {
   475  	return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.BoolPtrOutput { return v.CopyTagsToBackups }).(pulumi.BoolPtrOutput)
   476  }
   477  
   478  // A boolean flag indicating whether tags for the file system should be copied to snapshots. The default value is false.
   479  func (o OpenZfsFileSystemOutput) CopyTagsToVolumes() pulumi.BoolPtrOutput {
   480  	return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.BoolPtrOutput { return v.CopyTagsToVolumes }).(pulumi.BoolPtrOutput)
   481  }
   482  
   483  // A 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.
   484  func (o OpenZfsFileSystemOutput) DailyAutomaticBackupStartTime() pulumi.StringOutput {
   485  	return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.StringOutput { return v.DailyAutomaticBackupStartTime }).(pulumi.StringOutput)
   486  }
   487  
   488  // The filesystem deployment type. Valid values: `SINGLE_AZ_1`, `SINGLE_AZ_2` and `MULTI_AZ_1`.
   489  func (o OpenZfsFileSystemOutput) DeploymentType() pulumi.StringOutput {
   490  	return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.StringOutput { return v.DeploymentType }).(pulumi.StringOutput)
   491  }
   492  
   493  // The SSD IOPS configuration for the Amazon FSx for OpenZFS file system. See Disk Iops Configuration below.
   494  func (o OpenZfsFileSystemOutput) DiskIopsConfiguration() OpenZfsFileSystemDiskIopsConfigurationOutput {
   495  	return o.ApplyT(func(v *OpenZfsFileSystem) OpenZfsFileSystemDiskIopsConfigurationOutput {
   496  		return v.DiskIopsConfiguration
   497  	}).(OpenZfsFileSystemDiskIopsConfigurationOutput)
   498  }
   499  
   500  // DNS name for the file system, e.g., `fs-12345678.fsx.us-west-2.amazonaws.com`
   501  func (o OpenZfsFileSystemOutput) DnsName() pulumi.StringOutput {
   502  	return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.StringOutput { return v.DnsName }).(pulumi.StringOutput)
   503  }
   504  
   505  // IP address of the endpoint that is used to access data or to manage the file system.
   506  func (o OpenZfsFileSystemOutput) EndpointIpAddress() pulumi.StringOutput {
   507  	return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.StringOutput { return v.EndpointIpAddress }).(pulumi.StringOutput)
   508  }
   509  
   510  // (Multi-AZ only) Specifies the IP address range in which the endpoints to access your file system will be created.
   511  func (o OpenZfsFileSystemOutput) EndpointIpAddressRange() pulumi.StringOutput {
   512  	return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.StringOutput { return v.EndpointIpAddressRange }).(pulumi.StringOutput)
   513  }
   514  
   515  // ARN for the KMS Key to encrypt the file system at rest, Defaults to an AWS managed KMS Key.
   516  func (o OpenZfsFileSystemOutput) KmsKeyId() pulumi.StringOutput {
   517  	return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.StringOutput { return v.KmsKeyId }).(pulumi.StringOutput)
   518  }
   519  
   520  // Set of Elastic Network Interface identifiers from which the file system is accessible The first network interface returned is the primary network interface.
   521  func (o OpenZfsFileSystemOutput) NetworkInterfaceIds() pulumi.StringArrayOutput {
   522  	return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.StringArrayOutput { return v.NetworkInterfaceIds }).(pulumi.StringArrayOutput)
   523  }
   524  
   525  // AWS account identifier that created the file system.
   526  func (o OpenZfsFileSystemOutput) OwnerId() pulumi.StringOutput {
   527  	return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.StringOutput { return v.OwnerId }).(pulumi.StringOutput)
   528  }
   529  
   530  // (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.
   531  func (o OpenZfsFileSystemOutput) PreferredSubnetId() pulumi.StringPtrOutput {
   532  	return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.StringPtrOutput { return v.PreferredSubnetId }).(pulumi.StringPtrOutput)
   533  }
   534  
   535  // The configuration for the root volume of the file system. All other volumes are children or the root volume. See Root Volume Configuration below.
   536  func (o OpenZfsFileSystemOutput) RootVolumeConfiguration() OpenZfsFileSystemRootVolumeConfigurationOutput {
   537  	return o.ApplyT(func(v *OpenZfsFileSystem) OpenZfsFileSystemRootVolumeConfigurationOutput {
   538  		return v.RootVolumeConfiguration
   539  	}).(OpenZfsFileSystemRootVolumeConfigurationOutput)
   540  }
   541  
   542  // Identifier of the root volume, e.g., `fsvol-12345678`
   543  func (o OpenZfsFileSystemOutput) RootVolumeId() pulumi.StringOutput {
   544  	return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.StringOutput { return v.RootVolumeId }).(pulumi.StringOutput)
   545  }
   546  
   547  // (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 virtual private cloud (VPC) route tables associated with the subnets in which your clients are located. By default, Amazon FSx selects your VPC's default route table.
   548  func (o OpenZfsFileSystemOutput) RouteTableIds() pulumi.StringArrayOutput {
   549  	return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.StringArrayOutput { return v.RouteTableIds }).(pulumi.StringArrayOutput)
   550  }
   551  
   552  // 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.
   553  func (o OpenZfsFileSystemOutput) SecurityGroupIds() pulumi.StringArrayOutput {
   554  	return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.StringArrayOutput { return v.SecurityGroupIds }).(pulumi.StringArrayOutput)
   555  }
   556  
   557  // 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`.
   558  func (o OpenZfsFileSystemOutput) SkipFinalBackup() pulumi.BoolPtrOutput {
   559  	return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.BoolPtrOutput { return v.SkipFinalBackup }).(pulumi.BoolPtrOutput)
   560  }
   561  
   562  // The storage capacity (GiB) of the file system. Valid values between `64` and `524288`.
   563  func (o OpenZfsFileSystemOutput) StorageCapacity() pulumi.IntPtrOutput {
   564  	return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.IntPtrOutput { return v.StorageCapacity }).(pulumi.IntPtrOutput)
   565  }
   566  
   567  // The filesystem storage type. Only `SSD` is supported.
   568  func (o OpenZfsFileSystemOutput) StorageType() pulumi.StringPtrOutput {
   569  	return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.StringPtrOutput { return v.StorageType }).(pulumi.StringPtrOutput)
   570  }
   571  
   572  // A list of IDs for the subnets that the file system will be accessible from.
   573  func (o OpenZfsFileSystemOutput) SubnetIds() pulumi.StringOutput {
   574  	return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.StringOutput { return v.SubnetIds }).(pulumi.StringOutput)
   575  }
   576  
   577  // A 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.
   578  func (o OpenZfsFileSystemOutput) Tags() pulumi.StringMapOutput {
   579  	return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   580  }
   581  
   582  // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   583  //
   584  // Deprecated: Please use `tags` instead.
   585  func (o OpenZfsFileSystemOutput) TagsAll() pulumi.StringMapOutput {
   586  	return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   587  }
   588  
   589  // 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`.
   590  func (o OpenZfsFileSystemOutput) ThroughputCapacity() pulumi.IntOutput {
   591  	return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.IntOutput { return v.ThroughputCapacity }).(pulumi.IntOutput)
   592  }
   593  
   594  // Identifier of the Virtual Private Cloud for the file system.
   595  func (o OpenZfsFileSystemOutput) VpcId() pulumi.StringOutput {
   596  	return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.StringOutput { return v.VpcId }).(pulumi.StringOutput)
   597  }
   598  
   599  // The preferred start time (in `d:HH:MM` format) to perform weekly maintenance, in the UTC time zone.
   600  func (o OpenZfsFileSystemOutput) WeeklyMaintenanceStartTime() pulumi.StringOutput {
   601  	return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.StringOutput { return v.WeeklyMaintenanceStartTime }).(pulumi.StringOutput)
   602  }
   603  
   604  type OpenZfsFileSystemArrayOutput struct{ *pulumi.OutputState }
   605  
   606  func (OpenZfsFileSystemArrayOutput) ElementType() reflect.Type {
   607  	return reflect.TypeOf((*[]*OpenZfsFileSystem)(nil)).Elem()
   608  }
   609  
   610  func (o OpenZfsFileSystemArrayOutput) ToOpenZfsFileSystemArrayOutput() OpenZfsFileSystemArrayOutput {
   611  	return o
   612  }
   613  
   614  func (o OpenZfsFileSystemArrayOutput) ToOpenZfsFileSystemArrayOutputWithContext(ctx context.Context) OpenZfsFileSystemArrayOutput {
   615  	return o
   616  }
   617  
   618  func (o OpenZfsFileSystemArrayOutput) Index(i pulumi.IntInput) OpenZfsFileSystemOutput {
   619  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *OpenZfsFileSystem {
   620  		return vs[0].([]*OpenZfsFileSystem)[vs[1].(int)]
   621  	}).(OpenZfsFileSystemOutput)
   622  }
   623  
   624  type OpenZfsFileSystemMapOutput struct{ *pulumi.OutputState }
   625  
   626  func (OpenZfsFileSystemMapOutput) ElementType() reflect.Type {
   627  	return reflect.TypeOf((*map[string]*OpenZfsFileSystem)(nil)).Elem()
   628  }
   629  
   630  func (o OpenZfsFileSystemMapOutput) ToOpenZfsFileSystemMapOutput() OpenZfsFileSystemMapOutput {
   631  	return o
   632  }
   633  
   634  func (o OpenZfsFileSystemMapOutput) ToOpenZfsFileSystemMapOutputWithContext(ctx context.Context) OpenZfsFileSystemMapOutput {
   635  	return o
   636  }
   637  
   638  func (o OpenZfsFileSystemMapOutput) MapIndex(k pulumi.StringInput) OpenZfsFileSystemOutput {
   639  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *OpenZfsFileSystem {
   640  		return vs[0].(map[string]*OpenZfsFileSystem)[vs[1].(string)]
   641  	}).(OpenZfsFileSystemOutput)
   642  }
   643  
   644  func init() {
   645  	pulumi.RegisterInputType(reflect.TypeOf((*OpenZfsFileSystemInput)(nil)).Elem(), &OpenZfsFileSystem{})
   646  	pulumi.RegisterInputType(reflect.TypeOf((*OpenZfsFileSystemArrayInput)(nil)).Elem(), OpenZfsFileSystemArray{})
   647  	pulumi.RegisterInputType(reflect.TypeOf((*OpenZfsFileSystemMapInput)(nil)).Elem(), OpenZfsFileSystemMap{})
   648  	pulumi.RegisterOutputType(OpenZfsFileSystemOutput{})
   649  	pulumi.RegisterOutputType(OpenZfsFileSystemArrayOutput{})
   650  	pulumi.RegisterOutputType(OpenZfsFileSystemMapOutput{})
   651  }