Skip to content

Commit 5300ac9

Browse files
authored
feat:[IAC-3673]: adding Iacm TG step (#593)
* feat:[IAC-3673]: adding Iacm TG step * feat:[IAC-3673]: adding Iacm TG step
1 parent 687d6d2 commit 5300ac9

10 files changed

+918
-0
lines changed

v0/pipeline.json

Lines changed: 170 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30739,6 +30739,174 @@
3073930739
}
3074030740
}
3074130741
}
30742+
},
30743+
"IACMTerragruntPluginStepNode" : {
30744+
"title" : "IACMTerragruntPluginStepNode",
30745+
"type" : "object",
30746+
"required" : [ "identifier", "name", "spec", "type" ],
30747+
"properties" : {
30748+
"description" : {
30749+
"type" : "string",
30750+
"desc" : "This is the description for IACMTerragruntPluginStepNode"
30751+
},
30752+
"enforce" : {
30753+
"$ref" : "#/definitions/pipeline/common/PolicyConfig"
30754+
},
30755+
"failureStrategies" : {
30756+
"oneOf" : [ {
30757+
"type" : "array",
30758+
"items" : {
30759+
"$ref" : "#/definitions/pipeline/common/FailureStrategyConfig"
30760+
}
30761+
}, {
30762+
"type" : "string",
30763+
"pattern" : "^<\\+input>$",
30764+
"minLength" : 1
30765+
} ]
30766+
},
30767+
"identifier" : {
30768+
"type" : "string",
30769+
"pattern" : "^[a-zA-Z_][0-9a-zA-Z_]{0,127}$"
30770+
},
30771+
"name" : {
30772+
"type" : "string",
30773+
"pattern" : "^[a-zA-Z_0-9-.][-0-9a-zA-Z_\\s.]{0,127}$"
30774+
},
30775+
"strategy" : {
30776+
"oneOf" : [ {
30777+
"$ref" : "#/definitions/pipeline/common/StrategyConfig"
30778+
}, {
30779+
"type" : "string",
30780+
"pattern" : "^<\\+input>$",
30781+
"minLength" : 1
30782+
} ]
30783+
},
30784+
"timeout" : {
30785+
"type" : "string",
30786+
"pattern" : "^(([1-9])+\\d+[s])|(((([1-9])+\\d*[mhwd])+(\\s?\\d+[smhwd])*)|(.*<\\+.*>(?!.*\\.executionInput\\(\\)).*)|(^$))$"
30787+
},
30788+
"type" : {
30789+
"type" : "string",
30790+
"enum" : [ "IACMTerragruntPlugin" ]
30791+
},
30792+
"when" : {
30793+
"oneOf" : [ {
30794+
"$ref" : "#/definitions/pipeline/common/StepWhenCondition"
30795+
}, {
30796+
"type" : "string",
30797+
"pattern" : "^<\\+input>$",
30798+
"minLength" : 1
30799+
} ]
30800+
}
30801+
},
30802+
"$schema" : "http://json-schema.org/draft-07/schema#",
30803+
"allOf" : [ {
30804+
"if" : {
30805+
"properties" : {
30806+
"type" : {
30807+
"const" : "IACMTerragruntPlugin"
30808+
}
30809+
}
30810+
},
30811+
"then" : {
30812+
"properties" : {
30813+
"spec" : {
30814+
"$ref" : "#/definitions/pipeline/steps/iacm/IACMTerragruntPluginInfo"
30815+
}
30816+
}
30817+
}
30818+
} ]
30819+
},
30820+
"IACMTerragruntPluginInfo" : {
30821+
"title" : "IACMTerragruntPluginInfo",
30822+
"allOf" : [ {
30823+
"$ref" : "#/definitions/pipeline/common/StepSpecType"
30824+
}, {
30825+
"type" : "object",
30826+
"required" : [ "command" ],
30827+
"properties" : {
30828+
"command" : {
30829+
"type" : "string"
30830+
},
30831+
"image" : {
30832+
"type" : "string"
30833+
},
30834+
"resources" : {
30835+
"$ref" : "#/definitions/pipeline/common/ContainerResource"
30836+
},
30837+
"target" : {
30838+
"oneOf" : [ {
30839+
"type" : "array",
30840+
"items" : {
30841+
"type" : "string"
30842+
}
30843+
}, {
30844+
"type" : "string",
30845+
"pattern" : "^<\\+input>((\\.)((executionInput\\(\\))|(allowedValues|default|regex)\\(.+?\\)))*$",
30846+
"minLength" : 1
30847+
} ]
30848+
},
30849+
"replace" : {
30850+
"oneOf" : [ {
30851+
"type" : "array",
30852+
"items" : {
30853+
"type" : "string"
30854+
}
30855+
}, {
30856+
"type" : "string",
30857+
"pattern" : "^<\\+input>((\\.)((executionInput\\(\\))|(allowedValues|default|regex)\\(.+?\\)))*$",
30858+
"minLength" : 1
30859+
} ]
30860+
},
30861+
"import" : {
30862+
"oneOf" : [ {
30863+
"type" : "array",
30864+
"items" : {
30865+
"$ref" : "#/definitions/pipeline/steps/iacm/ImportCommandParameterField"
30866+
}
30867+
}, {
30868+
"type" : "string",
30869+
"pattern" : "^<\\+input>((\\.)((executionInput\\(\\))|(allowedValues|default|regex)\\(.+?\\)))*$",
30870+
"minLength" : 1
30871+
} ]
30872+
}
30873+
}
30874+
} ],
30875+
"$schema" : "http://json-schema.org/draft-07/schema#",
30876+
"type" : "object",
30877+
"required" : [ "command" ],
30878+
"properties" : {
30879+
"command" : {
30880+
"type" : "string"
30881+
},
30882+
"image" : {
30883+
"type" : "string"
30884+
},
30885+
"description" : {
30886+
"desc" : "This is the description for IACMTerragruntPluginInfo"
30887+
},
30888+
"resources" : {
30889+
"$ref" : "#/definitions/pipeline/common/ContainerResource"
30890+
},
30891+
"target" : {
30892+
"type" : "array",
30893+
"items" : {
30894+
"type" : "string"
30895+
}
30896+
},
30897+
"replace" : {
30898+
"type" : "array",
30899+
"items" : {
30900+
"type" : "string"
30901+
}
30902+
},
30903+
"import" : {
30904+
"type" : "array",
30905+
"items" : {
30906+
"$ref" : "#/definitions/pipeline/steps/iacm/ImportCommandParameterField"
30907+
}
30908+
}
30909+
}
3074230910
}
3074330911
},
3074430912
"cd" : {
@@ -61595,6 +61763,8 @@
6159561763
"$ref" : "#/definitions/pipeline/steps/common/SnykScanNode"
6159661764
}, {
6159761765
"$ref" : "#/definitions/pipeline/steps/iacm/IACMModuleTestPluginStepNode"
61766+
}, {
61767+
"$ref" : "#/definitions/pipeline/steps/iacm/IACMTerragruntPluginStepNode"
6159861768
} ]
6159961769
},
6160061770
"description" : {

v0/pipeline/stages/iacm/execution-wrapper-config.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ properties:
2626
- $ref: ../../steps/common/checkov-scan-node.yaml
2727
- $ref: ../../steps/common/snyk-scan-node.yaml
2828
- $ref: ../../steps/iacm/iacmmoduletest-plugin-step-node.yaml
29+
- $ref: ../../steps/iacm/iacmterragrunt-plugin-step-node.yaml
2930

3031
description:
3132
desc: This is the description for ExecutionWrapperConfig
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
title: IACMTerragruntPluginInfo
2+
allOf:
3+
- $ref: ../../common/step-spec-type.yaml
4+
- type: object
5+
required:
6+
- command
7+
properties:
8+
command:
9+
type: string
10+
image:
11+
type: string
12+
resources:
13+
$ref: ../../common/container-resource.yaml
14+
target:
15+
oneOf:
16+
- type: array
17+
items:
18+
type: string
19+
- type: string
20+
pattern: ^<\+input>((\.)((executionInput\(\))|(allowedValues|default|regex)\(.+?\)))*$
21+
minLength: 1
22+
replace:
23+
oneOf:
24+
- type: array
25+
items:
26+
type: string
27+
- type: string
28+
pattern: ^<\+input>((\.)((executionInput\(\))|(allowedValues|default|regex)\(.+?\)))*$
29+
minLength: 1
30+
import:
31+
oneOf:
32+
- type: array
33+
items:
34+
$ref: ./iacm-import-command-parameter.yaml
35+
- type: string
36+
pattern: ^<\+input>((\.)((executionInput\(\))|(allowedValues|default|regex)\(.+?\)))*$
37+
minLength: 1
38+
$schema: http://json-schema.org/draft-07/schema#
39+
type: object
40+
required:
41+
- command
42+
properties:
43+
command:
44+
type: string
45+
image:
46+
type: string
47+
description:
48+
desc: This is the description for IACMTerragruntPluginInfo
49+
resources:
50+
$ref: ../../common/container-resource.yaml
51+
target:
52+
type: array
53+
items:
54+
type: string
55+
replace:
56+
type: array
57+
items:
58+
type: string
59+
import:
60+
type: array
61+
items:
62+
$ref: ./iacm-import-command-parameter.yaml
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
title: IACMTerragruntPluginStepNode
2+
type: object
3+
required:
4+
- identifier
5+
- name
6+
- spec
7+
- type
8+
properties:
9+
description:
10+
type: string
11+
desc: This is the description for IACMTerragruntPluginStepNode
12+
enforce:
13+
$ref: ../../common/policy-config.yaml
14+
failureStrategies:
15+
oneOf:
16+
- type: array
17+
items:
18+
$ref: ../../common/failure-strategy-config.yaml
19+
- type: string
20+
pattern: ^<\+input>$
21+
minLength: 1
22+
identifier:
23+
type: string
24+
pattern: ^[a-zA-Z_][0-9a-zA-Z_]{0,127}$
25+
name:
26+
type: string
27+
pattern: ^[a-zA-Z_0-9-.][-0-9a-zA-Z_\s.]{0,127}$
28+
strategy:
29+
oneOf:
30+
- $ref: ../../common/strategy-config.yaml
31+
- type: string
32+
pattern: ^<\+input>$
33+
minLength: 1
34+
timeout:
35+
type: string
36+
pattern: ^(([1-9])+\d+[s])|(((([1-9])+\d*[mhwd])+(\s?\d+[smhwd])*)|(.*<\+.*>(?!.*\.executionInput\(\)).*)|(^$))$
37+
type:
38+
type: string
39+
enum:
40+
- IACMTerragruntPlugin
41+
when:
42+
oneOf:
43+
- $ref: ../../common/step-when-condition.yaml
44+
- type: string
45+
pattern: ^<\+input>$
46+
minLength: 1
47+
$schema: http://json-schema.org/draft-07/schema#
48+
allOf:
49+
- if:
50+
properties:
51+
type:
52+
const: IACMTerragruntPlugin
53+
then:
54+
properties:
55+
spec:
56+
$ref: iacmterragrunt-plugin-info.yaml

0 commit comments

Comments
 (0)