#[non_exhaustive]pub struct DescribedUser {
pub arn: String,
pub home_directory: Option<String>,
pub home_directory_mappings: Option<Vec<HomeDirectoryMapEntry>>,
pub home_directory_type: Option<HomeDirectoryType>,
pub policy: Option<String>,
pub posix_profile: Option<PosixProfile>,
pub role: Option<String>,
pub ssh_public_keys: Option<Vec<SshPublicKey>>,
pub tags: Option<Vec<Tag>>,
pub user_name: Option<String>,
}
Expand description
Describes the properties of a user that was specified.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.arn: String
Specifies the unique Amazon Resource Name (ARN) for the user that was requested to be described.
home_directory: Option<String>
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 HomeDirectory
parameter is only used if HomeDirectoryType
is set to PATH
.
home_directory_mappings: Option<Vec<HomeDirectoryMapEntry>>
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.
home_directory_type: Option<HomeDirectoryType>
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 Amazon EFS path as is in their file transfer protocol clients. If you set it to 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.
If HomeDirectoryType
is LOGICAL
, you must provide mappings, using the HomeDirectoryMappings
parameter. If, on the other hand, HomeDirectoryType
is PATH
, you provide an absolute path using the HomeDirectory
parameter. You cannot have both HomeDirectory
and HomeDirectoryMappings
in your template.
policy: Option<String>
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}
.
posix_profile: Option<PosixProfile>
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.
role: Option<String>
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.
ssh_public_keys: Option<Vec<SshPublicKey>>
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.
user_name: Option<String>
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.
Implementations§
Source§impl DescribedUser
impl DescribedUser
Sourcepub fn arn(&self) -> &str
pub fn arn(&self) -> &str
Specifies the unique Amazon Resource Name (ARN) for the user that was requested to be described.
Sourcepub fn home_directory(&self) -> Option<&str>
pub fn home_directory(&self) -> Option<&str>
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 HomeDirectory
parameter is only used if HomeDirectoryType
is set to PATH
.
Sourcepub fn home_directory_mappings(&self) -> &[HomeDirectoryMapEntry]
pub fn home_directory_mappings(&self) -> &[HomeDirectoryMapEntry]
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.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .home_directory_mappings.is_none()
.
Sourcepub fn home_directory_type(&self) -> Option<&HomeDirectoryType>
pub fn home_directory_type(&self) -> Option<&HomeDirectoryType>
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 Amazon EFS path as is in their file transfer protocol clients. If you set it to 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.
If HomeDirectoryType
is LOGICAL
, you must provide mappings, using the HomeDirectoryMappings
parameter. If, on the other hand, HomeDirectoryType
is PATH
, you provide an absolute path using the HomeDirectory
parameter. You cannot have both HomeDirectory
and HomeDirectoryMappings
in your template.
Sourcepub fn policy(&self) -> Option<&str>
pub fn policy(&self) -> Option<&str>
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}
.
Sourcepub fn posix_profile(&self) -> Option<&PosixProfile>
pub fn posix_profile(&self) -> Option<&PosixProfile>
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.
Sourcepub fn role(&self) -> Option<&str>
pub fn role(&self) -> Option<&str>
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.
Sourcepub fn ssh_public_keys(&self) -> &[SshPublicKey]
pub fn ssh_public_keys(&self) -> &[SshPublicKey]
Specifies the public key portion of the Secure Shell (SSH) keys stored for the described user.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .ssh_public_keys.is_none()
.
Specifies the key-value pairs for the user requested. Tag can be used to search for and group users for a variety of purposes.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .tags.is_none()
.
Source§impl DescribedUser
impl DescribedUser
Sourcepub fn builder() -> DescribedUserBuilder
pub fn builder() -> DescribedUserBuilder
Creates a new builder-style object to manufacture DescribedUser
.
Trait Implementations§
Source§impl Clone for DescribedUser
impl Clone for DescribedUser
Source§fn clone(&self) -> DescribedUser
fn clone(&self) -> DescribedUser
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for DescribedUser
impl Debug for DescribedUser
Source§impl PartialEq for DescribedUser
impl PartialEq for DescribedUser
impl StructuralPartialEq for DescribedUser
Auto Trait Implementations§
impl Freeze for DescribedUser
impl RefUnwindSafe for DescribedUser
impl Send for DescribedUser
impl Sync for DescribedUser
impl Unpin for DescribedUser
impl UnwindSafe for DescribedUser
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the foreground set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red()
and
green()
, which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg()
:
use yansi::{Paint, Color};
painted.fg(Color::White);
Set foreground color to white using white()
.
use yansi::Paint;
painted.white();
Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Returns self
with the
fg()
set to
Color::BrightBlack
.
§Example
println!("{}", value.bright_black());
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Returns self
with the
fg()
set to
Color::BrightGreen
.
§Example
println!("{}", value.bright_green());
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Returns self
with the
fg()
set to
Color::BrightYellow
.
§Example
println!("{}", value.bright_yellow());
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Returns self
with the
fg()
set to
Color::BrightMagenta
.
§Example
println!("{}", value.bright_magenta());
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Returns self
with the
fg()
set to
Color::BrightWhite
.
§Example
println!("{}", value.bright_white());
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the background set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red()
and
on_green()
, which have the same functionality but
are pithier.
§Example
Set background color to red using fg()
:
use yansi::{Paint, Color};
painted.bg(Color::Red);
Set background color to red using on_red()
.
use yansi::Paint;
painted.on_red();
Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightBlack
.
§Example
println!("{}", value.on_bright_black());
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightGreen
.
§Example
println!("{}", value.on_bright_green());
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightYellow
.
§Example
println!("{}", value.on_bright_yellow());
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightBlue
.
§Example
println!("{}", value.on_bright_blue());
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightMagenta
.
§Example
println!("{}", value.on_bright_magenta());
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightCyan
.
§Example
println!("{}", value.on_bright_cyan());
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightWhite
.
§Example
println!("{}", value.on_bright_white());
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute
value
.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold()
and
underline()
, which have the same functionality
but are pithier.
§Example
Make text bold using attr()
:
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);
Make text bold using using bold()
.
use yansi::Paint;
painted.bold();
Source§fn underline(&self) -> Painted<&T>
fn underline(&self) -> Painted<&T>
Returns self
with the
attr()
set to
Attribute::Underline
.
§Example
println!("{}", value.underline());
Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Returns self
with the
attr()
set to
Attribute::RapidBlink
.
§Example
println!("{}", value.rapid_blink());
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi
Quirk
value
.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask()
and
wrap()
, which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk()
:
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);
Enable wrapping using wrap()
.
use yansi::Paint;
painted.wrap();
Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition
value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted
only when both stdout
and stderr
are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);