aws_sdk_databasemigration/operation/start_recommendations/_start_recommendations_input.rs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct StartRecommendationsInput {
/// <p>The identifier of the source database to analyze and provide recommendations for.</p>
pub database_id: ::std::option::Option<::std::string::String>,
/// <p>The settings in JSON format that Fleet Advisor uses to determine target engine recommendations. These parameters include target instance sizing and availability and durability settings. For target instance sizing, Fleet Advisor supports the following two options: total capacity and resource utilization. For availability and durability, Fleet Advisor supports the following two options: production (Multi-AZ deployments) and Dev/Test (Single-AZ deployments).</p>
pub settings: ::std::option::Option<crate::types::RecommendationSettings>,
}
impl StartRecommendationsInput {
/// <p>The identifier of the source database to analyze and provide recommendations for.</p>
pub fn database_id(&self) -> ::std::option::Option<&str> {
self.database_id.as_deref()
}
/// <p>The settings in JSON format that Fleet Advisor uses to determine target engine recommendations. These parameters include target instance sizing and availability and durability settings. For target instance sizing, Fleet Advisor supports the following two options: total capacity and resource utilization. For availability and durability, Fleet Advisor supports the following two options: production (Multi-AZ deployments) and Dev/Test (Single-AZ deployments).</p>
pub fn settings(&self) -> ::std::option::Option<&crate::types::RecommendationSettings> {
self.settings.as_ref()
}
}
impl StartRecommendationsInput {
/// Creates a new builder-style object to manufacture [`StartRecommendationsInput`](crate::operation::start_recommendations::StartRecommendationsInput).
pub fn builder() -> crate::operation::start_recommendations::builders::StartRecommendationsInputBuilder {
crate::operation::start_recommendations::builders::StartRecommendationsInputBuilder::default()
}
}
/// A builder for [`StartRecommendationsInput`](crate::operation::start_recommendations::StartRecommendationsInput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct StartRecommendationsInputBuilder {
pub(crate) database_id: ::std::option::Option<::std::string::String>,
pub(crate) settings: ::std::option::Option<crate::types::RecommendationSettings>,
}
impl StartRecommendationsInputBuilder {
/// <p>The identifier of the source database to analyze and provide recommendations for.</p>
/// This field is required.
pub fn database_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.database_id = ::std::option::Option::Some(input.into());
self
}
/// <p>The identifier of the source database to analyze and provide recommendations for.</p>
pub fn set_database_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.database_id = input;
self
}
/// <p>The identifier of the source database to analyze and provide recommendations for.</p>
pub fn get_database_id(&self) -> &::std::option::Option<::std::string::String> {
&self.database_id
}
/// <p>The settings in JSON format that Fleet Advisor uses to determine target engine recommendations. These parameters include target instance sizing and availability and durability settings. For target instance sizing, Fleet Advisor supports the following two options: total capacity and resource utilization. For availability and durability, Fleet Advisor supports the following two options: production (Multi-AZ deployments) and Dev/Test (Single-AZ deployments).</p>
/// This field is required.
pub fn settings(mut self, input: crate::types::RecommendationSettings) -> Self {
self.settings = ::std::option::Option::Some(input);
self
}
/// <p>The settings in JSON format that Fleet Advisor uses to determine target engine recommendations. These parameters include target instance sizing and availability and durability settings. For target instance sizing, Fleet Advisor supports the following two options: total capacity and resource utilization. For availability and durability, Fleet Advisor supports the following two options: production (Multi-AZ deployments) and Dev/Test (Single-AZ deployments).</p>
pub fn set_settings(mut self, input: ::std::option::Option<crate::types::RecommendationSettings>) -> Self {
self.settings = input;
self
}
/// <p>The settings in JSON format that Fleet Advisor uses to determine target engine recommendations. These parameters include target instance sizing and availability and durability settings. For target instance sizing, Fleet Advisor supports the following two options: total capacity and resource utilization. For availability and durability, Fleet Advisor supports the following two options: production (Multi-AZ deployments) and Dev/Test (Single-AZ deployments).</p>
pub fn get_settings(&self) -> &::std::option::Option<crate::types::RecommendationSettings> {
&self.settings
}
/// Consumes the builder and constructs a [`StartRecommendationsInput`](crate::operation::start_recommendations::StartRecommendationsInput).
pub fn build(
self,
) -> ::std::result::Result<crate::operation::start_recommendations::StartRecommendationsInput, ::aws_smithy_types::error::operation::BuildError>
{
::std::result::Result::Ok(crate::operation::start_recommendations::StartRecommendationsInput {
database_id: self.database_id,
settings: self.settings,
})
}
}