/* * 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 StreamJournalToKinesis operation. /// Creates a journal stream for a given Amazon QLDB ledger. The stream captures every /// document revision that is committed to the ledger's journal and delivers the data /// to a specified Amazon Kinesis Data Streams resource. /// public partial class StreamJournalToKinesisRequest : AmazonQLDBRequest { private DateTime? _exclusiveEndTime; private DateTime? _inclusiveStartTime; private KinesisConfiguration _kinesisConfiguration; private string _ledgerName; private string _roleArn; private string _streamName; private Dictionary _tags = new Dictionary(); /// /// Gets and sets the property ExclusiveEndTime. /// /// The exclusive date and time that specifies when the stream ends. If you don't define /// this parameter, the stream runs indefinitely until you cancel it. /// /// /// /// The ExclusiveEndTime must be in ISO 8601 date and time format /// and in Universal Coordinated Time (UTC). For example: 2019-06-13T21:36:34Z. /// /// 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 from which to start streaming journal data. This /// parameter must be in ISO 8601 date and time format and in Universal Coordinated /// Time (UTC). For example: 2019-06-13T21:36:34Z. /// /// /// /// The InclusiveStartTime cannot be in the future and must be before ExclusiveEndTime. /// /// /// /// If you provide an InclusiveStartTime that is before the ledger's CreationDateTime, /// QLDB effectively 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 KinesisConfiguration. /// /// The configuration settings of the Kinesis Data Streams destination for your stream /// request. /// /// [AWSProperty(Required=true)] public KinesisConfiguration KinesisConfiguration { get { return this._kinesisConfiguration; } set { this._kinesisConfiguration = value; } } // Check to see if KinesisConfiguration property is set internal bool IsSetKinesisConfiguration() { return this._kinesisConfiguration != null; } /// /// Gets and sets the property LedgerName. /// /// The name of the ledger. /// /// [AWSProperty(Required=true, Min=1, Max=32)] public string LedgerName { get { return this._ledgerName; } set { this._ledgerName = value; } } // Check to see if LedgerName property is set internal bool IsSetLedgerName() { return this._ledgerName != null; } /// /// Gets and sets the property RoleArn. /// /// The Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions for a /// journal stream to write data records to a Kinesis Data Streams resource. /// /// /// /// To pass a role to QLDB when requesting a journal stream, you must have permissions /// to perform the iam:PassRole action on the IAM role resource. This is /// required for all journal stream 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 StreamName. /// /// The name that you want to assign to the QLDB journal stream. User-defined names can /// help identify and indicate the purpose of a stream. /// /// /// /// Your stream name must be unique among other active streams for a given ledger. /// Stream names have the same naming constraints as ledger names, as defined in Quotas /// in Amazon QLDB in the Amazon QLDB Developer Guide. /// /// [AWSProperty(Required=true, Min=1, Max=32)] public string StreamName { get { return this._streamName; } set { this._streamName = value; } } // Check to see if StreamName property is set internal bool IsSetStreamName() { return this._streamName != null; } /// /// Gets and sets the property Tags. /// /// The key-value pairs to add as tags to the stream that you want to create. Tag keys /// are case sensitive. Tag values are case sensitive and can be null. /// /// [AWSProperty(Min=0, Max=200)] public Dictionary Tags { get { return this._tags; } set { this._tags = value; } } // Check to see if Tags property is set internal bool IsSetTags() { return this._tags != null && this._tags.Count > 0; } } }