class Aws::Transfer::Types::UpdateServerRequest

@note When making an API call, you may pass UpdateServerRequest

data as a hash:

    {
      certificate: "Certificate",
      protocol_details: {
        passive_ip: "PassiveIp",
      },
      endpoint_details: {
        address_allocation_ids: ["AddressAllocationId"],
        subnet_ids: ["SubnetId"],
        vpc_endpoint_id: "VpcEndpointId",
        vpc_id: "VpcId",
        security_group_ids: ["SecurityGroupId"],
      },
      endpoint_type: "PUBLIC", # accepts PUBLIC, VPC, VPC_ENDPOINT
      host_key: "HostKey",
      identity_provider_details: {
        url: "Url",
        invocation_role: "Role",
        directory_id: "DirectoryId",
      },
      logging_role: "NullableRole",
      protocols: ["SFTP"], # accepts SFTP, FTP, FTPS
      security_policy_name: "SecurityPolicyName",
      server_id: "ServerId", # required
      workflow_details: {
        on_upload: [ # required
          {
            workflow_id: "WorkflowId", # required
            execution_role: "Role", # required
          },
        ],
      },
    }

@!attribute [rw] certificate

The Amazon Resource Name (ARN) of the Amazon Web ServicesCertificate
Manager (ACM) certificate. Required when `Protocols` is set to
`FTPS`.

To request a new public certificate, see [Request a public
certificate][1] in the <i> Amazon Web ServicesCertificate Manager
User Guide</i>.

To import an existing certificate into ACM, see [Importing
certificates into ACM][2] in the <i> Amazon Web ServicesCertificate
Manager User Guide</i>.

To request a private certificate to use FTPS through private IP
addresses, see [Request a private certificate][3] in the <i> Amazon
Web ServicesCertificate Manager User Guide</i>.

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)

<note markdown="1"> The certificate must be a valid SSL/TLS X.509 version 3 certificate
with FQDN or IP address specified and information about the issuer.

 </note>

[1]: https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html
[2]: https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html
[3]: https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html
@return [String]

@!attribute [rw] protocol_details

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.
@return [Types::ProtocolDetails]

@!attribute [rw] endpoint_details

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.
@return [Types::EndpointDetails]

@!attribute [rw] endpoint_type

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.

<note markdown="1"> 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.

 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`.

 </note>
@return [String]

@!attribute [rw] host_key

The RSA private key as generated by `ssh-keygen -N "" -m PEM -f
my-new-server-key`.

If you aren't planning to migrate existing users from an existing
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][1] in the *Amazon Web ServicesTransfer Family User Guide*.

[1]: https://docs.aws.amazon.com/transfer/latest/userguide/edit-server-config.html#configuring-servers-change-host-key
@return [String]

@!attribute [rw] identity_provider_details

An array containing all of the information required to call a
customer's authentication API method.
@return [Types::IdentityProviderDetails]

@!attribute [rw] logging_role

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.
@return [String]

@!attribute [rw] 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:

* Secure Shell (SSH) File Transfer Protocol (SFTP): File transfer
  over SSH

* File Transfer Protocol Secure (FTPS): File transfer with TLS
  encryption

* File Transfer Protocol (FTP): Unencrypted file transfer

<note markdown="1"> If you select `FTPS`, you must choose a certificate stored in Amazon
Web ServicesCertificate Manager (ACM) which will be 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`.

 </note>
@return [Array<String>]

@!attribute [rw] security_policy_name

Specifies the name of the security policy that is attached to the
server.
@return [String]

@!attribute [rw] server_id

A system-assigned unique identifier for a server instance that the
user account is assigned to.
@return [String]

@!attribute [rw] workflow_details

Specifies the workflow ID for the workflow to assign and the
execution role used for executing the workflow.
@return [Types::WorkflowDetails]

@see docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateServerRequest AWS API Documentation

Constants

SENSITIVE