1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`GenerateMac`](crate::operation::generate_mac::builders::GenerateMacFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`key_identifier(impl ::std::convert::Into<String>)`](crate::operation::generate_mac::builders::GenerateMacFluentBuilder::key_identifier) / [`set_key_identifier(Option<String>)`](crate::operation::generate_mac::builders::GenerateMacFluentBuilder::set_key_identifier): <p>The <code>keyARN</code> of the MAC generation encryption key.</p>
    ///   - [`message_data(impl ::std::convert::Into<String>)`](crate::operation::generate_mac::builders::GenerateMacFluentBuilder::message_data) / [`set_message_data(Option<String>)`](crate::operation::generate_mac::builders::GenerateMacFluentBuilder::set_message_data): <p>The data for which a MAC is under generation.</p>
    ///   - [`generation_attributes(MacAttributes)`](crate::operation::generate_mac::builders::GenerateMacFluentBuilder::generation_attributes) / [`set_generation_attributes(Option<MacAttributes>)`](crate::operation::generate_mac::builders::GenerateMacFluentBuilder::set_generation_attributes): <p>The attributes and data values to use for MAC generation within Amazon Web Services Payment Cryptography.</p>
    ///   - [`mac_length(i32)`](crate::operation::generate_mac::builders::GenerateMacFluentBuilder::mac_length) / [`set_mac_length(Option<i32>)`](crate::operation::generate_mac::builders::GenerateMacFluentBuilder::set_mac_length): <p>The length of a MAC under generation.</p>
    /// - On success, responds with [`GenerateMacOutput`](crate::operation::generate_mac::GenerateMacOutput) with field(s):
    ///   - [`key_arn(Option<String>)`](crate::operation::generate_mac::GenerateMacOutput::key_arn): <p>The <code>keyARN</code> of the encryption key that Amazon Web Services Payment Cryptography uses for MAC generation.</p>
    ///   - [`key_check_value(Option<String>)`](crate::operation::generate_mac::GenerateMacOutput::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>
    ///   - [`mac(Option<String>)`](crate::operation::generate_mac::GenerateMacOutput::mac): <p>The MAC cryptogram generated within Amazon Web Services Payment Cryptography.</p>
    /// - On failure, responds with [`SdkError<GenerateMacError>`](crate::operation::generate_mac::GenerateMacError)
    pub fn generate_mac(&self) -> crate::operation::generate_mac::builders::GenerateMacFluentBuilder {
        crate::operation::generate_mac::builders::GenerateMacFluentBuilder::new(self.handle.clone())
    }
}