/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include namespace Aws { namespace OSIS { namespace Model { /** */ class CreatePipelineRequest : public OSISRequest { public: AWS_OSIS_API CreatePipelineRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreatePipeline"; } AWS_OSIS_API Aws::String SerializePayload() const override; /** *

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.

*/ inline const Aws::String& GetPipelineName() const{ return m_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.

*/ inline bool PipelineNameHasBeenSet() const { return m_pipelineNameHasBeenSet; } /** *

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.

*/ inline void SetPipelineName(const Aws::String& value) { m_pipelineNameHasBeenSet = true; m_pipelineName = value; } /** *

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.

*/ inline void SetPipelineName(Aws::String&& value) { m_pipelineNameHasBeenSet = true; m_pipelineName = std::move(value); } /** *

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.

*/ inline void SetPipelineName(const char* value) { m_pipelineNameHasBeenSet = true; m_pipelineName.assign(value); } /** *

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.

*/ inline CreatePipelineRequest& WithPipelineName(const Aws::String& value) { SetPipelineName(value); return *this;} /** *

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.

*/ inline CreatePipelineRequest& WithPipelineName(Aws::String&& value) { SetPipelineName(std::move(value)); return *this;} /** *

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.

*/ inline CreatePipelineRequest& WithPipelineName(const char* value) { SetPipelineName(value); return *this;} /** *

The minimum pipeline capacity, in Ingestion Compute Units (ICUs).

*/ inline int GetMinUnits() const{ return m_minUnits; } /** *

The minimum pipeline capacity, in Ingestion Compute Units (ICUs).

*/ inline bool MinUnitsHasBeenSet() const { return m_minUnitsHasBeenSet; } /** *

The minimum pipeline capacity, in Ingestion Compute Units (ICUs).

*/ inline void SetMinUnits(int value) { m_minUnitsHasBeenSet = true; m_minUnits = value; } /** *

The minimum pipeline capacity, in Ingestion Compute Units (ICUs).

*/ inline CreatePipelineRequest& WithMinUnits(int value) { SetMinUnits(value); return *this;} /** *

The maximum pipeline capacity, in Ingestion Compute Units (ICUs).

*/ inline int GetMaxUnits() const{ return m_maxUnits; } /** *

The maximum pipeline capacity, in Ingestion Compute Units (ICUs).

*/ inline bool MaxUnitsHasBeenSet() const { return m_maxUnitsHasBeenSet; } /** *

The maximum pipeline capacity, in Ingestion Compute Units (ICUs).

*/ inline void SetMaxUnits(int value) { m_maxUnitsHasBeenSet = true; m_maxUnits = value; } /** *

The maximum pipeline capacity, in Ingestion Compute Units (ICUs).

*/ inline CreatePipelineRequest& WithMaxUnits(int value) { SetMaxUnits(value); return *this;} /** *

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.

*/ inline const Aws::String& GetPipelineConfigurationBody() const{ return m_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.

*/ inline bool PipelineConfigurationBodyHasBeenSet() const { return m_pipelineConfigurationBodyHasBeenSet; } /** *

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.

*/ inline void SetPipelineConfigurationBody(const Aws::String& value) { m_pipelineConfigurationBodyHasBeenSet = true; m_pipelineConfigurationBody = value; } /** *

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.

*/ inline void SetPipelineConfigurationBody(Aws::String&& value) { m_pipelineConfigurationBodyHasBeenSet = true; m_pipelineConfigurationBody = std::move(value); } /** *

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.

*/ inline void SetPipelineConfigurationBody(const char* value) { m_pipelineConfigurationBodyHasBeenSet = true; m_pipelineConfigurationBody.assign(value); } /** *

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.

*/ inline CreatePipelineRequest& WithPipelineConfigurationBody(const Aws::String& value) { SetPipelineConfigurationBody(value); return *this;} /** *

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.

*/ inline CreatePipelineRequest& WithPipelineConfigurationBody(Aws::String&& value) { SetPipelineConfigurationBody(std::move(value)); return *this;} /** *

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.

*/ inline CreatePipelineRequest& WithPipelineConfigurationBody(const char* value) { SetPipelineConfigurationBody(value); return *this;} /** *

Key-value pairs to configure log publishing.

*/ inline const LogPublishingOptions& GetLogPublishingOptions() const{ return m_logPublishingOptions; } /** *

Key-value pairs to configure log publishing.

*/ inline bool LogPublishingOptionsHasBeenSet() const { return m_logPublishingOptionsHasBeenSet; } /** *

Key-value pairs to configure log publishing.

*/ inline void SetLogPublishingOptions(const LogPublishingOptions& value) { m_logPublishingOptionsHasBeenSet = true; m_logPublishingOptions = value; } /** *

Key-value pairs to configure log publishing.

*/ inline void SetLogPublishingOptions(LogPublishingOptions&& value) { m_logPublishingOptionsHasBeenSet = true; m_logPublishingOptions = std::move(value); } /** *

Key-value pairs to configure log publishing.

*/ inline CreatePipelineRequest& WithLogPublishingOptions(const LogPublishingOptions& value) { SetLogPublishingOptions(value); return *this;} /** *

Key-value pairs to configure log publishing.

*/ inline CreatePipelineRequest& WithLogPublishingOptions(LogPublishingOptions&& value) { SetLogPublishingOptions(std::move(value)); return *this;} /** *

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.

*/ inline const VpcOptions& GetVpcOptions() const{ return m_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.

*/ inline bool VpcOptionsHasBeenSet() const { return m_vpcOptionsHasBeenSet; } /** *

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.

*/ inline void SetVpcOptions(const VpcOptions& value) { m_vpcOptionsHasBeenSet = true; m_vpcOptions = value; } /** *

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.

*/ inline void SetVpcOptions(VpcOptions&& value) { m_vpcOptionsHasBeenSet = true; m_vpcOptions = std::move(value); } /** *

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.

*/ inline CreatePipelineRequest& WithVpcOptions(const VpcOptions& value) { SetVpcOptions(value); return *this;} /** *

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.

*/ inline CreatePipelineRequest& WithVpcOptions(VpcOptions&& value) { SetVpcOptions(std::move(value)); return *this;} /** *

List of tags to add to the pipeline upon creation.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

List of tags to add to the pipeline upon creation.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

List of tags to add to the pipeline upon creation.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

List of tags to add to the pipeline upon creation.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

List of tags to add to the pipeline upon creation.

*/ inline CreatePipelineRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

List of tags to add to the pipeline upon creation.

*/ inline CreatePipelineRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

List of tags to add to the pipeline upon creation.

*/ inline CreatePipelineRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

List of tags to add to the pipeline upon creation.

*/ inline CreatePipelineRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } private: Aws::String m_pipelineName; bool m_pipelineNameHasBeenSet = false; int m_minUnits; bool m_minUnitsHasBeenSet = false; int m_maxUnits; bool m_maxUnitsHasBeenSet = false; Aws::String m_pipelineConfigurationBody; bool m_pipelineConfigurationBodyHasBeenSet = false; LogPublishingOptions m_logPublishingOptions; bool m_logPublishingOptionsHasBeenSet = false; VpcOptions m_vpcOptions; bool m_vpcOptionsHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace OSIS } // namespace Aws