CreatePipeline - Amazon OpenSearch Service


Creates an OpenSearch Ingestion pipeline. For more information, see Creating Amazon OpenSearch Ingestion pipelines.

Request Syntax

POST /2022-01-01/osis/createPipeline HTTP/1.1 Content-type: application/json { "BufferOptions": { "PersistentBufferEnabled": boolean }, "EncryptionAtRestOptions": { "KmsKeyArn": "string" }, "LogPublishingOptions": { "CloudWatchLogDestination": { "LogGroup": "string" }, "IsLoggingEnabled": boolean }, "MaxUnits": number, "MinUnits": number, "PipelineConfigurationBody": "string", "PipelineName": "string", "Tags": [ { "Key": "string", "Value": "string" } ], "VpcOptions": { "SecurityGroupIds": [ "string" ], "SubnetIds": [ "string" ], "VpcAttachmentOptions": { "AttachToVpc": boolean, "CidrBlock": "string" } } }

URI Request Parameters

The request does not use any URI parameters.

Request Body

The request accepts the following data in JSON format.


Key-value pairs to configure persistent buffering for the pipeline.

Type: BufferOptions object

Required: No


Key-value pairs to configure encryption for data that is written to a persistent buffer.

Type: EncryptionAtRestOptions object

Required: No


Key-value pairs to configure log publishing.

Type: LogPublishingOptions object

Required: No


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

Type: Integer

Valid Range: Minimum value of 1.

Required: Yes


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

Type: Integer

Valid Range: Minimum value of 1.

Required: Yes


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.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 24000.

Required: Yes


The name of the OpenSearch Ingestion pipeline to create. Pipeline names are unique across the pipelines owned by an account within an AWS Region.

Type: String

Length Constraints: Minimum length of 3. Maximum length of 28.

Pattern: [a-z][a-z0-9\-]+

Required: Yes


List of tags to add to the pipeline upon creation.

Type: Array of Tag objects

Required: No


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.

Type: VpcOptions object

Required: No

Response Syntax

HTTP/1.1 200 Content-type: application/json { "Pipeline": { "BufferOptions": { "PersistentBufferEnabled": boolean }, "CreatedAt": number, "Destinations": [ { "Endpoint": "string", "ServiceName": "string" } ], "EncryptionAtRestOptions": { "KmsKeyArn": "string" }, "IngestEndpointUrls": [ "string" ], "LastUpdatedAt": number, "LogPublishingOptions": { "CloudWatchLogDestination": { "LogGroup": "string" }, "IsLoggingEnabled": boolean }, "MaxUnits": number, "MinUnits": number, "PipelineArn": "string", "PipelineConfigurationBody": "string", "PipelineName": "string", "ServiceVpcEndpoints": [ { "ServiceName": "string", "VpcEndpointId": "string" } ], "Status": "string", "StatusReason": { "Description": "string" }, "Tags": [ { "Key": "string", "Value": "string" } ], "VpcEndpoints": [ { "VpcEndpointId": "string", "VpcId": "string", "VpcOptions": { "SecurityGroupIds": [ "string" ], "SubnetIds": [ "string" ], "VpcAttachmentOptions": { "AttachToVpc": boolean, "CidrBlock": "string" } } } ] } }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.


Container for information about the created pipeline.

Type: Pipeline object


For information about the errors that are common to all actions, see Common Errors.


You don't have permissions to access the resource.

HTTP Status Code: 403


Exception is thrown when an operation has been disabled.

HTTP Status Code: 409


The request failed because of an unknown error, exception, or failure (the failure is internal to the service).

HTTP Status Code: 500


You attempted to create more than the allowed number of tags.

HTTP Status Code: 409


You attempted to create a resource that already exists.

HTTP Status Code: 409


You attempted to access or delete a resource that does not exist.

HTTP Status Code: 404


An exception for missing or invalid input fields.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: