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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
/// <p>Provides information about the limitations of target Amazon Web Services engines.</p>
/// <p>Your source database might include features that the target Amazon Web Services engine doesn't support. Fleet Advisor lists these features as limitations. You should consider these limitations during database migration. For each limitation, Fleet Advisor recommends an action that you can take to address or avoid this limitation.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct Limitation {
/// <p>The identifier of the source database.</p>
pub database_id: ::std::option::Option<::std::string::String>,
/// <p>The name of the target engine that Fleet Advisor should use in the target engine recommendation. Valid values include <code>"rds-aurora-mysql"</code>, <code>"rds-aurora-postgresql"</code>, <code>"rds-mysql"</code>, <code>"rds-oracle"</code>, <code>"rds-sql-server"</code>, and <code>"rds-postgresql"</code>.</p>
pub engine_name: ::std::option::Option<::std::string::String>,
/// <p>The name of the limitation. Describes unsupported database features, migration action items, and other limitations.</p>
pub name: ::std::option::Option<::std::string::String>,
/// <p>A description of the limitation. Provides additional information about the limitation, and includes recommended actions that you can take to address or avoid this limitation.</p>
pub description: ::std::option::Option<::std::string::String>,
/// <p>The impact of the limitation. You can use this parameter to prioritize limitations that you want to address. Valid values include <code>"Blocker"</code>, <code>"High"</code>, <code>"Medium"</code>, and <code>"Low"</code>.</p>
pub impact: ::std::option::Option<::std::string::String>,
/// <p>The type of the limitation, such as action required, upgrade required, and limited feature.</p>
pub r#type: ::std::option::Option<::std::string::String>,
}
impl Limitation {
/// <p>The identifier of the source database.</p>
pub fn database_id(&self) -> ::std::option::Option<&str> {
self.database_id.as_deref()
}
/// <p>The name of the target engine that Fleet Advisor should use in the target engine recommendation. Valid values include <code>"rds-aurora-mysql"</code>, <code>"rds-aurora-postgresql"</code>, <code>"rds-mysql"</code>, <code>"rds-oracle"</code>, <code>"rds-sql-server"</code>, and <code>"rds-postgresql"</code>.</p>
pub fn engine_name(&self) -> ::std::option::Option<&str> {
self.engine_name.as_deref()
}
/// <p>The name of the limitation. Describes unsupported database features, migration action items, and other limitations.</p>
pub fn name(&self) -> ::std::option::Option<&str> {
self.name.as_deref()
}
/// <p>A description of the limitation. Provides additional information about the limitation, and includes recommended actions that you can take to address or avoid this limitation.</p>
pub fn description(&self) -> ::std::option::Option<&str> {
self.description.as_deref()
}
/// <p>The impact of the limitation. You can use this parameter to prioritize limitations that you want to address. Valid values include <code>"Blocker"</code>, <code>"High"</code>, <code>"Medium"</code>, and <code>"Low"</code>.</p>
pub fn impact(&self) -> ::std::option::Option<&str> {
self.impact.as_deref()
}
/// <p>The type of the limitation, such as action required, upgrade required, and limited feature.</p>
pub fn r#type(&self) -> ::std::option::Option<&str> {
self.r#type.as_deref()
}
}
impl Limitation {
/// Creates a new builder-style object to manufacture [`Limitation`](crate::types::Limitation).
pub fn builder() -> crate::types::builders::LimitationBuilder {
crate::types::builders::LimitationBuilder::default()
}
}
/// A builder for [`Limitation`](crate::types::Limitation).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct LimitationBuilder {
pub(crate) database_id: ::std::option::Option<::std::string::String>,
pub(crate) engine_name: ::std::option::Option<::std::string::String>,
pub(crate) name: ::std::option::Option<::std::string::String>,
pub(crate) description: ::std::option::Option<::std::string::String>,
pub(crate) impact: ::std::option::Option<::std::string::String>,
pub(crate) r#type: ::std::option::Option<::std::string::String>,
}
impl LimitationBuilder {
/// <p>The identifier of the source database.</p>
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.</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.</p>
pub fn get_database_id(&self) -> &::std::option::Option<::std::string::String> {
&self.database_id
}
/// <p>The name of the target engine that Fleet Advisor should use in the target engine recommendation. Valid values include <code>"rds-aurora-mysql"</code>, <code>"rds-aurora-postgresql"</code>, <code>"rds-mysql"</code>, <code>"rds-oracle"</code>, <code>"rds-sql-server"</code>, and <code>"rds-postgresql"</code>.</p>
pub fn engine_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.engine_name = ::std::option::Option::Some(input.into());
self
}
/// <p>The name of the target engine that Fleet Advisor should use in the target engine recommendation. Valid values include <code>"rds-aurora-mysql"</code>, <code>"rds-aurora-postgresql"</code>, <code>"rds-mysql"</code>, <code>"rds-oracle"</code>, <code>"rds-sql-server"</code>, and <code>"rds-postgresql"</code>.</p>
pub fn set_engine_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.engine_name = input;
self
}
/// <p>The name of the target engine that Fleet Advisor should use in the target engine recommendation. Valid values include <code>"rds-aurora-mysql"</code>, <code>"rds-aurora-postgresql"</code>, <code>"rds-mysql"</code>, <code>"rds-oracle"</code>, <code>"rds-sql-server"</code>, and <code>"rds-postgresql"</code>.</p>
pub fn get_engine_name(&self) -> &::std::option::Option<::std::string::String> {
&self.engine_name
}
/// <p>The name of the limitation. Describes unsupported database features, migration action items, and other limitations.</p>
pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.name = ::std::option::Option::Some(input.into());
self
}
/// <p>The name of the limitation. Describes unsupported database features, migration action items, and other limitations.</p>
pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.name = input;
self
}
/// <p>The name of the limitation. Describes unsupported database features, migration action items, and other limitations.</p>
pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
&self.name
}
/// <p>A description of the limitation. Provides additional information about the limitation, and includes recommended actions that you can take to address or avoid this limitation.</p>
pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.description = ::std::option::Option::Some(input.into());
self
}
/// <p>A description of the limitation. Provides additional information about the limitation, and includes recommended actions that you can take to address or avoid this limitation.</p>
pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.description = input;
self
}
/// <p>A description of the limitation. Provides additional information about the limitation, and includes recommended actions that you can take to address or avoid this limitation.</p>
pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
&self.description
}
/// <p>The impact of the limitation. You can use this parameter to prioritize limitations that you want to address. Valid values include <code>"Blocker"</code>, <code>"High"</code>, <code>"Medium"</code>, and <code>"Low"</code>.</p>
pub fn impact(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.impact = ::std::option::Option::Some(input.into());
self
}
/// <p>The impact of the limitation. You can use this parameter to prioritize limitations that you want to address. Valid values include <code>"Blocker"</code>, <code>"High"</code>, <code>"Medium"</code>, and <code>"Low"</code>.</p>
pub fn set_impact(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.impact = input;
self
}
/// <p>The impact of the limitation. You can use this parameter to prioritize limitations that you want to address. Valid values include <code>"Blocker"</code>, <code>"High"</code>, <code>"Medium"</code>, and <code>"Low"</code>.</p>
pub fn get_impact(&self) -> &::std::option::Option<::std::string::String> {
&self.impact
}
/// <p>The type of the limitation, such as action required, upgrade required, and limited feature.</p>
pub fn r#type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.r#type = ::std::option::Option::Some(input.into());
self
}
/// <p>The type of the limitation, such as action required, upgrade required, and limited feature.</p>
pub fn set_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.r#type = input;
self
}
/// <p>The type of the limitation, such as action required, upgrade required, and limited feature.</p>
pub fn get_type(&self) -> &::std::option::Option<::std::string::String> {
&self.r#type
}
/// Consumes the builder and constructs a [`Limitation`](crate::types::Limitation).
pub fn build(self) -> crate::types::Limitation {
crate::types::Limitation {
database_id: self.database_id,
engine_name: self.engine_name,
name: self.name,
description: self.description,
impact: self.impact,
r#type: self.r#type,
}
}
}