aws-sdk-mediaconnect 1.109.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_input::DeregisterGatewayInstanceInputBuilder;

pub use crate::operation::deregister_gateway_instance::_deregister_gateway_instance_output::DeregisterGatewayInstanceOutputBuilder;

impl crate::operation::deregister_gateway_instance::builders::DeregisterGatewayInstanceInputBuilder {
    /// Sends a request with this input using the given client.
    pub async fn send_with(
        self,
        client: &crate::Client,
    ) -> ::std::result::Result<
        crate::operation::deregister_gateway_instance::DeregisterGatewayInstanceOutput,
        ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::deregister_gateway_instance::DeregisterGatewayInstanceError,
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
        >,
    > {
        let mut fluent_builder = client.deregister_gateway_instance();
        fluent_builder.inner = self;
        fluent_builder.send().await
    }
}
/// Fluent builder constructing a request to `DeregisterGatewayInstance`.
///
/// <p>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.</p>
#[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,
    config_override: ::std::option::Option<crate::config::Builder>,
}
impl
    crate::client::customize::internal::CustomizableSend<
        crate::operation::deregister_gateway_instance::DeregisterGatewayInstanceOutput,
        crate::operation::deregister_gateway_instance::DeregisterGatewayInstanceError,
    > for DeregisterGatewayInstanceFluentBuilder
{
    fn send(
        self,
        config_override: crate::config::Builder,
    ) -> crate::client::customize::internal::BoxFuture<
        crate::client::customize::internal::SendResult<
            crate::operation::deregister_gateway_instance::DeregisterGatewayInstanceOutput,
            crate::operation::deregister_gateway_instance::DeregisterGatewayInstanceError,
        >,
    > {
        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
    }
}
impl DeregisterGatewayInstanceFluentBuilder {
    /// Creates a new `DeregisterGatewayInstanceFluentBuilder`.
    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
        Self {
            handle,
            inner: ::std::default::Default::default(),
            config_override: ::std::option::Option::None,
        }
    }
    /// Access the DeregisterGatewayInstance as a reference.
    pub fn as_input(&self) -> &crate::operation::deregister_gateway_instance::builders::DeregisterGatewayInstanceInputBuilder {
        &self.inner
    }
    /// 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_runtime_api::client::result::SdkError<
            crate::operation::deregister_gateway_instance::DeregisterGatewayInstanceError,
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
        >,
    > {
        let input = self
            .inner
            .build()
            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
        let runtime_plugins = crate::operation::deregister_gateway_instance::DeregisterGatewayInstance::operation_runtime_plugins(
            self.handle.runtime_plugins.clone(),
            &self.handle.conf,
            self.config_override,
        );
        crate::operation::deregister_gateway_instance::DeregisterGatewayInstance::orchestrate(&runtime_plugins, input).await
    }

    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
    pub fn customize(
        self,
    ) -> crate::client::customize::CustomizableOperation<
        crate::operation::deregister_gateway_instance::DeregisterGatewayInstanceOutput,
        crate::operation::deregister_gateway_instance::DeregisterGatewayInstanceError,
        Self,
    > {
        crate::client::customize::CustomizableOperation::new(self)
    }
    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
        self.set_config_override(::std::option::Option::Some(config_override.into()));
        self
    }

    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
        self.config_override = config_override;
        self
    }
    /// <p>Force the deregistration of an instance. Force will deregister an instance, even if there are bridges running on it.</p>
    pub fn force(mut self, input: bool) -> Self {
        self.inner = self.inner.force(input);
        self
    }
    /// <p>Force the deregistration of an instance. Force will deregister an instance, even if there are bridges running on it.</p>
    pub fn set_force(mut self, input: ::std::option::Option<bool>) -> Self {
        self.inner = self.inner.set_force(input);
        self
    }
    /// <p>Force the deregistration of an instance. Force will deregister an instance, even if there are bridges running on it.</p>
    pub fn get_force(&self) -> &::std::option::Option<bool> {
        self.inner.get_force()
    }
    /// <p>The Amazon Resource Name (ARN) of the gateway that contains the instance that you want to deregister.</p>
    pub fn gateway_instance_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.gateway_instance_arn(input.into());
        self
    }
    /// <p>The Amazon Resource Name (ARN) of the gateway that contains the instance that you want to deregister.</p>
    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
    }
    /// <p>The Amazon Resource Name (ARN) of the gateway that contains the instance that you want to deregister.</p>
    pub fn get_gateway_instance_arn(&self) -> &::std::option::Option<::std::string::String> {
        self.inner.get_gateway_instance_arn()
    }
}