CreatePipeline - Amazon OpenSearch Service

CreatePipeline

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.

BufferOptions

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

Type: BufferOptions object

Required: No

EncryptionAtRestOptions

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

Type: EncryptionAtRestOptions object

Required: No

LogPublishingOptions

Key-value pairs to configure log publishing.

Type: LogPublishingOptions object

Required: No

MaxUnits

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

Type: Integer

Valid Range: Minimum value of 1.

Required: Yes

MinUnits

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

Type: Integer

Valid Range: Minimum value of 1.

Required: Yes

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.

Type: String

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

Required: Yes

PipelineName

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

Tags

List of tags to add to the pipeline upon creation.

Type: Array of Tag objects

Required: No

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.

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.

Pipeline

Container for information about the created pipeline.

Type: Pipeline object

Errors

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

AccessDeniedException

You don't have permissions to access the resource.

HTTP Status Code: 403

DisabledOperationException

Exception is thrown when an operation has been disabled.

HTTP Status Code: 409

InternalException

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

HTTP Status Code: 500

LimitExceededException

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

HTTP Status Code: 409

ResourceAlreadyExistsException

You attempted to create a resource that already exists.

HTTP Status Code: 409

ResourceNotFoundException

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

HTTP Status Code: 404

ValidationException

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: