import type { ChangeProgressStageStatuses, ChangeProgressStatuses, PipelineEndpointStatus, PipelineStatus, VpcEndpointManagement, VpcEndpointServiceName } from "./enums"; /** *
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.
Whether persistent buffering should be enabled.
* @public */ PersistentBufferEnabled: boolean | undefined; } /** *Options to control how OpenSearch encrypts buffer data.
* @public */ export interface EncryptionAtRestOptions { /** *The ARN of the KMS key used to encrypt buffer data. * By default, data is encrypted using an Amazon Web Services owned key.
* @public */ KmsKeyArn: string | undefined; } /** *The destination for OpenSearch Ingestion logs sent to Amazon CloudWatch.
* @public */ export interface CloudWatchLogDestination { /** *The name of the CloudWatch Logs group to send pipeline logs to. You can specify an existing
* log group or create a new one. For example,
* /aws/vendedlogs/OpenSearchService/pipelines.
Container for the values required to configure logging for the pipeline. If you don't * specify these values, OpenSearch Ingestion will not publish logs from your application to * CloudWatch Logs.
* @public */ export interface LogPublishingOptions { /** *Whether logs should be published.
* @public */ IsLoggingEnabled?: boolean | undefined; /** *The destination for OpenSearch Ingestion logs sent to Amazon CloudWatch Logs. This
* parameter is required if IsLoggingEnabled is set to true.
A tag (key-value pair) for an OpenSearch Ingestion pipeline.
* @public */ export interface Tag { /** *The tag key. Tag keys must be unique for the pipeline to which they are attached.
* @public */ Key: string | undefined; /** *The value assigned to the corresponding tag key. Tag values can be null and don't have to
* be unique in a tag set. For example, you can have a key value pair in a tag set of
* project : Trinity and cost-center : Trinity
*
Options for attaching a VPC to pipeline.
* @public */ export interface VpcAttachmentOptions { /** *Whether a VPC is attached to the pipeline.
* @public */ AttachToVpc: boolean | undefined; /** *The CIDR block to be reserved for OpenSearch Ingestion to create elastic network interfaces (ENIs).
* @public */ CidrBlock?: string | undefined; } /** *Options that specify the subnets and security groups for an OpenSearch Ingestion * VPC endpoint.
* @public */ export interface VpcOptions { /** *A list of subnet IDs associated with the VPC endpoint.
* @public */ SubnetIds: string[] | undefined; /** *A list of security groups associated with the VPC endpoint.
* @public */ SecurityGroupIds?: string[] | undefined; /** *Options for attaching a VPC to a pipeline.
* @public */ VpcAttachmentOptions?: VpcAttachmentOptions | undefined; /** *Defines whether you or Amazon OpenSearch Ingestion service create and manage the VPC endpoint configured for the pipeline.
* @public */ VpcEndpointManagement?: VpcEndpointManagement | undefined; } /** * @public */ export interface CreatePipelineRequest { /** *The name of the OpenSearch Ingestion pipeline to create. Pipeline names are unique across the * pipelines owned by an account within an Amazon Web Services Region.
* @public */ PipelineName: string | undefined; /** *The minimum pipeline capacity, in Ingestion Compute Units (ICUs).
* @public */ MinUnits: number | undefined; /** *The maximum pipeline capacity, in Ingestion Compute Units (ICUs).
* @public */ MaxUnits: number | undefined; /** *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.
Key-value pairs to configure log publishing.
* @public */ LogPublishingOptions?: LogPublishingOptions | undefined; /** *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.
* @public */ VpcOptions?: VpcOptions | undefined; /** *Key-value pairs to configure persistent buffering for the pipeline.
* @public */ BufferOptions?: BufferOptions | undefined; /** *Key-value pairs to configure encryption for data that is written to a persistent * buffer.
* @public */ EncryptionAtRestOptions?: EncryptionAtRestOptions | undefined; /** *List of tags to add to the pipeline upon creation.
* @public */ Tags?: Tag[] | undefined; /** *The Amazon Resource Name (ARN) of the IAM role that grants the pipeline permission to access * Amazon Web Services resources.
* @public */ PipelineRoleArn?: string | undefined; } /** *An object representing the destination of a pipeline.
* @public */ export interface PipelineDestination { /** *The name of the service receiving data from the pipeline.
* @public */ ServiceName?: string | undefined; /** *The endpoint receiving data from the pipeline.
* @public */ Endpoint?: string | undefined; } /** *A container for information about VPC endpoints that were created to other services
* @public */ export interface ServiceVpcEndpoint { /** *The name of the service for which a VPC endpoint was created.
* @public */ ServiceName?: VpcEndpointServiceName | undefined; /** *The unique identifier of the VPC endpoint that was created.
* @public */ VpcEndpointId?: string | undefined; } /** *Information about a pipeline's current status.
* @public */ export interface PipelineStatusReason { /** *A description of why a pipeline has a certain status.
* @public */ Description?: string | undefined; } /** *An OpenSearch Ingestion-managed VPC endpoint that will access one or more * pipelines.
* @public */ export interface VpcEndpoint { /** *The unique identifier of the endpoint.
* @public */ VpcEndpointId?: string | undefined; /** *The ID for your VPC. Amazon Web Services PrivateLink generates this value when you create a * VPC.
* @public */ VpcId?: string | undefined; /** *Information about the VPC, including associated subnets and security groups.
* @public */ VpcOptions?: VpcOptions | undefined; } /** *Information about an existing OpenSearch Ingestion pipeline.
* @public */ export interface Pipeline { /** *The name of the pipeline.
* @public */ PipelineName?: string | undefined; /** *The Amazon Resource Name (ARN) of the pipeline.
* @public */ PipelineArn?: string | undefined; /** *The minimum pipeline capacity, in Ingestion Compute Units (ICUs).
* @public */ MinUnits?: number | undefined; /** *The maximum pipeline capacity, in Ingestion Compute Units (ICUs).
* @public */ MaxUnits?: number | undefined; /** *The current status of the pipeline.
* @public */ Status?: PipelineStatus | undefined; /** *The reason for the current status of the pipeline.
* @public */ StatusReason?: PipelineStatusReason | undefined; /** *The Data Prepper pipeline configuration in YAML format.
* @public */ PipelineConfigurationBody?: string | undefined; /** *The date and time when the pipeline was created.
* @public */ CreatedAt?: Date | undefined; /** *The date and time when the pipeline was last updated.
* @public */ LastUpdatedAt?: Date | undefined; /** *The ingestion endpoints for the pipeline, which you can send data to.
* @public */ IngestEndpointUrls?: string[] | undefined; /** *Key-value pairs that represent log publishing settings.
* @public */ LogPublishingOptions?: LogPublishingOptions | undefined; /** *The VPC interface endpoints that have access to the pipeline.
* @public */ VpcEndpoints?: VpcEndpoint[] | undefined; /** *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.
Options to control how OpenSearch encrypts buffer data.
* @public */ EncryptionAtRestOptions?: EncryptionAtRestOptions | undefined; /** *The VPC endpoint service name for the pipeline.
* @public */ VpcEndpointService?: string | undefined; /** *A list of VPC endpoints that OpenSearch Ingestion has created to other Amazon Web Services services.
* @public */ ServiceVpcEndpoints?: ServiceVpcEndpoint[] | undefined; /** *Destinations to which the pipeline writes data.
* @public */ Destinations?: PipelineDestination[] | undefined; /** *A list of tags associated with the given pipeline.
* @public */ Tags?: Tag[] | undefined; /** *The Amazon Resource Name (ARN) of the IAM role that the pipeline uses to access AWS * resources.
* @public */ PipelineRoleArn?: string | undefined; } /** * @public */ export interface CreatePipelineResponse { /** *Container for information about the created pipeline.
* @public */ Pipeline?: Pipeline | undefined; } /** *Configuration settings for the VPC endpoint, specifying network access controls.
* @public */ export interface PipelineEndpointVpcOptions { /** *A list of subnet IDs where the pipeline endpoint network interfaces are created.
* @public */ SubnetIds?: string[] | undefined; /** *A list of security group IDs that control network access to the pipeline endpoint.
* @public */ SecurityGroupIds?: string[] | undefined; } /** * @public */ export interface CreatePipelineEndpointRequest { /** *The Amazon Resource Name (ARN) of the pipeline to create the endpoint for.
* @public */ PipelineArn: string | undefined; /** *Container for the VPC configuration for the pipeline endpoint, including subnet IDs and * security group IDs.
* @public */ VpcOptions: PipelineEndpointVpcOptions | undefined; } /** * @public */ export interface CreatePipelineEndpointResponse { /** *The Amazon Resource Name (ARN) of the pipeline associated with the endpoint.
* @public */ PipelineArn?: string | undefined; /** *The unique identifier of the pipeline endpoint.
* @public */ EndpointId?: string | undefined; /** *The current status of the pipeline endpoint.
* @public */ Status?: PipelineEndpointStatus | undefined; /** *The ID of the VPC where the pipeline endpoint was created.
* @public */ VpcId?: string | undefined; } /** * @public */ export interface DeletePipelineRequest { /** *The name of the pipeline to delete.
* @public */ PipelineName: string | undefined; } /** * @public */ export interface DeletePipelineResponse { } /** * @public */ export interface DeletePipelineEndpointRequest { /** *The unique identifier of the pipeline endpoint to delete.
* @public */ EndpointId: string | undefined; } /** * @public */ export interface DeletePipelineEndpointResponse { } /** * @public */ export interface DeleteResourcePolicyRequest { /** *The Amazon Resource Name (ARN) of the resource from which to delete the policy.
* @public */ ResourceArn: string | undefined; } /** * @public */ export interface DeleteResourcePolicyResponse { } /** * @public */ export interface GetPipelineRequest { /** *The name of the pipeline.
* @public */ PipelineName: string | undefined; } /** * @public */ export interface GetPipelineResponse { /** *Detailed information about the requested pipeline.
* @public */ Pipeline?: Pipeline | undefined; } /** * @public */ export interface GetPipelineBlueprintRequest { /** *The name of the blueprint to retrieve.
* @public */ BlueprintName: string | undefined; /** *The format format of the blueprint to retrieve.
* @public */ Format?: string | undefined; } /** *Container for information about an OpenSearch Ingestion blueprint.
* @public */ export interface PipelineBlueprint { /** *The name of the blueprint.
* @public */ BlueprintName?: string | undefined; /** *The YAML configuration of the blueprint.
* @public */ PipelineConfigurationBody?: string | undefined; /** *The display name of the blueprint.
* @public */ DisplayName?: string | undefined; /** *A description of the blueprint.
* @public */ DisplayDescription?: string | undefined; /** *The name of the service that the blueprint is associated with.
* @public */ Service?: string | undefined; /** *The use case that the blueprint relates to.
* @public */ UseCase?: string | undefined; } /** * @public */ export interface GetPipelineBlueprintResponse { /** *The requested blueprint in YAML format.
* @public */ Blueprint?: PipelineBlueprint | undefined; /** *The format of the blueprint.
* @public */ Format?: string | undefined; } /** * @public */ export interface GetPipelineChangeProgressRequest { /** *The name of the pipeline.
* @public */ PipelineName: string | undefined; } /** *Progress details for a specific stage of a pipeline configuration change.
* @public */ export interface ChangeProgressStage { /** *The name of the stage.
* @public */ Name?: string | undefined; /** *The current status of the stage that the change is in.
* @public */ Status?: ChangeProgressStageStatuses | undefined; /** *A description of the stage.
* @public */ Description?: string | undefined; /** *The most recent updated timestamp of the stage.
* @public */ LastUpdatedAt?: Date | undefined; } /** *The progress details of a pipeline configuration change.
* @public */ export interface ChangeProgressStatus { /** *The time at which the configuration change is made on the pipeline.
* @public */ StartTime?: Date | undefined; /** *The overall status of the pipeline configuration change.
* @public */ Status?: ChangeProgressStatuses | undefined; /** *The total number of stages required for the pipeline configuration change.
* @public */ TotalNumberOfStages?: number | undefined; /** *Information about the stages that the pipeline is going through to perform the configuration change.
* @public */ ChangeProgressStages?: ChangeProgressStage[] | undefined; } /** * @public */ export interface GetPipelineChangeProgressResponse { /** *The current status of the change happening on the pipeline.
* @public */ ChangeProgressStatuses?: ChangeProgressStatus[] | undefined; } /** * @public */ export interface GetResourcePolicyRequest { /** *The Amazon Resource Name (ARN) of the resource for which to retrieve the policy.
* @public */ ResourceArn: string | undefined; } /** * @public */ export interface GetResourcePolicyResponse { /** *The Amazon Resource Name (ARN) of the resource.
* @public */ ResourceArn?: string | undefined; /** *The resource-based policy document in JSON format.
* @public */ Policy?: string | undefined; } /** * @public */ export interface ListPipelineBlueprintsRequest { } /** *A summary of an OpenSearch Ingestion blueprint.
* @public */ export interface PipelineBlueprintSummary { /** *The name of the blueprint.
* @public */ BlueprintName?: string | undefined; /** *The display name of the blueprint.
* @public */ DisplayName?: string | undefined; /** *A description of the blueprint.
* @public */ DisplayDescription?: string | undefined; /** *The name of the service that the blueprint is associated with.
* @public */ Service?: string | undefined; /** *The use case that the blueprint relates to.
* @public */ UseCase?: string | undefined; } /** * @public */ export interface ListPipelineBlueprintsResponse { /** *A list of available blueprints for Data Prepper.
* @public */ Blueprints?: PipelineBlueprintSummary[] | undefined; } /** * @public */ export interface ListPipelineEndpointConnectionsRequest { /** *The maximum number of pipeline endpoint connections to return in the response.
* @public */ MaxResults?: number | undefined; /** *If your initial ListPipelineEndpointConnections operation returns a
* nextToken, you can include the returned nextToken in subsequent
* ListPipelineEndpointConnections operations, which returns results in the next
* page.
Represents a connection to a pipeline endpoint, containing details about the endpoint * association.
* @public */ export interface PipelineEndpointConnection { /** *The Amazon Resource Name (ARN) of the pipeline in the endpoint connection.
* @public */ PipelineArn?: string | undefined; /** *The unique identifier of the endpoint in the connection.
* @public */ EndpointId?: string | undefined; /** *The current status of the pipeline endpoint connection.
* @public */ Status?: PipelineEndpointStatus | undefined; /** *The Amazon Web Services account ID that owns the VPC endpoint used in this connection.
* @public */ VpcEndpointOwner?: string | undefined; } /** * @public */ export interface ListPipelineEndpointConnectionsResponse { /** *When nextToken is returned, there are more results available. The value of
* nextToken is a unique pagination token for each page. Make the call again using the
* returned token to retrieve the next page.
A list of pipeline endpoint connections.
* @public */ PipelineEndpointConnections?: PipelineEndpointConnection[] | undefined; } /** * @public */ export interface ListPipelineEndpointsRequest { /** *The maximum number of pipeline endpoints to return in the response.
* @public */ MaxResults?: number | undefined; /** *If your initial ListPipelineEndpoints operation returns a
* NextToken, you can include the returned NextToken in subsequent
* ListPipelineEndpoints operations, which returns results in the next page.
Represents a VPC endpoint for an OpenSearch Ingestion pipeline, enabling private * connectivity between your VPC and the pipeline.
* @public */ export interface PipelineEndpoint { /** *The Amazon Resource Name (ARN) of the pipeline associated with this endpoint.
* @public */ PipelineArn?: string | undefined; /** *The unique identifier for the pipeline endpoint.
* @public */ EndpointId?: string | undefined; /** *The current status of the pipeline endpoint.
* @public */ Status?: PipelineEndpointStatus | undefined; /** *The ID of the VPC where the pipeline endpoint is created.
* @public */ VpcId?: string | undefined; /** *Configuration options for the VPC endpoint, including subnet and security group * settings.
* @public */ VpcOptions?: PipelineEndpointVpcOptions | undefined; /** *The URL used to ingest data to the pipeline through the VPC endpoint.
* @public */ IngestEndpointUrl?: string | undefined; } /** * @public */ export interface ListPipelineEndpointsResponse { /** *When NextToken is returned, there are more results available. The value of
* NextToken is a unique pagination token for each page. Make the call again using the
* returned token to retrieve the next page.
A list of pipeline endpoints.
* @public */ PipelineEndpoints?: PipelineEndpoint[] | undefined; } /** * @public */ export interface ListPipelinesRequest { /** *An optional parameter that specifies the maximum number of results to return. You can use
* nextToken to get the next page of results.
If your initial ListPipelines operation returns a nextToken, you
* can include the returned nextToken in subsequent ListPipelines
* operations, which returns results in the next page.
Summary information for an OpenSearch Ingestion pipeline.
* @public */ export interface PipelineSummary { /** *The current status of the pipeline.
* @public */ Status?: PipelineStatus | undefined; /** *Information about a pipeline's current status.
* @public */ StatusReason?: PipelineStatusReason | undefined; /** *The name of the pipeline.
* @public */ PipelineName?: string | undefined; /** *The Amazon Resource Name (ARN) of the pipeline.
* @public */ PipelineArn?: string | undefined; /** *The minimum pipeline capacity, in Ingestion Compute Units (ICUs).
* @public */ MinUnits?: number | undefined; /** *The maximum pipeline capacity, in Ingestion Compute Units (ICUs).
* @public */ MaxUnits?: number | undefined; /** *The date and time when the pipeline was created.
* @public */ CreatedAt?: Date | undefined; /** *The date and time when the pipeline was last updated.
* @public */ LastUpdatedAt?: Date | undefined; /** *A list of destinations to which the pipeline writes data.
* @public */ Destinations?: PipelineDestination[] | undefined; /** *A list of tags associated with the given pipeline.
* @public */ Tags?: Tag[] | undefined; } /** * @public */ export interface ListPipelinesResponse { /** *When nextToken is returned, there are more results available. The value of
* nextToken is a unique pagination token for each page. Make the call again using the
* returned token to retrieve the next page.
A list of all existing Data Prepper pipelines.
* @public */ Pipelines?: PipelineSummary[] | undefined; } /** * @public */ export interface ListTagsForResourceRequest { /** *The Amazon Resource Name (ARN) of the pipeline to retrieve tags for.
* @public */ Arn: string | undefined; } /** * @public */ export interface ListTagsForResourceResponse { /** *A list of tags associated with the given pipeline.
* @public */ Tags?: Tag[] | undefined; } /** * @public */ export interface PutResourcePolicyRequest { /** *The Amazon Resource Name (ARN) of the resource to attach the policy to.
* @public */ ResourceArn: string | undefined; /** *The resource-based policy document in JSON format.
* @public */ Policy: string | undefined; } /** * @public */ export interface PutResourcePolicyResponse { /** *The Amazon Resource Name (ARN) of the resource.
* @public */ ResourceArn?: string | undefined; /** *The resource-based policy document that was attached to the resource.
* @public */ Policy?: string | undefined; } /** * @public */ export interface RevokePipelineEndpointConnectionsRequest { /** *The Amazon Resource Name (ARN) of the pipeline from which to revoke endpoint * connections.
* @public */ PipelineArn: string | undefined; /** *A list of endpoint IDs for which to revoke access to the pipeline.
* @public */ EndpointIds: string[] | undefined; } /** * @public */ export interface RevokePipelineEndpointConnectionsResponse { /** *The Amazon Resource Name (ARN) of the pipeline from which endpoint connections were * revoked.
* @public */ PipelineArn?: string | undefined; } /** * @public */ export interface StartPipelineRequest { /** *The name of the pipeline to start.
* @public */ PipelineName: string | undefined; } /** * @public */ export interface StartPipelineResponse { /** *Information about an existing OpenSearch Ingestion pipeline.
* @public */ Pipeline?: Pipeline | undefined; } /** * @public */ export interface StopPipelineRequest { /** *The name of the pipeline to stop.
* @public */ PipelineName: string | undefined; } /** * @public */ export interface StopPipelineResponse { /** *Information about an existing OpenSearch Ingestion pipeline.
* @public */ Pipeline?: Pipeline | undefined; } /** * @public */ export interface TagResourceRequest { /** *The Amazon Resource Name (ARN) of the pipeline to tag.
* @public */ Arn: string | undefined; /** *The list of key-value tags to add to the pipeline.
* @public */ Tags: Tag[] | undefined; } /** * @public */ export interface TagResourceResponse { } /** * @public */ export interface UntagResourceRequest { /** *The Amazon Resource Name (ARN) of the pipeline to remove tags from.
* @public */ Arn: string | undefined; /** *The tag keys to remove.
* @public */ TagKeys: string[] | undefined; } /** * @public */ export interface UntagResourceResponse { } /** * @public */ export interface UpdatePipelineRequest { /** *The name of the pipeline to update.
* @public */ PipelineName: string | undefined; /** *The minimum pipeline capacity, in Ingestion Compute Units (ICUs).
* @public */ MinUnits?: number | undefined; /** *The maximum pipeline capacity, in Ingestion Compute Units (ICUs)
* @public */ MaxUnits?: number | undefined; /** *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.
Key-value pairs to configure log publishing.
* @public */ LogPublishingOptions?: LogPublishingOptions | undefined; /** *Key-value pairs to configure persistent buffering for the pipeline.
* @public */ BufferOptions?: BufferOptions | undefined; /** *Key-value pairs to configure encryption for data that is written to a persistent * buffer.
* @public */ EncryptionAtRestOptions?: EncryptionAtRestOptions | undefined; /** *The Amazon Resource Name (ARN) of the IAM role that grants the pipeline permission to access * Amazon Web Services resources.
* @public */ PipelineRoleArn?: string | undefined; } /** * @public */ export interface UpdatePipelineResponse { /** *Container for information about the updated pipeline.
* @public */ Pipeline?: Pipeline | undefined; } /** * @public */ export interface ValidatePipelineRequest { /** *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.
A validation message associated with a ValidatePipeline request in OpenSearch
* Ingestion.
The validation message.
* @public */ Message?: string | undefined; } /** * @public */ export interface ValidatePipelineResponse { /** *A boolean indicating whether or not the pipeline configuration is valid.
* @public */ isValid?: boolean | undefined; /** *A list of errors if the configuration is invalid.
* @public */ Errors?: ValidationMessage[] | undefined; }