-
Notifications
You must be signed in to change notification settings - Fork 18
Expand file tree
/
Copy pathObservabilityPipelineAmazonS3Source.ts
More file actions
111 lines (104 loc) · 3.3 KB
/
ObservabilityPipelineAmazonS3Source.ts
File metadata and controls
111 lines (104 loc) · 3.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
/**
* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
* This product includes software developed at Datadog (https://www.datadoghq.com/).
* Copyright 2020-Present Datadog, Inc.
*/
import { ObservabilityPipelineAmazonS3SourceCompression } from "./ObservabilityPipelineAmazonS3SourceCompression";
import { ObservabilityPipelineAmazonS3SourceType } from "./ObservabilityPipelineAmazonS3SourceType";
import { ObservabilityPipelineAwsAuth } from "./ObservabilityPipelineAwsAuth";
import { ObservabilityPipelineTls } from "./ObservabilityPipelineTls";
import { AttributeTypeMap } from "../../datadog-api-client-common/util";
/**
* The `amazon_s3` source ingests logs from an Amazon S3 bucket.
* It supports AWS authentication, TLS encryption, and configurable compression.
*
* **Supported pipeline types:** logs
*/
export class ObservabilityPipelineAmazonS3Source {
/**
* AWS authentication credentials used for accessing AWS services such as S3.
* If omitted, the system’s default credentials are used (for example, the IAM role and environment variables).
*/
"auth"?: ObservabilityPipelineAwsAuth;
/**
* Compression format for objects retrieved from the S3 bucket. Use `auto` to detect compression from the object's Content-Encoding header or file extension.
*/
"compression"?: ObservabilityPipelineAmazonS3SourceCompression;
/**
* The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the `input` to downstream components).
*/
"id": string;
/**
* AWS region where the S3 bucket resides.
*/
"region": string;
/**
* Configuration for enabling TLS encryption between the pipeline component and external services.
*/
"tls"?: ObservabilityPipelineTls;
/**
* The source type. Always `amazon_s3`.
*/
"type": ObservabilityPipelineAmazonS3SourceType;
/**
* Name of the environment variable or secret that holds the S3 bucket URL.
*/
"urlKey"?: string;
/**
* A container for additional, undeclared properties.
* This is a holder for any undeclared properties as specified with
* the 'additionalProperties' keyword in the OAS document.
*/
"additionalProperties"?: { [key: string]: any };
/**
* @ignore
*/
"_unparsed"?: boolean;
/**
* @ignore
*/
static readonly attributeTypeMap: AttributeTypeMap = {
auth: {
baseName: "auth",
type: "ObservabilityPipelineAwsAuth",
},
compression: {
baseName: "compression",
type: "ObservabilityPipelineAmazonS3SourceCompression",
},
id: {
baseName: "id",
type: "string",
required: true,
},
region: {
baseName: "region",
type: "string",
required: true,
},
tls: {
baseName: "tls",
type: "ObservabilityPipelineTls",
},
type: {
baseName: "type",
type: "ObservabilityPipelineAmazonS3SourceType",
required: true,
},
urlKey: {
baseName: "url_key",
type: "string",
},
additionalProperties: {
baseName: "additionalProperties",
type: "{ [key: string]: any; }",
},
};
/**
* @ignore
*/
static getAttributeTypeMap(): AttributeTypeMap {
return ObservabilityPipelineAmazonS3Source.attributeTypeMap;
}
public constructor() {}
}