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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
// 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 TranslateTextInput {
/// <p>The text to translate. The text string can be a maximum of 10,000 bytes long. Depending on your character set, this may be fewer than 10,000 characters.</p>
#[doc(hidden)]
pub text: std::option::Option<std::string::String>,
/// <p>The name of the terminology list file to be used in the TranslateText request. You can use 1 terminology list at most in a <code>TranslateText</code> request. Terminology lists can contain a maximum of 256 terms.</p>
#[doc(hidden)]
pub terminology_names: std::option::Option<std::vec::Vec<std::string::String>>,
/// <p>The language code for the language of the source text. The language must be a language supported by Amazon Translate. For a list of language codes, see <a href="https://docs.aws.amazon.com/translate/latest/dg/what-is-languages.html">Supported languages</a>.</p>
/// <p>To have Amazon Translate determine the source language of your text, you can specify <code>auto</code> in the <code>SourceLanguageCode</code> field. If you specify <code>auto</code>, Amazon Translate will call <a href="https://docs.aws.amazon.com/comprehend/latest/dg/comprehend-general.html">Amazon Comprehend</a> to determine the source language.</p> <note>
/// <p>If you specify <code>auto</code>, you must send the <code>TranslateText</code> request in a region that supports Amazon Comprehend. Otherwise, the request returns an error indicating that autodetect is not supported. </p>
/// </note>
#[doc(hidden)]
pub source_language_code: std::option::Option<std::string::String>,
/// <p>The language code requested for the language of the target text. The language must be a language supported by Amazon Translate.</p>
#[doc(hidden)]
pub target_language_code: std::option::Option<std::string::String>,
/// <p>Settings to configure your translation output, including the option to set the formality level of the output text and the option to mask profane words and phrases.</p>
#[doc(hidden)]
pub settings: std::option::Option<crate::types::TranslationSettings>,
}
impl TranslateTextInput {
/// <p>The text to translate. The text string can be a maximum of 10,000 bytes long. Depending on your character set, this may be fewer than 10,000 characters.</p>
pub fn text(&self) -> std::option::Option<&str> {
self.text.as_deref()
}
/// <p>The name of the terminology list file to be used in the TranslateText request. You can use 1 terminology list at most in a <code>TranslateText</code> request. Terminology lists can contain a maximum of 256 terms.</p>
pub fn terminology_names(&self) -> std::option::Option<&[std::string::String]> {
self.terminology_names.as_deref()
}
/// <p>The language code for the language of the source text. The language must be a language supported by Amazon Translate. For a list of language codes, see <a href="https://docs.aws.amazon.com/translate/latest/dg/what-is-languages.html">Supported languages</a>.</p>
/// <p>To have Amazon Translate determine the source language of your text, you can specify <code>auto</code> in the <code>SourceLanguageCode</code> field. If you specify <code>auto</code>, Amazon Translate will call <a href="https://docs.aws.amazon.com/comprehend/latest/dg/comprehend-general.html">Amazon Comprehend</a> to determine the source language.</p> <note>
/// <p>If you specify <code>auto</code>, you must send the <code>TranslateText</code> request in a region that supports Amazon Comprehend. Otherwise, the request returns an error indicating that autodetect is not supported. </p>
/// </note>
pub fn source_language_code(&self) -> std::option::Option<&str> {
self.source_language_code.as_deref()
}
/// <p>The language code requested for the language of the target text. The language must be a language supported by Amazon Translate.</p>
pub fn target_language_code(&self) -> std::option::Option<&str> {
self.target_language_code.as_deref()
}
/// <p>Settings to configure your translation output, including the option to set the formality level of the output text and the option to mask profane words and phrases.</p>
pub fn settings(&self) -> std::option::Option<&crate::types::TranslationSettings> {
self.settings.as_ref()
}
}
impl TranslateTextInput {
/// Creates a new builder-style object to manufacture [`TranslateTextInput`](crate::operation::translate_text::TranslateTextInput).
pub fn builder() -> crate::operation::translate_text::builders::TranslateTextInputBuilder {
crate::operation::translate_text::builders::TranslateTextInputBuilder::default()
}
}
/// A builder for [`TranslateTextInput`](crate::operation::translate_text::TranslateTextInput).
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct TranslateTextInputBuilder {
pub(crate) text: std::option::Option<std::string::String>,
pub(crate) terminology_names: std::option::Option<std::vec::Vec<std::string::String>>,
pub(crate) source_language_code: std::option::Option<std::string::String>,
pub(crate) target_language_code: std::option::Option<std::string::String>,
pub(crate) settings: std::option::Option<crate::types::TranslationSettings>,
}
impl TranslateTextInputBuilder {
/// <p>The text to translate. The text string can be a maximum of 10,000 bytes long. Depending on your character set, this may be fewer than 10,000 characters.</p>
pub fn text(mut self, input: impl Into<std::string::String>) -> Self {
self.text = Some(input.into());
self
}
/// <p>The text to translate. The text string can be a maximum of 10,000 bytes long. Depending on your character set, this may be fewer than 10,000 characters.</p>
pub fn set_text(mut self, input: std::option::Option<std::string::String>) -> Self {
self.text = input;
self
}
/// Appends an item to `terminology_names`.
///
/// To override the contents of this collection use [`set_terminology_names`](Self::set_terminology_names).
///
/// <p>The name of the terminology list file to be used in the TranslateText request. You can use 1 terminology list at most in a <code>TranslateText</code> request. Terminology lists can contain a maximum of 256 terms.</p>
pub fn terminology_names(mut self, input: impl Into<std::string::String>) -> Self {
let mut v = self.terminology_names.unwrap_or_default();
v.push(input.into());
self.terminology_names = Some(v);
self
}
/// <p>The name of the terminology list file to be used in the TranslateText request. You can use 1 terminology list at most in a <code>TranslateText</code> request. Terminology lists can contain a maximum of 256 terms.</p>
pub fn set_terminology_names(
mut self,
input: std::option::Option<std::vec::Vec<std::string::String>>,
) -> Self {
self.terminology_names = input;
self
}
/// <p>The language code for the language of the source text. The language must be a language supported by Amazon Translate. For a list of language codes, see <a href="https://docs.aws.amazon.com/translate/latest/dg/what-is-languages.html">Supported languages</a>.</p>
/// <p>To have Amazon Translate determine the source language of your text, you can specify <code>auto</code> in the <code>SourceLanguageCode</code> field. If you specify <code>auto</code>, Amazon Translate will call <a href="https://docs.aws.amazon.com/comprehend/latest/dg/comprehend-general.html">Amazon Comprehend</a> to determine the source language.</p> <note>
/// <p>If you specify <code>auto</code>, you must send the <code>TranslateText</code> request in a region that supports Amazon Comprehend. Otherwise, the request returns an error indicating that autodetect is not supported. </p>
/// </note>
pub fn source_language_code(mut self, input: impl Into<std::string::String>) -> Self {
self.source_language_code = Some(input.into());
self
}
/// <p>The language code for the language of the source text. The language must be a language supported by Amazon Translate. For a list of language codes, see <a href="https://docs.aws.amazon.com/translate/latest/dg/what-is-languages.html">Supported languages</a>.</p>
/// <p>To have Amazon Translate determine the source language of your text, you can specify <code>auto</code> in the <code>SourceLanguageCode</code> field. If you specify <code>auto</code>, Amazon Translate will call <a href="https://docs.aws.amazon.com/comprehend/latest/dg/comprehend-general.html">Amazon Comprehend</a> to determine the source language.</p> <note>
/// <p>If you specify <code>auto</code>, you must send the <code>TranslateText</code> request in a region that supports Amazon Comprehend. Otherwise, the request returns an error indicating that autodetect is not supported. </p>
/// </note>
pub fn set_source_language_code(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.source_language_code = input;
self
}
/// <p>The language code requested for the language of the target text. The language must be a language supported by Amazon Translate.</p>
pub fn target_language_code(mut self, input: impl Into<std::string::String>) -> Self {
self.target_language_code = Some(input.into());
self
}
/// <p>The language code requested for the language of the target text. The language must be a language supported by Amazon Translate.</p>
pub fn set_target_language_code(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.target_language_code = input;
self
}
/// <p>Settings to configure your translation output, including the option to set the formality level of the output text and the option to mask profane words and phrases.</p>
pub fn settings(mut self, input: crate::types::TranslationSettings) -> Self {
self.settings = Some(input);
self
}
/// <p>Settings to configure your translation output, including the option to set the formality level of the output text and the option to mask profane words and phrases.</p>
pub fn set_settings(
mut self,
input: std::option::Option<crate::types::TranslationSettings>,
) -> Self {
self.settings = input;
self
}
/// Consumes the builder and constructs a [`TranslateTextInput`](crate::operation::translate_text::TranslateTextInput).
pub fn build(
self,
) -> Result<
crate::operation::translate_text::TranslateTextInput,
aws_smithy_http::operation::error::BuildError,
> {
Ok(crate::operation::translate_text::TranslateTextInput {
text: self.text,
terminology_names: self.terminology_names,
source_language_code: self.source_language_code,
target_language_code: self.target_language_code,
settings: self.settings,
})
}
}