@pulumi/aws
Version:
A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.
267 lines (266 loc) • 11.4 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
* Resource for managing an AWS OpenSearch Ingestion Pipeline.
*
* ## Example Usage
*
* ### Basic Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
*
* const current = aws.getRegion({});
* const example = new aws.iam.Role("example", {assumeRolePolicy: JSON.stringify({
* Version: "2012-10-17",
* Statement: [{
* Action: "sts:AssumeRole",
* Effect: "Allow",
* Sid: "",
* Principal: {
* Service: "osis-pipelines.amazonaws.com",
* },
* }],
* })});
* const examplePipeline = new aws.opensearchingest.Pipeline("example", {
* pipelineName: "example",
* pipelineConfigurationBody: Promise.all([example.arn, current]).then(([arn, current]) => `version: \"2\"
* example-pipeline:
* source:
* http:
* path: \"/example\"
* sink:
* - s3:
* aws:
* sts_role_arn: \"${arn}\"
* region: \"${current.region}\"
* bucket: \"example\"
* threshold:
* event_collect_timeout: \"60s\"
* codec:
* ndjson:
* `),
* maxUnits: 1,
* minUnits: 1,
* });
* ```
*
* ### Using file function
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
* import * as std from "@pulumi/std";
*
* const example = new aws.opensearchingest.Pipeline("example", {
* pipelineName: "example",
* pipelineConfigurationBody: std.file({
* input: "example.yaml",
* }).then(invoke => invoke.result),
* maxUnits: 1,
* minUnits: 1,
* });
* ```
*
* ## Import
*
* Using `pulumi import`, import OpenSearch Ingestion Pipeline using the `id`. For example:
*
* ```sh
* $ pulumi import aws:opensearchingest/pipeline:Pipeline example example
* ```
*/
export declare class Pipeline extends pulumi.CustomResource {
/**
* Get an existing Pipeline resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param state Any extra arguments used during the lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: PipelineState, opts?: pulumi.CustomResourceOptions): Pipeline;
/**
* Returns true if the given object is an instance of Pipeline. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is Pipeline;
/**
* Key-value pairs to configure persistent buffering for the pipeline. See `bufferOptions` below.
*/
readonly bufferOptions: pulumi.Output<outputs.opensearchingest.PipelineBufferOptions | undefined>;
/**
* Key-value pairs to configure encryption for data that is written to a persistent buffer. See `encryptionAtRestOptions` below.
*/
readonly encryptionAtRestOptions: pulumi.Output<outputs.opensearchingest.PipelineEncryptionAtRestOptions | undefined>;
/**
* The list of ingestion endpoints for the pipeline, which you can send data to.
*/
readonly ingestEndpointUrls: pulumi.Output<string[]>;
/**
* Key-value pairs to configure log publishing. See `logPublishingOptions` below.
*/
readonly logPublishingOptions: pulumi.Output<outputs.opensearchingest.PipelineLogPublishingOptions | undefined>;
/**
* The maximum pipeline capacity, in Ingestion Compute Units (ICUs).
*/
readonly maxUnits: pulumi.Output<number>;
/**
* The minimum pipeline capacity, in Ingestion Compute Units (ICUs).
*/
readonly minUnits: pulumi.Output<number>;
/**
* Amazon Resource Name (ARN) of the pipeline.
*/
readonly pipelineArn: pulumi.Output<string>;
/**
* The pipeline configuration in YAML format. This argument 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.
*/
readonly pipelineConfigurationBody: pulumi.Output<string>;
/**
* The name of the OpenSearch Ingestion pipeline to create. Pipeline names are unique across the pipelines owned by an account within an AWS Region.
*
* The following arguments are optional:
*/
readonly pipelineName: pulumi.Output<string>;
/**
* Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
*/
readonly region: pulumi.Output<string>;
/**
* A map of tags to assign to the pipeline. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*/
readonly tags: pulumi.Output<{
[key: string]: string;
} | undefined>;
readonly tagsAll: pulumi.Output<{
[key: string]: string;
}>;
readonly timeouts: pulumi.Output<outputs.opensearchingest.PipelineTimeouts | 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. See `vpcOptions` below.
*/
readonly vpcOptions: pulumi.Output<outputs.opensearchingest.PipelineVpcOptions | undefined>;
/**
* Create a Pipeline resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args: PipelineArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering Pipeline resources.
*/
export interface PipelineState {
/**
* Key-value pairs to configure persistent buffering for the pipeline. See `bufferOptions` below.
*/
bufferOptions?: pulumi.Input<inputs.opensearchingest.PipelineBufferOptions>;
/**
* Key-value pairs to configure encryption for data that is written to a persistent buffer. See `encryptionAtRestOptions` below.
*/
encryptionAtRestOptions?: pulumi.Input<inputs.opensearchingest.PipelineEncryptionAtRestOptions>;
/**
* The list of ingestion endpoints for the pipeline, which you can send data to.
*/
ingestEndpointUrls?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Key-value pairs to configure log publishing. See `logPublishingOptions` below.
*/
logPublishingOptions?: pulumi.Input<inputs.opensearchingest.PipelineLogPublishingOptions>;
/**
* The maximum pipeline capacity, in Ingestion Compute Units (ICUs).
*/
maxUnits?: pulumi.Input<number>;
/**
* The minimum pipeline capacity, in Ingestion Compute Units (ICUs).
*/
minUnits?: pulumi.Input<number>;
/**
* Amazon Resource Name (ARN) of the pipeline.
*/
pipelineArn?: pulumi.Input<string>;
/**
* The pipeline configuration in YAML format. This argument 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.
*/
pipelineConfigurationBody?: pulumi.Input<string>;
/**
* The name of the OpenSearch Ingestion pipeline to create. Pipeline names are unique across the pipelines owned by an account within an AWS Region.
*
* The following arguments are optional:
*/
pipelineName?: pulumi.Input<string>;
/**
* Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
*/
region?: pulumi.Input<string>;
/**
* A map of tags to assign to the pipeline. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*/
tags?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
tagsAll?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
timeouts?: pulumi.Input<inputs.opensearchingest.PipelineTimeouts>;
/**
* 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. See `vpcOptions` below.
*/
vpcOptions?: pulumi.Input<inputs.opensearchingest.PipelineVpcOptions>;
}
/**
* The set of arguments for constructing a Pipeline resource.
*/
export interface PipelineArgs {
/**
* Key-value pairs to configure persistent buffering for the pipeline. See `bufferOptions` below.
*/
bufferOptions?: pulumi.Input<inputs.opensearchingest.PipelineBufferOptions>;
/**
* Key-value pairs to configure encryption for data that is written to a persistent buffer. See `encryptionAtRestOptions` below.
*/
encryptionAtRestOptions?: pulumi.Input<inputs.opensearchingest.PipelineEncryptionAtRestOptions>;
/**
* Key-value pairs to configure log publishing. See `logPublishingOptions` below.
*/
logPublishingOptions?: pulumi.Input<inputs.opensearchingest.PipelineLogPublishingOptions>;
/**
* The maximum pipeline capacity, in Ingestion Compute Units (ICUs).
*/
maxUnits: pulumi.Input<number>;
/**
* The minimum pipeline capacity, in Ingestion Compute Units (ICUs).
*/
minUnits: pulumi.Input<number>;
/**
* The pipeline configuration in YAML format. This argument 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.
*/
pipelineConfigurationBody: pulumi.Input<string>;
/**
* The name of the OpenSearch Ingestion pipeline to create. Pipeline names are unique across the pipelines owned by an account within an AWS Region.
*
* The following arguments are optional:
*/
pipelineName: pulumi.Input<string>;
/**
* Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
*/
region?: pulumi.Input<string>;
/**
* A map of tags to assign to the pipeline. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*/
tags?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
timeouts?: pulumi.Input<inputs.opensearchingest.PipelineTimeouts>;
/**
* 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. See `vpcOptions` below.
*/
vpcOptions?: pulumi.Input<inputs.opensearchingest.PipelineVpcOptions>;
}