/*
* 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 osis-2022-01-01.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.OSIS.Model
{
///
/// Container for the parameters to the CreatePipeline operation.
/// Creates an OpenSearch Ingestion pipeline. For more information, see Creating
/// Amazon OpenSearch Ingestion pipelines.
///
public partial class CreatePipelineRequest : AmazonOSISRequest
{
private LogPublishingOptions _logPublishingOptions;
private int? _maxUnits;
private int? _minUnits;
private string _pipelineConfigurationBody;
private string _pipelineName;
private List _tags = new List();
private VpcOptions _vpcOptions;
///
/// Gets and sets the property LogPublishingOptions.
///
/// Key-value pairs to configure log publishing.
///
///
public LogPublishingOptions LogPublishingOptions
{
get { return this._logPublishingOptions; }
set { this._logPublishingOptions = value; }
}
// Check to see if LogPublishingOptions property is set
internal bool IsSetLogPublishingOptions()
{
return this._logPublishingOptions != null;
}
///
/// Gets and sets the property MaxUnits.
///
/// The maximum pipeline capacity, in Ingestion Compute Units (ICUs).
///
///
[AWSProperty(Required=true, Min=1, Max=96)]
public int MaxUnits
{
get { return this._maxUnits.GetValueOrDefault(); }
set { this._maxUnits = value; }
}
// Check to see if MaxUnits property is set
internal bool IsSetMaxUnits()
{
return this._maxUnits.HasValue;
}
///
/// Gets and sets the property MinUnits.
///
/// The minimum pipeline capacity, in Ingestion Compute Units (ICUs).
///
///
[AWSProperty(Required=true, Min=1, Max=96)]
public int MinUnits
{
get { return this._minUnits.GetValueOrDefault(); }
set { this._minUnits = value; }
}
// Check to see if MinUnits property is set
internal bool IsSetMinUnits()
{
return this._minUnits.HasValue;
}
///
/// Gets and sets the property PipelineConfigurationBody.
///
/// The pipeline configuration in YAML format. The command accepts the pipeline configuration
/// as a string or within a .yaml file. If you provide the configuration as a string,
/// each new line must be escaped with \n
.
///
///
[AWSProperty(Required=true, Min=1, Max=24000)]
public string PipelineConfigurationBody
{
get { return this._pipelineConfigurationBody; }
set { this._pipelineConfigurationBody = value; }
}
// Check to see if PipelineConfigurationBody property is set
internal bool IsSetPipelineConfigurationBody()
{
return this._pipelineConfigurationBody != null;
}
///
/// Gets and sets the property PipelineName.
///
/// The name of the OpenSearch Ingestion pipeline to create. Pipeline names are unique
/// across the pipelines owned by an account within an Amazon Web Services Region.
///
///
[AWSProperty(Required=true, Min=3, Max=28)]
public string PipelineName
{
get { return this._pipelineName; }
set { this._pipelineName = value; }
}
// Check to see if PipelineName property is set
internal bool IsSetPipelineName()
{
return this._pipelineName != null;
}
///
/// Gets and sets the property Tags.
///
/// List of tags to add to the pipeline upon creation.
///
///
public List 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;
}
///
/// Gets and sets the property VpcOptions.
///
/// Container for the values required to configure VPC access for the pipeline. If you
/// don't specify these values, OpenSearch Ingestion creates the pipeline with a public
/// endpoint.
///
///
public VpcOptions VpcOptions
{
get { return this._vpcOptions; }
set { this._vpcOptions = value; }
}
// Check to see if VpcOptions property is set
internal bool IsSetVpcOptions()
{
return this._vpcOptions != null;
}
}
}