-
Notifications
You must be signed in to change notification settings - Fork 19
Expand file tree
/
Copy pathObservabilityPipelineGooglePubSubDestination.ts
More file actions
118 lines (111 loc) · 3.17 KB
/
ObservabilityPipelineGooglePubSubDestination.ts
File metadata and controls
118 lines (111 loc) · 3.17 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
112
113
114
115
116
117
118
/**
* 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 { ObservabilityPipelineGcpAuth } from "./ObservabilityPipelineGcpAuth";
import { ObservabilityPipelineGooglePubSubDestinationEncoding } from "./ObservabilityPipelineGooglePubSubDestinationEncoding";
import { ObservabilityPipelineGooglePubSubDestinationType } from "./ObservabilityPipelineGooglePubSubDestinationType";
import { ObservabilityPipelineTls } from "./ObservabilityPipelineTls";
import { AttributeTypeMap } from "../../datadog-api-client-common/util";
/**
* The `google_pubsub` destination publishes logs to a Google Cloud Pub/Sub topic.
*/
export class ObservabilityPipelineGooglePubSubDestination {
/**
* GCP credentials used to authenticate with Google Cloud Storage.
*/
"auth"?: ObservabilityPipelineGcpAuth;
/**
* Encoding format for log events.
*/
"encoding": ObservabilityPipelineGooglePubSubDestinationEncoding;
/**
* The unique identifier for this component.
*/
"id": string;
/**
* A list of component IDs whose output is used as the `input` for this component.
*/
"inputs": Array<string>;
/**
* The GCP project ID that owns the Pub/Sub topic.
*/
"project": string;
/**
* Configuration for enabling TLS encryption between the pipeline component and external services.
*/
"tls"?: ObservabilityPipelineTls;
/**
* The Pub/Sub topic name to publish logs to.
*/
"topic": string;
/**
* The destination type. The value should always be `google_pubsub`.
*/
"type": ObservabilityPipelineGooglePubSubDestinationType;
/**
* 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: "ObservabilityPipelineGcpAuth",
},
encoding: {
baseName: "encoding",
type: "ObservabilityPipelineGooglePubSubDestinationEncoding",
required: true,
},
id: {
baseName: "id",
type: "string",
required: true,
},
inputs: {
baseName: "inputs",
type: "Array<string>",
required: true,
},
project: {
baseName: "project",
type: "string",
required: true,
},
tls: {
baseName: "tls",
type: "ObservabilityPipelineTls",
},
topic: {
baseName: "topic",
type: "string",
required: true,
},
type: {
baseName: "type",
type: "ObservabilityPipelineGooglePubSubDestinationType",
required: true,
},
additionalProperties: {
baseName: "additionalProperties",
type: "{ [key: string]: any; }",
},
};
/**
* @ignore
*/
static getAttributeTypeMap(): AttributeTypeMap {
return ObservabilityPipelineGooglePubSubDestination.attributeTypeMap;
}
public constructor() {}
}