1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct TestParsingOutput {
/// <p>Returns the contents of the input file being tested, parsed according to the specified EDI (electronic data interchange) type.</p>
pub parsed_file_content: ::std::string::String,
/// <p>Returns an array of parsed file contents when the input file is split according to the specified split options. Each element in the array represents a separate split file's parsed content.</p>
pub parsed_split_file_contents: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
/// <p>Returns an array of validation messages generated during EDI validation. These messages provide detailed information about validation errors, warnings, or confirmations based on the configured X12 validation rules such as element length constraints, code list validations, and element requirement checks. This field is populated when the <code>TestParsing</code> API validates EDI documents.</p>
pub validation_messages: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
_request_id: Option<String>,
}
impl TestParsingOutput {
/// <p>Returns the contents of the input file being tested, parsed according to the specified EDI (electronic data interchange) type.</p>
pub fn parsed_file_content(&self) -> &str {
use std::ops::Deref;
self.parsed_file_content.deref()
}
/// <p>Returns an array of parsed file contents when the input file is split according to the specified split options. Each element in the array represents a separate split file's parsed content.</p>
///
/// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.parsed_split_file_contents.is_none()`.
pub fn parsed_split_file_contents(&self) -> &[::std::string::String] {
self.parsed_split_file_contents.as_deref().unwrap_or_default()
}
/// <p>Returns an array of validation messages generated during EDI validation. These messages provide detailed information about validation errors, warnings, or confirmations based on the configured X12 validation rules such as element length constraints, code list validations, and element requirement checks. This field is populated when the <code>TestParsing</code> API validates EDI documents.</p>
///
/// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.validation_messages.is_none()`.
pub fn validation_messages(&self) -> &[::std::string::String] {
self.validation_messages.as_deref().unwrap_or_default()
}
}
impl ::aws_types::request_id::RequestId for TestParsingOutput {
fn request_id(&self) -> Option<&str> {
self._request_id.as_deref()
}
}
impl TestParsingOutput {
/// Creates a new builder-style object to manufacture [`TestParsingOutput`](crate::operation::test_parsing::TestParsingOutput).
pub fn builder() -> crate::operation::test_parsing::builders::TestParsingOutputBuilder {
crate::operation::test_parsing::builders::TestParsingOutputBuilder::default()
}
}
/// A builder for [`TestParsingOutput`](crate::operation::test_parsing::TestParsingOutput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct TestParsingOutputBuilder {
pub(crate) parsed_file_content: ::std::option::Option<::std::string::String>,
pub(crate) parsed_split_file_contents: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub(crate) validation_messages: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
_request_id: Option<String>,
}
impl TestParsingOutputBuilder {
/// <p>Returns the contents of the input file being tested, parsed according to the specified EDI (electronic data interchange) type.</p>
/// This field is required.
pub fn parsed_file_content(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.parsed_file_content = ::std::option::Option::Some(input.into());
self
}
/// <p>Returns the contents of the input file being tested, parsed according to the specified EDI (electronic data interchange) type.</p>
pub fn set_parsed_file_content(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.parsed_file_content = input;
self
}
/// <p>Returns the contents of the input file being tested, parsed according to the specified EDI (electronic data interchange) type.</p>
pub fn get_parsed_file_content(&self) -> &::std::option::Option<::std::string::String> {
&self.parsed_file_content
}
/// Appends an item to `parsed_split_file_contents`.
///
/// To override the contents of this collection use [`set_parsed_split_file_contents`](Self::set_parsed_split_file_contents).
///
/// <p>Returns an array of parsed file contents when the input file is split according to the specified split options. Each element in the array represents a separate split file's parsed content.</p>
pub fn parsed_split_file_contents(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
let mut v = self.parsed_split_file_contents.unwrap_or_default();
v.push(input.into());
self.parsed_split_file_contents = ::std::option::Option::Some(v);
self
}
/// <p>Returns an array of parsed file contents when the input file is split according to the specified split options. Each element in the array represents a separate split file's parsed content.</p>
pub fn set_parsed_split_file_contents(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
self.parsed_split_file_contents = input;
self
}
/// <p>Returns an array of parsed file contents when the input file is split according to the specified split options. Each element in the array represents a separate split file's parsed content.</p>
pub fn get_parsed_split_file_contents(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
&self.parsed_split_file_contents
}
/// Appends an item to `validation_messages`.
///
/// To override the contents of this collection use [`set_validation_messages`](Self::set_validation_messages).
///
/// <p>Returns an array of validation messages generated during EDI validation. These messages provide detailed information about validation errors, warnings, or confirmations based on the configured X12 validation rules such as element length constraints, code list validations, and element requirement checks. This field is populated when the <code>TestParsing</code> API validates EDI documents.</p>
pub fn validation_messages(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
let mut v = self.validation_messages.unwrap_or_default();
v.push(input.into());
self.validation_messages = ::std::option::Option::Some(v);
self
}
/// <p>Returns an array of validation messages generated during EDI validation. These messages provide detailed information about validation errors, warnings, or confirmations based on the configured X12 validation rules such as element length constraints, code list validations, and element requirement checks. This field is populated when the <code>TestParsing</code> API validates EDI documents.</p>
pub fn set_validation_messages(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
self.validation_messages = input;
self
}
/// <p>Returns an array of validation messages generated during EDI validation. These messages provide detailed information about validation errors, warnings, or confirmations based on the configured X12 validation rules such as element length constraints, code list validations, and element requirement checks. This field is populated when the <code>TestParsing</code> API validates EDI documents.</p>
pub fn get_validation_messages(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
&self.validation_messages
}
pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
self._request_id = Some(request_id.into());
self
}
pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
self._request_id = request_id;
self
}
/// Consumes the builder and constructs a [`TestParsingOutput`](crate::operation::test_parsing::TestParsingOutput).
/// This method will fail if any of the following fields are not set:
/// - [`parsed_file_content`](crate::operation::test_parsing::builders::TestParsingOutputBuilder::parsed_file_content)
pub fn build(self) -> ::std::result::Result<crate::operation::test_parsing::TestParsingOutput, ::aws_smithy_types::error::operation::BuildError> {
::std::result::Result::Ok(crate::operation::test_parsing::TestParsingOutput {
parsed_file_content: self.parsed_file_content.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"parsed_file_content",
"parsed_file_content was not specified but it is required when building TestParsingOutput",
)
})?,
parsed_split_file_contents: self.parsed_split_file_contents,
validation_messages: self.validation_messages,
_request_id: self._request_id,
})
}
}