UpdatePipeline - Amazon OpenSearch Service


Updates an OpenSearch Ingestion pipeline. For more information, see Updating Amazon OpenSearch Ingestion pipelines.

Request Syntax

PUT /2022-01-01/osis/updatePipeline/PipelineName 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" }

URI Request Parameters

The request uses the following URI parameters.


The name of the pipeline to update.

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

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

Required: Yes

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: No


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

Type: Integer

Valid Range: Minimum value of 1.

Required: No


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: 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 updated 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


The client attempted to remove a resource that is currently in use.

HTTP Status Code: 409


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 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: