aws_sdk_directconnect/operation/create_connection/
_create_connection_input.rs1#[allow(missing_docs)] #[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct CreateConnectionInput {
6 pub location: ::std::option::Option<::std::string::String>,
8 pub bandwidth: ::std::option::Option<::std::string::String>,
10 pub connection_name: ::std::option::Option<::std::string::String>,
12 pub lag_id: ::std::option::Option<::std::string::String>,
14 pub tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
16 pub provider_name: ::std::option::Option<::std::string::String>,
18 pub request_mac_sec: ::std::option::Option<bool>,
21}
22impl CreateConnectionInput {
23 pub fn location(&self) -> ::std::option::Option<&str> {
25 self.location.as_deref()
26 }
27 pub fn bandwidth(&self) -> ::std::option::Option<&str> {
29 self.bandwidth.as_deref()
30 }
31 pub fn connection_name(&self) -> ::std::option::Option<&str> {
33 self.connection_name.as_deref()
34 }
35 pub fn lag_id(&self) -> ::std::option::Option<&str> {
37 self.lag_id.as_deref()
38 }
39 pub fn tags(&self) -> &[crate::types::Tag] {
43 self.tags.as_deref().unwrap_or_default()
44 }
45 pub fn provider_name(&self) -> ::std::option::Option<&str> {
47 self.provider_name.as_deref()
48 }
49 pub fn request_mac_sec(&self) -> ::std::option::Option<bool> {
52 self.request_mac_sec
53 }
54}
55impl CreateConnectionInput {
56 pub fn builder() -> crate::operation::create_connection::builders::CreateConnectionInputBuilder {
58 crate::operation::create_connection::builders::CreateConnectionInputBuilder::default()
59 }
60}
61
62#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
64#[non_exhaustive]
65pub struct CreateConnectionInputBuilder {
66 pub(crate) location: ::std::option::Option<::std::string::String>,
67 pub(crate) bandwidth: ::std::option::Option<::std::string::String>,
68 pub(crate) connection_name: ::std::option::Option<::std::string::String>,
69 pub(crate) lag_id: ::std::option::Option<::std::string::String>,
70 pub(crate) tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
71 pub(crate) provider_name: ::std::option::Option<::std::string::String>,
72 pub(crate) request_mac_sec: ::std::option::Option<bool>,
73}
74impl CreateConnectionInputBuilder {
75 pub fn location(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
78 self.location = ::std::option::Option::Some(input.into());
79 self
80 }
81 pub fn set_location(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
83 self.location = input;
84 self
85 }
86 pub fn get_location(&self) -> &::std::option::Option<::std::string::String> {
88 &self.location
89 }
90 pub fn bandwidth(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
93 self.bandwidth = ::std::option::Option::Some(input.into());
94 self
95 }
96 pub fn set_bandwidth(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
98 self.bandwidth = input;
99 self
100 }
101 pub fn get_bandwidth(&self) -> &::std::option::Option<::std::string::String> {
103 &self.bandwidth
104 }
105 pub fn connection_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
108 self.connection_name = ::std::option::Option::Some(input.into());
109 self
110 }
111 pub fn set_connection_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
113 self.connection_name = input;
114 self
115 }
116 pub fn get_connection_name(&self) -> &::std::option::Option<::std::string::String> {
118 &self.connection_name
119 }
120 pub fn lag_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
122 self.lag_id = ::std::option::Option::Some(input.into());
123 self
124 }
125 pub fn set_lag_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
127 self.lag_id = input;
128 self
129 }
130 pub fn get_lag_id(&self) -> &::std::option::Option<::std::string::String> {
132 &self.lag_id
133 }
134 pub fn tags(mut self, input: crate::types::Tag) -> Self {
140 let mut v = self.tags.unwrap_or_default();
141 v.push(input);
142 self.tags = ::std::option::Option::Some(v);
143 self
144 }
145 pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
147 self.tags = input;
148 self
149 }
150 pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
152 &self.tags
153 }
154 pub fn provider_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
156 self.provider_name = ::std::option::Option::Some(input.into());
157 self
158 }
159 pub fn set_provider_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
161 self.provider_name = input;
162 self
163 }
164 pub fn get_provider_name(&self) -> &::std::option::Option<::std::string::String> {
166 &self.provider_name
167 }
168 pub fn request_mac_sec(mut self, input: bool) -> Self {
171 self.request_mac_sec = ::std::option::Option::Some(input);
172 self
173 }
174 pub fn set_request_mac_sec(mut self, input: ::std::option::Option<bool>) -> Self {
177 self.request_mac_sec = input;
178 self
179 }
180 pub fn get_request_mac_sec(&self) -> &::std::option::Option<bool> {
183 &self.request_mac_sec
184 }
185 pub fn build(
187 self,
188 ) -> ::std::result::Result<crate::operation::create_connection::CreateConnectionInput, ::aws_smithy_types::error::operation::BuildError> {
189 ::std::result::Result::Ok(crate::operation::create_connection::CreateConnectionInput {
190 location: self.location,
191 bandwidth: self.bandwidth,
192 connection_name: self.connection_name,
193 lag_id: self.lag_id,
194 tags: self.tags,
195 provider_name: self.provider_name,
196 request_mac_sec: self.request_mac_sec,
197 })
198 }
199}