aws_sdk_paymentcryptographydata/operation/encrypt_data/_encrypt_data_input.rs
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
// 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)]
pub struct EncryptDataInput {
/// <p>The <code>keyARN</code> of the encryption key that Amazon Web Services Payment Cryptography uses for plaintext encryption.</p>
/// <p>When a WrappedKeyBlock is provided, this value will be the identifier to the key wrapping key. Otherwise, it is the key identifier used to perform the operation.</p>
pub key_identifier: ::std::option::Option<::std::string::String>,
/// <p>The plaintext to be encrypted.</p><note>
/// <p>For encryption using asymmetric keys, plaintext data length is constrained by encryption key strength that you define in <code>KeyAlgorithm</code> and padding type that you define in <code>AsymmetricEncryptionAttributes</code>. For more information, see <a href="https://docs.aws.amazon.com/payment-cryptography/latest/userguide/encrypt-data.html">Encrypt data</a> in the <i>Amazon Web Services Payment Cryptography User Guide</i>.</p>
/// </note>
pub plain_text: ::std::option::Option<::std::string::String>,
/// <p>The encryption key type and attributes for plaintext encryption.</p>
pub encryption_attributes: ::std::option::Option<crate::types::EncryptionDecryptionAttributes>,
/// <p>The WrappedKeyBlock containing the encryption key for plaintext encryption.</p>
pub wrapped_key: ::std::option::Option<crate::types::WrappedKey>,
}
impl EncryptDataInput {
/// <p>The <code>keyARN</code> of the encryption key that Amazon Web Services Payment Cryptography uses for plaintext encryption.</p>
/// <p>When a WrappedKeyBlock is provided, this value will be the identifier to the key wrapping key. Otherwise, it is the key identifier used to perform the operation.</p>
pub fn key_identifier(&self) -> ::std::option::Option<&str> {
self.key_identifier.as_deref()
}
/// <p>The plaintext to be encrypted.</p><note>
/// <p>For encryption using asymmetric keys, plaintext data length is constrained by encryption key strength that you define in <code>KeyAlgorithm</code> and padding type that you define in <code>AsymmetricEncryptionAttributes</code>. For more information, see <a href="https://docs.aws.amazon.com/payment-cryptography/latest/userguide/encrypt-data.html">Encrypt data</a> in the <i>Amazon Web Services Payment Cryptography User Guide</i>.</p>
/// </note>
pub fn plain_text(&self) -> ::std::option::Option<&str> {
self.plain_text.as_deref()
}
/// <p>The encryption key type and attributes for plaintext encryption.</p>
pub fn encryption_attributes(&self) -> ::std::option::Option<&crate::types::EncryptionDecryptionAttributes> {
self.encryption_attributes.as_ref()
}
/// <p>The WrappedKeyBlock containing the encryption key for plaintext encryption.</p>
pub fn wrapped_key(&self) -> ::std::option::Option<&crate::types::WrappedKey> {
self.wrapped_key.as_ref()
}
}
impl ::std::fmt::Debug for EncryptDataInput {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
let mut formatter = f.debug_struct("EncryptDataInput");
formatter.field("key_identifier", &self.key_identifier);
formatter.field("plain_text", &"*** Sensitive Data Redacted ***");
formatter.field("encryption_attributes", &self.encryption_attributes);
formatter.field("wrapped_key", &self.wrapped_key);
formatter.finish()
}
}
impl EncryptDataInput {
/// Creates a new builder-style object to manufacture [`EncryptDataInput`](crate::operation::encrypt_data::EncryptDataInput).
pub fn builder() -> crate::operation::encrypt_data::builders::EncryptDataInputBuilder {
crate::operation::encrypt_data::builders::EncryptDataInputBuilder::default()
}
}
/// A builder for [`EncryptDataInput`](crate::operation::encrypt_data::EncryptDataInput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
#[non_exhaustive]
pub struct EncryptDataInputBuilder {
pub(crate) key_identifier: ::std::option::Option<::std::string::String>,
pub(crate) plain_text: ::std::option::Option<::std::string::String>,
pub(crate) encryption_attributes: ::std::option::Option<crate::types::EncryptionDecryptionAttributes>,
pub(crate) wrapped_key: ::std::option::Option<crate::types::WrappedKey>,
}
impl EncryptDataInputBuilder {
/// <p>The <code>keyARN</code> of the encryption key that Amazon Web Services Payment Cryptography uses for plaintext encryption.</p>
/// <p>When a WrappedKeyBlock is provided, this value will be the identifier to the key wrapping key. Otherwise, it is the key identifier used to perform the operation.</p>
/// This field is required.
pub fn key_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.key_identifier = ::std::option::Option::Some(input.into());
self
}
/// <p>The <code>keyARN</code> of the encryption key that Amazon Web Services Payment Cryptography uses for plaintext encryption.</p>
/// <p>When a WrappedKeyBlock is provided, this value will be the identifier to the key wrapping key. Otherwise, it is the key identifier used to perform the operation.</p>
pub fn set_key_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.key_identifier = input;
self
}
/// <p>The <code>keyARN</code> of the encryption key that Amazon Web Services Payment Cryptography uses for plaintext encryption.</p>
/// <p>When a WrappedKeyBlock is provided, this value will be the identifier to the key wrapping key. Otherwise, it is the key identifier used to perform the operation.</p>
pub fn get_key_identifier(&self) -> &::std::option::Option<::std::string::String> {
&self.key_identifier
}
/// <p>The plaintext to be encrypted.</p><note>
/// <p>For encryption using asymmetric keys, plaintext data length is constrained by encryption key strength that you define in <code>KeyAlgorithm</code> and padding type that you define in <code>AsymmetricEncryptionAttributes</code>. For more information, see <a href="https://docs.aws.amazon.com/payment-cryptography/latest/userguide/encrypt-data.html">Encrypt data</a> in the <i>Amazon Web Services Payment Cryptography User Guide</i>.</p>
/// </note>
/// This field is required.
pub fn plain_text(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.plain_text = ::std::option::Option::Some(input.into());
self
}
/// <p>The plaintext to be encrypted.</p><note>
/// <p>For encryption using asymmetric keys, plaintext data length is constrained by encryption key strength that you define in <code>KeyAlgorithm</code> and padding type that you define in <code>AsymmetricEncryptionAttributes</code>. For more information, see <a href="https://docs.aws.amazon.com/payment-cryptography/latest/userguide/encrypt-data.html">Encrypt data</a> in the <i>Amazon Web Services Payment Cryptography User Guide</i>.</p>
/// </note>
pub fn set_plain_text(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.plain_text = input;
self
}
/// <p>The plaintext to be encrypted.</p><note>
/// <p>For encryption using asymmetric keys, plaintext data length is constrained by encryption key strength that you define in <code>KeyAlgorithm</code> and padding type that you define in <code>AsymmetricEncryptionAttributes</code>. For more information, see <a href="https://docs.aws.amazon.com/payment-cryptography/latest/userguide/encrypt-data.html">Encrypt data</a> in the <i>Amazon Web Services Payment Cryptography User Guide</i>.</p>
/// </note>
pub fn get_plain_text(&self) -> &::std::option::Option<::std::string::String> {
&self.plain_text
}
/// <p>The encryption key type and attributes for plaintext encryption.</p>
/// This field is required.
pub fn encryption_attributes(mut self, input: crate::types::EncryptionDecryptionAttributes) -> Self {
self.encryption_attributes = ::std::option::Option::Some(input);
self
}
/// <p>The encryption key type and attributes for plaintext encryption.</p>
pub fn set_encryption_attributes(mut self, input: ::std::option::Option<crate::types::EncryptionDecryptionAttributes>) -> Self {
self.encryption_attributes = input;
self
}
/// <p>The encryption key type and attributes for plaintext encryption.</p>
pub fn get_encryption_attributes(&self) -> &::std::option::Option<crate::types::EncryptionDecryptionAttributes> {
&self.encryption_attributes
}
/// <p>The WrappedKeyBlock containing the encryption key for plaintext encryption.</p>
pub fn wrapped_key(mut self, input: crate::types::WrappedKey) -> Self {
self.wrapped_key = ::std::option::Option::Some(input);
self
}
/// <p>The WrappedKeyBlock containing the encryption key for plaintext encryption.</p>
pub fn set_wrapped_key(mut self, input: ::std::option::Option<crate::types::WrappedKey>) -> Self {
self.wrapped_key = input;
self
}
/// <p>The WrappedKeyBlock containing the encryption key for plaintext encryption.</p>
pub fn get_wrapped_key(&self) -> &::std::option::Option<crate::types::WrappedKey> {
&self.wrapped_key
}
/// Consumes the builder and constructs a [`EncryptDataInput`](crate::operation::encrypt_data::EncryptDataInput).
pub fn build(self) -> ::std::result::Result<crate::operation::encrypt_data::EncryptDataInput, ::aws_smithy_types::error::operation::BuildError> {
::std::result::Result::Ok(crate::operation::encrypt_data::EncryptDataInput {
key_identifier: self.key_identifier,
plain_text: self.plain_text,
encryption_attributes: self.encryption_attributes,
wrapped_key: self.wrapped_key,
})
}
}
impl ::std::fmt::Debug for EncryptDataInputBuilder {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
let mut formatter = f.debug_struct("EncryptDataInputBuilder");
formatter.field("key_identifier", &self.key_identifier);
formatter.field("plain_text", &"*** Sensitive Data Redacted ***");
formatter.field("encryption_attributes", &self.encryption_attributes);
formatter.field("wrapped_key", &self.wrapped_key);
formatter.finish()
}
}