1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`VerifyPinData`](crate::operation::verify_pin_data::builders::VerifyPinDataFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`verification_key_identifier(impl Into<String>)`](crate::operation::verify_pin_data::builders::VerifyPinDataFluentBuilder::verification_key_identifier) / [`set_verification_key_identifier(Option<String>)`](crate::operation::verify_pin_data::builders::VerifyPinDataFluentBuilder::set_verification_key_identifier):<br>required: **true**<br><p>The <code>keyARN</code> of the PIN verification key.</p><br>
    ///   - [`encryption_key_identifier(impl Into<String>)`](crate::operation::verify_pin_data::builders::VerifyPinDataFluentBuilder::encryption_key_identifier) / [`set_encryption_key_identifier(Option<String>)`](crate::operation::verify_pin_data::builders::VerifyPinDataFluentBuilder::set_encryption_key_identifier):<br>required: **true**<br><p>The <code>keyARN</code> of the encryption key under which the PIN block data is encrypted. This key type can be PEK or BDK.</p><br>
    ///   - [`verification_attributes(PinVerificationAttributes)`](crate::operation::verify_pin_data::builders::VerifyPinDataFluentBuilder::verification_attributes) / [`set_verification_attributes(Option<PinVerificationAttributes>)`](crate::operation::verify_pin_data::builders::VerifyPinDataFluentBuilder::set_verification_attributes):<br>required: **true**<br><p>The attributes and values for PIN data verification.</p><br>
    ///   - [`encrypted_pin_block(impl Into<String>)`](crate::operation::verify_pin_data::builders::VerifyPinDataFluentBuilder::encrypted_pin_block) / [`set_encrypted_pin_block(Option<String>)`](crate::operation::verify_pin_data::builders::VerifyPinDataFluentBuilder::set_encrypted_pin_block):<br>required: **true**<br><p>The encrypted PIN block data that Amazon Web Services Payment Cryptography verifies.</p><br>
    ///   - [`primary_account_number(impl Into<String>)`](crate::operation::verify_pin_data::builders::VerifyPinDataFluentBuilder::primary_account_number) / [`set_primary_account_number(Option<String>)`](crate::operation::verify_pin_data::builders::VerifyPinDataFluentBuilder::set_primary_account_number):<br>required: **true**<br><p>The Primary Account Number (PAN), a unique identifier for a payment credit or debit card that associates the card with a specific account holder.</p><br>
    ///   - [`pin_block_format(PinBlockFormatForPinData)`](crate::operation::verify_pin_data::builders::VerifyPinDataFluentBuilder::pin_block_format) / [`set_pin_block_format(Option<PinBlockFormatForPinData>)`](crate::operation::verify_pin_data::builders::VerifyPinDataFluentBuilder::set_pin_block_format):<br>required: **true**<br><p>The PIN encoding format for pin data generation as specified in ISO 9564. Amazon Web Services Payment Cryptography supports <code>ISO_Format_0</code> and <code>ISO_Format_3</code>.</p>  <p>The <code>ISO_Format_0</code> PIN block format is equivalent to the ANSI X9.8, VISA-1, and ECI-1 PIN block formats. It is similar to a VISA-4 PIN block format. It supports a PIN from 4 to 12 digits in length.</p>  <p>The <code>ISO_Format_3</code> PIN block format is the same as <code>ISO_Format_0</code> except that the fill digits are random values from 10 to 15.</p><br>
    ///   - [`pin_data_length(i32)`](crate::operation::verify_pin_data::builders::VerifyPinDataFluentBuilder::pin_data_length) / [`set_pin_data_length(Option<i32>)`](crate::operation::verify_pin_data::builders::VerifyPinDataFluentBuilder::set_pin_data_length):<br>required: **false**<br><p>The length of PIN being verified.</p><br>
    ///   - [`dukpt_attributes(DukptAttributes)`](crate::operation::verify_pin_data::builders::VerifyPinDataFluentBuilder::dukpt_attributes) / [`set_dukpt_attributes(Option<DukptAttributes>)`](crate::operation::verify_pin_data::builders::VerifyPinDataFluentBuilder::set_dukpt_attributes):<br>required: **false**<br><p>The attributes and values for the DUKPT encrypted PIN block data.</p><br>
    /// - On success, responds with [`VerifyPinDataOutput`](crate::operation::verify_pin_data::VerifyPinDataOutput) with field(s):
    ///   - [`verification_key_arn(String)`](crate::operation::verify_pin_data::VerifyPinDataOutput::verification_key_arn): <p>The <code>keyARN</code> of the PIN encryption key that Amazon Web Services Payment Cryptography uses for PIN or PIN Offset verification.</p>
    ///   - [`verification_key_check_value(String)`](crate::operation::verify_pin_data::VerifyPinDataOutput::verification_key_check_value): <p>The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed. Amazon Web Services Payment Cryptography calculates the KCV by using standard algorithms, typically by encrypting 8 or 16 bytes or "00" or "01" and then truncating the result to the first 3 bytes, or 6 hex digits, of the resulting cryptogram.</p>
    ///   - [`encryption_key_arn(String)`](crate::operation::verify_pin_data::VerifyPinDataOutput::encryption_key_arn): <p>The <code>keyARN</code> of the PEK that Amazon Web Services Payment Cryptography uses for encrypted pin block generation.</p>
    ///   - [`encryption_key_check_value(String)`](crate::operation::verify_pin_data::VerifyPinDataOutput::encryption_key_check_value): <p>The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed. Amazon Web Services Payment Cryptography calculates the KCV by using standard algorithms, typically by encrypting 8 or 16 bytes or "00" or "01" and then truncating the result to the first 3 bytes, or 6 hex digits, of the resulting cryptogram.</p>
    /// - On failure, responds with [`SdkError<VerifyPinDataError>`](crate::operation::verify_pin_data::VerifyPinDataError)
    pub fn verify_pin_data(&self) -> crate::operation::verify_pin_data::builders::VerifyPinDataFluentBuilder {
        crate::operation::verify_pin_data::builders::VerifyPinDataFluentBuilder::new(self.handle.clone())
    }
}