450 lines
19 KiB
TypeScript
450 lines
19 KiB
TypeScript
import * as cdk from "../../core/lib";
|
|
import * as constructs from "constructs";
|
|
import * as cfn_parse from "../../core/lib/helpers-internal";
|
|
import { IPipelineRef, PipelineReference } from "../../interfaces/generated/aws-osis-interfaces.generated";
|
|
/**
|
|
* The AWS::OSIS::Pipeline resource creates an Amazon OpenSearch Ingestion pipeline.
|
|
*
|
|
* @cloudformationResource AWS::OSIS::Pipeline
|
|
* @stability external
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-osis-pipeline.html
|
|
*/
|
|
export declare class CfnPipeline extends cdk.CfnResource implements cdk.IInspectable, IPipelineRef, cdk.ITaggable {
|
|
/**
|
|
* The CloudFormation resource type name for this resource class.
|
|
*/
|
|
static readonly CFN_RESOURCE_TYPE_NAME: string;
|
|
/**
|
|
* Build a CfnPipeline from CloudFormation properties
|
|
*
|
|
* A factory method that creates a new instance of this class from an object
|
|
* containing the CloudFormation properties of this resource.
|
|
* Used in the @aws-cdk/cloudformation-include module.
|
|
*
|
|
* @internal
|
|
*/
|
|
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnPipeline;
|
|
/**
|
|
* Checks whether the given object is a CfnPipeline
|
|
*/
|
|
static isCfnPipeline(x: any): x is CfnPipeline;
|
|
static arnForPipeline(resource: IPipelineRef): string;
|
|
/**
|
|
* Options that specify the configuration of a persistent buffer.
|
|
*/
|
|
private _bufferOptions?;
|
|
/**
|
|
* Options to control how OpenSearch encrypts buffer data.
|
|
*/
|
|
private _encryptionAtRestOptions?;
|
|
/**
|
|
* Key-value pairs that represent log publishing settings.
|
|
*/
|
|
private _logPublishingOptions?;
|
|
/**
|
|
* The maximum pipeline capacity, in Ingestion Compute Units (ICUs).
|
|
*/
|
|
private _maxUnits;
|
|
/**
|
|
* The minimum pipeline capacity, in Ingestion Compute Units (ICUs).
|
|
*/
|
|
private _minUnits;
|
|
/**
|
|
* The Data Prepper pipeline configuration in YAML format.
|
|
*/
|
|
private _pipelineConfigurationBody;
|
|
/**
|
|
* The name of the pipeline.
|
|
*/
|
|
private _pipelineName;
|
|
/**
|
|
* The Amazon Resource Name (ARN) of the IAM role that the pipeline uses to access AWS resources.
|
|
*/
|
|
private _pipelineRoleArn?;
|
|
private _resourcePolicy?;
|
|
/**
|
|
* Tag Manager which manages the tags for this resource
|
|
*/
|
|
readonly tags: cdk.TagManager;
|
|
/**
|
|
* List of tags to add to the pipeline upon creation.
|
|
*/
|
|
private _tagsRaw?;
|
|
/**
|
|
* Options that specify the subnets and security groups for an OpenSearch Ingestion VPC endpoint.
|
|
*/
|
|
private _vpcOptions?;
|
|
protected readonly cfnPropertyNames: Record<string, string>;
|
|
/**
|
|
* Create a new `AWS::OSIS::Pipeline`.
|
|
*
|
|
* @param scope Scope in which this resource is defined
|
|
* @param id Construct identifier for this resource (unique in its scope)
|
|
* @param props Resource properties
|
|
*/
|
|
constructor(scope: constructs.Construct, id: string, props: CfnPipelineProps);
|
|
get pipelineRef(): PipelineReference;
|
|
/**
|
|
* Options that specify the configuration of a persistent buffer.
|
|
*/
|
|
get bufferOptions(): CfnPipeline.BufferOptionsProperty | cdk.IResolvable | undefined;
|
|
/**
|
|
* Options that specify the configuration of a persistent buffer.
|
|
*/
|
|
set bufferOptions(value: CfnPipeline.BufferOptionsProperty | cdk.IResolvable | undefined);
|
|
/**
|
|
* Options to control how OpenSearch encrypts buffer data.
|
|
*/
|
|
get encryptionAtRestOptions(): CfnPipeline.EncryptionAtRestOptionsProperty | cdk.IResolvable | undefined;
|
|
/**
|
|
* Options to control how OpenSearch encrypts buffer data.
|
|
*/
|
|
set encryptionAtRestOptions(value: CfnPipeline.EncryptionAtRestOptionsProperty | cdk.IResolvable | undefined);
|
|
/**
|
|
* Key-value pairs that represent log publishing settings.
|
|
*/
|
|
get logPublishingOptions(): cdk.IResolvable | CfnPipeline.LogPublishingOptionsProperty | undefined;
|
|
/**
|
|
* Key-value pairs that represent log publishing settings.
|
|
*/
|
|
set logPublishingOptions(value: cdk.IResolvable | CfnPipeline.LogPublishingOptionsProperty | undefined);
|
|
/**
|
|
* The maximum pipeline capacity, in Ingestion Compute Units (ICUs).
|
|
*/
|
|
get maxUnits(): number;
|
|
/**
|
|
* The maximum pipeline capacity, in Ingestion Compute Units (ICUs).
|
|
*/
|
|
set maxUnits(value: number);
|
|
/**
|
|
* The minimum pipeline capacity, in Ingestion Compute Units (ICUs).
|
|
*/
|
|
get minUnits(): number;
|
|
/**
|
|
* The minimum pipeline capacity, in Ingestion Compute Units (ICUs).
|
|
*/
|
|
set minUnits(value: number);
|
|
/**
|
|
* The Data Prepper pipeline configuration in YAML format.
|
|
*/
|
|
get pipelineConfigurationBody(): string;
|
|
/**
|
|
* The Data Prepper pipeline configuration in YAML format.
|
|
*/
|
|
set pipelineConfigurationBody(value: string);
|
|
/**
|
|
* The name of the pipeline.
|
|
*/
|
|
get pipelineName(): string;
|
|
/**
|
|
* The name of the pipeline.
|
|
*/
|
|
set pipelineName(value: string);
|
|
/**
|
|
* The Amazon Resource Name (ARN) of the IAM role that the pipeline uses to access AWS resources.
|
|
*/
|
|
get pipelineRoleArn(): string | undefined;
|
|
/**
|
|
* The Amazon Resource Name (ARN) of the IAM role that the pipeline uses to access AWS resources.
|
|
*/
|
|
set pipelineRoleArn(value: string | undefined);
|
|
get resourcePolicy(): cdk.IResolvable | CfnPipeline.ResourcePolicyProperty | undefined;
|
|
set resourcePolicy(value: cdk.IResolvable | CfnPipeline.ResourcePolicyProperty | undefined);
|
|
/**
|
|
* List of tags to add to the pipeline upon creation.
|
|
*/
|
|
get tagsRaw(): Array<cdk.CfnTag> | undefined;
|
|
/**
|
|
* List of tags to add to the pipeline upon creation.
|
|
*/
|
|
set tagsRaw(value: Array<cdk.CfnTag> | undefined);
|
|
/**
|
|
* Options that specify the subnets and security groups for an OpenSearch Ingestion VPC endpoint.
|
|
*/
|
|
get vpcOptions(): cdk.IResolvable | CfnPipeline.VpcOptionsProperty | undefined;
|
|
/**
|
|
* Options that specify the subnets and security groups for an OpenSearch Ingestion VPC endpoint.
|
|
*/
|
|
set vpcOptions(value: cdk.IResolvable | CfnPipeline.VpcOptionsProperty | undefined);
|
|
/**
|
|
* 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` .
|
|
*
|
|
* @cloudformationAttribute IngestEndpointUrls
|
|
*/
|
|
get attrIngestEndpointUrls(): Array<string>;
|
|
/**
|
|
* The Amazon Resource Name (ARN) of the pipeline.
|
|
*
|
|
* @cloudformationAttribute PipelineArn
|
|
*/
|
|
get attrPipelineArn(): string;
|
|
/**
|
|
* The VPC interface endpoints that have access to the pipeline.
|
|
*
|
|
* @cloudformationAttribute VpcEndpoints
|
|
*/
|
|
get attrVpcEndpoints(): cdk.IResolvable;
|
|
/**
|
|
* The VPC endpoint service name for the pipeline.
|
|
*
|
|
* @cloudformationAttribute VpcEndpointService
|
|
*/
|
|
get attrVpcEndpointService(): string;
|
|
protected get cfnProperties(): Record<string, any>;
|
|
/**
|
|
* Examines the CloudFormation resource and discloses attributes
|
|
*
|
|
* @param inspector tree inspector to collect and process attributes
|
|
*/
|
|
inspect(inspector: cdk.TreeInspector): void;
|
|
protected renderProperties(props: Record<string, any>): Record<string, any>;
|
|
}
|
|
export declare namespace CfnPipeline {
|
|
/**
|
|
* Options that specify the subnets and security groups for an OpenSearch Ingestion VPC endpoint.
|
|
*
|
|
* @struct
|
|
* @stability external
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-osis-pipeline-vpcoptions.html
|
|
*/
|
|
interface VpcOptionsProperty {
|
|
/**
|
|
* A list of security groups associated with the VPC endpoint.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-osis-pipeline-vpcoptions.html#cfn-osis-pipeline-vpcoptions-securitygroupids
|
|
*/
|
|
readonly securityGroupIds?: Array<string>;
|
|
/**
|
|
* A list of subnet IDs associated with the VPC endpoint.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-osis-pipeline-vpcoptions.html#cfn-osis-pipeline-vpcoptions-subnetids
|
|
*/
|
|
readonly subnetIds: Array<string>;
|
|
/**
|
|
* Options for attaching a VPC to a pipeline.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-osis-pipeline-vpcoptions.html#cfn-osis-pipeline-vpcoptions-vpcattachmentoptions
|
|
*/
|
|
readonly vpcAttachmentOptions?: cdk.IResolvable | CfnPipeline.VpcAttachmentOptionsProperty;
|
|
/**
|
|
* Defines whether you or Amazon OpenSearch Ingestion service create and manage the VPC endpoint configured for the pipeline.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-osis-pipeline-vpcoptions.html#cfn-osis-pipeline-vpcoptions-vpcendpointmanagement
|
|
*/
|
|
readonly vpcEndpointManagement?: string;
|
|
}
|
|
/**
|
|
* Options for attaching a VPC to pipeline.
|
|
*
|
|
* @struct
|
|
* @stability external
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-osis-pipeline-vpcattachmentoptions.html
|
|
*/
|
|
interface VpcAttachmentOptionsProperty {
|
|
/**
|
|
* Whether a VPC is attached to the pipeline.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-osis-pipeline-vpcattachmentoptions.html#cfn-osis-pipeline-vpcattachmentoptions-attachtovpc
|
|
*/
|
|
readonly attachToVpc: boolean | cdk.IResolvable;
|
|
/**
|
|
* The CIDR block to be reserved for OpenSearch Ingestion to create elastic network interfaces (ENIs).
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-osis-pipeline-vpcattachmentoptions.html#cfn-osis-pipeline-vpcattachmentoptions-cidrblock
|
|
*/
|
|
readonly cidrBlock: string;
|
|
}
|
|
/**
|
|
* 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.
|
|
*
|
|
* @struct
|
|
* @stability external
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-osis-pipeline-logpublishingoptions.html
|
|
*/
|
|
interface LogPublishingOptionsProperty {
|
|
/**
|
|
* The destination for OpenSearch Ingestion logs sent to Amazon CloudWatch Logs.
|
|
*
|
|
* This parameter is required if `IsLoggingEnabled` is set to `true` .
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-osis-pipeline-logpublishingoptions.html#cfn-osis-pipeline-logpublishingoptions-cloudwatchlogdestination
|
|
*/
|
|
readonly cloudWatchLogDestination?: CfnPipeline.CloudWatchLogDestinationProperty | cdk.IResolvable;
|
|
/**
|
|
* Whether logs should be published.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-osis-pipeline-logpublishingoptions.html#cfn-osis-pipeline-logpublishingoptions-isloggingenabled
|
|
*/
|
|
readonly isLoggingEnabled?: boolean | cdk.IResolvable;
|
|
}
|
|
/**
|
|
* The destination for OpenSearch Ingestion logs sent to Amazon CloudWatch.
|
|
*
|
|
* @struct
|
|
* @stability external
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-osis-pipeline-cloudwatchlogdestination.html
|
|
*/
|
|
interface CloudWatchLogDestinationProperty {
|
|
/**
|
|
* 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` .
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-osis-pipeline-cloudwatchlogdestination.html#cfn-osis-pipeline-cloudwatchlogdestination-loggroup
|
|
*/
|
|
readonly logGroup: string;
|
|
}
|
|
/**
|
|
* 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](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/osis-features-overview.html#persistent-buffering) .
|
|
*
|
|
* @struct
|
|
* @stability external
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-osis-pipeline-bufferoptions.html
|
|
*/
|
|
interface BufferOptionsProperty {
|
|
/**
|
|
* Whether persistent buffering should be enabled.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-osis-pipeline-bufferoptions.html#cfn-osis-pipeline-bufferoptions-persistentbufferenabled
|
|
*/
|
|
readonly persistentBufferEnabled: boolean | cdk.IResolvable;
|
|
}
|
|
/**
|
|
* Options to control how OpenSearch encrypts buffer data.
|
|
*
|
|
* @struct
|
|
* @stability external
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-osis-pipeline-encryptionatrestoptions.html
|
|
*/
|
|
interface EncryptionAtRestOptionsProperty {
|
|
/**
|
|
* The ARN of the KMS key used to encrypt buffer data.
|
|
*
|
|
* By default, data is encrypted using an AWS owned key.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-osis-pipeline-encryptionatrestoptions.html#cfn-osis-pipeline-encryptionatrestoptions-kmskeyarn
|
|
*/
|
|
readonly kmsKeyArn: string;
|
|
}
|
|
/**
|
|
* @struct
|
|
* @stability external
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-osis-pipeline-resourcepolicy.html
|
|
*/
|
|
interface ResourcePolicyProperty {
|
|
/**
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-osis-pipeline-resourcepolicy.html#cfn-osis-pipeline-resourcepolicy-policy
|
|
*/
|
|
readonly policy: any | cdk.IResolvable;
|
|
}
|
|
/**
|
|
* An OpenSearch Ingestion-managed VPC endpoint that will access one or more pipelines.
|
|
*
|
|
* @struct
|
|
* @stability external
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-osis-pipeline-vpcendpoint.html
|
|
*/
|
|
interface VpcEndpointProperty {
|
|
/**
|
|
* The unique identifier of the endpoint.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-osis-pipeline-vpcendpoint.html#cfn-osis-pipeline-vpcendpoint-vpcendpointid
|
|
*/
|
|
readonly vpcEndpointId?: string;
|
|
/**
|
|
* The ID for your VPC.
|
|
*
|
|
* AWS PrivateLink generates this value when you create a VPC.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-osis-pipeline-vpcendpoint.html#cfn-osis-pipeline-vpcendpoint-vpcid
|
|
*/
|
|
readonly vpcId?: string;
|
|
/**
|
|
* Information about the VPC, including associated subnets and security groups.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-osis-pipeline-vpcendpoint.html#cfn-osis-pipeline-vpcendpoint-vpcoptions
|
|
*/
|
|
readonly vpcOptions?: cdk.IResolvable | CfnPipeline.VpcOptionsProperty;
|
|
}
|
|
}
|
|
/**
|
|
* Properties for defining a `CfnPipeline`
|
|
*
|
|
* @struct
|
|
* @stability external
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-osis-pipeline.html
|
|
*/
|
|
export interface CfnPipelineProps {
|
|
/**
|
|
* 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](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/osis-features-overview.html#persistent-buffering) .
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-osis-pipeline.html#cfn-osis-pipeline-bufferoptions
|
|
*/
|
|
readonly bufferOptions?: CfnPipeline.BufferOptionsProperty | cdk.IResolvable;
|
|
/**
|
|
* Options to control how OpenSearch encrypts buffer data.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-osis-pipeline.html#cfn-osis-pipeline-encryptionatrestoptions
|
|
*/
|
|
readonly encryptionAtRestOptions?: CfnPipeline.EncryptionAtRestOptionsProperty | cdk.IResolvable;
|
|
/**
|
|
* Key-value pairs that represent log publishing settings.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-osis-pipeline.html#cfn-osis-pipeline-logpublishingoptions
|
|
*/
|
|
readonly logPublishingOptions?: cdk.IResolvable | CfnPipeline.LogPublishingOptionsProperty;
|
|
/**
|
|
* The maximum pipeline capacity, in Ingestion Compute Units (ICUs).
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-osis-pipeline.html#cfn-osis-pipeline-maxunits
|
|
*/
|
|
readonly maxUnits: number;
|
|
/**
|
|
* The minimum pipeline capacity, in Ingestion Compute Units (ICUs).
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-osis-pipeline.html#cfn-osis-pipeline-minunits
|
|
*/
|
|
readonly minUnits: number;
|
|
/**
|
|
* The Data Prepper pipeline configuration in YAML format.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-osis-pipeline.html#cfn-osis-pipeline-pipelineconfigurationbody
|
|
*/
|
|
readonly pipelineConfigurationBody: string;
|
|
/**
|
|
* The name of the pipeline.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-osis-pipeline.html#cfn-osis-pipeline-pipelinename
|
|
*/
|
|
readonly pipelineName: string;
|
|
/**
|
|
* The Amazon Resource Name (ARN) of the IAM role that the pipeline uses to access AWS resources.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-osis-pipeline.html#cfn-osis-pipeline-pipelinerolearn
|
|
*/
|
|
readonly pipelineRoleArn?: string;
|
|
/**
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-osis-pipeline.html#cfn-osis-pipeline-resourcepolicy
|
|
*/
|
|
readonly resourcePolicy?: cdk.IResolvable | CfnPipeline.ResourcePolicyProperty;
|
|
/**
|
|
* List of tags to add to the pipeline upon creation.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-osis-pipeline.html#cfn-osis-pipeline-tags
|
|
*/
|
|
readonly tags?: Array<cdk.CfnTag>;
|
|
/**
|
|
* Options that specify the subnets and security groups for an OpenSearch Ingestion VPC endpoint.
|
|
*
|
|
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-osis-pipeline.html#cfn-osis-pipeline-vpcoptions
|
|
*/
|
|
readonly vpcOptions?: cdk.IResolvable | CfnPipeline.VpcOptionsProperty;
|
|
}
|
|
export type { IPipelineRef, PipelineReference };
|