diff --git a/aws/resource_aws_fsx_lustre_file_system.go b/aws/resource_aws_fsx_lustre_file_system.go index 619b24dd1ba..f98d014cf8b 100644 --- a/aws/resource_aws_fsx_lustre_file_system.go +++ b/aws/resource_aws_fsx_lustre_file_system.go @@ -65,7 +65,9 @@ func resourceAwsFsxLustreFileSystem() *schema.Resource { ValidateFunc: validation.IntBetween(1, 512000), }, "network_interface_ids": { - Type: schema.TypeSet, + // As explained in https://docs.aws.amazon.com/fsx/latest/LustreGuide/mounting-on-premises.html, the first + // network_interface_id is the primary one, so ordering matters. Use TypeList instead of TypeSet to preserve it. + Type: schema.TypeList, Computed: true, Elem: &schema.Schema{Type: schema.TypeString}, }, diff --git a/website/docs/r/fsx_lustre_file_system.html.markdown b/website/docs/r/fsx_lustre_file_system.html.markdown index e8f7f83e8e1..0fe7f83c3aa 100644 --- a/website/docs/r/fsx_lustre_file_system.html.markdown +++ b/website/docs/r/fsx_lustre_file_system.html.markdown @@ -40,7 +40,7 @@ In addition to all arguments above, the following attributes are exported: * `arn` - Amazon Resource Name of the file system. * `dns_name` - DNS name for the file system, e.g. `fs-12345678.fsx.us-west-2.amazonaws.com` * `id` - Identifier of the file system, e.g. `fs-12345678` -* `network_interface_ids` - Set of Elastic Network Interface identifiers from which the file system is accessible. +* `network_interface_ids` - Set of Elastic Network Interface identifiers from which the file system is accessible. As explained in the [documentation](https://docs.aws.amazon.com/fsx/latest/LustreGuide/mounting-on-premises.html), the first network interface returned is the primary network interface. * `owner_id` - AWS account identifier that created the file system. * `vpc_id` - Identifier of the Virtual Private Cloud for the file system.