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 [`ExportJournalToS3`](crate::operation::export_journal_to_s3::builders::ExportJournalToS3FluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`name(impl Into<String>)`](crate::operation::export_journal_to_s3::builders::ExportJournalToS3FluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::export_journal_to_s3::builders::ExportJournalToS3FluentBuilder::set_name):<br>required: **true**<br><p>The name of the ledger.</p><br>
    ///   - [`inclusive_start_time(DateTime)`](crate::operation::export_journal_to_s3::builders::ExportJournalToS3FluentBuilder::inclusive_start_time) / [`set_inclusive_start_time(Option<DateTime>)`](crate::operation::export_journal_to_s3::builders::ExportJournalToS3FluentBuilder::set_inclusive_start_time):<br>required: **true**<br><p>The inclusive start date and time for the range of journal contents to export.</p> <p>The <code>InclusiveStartTime</code> must be in <code>ISO 8601</code> date and time format and in Universal Coordinated Time (UTC). For example: <code>2019-06-13T21:36:34Z</code>.</p> <p>The <code>InclusiveStartTime</code> must be before <code>ExclusiveEndTime</code>.</p> <p>If you provide an <code>InclusiveStartTime</code> that is before the ledger's <code>CreationDateTime</code>, Amazon QLDB defaults it to the ledger's <code>CreationDateTime</code>.</p><br>
    ///   - [`exclusive_end_time(DateTime)`](crate::operation::export_journal_to_s3::builders::ExportJournalToS3FluentBuilder::exclusive_end_time) / [`set_exclusive_end_time(Option<DateTime>)`](crate::operation::export_journal_to_s3::builders::ExportJournalToS3FluentBuilder::set_exclusive_end_time):<br>required: **true**<br><p>The exclusive end date and time for the range of journal contents to export.</p> <p>The <code>ExclusiveEndTime</code> must be in <code>ISO 8601</code> date and time format and in Universal Coordinated Time (UTC). For example: <code>2019-06-13T21:36:34Z</code>.</p> <p>The <code>ExclusiveEndTime</code> must be less than or equal to the current UTC date and time.</p><br>
    ///   - [`s3_export_configuration(S3ExportConfiguration)`](crate::operation::export_journal_to_s3::builders::ExportJournalToS3FluentBuilder::s3_export_configuration) / [`set_s3_export_configuration(Option<S3ExportConfiguration>)`](crate::operation::export_journal_to_s3::builders::ExportJournalToS3FluentBuilder::set_s3_export_configuration):<br>required: **true**<br><p>The configuration settings of the Amazon S3 bucket destination for your export request.</p><br>
    ///   - [`role_arn(impl Into<String>)`](crate::operation::export_journal_to_s3::builders::ExportJournalToS3FluentBuilder::role_arn) / [`set_role_arn(Option<String>)`](crate::operation::export_journal_to_s3::builders::ExportJournalToS3FluentBuilder::set_role_arn):<br>required: **true**<br><p>The Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions for a journal export job to do the following:</p> <ul>  <li>   <p>Write objects into your Amazon S3 bucket.</p></li>  <li>   <p>(Optional) Use your customer managed key in Key Management Service (KMS) for server-side encryption of your exported data.</p></li> </ul> <p>To pass a role to QLDB when requesting a journal export, you must have permissions to perform the <code>iam:PassRole</code> action on the IAM role resource. This is required for all journal export requests.</p><br>
    ///   - [`output_format(OutputFormat)`](crate::operation::export_journal_to_s3::builders::ExportJournalToS3FluentBuilder::output_format) / [`set_output_format(Option<OutputFormat>)`](crate::operation::export_journal_to_s3::builders::ExportJournalToS3FluentBuilder::set_output_format):<br>required: **false**<br><p>The output format of your exported journal data. A journal export job can write the data objects in either the text or binary representation of <a href="https://docs.aws.amazon.com/qldb/latest/developerguide/ion.html">Amazon Ion</a> format, or in <a href="https://jsonlines.org/">JSON Lines</a> text format.</p> <p>Default: <code>ION_TEXT</code></p> <p>In JSON Lines format, each journal block in an exported data object is a valid JSON object that is delimited by a newline. You can use this format to directly integrate JSON exports with analytics tools such as Amazon Athena and Glue because these services can parse newline-delimited JSON automatically.</p><br>
    /// - On success, responds with [`ExportJournalToS3Output`](crate::operation::export_journal_to_s3::ExportJournalToS3Output) with field(s):
    ///   - [`export_id(String)`](crate::operation::export_journal_to_s3::ExportJournalToS3Output::export_id): <p>The UUID (represented in Base62-encoded text) that QLDB assigns to each journal export job.</p> <p>To describe your export request and check the status of the job, you can use <code>ExportId</code> to call <code>DescribeJournalS3Export</code>.</p>
    /// - On failure, responds with [`SdkError<ExportJournalToS3Error>`](crate::operation::export_journal_to_s3::ExportJournalToS3Error)
    pub fn export_journal_to_s3(&self) -> crate::operation::export_journal_to_s3::builders::ExportJournalToS3FluentBuilder {
        crate::operation::export_journal_to_s3::builders::ExportJournalToS3FluentBuilder::new(self.handle.clone())
    }
}