/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes the properties of the access that was specified.See
* Also:
AWS
* API Reference
The landing directory (folder) for a user when they log in to the server * using the client.
A HomeDirectory
example is
* /bucket_name/home/mydirectory
.
The landing directory (folder) for a user when they log in to the server * using the client.
A HomeDirectory
example is
* /bucket_name/home/mydirectory
.
The landing directory (folder) for a user when they log in to the server * using the client.
A HomeDirectory
example is
* /bucket_name/home/mydirectory
.
The landing directory (folder) for a user when they log in to the server * using the client.
A HomeDirectory
example is
* /bucket_name/home/mydirectory
.
The landing directory (folder) for a user when they log in to the server * using the client.
A HomeDirectory
example is
* /bucket_name/home/mydirectory
.
The landing directory (folder) for a user when they log in to the server * using the client.
A HomeDirectory
example is
* /bucket_name/home/mydirectory
.
The landing directory (folder) for a user when they log in to the server * using the client.
A HomeDirectory
example is
* /bucket_name/home/mydirectory
.
The landing directory (folder) for a user when they log in to the server * using the client.
A HomeDirectory
example is
* /bucket_name/home/mydirectory
.
Logical directory mappings that specify what Amazon S3 or Amazon EFS paths
* and keys should be visible to your user and how you want to make them visible.
* You must specify the Entry
and Target
pair, where
* Entry
shows how the path is made visible and Target
is
* the actual Amazon S3 or Amazon EFS path. If you only specify a target, it is
* displayed as is. You also must ensure that your Identity and Access Management
* (IAM) role provides access to paths in Target
. This value can be
* set only when HomeDirectoryType
is set to LOGICAL.
In
* most cases, you can use this value instead of the session policy to lock down
* the associated access to the designated home directory ("chroot
").
* To do this, you can set Entry
to '/' and set Target
to
* the HomeDirectory
parameter value.
Logical directory mappings that specify what Amazon S3 or Amazon EFS paths
* and keys should be visible to your user and how you want to make them visible.
* You must specify the Entry
and Target
pair, where
* Entry
shows how the path is made visible and Target
is
* the actual Amazon S3 or Amazon EFS path. If you only specify a target, it is
* displayed as is. You also must ensure that your Identity and Access Management
* (IAM) role provides access to paths in Target
. This value can be
* set only when HomeDirectoryType
is set to LOGICAL.
In
* most cases, you can use this value instead of the session policy to lock down
* the associated access to the designated home directory ("chroot
").
* To do this, you can set Entry
to '/' and set Target
to
* the HomeDirectory
parameter value.
Logical directory mappings that specify what Amazon S3 or Amazon EFS paths
* and keys should be visible to your user and how you want to make them visible.
* You must specify the Entry
and Target
pair, where
* Entry
shows how the path is made visible and Target
is
* the actual Amazon S3 or Amazon EFS path. If you only specify a target, it is
* displayed as is. You also must ensure that your Identity and Access Management
* (IAM) role provides access to paths in Target
. This value can be
* set only when HomeDirectoryType
is set to LOGICAL.
In
* most cases, you can use this value instead of the session policy to lock down
* the associated access to the designated home directory ("chroot
").
* To do this, you can set Entry
to '/' and set Target
to
* the HomeDirectory
parameter value.
Logical directory mappings that specify what Amazon S3 or Amazon EFS paths
* and keys should be visible to your user and how you want to make them visible.
* You must specify the Entry
and Target
pair, where
* Entry
shows how the path is made visible and Target
is
* the actual Amazon S3 or Amazon EFS path. If you only specify a target, it is
* displayed as is. You also must ensure that your Identity and Access Management
* (IAM) role provides access to paths in Target
. This value can be
* set only when HomeDirectoryType
is set to LOGICAL.
In
* most cases, you can use this value instead of the session policy to lock down
* the associated access to the designated home directory ("chroot
").
* To do this, you can set Entry
to '/' and set Target
to
* the HomeDirectory
parameter value.
Logical directory mappings that specify what Amazon S3 or Amazon EFS paths
* and keys should be visible to your user and how you want to make them visible.
* You must specify the Entry
and Target
pair, where
* Entry
shows how the path is made visible and Target
is
* the actual Amazon S3 or Amazon EFS path. If you only specify a target, it is
* displayed as is. You also must ensure that your Identity and Access Management
* (IAM) role provides access to paths in Target
. This value can be
* set only when HomeDirectoryType
is set to LOGICAL.
In
* most cases, you can use this value instead of the session policy to lock down
* the associated access to the designated home directory ("chroot
").
* To do this, you can set Entry
to '/' and set Target
to
* the HomeDirectory
parameter value.
Logical directory mappings that specify what Amazon S3 or Amazon EFS paths
* and keys should be visible to your user and how you want to make them visible.
* You must specify the Entry
and Target
pair, where
* Entry
shows how the path is made visible and Target
is
* the actual Amazon S3 or Amazon EFS path. If you only specify a target, it is
* displayed as is. You also must ensure that your Identity and Access Management
* (IAM) role provides access to paths in Target
. This value can be
* set only when HomeDirectoryType
is set to LOGICAL.
In
* most cases, you can use this value instead of the session policy to lock down
* the associated access to the designated home directory ("chroot
").
* To do this, you can set Entry
to '/' and set Target
to
* the HomeDirectory
parameter value.
Logical directory mappings that specify what Amazon S3 or Amazon EFS paths
* and keys should be visible to your user and how you want to make them visible.
* You must specify the Entry
and Target
pair, where
* Entry
shows how the path is made visible and Target
is
* the actual Amazon S3 or Amazon EFS path. If you only specify a target, it is
* displayed as is. You also must ensure that your Identity and Access Management
* (IAM) role provides access to paths in Target
. This value can be
* set only when HomeDirectoryType
is set to LOGICAL.
In
* most cases, you can use this value instead of the session policy to lock down
* the associated access to the designated home directory ("chroot
").
* To do this, you can set Entry
to '/' and set Target
to
* the HomeDirectory
parameter value.
Logical directory mappings that specify what Amazon S3 or Amazon EFS paths
* and keys should be visible to your user and how you want to make them visible.
* You must specify the Entry
and Target
pair, where
* Entry
shows how the path is made visible and Target
is
* the actual Amazon S3 or Amazon EFS path. If you only specify a target, it is
* displayed as is. You also must ensure that your Identity and Access Management
* (IAM) role provides access to paths in Target
. This value can be
* set only when HomeDirectoryType
is set to LOGICAL.
In
* most cases, you can use this value instead of the session policy to lock down
* the associated access to the designated home directory ("chroot
").
* To do this, you can set Entry
to '/' and set Target
to
* the HomeDirectory
parameter value.
The type of landing directory (folder) that you want your users' home
* directory to be when they log in to the server. If you set it to
* PATH
, the user will see the absolute Amazon S3 bucket or EFS paths
* as is in their file transfer protocol clients. If you set it
* LOGICAL
, you need to provide mappings in the
* HomeDirectoryMappings
for how you want to make Amazon S3 or Amazon
* EFS paths visible to your users.
The type of landing directory (folder) that you want your users' home
* directory to be when they log in to the server. If you set it to
* PATH
, the user will see the absolute Amazon S3 bucket or EFS paths
* as is in their file transfer protocol clients. If you set it
* LOGICAL
, you need to provide mappings in the
* HomeDirectoryMappings
for how you want to make Amazon S3 or Amazon
* EFS paths visible to your users.
The type of landing directory (folder) that you want your users' home
* directory to be when they log in to the server. If you set it to
* PATH
, the user will see the absolute Amazon S3 bucket or EFS paths
* as is in their file transfer protocol clients. If you set it
* LOGICAL
, you need to provide mappings in the
* HomeDirectoryMappings
for how you want to make Amazon S3 or Amazon
* EFS paths visible to your users.
The type of landing directory (folder) that you want your users' home
* directory to be when they log in to the server. If you set it to
* PATH
, the user will see the absolute Amazon S3 bucket or EFS paths
* as is in their file transfer protocol clients. If you set it
* LOGICAL
, you need to provide mappings in the
* HomeDirectoryMappings
for how you want to make Amazon S3 or Amazon
* EFS paths visible to your users.
The type of landing directory (folder) that you want your users' home
* directory to be when they log in to the server. If you set it to
* PATH
, the user will see the absolute Amazon S3 bucket or EFS paths
* as is in their file transfer protocol clients. If you set it
* LOGICAL
, you need to provide mappings in the
* HomeDirectoryMappings
for how you want to make Amazon S3 or Amazon
* EFS paths visible to your users.
The type of landing directory (folder) that you want your users' home
* directory to be when they log in to the server. If you set it to
* PATH
, the user will see the absolute Amazon S3 bucket or EFS paths
* as is in their file transfer protocol clients. If you set it
* LOGICAL
, you need to provide mappings in the
* HomeDirectoryMappings
for how you want to make Amazon S3 or Amazon
* EFS paths visible to your users.
A session policy for your user so that you can use the same Identity and
* Access Management (IAM) role across multiple users. This policy scopes down a
* user's access to portions of their Amazon S3 bucket. Variables that you can use
* inside this policy include ${Transfer:UserName}
,
* ${Transfer:HomeDirectory}
, and
* ${Transfer:HomeBucket}
.
A session policy for your user so that you can use the same Identity and
* Access Management (IAM) role across multiple users. This policy scopes down a
* user's access to portions of their Amazon S3 bucket. Variables that you can use
* inside this policy include ${Transfer:UserName}
,
* ${Transfer:HomeDirectory}
, and
* ${Transfer:HomeBucket}
.
A session policy for your user so that you can use the same Identity and
* Access Management (IAM) role across multiple users. This policy scopes down a
* user's access to portions of their Amazon S3 bucket. Variables that you can use
* inside this policy include ${Transfer:UserName}
,
* ${Transfer:HomeDirectory}
, and
* ${Transfer:HomeBucket}
.
A session policy for your user so that you can use the same Identity and
* Access Management (IAM) role across multiple users. This policy scopes down a
* user's access to portions of their Amazon S3 bucket. Variables that you can use
* inside this policy include ${Transfer:UserName}
,
* ${Transfer:HomeDirectory}
, and
* ${Transfer:HomeBucket}
.
A session policy for your user so that you can use the same Identity and
* Access Management (IAM) role across multiple users. This policy scopes down a
* user's access to portions of their Amazon S3 bucket. Variables that you can use
* inside this policy include ${Transfer:UserName}
,
* ${Transfer:HomeDirectory}
, and
* ${Transfer:HomeBucket}
.
A session policy for your user so that you can use the same Identity and
* Access Management (IAM) role across multiple users. This policy scopes down a
* user's access to portions of their Amazon S3 bucket. Variables that you can use
* inside this policy include ${Transfer:UserName}
,
* ${Transfer:HomeDirectory}
, and
* ${Transfer:HomeBucket}
.
A session policy for your user so that you can use the same Identity and
* Access Management (IAM) role across multiple users. This policy scopes down a
* user's access to portions of their Amazon S3 bucket. Variables that you can use
* inside this policy include ${Transfer:UserName}
,
* ${Transfer:HomeDirectory}
, and
* ${Transfer:HomeBucket}
.
A session policy for your user so that you can use the same Identity and
* Access Management (IAM) role across multiple users. This policy scopes down a
* user's access to portions of their Amazon S3 bucket. Variables that you can use
* inside this policy include ${Transfer:UserName}
,
* ${Transfer:HomeDirectory}
, and
* ${Transfer:HomeBucket}
.
The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * role that controls your users' access to your Amazon S3 bucket or Amazon EFS * file system. The policies attached to this role determine the level of access * that you want to provide your users when transferring files into and out of your * Amazon S3 bucket or Amazon EFS file system. The IAM role should also contain a * trust relationship that allows the server to access your resources when * servicing your users' transfer requests.
*/ inline const Aws::String& GetRole() const{ return m_role; } /** *The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * role that controls your users' access to your Amazon S3 bucket or Amazon EFS * file system. The policies attached to this role determine the level of access * that you want to provide your users when transferring files into and out of your * Amazon S3 bucket or Amazon EFS file system. The IAM role should also contain a * trust relationship that allows the server to access your resources when * servicing your users' transfer requests.
*/ inline bool RoleHasBeenSet() const { return m_roleHasBeenSet; } /** *The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * role that controls your users' access to your Amazon S3 bucket or Amazon EFS * file system. The policies attached to this role determine the level of access * that you want to provide your users when transferring files into and out of your * Amazon S3 bucket or Amazon EFS file system. The IAM role should also contain a * trust relationship that allows the server to access your resources when * servicing your users' transfer requests.
*/ inline void SetRole(const Aws::String& value) { m_roleHasBeenSet = true; m_role = value; } /** *The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * role that controls your users' access to your Amazon S3 bucket or Amazon EFS * file system. The policies attached to this role determine the level of access * that you want to provide your users when transferring files into and out of your * Amazon S3 bucket or Amazon EFS file system. The IAM role should also contain a * trust relationship that allows the server to access your resources when * servicing your users' transfer requests.
*/ inline void SetRole(Aws::String&& value) { m_roleHasBeenSet = true; m_role = std::move(value); } /** *The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * role that controls your users' access to your Amazon S3 bucket or Amazon EFS * file system. The policies attached to this role determine the level of access * that you want to provide your users when transferring files into and out of your * Amazon S3 bucket or Amazon EFS file system. The IAM role should also contain a * trust relationship that allows the server to access your resources when * servicing your users' transfer requests.
*/ inline void SetRole(const char* value) { m_roleHasBeenSet = true; m_role.assign(value); } /** *The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * role that controls your users' access to your Amazon S3 bucket or Amazon EFS * file system. The policies attached to this role determine the level of access * that you want to provide your users when transferring files into and out of your * Amazon S3 bucket or Amazon EFS file system. The IAM role should also contain a * trust relationship that allows the server to access your resources when * servicing your users' transfer requests.
*/ inline DescribedAccess& WithRole(const Aws::String& value) { SetRole(value); return *this;} /** *The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * role that controls your users' access to your Amazon S3 bucket or Amazon EFS * file system. The policies attached to this role determine the level of access * that you want to provide your users when transferring files into and out of your * Amazon S3 bucket or Amazon EFS file system. The IAM role should also contain a * trust relationship that allows the server to access your resources when * servicing your users' transfer requests.
*/ inline DescribedAccess& WithRole(Aws::String&& value) { SetRole(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * role that controls your users' access to your Amazon S3 bucket or Amazon EFS * file system. The policies attached to this role determine the level of access * that you want to provide your users when transferring files into and out of your * Amazon S3 bucket or Amazon EFS file system. The IAM role should also contain a * trust relationship that allows the server to access your resources when * servicing your users' transfer requests.
*/ inline DescribedAccess& WithRole(const char* value) { SetRole(value); return *this;} /** *A unique identifier that is required to identify specific groups within your * directory. The users of the group that you associate have access to your Amazon * S3 or Amazon EFS resources over the enabled protocols using Transfer Family. If * you know the group name, you can view the SID values by running the following * command using Windows PowerShell.
Get-ADGroup -Filter
* {samAccountName -like "YourGroupName*"} -Properties * | Select
* SamAccountName,ObjectSid
In that command, replace * YourGroupName with the name of your Active Directory group.
The * regular expression used to validate this parameter is a string of characters * consisting of uppercase and lowercase alphanumeric characters with no spaces. * You can also include underscores or any of the following characters: =,.@:/-
*/ inline const Aws::String& GetExternalId() const{ return m_externalId; } /** *A unique identifier that is required to identify specific groups within your * directory. The users of the group that you associate have access to your Amazon * S3 or Amazon EFS resources over the enabled protocols using Transfer Family. If * you know the group name, you can view the SID values by running the following * command using Windows PowerShell.
Get-ADGroup -Filter
* {samAccountName -like "YourGroupName*"} -Properties * | Select
* SamAccountName,ObjectSid
In that command, replace * YourGroupName with the name of your Active Directory group.
The * regular expression used to validate this parameter is a string of characters * consisting of uppercase and lowercase alphanumeric characters with no spaces. * You can also include underscores or any of the following characters: =,.@:/-
*/ inline bool ExternalIdHasBeenSet() const { return m_externalIdHasBeenSet; } /** *A unique identifier that is required to identify specific groups within your * directory. The users of the group that you associate have access to your Amazon * S3 or Amazon EFS resources over the enabled protocols using Transfer Family. If * you know the group name, you can view the SID values by running the following * command using Windows PowerShell.
Get-ADGroup -Filter
* {samAccountName -like "YourGroupName*"} -Properties * | Select
* SamAccountName,ObjectSid
In that command, replace * YourGroupName with the name of your Active Directory group.
The * regular expression used to validate this parameter is a string of characters * consisting of uppercase and lowercase alphanumeric characters with no spaces. * You can also include underscores or any of the following characters: =,.@:/-
*/ inline void SetExternalId(const Aws::String& value) { m_externalIdHasBeenSet = true; m_externalId = value; } /** *A unique identifier that is required to identify specific groups within your * directory. The users of the group that you associate have access to your Amazon * S3 or Amazon EFS resources over the enabled protocols using Transfer Family. If * you know the group name, you can view the SID values by running the following * command using Windows PowerShell.
Get-ADGroup -Filter
* {samAccountName -like "YourGroupName*"} -Properties * | Select
* SamAccountName,ObjectSid
In that command, replace * YourGroupName with the name of your Active Directory group.
The * regular expression used to validate this parameter is a string of characters * consisting of uppercase and lowercase alphanumeric characters with no spaces. * You can also include underscores or any of the following characters: =,.@:/-
*/ inline void SetExternalId(Aws::String&& value) { m_externalIdHasBeenSet = true; m_externalId = std::move(value); } /** *A unique identifier that is required to identify specific groups within your * directory. The users of the group that you associate have access to your Amazon * S3 or Amazon EFS resources over the enabled protocols using Transfer Family. If * you know the group name, you can view the SID values by running the following * command using Windows PowerShell.
Get-ADGroup -Filter
* {samAccountName -like "YourGroupName*"} -Properties * | Select
* SamAccountName,ObjectSid
In that command, replace * YourGroupName with the name of your Active Directory group.
The * regular expression used to validate this parameter is a string of characters * consisting of uppercase and lowercase alphanumeric characters with no spaces. * You can also include underscores or any of the following characters: =,.@:/-
*/ inline void SetExternalId(const char* value) { m_externalIdHasBeenSet = true; m_externalId.assign(value); } /** *A unique identifier that is required to identify specific groups within your * directory. The users of the group that you associate have access to your Amazon * S3 or Amazon EFS resources over the enabled protocols using Transfer Family. If * you know the group name, you can view the SID values by running the following * command using Windows PowerShell.
Get-ADGroup -Filter
* {samAccountName -like "YourGroupName*"} -Properties * | Select
* SamAccountName,ObjectSid
In that command, replace * YourGroupName with the name of your Active Directory group.
The * regular expression used to validate this parameter is a string of characters * consisting of uppercase and lowercase alphanumeric characters with no spaces. * You can also include underscores or any of the following characters: =,.@:/-
*/ inline DescribedAccess& WithExternalId(const Aws::String& value) { SetExternalId(value); return *this;} /** *A unique identifier that is required to identify specific groups within your * directory. The users of the group that you associate have access to your Amazon * S3 or Amazon EFS resources over the enabled protocols using Transfer Family. If * you know the group name, you can view the SID values by running the following * command using Windows PowerShell.
Get-ADGroup -Filter
* {samAccountName -like "YourGroupName*"} -Properties * | Select
* SamAccountName,ObjectSid
In that command, replace * YourGroupName with the name of your Active Directory group.
The * regular expression used to validate this parameter is a string of characters * consisting of uppercase and lowercase alphanumeric characters with no spaces. * You can also include underscores or any of the following characters: =,.@:/-
*/ inline DescribedAccess& WithExternalId(Aws::String&& value) { SetExternalId(std::move(value)); return *this;} /** *A unique identifier that is required to identify specific groups within your * directory. The users of the group that you associate have access to your Amazon * S3 or Amazon EFS resources over the enabled protocols using Transfer Family. If * you know the group name, you can view the SID values by running the following * command using Windows PowerShell.
Get-ADGroup -Filter
* {samAccountName -like "YourGroupName*"} -Properties * | Select
* SamAccountName,ObjectSid
In that command, replace * YourGroupName with the name of your Active Directory group.
The * regular expression used to validate this parameter is a string of characters * consisting of uppercase and lowercase alphanumeric characters with no spaces. * You can also include underscores or any of the following characters: =,.@:/-
*/ inline DescribedAccess& WithExternalId(const char* value) { SetExternalId(value); return *this;} private: Aws::String m_homeDirectory; bool m_homeDirectoryHasBeenSet = false; Aws::Vector