aws_sdk_rds/types/
_db_security_group.rs1#[non_exhaustive]
6#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
7pub struct DbSecurityGroup {
8 pub owner_id: ::std::option::Option<::std::string::String>,
10 pub db_security_group_name: ::std::option::Option<::std::string::String>,
12 pub db_security_group_description: ::std::option::Option<::std::string::String>,
14 pub vpc_id: ::std::option::Option<::std::string::String>,
16 pub ec2_security_groups: ::std::option::Option<::std::vec::Vec<crate::types::Ec2SecurityGroup>>,
18 pub ip_ranges: ::std::option::Option<::std::vec::Vec<crate::types::IpRange>>,
20 pub db_security_group_arn: ::std::option::Option<::std::string::String>,
22}
23impl DbSecurityGroup {
24 pub fn owner_id(&self) -> ::std::option::Option<&str> {
26 self.owner_id.as_deref()
27 }
28 pub fn db_security_group_name(&self) -> ::std::option::Option<&str> {
30 self.db_security_group_name.as_deref()
31 }
32 pub fn db_security_group_description(&self) -> ::std::option::Option<&str> {
34 self.db_security_group_description.as_deref()
35 }
36 pub fn vpc_id(&self) -> ::std::option::Option<&str> {
38 self.vpc_id.as_deref()
39 }
40 pub fn ec2_security_groups(&self) -> &[crate::types::Ec2SecurityGroup] {
44 self.ec2_security_groups.as_deref().unwrap_or_default()
45 }
46 pub fn ip_ranges(&self) -> &[crate::types::IpRange] {
50 self.ip_ranges.as_deref().unwrap_or_default()
51 }
52 pub fn db_security_group_arn(&self) -> ::std::option::Option<&str> {
54 self.db_security_group_arn.as_deref()
55 }
56}
57impl DbSecurityGroup {
58 pub fn builder() -> crate::types::builders::DbSecurityGroupBuilder {
60 crate::types::builders::DbSecurityGroupBuilder::default()
61 }
62}
63
64#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
66#[non_exhaustive]
67pub struct DbSecurityGroupBuilder {
68 pub(crate) owner_id: ::std::option::Option<::std::string::String>,
69 pub(crate) db_security_group_name: ::std::option::Option<::std::string::String>,
70 pub(crate) db_security_group_description: ::std::option::Option<::std::string::String>,
71 pub(crate) vpc_id: ::std::option::Option<::std::string::String>,
72 pub(crate) ec2_security_groups: ::std::option::Option<::std::vec::Vec<crate::types::Ec2SecurityGroup>>,
73 pub(crate) ip_ranges: ::std::option::Option<::std::vec::Vec<crate::types::IpRange>>,
74 pub(crate) db_security_group_arn: ::std::option::Option<::std::string::String>,
75}
76impl DbSecurityGroupBuilder {
77 pub fn owner_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
79 self.owner_id = ::std::option::Option::Some(input.into());
80 self
81 }
82 pub fn set_owner_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
84 self.owner_id = input;
85 self
86 }
87 pub fn get_owner_id(&self) -> &::std::option::Option<::std::string::String> {
89 &self.owner_id
90 }
91 pub fn db_security_group_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
93 self.db_security_group_name = ::std::option::Option::Some(input.into());
94 self
95 }
96 pub fn set_db_security_group_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
98 self.db_security_group_name = input;
99 self
100 }
101 pub fn get_db_security_group_name(&self) -> &::std::option::Option<::std::string::String> {
103 &self.db_security_group_name
104 }
105 pub fn db_security_group_description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
107 self.db_security_group_description = ::std::option::Option::Some(input.into());
108 self
109 }
110 pub fn set_db_security_group_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
112 self.db_security_group_description = input;
113 self
114 }
115 pub fn get_db_security_group_description(&self) -> &::std::option::Option<::std::string::String> {
117 &self.db_security_group_description
118 }
119 pub fn vpc_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
121 self.vpc_id = ::std::option::Option::Some(input.into());
122 self
123 }
124 pub fn set_vpc_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
126 self.vpc_id = input;
127 self
128 }
129 pub fn get_vpc_id(&self) -> &::std::option::Option<::std::string::String> {
131 &self.vpc_id
132 }
133 pub fn ec2_security_groups(mut self, input: crate::types::Ec2SecurityGroup) -> Self {
139 let mut v = self.ec2_security_groups.unwrap_or_default();
140 v.push(input);
141 self.ec2_security_groups = ::std::option::Option::Some(v);
142 self
143 }
144 pub fn set_ec2_security_groups(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Ec2SecurityGroup>>) -> Self {
146 self.ec2_security_groups = input;
147 self
148 }
149 pub fn get_ec2_security_groups(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Ec2SecurityGroup>> {
151 &self.ec2_security_groups
152 }
153 pub fn ip_ranges(mut self, input: crate::types::IpRange) -> Self {
159 let mut v = self.ip_ranges.unwrap_or_default();
160 v.push(input);
161 self.ip_ranges = ::std::option::Option::Some(v);
162 self
163 }
164 pub fn set_ip_ranges(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::IpRange>>) -> Self {
166 self.ip_ranges = input;
167 self
168 }
169 pub fn get_ip_ranges(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::IpRange>> {
171 &self.ip_ranges
172 }
173 pub fn db_security_group_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
175 self.db_security_group_arn = ::std::option::Option::Some(input.into());
176 self
177 }
178 pub fn set_db_security_group_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
180 self.db_security_group_arn = input;
181 self
182 }
183 pub fn get_db_security_group_arn(&self) -> &::std::option::Option<::std::string::String> {
185 &self.db_security_group_arn
186 }
187 pub fn build(self) -> crate::types::DbSecurityGroup {
189 crate::types::DbSecurityGroup {
190 owner_id: self.owner_id,
191 db_security_group_name: self.db_security_group_name,
192 db_security_group_description: self.db_security_group_description,
193 vpc_id: self.vpc_id,
194 ec2_security_groups: self.ec2_security_groups,
195 ip_ranges: self.ip_ranges,
196 db_security_group_arn: self.db_security_group_arn,
197 }
198 }
199}