Skip to main content

aws_sdk_entityresolution/operation/get_matching_workflow/
_get_matching_workflow_output.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(missing_docs)] // documentation missing in model
3#[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct GetMatchingWorkflowOutput {
6    /// <p>The name of the workflow.</p>
7    pub workflow_name: ::std::string::String,
8    /// <p>The ARN (Amazon Resource Name) that Entity Resolution generated for the <code>MatchingWorkflow</code>.</p>
9    pub workflow_arn: ::std::string::String,
10    /// <p>A description of the workflow.</p>
11    pub description: ::std::option::Option<::std::string::String>,
12    /// <p>A list of <code>InputSource</code> objects, which have the fields <code>InputSourceARN</code> and <code>SchemaName</code>.</p>
13    pub input_source_config: ::std::vec::Vec<crate::types::InputSource>,
14    /// <p>A list of <code>OutputSource</code> objects, each of which contains fields <code>outputS3Path</code>, <code>applyNormalization</code>, <code>KMSArn</code>, and <code>output</code>.</p>
15    pub output_source_config: ::std::vec::Vec<crate::types::OutputSource>,
16    /// <p>An object which defines the <code>resolutionType</code> and the <code>ruleBasedProperties</code>.</p>
17    pub resolution_techniques: ::std::option::Option<crate::types::ResolutionTechniques>,
18    /// <p>The timestamp of when the workflow was created.</p>
19    pub created_at: ::aws_smithy_types::DateTime,
20    /// <p>The timestamp of when the workflow was last updated.</p>
21    pub updated_at: ::aws_smithy_types::DateTime,
22    /// <p>An object which defines an incremental run type and has only <code>incrementalRunType</code> as a field.</p>
23    pub incremental_run_config: ::std::option::Option<crate::types::IncrementalRunConfig>,
24    /// <p>The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to access Amazon Web Services resources on your behalf.</p>
25    pub role_arn: ::std::string::String,
26    /// <p>The tags used to organize, track, or control access for this resource.</p>
27    pub tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
28    _request_id: Option<String>,
29}
30impl GetMatchingWorkflowOutput {
31    /// <p>The name of the workflow.</p>
32    pub fn workflow_name(&self) -> &str {
33        use std::ops::Deref;
34        self.workflow_name.deref()
35    }
36    /// <p>The ARN (Amazon Resource Name) that Entity Resolution generated for the <code>MatchingWorkflow</code>.</p>
37    pub fn workflow_arn(&self) -> &str {
38        use std::ops::Deref;
39        self.workflow_arn.deref()
40    }
41    /// <p>A description of the workflow.</p>
42    pub fn description(&self) -> ::std::option::Option<&str> {
43        self.description.as_deref()
44    }
45    /// <p>A list of <code>InputSource</code> objects, which have the fields <code>InputSourceARN</code> and <code>SchemaName</code>.</p>
46    pub fn input_source_config(&self) -> &[crate::types::InputSource] {
47        use std::ops::Deref;
48        self.input_source_config.deref()
49    }
50    /// <p>A list of <code>OutputSource</code> objects, each of which contains fields <code>outputS3Path</code>, <code>applyNormalization</code>, <code>KMSArn</code>, and <code>output</code>.</p>
51    pub fn output_source_config(&self) -> &[crate::types::OutputSource] {
52        use std::ops::Deref;
53        self.output_source_config.deref()
54    }
55    /// <p>An object which defines the <code>resolutionType</code> and the <code>ruleBasedProperties</code>.</p>
56    pub fn resolution_techniques(&self) -> ::std::option::Option<&crate::types::ResolutionTechniques> {
57        self.resolution_techniques.as_ref()
58    }
59    /// <p>The timestamp of when the workflow was created.</p>
60    pub fn created_at(&self) -> &::aws_smithy_types::DateTime {
61        &self.created_at
62    }
63    /// <p>The timestamp of when the workflow was last updated.</p>
64    pub fn updated_at(&self) -> &::aws_smithy_types::DateTime {
65        &self.updated_at
66    }
67    /// <p>An object which defines an incremental run type and has only <code>incrementalRunType</code> as a field.</p>
68    pub fn incremental_run_config(&self) -> ::std::option::Option<&crate::types::IncrementalRunConfig> {
69        self.incremental_run_config.as_ref()
70    }
71    /// <p>The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to access Amazon Web Services resources on your behalf.</p>
72    pub fn role_arn(&self) -> &str {
73        use std::ops::Deref;
74        self.role_arn.deref()
75    }
76    /// <p>The tags used to organize, track, or control access for this resource.</p>
77    pub fn tags(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
78        self.tags.as_ref()
79    }
80}
81impl ::aws_types::request_id::RequestId for GetMatchingWorkflowOutput {
82    fn request_id(&self) -> Option<&str> {
83        self._request_id.as_deref()
84    }
85}
86impl GetMatchingWorkflowOutput {
87    /// Creates a new builder-style object to manufacture [`GetMatchingWorkflowOutput`](crate::operation::get_matching_workflow::GetMatchingWorkflowOutput).
88    pub fn builder() -> crate::operation::get_matching_workflow::builders::GetMatchingWorkflowOutputBuilder {
89        crate::operation::get_matching_workflow::builders::GetMatchingWorkflowOutputBuilder::default()
90    }
91}
92
93/// A builder for [`GetMatchingWorkflowOutput`](crate::operation::get_matching_workflow::GetMatchingWorkflowOutput).
94#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
95#[non_exhaustive]
96pub struct GetMatchingWorkflowOutputBuilder {
97    pub(crate) workflow_name: ::std::option::Option<::std::string::String>,
98    pub(crate) workflow_arn: ::std::option::Option<::std::string::String>,
99    pub(crate) description: ::std::option::Option<::std::string::String>,
100    pub(crate) input_source_config: ::std::option::Option<::std::vec::Vec<crate::types::InputSource>>,
101    pub(crate) output_source_config: ::std::option::Option<::std::vec::Vec<crate::types::OutputSource>>,
102    pub(crate) resolution_techniques: ::std::option::Option<crate::types::ResolutionTechniques>,
103    pub(crate) created_at: ::std::option::Option<::aws_smithy_types::DateTime>,
104    pub(crate) updated_at: ::std::option::Option<::aws_smithy_types::DateTime>,
105    pub(crate) incremental_run_config: ::std::option::Option<crate::types::IncrementalRunConfig>,
106    pub(crate) role_arn: ::std::option::Option<::std::string::String>,
107    pub(crate) tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
108    _request_id: Option<String>,
109}
110impl GetMatchingWorkflowOutputBuilder {
111    /// <p>The name of the workflow.</p>
112    /// This field is required.
113    pub fn workflow_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
114        self.workflow_name = ::std::option::Option::Some(input.into());
115        self
116    }
117    /// <p>The name of the workflow.</p>
118    pub fn set_workflow_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
119        self.workflow_name = input;
120        self
121    }
122    /// <p>The name of the workflow.</p>
123    pub fn get_workflow_name(&self) -> &::std::option::Option<::std::string::String> {
124        &self.workflow_name
125    }
126    /// <p>The ARN (Amazon Resource Name) that Entity Resolution generated for the <code>MatchingWorkflow</code>.</p>
127    /// This field is required.
128    pub fn workflow_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
129        self.workflow_arn = ::std::option::Option::Some(input.into());
130        self
131    }
132    /// <p>The ARN (Amazon Resource Name) that Entity Resolution generated for the <code>MatchingWorkflow</code>.</p>
133    pub fn set_workflow_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
134        self.workflow_arn = input;
135        self
136    }
137    /// <p>The ARN (Amazon Resource Name) that Entity Resolution generated for the <code>MatchingWorkflow</code>.</p>
138    pub fn get_workflow_arn(&self) -> &::std::option::Option<::std::string::String> {
139        &self.workflow_arn
140    }
141    /// <p>A description of the workflow.</p>
142    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
143        self.description = ::std::option::Option::Some(input.into());
144        self
145    }
146    /// <p>A description of the workflow.</p>
147    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
148        self.description = input;
149        self
150    }
151    /// <p>A description of the workflow.</p>
152    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
153        &self.description
154    }
155    /// Appends an item to `input_source_config`.
156    ///
157    /// To override the contents of this collection use [`set_input_source_config`](Self::set_input_source_config).
158    ///
159    /// <p>A list of <code>InputSource</code> objects, which have the fields <code>InputSourceARN</code> and <code>SchemaName</code>.</p>
160    pub fn input_source_config(mut self, input: crate::types::InputSource) -> Self {
161        let mut v = self.input_source_config.unwrap_or_default();
162        v.push(input);
163        self.input_source_config = ::std::option::Option::Some(v);
164        self
165    }
166    /// <p>A list of <code>InputSource</code> objects, which have the fields <code>InputSourceARN</code> and <code>SchemaName</code>.</p>
167    pub fn set_input_source_config(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::InputSource>>) -> Self {
168        self.input_source_config = input;
169        self
170    }
171    /// <p>A list of <code>InputSource</code> objects, which have the fields <code>InputSourceARN</code> and <code>SchemaName</code>.</p>
172    pub fn get_input_source_config(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::InputSource>> {
173        &self.input_source_config
174    }
175    /// Appends an item to `output_source_config`.
176    ///
177    /// To override the contents of this collection use [`set_output_source_config`](Self::set_output_source_config).
178    ///
179    /// <p>A list of <code>OutputSource</code> objects, each of which contains fields <code>outputS3Path</code>, <code>applyNormalization</code>, <code>KMSArn</code>, and <code>output</code>.</p>
180    pub fn output_source_config(mut self, input: crate::types::OutputSource) -> Self {
181        let mut v = self.output_source_config.unwrap_or_default();
182        v.push(input);
183        self.output_source_config = ::std::option::Option::Some(v);
184        self
185    }
186    /// <p>A list of <code>OutputSource</code> objects, each of which contains fields <code>outputS3Path</code>, <code>applyNormalization</code>, <code>KMSArn</code>, and <code>output</code>.</p>
187    pub fn set_output_source_config(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::OutputSource>>) -> Self {
188        self.output_source_config = input;
189        self
190    }
191    /// <p>A list of <code>OutputSource</code> objects, each of which contains fields <code>outputS3Path</code>, <code>applyNormalization</code>, <code>KMSArn</code>, and <code>output</code>.</p>
192    pub fn get_output_source_config(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::OutputSource>> {
193        &self.output_source_config
194    }
195    /// <p>An object which defines the <code>resolutionType</code> and the <code>ruleBasedProperties</code>.</p>
196    /// This field is required.
197    pub fn resolution_techniques(mut self, input: crate::types::ResolutionTechniques) -> Self {
198        self.resolution_techniques = ::std::option::Option::Some(input);
199        self
200    }
201    /// <p>An object which defines the <code>resolutionType</code> and the <code>ruleBasedProperties</code>.</p>
202    pub fn set_resolution_techniques(mut self, input: ::std::option::Option<crate::types::ResolutionTechniques>) -> Self {
203        self.resolution_techniques = input;
204        self
205    }
206    /// <p>An object which defines the <code>resolutionType</code> and the <code>ruleBasedProperties</code>.</p>
207    pub fn get_resolution_techniques(&self) -> &::std::option::Option<crate::types::ResolutionTechniques> {
208        &self.resolution_techniques
209    }
210    /// <p>The timestamp of when the workflow was created.</p>
211    /// This field is required.
212    pub fn created_at(mut self, input: ::aws_smithy_types::DateTime) -> Self {
213        self.created_at = ::std::option::Option::Some(input);
214        self
215    }
216    /// <p>The timestamp of when the workflow was created.</p>
217    pub fn set_created_at(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
218        self.created_at = input;
219        self
220    }
221    /// <p>The timestamp of when the workflow was created.</p>
222    pub fn get_created_at(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
223        &self.created_at
224    }
225    /// <p>The timestamp of when the workflow was last updated.</p>
226    /// This field is required.
227    pub fn updated_at(mut self, input: ::aws_smithy_types::DateTime) -> Self {
228        self.updated_at = ::std::option::Option::Some(input);
229        self
230    }
231    /// <p>The timestamp of when the workflow was last updated.</p>
232    pub fn set_updated_at(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
233        self.updated_at = input;
234        self
235    }
236    /// <p>The timestamp of when the workflow was last updated.</p>
237    pub fn get_updated_at(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
238        &self.updated_at
239    }
240    /// <p>An object which defines an incremental run type and has only <code>incrementalRunType</code> as a field.</p>
241    pub fn incremental_run_config(mut self, input: crate::types::IncrementalRunConfig) -> Self {
242        self.incremental_run_config = ::std::option::Option::Some(input);
243        self
244    }
245    /// <p>An object which defines an incremental run type and has only <code>incrementalRunType</code> as a field.</p>
246    pub fn set_incremental_run_config(mut self, input: ::std::option::Option<crate::types::IncrementalRunConfig>) -> Self {
247        self.incremental_run_config = input;
248        self
249    }
250    /// <p>An object which defines an incremental run type and has only <code>incrementalRunType</code> as a field.</p>
251    pub fn get_incremental_run_config(&self) -> &::std::option::Option<crate::types::IncrementalRunConfig> {
252        &self.incremental_run_config
253    }
254    /// <p>The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to access Amazon Web Services resources on your behalf.</p>
255    /// This field is required.
256    pub fn role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
257        self.role_arn = ::std::option::Option::Some(input.into());
258        self
259    }
260    /// <p>The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to access Amazon Web Services resources on your behalf.</p>
261    pub fn set_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
262        self.role_arn = input;
263        self
264    }
265    /// <p>The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to access Amazon Web Services resources on your behalf.</p>
266    pub fn get_role_arn(&self) -> &::std::option::Option<::std::string::String> {
267        &self.role_arn
268    }
269    /// Adds a key-value pair to `tags`.
270    ///
271    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
272    ///
273    /// <p>The tags used to organize, track, or control access for this resource.</p>
274    pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
275        let mut hash_map = self.tags.unwrap_or_default();
276        hash_map.insert(k.into(), v.into());
277        self.tags = ::std::option::Option::Some(hash_map);
278        self
279    }
280    /// <p>The tags used to organize, track, or control access for this resource.</p>
281    pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
282        self.tags = input;
283        self
284    }
285    /// <p>The tags used to organize, track, or control access for this resource.</p>
286    pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
287        &self.tags
288    }
289    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
290        self._request_id = Some(request_id.into());
291        self
292    }
293
294    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
295        self._request_id = request_id;
296        self
297    }
298    /// Consumes the builder and constructs a [`GetMatchingWorkflowOutput`](crate::operation::get_matching_workflow::GetMatchingWorkflowOutput).
299    /// This method will fail if any of the following fields are not set:
300    /// - [`workflow_name`](crate::operation::get_matching_workflow::builders::GetMatchingWorkflowOutputBuilder::workflow_name)
301    /// - [`workflow_arn`](crate::operation::get_matching_workflow::builders::GetMatchingWorkflowOutputBuilder::workflow_arn)
302    /// - [`input_source_config`](crate::operation::get_matching_workflow::builders::GetMatchingWorkflowOutputBuilder::input_source_config)
303    /// - [`output_source_config`](crate::operation::get_matching_workflow::builders::GetMatchingWorkflowOutputBuilder::output_source_config)
304    /// - [`created_at`](crate::operation::get_matching_workflow::builders::GetMatchingWorkflowOutputBuilder::created_at)
305    /// - [`updated_at`](crate::operation::get_matching_workflow::builders::GetMatchingWorkflowOutputBuilder::updated_at)
306    /// - [`role_arn`](crate::operation::get_matching_workflow::builders::GetMatchingWorkflowOutputBuilder::role_arn)
307    pub fn build(
308        self,
309    ) -> ::std::result::Result<crate::operation::get_matching_workflow::GetMatchingWorkflowOutput, ::aws_smithy_types::error::operation::BuildError>
310    {
311        ::std::result::Result::Ok(crate::operation::get_matching_workflow::GetMatchingWorkflowOutput {
312            workflow_name: self.workflow_name.ok_or_else(|| {
313                ::aws_smithy_types::error::operation::BuildError::missing_field(
314                    "workflow_name",
315                    "workflow_name was not specified but it is required when building GetMatchingWorkflowOutput",
316                )
317            })?,
318            workflow_arn: self.workflow_arn.ok_or_else(|| {
319                ::aws_smithy_types::error::operation::BuildError::missing_field(
320                    "workflow_arn",
321                    "workflow_arn was not specified but it is required when building GetMatchingWorkflowOutput",
322                )
323            })?,
324            description: self.description,
325            input_source_config: self.input_source_config.ok_or_else(|| {
326                ::aws_smithy_types::error::operation::BuildError::missing_field(
327                    "input_source_config",
328                    "input_source_config was not specified but it is required when building GetMatchingWorkflowOutput",
329                )
330            })?,
331            output_source_config: self.output_source_config.ok_or_else(|| {
332                ::aws_smithy_types::error::operation::BuildError::missing_field(
333                    "output_source_config",
334                    "output_source_config was not specified but it is required when building GetMatchingWorkflowOutput",
335                )
336            })?,
337            resolution_techniques: self.resolution_techniques,
338            created_at: self.created_at.ok_or_else(|| {
339                ::aws_smithy_types::error::operation::BuildError::missing_field(
340                    "created_at",
341                    "created_at was not specified but it is required when building GetMatchingWorkflowOutput",
342                )
343            })?,
344            updated_at: self.updated_at.ok_or_else(|| {
345                ::aws_smithy_types::error::operation::BuildError::missing_field(
346                    "updated_at",
347                    "updated_at was not specified but it is required when building GetMatchingWorkflowOutput",
348                )
349            })?,
350            incremental_run_config: self.incremental_run_config,
351            role_arn: self.role_arn.ok_or_else(|| {
352                ::aws_smithy_types::error::operation::BuildError::missing_field(
353                    "role_arn",
354                    "role_arn was not specified but it is required when building GetMatchingWorkflowOutput",
355                )
356            })?,
357            tags: self.tags,
358            _request_id: self._request_id,
359        })
360    }
361}