aws-sdk-storagegateway 1.115.0

AWS SDK for AWS Storage Gateway
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct DescribeCacheOutput {
    /// <p>The Amazon Resource Name (ARN) of the gateway. Use the <code>ListGateways</code> operation to return a list of gateways for your account and Amazon Web Services Region.</p>
    pub gateway_arn: ::std::option::Option<::std::string::String>,
    /// <p>An array of strings that identify disks that are to be configured as working storage. Each string has a minimum length of 1 and maximum length of 300. You can get the disk IDs from the <code>ListLocalDisks</code> API.</p>
    pub disk_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
    /// <p>The amount of cache in bytes allocated to a gateway.</p>
    pub cache_allocated_in_bytes: i64,
    /// <p>Percent use of the gateway's cache storage. This metric applies only to the gateway-cached volume setup. The sample is taken at the end of the reporting period.</p>
    pub cache_used_percentage: f64,
    /// <p>The file share's contribution to the overall percentage of the gateway's cache that has not been persisted to Amazon Web Services. The sample is taken at the end of the reporting period.</p>
    pub cache_dirty_percentage: f64,
    /// <p>Percent of application read operations from the file shares that are served from cache. The sample is taken at the end of the reporting period.</p>
    pub cache_hit_percentage: f64,
    /// <p>Percent of application read operations from the file shares that are not served from cache. The sample is taken at the end of the reporting period.</p>
    pub cache_miss_percentage: f64,
    _request_id: Option<String>,
}
impl DescribeCacheOutput {
    /// <p>The Amazon Resource Name (ARN) of the gateway. Use the <code>ListGateways</code> operation to return a list of gateways for your account and Amazon Web Services Region.</p>
    pub fn gateway_arn(&self) -> ::std::option::Option<&str> {
        self.gateway_arn.as_deref()
    }
    /// <p>An array of strings that identify disks that are to be configured as working storage. Each string has a minimum length of 1 and maximum length of 300. You can get the disk IDs from the <code>ListLocalDisks</code> API.</p>
    ///
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.disk_ids.is_none()`.
    pub fn disk_ids(&self) -> &[::std::string::String] {
        self.disk_ids.as_deref().unwrap_or_default()
    }
    /// <p>The amount of cache in bytes allocated to a gateway.</p>
    pub fn cache_allocated_in_bytes(&self) -> i64 {
        self.cache_allocated_in_bytes
    }
    /// <p>Percent use of the gateway's cache storage. This metric applies only to the gateway-cached volume setup. The sample is taken at the end of the reporting period.</p>
    pub fn cache_used_percentage(&self) -> f64 {
        self.cache_used_percentage
    }
    /// <p>The file share's contribution to the overall percentage of the gateway's cache that has not been persisted to Amazon Web Services. The sample is taken at the end of the reporting period.</p>
    pub fn cache_dirty_percentage(&self) -> f64 {
        self.cache_dirty_percentage
    }
    /// <p>Percent of application read operations from the file shares that are served from cache. The sample is taken at the end of the reporting period.</p>
    pub fn cache_hit_percentage(&self) -> f64 {
        self.cache_hit_percentage
    }
    /// <p>Percent of application read operations from the file shares that are not served from cache. The sample is taken at the end of the reporting period.</p>
    pub fn cache_miss_percentage(&self) -> f64 {
        self.cache_miss_percentage
    }
}
impl ::aws_types::request_id::RequestId for DescribeCacheOutput {
    fn request_id(&self) -> Option<&str> {
        self._request_id.as_deref()
    }
}
impl DescribeCacheOutput {
    /// Creates a new builder-style object to manufacture [`DescribeCacheOutput`](crate::operation::describe_cache::DescribeCacheOutput).
    pub fn builder() -> crate::operation::describe_cache::builders::DescribeCacheOutputBuilder {
        crate::operation::describe_cache::builders::DescribeCacheOutputBuilder::default()
    }
}

/// A builder for [`DescribeCacheOutput`](crate::operation::describe_cache::DescribeCacheOutput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct DescribeCacheOutputBuilder {
    pub(crate) gateway_arn: ::std::option::Option<::std::string::String>,
    pub(crate) disk_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
    pub(crate) cache_allocated_in_bytes: ::std::option::Option<i64>,
    pub(crate) cache_used_percentage: ::std::option::Option<f64>,
    pub(crate) cache_dirty_percentage: ::std::option::Option<f64>,
    pub(crate) cache_hit_percentage: ::std::option::Option<f64>,
    pub(crate) cache_miss_percentage: ::std::option::Option<f64>,
    _request_id: Option<String>,
}
impl DescribeCacheOutputBuilder {
    /// <p>The Amazon Resource Name (ARN) of the gateway. Use the <code>ListGateways</code> operation to return a list of gateways for your account and Amazon Web Services Region.</p>
    pub fn gateway_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.gateway_arn = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The Amazon Resource Name (ARN) of the gateway. Use the <code>ListGateways</code> operation to return a list of gateways for your account and Amazon Web Services Region.</p>
    pub fn set_gateway_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.gateway_arn = input;
        self
    }
    /// <p>The Amazon Resource Name (ARN) of the gateway. Use the <code>ListGateways</code> operation to return a list of gateways for your account and Amazon Web Services Region.</p>
    pub fn get_gateway_arn(&self) -> &::std::option::Option<::std::string::String> {
        &self.gateway_arn
    }
    /// Appends an item to `disk_ids`.
    ///
    /// To override the contents of this collection use [`set_disk_ids`](Self::set_disk_ids).
    ///
    /// <p>An array of strings that identify disks that are to be configured as working storage. Each string has a minimum length of 1 and maximum length of 300. You can get the disk IDs from the <code>ListLocalDisks</code> API.</p>
    pub fn disk_ids(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        let mut v = self.disk_ids.unwrap_or_default();
        v.push(input.into());
        self.disk_ids = ::std::option::Option::Some(v);
        self
    }
    /// <p>An array of strings that identify disks that are to be configured as working storage. Each string has a minimum length of 1 and maximum length of 300. You can get the disk IDs from the <code>ListLocalDisks</code> API.</p>
    pub fn set_disk_ids(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
        self.disk_ids = input;
        self
    }
    /// <p>An array of strings that identify disks that are to be configured as working storage. Each string has a minimum length of 1 and maximum length of 300. You can get the disk IDs from the <code>ListLocalDisks</code> API.</p>
    pub fn get_disk_ids(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
        &self.disk_ids
    }
    /// <p>The amount of cache in bytes allocated to a gateway.</p>
    pub fn cache_allocated_in_bytes(mut self, input: i64) -> Self {
        self.cache_allocated_in_bytes = ::std::option::Option::Some(input);
        self
    }
    /// <p>The amount of cache in bytes allocated to a gateway.</p>
    pub fn set_cache_allocated_in_bytes(mut self, input: ::std::option::Option<i64>) -> Self {
        self.cache_allocated_in_bytes = input;
        self
    }
    /// <p>The amount of cache in bytes allocated to a gateway.</p>
    pub fn get_cache_allocated_in_bytes(&self) -> &::std::option::Option<i64> {
        &self.cache_allocated_in_bytes
    }
    /// <p>Percent use of the gateway's cache storage. This metric applies only to the gateway-cached volume setup. The sample is taken at the end of the reporting period.</p>
    pub fn cache_used_percentage(mut self, input: f64) -> Self {
        self.cache_used_percentage = ::std::option::Option::Some(input);
        self
    }
    /// <p>Percent use of the gateway's cache storage. This metric applies only to the gateway-cached volume setup. The sample is taken at the end of the reporting period.</p>
    pub fn set_cache_used_percentage(mut self, input: ::std::option::Option<f64>) -> Self {
        self.cache_used_percentage = input;
        self
    }
    /// <p>Percent use of the gateway's cache storage. This metric applies only to the gateway-cached volume setup. The sample is taken at the end of the reporting period.</p>
    pub fn get_cache_used_percentage(&self) -> &::std::option::Option<f64> {
        &self.cache_used_percentage
    }
    /// <p>The file share's contribution to the overall percentage of the gateway's cache that has not been persisted to Amazon Web Services. The sample is taken at the end of the reporting period.</p>
    pub fn cache_dirty_percentage(mut self, input: f64) -> Self {
        self.cache_dirty_percentage = ::std::option::Option::Some(input);
        self
    }
    /// <p>The file share's contribution to the overall percentage of the gateway's cache that has not been persisted to Amazon Web Services. The sample is taken at the end of the reporting period.</p>
    pub fn set_cache_dirty_percentage(mut self, input: ::std::option::Option<f64>) -> Self {
        self.cache_dirty_percentage = input;
        self
    }
    /// <p>The file share's contribution to the overall percentage of the gateway's cache that has not been persisted to Amazon Web Services. The sample is taken at the end of the reporting period.</p>
    pub fn get_cache_dirty_percentage(&self) -> &::std::option::Option<f64> {
        &self.cache_dirty_percentage
    }
    /// <p>Percent of application read operations from the file shares that are served from cache. The sample is taken at the end of the reporting period.</p>
    pub fn cache_hit_percentage(mut self, input: f64) -> Self {
        self.cache_hit_percentage = ::std::option::Option::Some(input);
        self
    }
    /// <p>Percent of application read operations from the file shares that are served from cache. The sample is taken at the end of the reporting period.</p>
    pub fn set_cache_hit_percentage(mut self, input: ::std::option::Option<f64>) -> Self {
        self.cache_hit_percentage = input;
        self
    }
    /// <p>Percent of application read operations from the file shares that are served from cache. The sample is taken at the end of the reporting period.</p>
    pub fn get_cache_hit_percentage(&self) -> &::std::option::Option<f64> {
        &self.cache_hit_percentage
    }
    /// <p>Percent of application read operations from the file shares that are not served from cache. The sample is taken at the end of the reporting period.</p>
    pub fn cache_miss_percentage(mut self, input: f64) -> Self {
        self.cache_miss_percentage = ::std::option::Option::Some(input);
        self
    }
    /// <p>Percent of application read operations from the file shares that are not served from cache. The sample is taken at the end of the reporting period.</p>
    pub fn set_cache_miss_percentage(mut self, input: ::std::option::Option<f64>) -> Self {
        self.cache_miss_percentage = input;
        self
    }
    /// <p>Percent of application read operations from the file shares that are not served from cache. The sample is taken at the end of the reporting period.</p>
    pub fn get_cache_miss_percentage(&self) -> &::std::option::Option<f64> {
        &self.cache_miss_percentage
    }
    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
        self._request_id = Some(request_id.into());
        self
    }

    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
        self._request_id = request_id;
        self
    }
    /// Consumes the builder and constructs a [`DescribeCacheOutput`](crate::operation::describe_cache::DescribeCacheOutput).
    pub fn build(self) -> crate::operation::describe_cache::DescribeCacheOutput {
        crate::operation::describe_cache::DescribeCacheOutput {
            gateway_arn: self.gateway_arn,
            disk_ids: self.disk_ids,
            cache_allocated_in_bytes: self.cache_allocated_in_bytes.unwrap_or_default(),
            cache_used_percentage: self.cache_used_percentage.unwrap_or_default(),
            cache_dirty_percentage: self.cache_dirty_percentage.unwrap_or_default(),
            cache_hit_percentage: self.cache_hit_percentage.unwrap_or_default(),
            cache_miss_percentage: self.cache_miss_percentage.unwrap_or_default(),
            _request_id: self._request_id,
        }
    }
}