aws_sdk_rds/types/
_option_group.rs1#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct OptionGroup {
7 pub option_group_name: ::std::option::Option<::std::string::String>,
9 pub option_group_description: ::std::option::Option<::std::string::String>,
11 pub engine_name: ::std::option::Option<::std::string::String>,
13 pub major_engine_version: ::std::option::Option<::std::string::String>,
15 pub options: ::std::option::Option<::std::vec::Vec<crate::types::Option>>,
17 pub allows_vpc_and_non_vpc_instance_memberships: ::std::option::Option<bool>,
19 pub vpc_id: ::std::option::Option<::std::string::String>,
21 pub option_group_arn: ::std::option::Option<::std::string::String>,
23 pub source_option_group: ::std::option::Option<::std::string::String>,
25 pub source_account_id: ::std::option::Option<::std::string::String>,
27 pub copy_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
29}
30impl OptionGroup {
31 pub fn option_group_name(&self) -> ::std::option::Option<&str> {
33 self.option_group_name.as_deref()
34 }
35 pub fn option_group_description(&self) -> ::std::option::Option<&str> {
37 self.option_group_description.as_deref()
38 }
39 pub fn engine_name(&self) -> ::std::option::Option<&str> {
41 self.engine_name.as_deref()
42 }
43 pub fn major_engine_version(&self) -> ::std::option::Option<&str> {
45 self.major_engine_version.as_deref()
46 }
47 pub fn options(&self) -> &[crate::types::Option] {
51 self.options.as_deref().unwrap_or_default()
52 }
53 pub fn allows_vpc_and_non_vpc_instance_memberships(&self) -> ::std::option::Option<bool> {
55 self.allows_vpc_and_non_vpc_instance_memberships
56 }
57 pub fn vpc_id(&self) -> ::std::option::Option<&str> {
59 self.vpc_id.as_deref()
60 }
61 pub fn option_group_arn(&self) -> ::std::option::Option<&str> {
63 self.option_group_arn.as_deref()
64 }
65 pub fn source_option_group(&self) -> ::std::option::Option<&str> {
67 self.source_option_group.as_deref()
68 }
69 pub fn source_account_id(&self) -> ::std::option::Option<&str> {
71 self.source_account_id.as_deref()
72 }
73 pub fn copy_timestamp(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
75 self.copy_timestamp.as_ref()
76 }
77}
78impl OptionGroup {
79 pub fn builder() -> crate::types::builders::OptionGroupBuilder {
81 crate::types::builders::OptionGroupBuilder::default()
82 }
83}
84
85#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
87#[non_exhaustive]
88pub struct OptionGroupBuilder {
89 pub(crate) option_group_name: ::std::option::Option<::std::string::String>,
90 pub(crate) option_group_description: ::std::option::Option<::std::string::String>,
91 pub(crate) engine_name: ::std::option::Option<::std::string::String>,
92 pub(crate) major_engine_version: ::std::option::Option<::std::string::String>,
93 pub(crate) options: ::std::option::Option<::std::vec::Vec<crate::types::Option>>,
94 pub(crate) allows_vpc_and_non_vpc_instance_memberships: ::std::option::Option<bool>,
95 pub(crate) vpc_id: ::std::option::Option<::std::string::String>,
96 pub(crate) option_group_arn: ::std::option::Option<::std::string::String>,
97 pub(crate) source_option_group: ::std::option::Option<::std::string::String>,
98 pub(crate) source_account_id: ::std::option::Option<::std::string::String>,
99 pub(crate) copy_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
100}
101impl OptionGroupBuilder {
102 pub fn option_group_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
104 self.option_group_name = ::std::option::Option::Some(input.into());
105 self
106 }
107 pub fn set_option_group_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
109 self.option_group_name = input;
110 self
111 }
112 pub fn get_option_group_name(&self) -> &::std::option::Option<::std::string::String> {
114 &self.option_group_name
115 }
116 pub fn option_group_description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
118 self.option_group_description = ::std::option::Option::Some(input.into());
119 self
120 }
121 pub fn set_option_group_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
123 self.option_group_description = input;
124 self
125 }
126 pub fn get_option_group_description(&self) -> &::std::option::Option<::std::string::String> {
128 &self.option_group_description
129 }
130 pub fn engine_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
132 self.engine_name = ::std::option::Option::Some(input.into());
133 self
134 }
135 pub fn set_engine_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
137 self.engine_name = input;
138 self
139 }
140 pub fn get_engine_name(&self) -> &::std::option::Option<::std::string::String> {
142 &self.engine_name
143 }
144 pub fn major_engine_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
146 self.major_engine_version = ::std::option::Option::Some(input.into());
147 self
148 }
149 pub fn set_major_engine_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
151 self.major_engine_version = input;
152 self
153 }
154 pub fn get_major_engine_version(&self) -> &::std::option::Option<::std::string::String> {
156 &self.major_engine_version
157 }
158 pub fn options(mut self, input: crate::types::Option) -> Self {
164 let mut v = self.options.unwrap_or_default();
165 v.push(input);
166 self.options = ::std::option::Option::Some(v);
167 self
168 }
169 pub fn set_options(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Option>>) -> Self {
171 self.options = input;
172 self
173 }
174 pub fn get_options(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Option>> {
176 &self.options
177 }
178 pub fn allows_vpc_and_non_vpc_instance_memberships(mut self, input: bool) -> Self {
180 self.allows_vpc_and_non_vpc_instance_memberships = ::std::option::Option::Some(input);
181 self
182 }
183 pub fn set_allows_vpc_and_non_vpc_instance_memberships(mut self, input: ::std::option::Option<bool>) -> Self {
185 self.allows_vpc_and_non_vpc_instance_memberships = input;
186 self
187 }
188 pub fn get_allows_vpc_and_non_vpc_instance_memberships(&self) -> &::std::option::Option<bool> {
190 &self.allows_vpc_and_non_vpc_instance_memberships
191 }
192 pub fn vpc_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
194 self.vpc_id = ::std::option::Option::Some(input.into());
195 self
196 }
197 pub fn set_vpc_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
199 self.vpc_id = input;
200 self
201 }
202 pub fn get_vpc_id(&self) -> &::std::option::Option<::std::string::String> {
204 &self.vpc_id
205 }
206 pub fn option_group_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
208 self.option_group_arn = ::std::option::Option::Some(input.into());
209 self
210 }
211 pub fn set_option_group_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
213 self.option_group_arn = input;
214 self
215 }
216 pub fn get_option_group_arn(&self) -> &::std::option::Option<::std::string::String> {
218 &self.option_group_arn
219 }
220 pub fn source_option_group(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
222 self.source_option_group = ::std::option::Option::Some(input.into());
223 self
224 }
225 pub fn set_source_option_group(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
227 self.source_option_group = input;
228 self
229 }
230 pub fn get_source_option_group(&self) -> &::std::option::Option<::std::string::String> {
232 &self.source_option_group
233 }
234 pub fn source_account_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
236 self.source_account_id = ::std::option::Option::Some(input.into());
237 self
238 }
239 pub fn set_source_account_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
241 self.source_account_id = input;
242 self
243 }
244 pub fn get_source_account_id(&self) -> &::std::option::Option<::std::string::String> {
246 &self.source_account_id
247 }
248 pub fn copy_timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
250 self.copy_timestamp = ::std::option::Option::Some(input);
251 self
252 }
253 pub fn set_copy_timestamp(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
255 self.copy_timestamp = input;
256 self
257 }
258 pub fn get_copy_timestamp(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
260 &self.copy_timestamp
261 }
262 pub fn build(self) -> crate::types::OptionGroup {
264 crate::types::OptionGroup {
265 option_group_name: self.option_group_name,
266 option_group_description: self.option_group_description,
267 engine_name: self.engine_name,
268 major_engine_version: self.major_engine_version,
269 options: self.options,
270 allows_vpc_and_non_vpc_instance_memberships: self.allows_vpc_and_non_vpc_instance_memberships,
271 vpc_id: self.vpc_id,
272 option_group_arn: self.option_group_arn,
273 source_option_group: self.source_option_group,
274 source_account_id: self.source_account_id,
275 copy_timestamp: self.copy_timestamp,
276 }
277 }
278}