@pulumi/datadog 4.61.0-alpha.1764800788 → 4.61.0-alpha.1764888314
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/actionConnection.d.ts +65 -0
- package/actionConnection.js +65 -0
- package/actionConnection.js.map +1 -1
- package/apmRetentionFilter.d.ts +16 -0
- package/apmRetentionFilter.js +16 -0
- package/apmRetentionFilter.js.map +1 -1
- package/apmRetentionFilterOrder.d.ts +18 -0
- package/apmRetentionFilterOrder.js +18 -0
- package/apmRetentionFilterOrder.js.map +1 -1
- package/appsecWafCustomRule.d.ts +58 -0
- package/appsecWafCustomRule.js +58 -0
- package/appsecWafCustomRule.js.map +1 -1
- package/awsCurConfig.d.ts +21 -0
- package/awsCurConfig.js +21 -0
- package/awsCurConfig.js.map +1 -1
- package/azureUcConfig.d.ts +24 -0
- package/azureUcConfig.js +24 -0
- package/azureUcConfig.js.map +1 -1
- package/csmThreatsAgentRule.d.ts +23 -0
- package/csmThreatsAgentRule.js +23 -0
- package/csmThreatsAgentRule.js.map +1 -1
- package/customAllocationRule.d.ts +27 -0
- package/customAllocationRule.js +27 -0
- package/customAllocationRule.js.map +1 -1
- package/customAllocationRules.d.ts +69 -0
- package/customAllocationRules.js +69 -0
- package/customAllocationRules.js.map +1 -1
- package/downtimeSchedule.d.ts +35 -0
- package/downtimeSchedule.js +35 -0
- package/downtimeSchedule.js.map +1 -1
- package/monitorNotificationRule.d.ts +17 -0
- package/monitorNotificationRule.js +17 -0
- package/monitorNotificationRule.js.map +1 -1
- package/observabilityPipeline.d.ts +66 -0
- package/observabilityPipeline.js +66 -0
- package/observabilityPipeline.js.map +1 -1
- package/onCallSchedule.d.ts +28 -0
- package/onCallSchedule.js +28 -0
- package/onCallSchedule.js.map +1 -1
- package/onCallTeamRoutingRules.d.ts +33 -0
- package/onCallTeamRoutingRules.js +33 -0
- package/onCallTeamRoutingRules.js.map +1 -1
- package/openapiApi.d.ts +13 -0
- package/openapiApi.js +13 -0
- package/openapiApi.js.map +1 -1
- package/package.json +2 -2
- package/rumMetric.d.ts +26 -0
- package/rumMetric.js +26 -0
- package/rumMetric.js.map +1 -1
- package/rumRetentionFiltersOrder.d.ts +45 -0
- package/rumRetentionFiltersOrder.js +45 -0
- package/rumRetentionFiltersOrder.js.map +1 -1
- package/securityMonitoringRuleJson.d.ts +45 -0
- package/securityMonitoringRuleJson.js +45 -0
- package/securityMonitoringRuleJson.js.map +1 -1
- package/securityNotificationRule.d.ts +35 -0
- package/securityNotificationRule.js +35 -0
- package/securityNotificationRule.js.map +1 -1
- package/spansMetric.d.ts +22 -0
- package/spansMetric.js +22 -0
- package/spansMetric.js.map +1 -1
- package/tagPipelineRuleset.d.ts +58 -0
- package/tagPipelineRuleset.js +58 -0
- package/tagPipelineRuleset.js.map +1 -1
- package/tagPipelineRulesets.d.ts +167 -0
- package/tagPipelineRulesets.js +167 -0
- package/tagPipelineRulesets.js.map +1 -1
package/tagPipelineRuleset.d.ts
CHANGED
|
@@ -6,6 +6,64 @@ import * as outputs from "./types/output";
|
|
|
6
6
|
*
|
|
7
7
|
* ## Example Usage
|
|
8
8
|
*
|
|
9
|
+
* ```typescript
|
|
10
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
11
|
+
* import * as datadog from "@pulumi/datadog";
|
|
12
|
+
*
|
|
13
|
+
* const example = new datadog.TagPipelineRuleset("example", {
|
|
14
|
+
* name: "Complete Tag Pipeline Example",
|
|
15
|
+
* enabled: true,
|
|
16
|
+
* rules: [
|
|
17
|
+
* {
|
|
18
|
+
* name: "standardize-environment",
|
|
19
|
+
* enabled: true,
|
|
20
|
+
* mapping: [{
|
|
21
|
+
* destinationKey: "env",
|
|
22
|
+
* ifNotExists: true,
|
|
23
|
+
* sourceKeys: [
|
|
24
|
+
* "environment",
|
|
25
|
+
* "stage",
|
|
26
|
+
* "tier",
|
|
27
|
+
* ],
|
|
28
|
+
* }],
|
|
29
|
+
* },
|
|
30
|
+
* {
|
|
31
|
+
* name: "assign-team-tags",
|
|
32
|
+
* enabled: true,
|
|
33
|
+
* query: [{
|
|
34
|
+
* query: "service:web* OR service:frontend*",
|
|
35
|
+
* caseInsensitivity: true,
|
|
36
|
+
* ifNotExists: true,
|
|
37
|
+
* addition: [{
|
|
38
|
+
* key: "team",
|
|
39
|
+
* value: "frontend",
|
|
40
|
+
* }],
|
|
41
|
+
* }],
|
|
42
|
+
* },
|
|
43
|
+
* {
|
|
44
|
+
* name: "enrich-service-metadata",
|
|
45
|
+
* enabled: true,
|
|
46
|
+
* referenceTable: [{
|
|
47
|
+
* tableName: "service_catalog",
|
|
48
|
+
* caseInsensitivity: true,
|
|
49
|
+
* ifNotExists: true,
|
|
50
|
+
* sourceKeys: ["service"],
|
|
51
|
+
* fieldPairs: [
|
|
52
|
+
* {
|
|
53
|
+
* inputColumn: "owner_team",
|
|
54
|
+
* outputKey: "owner",
|
|
55
|
+
* },
|
|
56
|
+
* {
|
|
57
|
+
* inputColumn: "business_unit",
|
|
58
|
+
* outputKey: "business_unit",
|
|
59
|
+
* },
|
|
60
|
+
* ],
|
|
61
|
+
* }],
|
|
62
|
+
* },
|
|
63
|
+
* ],
|
|
64
|
+
* });
|
|
65
|
+
* ```
|
|
66
|
+
*
|
|
9
67
|
* ## Import
|
|
10
68
|
*
|
|
11
69
|
* The `pulumi import` command can be used, for example:
|
package/tagPipelineRuleset.js
CHANGED
|
@@ -10,6 +10,64 @@ const utilities = require("./utilities");
|
|
|
10
10
|
*
|
|
11
11
|
* ## Example Usage
|
|
12
12
|
*
|
|
13
|
+
* ```typescript
|
|
14
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
15
|
+
* import * as datadog from "@pulumi/datadog";
|
|
16
|
+
*
|
|
17
|
+
* const example = new datadog.TagPipelineRuleset("example", {
|
|
18
|
+
* name: "Complete Tag Pipeline Example",
|
|
19
|
+
* enabled: true,
|
|
20
|
+
* rules: [
|
|
21
|
+
* {
|
|
22
|
+
* name: "standardize-environment",
|
|
23
|
+
* enabled: true,
|
|
24
|
+
* mapping: [{
|
|
25
|
+
* destinationKey: "env",
|
|
26
|
+
* ifNotExists: true,
|
|
27
|
+
* sourceKeys: [
|
|
28
|
+
* "environment",
|
|
29
|
+
* "stage",
|
|
30
|
+
* "tier",
|
|
31
|
+
* ],
|
|
32
|
+
* }],
|
|
33
|
+
* },
|
|
34
|
+
* {
|
|
35
|
+
* name: "assign-team-tags",
|
|
36
|
+
* enabled: true,
|
|
37
|
+
* query: [{
|
|
38
|
+
* query: "service:web* OR service:frontend*",
|
|
39
|
+
* caseInsensitivity: true,
|
|
40
|
+
* ifNotExists: true,
|
|
41
|
+
* addition: [{
|
|
42
|
+
* key: "team",
|
|
43
|
+
* value: "frontend",
|
|
44
|
+
* }],
|
|
45
|
+
* }],
|
|
46
|
+
* },
|
|
47
|
+
* {
|
|
48
|
+
* name: "enrich-service-metadata",
|
|
49
|
+
* enabled: true,
|
|
50
|
+
* referenceTable: [{
|
|
51
|
+
* tableName: "service_catalog",
|
|
52
|
+
* caseInsensitivity: true,
|
|
53
|
+
* ifNotExists: true,
|
|
54
|
+
* sourceKeys: ["service"],
|
|
55
|
+
* fieldPairs: [
|
|
56
|
+
* {
|
|
57
|
+
* inputColumn: "owner_team",
|
|
58
|
+
* outputKey: "owner",
|
|
59
|
+
* },
|
|
60
|
+
* {
|
|
61
|
+
* inputColumn: "business_unit",
|
|
62
|
+
* outputKey: "business_unit",
|
|
63
|
+
* },
|
|
64
|
+
* ],
|
|
65
|
+
* }],
|
|
66
|
+
* },
|
|
67
|
+
* ],
|
|
68
|
+
* });
|
|
69
|
+
* ```
|
|
70
|
+
*
|
|
13
71
|
* ## Import
|
|
14
72
|
*
|
|
15
73
|
* The `pulumi import` command can be used, for example:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tagPipelineRuleset.js","sourceRoot":"","sources":["../tagPipelineRuleset.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC
|
|
1
|
+
{"version":3,"file":"tagPipelineRuleset.js","sourceRoot":"","sources":["../tagPipelineRuleset.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AACH,MAAa,kBAAmB,SAAQ,MAAM,CAAC,cAAc;IACzD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA+B,EAAE,IAAmC;QAC7H,OAAO,IAAI,kBAAkB,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACzE,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,kBAAkB,CAAC,YAAY,CAAC;IACnE,CAAC;IA+BD,YAAY,IAAY,EAAE,WAA8D,EAAE,IAAmC;QACzH,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAkD,CAAC;YACjE,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;YAC3C,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC;YAC7C,cAAc,CAAC,OAAO,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC;YACvC,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;SAC9C;aAAM;YACH,MAAM,IAAI,GAAG,WAAiD,CAAC;YAC/D,IAAI,IAAI,EAAE,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACvC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;aACvD;YACD,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC;YAC1C,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC;YACtC,cAAc,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC/C,cAAc,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SACjD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,kBAAkB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACvE,CAAC;;AAhFL,gDAiFC;AAnEG,gBAAgB;AACO,+BAAY,GAAG,qDAAqD,CAAC"}
|
package/tagPipelineRulesets.d.ts
CHANGED
|
@@ -4,6 +4,173 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
4
4
|
*
|
|
5
5
|
* ## Example Usage
|
|
6
6
|
*
|
|
7
|
+
* ```typescript
|
|
8
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
9
|
+
* import * as datadog from "@pulumi/datadog";
|
|
10
|
+
*
|
|
11
|
+
* // ============================================================================
|
|
12
|
+
* // Example 1: Basic Usage - Manage the order of tag pipeline rulesets
|
|
13
|
+
* // ============================================================================
|
|
14
|
+
* // This example shows the default behavior where UI-defined rulesets that are
|
|
15
|
+
* // not in Terraform will be preserved at the end of the order.
|
|
16
|
+
* const first = new datadog.TagPipelineRuleset("first", {
|
|
17
|
+
* name: "Standardize Environment Tags",
|
|
18
|
+
* enabled: true,
|
|
19
|
+
* rules: [{
|
|
20
|
+
* name: "map-env",
|
|
21
|
+
* enabled: true,
|
|
22
|
+
* mapping: [{
|
|
23
|
+
* destinationKey: "env",
|
|
24
|
+
* ifNotExists: true,
|
|
25
|
+
* sourceKeys: [
|
|
26
|
+
* "environment",
|
|
27
|
+
* "stage",
|
|
28
|
+
* ],
|
|
29
|
+
* }],
|
|
30
|
+
* }],
|
|
31
|
+
* });
|
|
32
|
+
* const second = new datadog.TagPipelineRuleset("second", {
|
|
33
|
+
* name: "Assign Team Tags",
|
|
34
|
+
* enabled: true,
|
|
35
|
+
* rules: [{
|
|
36
|
+
* name: "assign-team",
|
|
37
|
+
* enabled: true,
|
|
38
|
+
* query: [{
|
|
39
|
+
* query: "service:web* OR service:api*",
|
|
40
|
+
* ifNotExists: false,
|
|
41
|
+
* addition: [{
|
|
42
|
+
* key: "team",
|
|
43
|
+
* value: "backend",
|
|
44
|
+
* }],
|
|
45
|
+
* }],
|
|
46
|
+
* }],
|
|
47
|
+
* });
|
|
48
|
+
* const third = new datadog.TagPipelineRuleset("third", {
|
|
49
|
+
* name: "Enrich Service Metadata",
|
|
50
|
+
* enabled: true,
|
|
51
|
+
* rules: [{
|
|
52
|
+
* name: "lookup-service",
|
|
53
|
+
* enabled: true,
|
|
54
|
+
* referenceTable: [{
|
|
55
|
+
* tableName: "service_catalog",
|
|
56
|
+
* caseInsensitivity: true,
|
|
57
|
+
* ifNotExists: true,
|
|
58
|
+
* sourceKeys: ["service"],
|
|
59
|
+
* fieldPairs: [{
|
|
60
|
+
* inputColumn: "owner_team",
|
|
61
|
+
* outputKey: "owner",
|
|
62
|
+
* }],
|
|
63
|
+
* }],
|
|
64
|
+
* }],
|
|
65
|
+
* });
|
|
66
|
+
* // Manage the order of tag pipeline rulesets
|
|
67
|
+
* // Rulesets are executed in the order specified in ruleset_ids
|
|
68
|
+
* // UI-defined rulesets not in this list will be preserved at the end
|
|
69
|
+
* const order = new datadog.TagPipelineRulesets("order", {rulesetIds: [
|
|
70
|
+
* first.id,
|
|
71
|
+
* second.id,
|
|
72
|
+
* third.id,
|
|
73
|
+
* ]});
|
|
74
|
+
* // ============================================================================
|
|
75
|
+
* // Example 2: Override UI-defined rulesets (override_ui_defined_resources = true)
|
|
76
|
+
* // ============================================================================
|
|
77
|
+
* // When set to true, any rulesets created via the UI that are not defined in Terraform
|
|
78
|
+
* // will be automatically deleted during pulumi up.
|
|
79
|
+
* const managedFirst = new datadog.TagPipelineRuleset("managed_first", {
|
|
80
|
+
* name: "Standardize Environment Tags",
|
|
81
|
+
* enabled: true,
|
|
82
|
+
* rules: [{
|
|
83
|
+
* name: "map-env",
|
|
84
|
+
* enabled: true,
|
|
85
|
+
* mapping: [{
|
|
86
|
+
* destinationKey: "env",
|
|
87
|
+
* ifNotExists: true,
|
|
88
|
+
* sourceKeys: [
|
|
89
|
+
* "environment",
|
|
90
|
+
* "stage",
|
|
91
|
+
* ],
|
|
92
|
+
* }],
|
|
93
|
+
* }],
|
|
94
|
+
* });
|
|
95
|
+
* const managedSecond = new datadog.TagPipelineRuleset("managed_second", {
|
|
96
|
+
* name: "Assign Team Tags",
|
|
97
|
+
* enabled: true,
|
|
98
|
+
* rules: [{
|
|
99
|
+
* name: "assign-team",
|
|
100
|
+
* enabled: true,
|
|
101
|
+
* query: [{
|
|
102
|
+
* query: "service:web*",
|
|
103
|
+
* ifNotExists: false,
|
|
104
|
+
* addition: [{
|
|
105
|
+
* key: "team",
|
|
106
|
+
* value: "frontend",
|
|
107
|
+
* }],
|
|
108
|
+
* }],
|
|
109
|
+
* }],
|
|
110
|
+
* });
|
|
111
|
+
* // Manage order with override_ui_defined_resources = true
|
|
112
|
+
* // This will delete any rulesets created via the UI that are not in this list
|
|
113
|
+
* const orderOverride = new datadog.TagPipelineRulesets("order_override", {
|
|
114
|
+
* overrideUiDefinedResources: true,
|
|
115
|
+
* rulesetIds: [
|
|
116
|
+
* managedFirst.id,
|
|
117
|
+
* managedSecond.id,
|
|
118
|
+
* ],
|
|
119
|
+
* });
|
|
120
|
+
* // ============================================================================
|
|
121
|
+
* // Example 3: Preserve UI-defined rulesets (override_ui_defined_resources = false)
|
|
122
|
+
* // ============================================================================
|
|
123
|
+
* // When set to false (default), UI-defined rulesets that are not in Terraform
|
|
124
|
+
* // will be preserved at the end of the order. However, if unmanaged rulesets
|
|
125
|
+
* // are in the middle of the order, Terraform will error and require you to either:
|
|
126
|
+
* // 1. Import the unmanaged rulesets
|
|
127
|
+
* // 2. Set override_ui_defined_resources = true
|
|
128
|
+
* // 3. Manually reorder or delete them in the Datadog UI
|
|
129
|
+
* const preserveFirst = new datadog.TagPipelineRuleset("preserve_first", {
|
|
130
|
+
* name: "Standardize Environment Tags",
|
|
131
|
+
* enabled: true,
|
|
132
|
+
* rules: [{
|
|
133
|
+
* name: "map-env",
|
|
134
|
+
* enabled: true,
|
|
135
|
+
* mapping: [{
|
|
136
|
+
* destinationKey: "env",
|
|
137
|
+
* ifNotExists: true,
|
|
138
|
+
* sourceKeys: [
|
|
139
|
+
* "environment",
|
|
140
|
+
* "stage",
|
|
141
|
+
* ],
|
|
142
|
+
* }],
|
|
143
|
+
* }],
|
|
144
|
+
* });
|
|
145
|
+
* const preserveSecond = new datadog.TagPipelineRuleset("preserve_second", {
|
|
146
|
+
* name: "Assign Team Tags",
|
|
147
|
+
* enabled: true,
|
|
148
|
+
* rules: [{
|
|
149
|
+
* name: "assign-team",
|
|
150
|
+
* enabled: true,
|
|
151
|
+
* query: [{
|
|
152
|
+
* query: "service:web*",
|
|
153
|
+
* ifNotExists: false,
|
|
154
|
+
* addition: [{
|
|
155
|
+
* key: "team",
|
|
156
|
+
* value: "frontend",
|
|
157
|
+
* }],
|
|
158
|
+
* }],
|
|
159
|
+
* }],
|
|
160
|
+
* });
|
|
161
|
+
* // Manage order with override_ui_defined_resources = false (default)
|
|
162
|
+
* // UI-defined rulesets will be preserved at the end of the order
|
|
163
|
+
* // Terraform will warn if unmanaged rulesets exist at the end
|
|
164
|
+
* // Terraform will error if unmanaged rulesets are in the middle
|
|
165
|
+
* const orderPreserve = new datadog.TagPipelineRulesets("order_preserve", {
|
|
166
|
+
* overrideUiDefinedResources: false,
|
|
167
|
+
* rulesetIds: [
|
|
168
|
+
* preserveFirst.id,
|
|
169
|
+
* preserveSecond.id,
|
|
170
|
+
* ],
|
|
171
|
+
* });
|
|
172
|
+
* ```
|
|
173
|
+
*
|
|
7
174
|
* ## Import
|
|
8
175
|
*
|
|
9
176
|
* The `pulumi import` command can be used, for example:
|
package/tagPipelineRulesets.js
CHANGED
|
@@ -10,6 +10,173 @@ const utilities = require("./utilities");
|
|
|
10
10
|
*
|
|
11
11
|
* ## Example Usage
|
|
12
12
|
*
|
|
13
|
+
* ```typescript
|
|
14
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
15
|
+
* import * as datadog from "@pulumi/datadog";
|
|
16
|
+
*
|
|
17
|
+
* // ============================================================================
|
|
18
|
+
* // Example 1: Basic Usage - Manage the order of tag pipeline rulesets
|
|
19
|
+
* // ============================================================================
|
|
20
|
+
* // This example shows the default behavior where UI-defined rulesets that are
|
|
21
|
+
* // not in Terraform will be preserved at the end of the order.
|
|
22
|
+
* const first = new datadog.TagPipelineRuleset("first", {
|
|
23
|
+
* name: "Standardize Environment Tags",
|
|
24
|
+
* enabled: true,
|
|
25
|
+
* rules: [{
|
|
26
|
+
* name: "map-env",
|
|
27
|
+
* enabled: true,
|
|
28
|
+
* mapping: [{
|
|
29
|
+
* destinationKey: "env",
|
|
30
|
+
* ifNotExists: true,
|
|
31
|
+
* sourceKeys: [
|
|
32
|
+
* "environment",
|
|
33
|
+
* "stage",
|
|
34
|
+
* ],
|
|
35
|
+
* }],
|
|
36
|
+
* }],
|
|
37
|
+
* });
|
|
38
|
+
* const second = new datadog.TagPipelineRuleset("second", {
|
|
39
|
+
* name: "Assign Team Tags",
|
|
40
|
+
* enabled: true,
|
|
41
|
+
* rules: [{
|
|
42
|
+
* name: "assign-team",
|
|
43
|
+
* enabled: true,
|
|
44
|
+
* query: [{
|
|
45
|
+
* query: "service:web* OR service:api*",
|
|
46
|
+
* ifNotExists: false,
|
|
47
|
+
* addition: [{
|
|
48
|
+
* key: "team",
|
|
49
|
+
* value: "backend",
|
|
50
|
+
* }],
|
|
51
|
+
* }],
|
|
52
|
+
* }],
|
|
53
|
+
* });
|
|
54
|
+
* const third = new datadog.TagPipelineRuleset("third", {
|
|
55
|
+
* name: "Enrich Service Metadata",
|
|
56
|
+
* enabled: true,
|
|
57
|
+
* rules: [{
|
|
58
|
+
* name: "lookup-service",
|
|
59
|
+
* enabled: true,
|
|
60
|
+
* referenceTable: [{
|
|
61
|
+
* tableName: "service_catalog",
|
|
62
|
+
* caseInsensitivity: true,
|
|
63
|
+
* ifNotExists: true,
|
|
64
|
+
* sourceKeys: ["service"],
|
|
65
|
+
* fieldPairs: [{
|
|
66
|
+
* inputColumn: "owner_team",
|
|
67
|
+
* outputKey: "owner",
|
|
68
|
+
* }],
|
|
69
|
+
* }],
|
|
70
|
+
* }],
|
|
71
|
+
* });
|
|
72
|
+
* // Manage the order of tag pipeline rulesets
|
|
73
|
+
* // Rulesets are executed in the order specified in ruleset_ids
|
|
74
|
+
* // UI-defined rulesets not in this list will be preserved at the end
|
|
75
|
+
* const order = new datadog.TagPipelineRulesets("order", {rulesetIds: [
|
|
76
|
+
* first.id,
|
|
77
|
+
* second.id,
|
|
78
|
+
* third.id,
|
|
79
|
+
* ]});
|
|
80
|
+
* // ============================================================================
|
|
81
|
+
* // Example 2: Override UI-defined rulesets (override_ui_defined_resources = true)
|
|
82
|
+
* // ============================================================================
|
|
83
|
+
* // When set to true, any rulesets created via the UI that are not defined in Terraform
|
|
84
|
+
* // will be automatically deleted during pulumi up.
|
|
85
|
+
* const managedFirst = new datadog.TagPipelineRuleset("managed_first", {
|
|
86
|
+
* name: "Standardize Environment Tags",
|
|
87
|
+
* enabled: true,
|
|
88
|
+
* rules: [{
|
|
89
|
+
* name: "map-env",
|
|
90
|
+
* enabled: true,
|
|
91
|
+
* mapping: [{
|
|
92
|
+
* destinationKey: "env",
|
|
93
|
+
* ifNotExists: true,
|
|
94
|
+
* sourceKeys: [
|
|
95
|
+
* "environment",
|
|
96
|
+
* "stage",
|
|
97
|
+
* ],
|
|
98
|
+
* }],
|
|
99
|
+
* }],
|
|
100
|
+
* });
|
|
101
|
+
* const managedSecond = new datadog.TagPipelineRuleset("managed_second", {
|
|
102
|
+
* name: "Assign Team Tags",
|
|
103
|
+
* enabled: true,
|
|
104
|
+
* rules: [{
|
|
105
|
+
* name: "assign-team",
|
|
106
|
+
* enabled: true,
|
|
107
|
+
* query: [{
|
|
108
|
+
* query: "service:web*",
|
|
109
|
+
* ifNotExists: false,
|
|
110
|
+
* addition: [{
|
|
111
|
+
* key: "team",
|
|
112
|
+
* value: "frontend",
|
|
113
|
+
* }],
|
|
114
|
+
* }],
|
|
115
|
+
* }],
|
|
116
|
+
* });
|
|
117
|
+
* // Manage order with override_ui_defined_resources = true
|
|
118
|
+
* // This will delete any rulesets created via the UI that are not in this list
|
|
119
|
+
* const orderOverride = new datadog.TagPipelineRulesets("order_override", {
|
|
120
|
+
* overrideUiDefinedResources: true,
|
|
121
|
+
* rulesetIds: [
|
|
122
|
+
* managedFirst.id,
|
|
123
|
+
* managedSecond.id,
|
|
124
|
+
* ],
|
|
125
|
+
* });
|
|
126
|
+
* // ============================================================================
|
|
127
|
+
* // Example 3: Preserve UI-defined rulesets (override_ui_defined_resources = false)
|
|
128
|
+
* // ============================================================================
|
|
129
|
+
* // When set to false (default), UI-defined rulesets that are not in Terraform
|
|
130
|
+
* // will be preserved at the end of the order. However, if unmanaged rulesets
|
|
131
|
+
* // are in the middle of the order, Terraform will error and require you to either:
|
|
132
|
+
* // 1. Import the unmanaged rulesets
|
|
133
|
+
* // 2. Set override_ui_defined_resources = true
|
|
134
|
+
* // 3. Manually reorder or delete them in the Datadog UI
|
|
135
|
+
* const preserveFirst = new datadog.TagPipelineRuleset("preserve_first", {
|
|
136
|
+
* name: "Standardize Environment Tags",
|
|
137
|
+
* enabled: true,
|
|
138
|
+
* rules: [{
|
|
139
|
+
* name: "map-env",
|
|
140
|
+
* enabled: true,
|
|
141
|
+
* mapping: [{
|
|
142
|
+
* destinationKey: "env",
|
|
143
|
+
* ifNotExists: true,
|
|
144
|
+
* sourceKeys: [
|
|
145
|
+
* "environment",
|
|
146
|
+
* "stage",
|
|
147
|
+
* ],
|
|
148
|
+
* }],
|
|
149
|
+
* }],
|
|
150
|
+
* });
|
|
151
|
+
* const preserveSecond = new datadog.TagPipelineRuleset("preserve_second", {
|
|
152
|
+
* name: "Assign Team Tags",
|
|
153
|
+
* enabled: true,
|
|
154
|
+
* rules: [{
|
|
155
|
+
* name: "assign-team",
|
|
156
|
+
* enabled: true,
|
|
157
|
+
* query: [{
|
|
158
|
+
* query: "service:web*",
|
|
159
|
+
* ifNotExists: false,
|
|
160
|
+
* addition: [{
|
|
161
|
+
* key: "team",
|
|
162
|
+
* value: "frontend",
|
|
163
|
+
* }],
|
|
164
|
+
* }],
|
|
165
|
+
* }],
|
|
166
|
+
* });
|
|
167
|
+
* // Manage order with override_ui_defined_resources = false (default)
|
|
168
|
+
* // UI-defined rulesets will be preserved at the end of the order
|
|
169
|
+
* // Terraform will warn if unmanaged rulesets exist at the end
|
|
170
|
+
* // Terraform will error if unmanaged rulesets are in the middle
|
|
171
|
+
* const orderPreserve = new datadog.TagPipelineRulesets("order_preserve", {
|
|
172
|
+
* overrideUiDefinedResources: false,
|
|
173
|
+
* rulesetIds: [
|
|
174
|
+
* preserveFirst.id,
|
|
175
|
+
* preserveSecond.id,
|
|
176
|
+
* ],
|
|
177
|
+
* });
|
|
178
|
+
* ```
|
|
179
|
+
*
|
|
13
180
|
* ## Import
|
|
14
181
|
*
|
|
15
182
|
* The `pulumi import` command can be used, for example:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tagPipelineRulesets.js","sourceRoot":"","sources":["../tagPipelineRulesets.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC
|
|
1
|
+
{"version":3,"file":"tagPipelineRulesets.js","sourceRoot":"","sources":["../tagPipelineRulesets.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmLG;AACH,MAAa,mBAAoB,SAAQ,MAAM,CAAC,cAAc;IAC1D;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAgC,EAAE,IAAmC;QAC9H,OAAO,IAAI,mBAAmB,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1E,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,mBAAmB,CAAC,YAAY,CAAC;IACpE,CAAC;IAgBD,YAAY,IAAY,EAAE,WAAgE,EAAE,IAAmC;QAC3H,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAmD,CAAC;YAClE,cAAc,CAAC,4BAA4B,CAAC,GAAG,KAAK,EAAE,0BAA0B,CAAC;YACjF,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC;SACpD;aAAM;YACH,MAAM,IAAI,GAAG,WAAkD,CAAC;YAChE,IAAI,IAAI,EAAE,UAAU,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC7C,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aAC7D;YACD,cAAc,CAAC,4BAA4B,CAAC,GAAG,IAAI,EAAE,0BAA0B,CAAC;YAChF,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC;SACnD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACxE,CAAC;;AA3DL,kDA4DC;AA9CG,gBAAgB;AACO,gCAAY,GAAG,uDAAuD,CAAC"}
|