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
"
},
"VpcEndpointManagement": "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"
},
"VpcEndpointManagement": "string"
}
}
],
"VpcEndpointService": "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.
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: