// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`RestoreServer`](crate::operation::restore_server::builders::RestoreServerFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`backup_id(impl Into<String>)`](crate::operation::restore_server::builders::RestoreServerFluentBuilder::backup_id) / [`set_backup_id(Option<String>)`](crate::operation::restore_server::builders::RestoreServerFluentBuilder::set_backup_id):<br>required: **true**<br><p>The ID of the backup that you want to use to restore a server.</p><br>
/// - [`server_name(impl Into<String>)`](crate::operation::restore_server::builders::RestoreServerFluentBuilder::server_name) / [`set_server_name(Option<String>)`](crate::operation::restore_server::builders::RestoreServerFluentBuilder::set_server_name):<br>required: **true**<br><p>The name of the server that you want to restore.</p><br>
/// - [`instance_type(impl Into<String>)`](crate::operation::restore_server::builders::RestoreServerFluentBuilder::instance_type) / [`set_instance_type(Option<String>)`](crate::operation::restore_server::builders::RestoreServerFluentBuilder::set_instance_type):<br>required: **false**<br><p>The type of instance to restore. Valid values must be specified in the following format: <code>^([cm][34]|t2).*</code> For example, <code>m5.large</code>. Valid values are <code>m5.large</code>, <code>r5.xlarge</code>, and <code>r5.2xlarge</code>. If you do not specify this parameter, RestoreServer uses the instance type from the specified backup.</p><br>
/// - [`key_pair(impl Into<String>)`](crate::operation::restore_server::builders::RestoreServerFluentBuilder::key_pair) / [`set_key_pair(Option<String>)`](crate::operation::restore_server::builders::RestoreServerFluentBuilder::set_key_pair):<br>required: **false**<br><p>The name of the key pair to set on the new EC2 instance. This can be helpful if the administrator no longer has the SSH key.</p><br>
/// - On success, responds with [`RestoreServerOutput`](crate::operation::restore_server::RestoreServerOutput) with field(s):
/// - [`server(Option<Server>)`](crate::operation::restore_server::RestoreServerOutput::server): <p>Describes a configuration management server.</p>
/// - On failure, responds with [`SdkError<RestoreServerError>`](crate::operation::restore_server::RestoreServerError)
pub fn restore_server(&self) -> crate::operation::restore_server::builders::RestoreServerFluentBuilder {
crate::operation::restore_server::builders::RestoreServerFluentBuilder::new(self.handle.clone())
}
}