createLocationFsxWindows method
Creates a transfer location for an Amazon FSx for Windows File Server file system. DataSync can use this location as a source or destination for transferring data.
Before you begin, make sure that you understand how DataSync accesses FSx for Windows File Server file systems.
May throw InternalException.
May throw InvalidRequestException.
Parameter fsxFilesystemArn :
Specifies the Amazon Resource Name (ARN) for the FSx for Windows File
Server file system.
Parameter securityGroupArns :
Specifies the ARNs of the Amazon EC2 security groups that provide access
to your file system's preferred subnet.
The security groups that you specify must be able to communicate with your file system's security groups. For information about configuring security groups for file system access, see the Amazon FSx for Windows File Server User Guide .
- Configure the security group to allow it to communicate within itself.
- Choose a different security group that can communicate with the mount target's security group.
Parameter user :
Specifies the user with the permissions to mount and access the files,
folders, and file metadata in your FSx for Windows File Server file
system.
For information about choosing a user with the right level of access for your transfer, see required permissions for FSx for Windows File Server locations.
Parameter cmkSecretConfig :
Specifies configuration information for a DataSync-managed secret, which
includes the password that DataSync uses to access a specific FSx Windows
storage location, with a customer-managed KMS key.
When you include this parameter as part of a
CreateLocationFsxWindows request, you provide only the KMS
key ARN. DataSync uses this KMS key together with the
Password you specify for to create a DataSync-managed secret
to store the location access credentials.
Make sure that DataSync has permission to access the KMS key that you specify. For more information, see Using a service-managed secret encrypted with a custom KMS key.
Parameter customSecretConfig :
Specifies configuration information for a customer-managed Secrets Manager
secret where the password for an FSx for Windows File Server storage
location is stored in plain text, in Secrets Manager. This configuration
includes the secret ARN, and the ARN for an IAM role that provides access
to the secret. For more information, see
Using a secret that you manage.
Parameter domain :
Specifies the name of the Windows domain that the FSx for Windows File
Server file system belongs to.
If you have multiple Active Directory domains in your environment, configuring this parameter makes sure that DataSync connects to the right file system.
Parameter password :
Specifies the password of the user with the permissions to mount and
access the files, folders, and file metadata in your FSx for Windows File
Server file system.
Parameter subdirectory :
Specifies a mount path for your file system using forward slashes. This is
where DataSync reads or writes data (depending on if this is a source or
destination location).
Parameter tags :
Specifies labels that help you categorize, filter, and search for your
Amazon Web Services resources. We recommend creating at least a name tag
for your location.
Implementation
Future<CreateLocationFsxWindowsResponse> createLocationFsxWindows({
required String fsxFilesystemArn,
required List<String> securityGroupArns,
required String user,
CmkSecretConfig? cmkSecretConfig,
CustomSecretConfig? customSecretConfig,
String? domain,
String? password,
String? subdirectory,
List<TagListEntry>? tags,
}) async {
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'FmrsService.CreateLocationFsxWindows'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'FsxFilesystemArn': fsxFilesystemArn,
'SecurityGroupArns': securityGroupArns,
'User': user,
if (cmkSecretConfig != null) 'CmkSecretConfig': cmkSecretConfig,
if (customSecretConfig != null)
'CustomSecretConfig': customSecretConfig,
if (domain != null) 'Domain': domain,
if (password != null) 'Password': password,
if (subdirectory != null) 'Subdirectory': subdirectory,
if (tags != null) 'Tags': tags,
},
);
return CreateLocationFsxWindowsResponse.fromJson(jsonResponse.body);
}