mirror of
https://github.com/SAP/jenkins-library.git
synced 2024-12-14 11:03:09 +02:00
f16a6beb19
Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>
87 lines
2.4 KiB
YAML
87 lines
2.4 KiB
YAML
metadata:
|
|
name: terraformExecute
|
|
description: Executes Terraform
|
|
longDescription: |
|
|
This step executes the terraform binary with the given command, and is able to fetch additional variables from vault.
|
|
spec:
|
|
inputs:
|
|
secrets:
|
|
- name: cliConfigFileCredentialsId
|
|
description: Jenkins 'Secret file' credentials ID containing terraform CLI configuration. You can find more details about it in the [Terraform documentation](https://www.terraform.io/docs/cli/config/config-file.html#credentials).
|
|
type: jenkins
|
|
params:
|
|
- name: command
|
|
type: string
|
|
scope:
|
|
- PARAMETERS
|
|
- STAGES
|
|
- STEPS
|
|
default: plan
|
|
- name: terraformSecrets
|
|
scope:
|
|
- PARAMETERS
|
|
- STAGES
|
|
- STEPS
|
|
type: string
|
|
resourceRef:
|
|
- type: vaultSecretFile
|
|
name: terraformFileVaultSecretName
|
|
default: terraform
|
|
- name: globalOptions
|
|
type: "[]string"
|
|
scope:
|
|
- PARAMETERS
|
|
- STAGES
|
|
- STEPS
|
|
- name: additionalArgs
|
|
type: "[]string"
|
|
scope:
|
|
- PARAMETERS
|
|
- STAGES
|
|
- STEPS
|
|
- name: init
|
|
type: bool
|
|
descriptions: Executes terraform init prior to the configured command.
|
|
scope:
|
|
- PARAMETERS
|
|
- STAGES
|
|
- STEPS
|
|
default: false
|
|
- name: cliConfigFile
|
|
type: string
|
|
description: Path to the terraform CLI configuration file (https://www.terraform.io/docs/cli/config/config-file.html#credentials).
|
|
scope:
|
|
- PARAMETERS
|
|
- STAGES
|
|
- STEPS
|
|
secret: true
|
|
resourceRef:
|
|
- name: cliConfigFileCredentialsId
|
|
type: secret
|
|
- type: vaultSecretFile
|
|
name: cliConfigFileVaultSecretName
|
|
default: terraform
|
|
- name: workspace
|
|
type: string
|
|
descriptions: Name of the terraform workspace to operate on.
|
|
scope:
|
|
- PARAMETERS
|
|
- STAGES
|
|
- STEPS
|
|
containers:
|
|
- name: terraform
|
|
image: hashicorp/terraform:1.0.10
|
|
options:
|
|
- name: --entrypoint
|
|
value: ''
|
|
env:
|
|
- name: TF_IN_AUTOMATION
|
|
value: piper
|
|
outputs:
|
|
resources:
|
|
- name: commonPipelineEnvironment
|
|
type: piperEnvironment
|
|
params:
|
|
- name: custom/terraformOutputs
|
|
type: 'map[string]interface{}'
|