| 259 | } |
| 260 | |
| 261 | func fetchImportData(ctx context.Context, cli *cli, fetchers ...resourceDataFetcher) (importDataList, error) { |
| 262 | var importData importDataList |
| 263 | |
| 264 | for _, fetcher := range fetchers { |
| 265 | data, err := fetcher.FetchData(ctx) |
| 266 | if err != nil { |
| 267 | // Checking for the forbidden scenario and skip. |
| 268 | if strings.Contains(err.Error(), "403 Forbidden") { |
| 269 | cli.renderer.Warnf("Skipping resource due to forbidden access: %s", err.Error()) |
| 270 | continue |
| 271 | } |
| 272 | |
| 273 | if strings.Contains(err.Error(), "402 Payment Required") { |
| 274 | cli.renderer.Warnf("Skipping resource due to payment required: %s", err.Error()) |
| 275 | continue |
| 276 | } |
| 277 | |
| 278 | return nil, err |
| 279 | } |
| 280 | |
| 281 | importData = append(importData, data...) |
| 282 | } |
| 283 | |
| 284 | return deduplicateResourceNames(importData), nil |
| 285 | } |
| 286 | |
| 287 | func generateTerraformImportConfig(inputs *terraformInputs, data importDataList) error { |
| 288 | if len(data) == 0 { |