aws-sdk-ssmsap 1.106.0

AWS SDK for AWS Systems Manager for SAP
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.

/// <p>Details of the SAP HANA system replication for the instance.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct Resilience {
    /// <p>The tier of the component.</p>
    pub hsr_tier: ::std::option::Option<::std::string::String>,
    /// <p>The replication mode of the component.</p>
    pub hsr_replication_mode: ::std::option::Option<crate::types::ReplicationMode>,
    /// <p>The operation mode of the component.</p>
    pub hsr_operation_mode: ::std::option::Option<crate::types::OperationMode>,
    /// <p>The cluster status of the component.</p>
    pub cluster_status: ::std::option::Option<crate::types::ClusterStatus>,
    /// <p>Indicates if or not enqueue replication is enabled for the ASCS component.</p>
    pub enqueue_replication: ::std::option::Option<bool>,
}
impl Resilience {
    /// <p>The tier of the component.</p>
    pub fn hsr_tier(&self) -> ::std::option::Option<&str> {
        self.hsr_tier.as_deref()
    }
    /// <p>The replication mode of the component.</p>
    pub fn hsr_replication_mode(&self) -> ::std::option::Option<&crate::types::ReplicationMode> {
        self.hsr_replication_mode.as_ref()
    }
    /// <p>The operation mode of the component.</p>
    pub fn hsr_operation_mode(&self) -> ::std::option::Option<&crate::types::OperationMode> {
        self.hsr_operation_mode.as_ref()
    }
    /// <p>The cluster status of the component.</p>
    pub fn cluster_status(&self) -> ::std::option::Option<&crate::types::ClusterStatus> {
        self.cluster_status.as_ref()
    }
    /// <p>Indicates if or not enqueue replication is enabled for the ASCS component.</p>
    pub fn enqueue_replication(&self) -> ::std::option::Option<bool> {
        self.enqueue_replication
    }
}
impl Resilience {
    /// Creates a new builder-style object to manufacture [`Resilience`](crate::types::Resilience).
    pub fn builder() -> crate::types::builders::ResilienceBuilder {
        crate::types::builders::ResilienceBuilder::default()
    }
}

/// A builder for [`Resilience`](crate::types::Resilience).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct ResilienceBuilder {
    pub(crate) hsr_tier: ::std::option::Option<::std::string::String>,
    pub(crate) hsr_replication_mode: ::std::option::Option<crate::types::ReplicationMode>,
    pub(crate) hsr_operation_mode: ::std::option::Option<crate::types::OperationMode>,
    pub(crate) cluster_status: ::std::option::Option<crate::types::ClusterStatus>,
    pub(crate) enqueue_replication: ::std::option::Option<bool>,
}
impl ResilienceBuilder {
    /// <p>The tier of the component.</p>
    pub fn hsr_tier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.hsr_tier = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The tier of the component.</p>
    pub fn set_hsr_tier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.hsr_tier = input;
        self
    }
    /// <p>The tier of the component.</p>
    pub fn get_hsr_tier(&self) -> &::std::option::Option<::std::string::String> {
        &self.hsr_tier
    }
    /// <p>The replication mode of the component.</p>
    pub fn hsr_replication_mode(mut self, input: crate::types::ReplicationMode) -> Self {
        self.hsr_replication_mode = ::std::option::Option::Some(input);
        self
    }
    /// <p>The replication mode of the component.</p>
    pub fn set_hsr_replication_mode(mut self, input: ::std::option::Option<crate::types::ReplicationMode>) -> Self {
        self.hsr_replication_mode = input;
        self
    }
    /// <p>The replication mode of the component.</p>
    pub fn get_hsr_replication_mode(&self) -> &::std::option::Option<crate::types::ReplicationMode> {
        &self.hsr_replication_mode
    }
    /// <p>The operation mode of the component.</p>
    pub fn hsr_operation_mode(mut self, input: crate::types::OperationMode) -> Self {
        self.hsr_operation_mode = ::std::option::Option::Some(input);
        self
    }
    /// <p>The operation mode of the component.</p>
    pub fn set_hsr_operation_mode(mut self, input: ::std::option::Option<crate::types::OperationMode>) -> Self {
        self.hsr_operation_mode = input;
        self
    }
    /// <p>The operation mode of the component.</p>
    pub fn get_hsr_operation_mode(&self) -> &::std::option::Option<crate::types::OperationMode> {
        &self.hsr_operation_mode
    }
    /// <p>The cluster status of the component.</p>
    pub fn cluster_status(mut self, input: crate::types::ClusterStatus) -> Self {
        self.cluster_status = ::std::option::Option::Some(input);
        self
    }
    /// <p>The cluster status of the component.</p>
    pub fn set_cluster_status(mut self, input: ::std::option::Option<crate::types::ClusterStatus>) -> Self {
        self.cluster_status = input;
        self
    }
    /// <p>The cluster status of the component.</p>
    pub fn get_cluster_status(&self) -> &::std::option::Option<crate::types::ClusterStatus> {
        &self.cluster_status
    }
    /// <p>Indicates if or not enqueue replication is enabled for the ASCS component.</p>
    pub fn enqueue_replication(mut self, input: bool) -> Self {
        self.enqueue_replication = ::std::option::Option::Some(input);
        self
    }
    /// <p>Indicates if or not enqueue replication is enabled for the ASCS component.</p>
    pub fn set_enqueue_replication(mut self, input: ::std::option::Option<bool>) -> Self {
        self.enqueue_replication = input;
        self
    }
    /// <p>Indicates if or not enqueue replication is enabled for the ASCS component.</p>
    pub fn get_enqueue_replication(&self) -> &::std::option::Option<bool> {
        &self.enqueue_replication
    }
    /// Consumes the builder and constructs a [`Resilience`](crate::types::Resilience).
    pub fn build(self) -> crate::types::Resilience {
        crate::types::Resilience {
            hsr_tier: self.hsr_tier,
            hsr_replication_mode: self.hsr_replication_mode,
            hsr_operation_mode: self.hsr_operation_mode,
            cluster_status: self.cluster_status,
            enqueue_replication: self.enqueue_replication,
        }
    }
}