Skip to content

Commit df7d39d

Browse files
committed
feat(openpipeline-v2): add pipeline group resources
This adds the pipeline-group resources for every openpipeline_v2 kind
1 parent 12acb8b commit df7d39d

File tree

82 files changed

+9463
-857
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+9463
-857
lines changed

documentation/supported-resources.md

Lines changed: 45 additions & 32 deletions
Large diffs are not rendered by default.
Lines changed: 304 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,304 @@
1+
{
2+
"allowedScopes": [
3+
"environment"
4+
],
5+
"constraints": [
6+
{
7+
"customValidatorId": "pipeline-groups-container-validator",
8+
"skipAsyncValidation": false,
9+
"timeout": 10,
10+
"type": "CUSTOM_VALIDATOR_REF"
11+
}
12+
],
13+
"description": "Contains configuration of a pipeline group",
14+
"displayName": "Pipeline Groups configuration (bizevents)",
15+
"documentation": "",
16+
"dynatrace": "1",
17+
"enums": {
18+
"StageConfigType": {
19+
"description": "",
20+
"displayName": "StageConfigType",
21+
"documentation": "",
22+
"items": [
23+
{
24+
"displayName": "Include only stages that are specified",
25+
"value": "include"
26+
},
27+
{
28+
"displayName": "Include all stages except those specified",
29+
"value": "exclude"
30+
},
31+
{
32+
"displayName": "Include all stages of the source record",
33+
"value": "includeAll"
34+
}
35+
],
36+
"type": "enum"
37+
},
38+
"StageType": {
39+
"description": "",
40+
"displayName": "StageType",
41+
"documentation": "",
42+
"items": [
43+
{
44+
"displayName": "Processing",
45+
"value": "processing"
46+
},
47+
{
48+
"displayName": "Security context",
49+
"value": "securityContext"
50+
},
51+
{
52+
"displayName": "Cost Allocation",
53+
"value": "costAllocation"
54+
},
55+
{
56+
"displayName": "Product Allocation",
57+
"value": "productAllocation"
58+
},
59+
{
60+
"displayName": "Storage",
61+
"value": "storage"
62+
},
63+
{
64+
"displayName": "Smartscape Node Extraction",
65+
"value": "smartscapeNodeExtraction"
66+
},
67+
{
68+
"displayName": "Smartscape Edge Extraction",
69+
"value": "smartscapeEdgeExtraction"
70+
},
71+
{
72+
"displayName": "Metric Extraction",
73+
"value": "metricExtraction"
74+
},
75+
{
76+
"displayName": "Davis",
77+
"value": "davis"
78+
},
79+
{
80+
"displayName": "Data Extraction",
81+
"value": "dataExtraction"
82+
}
83+
],
84+
"type": "enum"
85+
}
86+
},
87+
"maturity": "GENERAL_AVAILABILITY",
88+
"maxObjects": 100,
89+
"multiObject": true,
90+
"ordered": false,
91+
"ownerBasedAccessControl": true,
92+
"properties": {
93+
"composition": {
94+
"description": "",
95+
"displayName": "Composition",
96+
"documentation": "",
97+
"items": {
98+
"description": "",
99+
"displayName": "",
100+
"documentation": "",
101+
"type": {
102+
"$ref": "#/types/PipelineGroupComposition"
103+
}
104+
},
105+
"maxObjects": 10,
106+
"minObjects": 0,
107+
"modificationPolicy": "DEFAULT",
108+
"nullable": false,
109+
"type": "list"
110+
},
111+
"displayName": {
112+
"constraints": [
113+
{
114+
"type": "NOT_BLANK"
115+
},
116+
{
117+
"maxLength": 500,
118+
"minLength": 1,
119+
"type": "LENGTH"
120+
}
121+
],
122+
"default": "",
123+
"description": "",
124+
"displayName": "Display name",
125+
"documentation": "",
126+
"maxObjects": 1,
127+
"modificationPolicy": "DEFAULT",
128+
"nullable": false,
129+
"type": "text"
130+
},
131+
"memberPipelines": {
132+
"description": "",
133+
"displayName": "Pipelines wrapped by this group",
134+
"documentation": "",
135+
"items": {
136+
"description": "",
137+
"displayName": "Pipeline ID",
138+
"documentation": "",
139+
"referencedType": "builtin:openpipeline.bizevents.pipelines",
140+
"type": "setting"
141+
},
142+
"maxObjects": 100,
143+
"minObjects": 0,
144+
"modificationPolicy": "DEFAULT",
145+
"nullable": false,
146+
"type": "set"
147+
},
148+
"memberStages": {
149+
"description": "",
150+
"displayName": "stage configuration of the member pipelines",
151+
"documentation": "",
152+
"maxObjects": 1,
153+
"modificationPolicy": "DEFAULT",
154+
"nullable": false,
155+
"type": {
156+
"$ref": "#/types/StageConfig"
157+
}
158+
}
159+
},
160+
"schemaConstraints": [
161+
{
162+
"flattenCollections": true,
163+
"type": "UNIQUE",
164+
"uniqueProperties": [
165+
"memberPipelines"
166+
]
167+
}
168+
],
169+
"schemaGroups": [
170+
"group:openpipeline.all.pipeline-groups"
171+
],
172+
"schemaId": "builtin:openpipeline.bizevents.pipeline-groups",
173+
"types": {
174+
"PipelineGroupComposition": {
175+
"description": "",
176+
"displayName": "PipelineGroupComposition",
177+
"documentation": "",
178+
"properties": {
179+
"isPipelinePlaceholder": {
180+
"default": false,
181+
"description": "",
182+
"displayName": "Placeholder for the wrapped pipeline",
183+
"documentation": "",
184+
"maxObjects": 1,
185+
"modificationPolicy": "DEFAULT",
186+
"nullable": false,
187+
"type": "boolean"
188+
},
189+
"pipelineId": {
190+
"constraints": [
191+
{
192+
"maxLength": 500,
193+
"minLength": 1,
194+
"type": "LENGTH"
195+
}
196+
],
197+
"default": "",
198+
"description": "",
199+
"displayName": "Pipeline ID",
200+
"documentation": "",
201+
"maxObjects": 1,
202+
"modificationPolicy": "DEFAULT",
203+
"nullable": false,
204+
"precondition": {
205+
"expectedValue": false,
206+
"property": "isPipelinePlaceholder",
207+
"type": "EQUALS"
208+
},
209+
"type": "text"
210+
},
211+
"stages": {
212+
"description": "",
213+
"displayName": "stage configuration for this pipelines",
214+
"documentation": "",
215+
"maxObjects": 1,
216+
"modificationPolicy": "DEFAULT",
217+
"nullable": false,
218+
"precondition": {
219+
"expectedValue": false,
220+
"property": "isPipelinePlaceholder",
221+
"type": "EQUALS"
222+
},
223+
"type": {
224+
"$ref": "#/types/StageConfig"
225+
}
226+
}
227+
},
228+
"summaryPattern": "{isPipelinePlaceholder}-{pipelineId}",
229+
"type": "object",
230+
"version": "0",
231+
"versionInfo": ""
232+
},
233+
"StageConfig": {
234+
"description": "",
235+
"displayName": "StageConfig",
236+
"documentation": "",
237+
"properties": {
238+
"exclude": {
239+
"description": "",
240+
"displayName": "exclude stages",
241+
"documentation": "",
242+
"items": {
243+
"description": "",
244+
"displayName": "",
245+
"documentation": "",
246+
"type": {
247+
"$ref": "#/enums/StageType"
248+
}
249+
},
250+
"maxObjects": 100,
251+
"minObjects": 1,
252+
"modificationPolicy": "DEFAULT",
253+
"nullable": false,
254+
"precondition": {
255+
"expectedValue": "exclude",
256+
"property": "type",
257+
"type": "EQUALS"
258+
},
259+
"type": "set"
260+
},
261+
"include": {
262+
"description": "",
263+
"displayName": "include stages",
264+
"documentation": "",
265+
"items": {
266+
"description": "",
267+
"displayName": "",
268+
"documentation": "",
269+
"type": {
270+
"$ref": "#/enums/StageType"
271+
}
272+
},
273+
"maxObjects": 100,
274+
"minObjects": 1,
275+
"modificationPolicy": "DEFAULT",
276+
"nullable": false,
277+
"precondition": {
278+
"expectedValue": "include",
279+
"property": "type",
280+
"type": "EQUALS"
281+
},
282+
"type": "set"
283+
},
284+
"type": {
285+
"default": "include",
286+
"description": "",
287+
"displayName": "Stage configuration type",
288+
"documentation": "",
289+
"maxObjects": 1,
290+
"modificationPolicy": "DEFAULT",
291+
"nullable": false,
292+
"type": {
293+
"$ref": "#/enums/StageConfigType"
294+
}
295+
}
296+
},
297+
"summaryPattern": "{type}",
298+
"type": "object",
299+
"version": "0",
300+
"versionInfo": ""
301+
}
302+
},
303+
"version": "1.51"
304+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
/**
2+
* @license
3+
* Copyright 2026 Dynatrace LLC
4+
*
5+
* Licensed under the Apache License, Version 2.0 (the "License");
6+
* you may not use this file except in compliance with the License.
7+
* You may obtain a copy of the License at
8+
*
9+
* http://www.apache.org/licenses/LICENSE-2.0
10+
*
11+
* Unless required by applicable law or agreed to in writing, software
12+
* distributed under the License is distributed on an "AS IS" BASIS,
13+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
* See the License for the specific language governing permissions and
15+
* limitations under the License.
16+
*/
17+
18+
package pipelinegroups
19+
20+
import (
21+
service "github.com/dynatrace-oss/terraform-provider-dynatrace/dynatrace/api/builtin/openpipeline/bizevents/pipelinegroups/settings"
22+
"github.com/dynatrace-oss/terraform-provider-dynatrace/dynatrace/rest"
23+
"github.com/dynatrace-oss/terraform-provider-dynatrace/dynatrace/settings"
24+
"github.com/dynatrace-oss/terraform-provider-dynatrace/dynatrace/settings/services/settings20"
25+
)
26+
27+
const SchemaVersion = "1.51"
28+
const SchemaID = "builtin:openpipeline.bizevents.pipeline-groups"
29+
30+
func Service(credentials *rest.Credentials) settings.CRUDService[*service.Settings] {
31+
return settings20.Service[*service.Settings](credentials, SchemaID, SchemaVersion)
32+
}
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
/**
2+
* @license
3+
* Copyright 2026 Dynatrace LLC
4+
*
5+
* Licensed under the Apache License, Version 2.0 (the "License");
6+
* you may not use this file except in compliance with the License.
7+
* You may obtain a copy of the License at
8+
*
9+
* http://www.apache.org/licenses/LICENSE-2.0
10+
*
11+
* Unless required by applicable law or agreed to in writing, software
12+
* distributed under the License is distributed on an "AS IS" BASIS,
13+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
* See the License for the specific language governing permissions and
15+
* limitations under the License.
16+
*/
17+
18+
package pipelinegroups
19+
20+
type StageConfigType string
21+
22+
var StageConfigTypes = struct {
23+
Exclude StageConfigType
24+
Include StageConfigType
25+
Includeall StageConfigType
26+
}{
27+
"exclude",
28+
"include",
29+
"includeAll",
30+
}
31+
32+
type StageType string
33+
34+
var StageTypes = struct {
35+
Costallocation StageType
36+
Dataextraction StageType
37+
Davis StageType
38+
Metricextraction StageType
39+
Processing StageType
40+
Productallocation StageType
41+
Securitycontext StageType
42+
Smartscapeedgeextraction StageType
43+
Smartscapenodeextraction StageType
44+
Storage StageType
45+
}{
46+
"costAllocation",
47+
"dataExtraction",
48+
"davis",
49+
"metricExtraction",
50+
"processing",
51+
"productAllocation",
52+
"securityContext",
53+
"smartscapeEdgeExtraction",
54+
"smartscapeNodeExtraction",
55+
"storage",
56+
}

0 commit comments

Comments
 (0)