This is the new AWS CloudFormation Template Reference Guide. Please update your bookmarks and links. For help getting started with CloudFormation, see the AWS CloudFormation User Guide.
AWS::OSIS::Pipeline
The AWS::OSIS::Pipeline resource creates an Amazon OpenSearch Ingestion pipeline.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "Type" : "AWS::OSIS::Pipeline", "Properties" : { "BufferOptions" :BufferOptions, "EncryptionAtRestOptions" :EncryptionAtRestOptions, "LogPublishingOptions" :LogPublishingOptions, "MaxUnits" :Integer, "MinUnits" :Integer, "PipelineConfigurationBody" :String, "PipelineName" :String, "PipelineRoleArn" :String, "ResourcePolicy" :ResourcePolicy, "Tags" :[ Tag, ... ], "VpcOptions" :VpcOptions} }
YAML
Type: AWS::OSIS::Pipeline Properties: BufferOptions:BufferOptionsEncryptionAtRestOptions:EncryptionAtRestOptionsLogPublishingOptions:LogPublishingOptionsMaxUnits:IntegerMinUnits:IntegerPipelineConfigurationBody:StringPipelineName:StringPipelineRoleArn:StringResourcePolicy:ResourcePolicyTags:- TagVpcOptions:VpcOptions
Properties
- BufferOptions
- 
                    Options that specify the configuration of a persistent buffer. To configure how OpenSearch Ingestion encrypts this data, set the EncryptionAtRestOptions. For more information, see Persistent buffering.Required: No Type: BufferOptions Update requires: No interruption 
- EncryptionAtRestOptions
- 
                    Options to control how OpenSearch encrypts buffer data. Required: No Type: EncryptionAtRestOptions Update requires: No interruption 
- LogPublishingOptions
- 
                    Key-value pairs that represent log publishing settings. Required: No Type: LogPublishingOptions Update requires: No interruption 
- MaxUnits
- 
                    The maximum pipeline capacity, in Ingestion Compute Units (ICUs). Required: Yes Type: Integer Minimum: 1Maximum: 384Update requires: No interruption 
- MinUnits
- 
                    The minimum pipeline capacity, in Ingestion Compute Units (ICUs). Required: Yes Type: Integer Minimum: 1Maximum: 384Update requires: No interruption 
- PipelineConfigurationBody
- 
                    The Data Prepper pipeline configuration in YAML format. Required: Yes Type: String Minimum: 1Maximum: 100000Update requires: No interruption 
- PipelineName
- 
                    The name of the pipeline. Required: Yes Type: String Pattern: [a-z][a-z0-9\-]+Minimum: 3Maximum: 28Update requires: Replacement 
- PipelineRoleArn
- 
                    The Amazon Resource Name (ARN) of the IAM role that the pipeline uses to access AWS resources. Required: No Type: String Pattern: ^arn:(aws|aws\-cn|aws\-us\-gov|aws\-iso|aws\-iso\-b|aws\-iso\-e|aws\-iso\-f):iam::[0-9]+:role\/.*$Minimum: 20Maximum: 2048Update requires: No interruption 
- ResourcePolicy
- Property description not available. - Required: No - Type: ResourcePolicy - Update requires: No interruption 
- 
                    List of tags to add to the pipeline upon creation. Required: No Type: Array of Tag Update requires: No interruption 
- VpcOptions
- 
                    Options that specify the subnets and security groups for an OpenSearch Ingestion VPC endpoint. Required: No Type: VpcOptions Update requires: No interruption 
Return values
Ref
When the logical ID of this resource is provided to the Ref intrinsic function, Ref
         returns the resource name, such as mystack-abc1d2efg3h4. For more information
         about using the Ref function, see Ref.
Fn::GetAtt
GetAtt returns a value for a specified attribute of this type. For more information, see Fn::GetAtt. The following are the available attributes and sample return values.
- IngestEndpointUrls
- 
                            A list of the ingestion endpoints for the pipeline that you can send data to. Currently, only a single ingestion endpoint is supported for a pipeline. For example, my-pipeline-123456789012.us-east-1.osis.amazonaws.com.
- PipelineArn
- 
                            The Amazon Resource Name (ARN) of the pipeline. 
- VpcEndpoints
- 
                            The VPC interface endpoints that have access to the pipeline. 
- VpcEndpointService
- 
                            The VPC endpoint service name for the pipeline. 
Examples
Create an OpenSearch Ingestion pipeline
The following example creates an OpenSearch Ingestion pipeline running version 2.x of Data Prepper with log publishing enabled.
JSON
{ "Parameters": { "PipelineConfigurationBody": { "Type": "String" } }, "Resources": { "OpenSearchIngestionPipeline": { "Type": "AWS::OSIS::Pipeline", "Properties": { "LogPublishingOptions": { "IsLoggingEnabled": true, "CloudWatchLogDestination": { "LogGroup": "/aws/vendedlogs/OpenSearchService/pipelines" } }, "MinUnits": 3, "MaxUnits": 9, "PipelineConfigurationBody": { "Value": { "Ref": "PipelineConfigurationBody" } }, "PipelineName": "test-pipeline" } } }, "Outputs": { "PipelineArn": { "Value": { "Ref": "OpenSearchIngestionPipeline" } }, "IngestEndpointUrls": { "Value": { "Fn::Select": [ 0, { "Fn::GetAtt": [ "OpenSearchIngestionPipeline", "IngestEndpointUrls" ] } ] } } } }
YAML
Parameters: PipelineConfigurationBody: Type: String Resources: OpenSearchIngestionPipeline: Type: 'AWS::OSIS::Pipeline' Properties: LogPublishingOptions: IsLoggingEnabled: true CloudWatchLogDestination: LogGroup: /aws/vendedlogs/test-pipeline MinUnits: 3 MaxUnits: 9 PipelineConfigurationBody: Ref: PipelineConfigurationBody PipelineName: test-pipeline Outputs: PipelineArn: Value: Ref: OpenSearchIngestionPipeline IngestEndpointUrls: Value: !Select [0, !GetAtt OpenSearchIngestionPipeline.IngestEndpointUrls]