Skip to content

Commit 3b5986b

Browse files
Add script field in cloud build trigger (#6701) (#12841)
* added_support_for_script_attr * added script field in tests * fixing the tests Signed-off-by: Modular Magician <[email protected]> Signed-off-by: Modular Magician <[email protected]>
1 parent 3069f75 commit 3b5986b

File tree

4 files changed

+40
-0
lines changed

4 files changed

+40
-0
lines changed

.changelog/6701.txt

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:enhancement
2+
cloudbuild: added `script` field to `google_cloudbuild_trigger` resource
3+
```

google/resource_cloudbuild_trigger.go

+22
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,12 @@ The elements are of the form "KEY=VALUE" for the environment variable
201201
Optional: true,
202202
Description: `Unique identifier for this build step, used in 'wait_for' to
203203
reference this build step as a dependency.`,
204+
},
205+
"script": {
206+
Type: schema.TypeString,
207+
Optional: true,
208+
Description: `A shell script to be executed in the step.
209+
When script is provided, the user cannot specify the entrypoint or args.`,
204210
},
205211
"secret_env": {
206212
Type: schema.TypeList,
@@ -2172,6 +2178,7 @@ func flattenCloudBuildTriggerBuildStep(v interface{}, d *schema.ResourceData, co
21722178
"timing": flattenCloudBuildTriggerBuildStepTiming(original["timing"], d, config),
21732179
"volumes": flattenCloudBuildTriggerBuildStepVolumes(original["volumes"], d, config),
21742180
"wait_for": flattenCloudBuildTriggerBuildStepWaitFor(original["waitFor"], d, config),
2181+
"script": flattenCloudBuildTriggerBuildStepScript(original["script"], d, config),
21752182
})
21762183
}
21772184
return transformed
@@ -2243,6 +2250,10 @@ func flattenCloudBuildTriggerBuildStepWaitFor(v interface{}, d *schema.ResourceD
22432250
return v
22442251
}
22452252

2253+
func flattenCloudBuildTriggerBuildStepScript(v interface{}, d *schema.ResourceData, config *Config) interface{} {
2254+
return v
2255+
}
2256+
22462257
func flattenCloudBuildTriggerBuildArtifacts(v interface{}, d *schema.ResourceData, config *Config) interface{} {
22472258
if v == nil {
22482259
return nil
@@ -3413,6 +3424,13 @@ func expandCloudBuildTriggerBuildStep(v interface{}, d TerraformResourceData, co
34133424
transformed["waitFor"] = transformedWaitFor
34143425
}
34153426

3427+
transformedScript, err := expandCloudBuildTriggerBuildStepScript(original["script"], d, config)
3428+
if err != nil {
3429+
return nil, err
3430+
} else if val := reflect.ValueOf(transformedScript); val.IsValid() && !isEmptyValue(val) {
3431+
transformed["script"] = transformedScript
3432+
}
3433+
34163434
req = append(req, transformed)
34173435
}
34183436
return req, nil
@@ -3495,6 +3513,10 @@ func expandCloudBuildTriggerBuildStepWaitFor(v interface{}, d TerraformResourceD
34953513
return v, nil
34963514
}
34973515

3516+
func expandCloudBuildTriggerBuildStepScript(v interface{}, d TerraformResourceData, config *Config) (interface{}, error) {
3517+
return v, nil
3518+
}
3519+
34983520
func expandCloudBuildTriggerBuildArtifacts(v interface{}, d TerraformResourceData, config *Config) (interface{}, error) {
34993521
l := v.([]interface{})
35003522
if len(l) == 0 || l[0] == nil {

google/resource_cloudbuild_trigger_generated_test.go

+5
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,11 @@ resource "google_cloudbuild_trigger" "build-trigger" {
111111
secret_env = ["MY_SECRET"]
112112
}
113113
114+
step {
115+
name = "ubuntu"
116+
script = "echo hello" # using script field
117+
}
118+
114119
source {
115120
storage_source {
116121
bucket = "mybucket"

website/docs/r/cloudbuild_trigger.html.markdown

+10
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,11 @@ resource "google_cloudbuild_trigger" "build-trigger" {
8181
secret_env = ["MY_SECRET"]
8282
}
8383
84+
step {
85+
name = "ubuntu"
86+
script = "echo hello" # using script field
87+
}
88+
8489
source {
8590
storage_source {
8691
bucket = "mybucket"
@@ -908,6 +913,11 @@ The following arguments are supported:
908913
will start when all previous build steps in the `Build.Steps` list
909914
have completed successfully.
910915

916+
* `script` -
917+
(Optional)
918+
A shell script to be executed in the step.
919+
When script is provided, the user cannot specify the entrypoint or args.
920+
911921

912922
<a name="nested_volumes"></a>The `volumes` block supports:
913923

0 commit comments

Comments
 (0)