Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 17 additions & 3 deletions internal/app/cf-terraforming/cmd/custom_processing.go
Original file line number Diff line number Diff line change
Expand Up @@ -75,9 +75,9 @@ func processCustomCasesV5(response *[]interface{}, resourceType string, pathPara
delete(customCert.(map[string]interface{}), "updated_at")
}
blockPage, ok := settings.(map[string]interface{})["block_page"]
if ok {
mode := blockPage.(map[string]interface{})["mode"]
if mode.(string) == "" {
if ok && blockPage != nil {
mode, ok := blockPage.(map[string]interface{})["mode"]
if ok && mode.(string) == "" {
delete(blockPage.(map[string]interface{}), "mode")
}
}
Expand Down Expand Up @@ -390,6 +390,20 @@ func processCustomCasesV5(response *[]interface{}, resourceType string, pathPara
delete((*response)[i].(map[string]interface{}), "content")
}
}
case "cloudflare_web_analytics_site":
for i := 0; i < resourceCount; i++ {
if rs, hasRuleSet := (*response)[i].(map[string]interface{})["ruleset"]; hasRuleSet {
if enabled, ok := rs.(map[string]interface{})["enabled"]; ok {
(*response)[i].(map[string]interface{})["enabled"] = enabled
}
if zoneTag, ok := rs.(map[string]interface{})["zone_tag"]; ok {
(*response)[i].(map[string]interface{})["zone_tag"] = zoneTag
}
if lite, ok := rs.(map[string]interface{})["lite"]; ok {
(*response)[i].(map[string]interface{})["lite"] = lite
}
}
}
}
}

Expand Down
10 changes: 5 additions & 5 deletions internal/app/cf-terraforming/cmd/import.go
Original file line number Diff line number Diff line change
Expand Up @@ -725,7 +725,7 @@ func runImport() func(cmd *cobra.Command, args []string) {

importFile := hclwrite.NewEmptyFile()
importBody := importFile.Body()
for _, data := range jsonStructData {
for i, data := range jsonStructData {
var id string

if data.(map[string]interface{})["id"] == nil {
Expand All @@ -747,11 +747,11 @@ func runImport() func(cmd *cobra.Command, args []string) {
if useModernImportBlock {
idvalue := buildRawImportAddress(resourceType, id, resourceToEndpoint[resourceType]["get"])
imp := importBody.AppendNewBlock("import", []string{}).Body()
imp.SetAttributeRaw("to", hclwrite.TokensForIdentifier(fmt.Sprintf("%s.%s", resourceType, fmt.Sprintf("%s_%s", terraformResourceNamePrefix, id))))
imp.SetAttributeRaw("to", hclwrite.TokensForIdentifier(fmt.Sprintf("%s.%s", resourceType, fmt.Sprintf("%s_%d", terraformResourceNamePrefix, i))))
imp.SetAttributeValue("id", cty.StringVal(idvalue))
importFile.Body().AppendNewline()
} else {
_, _ = fmt.Fprint(cmd.OutOrStdout(), buildTerraformImportCommand(resourceType, id, resourceToEndpoint[resourceType]["get"]))
_, _ = fmt.Fprint(cmd.OutOrStdout(), buildTerraformImportCommand(i, resourceType, id, resourceToEndpoint[resourceType]["get"]))
}
}

Expand All @@ -769,9 +769,9 @@ func runImport() func(cmd *cobra.Command, args []string) {
// value that is compatible with `terraform import`.
//
// Note: `endpoint` is only used on > v4. Otherwise, it is ignored.
func buildTerraformImportCommand(resourceType, resourceID, endpoint string) string {
func buildTerraformImportCommand(i int, resourceType, resourceID, endpoint string) string {
resourceImportAddress := buildRawImportAddress(resourceType, resourceID, endpoint)
return fmt.Sprintf("%s %s.%s_%s %s\n", terraformImportCmdPrefix, resourceType, terraformResourceNamePrefix, resourceID, resourceImportAddress)
return fmt.Sprintf("%s %s.%s %s\n", terraformImportCmdPrefix, resourceType, fmt.Sprintf("%s_%d", terraformResourceNamePrefix, i), resourceImportAddress)
}

// buildRawImportAddress takes the resourceType and resourceID in order to look up
Expand Down
5 changes: 4 additions & 1 deletion testdata/cloudflare/v5/cloudflare_load_balancer_pool.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,10 @@ interactions:
"address": "example.com",
"enabled": true,
"name": "example-1",
"weight": 1
"weight": 1,
"header":{
"host": ["origin_address"]
}
}
]
},
Expand Down
7 changes: 5 additions & 2 deletions testdata/terraform/v5/cloudflare_load_balancer_pool/test.tf
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,11 @@ resource "cloudflare_load_balancer_pool" "terraform_managed_resource_0" {
origins = [{
address = "example.com"
enabled = true
name = "example-1"
weight = 1
header = {
host = ["origin_address"]
}
name = "example-1"
weight = 1
}]
}

Expand Down
3 changes: 3 additions & 0 deletions testdata/terraform/v5/cloudflare_web_analytics_site/test.tf
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
resource "cloudflare_web_analytics_site" "terraform_managed_resource" {
account_id = "f037e56e89293a057740de681ac9abbe"
auto_install = true
enabled = true
lite = false
zone_tag = "0da42c8d2132a9ddaf714f9e7c920711"
}

Loading