aws-sdk-mediaconnect 0.27.0

AWS SDK for AWS MediaConnect
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub use crate::operation::deregister_gateway_instance::_deregister_gateway_instance_output::DeregisterGatewayInstanceOutputBuilder;

pub use crate::operation::deregister_gateway_instance::_deregister_gateway_instance_input::DeregisterGatewayInstanceInputBuilder;

/// Fluent builder constructing a request to `DeregisterGatewayInstance`.
///
/// Deregisters an instance. Before you deregister an instance, all bridges running on the instance must be stopped. If you want to deregister an instance without stopping the bridges, you must use the --force option.
#[derive(std::clone::Clone, std::fmt::Debug)]
pub struct DeregisterGatewayInstanceFluentBuilder {
    handle: std::sync::Arc<crate::client::Handle>,
                    inner: crate::operation::deregister_gateway_instance::builders::DeregisterGatewayInstanceInputBuilder,
}
impl DeregisterGatewayInstanceFluentBuilder {
    /// Creates a new `DeregisterGatewayInstance`.
    pub(crate) fn new(handle: std::sync::Arc<crate::client::Handle>) -> Self {
        Self {
            handle,
            inner: Default::default(),
        }
    }
    /// Consume this builder, creating a customizable operation that can be modified before being
    /// sent. The operation's inner [http::Request] can be modified as well.
    pub async fn customize(
        self,
    ) -> std::result::Result<
        crate::client::customize::CustomizableOperation<
            crate::operation::deregister_gateway_instance::DeregisterGatewayInstance,
            aws_http::retry::AwsResponseRetryClassifier,
        >,
        aws_smithy_http::result::SdkError<
            crate::operation::deregister_gateway_instance::DeregisterGatewayInstanceError,
        >,
    > {
        let handle = self.handle.clone();
        let operation = self
            .inner
            .build()
            .map_err(aws_smithy_http::result::SdkError::construction_failure)?
            .make_operation(&handle.conf)
            .await
            .map_err(aws_smithy_http::result::SdkError::construction_failure)?;
        Ok(crate::client::customize::CustomizableOperation { handle, operation })
    }

    /// Sends the request and returns the response.
    ///
    /// If an error occurs, an `SdkError` will be returned with additional details that
    /// can be matched against.
    ///
    /// By default, any retryable failures will be retried twice. Retry behavior
    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
    /// set when configuring the client.
    pub async fn send(
        self,
    ) -> std::result::Result<
        crate::operation::deregister_gateway_instance::DeregisterGatewayInstanceOutput,
        aws_smithy_http::result::SdkError<
            crate::operation::deregister_gateway_instance::DeregisterGatewayInstanceError,
        >,
    > {
        let op = self
            .inner
            .build()
            .map_err(aws_smithy_http::result::SdkError::construction_failure)?
            .make_operation(&self.handle.conf)
            .await
            .map_err(aws_smithy_http::result::SdkError::construction_failure)?;
        self.handle.client.call(op).await
    }
    /// Force the deregistration of an instance. Force will deregister an instance, even if there are bridges running on it.
    pub fn force(mut self, input: bool) -> Self {
        self.inner = self.inner.force(input);
        self
    }
    /// Force the deregistration of an instance. Force will deregister an instance, even if there are bridges running on it.
    pub fn set_force(mut self, input: std::option::Option<bool>) -> Self {
        self.inner = self.inner.set_force(input);
        self
    }
    /// The Amazon Resource Name (ARN) of the gateway that contains the instance that you want to deregister.
    pub fn gateway_instance_arn(mut self, input: impl Into<std::string::String>) -> Self {
        self.inner = self.inner.gateway_instance_arn(input.into());
        self
    }
    /// The Amazon Resource Name (ARN) of the gateway that contains the instance that you want to deregister.
    pub fn set_gateway_instance_arn(
        mut self,
        input: std::option::Option<std::string::String>,
    ) -> Self {
        self.inner = self.inner.set_gateway_instance_arn(input);
        self
    }
}