aws_sdk_qldb/operation/describe_ledger/
_describe_ledger_output.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(missing_docs)] // documentation missing in model
3#[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct DescribeLedgerOutput {
6    /// <p>The name of the ledger.</p>
7    pub name: ::std::option::Option<::std::string::String>,
8    /// <p>The Amazon Resource Name (ARN) for the ledger.</p>
9    pub arn: ::std::option::Option<::std::string::String>,
10    /// <p>The current status of the ledger.</p>
11    pub state: ::std::option::Option<crate::types::LedgerState>,
12    /// <p>The date and time, in epoch time format, when the ledger was created. (Epoch time format is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC.)</p>
13    pub creation_date_time: ::std::option::Option<::aws_smithy_types::DateTime>,
14    /// <p>The permissions mode of the ledger.</p>
15    pub permissions_mode: ::std::option::Option<crate::types::PermissionsMode>,
16    /// <p>Specifies whether the ledger is protected from being deleted by any user. If not defined during ledger creation, this feature is enabled (<code>true</code>) by default.</p>
17    /// <p>If deletion protection is enabled, you must first disable it before you can delete the ledger. You can disable it by calling the <code>UpdateLedger</code> operation to set this parameter to <code>false</code>.</p>
18    pub deletion_protection: ::std::option::Option<bool>,
19    /// <p>Information about the encryption of data at rest in the ledger. This includes the current status, the KMS key, and when the key became inaccessible (in the case of an error). If this parameter is undefined, the ledger uses an Amazon Web Services owned KMS key for encryption.</p>
20    pub encryption_description: ::std::option::Option<crate::types::LedgerEncryptionDescription>,
21    _request_id: Option<String>,
22}
23impl DescribeLedgerOutput {
24    /// <p>The name of the ledger.</p>
25    pub fn name(&self) -> ::std::option::Option<&str> {
26        self.name.as_deref()
27    }
28    /// <p>The Amazon Resource Name (ARN) for the ledger.</p>
29    pub fn arn(&self) -> ::std::option::Option<&str> {
30        self.arn.as_deref()
31    }
32    /// <p>The current status of the ledger.</p>
33    pub fn state(&self) -> ::std::option::Option<&crate::types::LedgerState> {
34        self.state.as_ref()
35    }
36    /// <p>The date and time, in epoch time format, when the ledger was created. (Epoch time format is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC.)</p>
37    pub fn creation_date_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
38        self.creation_date_time.as_ref()
39    }
40    /// <p>The permissions mode of the ledger.</p>
41    pub fn permissions_mode(&self) -> ::std::option::Option<&crate::types::PermissionsMode> {
42        self.permissions_mode.as_ref()
43    }
44    /// <p>Specifies whether the ledger is protected from being deleted by any user. If not defined during ledger creation, this feature is enabled (<code>true</code>) by default.</p>
45    /// <p>If deletion protection is enabled, you must first disable it before you can delete the ledger. You can disable it by calling the <code>UpdateLedger</code> operation to set this parameter to <code>false</code>.</p>
46    pub fn deletion_protection(&self) -> ::std::option::Option<bool> {
47        self.deletion_protection
48    }
49    /// <p>Information about the encryption of data at rest in the ledger. This includes the current status, the KMS key, and when the key became inaccessible (in the case of an error). If this parameter is undefined, the ledger uses an Amazon Web Services owned KMS key for encryption.</p>
50    pub fn encryption_description(&self) -> ::std::option::Option<&crate::types::LedgerEncryptionDescription> {
51        self.encryption_description.as_ref()
52    }
53}
54impl ::aws_types::request_id::RequestId for DescribeLedgerOutput {
55    fn request_id(&self) -> Option<&str> {
56        self._request_id.as_deref()
57    }
58}
59impl DescribeLedgerOutput {
60    /// Creates a new builder-style object to manufacture [`DescribeLedgerOutput`](crate::operation::describe_ledger::DescribeLedgerOutput).
61    pub fn builder() -> crate::operation::describe_ledger::builders::DescribeLedgerOutputBuilder {
62        crate::operation::describe_ledger::builders::DescribeLedgerOutputBuilder::default()
63    }
64}
65
66/// A builder for [`DescribeLedgerOutput`](crate::operation::describe_ledger::DescribeLedgerOutput).
67#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
68#[non_exhaustive]
69pub struct DescribeLedgerOutputBuilder {
70    pub(crate) name: ::std::option::Option<::std::string::String>,
71    pub(crate) arn: ::std::option::Option<::std::string::String>,
72    pub(crate) state: ::std::option::Option<crate::types::LedgerState>,
73    pub(crate) creation_date_time: ::std::option::Option<::aws_smithy_types::DateTime>,
74    pub(crate) permissions_mode: ::std::option::Option<crate::types::PermissionsMode>,
75    pub(crate) deletion_protection: ::std::option::Option<bool>,
76    pub(crate) encryption_description: ::std::option::Option<crate::types::LedgerEncryptionDescription>,
77    _request_id: Option<String>,
78}
79impl DescribeLedgerOutputBuilder {
80    /// <p>The name of the ledger.</p>
81    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
82        self.name = ::std::option::Option::Some(input.into());
83        self
84    }
85    /// <p>The name of the ledger.</p>
86    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
87        self.name = input;
88        self
89    }
90    /// <p>The name of the ledger.</p>
91    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
92        &self.name
93    }
94    /// <p>The Amazon Resource Name (ARN) for the ledger.</p>
95    pub fn arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
96        self.arn = ::std::option::Option::Some(input.into());
97        self
98    }
99    /// <p>The Amazon Resource Name (ARN) for the ledger.</p>
100    pub fn set_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
101        self.arn = input;
102        self
103    }
104    /// <p>The Amazon Resource Name (ARN) for the ledger.</p>
105    pub fn get_arn(&self) -> &::std::option::Option<::std::string::String> {
106        &self.arn
107    }
108    /// <p>The current status of the ledger.</p>
109    pub fn state(mut self, input: crate::types::LedgerState) -> Self {
110        self.state = ::std::option::Option::Some(input);
111        self
112    }
113    /// <p>The current status of the ledger.</p>
114    pub fn set_state(mut self, input: ::std::option::Option<crate::types::LedgerState>) -> Self {
115        self.state = input;
116        self
117    }
118    /// <p>The current status of the ledger.</p>
119    pub fn get_state(&self) -> &::std::option::Option<crate::types::LedgerState> {
120        &self.state
121    }
122    /// <p>The date and time, in epoch time format, when the ledger was created. (Epoch time format is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC.)</p>
123    pub fn creation_date_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
124        self.creation_date_time = ::std::option::Option::Some(input);
125        self
126    }
127    /// <p>The date and time, in epoch time format, when the ledger was created. (Epoch time format is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC.)</p>
128    pub fn set_creation_date_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
129        self.creation_date_time = input;
130        self
131    }
132    /// <p>The date and time, in epoch time format, when the ledger was created. (Epoch time format is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC.)</p>
133    pub fn get_creation_date_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
134        &self.creation_date_time
135    }
136    /// <p>The permissions mode of the ledger.</p>
137    pub fn permissions_mode(mut self, input: crate::types::PermissionsMode) -> Self {
138        self.permissions_mode = ::std::option::Option::Some(input);
139        self
140    }
141    /// <p>The permissions mode of the ledger.</p>
142    pub fn set_permissions_mode(mut self, input: ::std::option::Option<crate::types::PermissionsMode>) -> Self {
143        self.permissions_mode = input;
144        self
145    }
146    /// <p>The permissions mode of the ledger.</p>
147    pub fn get_permissions_mode(&self) -> &::std::option::Option<crate::types::PermissionsMode> {
148        &self.permissions_mode
149    }
150    /// <p>Specifies whether the ledger is protected from being deleted by any user. If not defined during ledger creation, this feature is enabled (<code>true</code>) by default.</p>
151    /// <p>If deletion protection is enabled, you must first disable it before you can delete the ledger. You can disable it by calling the <code>UpdateLedger</code> operation to set this parameter to <code>false</code>.</p>
152    pub fn deletion_protection(mut self, input: bool) -> Self {
153        self.deletion_protection = ::std::option::Option::Some(input);
154        self
155    }
156    /// <p>Specifies whether the ledger is protected from being deleted by any user. If not defined during ledger creation, this feature is enabled (<code>true</code>) by default.</p>
157    /// <p>If deletion protection is enabled, you must first disable it before you can delete the ledger. You can disable it by calling the <code>UpdateLedger</code> operation to set this parameter to <code>false</code>.</p>
158    pub fn set_deletion_protection(mut self, input: ::std::option::Option<bool>) -> Self {
159        self.deletion_protection = input;
160        self
161    }
162    /// <p>Specifies whether the ledger is protected from being deleted by any user. If not defined during ledger creation, this feature is enabled (<code>true</code>) by default.</p>
163    /// <p>If deletion protection is enabled, you must first disable it before you can delete the ledger. You can disable it by calling the <code>UpdateLedger</code> operation to set this parameter to <code>false</code>.</p>
164    pub fn get_deletion_protection(&self) -> &::std::option::Option<bool> {
165        &self.deletion_protection
166    }
167    /// <p>Information about the encryption of data at rest in the ledger. This includes the current status, the KMS key, and when the key became inaccessible (in the case of an error). If this parameter is undefined, the ledger uses an Amazon Web Services owned KMS key for encryption.</p>
168    pub fn encryption_description(mut self, input: crate::types::LedgerEncryptionDescription) -> Self {
169        self.encryption_description = ::std::option::Option::Some(input);
170        self
171    }
172    /// <p>Information about the encryption of data at rest in the ledger. This includes the current status, the KMS key, and when the key became inaccessible (in the case of an error). If this parameter is undefined, the ledger uses an Amazon Web Services owned KMS key for encryption.</p>
173    pub fn set_encryption_description(mut self, input: ::std::option::Option<crate::types::LedgerEncryptionDescription>) -> Self {
174        self.encryption_description = input;
175        self
176    }
177    /// <p>Information about the encryption of data at rest in the ledger. This includes the current status, the KMS key, and when the key became inaccessible (in the case of an error). If this parameter is undefined, the ledger uses an Amazon Web Services owned KMS key for encryption.</p>
178    pub fn get_encryption_description(&self) -> &::std::option::Option<crate::types::LedgerEncryptionDescription> {
179        &self.encryption_description
180    }
181    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
182        self._request_id = Some(request_id.into());
183        self
184    }
185
186    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
187        self._request_id = request_id;
188        self
189    }
190    /// Consumes the builder and constructs a [`DescribeLedgerOutput`](crate::operation::describe_ledger::DescribeLedgerOutput).
191    pub fn build(self) -> crate::operation::describe_ledger::DescribeLedgerOutput {
192        crate::operation::describe_ledger::DescribeLedgerOutput {
193            name: self.name,
194            arn: self.arn,
195            state: self.state,
196            creation_date_time: self.creation_date_time,
197            permissions_mode: self.permissions_mode,
198            deletion_protection: self.deletion_protection,
199            encryption_description: self.encryption_description,
200            _request_id: self._request_id,
201        }
202    }
203}