aws_sdk_chimesdkmediapipelines/types/
_media_insights_pipeline_configuration_element.rs1#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct MediaInsightsPipelineConfigurationElement {
7 pub r#type: crate::types::MediaInsightsPipelineConfigurationElementType,
9 pub amazon_transcribe_call_analytics_processor_configuration:
11 ::std::option::Option<crate::types::AmazonTranscribeCallAnalyticsProcessorConfiguration>,
12 pub amazon_transcribe_processor_configuration: ::std::option::Option<crate::types::AmazonTranscribeProcessorConfiguration>,
14 pub kinesis_data_stream_sink_configuration: ::std::option::Option<crate::types::KinesisDataStreamSinkConfiguration>,
16 pub s3_recording_sink_configuration: ::std::option::Option<crate::types::S3RecordingSinkConfiguration>,
18 pub voice_analytics_processor_configuration: ::std::option::Option<crate::types::VoiceAnalyticsProcessorConfiguration>,
20 pub lambda_function_sink_configuration: ::std::option::Option<crate::types::LambdaFunctionSinkConfiguration>,
22 pub sqs_queue_sink_configuration: ::std::option::Option<crate::types::SqsQueueSinkConfiguration>,
24 pub sns_topic_sink_configuration: ::std::option::Option<crate::types::SnsTopicSinkConfiguration>,
26 pub voice_enhancement_sink_configuration: ::std::option::Option<crate::types::VoiceEnhancementSinkConfiguration>,
28}
29impl MediaInsightsPipelineConfigurationElement {
30 pub fn r#type(&self) -> &crate::types::MediaInsightsPipelineConfigurationElementType {
32 &self.r#type
33 }
34 pub fn amazon_transcribe_call_analytics_processor_configuration(
36 &self,
37 ) -> ::std::option::Option<&crate::types::AmazonTranscribeCallAnalyticsProcessorConfiguration> {
38 self.amazon_transcribe_call_analytics_processor_configuration.as_ref()
39 }
40 pub fn amazon_transcribe_processor_configuration(&self) -> ::std::option::Option<&crate::types::AmazonTranscribeProcessorConfiguration> {
42 self.amazon_transcribe_processor_configuration.as_ref()
43 }
44 pub fn kinesis_data_stream_sink_configuration(&self) -> ::std::option::Option<&crate::types::KinesisDataStreamSinkConfiguration> {
46 self.kinesis_data_stream_sink_configuration.as_ref()
47 }
48 pub fn s3_recording_sink_configuration(&self) -> ::std::option::Option<&crate::types::S3RecordingSinkConfiguration> {
50 self.s3_recording_sink_configuration.as_ref()
51 }
52 pub fn voice_analytics_processor_configuration(&self) -> ::std::option::Option<&crate::types::VoiceAnalyticsProcessorConfiguration> {
54 self.voice_analytics_processor_configuration.as_ref()
55 }
56 pub fn lambda_function_sink_configuration(&self) -> ::std::option::Option<&crate::types::LambdaFunctionSinkConfiguration> {
58 self.lambda_function_sink_configuration.as_ref()
59 }
60 pub fn sqs_queue_sink_configuration(&self) -> ::std::option::Option<&crate::types::SqsQueueSinkConfiguration> {
62 self.sqs_queue_sink_configuration.as_ref()
63 }
64 pub fn sns_topic_sink_configuration(&self) -> ::std::option::Option<&crate::types::SnsTopicSinkConfiguration> {
66 self.sns_topic_sink_configuration.as_ref()
67 }
68 pub fn voice_enhancement_sink_configuration(&self) -> ::std::option::Option<&crate::types::VoiceEnhancementSinkConfiguration> {
70 self.voice_enhancement_sink_configuration.as_ref()
71 }
72}
73impl MediaInsightsPipelineConfigurationElement {
74 pub fn builder() -> crate::types::builders::MediaInsightsPipelineConfigurationElementBuilder {
76 crate::types::builders::MediaInsightsPipelineConfigurationElementBuilder::default()
77 }
78}
79
80#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
82#[non_exhaustive]
83pub struct MediaInsightsPipelineConfigurationElementBuilder {
84 pub(crate) r#type: ::std::option::Option<crate::types::MediaInsightsPipelineConfigurationElementType>,
85 pub(crate) amazon_transcribe_call_analytics_processor_configuration:
86 ::std::option::Option<crate::types::AmazonTranscribeCallAnalyticsProcessorConfiguration>,
87 pub(crate) amazon_transcribe_processor_configuration: ::std::option::Option<crate::types::AmazonTranscribeProcessorConfiguration>,
88 pub(crate) kinesis_data_stream_sink_configuration: ::std::option::Option<crate::types::KinesisDataStreamSinkConfiguration>,
89 pub(crate) s3_recording_sink_configuration: ::std::option::Option<crate::types::S3RecordingSinkConfiguration>,
90 pub(crate) voice_analytics_processor_configuration: ::std::option::Option<crate::types::VoiceAnalyticsProcessorConfiguration>,
91 pub(crate) lambda_function_sink_configuration: ::std::option::Option<crate::types::LambdaFunctionSinkConfiguration>,
92 pub(crate) sqs_queue_sink_configuration: ::std::option::Option<crate::types::SqsQueueSinkConfiguration>,
93 pub(crate) sns_topic_sink_configuration: ::std::option::Option<crate::types::SnsTopicSinkConfiguration>,
94 pub(crate) voice_enhancement_sink_configuration: ::std::option::Option<crate::types::VoiceEnhancementSinkConfiguration>,
95}
96impl MediaInsightsPipelineConfigurationElementBuilder {
97 pub fn r#type(mut self, input: crate::types::MediaInsightsPipelineConfigurationElementType) -> Self {
100 self.r#type = ::std::option::Option::Some(input);
101 self
102 }
103 pub fn set_type(mut self, input: ::std::option::Option<crate::types::MediaInsightsPipelineConfigurationElementType>) -> Self {
105 self.r#type = input;
106 self
107 }
108 pub fn get_type(&self) -> &::std::option::Option<crate::types::MediaInsightsPipelineConfigurationElementType> {
110 &self.r#type
111 }
112 pub fn amazon_transcribe_call_analytics_processor_configuration(
114 mut self,
115 input: crate::types::AmazonTranscribeCallAnalyticsProcessorConfiguration,
116 ) -> Self {
117 self.amazon_transcribe_call_analytics_processor_configuration = ::std::option::Option::Some(input);
118 self
119 }
120 pub fn set_amazon_transcribe_call_analytics_processor_configuration(
122 mut self,
123 input: ::std::option::Option<crate::types::AmazonTranscribeCallAnalyticsProcessorConfiguration>,
124 ) -> Self {
125 self.amazon_transcribe_call_analytics_processor_configuration = input;
126 self
127 }
128 pub fn get_amazon_transcribe_call_analytics_processor_configuration(
130 &self,
131 ) -> &::std::option::Option<crate::types::AmazonTranscribeCallAnalyticsProcessorConfiguration> {
132 &self.amazon_transcribe_call_analytics_processor_configuration
133 }
134 pub fn amazon_transcribe_processor_configuration(mut self, input: crate::types::AmazonTranscribeProcessorConfiguration) -> Self {
136 self.amazon_transcribe_processor_configuration = ::std::option::Option::Some(input);
137 self
138 }
139 pub fn set_amazon_transcribe_processor_configuration(
141 mut self,
142 input: ::std::option::Option<crate::types::AmazonTranscribeProcessorConfiguration>,
143 ) -> Self {
144 self.amazon_transcribe_processor_configuration = input;
145 self
146 }
147 pub fn get_amazon_transcribe_processor_configuration(&self) -> &::std::option::Option<crate::types::AmazonTranscribeProcessorConfiguration> {
149 &self.amazon_transcribe_processor_configuration
150 }
151 pub fn kinesis_data_stream_sink_configuration(mut self, input: crate::types::KinesisDataStreamSinkConfiguration) -> Self {
153 self.kinesis_data_stream_sink_configuration = ::std::option::Option::Some(input);
154 self
155 }
156 pub fn set_kinesis_data_stream_sink_configuration(
158 mut self,
159 input: ::std::option::Option<crate::types::KinesisDataStreamSinkConfiguration>,
160 ) -> Self {
161 self.kinesis_data_stream_sink_configuration = input;
162 self
163 }
164 pub fn get_kinesis_data_stream_sink_configuration(&self) -> &::std::option::Option<crate::types::KinesisDataStreamSinkConfiguration> {
166 &self.kinesis_data_stream_sink_configuration
167 }
168 pub fn s3_recording_sink_configuration(mut self, input: crate::types::S3RecordingSinkConfiguration) -> Self {
170 self.s3_recording_sink_configuration = ::std::option::Option::Some(input);
171 self
172 }
173 pub fn set_s3_recording_sink_configuration(mut self, input: ::std::option::Option<crate::types::S3RecordingSinkConfiguration>) -> Self {
175 self.s3_recording_sink_configuration = input;
176 self
177 }
178 pub fn get_s3_recording_sink_configuration(&self) -> &::std::option::Option<crate::types::S3RecordingSinkConfiguration> {
180 &self.s3_recording_sink_configuration
181 }
182 pub fn voice_analytics_processor_configuration(mut self, input: crate::types::VoiceAnalyticsProcessorConfiguration) -> Self {
184 self.voice_analytics_processor_configuration = ::std::option::Option::Some(input);
185 self
186 }
187 pub fn set_voice_analytics_processor_configuration(
189 mut self,
190 input: ::std::option::Option<crate::types::VoiceAnalyticsProcessorConfiguration>,
191 ) -> Self {
192 self.voice_analytics_processor_configuration = input;
193 self
194 }
195 pub fn get_voice_analytics_processor_configuration(&self) -> &::std::option::Option<crate::types::VoiceAnalyticsProcessorConfiguration> {
197 &self.voice_analytics_processor_configuration
198 }
199 pub fn lambda_function_sink_configuration(mut self, input: crate::types::LambdaFunctionSinkConfiguration) -> Self {
201 self.lambda_function_sink_configuration = ::std::option::Option::Some(input);
202 self
203 }
204 pub fn set_lambda_function_sink_configuration(mut self, input: ::std::option::Option<crate::types::LambdaFunctionSinkConfiguration>) -> Self {
206 self.lambda_function_sink_configuration = input;
207 self
208 }
209 pub fn get_lambda_function_sink_configuration(&self) -> &::std::option::Option<crate::types::LambdaFunctionSinkConfiguration> {
211 &self.lambda_function_sink_configuration
212 }
213 pub fn sqs_queue_sink_configuration(mut self, input: crate::types::SqsQueueSinkConfiguration) -> Self {
215 self.sqs_queue_sink_configuration = ::std::option::Option::Some(input);
216 self
217 }
218 pub fn set_sqs_queue_sink_configuration(mut self, input: ::std::option::Option<crate::types::SqsQueueSinkConfiguration>) -> Self {
220 self.sqs_queue_sink_configuration = input;
221 self
222 }
223 pub fn get_sqs_queue_sink_configuration(&self) -> &::std::option::Option<crate::types::SqsQueueSinkConfiguration> {
225 &self.sqs_queue_sink_configuration
226 }
227 pub fn sns_topic_sink_configuration(mut self, input: crate::types::SnsTopicSinkConfiguration) -> Self {
229 self.sns_topic_sink_configuration = ::std::option::Option::Some(input);
230 self
231 }
232 pub fn set_sns_topic_sink_configuration(mut self, input: ::std::option::Option<crate::types::SnsTopicSinkConfiguration>) -> Self {
234 self.sns_topic_sink_configuration = input;
235 self
236 }
237 pub fn get_sns_topic_sink_configuration(&self) -> &::std::option::Option<crate::types::SnsTopicSinkConfiguration> {
239 &self.sns_topic_sink_configuration
240 }
241 pub fn voice_enhancement_sink_configuration(mut self, input: crate::types::VoiceEnhancementSinkConfiguration) -> Self {
243 self.voice_enhancement_sink_configuration = ::std::option::Option::Some(input);
244 self
245 }
246 pub fn set_voice_enhancement_sink_configuration(mut self, input: ::std::option::Option<crate::types::VoiceEnhancementSinkConfiguration>) -> Self {
248 self.voice_enhancement_sink_configuration = input;
249 self
250 }
251 pub fn get_voice_enhancement_sink_configuration(&self) -> &::std::option::Option<crate::types::VoiceEnhancementSinkConfiguration> {
253 &self.voice_enhancement_sink_configuration
254 }
255 pub fn build(
259 self,
260 ) -> ::std::result::Result<crate::types::MediaInsightsPipelineConfigurationElement, ::aws_smithy_types::error::operation::BuildError> {
261 ::std::result::Result::Ok(crate::types::MediaInsightsPipelineConfigurationElement {
262 r#type: self.r#type.ok_or_else(|| {
263 ::aws_smithy_types::error::operation::BuildError::missing_field(
264 "r#type",
265 "r#type was not specified but it is required when building MediaInsightsPipelineConfigurationElement",
266 )
267 })?,
268 amazon_transcribe_call_analytics_processor_configuration: self.amazon_transcribe_call_analytics_processor_configuration,
269 amazon_transcribe_processor_configuration: self.amazon_transcribe_processor_configuration,
270 kinesis_data_stream_sink_configuration: self.kinesis_data_stream_sink_configuration,
271 s3_recording_sink_configuration: self.s3_recording_sink_configuration,
272 voice_analytics_processor_configuration: self.voice_analytics_processor_configuration,
273 lambda_function_sink_configuration: self.lambda_function_sink_configuration,
274 sqs_queue_sink_configuration: self.sqs_queue_sink_configuration,
275 sns_topic_sink_configuration: self.sns_topic_sink_configuration,
276 voice_enhancement_sink_configuration: self.voice_enhancement_sink_configuration,
277 })
278 }
279}