// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`GetParametersForExport`](crate::operation::get_parameters_for_export::builders::GetParametersForExportFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`key_material_type(KeyMaterialType)`](crate::operation::get_parameters_for_export::builders::GetParametersForExportFluentBuilder::key_material_type) / [`set_key_material_type(Option<KeyMaterialType>)`](crate::operation::get_parameters_for_export::builders::GetParametersForExportFluentBuilder::set_key_material_type):<br>required: **true**<br><p>The key block format type (for example, TR-34 or TR-31) to use during key material export. Export token is only required for a TR-34 key export, <code>TR34_KEY_BLOCK</code>. Export token is not required for TR-31 key export.</p><br>
/// - [`signing_key_algorithm(KeyAlgorithm)`](crate::operation::get_parameters_for_export::builders::GetParametersForExportFluentBuilder::signing_key_algorithm) / [`set_signing_key_algorithm(Option<KeyAlgorithm>)`](crate::operation::get_parameters_for_export::builders::GetParametersForExportFluentBuilder::set_signing_key_algorithm):<br>required: **true**<br><p>The signing key algorithm to generate a signing key certificate. This certificate signs the wrapped key under export within the TR-34 key block. <code>RSA_2048</code> is the only signing key algorithm allowed.</p><br>
/// - [`reuse_last_generated_token(bool)`](crate::operation::get_parameters_for_export::builders::GetParametersForExportFluentBuilder::reuse_last_generated_token) / [`set_reuse_last_generated_token(Option<bool>)`](crate::operation::get_parameters_for_export::builders::GetParametersForExportFluentBuilder::set_reuse_last_generated_token):<br>required: **false**<br><p>Specifies whether to reuse the existing export token and signing key certificate. If set to <code>true</code> and a valid export token exists for the same key material type and signing key algorithm with at least 7 days of remaining validity, the existing token and signing key certificate are returned. Otherwise, a new export token and signing key certificate are generated. The default value is <code>false</code>, which generates a new export token and signing key certificate on every call.</p><br>
/// - On success, responds with [`GetParametersForExportOutput`](crate::operation::get_parameters_for_export::GetParametersForExportOutput) with field(s):
/// - [`signing_key_certificate(String)`](crate::operation::get_parameters_for_export::GetParametersForExportOutput::signing_key_certificate): <p>The signing key certificate in PEM format (base64 encoded) of the public key for signature within the TR-34 key block. The certificate expires after 30 days.</p>
/// - [`signing_key_certificate_chain(String)`](crate::operation::get_parameters_for_export::GetParametersForExportOutput::signing_key_certificate_chain): <p>The root certificate authority (CA) that signed the signing key certificate in PEM format (base64 encoded).</p>
/// - [`signing_key_algorithm(KeyAlgorithm)`](crate::operation::get_parameters_for_export::GetParametersForExportOutput::signing_key_algorithm): <p>The algorithm of the signing key certificate for use in TR-34 key block generation. <code>RSA_2048</code> is the only signing key algorithm allowed.</p>
/// - [`export_token(String)`](crate::operation::get_parameters_for_export::GetParametersForExportOutput::export_token): <p>The export token to initiate key export from Amazon Web Services Payment Cryptography. The export token expires after 30 days. You can use the same export token to export multiple keys from the same service account.</p>
/// - [`parameters_valid_until_timestamp(DateTime)`](crate::operation::get_parameters_for_export::GetParametersForExportOutput::parameters_valid_until_timestamp): <p>The validity period of the export token.</p>
/// - On failure, responds with [`SdkError<GetParametersForExportError>`](crate::operation::get_parameters_for_export::GetParametersForExportError)
pub fn get_parameters_for_export(&self) -> crate::operation::get_parameters_for_export::builders::GetParametersForExportFluentBuilder {
crate::operation::get_parameters_for_export::builders::GetParametersForExportFluentBuilder::new(self.handle.clone())
}
}