/*
* 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 pipes-2015-10-07.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.Pipes.Model
{
///
/// The parameters for using a self-managed Apache Kafka stream as a source.
///
public partial class PipeSourceSelfManagedKafkaParameters
{
private List _additionalBootstrapServers = new List();
private int? _batchSize;
private string _consumerGroupID;
private SelfManagedKafkaAccessConfigurationCredentials _credentials;
private int? _maximumBatchingWindowInSeconds;
private string _serverRootCaCertificate;
private SelfManagedKafkaStartPosition _startingPosition;
private string _topicName;
private SelfManagedKafkaAccessConfigurationVpc _vpc;
///
/// Gets and sets the property AdditionalBootstrapServers.
///
/// An array of server URLs.
///
///
[AWSProperty(Min=0, Max=2)]
public List AdditionalBootstrapServers
{
get { return this._additionalBootstrapServers; }
set { this._additionalBootstrapServers = value; }
}
// Check to see if AdditionalBootstrapServers property is set
internal bool IsSetAdditionalBootstrapServers()
{
return this._additionalBootstrapServers != null && this._additionalBootstrapServers.Count > 0;
}
///
/// Gets and sets the property BatchSize.
///
/// The maximum number of records to include in each batch.
///
///
[AWSProperty(Min=1, Max=10000)]
public int BatchSize
{
get { return this._batchSize.GetValueOrDefault(); }
set { this._batchSize = value; }
}
// Check to see if BatchSize property is set
internal bool IsSetBatchSize()
{
return this._batchSize.HasValue;
}
///
/// Gets and sets the property ConsumerGroupID.
///
/// The name of the destination queue to consume.
///
///
[AWSProperty(Sensitive=true, Min=1, Max=200)]
public string ConsumerGroupID
{
get { return this._consumerGroupID; }
set { this._consumerGroupID = value; }
}
// Check to see if ConsumerGroupID property is set
internal bool IsSetConsumerGroupID()
{
return this._consumerGroupID != null;
}
///
/// Gets and sets the property Credentials.
///
/// The credentials needed to access the resource.
///
///
public SelfManagedKafkaAccessConfigurationCredentials Credentials
{
get { return this._credentials; }
set { this._credentials = value; }
}
// Check to see if Credentials property is set
internal bool IsSetCredentials()
{
return this._credentials != null;
}
///
/// Gets and sets the property MaximumBatchingWindowInSeconds.
///
/// The maximum length of a time to wait for events.
///
///
[AWSProperty(Min=0, Max=300)]
public int MaximumBatchingWindowInSeconds
{
get { return this._maximumBatchingWindowInSeconds.GetValueOrDefault(); }
set { this._maximumBatchingWindowInSeconds = value; }
}
// Check to see if MaximumBatchingWindowInSeconds property is set
internal bool IsSetMaximumBatchingWindowInSeconds()
{
return this._maximumBatchingWindowInSeconds.HasValue;
}
///
/// Gets and sets the property ServerRootCaCertificate.
///
/// The ARN of the Secrets Manager secret used for certification.
///
///
[AWSProperty(Min=1, Max=1600)]
public string ServerRootCaCertificate
{
get { return this._serverRootCaCertificate; }
set { this._serverRootCaCertificate = value; }
}
// Check to see if ServerRootCaCertificate property is set
internal bool IsSetServerRootCaCertificate()
{
return this._serverRootCaCertificate != null;
}
///
/// Gets and sets the property StartingPosition.
///
/// (Streams only) The position in a stream from which to start reading.
///
///
public SelfManagedKafkaStartPosition StartingPosition
{
get { return this._startingPosition; }
set { this._startingPosition = value; }
}
// Check to see if StartingPosition property is set
internal bool IsSetStartingPosition()
{
return this._startingPosition != null;
}
///
/// Gets and sets the property TopicName.
///
/// The name of the topic that the pipe will read from.
///
///
[AWSProperty(Required=true, Sensitive=true, Min=1, Max=249)]
public string TopicName
{
get { return this._topicName; }
set { this._topicName = value; }
}
// Check to see if TopicName property is set
internal bool IsSetTopicName()
{
return this._topicName != null;
}
///
/// Gets and sets the property Vpc.
///
/// This structure specifies the VPC subnets and security groups for the stream, and whether
/// a public IP address is to be used.
///
///
public SelfManagedKafkaAccessConfigurationVpc Vpc
{
get { return this._vpc; }
set { this._vpc = value; }
}
// Check to see if Vpc property is set
internal bool IsSetVpc()
{
return this._vpc != null;
}
}
}