pub struct EncryptDataFluentBuilder { /* private fields */ }
Expand description
Fluent builder constructing a request to EncryptData
.
Encrypts plaintext data to ciphertext using a symmetric (TDES, AES), asymmetric (RSA), or derived (DUKPT or EMV) encryption key scheme. For more information, see Encrypt data in the Amazon Web Services Payment Cryptography User Guide.
You can generate an encryption key within Amazon Web Services Payment Cryptography by calling CreateKey. You can import your own encryption key by calling ImportKey.
For this operation, the key must have KeyModesOfUse
set to Encrypt
. In asymmetric encryption, plaintext is encrypted using public component. You can import the public component of an asymmetric key pair created outside Amazon Web Services Payment Cryptography by calling ImportKey.
This operation also supports dynamic keys, allowing you to pass a dynamic encryption key as a TR-31 WrappedKeyBlock. This can be used when key material is frequently rotated, such as during every card transaction, and there is need to avoid importing short-lived keys into Amazon Web Services Payment Cryptography. To encrypt using dynamic keys, the keyARN
is the Key Encryption Key (KEK) of the TR-31 wrapped encryption key material. The incoming wrapped key shall have a key purpose of D0 with a mode of use of B or D. For more information, see Using Dynamic Keys in the Amazon Web Services Payment Cryptography User Guide.
For symmetric and DUKPT encryption, Amazon Web Services Payment Cryptography supports TDES
and AES
algorithms. For EMV encryption, Amazon Web Services Payment Cryptography supports TDES
algorithms.For asymmetric encryption, Amazon Web Services Payment Cryptography supports RSA
.
When you use TDES or TDES DUKPT, the plaintext data length must be a multiple of 8 bytes. For AES or AES DUKPT, the plaintext data length must be a multiple of 16 bytes. For RSA, it sould be equal to the key size unless padding is enabled.
To encrypt using DUKPT, you must already have a BDK (Base Derivation Key) key in your account with KeyModesOfUse
set to DeriveKey
, or you can generate a new DUKPT key by calling CreateKey. To encrypt using EMV, you must already have an IMK (Issuer Master Key) key in your account with KeyModesOfUse
set to DeriveKey
.
For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.
Cross-account use: This operation can't be used across different Amazon Web Services accounts.
Related operations:
-
DecryptData
-
ReEncryptData
Implementations§
Source§impl EncryptDataFluentBuilder
impl EncryptDataFluentBuilder
Sourcepub fn as_input(&self) -> &EncryptDataInputBuilder
pub fn as_input(&self) -> &EncryptDataInputBuilder
Access the EncryptData as a reference.
Sourcepub async fn send(
self,
) -> Result<EncryptDataOutput, SdkError<EncryptDataError, HttpResponse>>
pub async fn send( self, ) -> Result<EncryptDataOutput, SdkError<EncryptDataError, HttpResponse>>
Sends the request and returns the response.
If an error occurs, an SdkError
will be returned with additional details that
can be matched against.
By default, any retryable failures will be retried twice. Retry behavior is configurable with the RetryConfig, which can be set when configuring the client.
Sourcepub fn customize(
self,
) -> CustomizableOperation<EncryptDataOutput, EncryptDataError, Self>
pub fn customize( self, ) -> CustomizableOperation<EncryptDataOutput, EncryptDataError, Self>
Consumes this builder, creating a customizable operation that can be modified before being sent.
Sourcepub fn key_identifier(self, input: impl Into<String>) -> Self
pub fn key_identifier(self, input: impl Into<String>) -> Self
The keyARN
of the encryption key that Amazon Web Services Payment Cryptography uses for plaintext encryption.
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.
Sourcepub fn set_key_identifier(self, input: Option<String>) -> Self
pub fn set_key_identifier(self, input: Option<String>) -> Self
The keyARN
of the encryption key that Amazon Web Services Payment Cryptography uses for plaintext encryption.
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.
Sourcepub fn get_key_identifier(&self) -> &Option<String>
pub fn get_key_identifier(&self) -> &Option<String>
The keyARN
of the encryption key that Amazon Web Services Payment Cryptography uses for plaintext encryption.
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.
Sourcepub fn plain_text(self, input: impl Into<String>) -> Self
pub fn plain_text(self, input: impl Into<String>) -> Self
The plaintext to be encrypted.
For encryption using asymmetric keys, plaintext data length is constrained by encryption key strength that you define in KeyAlgorithm
and padding type that you define in AsymmetricEncryptionAttributes
. For more information, see Encrypt data in the Amazon Web Services Payment Cryptography User Guide.
Sourcepub fn set_plain_text(self, input: Option<String>) -> Self
pub fn set_plain_text(self, input: Option<String>) -> Self
The plaintext to be encrypted.
For encryption using asymmetric keys, plaintext data length is constrained by encryption key strength that you define in KeyAlgorithm
and padding type that you define in AsymmetricEncryptionAttributes
. For more information, see Encrypt data in the Amazon Web Services Payment Cryptography User Guide.
Sourcepub fn get_plain_text(&self) -> &Option<String>
pub fn get_plain_text(&self) -> &Option<String>
The plaintext to be encrypted.
For encryption using asymmetric keys, plaintext data length is constrained by encryption key strength that you define in KeyAlgorithm
and padding type that you define in AsymmetricEncryptionAttributes
. For more information, see Encrypt data in the Amazon Web Services Payment Cryptography User Guide.
Sourcepub fn encryption_attributes(
self,
input: EncryptionDecryptionAttributes,
) -> Self
pub fn encryption_attributes( self, input: EncryptionDecryptionAttributes, ) -> Self
The encryption key type and attributes for plaintext encryption.
Sourcepub fn set_encryption_attributes(
self,
input: Option<EncryptionDecryptionAttributes>,
) -> Self
pub fn set_encryption_attributes( self, input: Option<EncryptionDecryptionAttributes>, ) -> Self
The encryption key type and attributes for plaintext encryption.
Sourcepub fn get_encryption_attributes(
&self,
) -> &Option<EncryptionDecryptionAttributes>
pub fn get_encryption_attributes( &self, ) -> &Option<EncryptionDecryptionAttributes>
The encryption key type and attributes for plaintext encryption.
Sourcepub fn wrapped_key(self, input: WrappedKey) -> Self
pub fn wrapped_key(self, input: WrappedKey) -> Self
The WrappedKeyBlock containing the encryption key for plaintext encryption.
Sourcepub fn set_wrapped_key(self, input: Option<WrappedKey>) -> Self
pub fn set_wrapped_key(self, input: Option<WrappedKey>) -> Self
The WrappedKeyBlock containing the encryption key for plaintext encryption.
Sourcepub fn get_wrapped_key(&self) -> &Option<WrappedKey>
pub fn get_wrapped_key(&self) -> &Option<WrappedKey>
The WrappedKeyBlock containing the encryption key for plaintext encryption.
Trait Implementations§
Source§impl Clone for EncryptDataFluentBuilder
impl Clone for EncryptDataFluentBuilder
Source§fn clone(&self) -> EncryptDataFluentBuilder
fn clone(&self) -> EncryptDataFluentBuilder
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreAuto Trait Implementations§
impl Freeze for EncryptDataFluentBuilder
impl !RefUnwindSafe for EncryptDataFluentBuilder
impl Send for EncryptDataFluentBuilder
impl Sync for EncryptDataFluentBuilder
impl Unpin for EncryptDataFluentBuilder
impl !UnwindSafe for EncryptDataFluentBuilder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the foreground set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red()
and
green()
, which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg()
:
use yansi::{Paint, Color};
painted.fg(Color::White);
Set foreground color to white using white()
.
use yansi::Paint;
painted.white();
Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the background set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red()
and
on_green()
, which have the same functionality but
are pithier.
§Example
Set background color to red using fg()
:
use yansi::{Paint, Color};
painted.bg(Color::Red);
Set background color to red using on_red()
.
use yansi::Paint;
painted.on_red();
Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute
value
.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold()
and
underline()
, which have the same functionality
but are pithier.
§Example
Make text bold using attr()
:
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);
Make text bold using using bold()
.
use yansi::Paint;
painted.bold();
Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi
Quirk
value
.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask()
and
wrap()
, which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk()
:
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);
Enable wrapping using wrap()
.
use yansi::Paint;
painted.wrap();
Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition
value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted
only when both stdout
and stderr
are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);