Struct aws_sdk_transfer::types::EndpointDetails

source ·
#[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 Servicesaccount 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 Servicesaccount 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.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional 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 to VPC

  • 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 and AddressAllocationIds cannot be updated simultaneously).

  • AddressAllocationIds can't contain duplicates, and must be equal in length to SubnetIds. 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

source

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 to VPC

  • 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 and AddressAllocationIds cannot be updated simultaneously).

  • AddressAllocationIds can't contain duplicates, and must be equal in length to SubnetIds. 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().

source

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().

source

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.

source

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.

source

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

source

pub fn builder() -> EndpointDetailsBuilder

Creates a new builder-style object to manufacture EndpointDetails.

Trait Implementations§

source§

impl Clone for EndpointDetails

source§

fn clone(&self) -> EndpointDetails

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for EndpointDetails

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl PartialEq for EndpointDetails

source§

fn eq(&self, other: &EndpointDetails) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl StructuralPartialEq for EndpointDetails

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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 more
source§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

source§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more