Skip to content

Commit be292fc

Browse files
This release adds EFA support to increase FSx for Lustre file systems' throughput performance to a single client instance. This can be done by specifying EfaEnabled=true at the time of creation of Persistent_2 file systems.
1 parent 52ff870 commit be292fc

File tree

7 files changed

+69
-1
lines changed

7 files changed

+69
-1
lines changed

generator/ServiceModels/fsx/fsx-2018-03-01.api.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1357,6 +1357,7 @@
13571357
"CopyTagsToBackups":{"shape":"Flag"},
13581358
"DriveCacheType":{"shape":"DriveCacheType"},
13591359
"DataCompressionType":{"shape":"DataCompressionType"},
1360+
"EfaEnabled":{"shape":"Flag"},
13601361
"LogConfiguration":{"shape":"LustreLogCreateConfiguration"},
13611362
"RootSquashConfiguration":{"shape":"LustreRootSquashConfiguration"},
13621363
"MetadataConfiguration":{"shape":"CreateFileSystemLustreMetadataConfiguration"}
@@ -2822,7 +2823,8 @@
28222823
"DataCompressionType":{"shape":"DataCompressionType"},
28232824
"LogConfiguration":{"shape":"LustreLogConfiguration"},
28242825
"RootSquashConfiguration":{"shape":"LustreRootSquashConfiguration"},
2825-
"MetadataConfiguration":{"shape":"FileSystemLustreMetadataConfiguration"}
2826+
"MetadataConfiguration":{"shape":"FileSystemLustreMetadataConfiguration"},
2827+
"EfaEnabled":{"shape":"Flag"}
28262828
}
28272829
},
28282830
"LustreFileSystemMountName":{

generator/ServiceModels/fsx/fsx-2018-03-01.docs.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1496,6 +1496,7 @@
14961496
"CompletionReport$Enabled": "<p>Set <code>Enabled</code> to <code>True</code> to generate a <code>CompletionReport</code> when the task completes. If set to <code>true</code>, then you need to provide a report <code>Scope</code>, <code>Path</code>, and <code>Format</code>. Set <code>Enabled</code> to <code>False</code> if you do not want a <code>CompletionReport</code> generated when the task completes.</p>",
14971497
"CopyBackupRequest$CopyTags": "<p>A Boolean flag indicating whether tags from the source backup should be copied to the backup copy. This value defaults to <code>false</code>.</p> <p>If you set <code>CopyTags</code> to <code>true</code> and the source backup has existing tags, you can use the <code>Tags</code> parameter to create new tags, provided that the sum of the source backup tags and the new tags doesn't exceed 50. Both sets of tags are merged. If there are tag conflicts (for example, two tags with the same key but different values), the tags created with the <code>Tags</code> parameter take precedence.</p>",
14981498
"CreateFileSystemLustreConfiguration$CopyTagsToBackups": "<p>(Optional) Not available for use with file systems that are linked to a data repository. A boolean flag indicating whether tags for the file system should be copied to backups. The default value is false. If <code>CopyTagsToBackups</code> is set to true, all file system tags are copied to all automatic and user-initiated backups when the user doesn't specify any backup-specific tags. If <code>CopyTagsToBackups</code> is set to true and you specify one or more backup tags, only the specified tags are copied to backups. If you specify one or more tags when creating a user-initiated backup, no tags are copied from the file system, regardless of this value.</p> <p>(Default = <code>false</code>)</p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-backups-fsx.html\"> Working with backups</a> in the <i>Amazon FSx for Lustre User Guide</i>.</p>",
1499+
"CreateFileSystemLustreConfiguration$EfaEnabled": "<p>(Optional) Specifies whether Elastic Fabric Adapter (EFA) and GPUDirect Storage (GDS) support is enabled for the Amazon FSx for Lustre file system.</p> <p>(Default = <code>false</code>)</p>",
14991500
"CreateFileSystemOpenZFSConfiguration$CopyTagsToBackups": "<p>A Boolean value indicating whether tags for the file system should be copied to backups. This value defaults to <code>false</code>. If it's set to <code>true</code>, all tags for the file system are copied to all automatic and user-initiated backups where the user doesn't specify tags. If this value is <code>true</code>, and you specify one or more tags, only the specified tags are copied to backups. If you specify one or more tags when creating a user-initiated backup, no tags are copied from the file system, regardless of this value.</p>",
15001501
"CreateFileSystemOpenZFSConfiguration$CopyTagsToVolumes": "<p>A Boolean value indicating whether tags for the file system should be copied to volumes. This value defaults to <code>false</code>. If it's set to <code>true</code>, all tags for the file system are copied to volumes where the user doesn't specify tags. If this value is <code>true</code>, and you specify one or more tags, only the specified tags are copied to volumes. If you specify one or more tags when creating the volume, no tags are copied from the file system, regardless of this value.</p>",
15011502
"CreateFileSystemWindowsConfiguration$CopyTagsToBackups": "<p>A boolean flag indicating whether tags for the file system should be copied to backups. This value defaults to false. If it's set to true, all tags for the file system are copied to all automatic and user-initiated backups where the user doesn't specify tags. If this value is true, and you specify one or more tags, only the specified tags are copied to backups. If you specify one or more tags when creating a user-initiated backup, no tags are copied from the file system, regardless of this value.</p>",
@@ -1510,6 +1511,7 @@
15101511
"DeleteVolumeOntapConfiguration$SkipFinalBackup": "<p>Set to true if you want to skip taking a final backup of the volume you are deleting.</p>",
15111512
"DeleteVolumeOntapConfiguration$BypassSnaplockEnterpriseRetention": "<p>Setting this to <code>true</code> allows a SnapLock administrator to delete an FSx for ONTAP SnapLock Enterprise volume with unexpired write once, read many (WORM) files. The IAM permission <code>fsx:BypassSnaplockEnterpriseRetention</code> is also required to delete SnapLock Enterprise volumes with unexpired WORM files. The default value is <code>false</code>. </p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/snaplock-delete-volume.html\"> Deleting a SnapLock volume</a>. </p>",
15121513
"LustreFileSystemConfiguration$CopyTagsToBackups": "<p>A boolean flag indicating whether tags on the file system are copied to backups. If it's set to true, all tags on the file system are copied to all automatic backups and any user-initiated backups where the user doesn't specify any tags. If this value is true, and you specify one or more tags, only the specified tags are copied to backups. If you specify one or more tags when creating a user-initiated backup, no tags are copied from the file system, regardless of this value. (Default = false)</p>",
1514+
"LustreFileSystemConfiguration$EfaEnabled": "<p>Specifies whether Elastic Fabric Adapter (EFA) and GPUDirect Storage (GDS) support is enabled for the Amazon FSx for Lustre file system.</p>",
15131515
"OntapVolumeConfiguration$StorageEfficiencyEnabled": "<p>The volume's storage efficiency setting.</p>",
15141516
"OntapVolumeConfiguration$StorageVirtualMachineRoot": "<p>A Boolean flag indicating whether this volume is the root volume for its storage virtual machine (SVM). Only one volume on an SVM can be the root volume. This value defaults to <code>false</code>. If this value is <code>true</code>, then this is the SVM root volume.</p> <p>This flag is useful when you're deleting an SVM, because you must first delete all non-root volumes. This flag, when set to <code>false</code>, helps you identify which volumes to delete before you can delete the SVM.</p>",
15151517
"OntapVolumeConfiguration$CopyTagsToBackups": "<p>A boolean flag indicating whether tags for the volume should be copied to backups. This value defaults to false. If it's set to true, all tags for the volume are copied to all automatic and user-initiated backups where the user doesn't specify tags. If this value is true, and you specify one or more tags, only the specified tags are copied to backups. If you specify one or more tags when creating a user-initiated backup, no tags are copied from the volume, regardless of this value.</p>",

generator/ServiceModels/fsx/fsx-2018-03-01.normal.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1748,6 +1748,10 @@
17481748
"shape":"DataCompressionType",
17491749
"documentation":"<p>Sets the data compression configuration for the file system. <code>DataCompressionType</code> can have the following values:</p> <ul> <li> <p> <code>NONE</code> - (Default) Data compression is turned off when the file system is created.</p> </li> <li> <p> <code>LZ4</code> - Data compression is turned on with the LZ4 algorithm.</p> </li> </ul> <p>For more information, see <a href=\"https://docs.aws.amazon.com/fsx/latest/LustreGuide/data-compression.html\">Lustre data compression</a> in the <i>Amazon FSx for Lustre User Guide</i>.</p>"
17501750
},
1751+
"EfaEnabled":{
1752+
"shape":"Flag",
1753+
"documentation":"<p>(Optional) Specifies whether Elastic Fabric Adapter (EFA) and GPUDirect Storage (GDS) support is enabled for the Amazon FSx for Lustre file system.</p> <p>(Default = <code>false</code>)</p>"
1754+
},
17511755
"LogConfiguration":{
17521756
"shape":"LustreLogCreateConfiguration",
17531757
"documentation":"<p>The Lustre logging configuration used when creating an Amazon FSx for Lustre file system. When logging is enabled, Lustre logs error and warning events for data repositories associated with your file system to Amazon CloudWatch Logs.</p>"
@@ -4174,6 +4178,10 @@
41744178
"MetadataConfiguration":{
41754179
"shape":"FileSystemLustreMetadataConfiguration",
41764180
"documentation":"<p>The Lustre metadata performance configuration for an Amazon FSx for Lustre file system using a <code>PERSISTENT_2</code> deployment type.</p>"
4181+
},
4182+
"EfaEnabled":{
4183+
"shape":"Flag",
4184+
"documentation":"<p>Specifies whether Elastic Fabric Adapter (EFA) and GPUDirect Storage (GDS) support is enabled for the Amazon FSx for Lustre file system.</p>"
41774185
}
41784186
},
41794187
"documentation":"<p>The configuration for the Amazon FSx for Lustre file system.</p>"

sdk/src/Services/FSx/Generated/Model/CreateFileSystemLustreConfiguration.cs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ public partial class CreateFileSystemLustreConfiguration
6464
private DataCompressionType _dataCompressionType;
6565
private LustreDeploymentType _deploymentType;
6666
private DriveCacheType _driveCacheType;
67+
private bool? _efaEnabled;
6768
private string _exportPath;
6869
private int? _importedFileChunkSize;
6970
private string _importPath;
@@ -314,6 +315,29 @@ internal bool IsSetDriveCacheType()
314315
return this._driveCacheType != null;
315316
}
316317

318+
/// <summary>
319+
/// Gets and sets the property EfaEnabled.
320+
/// <para>
321+
/// (Optional) Specifies whether Elastic Fabric Adapter (EFA) and GPUDirect Storage (GDS)
322+
/// support is enabled for the Amazon FSx for Lustre file system.
323+
/// </para>
324+
///
325+
/// <para>
326+
/// (Default = <c>false</c>)
327+
/// </para>
328+
/// </summary>
329+
public bool EfaEnabled
330+
{
331+
get { return this._efaEnabled.GetValueOrDefault(); }
332+
set { this._efaEnabled = value; }
333+
}
334+
335+
// Check to see if EfaEnabled property is set
336+
internal bool IsSetEfaEnabled()
337+
{
338+
return this._efaEnabled.HasValue;
339+
}
340+
317341
/// <summary>
318342
/// Gets and sets the property ExportPath.
319343
/// <para>

sdk/src/Services/FSx/Generated/Model/Internal/MarshallTransformations/CreateFileSystemLustreConfigurationMarshaller.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,12 @@ public void Marshall(CreateFileSystemLustreConfiguration requestObject, JsonMars
9090
context.Writer.Write(requestObject.DriveCacheType);
9191
}
9292

93+
if(requestObject.IsSetEfaEnabled())
94+
{
95+
context.Writer.WritePropertyName("EfaEnabled");
96+
context.Writer.Write(requestObject.EfaEnabled);
97+
}
98+
9399
if(requestObject.IsSetExportPath())
94100
{
95101
context.Writer.WritePropertyName("ExportPath");

sdk/src/Services/FSx/Generated/Model/Internal/MarshallTransformations/LustreFileSystemConfigurationUnmarshaller.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,12 @@ public LustreFileSystemConfiguration Unmarshall(JsonUnmarshallerContext context)
108108
unmarshalledObject.DriveCacheType = unmarshaller.Unmarshall(context);
109109
continue;
110110
}
111+
if (context.TestExpression("EfaEnabled", targetDepth))
112+
{
113+
var unmarshaller = BoolUnmarshaller.Instance;
114+
unmarshalledObject.EfaEnabled = unmarshaller.Unmarshall(context);
115+
continue;
116+
}
111117
if (context.TestExpression("LogConfiguration", targetDepth))
112118
{
113119
var unmarshaller = LustreLogConfigurationUnmarshaller.Instance;

sdk/src/Services/FSx/Generated/Model/LustreFileSystemConfiguration.cs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ public partial class LustreFileSystemConfiguration
4141
private DataRepositoryConfiguration _dataRepositoryConfiguration;
4242
private LustreDeploymentType _deploymentType;
4343
private DriveCacheType _driveCacheType;
44+
private bool? _efaEnabled;
4445
private LustreLogConfiguration _logConfiguration;
4546
private FileSystemLustreMetadataConfiguration _metadataConfiguration;
4647
private string _mountName;
@@ -215,6 +216,25 @@ internal bool IsSetDriveCacheType()
215216
return this._driveCacheType != null;
216217
}
217218

219+
/// <summary>
220+
/// Gets and sets the property EfaEnabled.
221+
/// <para>
222+
/// Specifies whether Elastic Fabric Adapter (EFA) and GPUDirect Storage (GDS) support
223+
/// is enabled for the Amazon FSx for Lustre file system.
224+
/// </para>
225+
/// </summary>
226+
public bool EfaEnabled
227+
{
228+
get { return this._efaEnabled.GetValueOrDefault(); }
229+
set { this._efaEnabled = value; }
230+
}
231+
232+
// Check to see if EfaEnabled property is set
233+
internal bool IsSetEfaEnabled()
234+
{
235+
return this._efaEnabled.HasValue;
236+
}
237+
218238
/// <summary>
219239
/// Gets and sets the property LogConfiguration.
220240
/// <para>

0 commit comments

Comments
 (0)