/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.transfer.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* Describes the properties of a user that was specified. *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class DescribedUser implements Serializable, Cloneable, StructuredPojo { /** ** Specifies the unique Amazon Resource Name (ARN) for the user that was requested to be described. *
*/ private String arn; /** ** 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 your user down 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.
*
* 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}
.
*
* Specifies the full POSIX identity, including user ID (Uid
), group ID (Gid
), and any
* secondary groups IDs (SecondaryGids
), that controls your users' access to your Amazon Elastic File
* System (Amazon EFS) file systems. The POSIX permissions that are set on files and directories in your file system
* determine the level of access your users get when transferring files into and out of your Amazon EFS file
* systems.
*
* 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. *
*/ private String role; /** ** Specifies the public key portion of the Secure Shell (SSH) keys stored for the described user. *
*/ private java.util.List* Specifies the key-value pairs for the user requested. Tag can be used to search for and group users for a variety * of purposes. *
*/ private java.util.List* Specifies the name of the user that was requested to be described. User names are used for authentication * purposes. This is the string that will be used by your user when they log in to your server. *
*/ private String userName; /** ** Specifies the unique Amazon Resource Name (ARN) for the user that was requested to be described. *
* * @param arn * Specifies the unique Amazon Resource Name (ARN) for the user that was requested to be described. */ public void setArn(String arn) { this.arn = arn; } /** ** Specifies the unique Amazon Resource Name (ARN) for the user that was requested to be described. *
* * @return Specifies the unique Amazon Resource Name (ARN) for the user that was requested to be described. */ public String getArn() { return this.arn; } /** ** Specifies the unique Amazon Resource Name (ARN) for the user that was requested to be described. *
* * @param arn * Specifies the unique Amazon Resource Name (ARN) for the user that was requested to be described. * @return Returns a reference to this object so that method calls can be chained together. */ public DescribedUser withArn(String arn) { setArn(arn); return this; } /** ** 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
.
*
* A HomeDirectory
example is /bucket_name/home/mydirectory
.
*/
public void setHomeDirectory(String homeDirectory) {
this.homeDirectory = homeDirectory;
}
/**
*
* 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
.
*
* A HomeDirectory
example is /bucket_name/home/mydirectory
.
*/
public String getHomeDirectory() {
return this.homeDirectory;
}
/**
*
* 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
.
*
* A HomeDirectory
example is /bucket_name/home/mydirectory
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public DescribedUser withHomeDirectory(String homeDirectory) {
setHomeDirectory(homeDirectory);
return this;
}
/**
*
* 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 your user down to the designated home
* directory ("chroot
"). To do this, you can set Entry
to '/' and set Target
* to the HomeDirectory parameter value.
*
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 your user down to the
* designated home directory ("
* 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
* In most cases, you can use this value instead of the session policy to lock your user down to the designated home
* directory ("chroot
"). To do this, you can set Entry
to '/' and
* set Target
to the HomeDirectory parameter value.
*/
public java.util.ListEntry
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.
* chroot
"). To do this, you can set Entry
to '/' and set Target
* to the HomeDirectory parameter value.
* 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 your user down to the
* designated home directory ("
* 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
* In most cases, you can use this value instead of the session policy to lock your user down to the designated home
* directory ("
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setHomeDirectoryMappings(java.util.Collection)} or
* {@link #withHomeDirectoryMappings(java.util.Collection)} if you want to override the existing values.
* chroot
"). To do this, you can set Entry
to '/' and
* set Target
to the HomeDirectory parameter value.
*/
public void setHomeDirectoryMappings(java.util.CollectionEntry
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.
* chroot
"). To do this, you can set Entry
to '/' and set Target
* to the HomeDirectory parameter value.
* 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 your user down to the
* designated home directory ("
* 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
* In most cases, you can use this value instead of the session policy to lock your user down to the designated home
* directory ("chroot
"). To do this, you can set Entry
to '/' and
* set Target
to the HomeDirectory parameter value.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public DescribedUser withHomeDirectoryMappings(HomeDirectoryMapEntry... homeDirectoryMappings) {
if (this.homeDirectoryMappings == null) {
setHomeDirectoryMappings(new java.util.ArrayListEntry
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.
* chroot
"). To do this, you can set Entry
to '/' and set Target
* to the HomeDirectory parameter value.
* 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 your user down to the
* designated home directory ("
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* Specifies the full POSIX identity, including user ID (
* Specifies the full POSIX identity, including user ID (
* Specifies the full POSIX identity, including user ID (
* 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.
*
* 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.
*
* 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.
*
* Specifies the public key portion of the Secure Shell (SSH) keys stored for the described user.
*
* Specifies the public key portion of the Secure Shell (SSH) keys stored for the described user.
*
* Specifies the public key portion of the Secure Shell (SSH) keys stored for the described user.
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setSshPublicKeys(java.util.Collection)} or {@link #withSshPublicKeys(java.util.Collection)} if you want
* to override the existing values.
*
* Specifies the public key portion of the Secure Shell (SSH) keys stored for the described user.
*
* Specifies the key-value pairs for the user requested. Tag can be used to search for and group users for a variety
* of purposes.
*
* Specifies the key-value pairs for the user requested. Tag can be used to search for and group users for a variety
* of purposes.
*
* Specifies the key-value pairs for the user requested. Tag can be used to search for and group users for a variety
* of purposes.
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setTags(java.util.Collection)} or {@link #withTags(java.util.Collection)} if you want to override the
* existing values.
*
* Specifies the key-value pairs for the user requested. Tag can be used to search for and group users for a variety
* of purposes.
*
* Specifies the name of the user that was requested to be described. User names are used for authentication
* purposes. This is the string that will be used by your user when they log in to your server.
*
* Specifies the name of the user that was requested to be described. User names are used for authentication
* purposes. This is the string that will be used by your user when they log in to your server.
*
* Specifies the name of the user that was requested to be described. User names are used for authentication
* purposes. This is the string that will be used by your user when they log in to your server.
* chroot
"). To do this, you can set Entry
to '/' and
* set Target
to the HomeDirectory parameter value.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public DescribedUser withHomeDirectoryMappings(java.util.CollectionPATH
, 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.
* 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.
* @see HomeDirectoryType
*/
public void setHomeDirectoryType(String homeDirectoryType) {
this.homeDirectoryType = homeDirectoryType;
}
/**
* 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.
* 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.
* @see HomeDirectoryType
*/
public String getHomeDirectoryType() {
return this.homeDirectoryType;
}
/**
* 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.
* 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.
* @return Returns a reference to this object so that method calls can be chained together.
* @see HomeDirectoryType
*/
public DescribedUser withHomeDirectoryType(String homeDirectoryType) {
setHomeDirectoryType(homeDirectoryType);
return this;
}
/**
* 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.
* 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.
* @return Returns a reference to this object so that method calls can be chained together.
* @see HomeDirectoryType
*/
public DescribedUser withHomeDirectoryType(HomeDirectoryType homeDirectoryType) {
this.homeDirectoryType = homeDirectoryType.toString();
return this;
}
/**
* ${Transfer:UserName}
, ${Transfer:HomeDirectory}
, and
* ${Transfer:HomeBucket}
.
* ${Transfer:UserName}
,
* ${Transfer:HomeDirectory}
, and ${Transfer:HomeBucket}
.
*/
public void setPolicy(String policy) {
this.policy = policy;
}
/**
* ${Transfer:UserName}
, ${Transfer:HomeDirectory}
, and
* ${Transfer:HomeBucket}
.
* ${Transfer:UserName}
,
* ${Transfer:HomeDirectory}
, and ${Transfer:HomeBucket}
.
*/
public String getPolicy() {
return this.policy;
}
/**
* ${Transfer:UserName}
, ${Transfer:HomeDirectory}
, and
* ${Transfer:HomeBucket}
.
* ${Transfer:UserName}
,
* ${Transfer:HomeDirectory}
, and ${Transfer:HomeBucket}
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public DescribedUser withPolicy(String policy) {
setPolicy(policy);
return this;
}
/**
* Uid
), group ID (Gid
), and any
* secondary groups IDs (SecondaryGids
), that controls your users' access to your Amazon Elastic File
* System (Amazon EFS) file systems. The POSIX permissions that are set on files and directories in your file system
* determine the level of access your users get when transferring files into and out of your Amazon EFS file
* systems.
* Uid
), group ID (Gid
), and
* any secondary groups IDs (SecondaryGids
), that controls your users' access to your Amazon
* Elastic File System (Amazon EFS) file systems. The POSIX permissions that are set on files and directories
* in your file system determine the level of access your users get when transferring files into and out of
* your Amazon EFS file systems.
*/
public void setPosixProfile(PosixProfile posixProfile) {
this.posixProfile = posixProfile;
}
/**
* Uid
), group ID (Gid
), and any
* secondary groups IDs (SecondaryGids
), that controls your users' access to your Amazon Elastic File
* System (Amazon EFS) file systems. The POSIX permissions that are set on files and directories in your file system
* determine the level of access your users get when transferring files into and out of your Amazon EFS file
* systems.
* Uid
), group ID (Gid
), and
* any secondary groups IDs (SecondaryGids
), that controls your users' access to your Amazon
* Elastic File System (Amazon EFS) file systems. The POSIX permissions that are set on files and
* directories in your file system determine the level of access your users get when transferring files into
* and out of your Amazon EFS file systems.
*/
public PosixProfile getPosixProfile() {
return this.posixProfile;
}
/**
* Uid
), group ID (Gid
), and any
* secondary groups IDs (SecondaryGids
), that controls your users' access to your Amazon Elastic File
* System (Amazon EFS) file systems. The POSIX permissions that are set on files and directories in your file system
* determine the level of access your users get when transferring files into and out of your Amazon EFS file
* systems.
* Uid
), group ID (Gid
), and
* any secondary groups IDs (SecondaryGids
), that controls your users' access to your Amazon
* Elastic File System (Amazon EFS) file systems. The POSIX permissions that are set on files and directories
* in your file system determine the level of access your users get when transferring files into and out of
* your Amazon EFS file systems.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public DescribedUser withPosixProfile(PosixProfile posixProfile) {
setPosixProfile(posixProfile);
return this;
}
/**
*