aws_sdk_comprehend/operation/start_topics_detection_job/builders.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::start_topics_detection_job::_start_topics_detection_job_output::StartTopicsDetectionJobOutputBuilder;
3
4pub use crate::operation::start_topics_detection_job::_start_topics_detection_job_input::StartTopicsDetectionJobInputBuilder;
5
6impl crate::operation::start_topics_detection_job::builders::StartTopicsDetectionJobInputBuilder {
7 /// Sends a request with this input using the given client.
8 pub async fn send_with(
9 self,
10 client: &crate::Client,
11 ) -> ::std::result::Result<
12 crate::operation::start_topics_detection_job::StartTopicsDetectionJobOutput,
13 ::aws_smithy_runtime_api::client::result::SdkError<
14 crate::operation::start_topics_detection_job::StartTopicsDetectionJobError,
15 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16 >,
17 > {
18 let mut fluent_builder = client.start_topics_detection_job();
19 fluent_builder.inner = self;
20 fluent_builder.send().await
21 }
22}
23/// Fluent builder constructing a request to `StartTopicsDetectionJob`.
24///
25/// <p>Starts an asynchronous topic detection job. Use the <code>DescribeTopicDetectionJob</code> operation to track the status of a job.</p>
26#[derive(::std::clone::Clone, ::std::fmt::Debug)]
27pub struct StartTopicsDetectionJobFluentBuilder {
28 handle: ::std::sync::Arc<crate::client::Handle>,
29 inner: crate::operation::start_topics_detection_job::builders::StartTopicsDetectionJobInputBuilder,
30 config_override: ::std::option::Option<crate::config::Builder>,
31}
32impl
33 crate::client::customize::internal::CustomizableSend<
34 crate::operation::start_topics_detection_job::StartTopicsDetectionJobOutput,
35 crate::operation::start_topics_detection_job::StartTopicsDetectionJobError,
36 > for StartTopicsDetectionJobFluentBuilder
37{
38 fn send(
39 self,
40 config_override: crate::config::Builder,
41 ) -> crate::client::customize::internal::BoxFuture<
42 crate::client::customize::internal::SendResult<
43 crate::operation::start_topics_detection_job::StartTopicsDetectionJobOutput,
44 crate::operation::start_topics_detection_job::StartTopicsDetectionJobError,
45 >,
46 > {
47 ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
48 }
49}
50impl StartTopicsDetectionJobFluentBuilder {
51 /// Creates a new `StartTopicsDetectionJobFluentBuilder`.
52 pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
53 Self {
54 handle,
55 inner: ::std::default::Default::default(),
56 config_override: ::std::option::Option::None,
57 }
58 }
59 /// Access the StartTopicsDetectionJob as a reference.
60 pub fn as_input(&self) -> &crate::operation::start_topics_detection_job::builders::StartTopicsDetectionJobInputBuilder {
61 &self.inner
62 }
63 /// Sends the request and returns the response.
64 ///
65 /// If an error occurs, an `SdkError` will be returned with additional details that
66 /// can be matched against.
67 ///
68 /// By default, any retryable failures will be retried twice. Retry behavior
69 /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
70 /// set when configuring the client.
71 pub async fn send(
72 self,
73 ) -> ::std::result::Result<
74 crate::operation::start_topics_detection_job::StartTopicsDetectionJobOutput,
75 ::aws_smithy_runtime_api::client::result::SdkError<
76 crate::operation::start_topics_detection_job::StartTopicsDetectionJobError,
77 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
78 >,
79 > {
80 let input = self
81 .inner
82 .build()
83 .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
84 let runtime_plugins = crate::operation::start_topics_detection_job::StartTopicsDetectionJob::operation_runtime_plugins(
85 self.handle.runtime_plugins.clone(),
86 &self.handle.conf,
87 self.config_override,
88 );
89 crate::operation::start_topics_detection_job::StartTopicsDetectionJob::orchestrate(&runtime_plugins, input).await
90 }
91
92 /// Consumes this builder, creating a customizable operation that can be modified before being sent.
93 pub fn customize(
94 self,
95 ) -> crate::client::customize::CustomizableOperation<
96 crate::operation::start_topics_detection_job::StartTopicsDetectionJobOutput,
97 crate::operation::start_topics_detection_job::StartTopicsDetectionJobError,
98 Self,
99 > {
100 crate::client::customize::CustomizableOperation::new(self)
101 }
102 pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
103 self.set_config_override(::std::option::Option::Some(config_override.into()));
104 self
105 }
106
107 pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
108 self.config_override = config_override;
109 self
110 }
111 /// <p>Specifies the format and location of the input data for the job.</p>
112 pub fn input_data_config(mut self, input: crate::types::InputDataConfig) -> Self {
113 self.inner = self.inner.input_data_config(input);
114 self
115 }
116 /// <p>Specifies the format and location of the input data for the job.</p>
117 pub fn set_input_data_config(mut self, input: ::std::option::Option<crate::types::InputDataConfig>) -> Self {
118 self.inner = self.inner.set_input_data_config(input);
119 self
120 }
121 /// <p>Specifies the format and location of the input data for the job.</p>
122 pub fn get_input_data_config(&self) -> &::std::option::Option<crate::types::InputDataConfig> {
123 self.inner.get_input_data_config()
124 }
125 /// <p>Specifies where to send the output files. The output is a compressed archive with two files, <code>topic-terms.csv</code> that lists the terms associated with each topic, and <code>doc-topics.csv</code> that lists the documents associated with each topic</p>
126 pub fn output_data_config(mut self, input: crate::types::OutputDataConfig) -> Self {
127 self.inner = self.inner.output_data_config(input);
128 self
129 }
130 /// <p>Specifies where to send the output files. The output is a compressed archive with two files, <code>topic-terms.csv</code> that lists the terms associated with each topic, and <code>doc-topics.csv</code> that lists the documents associated with each topic</p>
131 pub fn set_output_data_config(mut self, input: ::std::option::Option<crate::types::OutputDataConfig>) -> Self {
132 self.inner = self.inner.set_output_data_config(input);
133 self
134 }
135 /// <p>Specifies where to send the output files. The output is a compressed archive with two files, <code>topic-terms.csv</code> that lists the terms associated with each topic, and <code>doc-topics.csv</code> that lists the documents associated with each topic</p>
136 pub fn get_output_data_config(&self) -> &::std::option::Option<crate::types::OutputDataConfig> {
137 self.inner.get_output_data_config()
138 }
139 /// <p>The Amazon Resource Name (ARN) of the IAM role that grants Amazon Comprehend read access to your input data. For more information, see <a href="https://docs.aws.amazon.com/comprehend/latest/dg/security_iam_id-based-policy-examples.html#auth-role-permissions">Role-based permissions</a>.</p>
140 pub fn data_access_role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
141 self.inner = self.inner.data_access_role_arn(input.into());
142 self
143 }
144 /// <p>The Amazon Resource Name (ARN) of the IAM role that grants Amazon Comprehend read access to your input data. For more information, see <a href="https://docs.aws.amazon.com/comprehend/latest/dg/security_iam_id-based-policy-examples.html#auth-role-permissions">Role-based permissions</a>.</p>
145 pub fn set_data_access_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
146 self.inner = self.inner.set_data_access_role_arn(input);
147 self
148 }
149 /// <p>The Amazon Resource Name (ARN) of the IAM role that grants Amazon Comprehend read access to your input data. For more information, see <a href="https://docs.aws.amazon.com/comprehend/latest/dg/security_iam_id-based-policy-examples.html#auth-role-permissions">Role-based permissions</a>.</p>
150 pub fn get_data_access_role_arn(&self) -> &::std::option::Option<::std::string::String> {
151 self.inner.get_data_access_role_arn()
152 }
153 /// <p>The identifier of the job.</p>
154 pub fn job_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
155 self.inner = self.inner.job_name(input.into());
156 self
157 }
158 /// <p>The identifier of the job.</p>
159 pub fn set_job_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
160 self.inner = self.inner.set_job_name(input);
161 self
162 }
163 /// <p>The identifier of the job.</p>
164 pub fn get_job_name(&self) -> &::std::option::Option<::std::string::String> {
165 self.inner.get_job_name()
166 }
167 /// <p>The number of topics to detect.</p>
168 pub fn number_of_topics(mut self, input: i32) -> Self {
169 self.inner = self.inner.number_of_topics(input);
170 self
171 }
172 /// <p>The number of topics to detect.</p>
173 pub fn set_number_of_topics(mut self, input: ::std::option::Option<i32>) -> Self {
174 self.inner = self.inner.set_number_of_topics(input);
175 self
176 }
177 /// <p>The number of topics to detect.</p>
178 pub fn get_number_of_topics(&self) -> &::std::option::Option<i32> {
179 self.inner.get_number_of_topics()
180 }
181 /// <p>A unique identifier for the request. If you do not set the client request token, Amazon Comprehend generates one.</p>
182 pub fn client_request_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
183 self.inner = self.inner.client_request_token(input.into());
184 self
185 }
186 /// <p>A unique identifier for the request. If you do not set the client request token, Amazon Comprehend generates one.</p>
187 pub fn set_client_request_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
188 self.inner = self.inner.set_client_request_token(input);
189 self
190 }
191 /// <p>A unique identifier for the request. If you do not set the client request token, Amazon Comprehend generates one.</p>
192 pub fn get_client_request_token(&self) -> &::std::option::Option<::std::string::String> {
193 self.inner.get_client_request_token()
194 }
195 /// <p>ID for the Amazon Web Services Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:</p>
196 /// <ul>
197 /// <li>
198 /// <p>KMS Key ID: <code>"1234abcd-12ab-34cd-56ef-1234567890ab"</code></p></li>
199 /// <li>
200 /// <p>Amazon Resource Name (ARN) of a KMS Key: <code>"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"</code></p></li>
201 /// </ul>
202 pub fn volume_kms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
203 self.inner = self.inner.volume_kms_key_id(input.into());
204 self
205 }
206 /// <p>ID for the Amazon Web Services Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:</p>
207 /// <ul>
208 /// <li>
209 /// <p>KMS Key ID: <code>"1234abcd-12ab-34cd-56ef-1234567890ab"</code></p></li>
210 /// <li>
211 /// <p>Amazon Resource Name (ARN) of a KMS Key: <code>"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"</code></p></li>
212 /// </ul>
213 pub fn set_volume_kms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
214 self.inner = self.inner.set_volume_kms_key_id(input);
215 self
216 }
217 /// <p>ID for the Amazon Web Services Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:</p>
218 /// <ul>
219 /// <li>
220 /// <p>KMS Key ID: <code>"1234abcd-12ab-34cd-56ef-1234567890ab"</code></p></li>
221 /// <li>
222 /// <p>Amazon Resource Name (ARN) of a KMS Key: <code>"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"</code></p></li>
223 /// </ul>
224 pub fn get_volume_kms_key_id(&self) -> &::std::option::Option<::std::string::String> {
225 self.inner.get_volume_kms_key_id()
226 }
227 /// <p>Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your topic detection job. For more information, see <a href="https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html">Amazon VPC</a>.</p>
228 pub fn vpc_config(mut self, input: crate::types::VpcConfig) -> Self {
229 self.inner = self.inner.vpc_config(input);
230 self
231 }
232 /// <p>Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your topic detection job. For more information, see <a href="https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html">Amazon VPC</a>.</p>
233 pub fn set_vpc_config(mut self, input: ::std::option::Option<crate::types::VpcConfig>) -> Self {
234 self.inner = self.inner.set_vpc_config(input);
235 self
236 }
237 /// <p>Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your topic detection job. For more information, see <a href="https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html">Amazon VPC</a>.</p>
238 pub fn get_vpc_config(&self) -> &::std::option::Option<crate::types::VpcConfig> {
239 self.inner.get_vpc_config()
240 }
241 ///
242 /// Appends an item to `Tags`.
243 ///
244 /// To override the contents of this collection use [`set_tags`](Self::set_tags).
245 ///
246 /// <p>Tags to associate with the topics detection job. A tag is a key-value pair that adds metadata to a resource used by Amazon Comprehend. For example, a tag with "Sales" as the key might be added to a resource to indicate its use by the sales department.</p>
247 pub fn tags(mut self, input: crate::types::Tag) -> Self {
248 self.inner = self.inner.tags(input);
249 self
250 }
251 /// <p>Tags to associate with the topics detection job. A tag is a key-value pair that adds metadata to a resource used by Amazon Comprehend. For example, a tag with "Sales" as the key might be added to a resource to indicate its use by the sales department.</p>
252 pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
253 self.inner = self.inner.set_tags(input);
254 self
255 }
256 /// <p>Tags to associate with the topics detection job. A tag is a key-value pair that adds metadata to a resource used by Amazon Comprehend. For example, a tag with "Sales" as the key might be added to a resource to indicate its use by the sales department.</p>
257 pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
258 self.inner.get_tags()
259 }
260}