@@ -117,6 +117,11 @@ func resourceNsxtUpgradePrepare() *schema.Resource {
117
117
},
118
118
Computed : true ,
119
119
},
120
+ "target_version" : {
121
+ Type : schema .TypeString ,
122
+ Description : "Target system version" ,
123
+ Computed : true ,
124
+ },
120
125
},
121
126
}
122
127
}
@@ -153,32 +158,37 @@ func prepareForUpgrade(d *schema.ResourceData, m interface{}) error {
153
158
return nil
154
159
}
155
160
156
- func precheckNeeded (m interface {}) (bool , error ) {
161
+ func getSummaryInfo (m interface {}) (string , bool , error ) {
157
162
connector := getPolicyConnector (m )
158
163
summaryClient := upgrade .NewSummaryClient (connector )
159
164
summary , err := summaryClient .Get ()
160
165
if err != nil {
161
- return false , err
166
+ return "" , false , err
167
+ }
168
+ var targetVersion string
169
+ if summary .TargetVersion != nil {
170
+ targetVersion = * summary .TargetVersion
162
171
}
163
172
if summary .UpgradeCoordinatorUpdated == nil || ! (* summary .UpgradeCoordinatorUpdated ) {
164
173
log .Printf ("Upgrade coordinated is not upgraded, skip running precheck" )
165
- return false , nil
174
+ return targetVersion , false , nil
166
175
}
167
176
if summary .UpgradeStatus == nil || (* summary .UpgradeStatus ) != nsxModel .UpgradeSummary_UPGRADE_STATUS_NOT_STARTED {
168
177
log .Printf ("Upgrade process has started, skip running precheck" )
169
- return false , nil
178
+ return targetVersion , false , nil
170
179
}
171
- return true , nil
180
+ return targetVersion , true , nil
172
181
}
173
182
174
183
func resourceNsxtUpgradePrepareRead (d * schema.ResourceData , m interface {}) error {
175
184
id := d .Id ()
176
185
var err error
177
186
// Execute precheck in Read function if upload bundle has been uploaded and upgrade not started
178
- precheckNeeded , err := precheckNeeded (m )
187
+ targetVersion , precheckNeeded , err := getSummaryInfo (m )
179
188
if err != nil {
180
189
return logAPIError ("Failed to get previous precheck result" , err )
181
190
}
191
+ d .Set ("target_version" , targetVersion )
182
192
if precheckNeeded {
183
193
previousAcknowledgedPrecheckIDs , err := getAcknowledgedPrecheckIDs (m )
184
194
if err != nil {
@@ -363,9 +373,9 @@ func getPrecheckErrors(m interface{}, typeParam *string) ([]nsxModel.UpgradeChec
363
373
return resultList .Results , nil
364
374
}
365
375
366
- func setFailedPrechecksInSchema (d * schema.ResourceData , precheckErros []nsxModel.UpgradeCheckFailure ) error {
376
+ func setFailedPrechecksInSchema (d * schema.ResourceData , precheckErrors []nsxModel.UpgradeCheckFailure ) error {
367
377
var failedPrechecksList []map [string ]interface {}
368
- for _ , precheckError := range precheckErros {
378
+ for _ , precheckError := range precheckErrors {
369
379
elem := make (map [string ]interface {})
370
380
elem ["id" ] = precheckError .Id
371
381
elem ["message" ] = precheckError .Message .Message
0 commit comments