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 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203
// 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 CreateLedgerOutput {
/// <p>The name of the ledger.</p>
pub name: ::std::option::Option<::std::string::String>,
/// <p>The Amazon Resource Name (ARN) for the ledger.</p>
pub arn: ::std::option::Option<::std::string::String>,
/// <p>The current status of the ledger.</p>
pub state: ::std::option::Option<crate::types::LedgerState>,
/// <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>
pub creation_date_time: ::std::option::Option<::aws_smithy_types::DateTime>,
/// <p>The permissions mode of the ledger that you created.</p>
pub permissions_mode: ::std::option::Option<crate::types::PermissionsMode>,
/// <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>
/// <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>
pub deletion_protection: ::std::option::Option<bool>,
/// <p>The ARN of the customer managed KMS key that the ledger uses for encryption at rest. If this parameter is undefined, the ledger uses an Amazon Web Services owned KMS key for encryption.</p>
pub kms_key_arn: ::std::option::Option<::std::string::String>,
_request_id: Option<String>,
}
impl CreateLedgerOutput {
/// <p>The name of the ledger.</p>
pub fn name(&self) -> ::std::option::Option<&str> {
self.name.as_deref()
}
/// <p>The Amazon Resource Name (ARN) for the ledger.</p>
pub fn arn(&self) -> ::std::option::Option<&str> {
self.arn.as_deref()
}
/// <p>The current status of the ledger.</p>
pub fn state(&self) -> ::std::option::Option<&crate::types::LedgerState> {
self.state.as_ref()
}
/// <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>
pub fn creation_date_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
self.creation_date_time.as_ref()
}
/// <p>The permissions mode of the ledger that you created.</p>
pub fn permissions_mode(&self) -> ::std::option::Option<&crate::types::PermissionsMode> {
self.permissions_mode.as_ref()
}
/// <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>
/// <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>
pub fn deletion_protection(&self) -> ::std::option::Option<bool> {
self.deletion_protection
}
/// <p>The ARN of the customer managed KMS key that the ledger uses for encryption at rest. If this parameter is undefined, the ledger uses an Amazon Web Services owned KMS key for encryption.</p>
pub fn kms_key_arn(&self) -> ::std::option::Option<&str> {
self.kms_key_arn.as_deref()
}
}
impl ::aws_types::request_id::RequestId for CreateLedgerOutput {
fn request_id(&self) -> Option<&str> {
self._request_id.as_deref()
}
}
impl CreateLedgerOutput {
/// Creates a new builder-style object to manufacture [`CreateLedgerOutput`](crate::operation::create_ledger::CreateLedgerOutput).
pub fn builder() -> crate::operation::create_ledger::builders::CreateLedgerOutputBuilder {
crate::operation::create_ledger::builders::CreateLedgerOutputBuilder::default()
}
}
/// A builder for [`CreateLedgerOutput`](crate::operation::create_ledger::CreateLedgerOutput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct CreateLedgerOutputBuilder {
pub(crate) name: ::std::option::Option<::std::string::String>,
pub(crate) arn: ::std::option::Option<::std::string::String>,
pub(crate) state: ::std::option::Option<crate::types::LedgerState>,
pub(crate) creation_date_time: ::std::option::Option<::aws_smithy_types::DateTime>,
pub(crate) permissions_mode: ::std::option::Option<crate::types::PermissionsMode>,
pub(crate) deletion_protection: ::std::option::Option<bool>,
pub(crate) kms_key_arn: ::std::option::Option<::std::string::String>,
_request_id: Option<String>,
}
impl CreateLedgerOutputBuilder {
/// <p>The name of the ledger.</p>
pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.name = ::std::option::Option::Some(input.into());
self
}
/// <p>The name of the ledger.</p>
pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.name = input;
self
}
/// <p>The name of the ledger.</p>
pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
&self.name
}
/// <p>The Amazon Resource Name (ARN) for the ledger.</p>
pub fn arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.arn = ::std::option::Option::Some(input.into());
self
}
/// <p>The Amazon Resource Name (ARN) for the ledger.</p>
pub fn set_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.arn = input;
self
}
/// <p>The Amazon Resource Name (ARN) for the ledger.</p>
pub fn get_arn(&self) -> &::std::option::Option<::std::string::String> {
&self.arn
}
/// <p>The current status of the ledger.</p>
pub fn state(mut self, input: crate::types::LedgerState) -> Self {
self.state = ::std::option::Option::Some(input);
self
}
/// <p>The current status of the ledger.</p>
pub fn set_state(mut self, input: ::std::option::Option<crate::types::LedgerState>) -> Self {
self.state = input;
self
}
/// <p>The current status of the ledger.</p>
pub fn get_state(&self) -> &::std::option::Option<crate::types::LedgerState> {
&self.state
}
/// <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>
pub fn creation_date_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
self.creation_date_time = ::std::option::Option::Some(input);
self
}
/// <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>
pub fn set_creation_date_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
self.creation_date_time = input;
self
}
/// <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>
pub fn get_creation_date_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
&self.creation_date_time
}
/// <p>The permissions mode of the ledger that you created.</p>
pub fn permissions_mode(mut self, input: crate::types::PermissionsMode) -> Self {
self.permissions_mode = ::std::option::Option::Some(input);
self
}
/// <p>The permissions mode of the ledger that you created.</p>
pub fn set_permissions_mode(mut self, input: ::std::option::Option<crate::types::PermissionsMode>) -> Self {
self.permissions_mode = input;
self
}
/// <p>The permissions mode of the ledger that you created.</p>
pub fn get_permissions_mode(&self) -> &::std::option::Option<crate::types::PermissionsMode> {
&self.permissions_mode
}
/// <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>
/// <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>
pub fn deletion_protection(mut self, input: bool) -> Self {
self.deletion_protection = ::std::option::Option::Some(input);
self
}
/// <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>
/// <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>
pub fn set_deletion_protection(mut self, input: ::std::option::Option<bool>) -> Self {
self.deletion_protection = input;
self
}
/// <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>
/// <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>
pub fn get_deletion_protection(&self) -> &::std::option::Option<bool> {
&self.deletion_protection
}
/// <p>The ARN of the customer managed KMS key that the ledger uses for encryption at rest. If this parameter is undefined, the ledger uses an Amazon Web Services owned KMS key for encryption.</p>
pub fn kms_key_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.kms_key_arn = ::std::option::Option::Some(input.into());
self
}
/// <p>The ARN of the customer managed KMS key that the ledger uses for encryption at rest. If this parameter is undefined, the ledger uses an Amazon Web Services owned KMS key for encryption.</p>
pub fn set_kms_key_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.kms_key_arn = input;
self
}
/// <p>The ARN of the customer managed KMS key that the ledger uses for encryption at rest. If this parameter is undefined, the ledger uses an Amazon Web Services owned KMS key for encryption.</p>
pub fn get_kms_key_arn(&self) -> &::std::option::Option<::std::string::String> {
&self.kms_key_arn
}
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 [`CreateLedgerOutput`](crate::operation::create_ledger::CreateLedgerOutput).
pub fn build(self) -> crate::operation::create_ledger::CreateLedgerOutput {
crate::operation::create_ledger::CreateLedgerOutput {
name: self.name,
arn: self.arn,
state: self.state,
creation_date_time: self.creation_date_time,
permissions_mode: self.permissions_mode,
deletion_protection: self.deletion_protection,
kms_key_arn: self.kms_key_arn,
_request_id: self._request_id,
}
}
}