1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.

/// <p>Provides information about the billing for read/write capacity on the table.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct AwsDynamoDbTableBillingModeSummary {
    /// <p>The method used to charge for read and write throughput and to manage capacity.</p>
    pub billing_mode: ::std::option::Option<::std::string::String>,
    /// <p>If the billing mode is <code>PAY_PER_REQUEST</code>, indicates when the billing mode was set to that value.</p>
    /// <p>Uses the <code>date-time</code> format specified in <a href="https://tools.ietf.org/html/rfc3339#section-5.6">RFC 3339 section 5.6, Internet Date/Time Format</a>. The value cannot contain spaces, and date and time should be separated by <code>T</code>. For example, <code>2020-03-22T13:22:13.933Z</code>.</p>
    pub last_update_to_pay_per_request_date_time: ::std::option::Option<::std::string::String>,
}
impl AwsDynamoDbTableBillingModeSummary {
    /// <p>The method used to charge for read and write throughput and to manage capacity.</p>
    pub fn billing_mode(&self) -> ::std::option::Option<&str> {
        self.billing_mode.as_deref()
    }
    /// <p>If the billing mode is <code>PAY_PER_REQUEST</code>, indicates when the billing mode was set to that value.</p>
    /// <p>Uses the <code>date-time</code> format specified in <a href="https://tools.ietf.org/html/rfc3339#section-5.6">RFC 3339 section 5.6, Internet Date/Time Format</a>. The value cannot contain spaces, and date and time should be separated by <code>T</code>. For example, <code>2020-03-22T13:22:13.933Z</code>.</p>
    pub fn last_update_to_pay_per_request_date_time(&self) -> ::std::option::Option<&str> {
        self.last_update_to_pay_per_request_date_time.as_deref()
    }
}
impl AwsDynamoDbTableBillingModeSummary {
    /// Creates a new builder-style object to manufacture [`AwsDynamoDbTableBillingModeSummary`](crate::types::AwsDynamoDbTableBillingModeSummary).
    pub fn builder() -> crate::types::builders::AwsDynamoDbTableBillingModeSummaryBuilder {
        crate::types::builders::AwsDynamoDbTableBillingModeSummaryBuilder::default()
    }
}

/// A builder for [`AwsDynamoDbTableBillingModeSummary`](crate::types::AwsDynamoDbTableBillingModeSummary).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct AwsDynamoDbTableBillingModeSummaryBuilder {
    pub(crate) billing_mode: ::std::option::Option<::std::string::String>,
    pub(crate) last_update_to_pay_per_request_date_time: ::std::option::Option<::std::string::String>,
}
impl AwsDynamoDbTableBillingModeSummaryBuilder {
    /// <p>The method used to charge for read and write throughput and to manage capacity.</p>
    pub fn billing_mode(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.billing_mode = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The method used to charge for read and write throughput and to manage capacity.</p>
    pub fn set_billing_mode(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.billing_mode = input;
        self
    }
    /// <p>The method used to charge for read and write throughput and to manage capacity.</p>
    pub fn get_billing_mode(&self) -> &::std::option::Option<::std::string::String> {
        &self.billing_mode
    }
    /// <p>If the billing mode is <code>PAY_PER_REQUEST</code>, indicates when the billing mode was set to that value.</p>
    /// <p>Uses the <code>date-time</code> format specified in <a href="https://tools.ietf.org/html/rfc3339#section-5.6">RFC 3339 section 5.6, Internet Date/Time Format</a>. The value cannot contain spaces, and date and time should be separated by <code>T</code>. For example, <code>2020-03-22T13:22:13.933Z</code>.</p>
    pub fn last_update_to_pay_per_request_date_time(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.last_update_to_pay_per_request_date_time = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>If the billing mode is <code>PAY_PER_REQUEST</code>, indicates when the billing mode was set to that value.</p>
    /// <p>Uses the <code>date-time</code> format specified in <a href="https://tools.ietf.org/html/rfc3339#section-5.6">RFC 3339 section 5.6, Internet Date/Time Format</a>. The value cannot contain spaces, and date and time should be separated by <code>T</code>. For example, <code>2020-03-22T13:22:13.933Z</code>.</p>
    pub fn set_last_update_to_pay_per_request_date_time(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.last_update_to_pay_per_request_date_time = input;
        self
    }
    /// <p>If the billing mode is <code>PAY_PER_REQUEST</code>, indicates when the billing mode was set to that value.</p>
    /// <p>Uses the <code>date-time</code> format specified in <a href="https://tools.ietf.org/html/rfc3339#section-5.6">RFC 3339 section 5.6, Internet Date/Time Format</a>. The value cannot contain spaces, and date and time should be separated by <code>T</code>. For example, <code>2020-03-22T13:22:13.933Z</code>.</p>
    pub fn get_last_update_to_pay_per_request_date_time(&self) -> &::std::option::Option<::std::string::String> {
        &self.last_update_to_pay_per_request_date_time
    }
    /// Consumes the builder and constructs a [`AwsDynamoDbTableBillingModeSummary`](crate::types::AwsDynamoDbTableBillingModeSummary).
    pub fn build(self) -> crate::types::AwsDynamoDbTableBillingModeSummary {
        crate::types::AwsDynamoDbTableBillingModeSummary {
            billing_mode: self.billing_mode,
            last_update_to_pay_per_request_date_time: self.last_update_to_pay_per_request_date_time,
        }
    }
}