aws_sdk_mediaconnect/operation/update_flow_output/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::update_flow_output::_update_flow_output_output::UpdateFlowOutputOutputBuilder;
3
4pub use crate::operation::update_flow_output::_update_flow_output_input::UpdateFlowOutputInputBuilder;
5
6impl crate::operation::update_flow_output::builders::UpdateFlowOutputInputBuilder {
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::update_flow_output::UpdateFlowOutputOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::update_flow_output::UpdateFlowOutputError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.update_flow_output();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `UpdateFlowOutput`.
24///
25/// <p>Updates an existing flow output.</p>
26#[derive(::std::clone::Clone, ::std::fmt::Debug)]
27pub struct UpdateFlowOutputFluentBuilder {
28    handle: ::std::sync::Arc<crate::client::Handle>,
29    inner: crate::operation::update_flow_output::builders::UpdateFlowOutputInputBuilder,
30    config_override: ::std::option::Option<crate::config::Builder>,
31}
32impl
33    crate::client::customize::internal::CustomizableSend<
34        crate::operation::update_flow_output::UpdateFlowOutputOutput,
35        crate::operation::update_flow_output::UpdateFlowOutputError,
36    > for UpdateFlowOutputFluentBuilder
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::update_flow_output::UpdateFlowOutputOutput,
44            crate::operation::update_flow_output::UpdateFlowOutputError,
45        >,
46    > {
47        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
48    }
49}
50impl UpdateFlowOutputFluentBuilder {
51    /// Creates a new `UpdateFlowOutputFluentBuilder`.
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 UpdateFlowOutput as a reference.
60    pub fn as_input(&self) -> &crate::operation::update_flow_output::builders::UpdateFlowOutputInputBuilder {
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::update_flow_output::UpdateFlowOutputOutput,
75        ::aws_smithy_runtime_api::client::result::SdkError<
76            crate::operation::update_flow_output::UpdateFlowOutputError,
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::update_flow_output::UpdateFlowOutput::operation_runtime_plugins(
85            self.handle.runtime_plugins.clone(),
86            &self.handle.conf,
87            self.config_override,
88        );
89        crate::operation::update_flow_output::UpdateFlowOutput::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::update_flow_output::UpdateFlowOutputOutput,
97        crate::operation::update_flow_output::UpdateFlowOutputError,
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    ///
112    /// Appends an item to `CidrAllowList`.
113    ///
114    /// To override the contents of this collection use [`set_cidr_allow_list`](Self::set_cidr_allow_list).
115    ///
116    /// <p>The range of IP addresses that should be allowed to initiate output requests to this flow. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16.</p>
117    pub fn cidr_allow_list(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
118        self.inner = self.inner.cidr_allow_list(input.into());
119        self
120    }
121    /// <p>The range of IP addresses that should be allowed to initiate output requests to this flow. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16.</p>
122    pub fn set_cidr_allow_list(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
123        self.inner = self.inner.set_cidr_allow_list(input);
124        self
125    }
126    /// <p>The range of IP addresses that should be allowed to initiate output requests to this flow. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16.</p>
127    pub fn get_cidr_allow_list(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
128        self.inner.get_cidr_allow_list()
129    }
130    /// <p>A description of the output. This description appears only on the MediaConnect console and will not be seen by the end user.</p>
131    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
132        self.inner = self.inner.description(input.into());
133        self
134    }
135    /// <p>A description of the output. This description appears only on the MediaConnect console and will not be seen by the end user.</p>
136    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
137        self.inner = self.inner.set_description(input);
138        self
139    }
140    /// <p>A description of the output. This description appears only on the MediaConnect console and will not be seen by the end user.</p>
141    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
142        self.inner.get_description()
143    }
144    /// <p>The IP address where you want to send the output.</p>
145    pub fn destination(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
146        self.inner = self.inner.destination(input.into());
147        self
148    }
149    /// <p>The IP address where you want to send the output.</p>
150    pub fn set_destination(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
151        self.inner = self.inner.set_destination(input);
152        self
153    }
154    /// <p>The IP address where you want to send the output.</p>
155    pub fn get_destination(&self) -> &::std::option::Option<::std::string::String> {
156        self.inner.get_destination()
157    }
158    /// <p>The type of key used for the encryption. If no <code>keyType</code> is provided, the service will use the default setting (static-key). Allowable encryption types: static-key.</p>
159    pub fn encryption(mut self, input: crate::types::UpdateEncryption) -> Self {
160        self.inner = self.inner.encryption(input);
161        self
162    }
163    /// <p>The type of key used for the encryption. If no <code>keyType</code> is provided, the service will use the default setting (static-key). Allowable encryption types: static-key.</p>
164    pub fn set_encryption(mut self, input: ::std::option::Option<crate::types::UpdateEncryption>) -> Self {
165        self.inner = self.inner.set_encryption(input);
166        self
167    }
168    /// <p>The type of key used for the encryption. If no <code>keyType</code> is provided, the service will use the default setting (static-key). Allowable encryption types: static-key.</p>
169    pub fn get_encryption(&self) -> &::std::option::Option<crate::types::UpdateEncryption> {
170        self.inner.get_encryption()
171    }
172    /// <p>The Amazon Resource Name (ARN) of the flow that is associated with the output that you want to update.</p>
173    pub fn flow_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
174        self.inner = self.inner.flow_arn(input.into());
175        self
176    }
177    /// <p>The Amazon Resource Name (ARN) of the flow that is associated with the output that you want to update.</p>
178    pub fn set_flow_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
179        self.inner = self.inner.set_flow_arn(input);
180        self
181    }
182    /// <p>The Amazon Resource Name (ARN) of the flow that is associated with the output that you want to update.</p>
183    pub fn get_flow_arn(&self) -> &::std::option::Option<::std::string::String> {
184        self.inner.get_flow_arn()
185    }
186    /// <p>The maximum latency in milliseconds. This parameter applies only to RIST-based and Zixi-based streams.</p>
187    pub fn max_latency(mut self, input: i32) -> Self {
188        self.inner = self.inner.max_latency(input);
189        self
190    }
191    /// <p>The maximum latency in milliseconds. This parameter applies only to RIST-based and Zixi-based streams.</p>
192    pub fn set_max_latency(mut self, input: ::std::option::Option<i32>) -> Self {
193        self.inner = self.inner.set_max_latency(input);
194        self
195    }
196    /// <p>The maximum latency in milliseconds. This parameter applies only to RIST-based and Zixi-based streams.</p>
197    pub fn get_max_latency(&self) -> &::std::option::Option<i32> {
198        self.inner.get_max_latency()
199    }
200    ///
201    /// Appends an item to `MediaStreamOutputConfigurations`.
202    ///
203    /// To override the contents of this collection use [`set_media_stream_output_configurations`](Self::set_media_stream_output_configurations).
204    ///
205    /// <p>The media streams that are associated with the output, and the parameters for those associations.</p>
206    pub fn media_stream_output_configurations(mut self, input: crate::types::MediaStreamOutputConfigurationRequest) -> Self {
207        self.inner = self.inner.media_stream_output_configurations(input);
208        self
209    }
210    /// <p>The media streams that are associated with the output, and the parameters for those associations.</p>
211    pub fn set_media_stream_output_configurations(
212        mut self,
213        input: ::std::option::Option<::std::vec::Vec<crate::types::MediaStreamOutputConfigurationRequest>>,
214    ) -> Self {
215        self.inner = self.inner.set_media_stream_output_configurations(input);
216        self
217    }
218    /// <p>The media streams that are associated with the output, and the parameters for those associations.</p>
219    pub fn get_media_stream_output_configurations(
220        &self,
221    ) -> &::std::option::Option<::std::vec::Vec<crate::types::MediaStreamOutputConfigurationRequest>> {
222        self.inner.get_media_stream_output_configurations()
223    }
224    /// <p>The minimum latency in milliseconds for SRT-based streams. In streams that use the SRT protocol, this value that you set on your MediaConnect source or output represents the minimal potential latency of that connection. The latency of the stream is set to the highest number between the sender’s minimum latency and the receiver’s minimum latency.</p>
225    pub fn min_latency(mut self, input: i32) -> Self {
226        self.inner = self.inner.min_latency(input);
227        self
228    }
229    /// <p>The minimum latency in milliseconds for SRT-based streams. In streams that use the SRT protocol, this value that you set on your MediaConnect source or output represents the minimal potential latency of that connection. The latency of the stream is set to the highest number between the sender’s minimum latency and the receiver’s minimum latency.</p>
230    pub fn set_min_latency(mut self, input: ::std::option::Option<i32>) -> Self {
231        self.inner = self.inner.set_min_latency(input);
232        self
233    }
234    /// <p>The minimum latency in milliseconds for SRT-based streams. In streams that use the SRT protocol, this value that you set on your MediaConnect source or output represents the minimal potential latency of that connection. The latency of the stream is set to the highest number between the sender’s minimum latency and the receiver’s minimum latency.</p>
235    pub fn get_min_latency(&self) -> &::std::option::Option<i32> {
236        self.inner.get_min_latency()
237    }
238    /// <p>The ARN of the output that you want to update.</p>
239    pub fn output_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
240        self.inner = self.inner.output_arn(input.into());
241        self
242    }
243    /// <p>The ARN of the output that you want to update.</p>
244    pub fn set_output_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
245        self.inner = self.inner.set_output_arn(input);
246        self
247    }
248    /// <p>The ARN of the output that you want to update.</p>
249    pub fn get_output_arn(&self) -> &::std::option::Option<::std::string::String> {
250        self.inner.get_output_arn()
251    }
252    /// <p>The port to use when content is distributed to this output.</p>
253    pub fn port(mut self, input: i32) -> Self {
254        self.inner = self.inner.port(input);
255        self
256    }
257    /// <p>The port to use when content is distributed to this output.</p>
258    pub fn set_port(mut self, input: ::std::option::Option<i32>) -> Self {
259        self.inner = self.inner.set_port(input);
260        self
261    }
262    /// <p>The port to use when content is distributed to this output.</p>
263    pub fn get_port(&self) -> &::std::option::Option<i32> {
264        self.inner.get_port()
265    }
266    /// <p>The protocol to use for the output.</p><note>
267    /// <p>Elemental MediaConnect no longer supports the Fujitsu QoS protocol. This reference is maintained for legacy purposes only.</p>
268    /// </note>
269    pub fn protocol(mut self, input: crate::types::Protocol) -> Self {
270        self.inner = self.inner.protocol(input);
271        self
272    }
273    /// <p>The protocol to use for the output.</p><note>
274    /// <p>Elemental MediaConnect no longer supports the Fujitsu QoS protocol. This reference is maintained for legacy purposes only.</p>
275    /// </note>
276    pub fn set_protocol(mut self, input: ::std::option::Option<crate::types::Protocol>) -> Self {
277        self.inner = self.inner.set_protocol(input);
278        self
279    }
280    /// <p>The protocol to use for the output.</p><note>
281    /// <p>Elemental MediaConnect no longer supports the Fujitsu QoS protocol. This reference is maintained for legacy purposes only.</p>
282    /// </note>
283    pub fn get_protocol(&self) -> &::std::option::Option<crate::types::Protocol> {
284        self.inner.get_protocol()
285    }
286    /// <p>The remote ID for the Zixi-pull stream.</p>
287    pub fn remote_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
288        self.inner = self.inner.remote_id(input.into());
289        self
290    }
291    /// <p>The remote ID for the Zixi-pull stream.</p>
292    pub fn set_remote_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
293        self.inner = self.inner.set_remote_id(input);
294        self
295    }
296    /// <p>The remote ID for the Zixi-pull stream.</p>
297    pub fn get_remote_id(&self) -> &::std::option::Option<::std::string::String> {
298        self.inner.get_remote_id()
299    }
300    /// <p>The port that the flow uses to send outbound requests to initiate connection with the sender.</p>
301    pub fn sender_control_port(mut self, input: i32) -> Self {
302        self.inner = self.inner.sender_control_port(input);
303        self
304    }
305    /// <p>The port that the flow uses to send outbound requests to initiate connection with the sender.</p>
306    pub fn set_sender_control_port(mut self, input: ::std::option::Option<i32>) -> Self {
307        self.inner = self.inner.set_sender_control_port(input);
308        self
309    }
310    /// <p>The port that the flow uses to send outbound requests to initiate connection with the sender.</p>
311    pub fn get_sender_control_port(&self) -> &::std::option::Option<i32> {
312        self.inner.get_sender_control_port()
313    }
314    /// <p>The IP address that the flow communicates with to initiate connection with the sender.</p>
315    pub fn sender_ip_address(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
316        self.inner = self.inner.sender_ip_address(input.into());
317        self
318    }
319    /// <p>The IP address that the flow communicates with to initiate connection with the sender.</p>
320    pub fn set_sender_ip_address(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
321        self.inner = self.inner.set_sender_ip_address(input);
322        self
323    }
324    /// <p>The IP address that the flow communicates with to initiate connection with the sender.</p>
325    pub fn get_sender_ip_address(&self) -> &::std::option::Option<::std::string::String> {
326        self.inner.get_sender_ip_address()
327    }
328    /// <p>The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams.</p>
329    pub fn smoothing_latency(mut self, input: i32) -> Self {
330        self.inner = self.inner.smoothing_latency(input);
331        self
332    }
333    /// <p>The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams.</p>
334    pub fn set_smoothing_latency(mut self, input: ::std::option::Option<i32>) -> Self {
335        self.inner = self.inner.set_smoothing_latency(input);
336        self
337    }
338    /// <p>The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams.</p>
339    pub fn get_smoothing_latency(&self) -> &::std::option::Option<i32> {
340        self.inner.get_smoothing_latency()
341    }
342    /// <p>The stream ID that you want to use for this transport. This parameter applies only to Zixi and SRT caller-based streams.</p>
343    pub fn stream_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
344        self.inner = self.inner.stream_id(input.into());
345        self
346    }
347    /// <p>The stream ID that you want to use for this transport. This parameter applies only to Zixi and SRT caller-based streams.</p>
348    pub fn set_stream_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
349        self.inner = self.inner.set_stream_id(input);
350        self
351    }
352    /// <p>The stream ID that you want to use for this transport. This parameter applies only to Zixi and SRT caller-based streams.</p>
353    pub fn get_stream_id(&self) -> &::std::option::Option<::std::string::String> {
354        self.inner.get_stream_id()
355    }
356    /// <p>The name of the VPC interface attachment to use for this output.</p>
357    pub fn vpc_interface_attachment(mut self, input: crate::types::VpcInterfaceAttachment) -> Self {
358        self.inner = self.inner.vpc_interface_attachment(input);
359        self
360    }
361    /// <p>The name of the VPC interface attachment to use for this output.</p>
362    pub fn set_vpc_interface_attachment(mut self, input: ::std::option::Option<crate::types::VpcInterfaceAttachment>) -> Self {
363        self.inner = self.inner.set_vpc_interface_attachment(input);
364        self
365    }
366    /// <p>The name of the VPC interface attachment to use for this output.</p>
367    pub fn get_vpc_interface_attachment(&self) -> &::std::option::Option<crate::types::VpcInterfaceAttachment> {
368        self.inner.get_vpc_interface_attachment()
369    }
370    /// <p>An indication of whether the output should transmit data or not. If you don't specify the <code>outputStatus</code> field in your request, MediaConnect leaves the value unchanged.</p>
371    pub fn output_status(mut self, input: crate::types::OutputStatus) -> Self {
372        self.inner = self.inner.output_status(input);
373        self
374    }
375    /// <p>An indication of whether the output should transmit data or not. If you don't specify the <code>outputStatus</code> field in your request, MediaConnect leaves the value unchanged.</p>
376    pub fn set_output_status(mut self, input: ::std::option::Option<crate::types::OutputStatus>) -> Self {
377        self.inner = self.inner.set_output_status(input);
378        self
379    }
380    /// <p>An indication of whether the output should transmit data or not. If you don't specify the <code>outputStatus</code> field in your request, MediaConnect leaves the value unchanged.</p>
381    pub fn get_output_status(&self) -> &::std::option::Option<crate::types::OutputStatus> {
382        self.inner.get_output_status()
383    }
384    /// <p>A suffix for the names of the NDI sources that the flow creates. If a custom name isn't specified, MediaConnect uses the output name.</p>
385    pub fn ndi_program_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
386        self.inner = self.inner.ndi_program_name(input.into());
387        self
388    }
389    /// <p>A suffix for the names of the NDI sources that the flow creates. If a custom name isn't specified, MediaConnect uses the output name.</p>
390    pub fn set_ndi_program_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
391        self.inner = self.inner.set_ndi_program_name(input);
392        self
393    }
394    /// <p>A suffix for the names of the NDI sources that the flow creates. If a custom name isn't specified, MediaConnect uses the output name.</p>
395    pub fn get_ndi_program_name(&self) -> &::std::option::Option<::std::string::String> {
396        self.inner.get_ndi_program_name()
397    }
398    /// <p>A quality setting for the NDI Speed HQ encoder.</p>
399    pub fn ndi_speed_hq_quality(mut self, input: i32) -> Self {
400        self.inner = self.inner.ndi_speed_hq_quality(input);
401        self
402    }
403    /// <p>A quality setting for the NDI Speed HQ encoder.</p>
404    pub fn set_ndi_speed_hq_quality(mut self, input: ::std::option::Option<i32>) -> Self {
405        self.inner = self.inner.set_ndi_speed_hq_quality(input);
406        self
407    }
408    /// <p>A quality setting for the NDI Speed HQ encoder.</p>
409    pub fn get_ndi_speed_hq_quality(&self) -> &::std::option::Option<i32> {
410        self.inner.get_ndi_speed_hq_quality()
411    }
412}