/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the qldb-2019-01-02.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.QLDB.Model { /// /// Container for the parameters to the ExportJournalToS3 operation. /// Exports journal contents within a date and time range from a ledger into a specified /// Amazon Simple Storage Service (Amazon S3) bucket. A journal export job can write the /// data objects in either the text or binary representation of Amazon Ion format, or /// in JSON Lines text format. /// /// /// /// If the ledger with the given Name doesn't exist, then throws ResourceNotFoundException. /// /// /// /// If the ledger with the given Name is in CREATING status, /// then throws ResourcePreconditionNotMetException. /// /// /// /// You can initiate up to two concurrent journal export requests for each ledger. Beyond /// this limit, journal export requests throw LimitExceededException. /// /// public partial class ExportJournalToS3Request : AmazonQLDBRequest { private DateTime? _exclusiveEndTime; private DateTime? _inclusiveStartTime; private string _name; private OutputFormat _outputFormat; private string _roleArn; private S3ExportConfiguration _s3ExportConfiguration; /// /// Gets and sets the property ExclusiveEndTime. /// /// The exclusive end date and time for the range of journal contents to export. /// /// /// /// The ExclusiveEndTime must be in ISO 8601 date and time format /// and in Universal Coordinated Time (UTC). For example: 2019-06-13T21:36:34Z. /// /// /// /// The ExclusiveEndTime must be less than or equal to the current UTC date /// and time. /// /// [AWSProperty(Required=true)] public DateTime ExclusiveEndTime { get { return this._exclusiveEndTime.GetValueOrDefault(); } set { this._exclusiveEndTime = value; } } // Check to see if ExclusiveEndTime property is set internal bool IsSetExclusiveEndTime() { return this._exclusiveEndTime.HasValue; } /// /// Gets and sets the property InclusiveStartTime. /// /// The inclusive start date and time for the range of journal contents to export. /// /// /// /// The InclusiveStartTime must be in ISO 8601 date and time /// format and in Universal Coordinated Time (UTC). For example: 2019-06-13T21:36:34Z. /// /// /// /// The InclusiveStartTime must be before ExclusiveEndTime. /// /// /// /// If you provide an InclusiveStartTime that is before the ledger's CreationDateTime, /// Amazon QLDB defaults it to the ledger's CreationDateTime. /// /// [AWSProperty(Required=true)] public DateTime InclusiveStartTime { get { return this._inclusiveStartTime.GetValueOrDefault(); } set { this._inclusiveStartTime = value; } } // Check to see if InclusiveStartTime property is set internal bool IsSetInclusiveStartTime() { return this._inclusiveStartTime.HasValue; } /// /// Gets and sets the property Name. /// /// The name of the ledger. /// /// [AWSProperty(Required=true, Min=1, Max=32)] public string Name { get { return this._name; } set { this._name = value; } } // Check to see if Name property is set internal bool IsSetName() { return this._name != null; } /// /// Gets and sets the property OutputFormat. /// /// 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 Amazon /// Ion format, or in JSON Lines text format. /// /// /// /// Default: ION_TEXT /// /// /// /// 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. /// /// public OutputFormat OutputFormat { get { return this._outputFormat; } set { this._outputFormat = value; } } // Check to see if OutputFormat property is set internal bool IsSetOutputFormat() { return this._outputFormat != null; } /// /// Gets and sets the property RoleArn. /// /// The Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions for a /// journal export job to do the following: /// /// /// /// To pass a role to QLDB when requesting a journal export, you must have permissions /// to perform the iam:PassRole action on the IAM role resource. This is /// required for all journal export requests. /// /// [AWSProperty(Required=true, Min=20, Max=1600)] public string RoleArn { get { return this._roleArn; } set { this._roleArn = value; } } // Check to see if RoleArn property is set internal bool IsSetRoleArn() { return this._roleArn != null; } /// /// Gets and sets the property S3ExportConfiguration. /// /// The configuration settings of the Amazon S3 bucket destination for your export request. /// /// [AWSProperty(Required=true)] public S3ExportConfiguration S3ExportConfiguration { get { return this._s3ExportConfiguration; } set { this._s3ExportConfiguration = value; } } // Check to see if S3ExportConfiguration property is set internal bool IsSetS3ExportConfiguration() { return this._s3ExportConfiguration != null; } } }