aws_sdk_b2bi/operation/update_capability/
_update_capability_output.rs1#[allow(missing_docs)] #[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct UpdateCapabilityOutput {
6 pub capability_id: ::std::string::String,
8 pub capability_arn: ::std::string::String,
10 pub name: ::std::string::String,
12 pub r#type: crate::types::CapabilityType,
14 pub configuration: ::std::option::Option<crate::types::CapabilityConfiguration>,
16 pub instructions_documents: ::std::option::Option<::std::vec::Vec<crate::types::S3Location>>,
18 pub created_at: ::aws_smithy_types::DateTime,
20 pub modified_at: ::std::option::Option<::aws_smithy_types::DateTime>,
22 _request_id: Option<String>,
23}
24impl UpdateCapabilityOutput {
25 pub fn capability_id(&self) -> &str {
27 use std::ops::Deref;
28 self.capability_id.deref()
29 }
30 pub fn capability_arn(&self) -> &str {
32 use std::ops::Deref;
33 self.capability_arn.deref()
34 }
35 pub fn name(&self) -> &str {
37 use std::ops::Deref;
38 self.name.deref()
39 }
40 pub fn r#type(&self) -> &crate::types::CapabilityType {
42 &self.r#type
43 }
44 pub fn configuration(&self) -> ::std::option::Option<&crate::types::CapabilityConfiguration> {
46 self.configuration.as_ref()
47 }
48 pub fn instructions_documents(&self) -> &[crate::types::S3Location] {
52 self.instructions_documents.as_deref().unwrap_or_default()
53 }
54 pub fn created_at(&self) -> &::aws_smithy_types::DateTime {
56 &self.created_at
57 }
58 pub fn modified_at(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
60 self.modified_at.as_ref()
61 }
62}
63impl ::aws_types::request_id::RequestId for UpdateCapabilityOutput {
64 fn request_id(&self) -> Option<&str> {
65 self._request_id.as_deref()
66 }
67}
68impl UpdateCapabilityOutput {
69 pub fn builder() -> crate::operation::update_capability::builders::UpdateCapabilityOutputBuilder {
71 crate::operation::update_capability::builders::UpdateCapabilityOutputBuilder::default()
72 }
73}
74
75#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
77#[non_exhaustive]
78pub struct UpdateCapabilityOutputBuilder {
79 pub(crate) capability_id: ::std::option::Option<::std::string::String>,
80 pub(crate) capability_arn: ::std::option::Option<::std::string::String>,
81 pub(crate) name: ::std::option::Option<::std::string::String>,
82 pub(crate) r#type: ::std::option::Option<crate::types::CapabilityType>,
83 pub(crate) configuration: ::std::option::Option<crate::types::CapabilityConfiguration>,
84 pub(crate) instructions_documents: ::std::option::Option<::std::vec::Vec<crate::types::S3Location>>,
85 pub(crate) created_at: ::std::option::Option<::aws_smithy_types::DateTime>,
86 pub(crate) modified_at: ::std::option::Option<::aws_smithy_types::DateTime>,
87 _request_id: Option<String>,
88}
89impl UpdateCapabilityOutputBuilder {
90 pub fn capability_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
93 self.capability_id = ::std::option::Option::Some(input.into());
94 self
95 }
96 pub fn set_capability_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
98 self.capability_id = input;
99 self
100 }
101 pub fn get_capability_id(&self) -> &::std::option::Option<::std::string::String> {
103 &self.capability_id
104 }
105 pub fn capability_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
108 self.capability_arn = ::std::option::Option::Some(input.into());
109 self
110 }
111 pub fn set_capability_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
113 self.capability_arn = input;
114 self
115 }
116 pub fn get_capability_arn(&self) -> &::std::option::Option<::std::string::String> {
118 &self.capability_arn
119 }
120 pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
123 self.name = ::std::option::Option::Some(input.into());
124 self
125 }
126 pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
128 self.name = input;
129 self
130 }
131 pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
133 &self.name
134 }
135 pub fn r#type(mut self, input: crate::types::CapabilityType) -> Self {
138 self.r#type = ::std::option::Option::Some(input);
139 self
140 }
141 pub fn set_type(mut self, input: ::std::option::Option<crate::types::CapabilityType>) -> Self {
143 self.r#type = input;
144 self
145 }
146 pub fn get_type(&self) -> &::std::option::Option<crate::types::CapabilityType> {
148 &self.r#type
149 }
150 pub fn configuration(mut self, input: crate::types::CapabilityConfiguration) -> Self {
153 self.configuration = ::std::option::Option::Some(input);
154 self
155 }
156 pub fn set_configuration(mut self, input: ::std::option::Option<crate::types::CapabilityConfiguration>) -> Self {
158 self.configuration = input;
159 self
160 }
161 pub fn get_configuration(&self) -> &::std::option::Option<crate::types::CapabilityConfiguration> {
163 &self.configuration
164 }
165 pub fn instructions_documents(mut self, input: crate::types::S3Location) -> Self {
171 let mut v = self.instructions_documents.unwrap_or_default();
172 v.push(input);
173 self.instructions_documents = ::std::option::Option::Some(v);
174 self
175 }
176 pub fn set_instructions_documents(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::S3Location>>) -> Self {
178 self.instructions_documents = input;
179 self
180 }
181 pub fn get_instructions_documents(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::S3Location>> {
183 &self.instructions_documents
184 }
185 pub fn created_at(mut self, input: ::aws_smithy_types::DateTime) -> Self {
188 self.created_at = ::std::option::Option::Some(input);
189 self
190 }
191 pub fn set_created_at(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
193 self.created_at = input;
194 self
195 }
196 pub fn get_created_at(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
198 &self.created_at
199 }
200 pub fn modified_at(mut self, input: ::aws_smithy_types::DateTime) -> Self {
202 self.modified_at = ::std::option::Option::Some(input);
203 self
204 }
205 pub fn set_modified_at(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
207 self.modified_at = input;
208 self
209 }
210 pub fn get_modified_at(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
212 &self.modified_at
213 }
214 pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
215 self._request_id = Some(request_id.into());
216 self
217 }
218
219 pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
220 self._request_id = request_id;
221 self
222 }
223 pub fn build(
231 self,
232 ) -> ::std::result::Result<crate::operation::update_capability::UpdateCapabilityOutput, ::aws_smithy_types::error::operation::BuildError> {
233 ::std::result::Result::Ok(crate::operation::update_capability::UpdateCapabilityOutput {
234 capability_id: self.capability_id.ok_or_else(|| {
235 ::aws_smithy_types::error::operation::BuildError::missing_field(
236 "capability_id",
237 "capability_id was not specified but it is required when building UpdateCapabilityOutput",
238 )
239 })?,
240 capability_arn: self.capability_arn.ok_or_else(|| {
241 ::aws_smithy_types::error::operation::BuildError::missing_field(
242 "capability_arn",
243 "capability_arn was not specified but it is required when building UpdateCapabilityOutput",
244 )
245 })?,
246 name: self.name.ok_or_else(|| {
247 ::aws_smithy_types::error::operation::BuildError::missing_field(
248 "name",
249 "name was not specified but it is required when building UpdateCapabilityOutput",
250 )
251 })?,
252 r#type: self.r#type.ok_or_else(|| {
253 ::aws_smithy_types::error::operation::BuildError::missing_field(
254 "r#type",
255 "r#type was not specified but it is required when building UpdateCapabilityOutput",
256 )
257 })?,
258 configuration: self.configuration,
259 instructions_documents: self.instructions_documents,
260 created_at: self.created_at.ok_or_else(|| {
261 ::aws_smithy_types::error::operation::BuildError::missing_field(
262 "created_at",
263 "created_at was not specified but it is required when building UpdateCapabilityOutput",
264 )
265 })?,
266 modified_at: self.modified_at,
267 _request_id: self._request_id,
268 })
269 }
270}