@pulumi/sumologic
Version:
A Pulumi package for creating and managing sumologic cloud resources.
217 lines (216 loc) • 9.59 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
import * as outputs from "./types/output";
/**
* Provides a [Sumologic HTTP source](https://help.sumologic.com/docs/send-data/hosted-collectors/http-source/logs-metrics), [Sumologic HTTP Traces source](https://help.sumologic.com/docs/apm/traces/get-started-transaction-tracing/http-traces-source/), [Sumologic Kinesis Log source](https://help.sumologic.com/docs/send-data/hosted-collectors/amazon-aws/aws-kinesis-firehose-logs-source/), [Sumologic HTTP_OTLP_source][4] and [Sumologic RUM source](https://help.sumologic.com/docs/apm/real-user-monitoring/#step-1-create-a-rum-http-traces-source). To start using Traces contact your Sumo account representative to activate.
*
* __IMPORTANT:__ The endpoint is stored in plain-text in the state. This is a potential security issue.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as sumologic from "@pulumi/sumologic";
*
* const collector = new sumologic.Collector("collector", {
* name: "my-collector",
* description: "Just testing this",
* });
* const httpSource = new sumologic.HttpSource("http_source", {
* name: "HTTP",
* description: "My description",
* category: "my/source/category",
* collectorId: collector.id,
* filters: [{
* name: "Test Exclude Debug",
* filterType: "Exclude",
* regexp: ".*DEBUG.*",
* }],
* });
* const httpTracesSource = new sumologic.HttpSource("http_traces_source", {
* name: "HTTP Traces",
* description: "My description",
* category: "my/source/category",
* collectorId: collector.id,
* contentType: "Zipkin",
* });
* const kinesisLog = new sumologic.HttpSource("kinesisLog", {
* name: "demo-name",
* description: "demo-desc",
* category: "demo-category",
* contentType: "KinesisLog",
* collectorId: test.id,
* });
* const httpOtlpSource = new sumologic.HttpSource("http_otlp_source", {
* name: "HTTP OTLP",
* description: "My description",
* category: "my/source/category",
* contentType: "Otlp",
* collectorId: test.id,
* });
* ```
*
* ## Import
*
* HTTP sources can be imported using the collector and source IDs (`collector/source`), e.g.:
*
* hcl
*
* ```sh
* $ pulumi import sumologic:index/httpSource:HttpSource test 123/456
* ```
*
* HTTP sources can be imported using the collector name and source name (`collectorName/sourceName`), e.g.:
*
* hcl
*
* ```sh
* $ pulumi import sumologic:index/httpSource:HttpSource test my-test-collector/my-test-source
* ```
*
* [1]: https://help.sumologic.com/docs/send-data/hosted-collectors/http-source/logs-metrics
*
* [2]: https://help.sumologic.com/docs/apm/traces/get-started-transaction-tracing/http-traces-source/
*
* [3]: https://help.sumologic.com/docs/send-data/hosted-collectors/amazon-aws/aws-kinesis-firehose-logs-source/
*
* [4]: https://help.sumologic.com/docs/send-data/hosted-collectors/http-source/otlp/
*
* [5]: https://help.sumologic.com/docs/apm/real-user-monitoring/#step-1-create-a-rum-http-traces-source
*/
export declare class HttpSource extends pulumi.CustomResource {
/**
* Get an existing HttpSource 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?: HttpSourceState, opts?: pulumi.CustomResourceOptions): HttpSource;
/**
* Returns true if the given object is an instance of HttpSource. 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 HttpSource;
readonly automaticDateParsing: pulumi.Output<boolean | undefined>;
readonly category: pulumi.Output<string | undefined>;
readonly collectorId: pulumi.Output<number>;
/**
* This should only be used when creating a Traces, Kinesis Log, HTTP OTLP or a RUM source.
* - When configuring a HTTP Traces Source, set this property to `Zipkin`.
* - When configuring a Kinesis Logs Source, set this property to `KinesisLog`.
* - When configuring a HTTP OTLP Source, set this property to `Otlp`.
* - When configuring a RUM Source, set this property to `Rum`.
*/
readonly contentType: pulumi.Output<string | undefined>;
readonly cutoffRelativeTime: pulumi.Output<string | undefined>;
readonly cutoffTimestamp: pulumi.Output<number | undefined>;
readonly defaultDateFormats: pulumi.Output<outputs.HttpSourceDefaultDateFormat[] | undefined>;
readonly description: pulumi.Output<string | undefined>;
readonly fields: pulumi.Output<{
[key: string]: string;
} | undefined>;
readonly filters: pulumi.Output<outputs.HttpSourceFilter[] | undefined>;
readonly forceTimezone: pulumi.Output<boolean | undefined>;
readonly hashAlgorithm: pulumi.Output<string | undefined>;
readonly hostName: pulumi.Output<string | undefined>;
readonly manualPrefixRegexp: pulumi.Output<string | undefined>;
/**
* When set to `true`, will create one log message per HTTP request.
*/
readonly messagePerRequest: pulumi.Output<boolean | undefined>;
readonly multilineProcessingEnabled: pulumi.Output<boolean | undefined>;
readonly name: pulumi.Output<string>;
readonly timezone: pulumi.Output<string | undefined>;
/**
* The HTTP endpoint to use for sending data to this source.
*/
readonly url: pulumi.Output<string>;
readonly useAutolineMatching: pulumi.Output<boolean | undefined>;
/**
* Create a HttpSource 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: HttpSourceArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering HttpSource resources.
*/
export interface HttpSourceState {
automaticDateParsing?: pulumi.Input<boolean>;
category?: pulumi.Input<string>;
collectorId?: pulumi.Input<number>;
/**
* This should only be used when creating a Traces, Kinesis Log, HTTP OTLP or a RUM source.
* - When configuring a HTTP Traces Source, set this property to `Zipkin`.
* - When configuring a Kinesis Logs Source, set this property to `KinesisLog`.
* - When configuring a HTTP OTLP Source, set this property to `Otlp`.
* - When configuring a RUM Source, set this property to `Rum`.
*/
contentType?: pulumi.Input<string>;
cutoffRelativeTime?: pulumi.Input<string>;
cutoffTimestamp?: pulumi.Input<number>;
defaultDateFormats?: pulumi.Input<pulumi.Input<inputs.HttpSourceDefaultDateFormat>[]>;
description?: pulumi.Input<string>;
fields?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
filters?: pulumi.Input<pulumi.Input<inputs.HttpSourceFilter>[]>;
forceTimezone?: pulumi.Input<boolean>;
hashAlgorithm?: pulumi.Input<string>;
hostName?: pulumi.Input<string>;
manualPrefixRegexp?: pulumi.Input<string>;
/**
* When set to `true`, will create one log message per HTTP request.
*/
messagePerRequest?: pulumi.Input<boolean>;
multilineProcessingEnabled?: pulumi.Input<boolean>;
name?: pulumi.Input<string>;
timezone?: pulumi.Input<string>;
/**
* The HTTP endpoint to use for sending data to this source.
*/
url?: pulumi.Input<string>;
useAutolineMatching?: pulumi.Input<boolean>;
}
/**
* The set of arguments for constructing a HttpSource resource.
*/
export interface HttpSourceArgs {
automaticDateParsing?: pulumi.Input<boolean>;
category?: pulumi.Input<string>;
collectorId: pulumi.Input<number>;
/**
* This should only be used when creating a Traces, Kinesis Log, HTTP OTLP or a RUM source.
* - When configuring a HTTP Traces Source, set this property to `Zipkin`.
* - When configuring a Kinesis Logs Source, set this property to `KinesisLog`.
* - When configuring a HTTP OTLP Source, set this property to `Otlp`.
* - When configuring a RUM Source, set this property to `Rum`.
*/
contentType?: pulumi.Input<string>;
cutoffRelativeTime?: pulumi.Input<string>;
cutoffTimestamp?: pulumi.Input<number>;
defaultDateFormats?: pulumi.Input<pulumi.Input<inputs.HttpSourceDefaultDateFormat>[]>;
description?: pulumi.Input<string>;
fields?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
filters?: pulumi.Input<pulumi.Input<inputs.HttpSourceFilter>[]>;
forceTimezone?: pulumi.Input<boolean>;
hashAlgorithm?: pulumi.Input<string>;
hostName?: pulumi.Input<string>;
manualPrefixRegexp?: pulumi.Input<string>;
/**
* When set to `true`, will create one log message per HTTP request.
*/
messagePerRequest?: pulumi.Input<boolean>;
multilineProcessingEnabled?: pulumi.Input<boolean>;
name?: pulumi.Input<string>;
timezone?: pulumi.Input<string>;
useAutolineMatching?: pulumi.Input<boolean>;
}