Struct aws_sdk_transfer::client::fluent_builders::CreateServer
source · [−]pub struct CreateServer { /* private fields */ }
Expand description
Fluent builder constructing a request to CreateServer
.
Instantiates an auto-scaling virtual server based on the selected file transfer protocol in Amazon Web Services. When you make updates to your file transfer protocol-enabled server or when you work with users, use the service-generated ServerId
property that is assigned to the newly created server.
Implementations
sourceimpl CreateServer
impl CreateServer
sourcepub async fn send(
self
) -> Result<CreateServerOutput, SdkError<CreateServerError>>
pub async fn send(
self
) -> Result<CreateServerOutput, SdkError<CreateServerError>>
Sends the request and returns the response.
If an error occurs, an SdkError
will be returned with additional details that
can be matched against.
By default, any retryable failures will be retried twice. Retry behavior is configurable with the RetryConfig, which can be set when configuring the client.
sourcepub fn certificate(self, input: impl Into<String>) -> Self
pub fn certificate(self, input: impl Into<String>) -> Self
The Amazon Resource Name (ARN) of the Amazon Web Services Certificate Manager (ACM) certificate. Required when Protocols
is set to FTPS
.
To request a new public certificate, see Request a public certificate in the Amazon Web Services Certificate Manager User Guide.
To import an existing certificate into ACM, see Importing certificates into ACM in the Amazon Web Services Certificate Manager User Guide.
To request a private certificate to use FTPS through private IP addresses, see Request a private certificate in the Amazon Web Services Certificate Manager User Guide.
Certificates with the following cryptographic algorithms and key sizes are supported:
-
2048-bit RSA (RSA_2048)
-
4096-bit RSA (RSA_4096)
-
Elliptic Prime Curve 256 bit (EC_prime256v1)
-
Elliptic Prime Curve 384 bit (EC_secp384r1)
-
Elliptic Prime Curve 521 bit (EC_secp521r1)
The certificate must be a valid SSL/TLS X.509 version 3 certificate with FQDN or IP address specified and information about the issuer.
sourcepub fn set_certificate(self, input: Option<String>) -> Self
pub fn set_certificate(self, input: Option<String>) -> Self
The Amazon Resource Name (ARN) of the Amazon Web Services Certificate Manager (ACM) certificate. Required when Protocols
is set to FTPS
.
To request a new public certificate, see Request a public certificate in the Amazon Web Services Certificate Manager User Guide.
To import an existing certificate into ACM, see Importing certificates into ACM in the Amazon Web Services Certificate Manager User Guide.
To request a private certificate to use FTPS through private IP addresses, see Request a private certificate in the Amazon Web Services Certificate Manager User Guide.
Certificates with the following cryptographic algorithms and key sizes are supported:
-
2048-bit RSA (RSA_2048)
-
4096-bit RSA (RSA_4096)
-
Elliptic Prime Curve 256 bit (EC_prime256v1)
-
Elliptic Prime Curve 384 bit (EC_secp384r1)
-
Elliptic Prime Curve 521 bit (EC_secp521r1)
The certificate must be a valid SSL/TLS X.509 version 3 certificate with FQDN or IP address specified and information about the issuer.
sourcepub fn domain(self, input: Domain) -> Self
pub fn domain(self, input: Domain) -> Self
The domain of the storage system that is used for file transfers. There are two domains available: Amazon Simple Storage Service (Amazon S3) and Amazon Elastic File System (Amazon EFS). The default value is S3.
After the server is created, the domain cannot be changed.
sourcepub fn set_domain(self, input: Option<Domain>) -> Self
pub fn set_domain(self, input: Option<Domain>) -> Self
The domain of the storage system that is used for file transfers. There are two domains available: Amazon Simple Storage Service (Amazon S3) and Amazon Elastic File System (Amazon EFS). The default value is S3.
After the server is created, the domain cannot be changed.
sourcepub fn endpoint_details(self, input: EndpointDetails) -> Self
pub fn endpoint_details(self, input: EndpointDetails) -> Self
The virtual private cloud (VPC) endpoint settings that are configured for your server. When you host your endpoint within your VPC, you can make it accessible only to resources within your VPC, or you can attach Elastic IP addresses and make it accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint.
sourcepub fn set_endpoint_details(self, input: Option<EndpointDetails>) -> Self
pub fn set_endpoint_details(self, input: Option<EndpointDetails>) -> Self
The virtual private cloud (VPC) endpoint settings that are configured for your server. When you host your endpoint within your VPC, you can make it accessible only to resources within your VPC, or you can attach Elastic IP addresses and make it accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint.
sourcepub fn endpoint_type(self, input: EndpointType) -> Self
pub fn endpoint_type(self, input: EndpointType) -> Self
The type of endpoint that you want your server to use. You can choose to make your server's endpoint publicly accessible (PUBLIC) or host it inside your VPC. With an endpoint that is hosted in a VPC, you can restrict access to your server and resources only within your VPC or choose to make it internet facing by attaching Elastic IP addresses directly to it.
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
.
sourcepub fn set_endpoint_type(self, input: Option<EndpointType>) -> Self
pub fn set_endpoint_type(self, input: Option<EndpointType>) -> Self
The type of endpoint that you want your server to use. You can choose to make your server's endpoint publicly accessible (PUBLIC) or host it inside your VPC. With an endpoint that is hosted in a VPC, you can restrict access to your server and resources only within your VPC or choose to make it internet facing by attaching Elastic IP addresses directly to it.
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
.
sourcepub fn host_key(self, input: impl Into<String>) -> Self
pub fn host_key(self, input: impl Into<String>) -> Self
The RSA private key as generated by the ssh-keygen -N "" -m PEM -f my-new-server-key
command.
If you aren't planning to migrate existing users from an existing SFTP-enabled server to a new server, don't update the host key. Accidentally changing a server's host key can be disruptive.
For more information, see Change the host key for your SFTP-enabled server in the Amazon Web Services Transfer Family User Guide.
sourcepub fn set_host_key(self, input: Option<String>) -> Self
pub fn set_host_key(self, input: Option<String>) -> Self
The RSA private key as generated by the ssh-keygen -N "" -m PEM -f my-new-server-key
command.
If you aren't planning to migrate existing users from an existing SFTP-enabled server to a new server, don't update the host key. Accidentally changing a server's host key can be disruptive.
For more information, see Change the host key for your SFTP-enabled server in the Amazon Web Services Transfer Family User Guide.
sourcepub fn identity_provider_details(self, input: IdentityProviderDetails) -> Self
pub fn identity_provider_details(self, input: IdentityProviderDetails) -> Self
Required when IdentityProviderType
is set to AWS_DIRECTORY_SERVICE
or API_GATEWAY
. Accepts an array containing all of the information required to use a directory in AWS_DIRECTORY_SERVICE
or invoke a customer-supplied authentication API, including the API Gateway URL. Not required when IdentityProviderType
is set to SERVICE_MANAGED
.
sourcepub fn set_identity_provider_details(
self,
input: Option<IdentityProviderDetails>
) -> Self
pub fn set_identity_provider_details(
self,
input: Option<IdentityProviderDetails>
) -> Self
Required when IdentityProviderType
is set to AWS_DIRECTORY_SERVICE
or API_GATEWAY
. Accepts an array containing all of the information required to use a directory in AWS_DIRECTORY_SERVICE
or invoke a customer-supplied authentication API, including the API Gateway URL. Not required when IdentityProviderType
is set to SERVICE_MANAGED
.
sourcepub fn identity_provider_type(self, input: IdentityProviderType) -> Self
pub fn identity_provider_type(self, input: IdentityProviderType) -> Self
Specifies the mode of authentication for a server. The default value is SERVICE_MANAGED
, which allows you to store and access user credentials within the Amazon Web Services Transfer Family service.
Use AWS_DIRECTORY_SERVICE
to provide access to Active Directory groups in Amazon Web Services Managed Active Directory or Microsoft Active Directory in your on-premises environment or in Amazon Web Services using AD Connectors. This option also requires you to provide a Directory ID using the IdentityProviderDetails
parameter.
Use the API_GATEWAY
value to integrate with an identity provider of your choosing. The API_GATEWAY
setting requires you to provide an API Gateway endpoint URL to call for authentication using the IdentityProviderDetails
parameter.
Use the AWS_LAMBDA
value to directly use a Lambda function as your identity provider. If you choose this value, you must specify the ARN for the lambda function in the Function
parameter for the IdentityProviderDetails
data type.
sourcepub fn set_identity_provider_type(
self,
input: Option<IdentityProviderType>
) -> Self
pub fn set_identity_provider_type(
self,
input: Option<IdentityProviderType>
) -> Self
Specifies the mode of authentication for a server. The default value is SERVICE_MANAGED
, which allows you to store and access user credentials within the Amazon Web Services Transfer Family service.
Use AWS_DIRECTORY_SERVICE
to provide access to Active Directory groups in Amazon Web Services Managed Active Directory or Microsoft Active Directory in your on-premises environment or in Amazon Web Services using AD Connectors. This option also requires you to provide a Directory ID using the IdentityProviderDetails
parameter.
Use the API_GATEWAY
value to integrate with an identity provider of your choosing. The API_GATEWAY
setting requires you to provide an API Gateway endpoint URL to call for authentication using the IdentityProviderDetails
parameter.
Use the AWS_LAMBDA
value to directly use a Lambda function as your identity provider. If you choose this value, you must specify the ARN for the lambda function in the Function
parameter for the IdentityProviderDetails
data type.
sourcepub fn logging_role(self, input: impl Into<String>) -> Self
pub fn logging_role(self, input: impl Into<String>) -> Self
Specifies the Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFS events. When set, user activity can be viewed in your CloudWatch logs.
sourcepub fn set_logging_role(self, input: Option<String>) -> Self
pub fn set_logging_role(self, input: Option<String>) -> Self
Specifies the Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFS events. When set, user activity can be viewed in your CloudWatch logs.
Specify a string to display when users connect to a server. This string is displayed after the user authenticates.
The SFTP protocol does not support post-authentication display banners.
Specify a string to display when users connect to a server. This string is displayed after the user authenticates.
The SFTP protocol does not support post-authentication display banners.
Specify a string to display when users connect to a server. This string is displayed before the user authenticates. For example, the following banner displays details about using the system.
This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel.
Specify a string to display when users connect to a server. This string is displayed before the user authenticates. For example, the following banner displays details about using the system.
This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel.
sourcepub fn protocols(self, input: Protocol) -> Self
pub fn protocols(self, input: Protocol) -> Self
Appends an item to Protocols
.
To override the contents of this collection use set_protocols
.
Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are:
-
SFTP
(Secure Shell (SSH) File Transfer Protocol): File transfer over SSH -
FTPS
(File Transfer Protocol Secure): File transfer with TLS encryption -
FTP
(File Transfer Protocol): Unencrypted file transfer
If you select FTPS
, you must choose a certificate stored in Amazon Web Services Certificate Manager (ACM) which is used to identify your server when clients connect to it over FTPS.
If Protocol
includes either FTP
or FTPS
, then the EndpointType
must be VPC
and the IdentityProviderType
must be AWS_DIRECTORY_SERVICE
or API_GATEWAY
.
If Protocol
includes FTP
, then AddressAllocationIds
cannot be associated.
If Protocol
is set only to SFTP
, the EndpointType
can be set to PUBLIC
and the IdentityProviderType
can be set to SERVICE_MANAGED
.
sourcepub fn set_protocols(self, input: Option<Vec<Protocol>>) -> Self
pub fn set_protocols(self, input: Option<Vec<Protocol>>) -> Self
Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are:
-
SFTP
(Secure Shell (SSH) File Transfer Protocol): File transfer over SSH -
FTPS
(File Transfer Protocol Secure): File transfer with TLS encryption -
FTP
(File Transfer Protocol): Unencrypted file transfer
If you select FTPS
, you must choose a certificate stored in Amazon Web Services Certificate Manager (ACM) which is used to identify your server when clients connect to it over FTPS.
If Protocol
includes either FTP
or FTPS
, then the EndpointType
must be VPC
and the IdentityProviderType
must be AWS_DIRECTORY_SERVICE
or API_GATEWAY
.
If Protocol
includes FTP
, then AddressAllocationIds
cannot be associated.
If Protocol
is set only to SFTP
, the EndpointType
can be set to PUBLIC
and the IdentityProviderType
can be set to SERVICE_MANAGED
.
sourcepub fn protocol_details(self, input: ProtocolDetails) -> Self
pub fn protocol_details(self, input: ProtocolDetails) -> Self
The protocol settings that are configured for your server.
Use the PassiveIp
parameter to indicate passive mode (for FTP and FTPS protocols). Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer.
Use the TlsSessionResumptionMode
parameter to determine whether or not your Transfer server resumes recent, negotiated sessions through a unique session ID.
sourcepub fn set_protocol_details(self, input: Option<ProtocolDetails>) -> Self
pub fn set_protocol_details(self, input: Option<ProtocolDetails>) -> Self
The protocol settings that are configured for your server.
Use the PassiveIp
parameter to indicate passive mode (for FTP and FTPS protocols). Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer.
Use the TlsSessionResumptionMode
parameter to determine whether or not your Transfer server resumes recent, negotiated sessions through a unique session ID.
sourcepub fn security_policy_name(self, input: impl Into<String>) -> Self
pub fn security_policy_name(self, input: impl Into<String>) -> Self
Specifies the name of the security policy that is attached to the server.
sourcepub fn set_security_policy_name(self, input: Option<String>) -> Self
pub fn set_security_policy_name(self, input: Option<String>) -> Self
Specifies the name of the security policy that is attached to the server.
Appends an item to Tags
.
To override the contents of this collection use set_tags
.
Key-value pairs that can be used to group and search for servers.
Key-value pairs that can be used to group and search for servers.
sourcepub fn workflow_details(self, input: WorkflowDetails) -> Self
pub fn workflow_details(self, input: WorkflowDetails) -> Self
Specifies the workflow ID for the workflow to assign and the execution role used for executing the workflow.
sourcepub fn set_workflow_details(self, input: Option<WorkflowDetails>) -> Self
pub fn set_workflow_details(self, input: Option<WorkflowDetails>) -> Self
Specifies the workflow ID for the workflow to assign and the execution role used for executing the workflow.
Trait Implementations
sourceimpl Clone for CreateServer
impl Clone for CreateServer
sourcefn clone(&self) -> CreateServer
fn clone(&self) -> CreateServer
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
Auto Trait Implementations
impl !RefUnwindSafe for CreateServer
impl Send for CreateServer
impl Sync for CreateServer
impl Unpin for CreateServer
impl !UnwindSafe for CreateServer
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
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
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more