aws_sdk_directconnect/operation/create_interconnect/
_create_interconnect_input.rs1#[allow(missing_docs)] #[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct CreateInterconnectInput {
6 pub interconnect_name: ::std::option::Option<::std::string::String>,
8 pub bandwidth: ::std::option::Option<::std::string::String>,
10 pub location: ::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}
19impl CreateInterconnectInput {
20 pub fn interconnect_name(&self) -> ::std::option::Option<&str> {
22 self.interconnect_name.as_deref()
23 }
24 pub fn bandwidth(&self) -> ::std::option::Option<&str> {
26 self.bandwidth.as_deref()
27 }
28 pub fn location(&self) -> ::std::option::Option<&str> {
30 self.location.as_deref()
31 }
32 pub fn lag_id(&self) -> ::std::option::Option<&str> {
34 self.lag_id.as_deref()
35 }
36 pub fn tags(&self) -> &[crate::types::Tag] {
40 self.tags.as_deref().unwrap_or_default()
41 }
42 pub fn provider_name(&self) -> ::std::option::Option<&str> {
44 self.provider_name.as_deref()
45 }
46}
47impl CreateInterconnectInput {
48 pub fn builder() -> crate::operation::create_interconnect::builders::CreateInterconnectInputBuilder {
50 crate::operation::create_interconnect::builders::CreateInterconnectInputBuilder::default()
51 }
52}
53
54#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
56#[non_exhaustive]
57pub struct CreateInterconnectInputBuilder {
58 pub(crate) interconnect_name: ::std::option::Option<::std::string::String>,
59 pub(crate) bandwidth: ::std::option::Option<::std::string::String>,
60 pub(crate) location: ::std::option::Option<::std::string::String>,
61 pub(crate) lag_id: ::std::option::Option<::std::string::String>,
62 pub(crate) tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
63 pub(crate) provider_name: ::std::option::Option<::std::string::String>,
64}
65impl CreateInterconnectInputBuilder {
66 pub fn interconnect_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
69 self.interconnect_name = ::std::option::Option::Some(input.into());
70 self
71 }
72 pub fn set_interconnect_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
74 self.interconnect_name = input;
75 self
76 }
77 pub fn get_interconnect_name(&self) -> &::std::option::Option<::std::string::String> {
79 &self.interconnect_name
80 }
81 pub fn bandwidth(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
84 self.bandwidth = ::std::option::Option::Some(input.into());
85 self
86 }
87 pub fn set_bandwidth(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
89 self.bandwidth = input;
90 self
91 }
92 pub fn get_bandwidth(&self) -> &::std::option::Option<::std::string::String> {
94 &self.bandwidth
95 }
96 pub fn location(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
99 self.location = ::std::option::Option::Some(input.into());
100 self
101 }
102 pub fn set_location(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
104 self.location = input;
105 self
106 }
107 pub fn get_location(&self) -> &::std::option::Option<::std::string::String> {
109 &self.location
110 }
111 pub fn lag_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
113 self.lag_id = ::std::option::Option::Some(input.into());
114 self
115 }
116 pub fn set_lag_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
118 self.lag_id = input;
119 self
120 }
121 pub fn get_lag_id(&self) -> &::std::option::Option<::std::string::String> {
123 &self.lag_id
124 }
125 pub fn tags(mut self, input: crate::types::Tag) -> Self {
131 let mut v = self.tags.unwrap_or_default();
132 v.push(input);
133 self.tags = ::std::option::Option::Some(v);
134 self
135 }
136 pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
138 self.tags = input;
139 self
140 }
141 pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
143 &self.tags
144 }
145 pub fn provider_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
147 self.provider_name = ::std::option::Option::Some(input.into());
148 self
149 }
150 pub fn set_provider_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
152 self.provider_name = input;
153 self
154 }
155 pub fn get_provider_name(&self) -> &::std::option::Option<::std::string::String> {
157 &self.provider_name
158 }
159 pub fn build(
161 self,
162 ) -> ::std::result::Result<crate::operation::create_interconnect::CreateInterconnectInput, ::aws_smithy_types::error::operation::BuildError> {
163 ::std::result::Result::Ok(crate::operation::create_interconnect::CreateInterconnectInput {
164 interconnect_name: self.interconnect_name,
165 bandwidth: self.bandwidth,
166 location: self.location,
167 lag_id: self.lag_id,
168 tags: self.tags,
169 provider_name: self.provider_name,
170 })
171 }
172}