#[non_exhaustive]pub struct EndpointDetails {
pub address_allocation_ids: Option<Vec<String>>,
pub subnet_ids: Option<Vec<String>>,
pub vpc_endpoint_id: Option<String>,
pub vpc_id: Option<String>,
pub security_group_ids: Option<Vec<String>>,
}
Expand description
The virtual private cloud (VPC) endpoint settings that are configured for your file transfer protocol-enabled server. With a VPC endpoint, you can restrict access to your server and resources only within your VPC. To control incoming internet traffic, invoke the UpdateServer
API and attach an Elastic IP address to your server's endpoint.
After May 19, 2021, you won't be able to create a server using EndpointType=VPC_ENDPOINT
in your Amazon Web Services account if your account hasn't already done so before May 19, 2021. If you have already created servers with EndpointType=VPC_ENDPOINT
in your Amazon Web Services account on or before May 19, 2021, you will not be affected. After this date, use EndpointType
=VPC
.
For more information, see https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint.
It is recommended that you use VPC
as the EndpointType
. With this endpoint type, you have the option to directly associate up to three Elastic IPv4 addresses (BYO IP included) with your server's endpoint and use VPC security groups to restrict traffic by the client's public IP address. This is not possible with EndpointType
set to VPC_ENDPOINT
.
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.address_allocation_ids: Option<Vec<String>>
A list of address allocation IDs that are required to attach an Elastic IP address to your server's endpoint.
An address allocation ID corresponds to the allocation ID of an Elastic IP address. This value can be retrieved from the allocationId
field from the Amazon EC2 Address data type. One way to retrieve this value is by calling the EC2 DescribeAddresses API.
This parameter is optional. Set this parameter if you want to make your VPC endpoint public-facing. For details, see Create an internet-facing endpoint for your server.
This property can only be set as follows:
-
EndpointType
must be set toVPC
-
The Transfer Family server must be offline.
-
You cannot set this parameter for Transfer Family servers that use the FTP protocol.
-
The server must already have
SubnetIds
populated (SubnetIds
andAddressAllocationIds
cannot be updated simultaneously). -
AddressAllocationIds
can't contain duplicates, and must be equal in length toSubnetIds
. For example, if you have three subnet IDs, you must also specify three address allocation IDs. -
Call the
UpdateServer
API to set or change this parameter.
subnet_ids: Option<Vec<String>>
A list of subnet IDs that are required to host your server endpoint in your VPC.
This property can only be set when EndpointType
is set to VPC
.
vpc_endpoint_id: Option<String>
The identifier of the VPC endpoint.
This property can only be set when EndpointType
is set to VPC_ENDPOINT
.
For more information, see https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint.
vpc_id: Option<String>
The VPC identifier of the VPC in which a server's endpoint will be hosted.
This property can only be set when EndpointType
is set to VPC
.
security_group_ids: Option<Vec<String>>
A list of security groups IDs that are available to attach to your server's endpoint.
This property can only be set when EndpointType
is set to VPC
.
You can edit the SecurityGroupIds
property in the UpdateServer API only if you are changing the EndpointType
from PUBLIC
or VPC_ENDPOINT
to VPC
. To change security groups associated with your server's VPC endpoint after creation, use the Amazon EC2 ModifyVpcEndpoint API.
Implementations§
Source§impl EndpointDetails
impl EndpointDetails
Sourcepub fn address_allocation_ids(&self) -> &[String]
pub fn address_allocation_ids(&self) -> &[String]
A list of address allocation IDs that are required to attach an Elastic IP address to your server's endpoint.
An address allocation ID corresponds to the allocation ID of an Elastic IP address. This value can be retrieved from the allocationId
field from the Amazon EC2 Address data type. One way to retrieve this value is by calling the EC2 DescribeAddresses API.
This parameter is optional. Set this parameter if you want to make your VPC endpoint public-facing. For details, see Create an internet-facing endpoint for your server.
This property can only be set as follows:
-
EndpointType
must be set toVPC
-
The Transfer Family server must be offline.
-
You cannot set this parameter for Transfer Family servers that use the FTP protocol.
-
The server must already have
SubnetIds
populated (SubnetIds
andAddressAllocationIds
cannot be updated simultaneously). -
AddressAllocationIds
can't contain duplicates, and must be equal in length toSubnetIds
. For example, if you have three subnet IDs, you must also specify three address allocation IDs. -
Call the
UpdateServer
API to set or change this parameter.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .address_allocation_ids.is_none()
.
Sourcepub fn subnet_ids(&self) -> &[String]
pub fn subnet_ids(&self) -> &[String]
A list of subnet IDs that are required to host your server endpoint in your VPC.
This property can only be set when EndpointType
is set to VPC
.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .subnet_ids.is_none()
.
Sourcepub fn vpc_endpoint_id(&self) -> Option<&str>
pub fn vpc_endpoint_id(&self) -> Option<&str>
The identifier of the VPC endpoint.
This property can only be set when EndpointType
is set to VPC_ENDPOINT
.
For more information, see https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint.
Sourcepub fn vpc_id(&self) -> Option<&str>
pub fn vpc_id(&self) -> Option<&str>
The VPC identifier of the VPC in which a server's endpoint will be hosted.
This property can only be set when EndpointType
is set to VPC
.
Sourcepub fn security_group_ids(&self) -> &[String]
pub fn security_group_ids(&self) -> &[String]
A list of security groups IDs that are available to attach to your server's endpoint.
This property can only be set when EndpointType
is set to VPC
.
You can edit the SecurityGroupIds
property in the UpdateServer API only if you are changing the EndpointType
from PUBLIC
or VPC_ENDPOINT
to VPC
. To change security groups associated with your server's VPC endpoint after creation, use the Amazon EC2 ModifyVpcEndpoint API.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .security_group_ids.is_none()
.
Source§impl EndpointDetails
impl EndpointDetails
Sourcepub fn builder() -> EndpointDetailsBuilder
pub fn builder() -> EndpointDetailsBuilder
Creates a new builder-style object to manufacture EndpointDetails
.
Trait Implementations§
Source§impl Clone for EndpointDetails
impl Clone for EndpointDetails
Source§fn clone(&self) -> EndpointDetails
fn clone(&self) -> EndpointDetails
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for EndpointDetails
impl Debug for EndpointDetails
Source§impl PartialEq for EndpointDetails
impl PartialEq for EndpointDetails
impl StructuralPartialEq for EndpointDetails
Auto Trait Implementations§
impl Freeze for EndpointDetails
impl RefUnwindSafe for EndpointDetails
impl Send for EndpointDetails
impl Sync for EndpointDetails
impl Unpin for EndpointDetails
impl UnwindSafe for EndpointDetails
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);