@@ -54,6 +54,10 @@ parameters:
5454 displayName : ' Azure Tenant Id'
5555 type : string
5656
57+ - name : destroy
58+ displayName : ' Should destroy infrastructure'
59+ type : boolean
60+
5761stages :
5862 - stage : ${{ parameters.stageName }}
5963 displayName : ${{ parameters.stageName }}
@@ -93,7 +97,7 @@ stages:
9397 -backend-config="storage_account_name=$env:TF_STATE_BLOB_ACCOUNT_NAME" `
9498 -backend-config="container_name=$env:TF_STATE_BLOB_CONTAINER_NAME" `
9599 -backend-config="key=$env:TF_STATE_BLOB_FILE" `
96- -backend-config="sas_token=$env:TF_STATE_BLOB_SAS_TOKEN"
100+ -backend-config="sas_token=$env:TF_STATE_BLOB_SAS_TOKEN" -reconfigure -upgrade
97101 displayName: 'Terraform Init'
98102 workingDirectory: ${{ parameters.workingDirectory }}
99103 env:
@@ -102,15 +106,27 @@ stages:
102106 TF_STATE_BLOB_FILE: ${{ parameters.stateFile }}
103107 TF_STATE_BLOB_SAS_TOKEN: ${{ parameters.sasToken }}
104108
105- - powershell : |
106- terraform plan -var "prefix=${{ parameters.prefix }}" -out main.tfplan
107- displayName: 'Terraform Plan'
108- workingDirectory: ${{ parameters.workingDirectory }}
109- env:
110- ARM_SUBSCRIPTION_ID: ${{ parameters.subscriptionId }}
111- ARM_CLIENT_ID: ${{ parameters.clientId }}
112- ARM_CLIENT_SECRET: ${{ parameters.clientSecret }}
113- ARM_TENANT_ID: ${{ parameters.tenantId }}
109+ - ${{ if eq(parameters.destroy, false) }} :
110+ - powershell : |
111+ terraform plan -var "prefix=${{ parameters.prefix }}" -out main.tfplan
112+ displayName: 'Terraform Plan'
113+ workingDirectory: ${{ parameters.workingDirectory }}
114+ env:
115+ ARM_SUBSCRIPTION_ID: ${{ parameters.subscriptionId }}
116+ ARM_CLIENT_ID: ${{ parameters.clientId }}
117+ ARM_CLIENT_SECRET: ${{ parameters.clientSecret }}
118+ ARM_TENANT_ID: ${{ parameters.tenantId }}
119+
120+ - ${{ if eq(parameters.destroy, true) }} :
121+ - powershell : |
122+ terraform plan -destroy -var "prefix=${{ parameters.prefix }}" -out main.tfplan
123+ displayName: 'Terraform Plan'
124+ workingDirectory: ${{ parameters.workingDirectory }}
125+ env:
126+ ARM_SUBSCRIPTION_ID: ${{ parameters.subscriptionId }}
127+ ARM_CLIENT_ID: ${{ parameters.clientId }}
128+ ARM_CLIENT_SECRET: ${{ parameters.clientSecret }}
129+ ARM_TENANT_ID: ${{ parameters.tenantId }}
114130
115131 - powershell : |
116132 cp main.tfplan $(Build.ArtifactStagingDirectory)
0 commit comments