Skip to content

Instantly share code, notes, and snippets.

@harsh-98
Created April 9, 2019 05:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save harsh-98/98560316475356a486b288ecf0bed4a8 to your computer and use it in GitHub Desktop.
Save harsh-98/98560316475356a486b288ecf0bed4a8 to your computer and use it in GitHub Desktop.
Jsonschema generator for cloudflare
package main
import (
"github.com/hashicorp/terraform/helper/schema"
tf "github.com/hashicorp/terraform/terraform"
cloudflare "github.com/terraform-providers/terraform-provider-cloudflare/cloudflare"
"encoding/json"
"fmt"
"os"
"path/filepath"
"reflect"
)
// ExportSchema should be called to export the structure
// of the provider.
func Export(p *schema.Provider) *ResourceProviderSchema {
result := new(ResourceProviderSchema)
result.Name = "cloudflare"
result.Type = "provider"
result.Version = "v1.12.0"
result.Provider = schemaMap(p.Schema).Export()
result.Resources = make(map[string]SchemaInfo)
result.DataSources = make(map[string]SchemaInfo)
for k, r := range p.ResourcesMap {
result.Resources[k] = ExportResource(r)
}
for k, ds := range p.DataSourcesMap {
result.DataSources[k] = ExportResource(ds)
}
return result
}
func ExportResource(r *schema.Resource) SchemaInfo {
return schemaMap(r.Schema).Export()
}
// schemaMap is a wrapper that adds nice functions on top of schemas.
type schemaMap map[string]*schema.Schema
// Export exports the format of this schema.
func (m schemaMap) Export() SchemaInfo {
result := make(SchemaInfo)
for k, v := range m {
item := export(v)
result[k] = item
}
return result
}
func export(v *schema.Schema) SchemaDefinition {
item := SchemaDefinition{}
item.Type = fmt.Sprintf("%s", v.Type)
item.Optional = v.Optional
item.Required = v.Required
item.Description = v.Description
item.InputDefault = v.InputDefault
item.Computed = v.Computed
item.MaxItems = v.MaxItems
item.MinItems = v.MinItems
item.PromoteSingle = v.PromoteSingle
item.ComputedWhen = v.ComputedWhen
item.ConflictsWith = v.ConflictsWith
item.Deprecated = v.Deprecated
item.Removed = v.Removed
if v.Elem != nil {
item.Elem = exportValue(v.Elem, fmt.Sprintf("%T", v.Elem))
}
// TODO: Find better solution
if defValue, err := v.DefaultValue(); err == nil && defValue != nil && !reflect.DeepEqual(defValue, v.Default) {
item.Default = exportValue(defValue, fmt.Sprintf("%T", defValue))
}
return item
}
func exportValue(value interface{}, t string) SchemaElement {
s2, ok := value.(*schema.Schema)
if ok {
return SchemaElement{Type: "SchemaElements", ElementsType: fmt.Sprintf("%s", s2.Type)}
}
r2, ok := value.(*schema.Resource)
if ok {
return SchemaElement{Type: "SchemaInfo", Info: ExportResource(r2)}
}
return SchemaElement{Type: t, Value: fmt.Sprintf("%v", value)}
}
func Generate(provider *schema.Provider, name string, outputPath string) {
outputFilePath := filepath.Join(outputPath, fmt.Sprintf("%s.json", name))
if err := DoGenerate(provider, name, outputFilePath); err != nil {
fmt.Fprintln(os.Stderr, "Error: ", err.Error())
os.Exit(255)
}
}
func DoGenerate(provider *schema.Provider, providerName string, outputFilePath string) error {
providerJson, err := json.MarshalIndent(Export(provider), "", " ")
if err != nil {
return err
}
file, err := os.Create(outputFilePath)
if err != nil {
return err
}
defer file.Close()
_, err = file.Write(providerJson)
if err != nil {
return err
}
return file.Sync()
}
type SchemaElement struct {
// One of ValueType or "SchemaElements" or "SchemaInfo"
Type string `json:",omitempty"`
// Set for simple types (from ValueType)
Value string `json:",omitempty"`
// Set if Type == "SchemaElements"
ElementsType string `json:",omitempty"`
// Set if Type == "SchemaInfo"
Info SchemaInfo `json:",omitempty"`
}
type SchemaDefinition struct {
Type string `json:",omitempty"`
Optional bool `json:",omitempty"`
Required bool `json:",omitempty"`
Description string `json:",omitempty"`
InputDefault string `json:",omitempty"`
Computed bool `json:",omitempty"`
MaxItems int `json:",omitempty"`
MinItems int `json:",omitempty"`
PromoteSingle bool `json:",omitempty"`
ComputedWhen []string `json:",omitempty"`
ConflictsWith []string `json:",omitempty"`
Deprecated string `json:",omitempty"`
Removed string `json:",omitempty"`
Default SchemaElement `json:",omitempty"`
Elem SchemaElement `json:",omitempty"`
}
type SchemaInfo map[string]SchemaDefinition
// ResourceProviderSchema
type ResourceProviderSchema struct {
Name string `json:"name"`
Type string `json:"type"`
Version string `json:"version"`
Provider SchemaInfo `json:"provider"`
Resources map[string]SchemaInfo `json:"resources"`
DataSources map[string]SchemaInfo `json:"data-sources"`
}
func main() {
var provider tf.ResourceProvider
provider = cloudflare.Provider()
Generate(provider.(*schema.Provider), "cloudflare", "/mnt/username/godir/src/code/schemas")
}
{
"name": "cloudflare",
"type": "provider",
"version": "v1.12.0",
"provider": {
"api_client_logging": {
"Type": "TypeBool",
"Optional": true,
"Description": "Whether to print logs from the API client (using the default log library logger)",
"Default": {
"Type": "bool",
"Value": "false"
},
"Elem": {}
},
"email": {
"Type": "TypeString",
"Required": true,
"Description": "A registered Cloudflare email address.",
"Default": {},
"Elem": {}
},
"max_backoff": {
"Type": "TypeInt",
"Optional": true,
"Description": "Maximum backoff period in seconds after failed API calls",
"Default": {
"Type": "int",
"Value": "30"
},
"Elem": {}
},
"min_backoff": {
"Type": "TypeInt",
"Optional": true,
"Description": "Minimum backoff period in seconds after failed API calls",
"Default": {
"Type": "int",
"Value": "1"
},
"Elem": {}
},
"org_id": {
"Type": "TypeString",
"Optional": true,
"Description": "Configure API client to always use that organization. If set this will override 'user_owner_from_zone'",
"Default": {},
"Elem": {}
},
"retries": {
"Type": "TypeInt",
"Optional": true,
"Description": "Maximum number of retries to perform when an API request fails",
"Default": {
"Type": "int",
"Value": "3"
},
"Elem": {}
},
"rps": {
"Type": "TypeInt",
"Optional": true,
"Description": "RPS limit to apply when making calls to the API",
"Default": {
"Type": "int",
"Value": "4"
},
"Elem": {}
},
"token": {
"Type": "TypeString",
"Required": true,
"Description": "The token key for API operations.",
"Default": {},
"Elem": {}
},
"use_org_from_zone": {
"Type": "TypeString",
"Optional": true,
"Description": "If specified zone is owned by an organization, configure API client to always use that organization",
"Default": {},
"Elem": {}
}
},
"resources": {
"cloudflare_access_application": {
"aud": {
"Type": "TypeString",
"Computed": true,
"Default": {},
"Elem": {}
},
"domain": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"name": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"session_duration": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"zone_id": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
}
},
"cloudflare_access_policy": {
"application_id": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"decision": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"exclude": {
"Type": "TypeList",
"Optional": true,
"Default": {},
"Elem": {
"Type": "SchemaInfo",
"Info": {
"email": {
"Type": "TypeList",
"Optional": true,
"Default": {},
"Elem": {
"Type": "SchemaElements",
"ElementsType": "TypeString"
}
},
"email_domain": {
"Type": "TypeList",
"Optional": true,
"Default": {},
"Elem": {
"Type": "SchemaElements",
"ElementsType": "TypeString"
}
},
"everyone": {
"Type": "TypeBool",
"Optional": true,
"Default": {},
"Elem": {}
},
"ip": {
"Type": "TypeList",
"Optional": true,
"Default": {},
"Elem": {
"Type": "SchemaElements",
"ElementsType": "TypeString"
}
}
}
}
},
"include": {
"Type": "TypeList",
"Required": true,
"Default": {},
"Elem": {
"Type": "SchemaInfo",
"Info": {
"email": {
"Type": "TypeList",
"Optional": true,
"Default": {},
"Elem": {
"Type": "SchemaElements",
"ElementsType": "TypeString"
}
},
"email_domain": {
"Type": "TypeList",
"Optional": true,
"Default": {},
"Elem": {
"Type": "SchemaElements",
"ElementsType": "TypeString"
}
},
"everyone": {
"Type": "TypeBool",
"Optional": true,
"Default": {},
"Elem": {}
},
"ip": {
"Type": "TypeList",
"Optional": true,
"Default": {},
"Elem": {
"Type": "SchemaElements",
"ElementsType": "TypeString"
}
}
}
}
},
"name": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"precedence": {
"Type": "TypeInt",
"Optional": true,
"Default": {},
"Elem": {}
},
"require": {
"Type": "TypeList",
"Optional": true,
"Default": {},
"Elem": {
"Type": "SchemaInfo",
"Info": {
"email": {
"Type": "TypeList",
"Optional": true,
"Default": {},
"Elem": {
"Type": "SchemaElements",
"ElementsType": "TypeString"
}
},
"email_domain": {
"Type": "TypeList",
"Optional": true,
"Default": {},
"Elem": {
"Type": "SchemaElements",
"ElementsType": "TypeString"
}
},
"everyone": {
"Type": "TypeBool",
"Optional": true,
"Default": {},
"Elem": {}
},
"ip": {
"Type": "TypeList",
"Optional": true,
"Default": {},
"Elem": {
"Type": "SchemaElements",
"ElementsType": "TypeString"
}
}
}
}
},
"zone_id": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
}
},
"cloudflare_access_rule": {
"configuration": {
"Type": "TypeMap",
"Required": true,
"Default": {},
"Elem": {
"Type": "SchemaInfo",
"Info": {
"target": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"value": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
}
}
}
},
"mode": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"notes": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"zone": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"zone_id": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
}
},
"cloudflare_account_member": {
"email_address": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"role_ids": {
"Type": "TypeList",
"Required": true,
"Default": {},
"Elem": {
"Type": "SchemaElements",
"ElementsType": "TypeString"
}
}
},
"cloudflare_custom_pages": {
"account_id": {
"Type": "TypeString",
"Optional": true,
"ConflictsWith": [
"zone_id"
],
"Default": {},
"Elem": {}
},
"state": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"type": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"url": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"zone_id": {
"Type": "TypeString",
"Optional": true,
"ConflictsWith": [
"account_id"
],
"Default": {},
"Elem": {}
}
},
"cloudflare_filter": {
"description": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"expression": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"paused": {
"Type": "TypeBool",
"Optional": true,
"Default": {},
"Elem": {}
},
"ref": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"zone": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"zone_id": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
}
},
"cloudflare_firewall_rule": {
"action": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"description": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"filter_id": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"paused": {
"Type": "TypeBool",
"Optional": true,
"Default": {},
"Elem": {}
},
"priority": {
"Type": "TypeInt",
"Optional": true,
"Default": {},
"Elem": {}
},
"zone": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"zone_id": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
}
},
"cloudflare_load_balancer": {
"created_on": {
"Type": "TypeString",
"Computed": true,
"Default": {},
"Elem": {}
},
"default_pool_ids": {
"Type": "TypeList",
"Required": true,
"MinItems": 1,
"Default": {},
"Elem": {
"Type": "SchemaElements",
"ElementsType": "TypeString"
}
},
"description": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"enabled": {
"Type": "TypeBool",
"Optional": true,
"Default": {},
"Elem": {}
},
"fallback_pool_id": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"modified_on": {
"Type": "TypeString",
"Computed": true,
"Default": {},
"Elem": {}
},
"name": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"pop_pools": {
"Type": "TypeSet",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {
"Type": "SchemaInfo",
"Info": {
"pool_ids": {
"Type": "TypeList",
"Required": true,
"Default": {},
"Elem": {
"Type": "SchemaElements",
"ElementsType": "TypeString"
}
},
"pop": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
}
}
}
},
"proxied": {
"Type": "TypeBool",
"Optional": true,
"ConflictsWith": [
"ttl"
],
"Default": {},
"Elem": {}
},
"region_pools": {
"Type": "TypeSet",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {
"Type": "SchemaInfo",
"Info": {
"pool_ids": {
"Type": "TypeList",
"Required": true,
"Default": {},
"Elem": {
"Type": "SchemaElements",
"ElementsType": "TypeString"
}
},
"region": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
}
}
}
},
"session_affinity": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"steering_policy": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"ttl": {
"Type": "TypeInt",
"Optional": true,
"Computed": true,
"ConflictsWith": [
"proxied"
],
"Default": {},
"Elem": {}
},
"zone": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"zone_id": {
"Type": "TypeString",
"Computed": true,
"Default": {},
"Elem": {}
}
},
"cloudflare_load_balancer_monitor": {
"allow_insecure": {
"Type": "TypeBool",
"Optional": true,
"Default": {},
"Elem": {}
},
"created_on": {
"Type": "TypeString",
"Computed": true,
"Default": {},
"Elem": {}
},
"description": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"expected_body": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"expected_codes": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"follow_redirects": {
"Type": "TypeBool",
"Optional": true,
"Default": {},
"Elem": {}
},
"header": {
"Type": "TypeSet",
"Optional": true,
"Default": {},
"Elem": {
"Type": "SchemaInfo",
"Info": {
"header": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"values": {
"Type": "TypeSet",
"Required": true,
"Default": {},
"Elem": {
"Type": "SchemaElements",
"ElementsType": "TypeString"
}
}
}
}
},
"interval": {
"Type": "TypeInt",
"Optional": true,
"Default": {},
"Elem": {}
},
"method": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"modified_on": {
"Type": "TypeString",
"Computed": true,
"Default": {},
"Elem": {}
},
"path": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"port": {
"Type": "TypeInt",
"Optional": true,
"Default": {},
"Elem": {}
},
"retries": {
"Type": "TypeInt",
"Optional": true,
"Default": {},
"Elem": {}
},
"timeout": {
"Type": "TypeInt",
"Optional": true,
"Default": {},
"Elem": {}
},
"type": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
}
},
"cloudflare_load_balancer_pool": {
"check_regions": {
"Type": "TypeSet",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {
"Type": "SchemaElements",
"ElementsType": "TypeString"
}
},
"created_on": {
"Type": "TypeString",
"Computed": true,
"Default": {},
"Elem": {}
},
"description": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"enabled": {
"Type": "TypeBool",
"Optional": true,
"Default": {},
"Elem": {}
},
"minimum_origins": {
"Type": "TypeInt",
"Optional": true,
"Default": {},
"Elem": {}
},
"modified_on": {
"Type": "TypeString",
"Computed": true,
"Default": {},
"Elem": {}
},
"monitor": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"name": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"notification_email": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"origins": {
"Type": "TypeSet",
"Required": true,
"Default": {},
"Elem": {
"Type": "SchemaInfo",
"Info": {
"address": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {
"Type": "SchemaElements",
"ElementsType": "TypeString"
}
},
"enabled": {
"Type": "TypeBool",
"Optional": true,
"Default": {},
"Elem": {}
},
"name": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"weight": {
"Type": "TypeFloat",
"Optional": true,
"Default": {},
"Elem": {}
}
}
}
}
},
"cloudflare_page_rule": {
"actions": {
"Type": "TypeList",
"Required": true,
"MaxItems": 1,
"MinItems": 1,
"Default": {},
"Elem": {
"Type": "SchemaInfo",
"Info": {
"always_online": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"always_use_https": {
"Type": "TypeBool",
"Optional": true,
"Default": {},
"Elem": {}
},
"automatic_https_rewrites": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"browser_cache_ttl": {
"Type": "TypeInt",
"Optional": true,
"Default": {},
"Elem": {}
},
"browser_check": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"bypass_cache_on_cookie": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"cache_by_device_type": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"cache_deception_armor": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"cache_level": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"cache_on_cookie": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"disable_apps": {
"Type": "TypeBool",
"Optional": true,
"Default": {},
"Elem": {}
},
"disable_performance": {
"Type": "TypeBool",
"Optional": true,
"Default": {},
"Elem": {}
},
"disable_railgun": {
"Type": "TypeBool",
"Optional": true,
"Default": {},
"Elem": {}
},
"disable_security": {
"Type": "TypeBool",
"Optional": true,
"Default": {},
"Elem": {}
},
"edge_cache_ttl": {
"Type": "TypeInt",
"Optional": true,
"Default": {},
"Elem": {}
},
"email_obfuscation": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"explicit_cache_control": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"forwarding_url": {
"Type": "TypeList",
"Optional": true,
"MaxItems": 1,
"MinItems": 1,
"Default": {},
"Elem": {
"Type": "SchemaInfo",
"Info": {
"status_code": {
"Type": "TypeInt",
"Required": true,
"Default": {},
"Elem": {}
},
"url": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
}
}
}
},
"host_header_override": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"ip_geolocation": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"mirage": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"opportunistic_encryption": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"origin_error_page_pass_thru": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"polish": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"resolve_override": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"respect_strong_etag": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"response_buffering": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"rocket_loader": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"security_level": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"server_side_exclude": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"sort_query_string_for_cache": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"ssl": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"true_client_ip_header": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"waf": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
}
}
}
},
"priority": {
"Type": "TypeInt",
"Optional": true,
"Default": {},
"Elem": {}
},
"status": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"target": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"zone": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"zone_id": {
"Type": "TypeString",
"Computed": true,
"Default": {},
"Elem": {}
}
},
"cloudflare_rate_limit": {
"action": {
"Type": "TypeList",
"Required": true,
"MaxItems": 1,
"MinItems": 1,
"Default": {},
"Elem": {
"Type": "SchemaInfo",
"Info": {
"mode": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"response": {
"Type": "TypeList",
"Optional": true,
"MaxItems": 1,
"MinItems": 1,
"Default": {},
"Elem": {
"Type": "SchemaInfo",
"Info": {
"body": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"content_type": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
}
}
}
},
"timeout": {
"Type": "TypeInt",
"Optional": true,
"Default": {},
"Elem": {}
}
}
}
},
"bypass_url_patterns": {
"Type": "TypeSet",
"Optional": true,
"Default": {},
"Elem": {
"Type": "SchemaElements",
"ElementsType": "TypeString"
}
},
"correlate": {
"Type": "TypeList",
"Optional": true,
"MaxItems": 1,
"Default": {},
"Elem": {
"Type": "SchemaInfo",
"Info": {
"by": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
}
}
}
},
"description": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"disabled": {
"Type": "TypeBool",
"Optional": true,
"Default": {},
"Elem": {}
},
"match": {
"Type": "TypeList",
"Optional": true,
"Computed": true,
"MaxItems": 1,
"Default": {},
"Elem": {
"Type": "SchemaInfo",
"Info": {
"request": {
"Type": "TypeList",
"Optional": true,
"Computed": true,
"MaxItems": 1,
"MinItems": 1,
"Default": {},
"Elem": {
"Type": "SchemaInfo",
"Info": {
"methods": {
"Type": "TypeSet",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {
"Type": "SchemaElements",
"ElementsType": "TypeString"
}
},
"schemes": {
"Type": "TypeSet",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {
"Type": "SchemaElements",
"ElementsType": "TypeString"
}
},
"url_pattern": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
}
}
}
},
"response": {
"Type": "TypeList",
"Optional": true,
"Computed": true,
"MaxItems": 1,
"MinItems": 1,
"Default": {},
"Elem": {
"Type": "SchemaInfo",
"Info": {
"origin_traffic": {
"Type": "TypeBool",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"statuses": {
"Type": "TypeSet",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {
"Type": "SchemaElements",
"ElementsType": "TypeInt"
}
}
}
}
}
}
}
},
"period": {
"Type": "TypeInt",
"Required": true,
"Default": {},
"Elem": {}
},
"threshold": {
"Type": "TypeInt",
"Required": true,
"Default": {},
"Elem": {}
},
"zone": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"zone_id": {
"Type": "TypeString",
"Computed": true,
"Default": {},
"Elem": {}
}
},
"cloudflare_record": {
"created_on": {
"Type": "TypeString",
"Computed": true,
"Default": {},
"Elem": {}
},
"data": {
"Type": "TypeMap",
"Optional": true,
"ConflictsWith": [
"value"
],
"Default": {},
"Elem": {
"Type": "SchemaInfo",
"Info": {
"algorithm": {
"Type": "TypeInt",
"Optional": true,
"Default": {},
"Elem": {}
},
"altitude": {
"Type": "TypeFloat",
"Optional": true,
"Default": {},
"Elem": {}
},
"certificate": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"content": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"digest": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"digest_type": {
"Type": "TypeInt",
"Optional": true,
"Default": {},
"Elem": {}
},
"fingerprint": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"flags": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"key_tag": {
"Type": "TypeInt",
"Optional": true,
"Default": {},
"Elem": {}
},
"lat_degrees": {
"Type": "TypeInt",
"Optional": true,
"Default": {},
"Elem": {}
},
"lat_direction": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"lat_minutes": {
"Type": "TypeInt",
"Optional": true,
"Default": {},
"Elem": {}
},
"lat_seconds": {
"Type": "TypeFloat",
"Optional": true,
"Default": {},
"Elem": {}
},
"long_degrees": {
"Type": "TypeInt",
"Optional": true,
"Default": {},
"Elem": {}
},
"long_direction": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"long_minutes": {
"Type": "TypeInt",
"Optional": true,
"Default": {},
"Elem": {}
},
"long_seconds": {
"Type": "TypeFloat",
"Optional": true,
"Default": {},
"Elem": {}
},
"matching_type": {
"Type": "TypeInt",
"Optional": true,
"Default": {},
"Elem": {}
},
"name": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"order": {
"Type": "TypeInt",
"Optional": true,
"Default": {},
"Elem": {}
},
"port": {
"Type": "TypeInt",
"Optional": true,
"Default": {},
"Elem": {}
},
"precision_horz": {
"Type": "TypeFloat",
"Optional": true,
"Default": {},
"Elem": {}
},
"precision_vert": {
"Type": "TypeFloat",
"Optional": true,
"Default": {},
"Elem": {}
},
"preference": {
"Type": "TypeInt",
"Optional": true,
"Default": {},
"Elem": {}
},
"priority": {
"Type": "TypeInt",
"Optional": true,
"Default": {},
"Elem": {}
},
"proto": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"protocol": {
"Type": "TypeInt",
"Optional": true,
"Default": {},
"Elem": {}
},
"public_key": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"regex": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"replacement": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"selector": {
"Type": "TypeInt",
"Optional": true,
"Default": {},
"Elem": {}
},
"service": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"size": {
"Type": "TypeFloat",
"Optional": true,
"Default": {},
"Elem": {}
},
"target": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"type": {
"Type": "TypeInt",
"Optional": true,
"Default": {},
"Elem": {}
},
"usage": {
"Type": "TypeInt",
"Optional": true,
"Default": {},
"Elem": {}
},
"weight": {
"Type": "TypeInt",
"Optional": true,
"Default": {},
"Elem": {}
}
}
}
},
"domain": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"hostname": {
"Type": "TypeString",
"Computed": true,
"Default": {},
"Elem": {}
},
"metadata": {
"Type": "TypeMap",
"Computed": true,
"Default": {},
"Elem": {}
},
"modified_on": {
"Type": "TypeString",
"Computed": true,
"Default": {},
"Elem": {}
},
"name": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"priority": {
"Type": "TypeInt",
"Optional": true,
"Default": {},
"Elem": {}
},
"proxiable": {
"Type": "TypeBool",
"Computed": true,
"Default": {},
"Elem": {}
},
"proxied": {
"Type": "TypeBool",
"Optional": true,
"Default": {},
"Elem": {}
},
"ttl": {
"Type": "TypeInt",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"type": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"value": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"ConflictsWith": [
"data"
],
"Default": {},
"Elem": {}
},
"zone_id": {
"Type": "TypeString",
"Computed": true,
"Default": {},
"Elem": {}
}
},
"cloudflare_spectrum_application": {
"dns": {
"Type": "TypeList",
"Required": true,
"MaxItems": 1,
"Default": {},
"Elem": {
"Type": "SchemaInfo",
"Info": {
"name": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"type": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
}
}
}
},
"ip_firewall": {
"Type": "TypeBool",
"Optional": true,
"Default": {},
"Elem": {}
},
"origin_direct": {
"Type": "TypeList",
"Optional": true,
"Default": {},
"Elem": {
"Type": "SchemaElements",
"ElementsType": "TypeString"
}
},
"origin_dns": {
"Type": "TypeList",
"Optional": true,
"MaxItems": 1,
"Default": {},
"Elem": {
"Type": "SchemaInfo",
"Info": {
"name": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
}
}
}
},
"origin_port": {
"Type": "TypeInt",
"Required": true,
"Default": {},
"Elem": {}
},
"protocol": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"proxy_protocol": {
"Type": "TypeBool",
"Optional": true,
"Default": {},
"Elem": {}
},
"tls": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"zone_id": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
}
},
"cloudflare_waf_rule": {
"mode": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"package_id": {
"Type": "TypeString",
"Computed": true,
"Default": {},
"Elem": {}
},
"rule_id": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"zone": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"zone_id": {
"Type": "TypeString",
"Computed": true,
"Default": {},
"Elem": {}
}
},
"cloudflare_worker_route": {
"enabled": {
"Type": "TypeBool",
"Optional": true,
"ConflictsWith": [
"script_name"
],
"Default": {},
"Elem": {}
},
"multi_script": {
"Type": "TypeBool",
"Computed": true,
"Default": {},
"Elem": {}
},
"pattern": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"script_name": {
"Type": "TypeString",
"Optional": true,
"ConflictsWith": [
"enabled"
],
"Default": {},
"Elem": {}
},
"zone": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"zone_id": {
"Type": "TypeString",
"Computed": true,
"Default": {},
"Elem": {}
}
},
"cloudflare_worker_script": {
"content": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"name": {
"Type": "TypeString",
"Optional": true,
"ConflictsWith": [
"zone"
],
"Default": {},
"Elem": {}
},
"zone": {
"Type": "TypeString",
"Optional": true,
"ConflictsWith": [
"name"
],
"Default": {},
"Elem": {}
},
"zone_id": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
}
},
"cloudflare_zone": {
"jump_start": {
"Type": "TypeBool",
"Optional": true,
"Default": {},
"Elem": {}
},
"meta": {
"Type": "TypeMap",
"Computed": true,
"Default": {},
"Elem": {
"Type": "SchemaInfo",
"Info": {
"phishing_detected": {
"Type": "TypeBool",
"Default": {},
"Elem": {}
},
"wildcard_proxiable": {
"Type": "TypeBool",
"Default": {},
"Elem": {}
}
}
}
},
"name_servers": {
"Type": "TypeList",
"Computed": true,
"Default": {},
"Elem": {
"Type": "SchemaElements",
"ElementsType": "TypeString"
}
},
"paused": {
"Type": "TypeBool",
"Optional": true,
"Default": {},
"Elem": {}
},
"plan": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"status": {
"Type": "TypeString",
"Computed": true,
"Default": {},
"Elem": {}
},
"type": {
"Type": "TypeString",
"Computed": true,
"Default": {},
"Elem": {}
},
"vanity_name_servers": {
"Type": "TypeList",
"Computed": true,
"Default": {},
"Elem": {
"Type": "SchemaElements",
"ElementsType": "TypeString"
}
},
"zone": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
}
},
"cloudflare_zone_lockdown": {
"configurations": {
"Type": "TypeSet",
"Required": true,
"MinItems": 1,
"Default": {},
"Elem": {
"Type": "SchemaInfo",
"Info": {
"target": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"value": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
}
}
}
},
"description": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"paused": {
"Type": "TypeBool",
"Optional": true,
"Default": {},
"Elem": {}
},
"urls": {
"Type": "TypeSet",
"Required": true,
"MinItems": 1,
"Default": {},
"Elem": {
"Type": "SchemaElements",
"ElementsType": "TypeString"
}
},
"zone": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"zone_id": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
}
},
"cloudflare_zone_settings_override": {
"initial_settings": {
"Type": "TypeList",
"Computed": true,
"MaxItems": 1,
"Default": {},
"Elem": {
"Type": "SchemaInfo",
"Info": {
"always_online": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"always_use_https": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"automatic_https_rewrites": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"brotli": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"browser_cache_ttl": {
"Type": "TypeInt",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"browser_check": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"cache_level": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"challenge_ttl": {
"Type": "TypeInt",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"cname_flattening": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"development_mode": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"edge_cache_ttl": {
"Type": "TypeInt",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"email_obfuscation": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"hotlink_protection": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"http2": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"ip_geolocation": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"ipv6": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"max_upload": {
"Type": "TypeInt",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"min_tls_version": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"minify": {
"Type": "TypeList",
"Optional": true,
"Computed": true,
"MaxItems": 1,
"MinItems": 1,
"Default": {},
"Elem": {
"Type": "SchemaInfo",
"Info": {
"css": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"html": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"js": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
}
}
}
},
"mirage": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"mobile_redirect": {
"Type": "TypeList",
"Optional": true,
"Computed": true,
"MaxItems": 1,
"MinItems": 1,
"Default": {},
"Elem": {
"Type": "SchemaInfo",
"Info": {
"mobile_subdomain": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"status": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"strip_uri": {
"Type": "TypeBool",
"Required": true,
"Default": {},
"Elem": {}
}
}
}
},
"opportunistic_encryption": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"opportunistic_onion": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"origin_error_page_pass_thru": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"polish": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"prefetch_preload": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"privacy_pass": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"pseudo_ipv4": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"response_buffering": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"rocket_loader": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"security_header": {
"Type": "TypeList",
"Optional": true,
"Computed": true,
"MaxItems": 1,
"MinItems": 1,
"Default": {},
"Elem": {
"Type": "SchemaInfo",
"Info": {
"enabled": {
"Type": "TypeBool",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"include_subdomains": {
"Type": "TypeBool",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"max_age": {
"Type": "TypeInt",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"nosniff": {
"Type": "TypeBool",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"preload": {
"Type": "TypeBool",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
}
}
}
},
"security_level": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"server_side_exclude": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"sha1_support": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"sort_query_string_for_cache": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"ssl": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"tls_1_2_only": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"tls_1_3": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"tls_client_auth": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"true_client_ip_header": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"waf": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"webp": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"websockets": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
}
}
}
},
"initial_settings_read_at": {
"Type": "TypeString",
"Computed": true,
"Default": {},
"Elem": {}
},
"name": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"readonly_settings": {
"Type": "TypeList",
"Computed": true,
"Default": {},
"Elem": {
"Type": "SchemaElements",
"ElementsType": "TypeString"
}
},
"settings": {
"Type": "TypeList",
"Optional": true,
"Computed": true,
"MaxItems": 1,
"Default": {},
"Elem": {
"Type": "SchemaInfo",
"Info": {
"always_online": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"always_use_https": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"automatic_https_rewrites": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"brotli": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"browser_cache_ttl": {
"Type": "TypeInt",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"browser_check": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"cache_level": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"challenge_ttl": {
"Type": "TypeInt",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"cname_flattening": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"development_mode": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"edge_cache_ttl": {
"Type": "TypeInt",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"email_obfuscation": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"hotlink_protection": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"http2": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"ip_geolocation": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"ipv6": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"max_upload": {
"Type": "TypeInt",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"min_tls_version": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"minify": {
"Type": "TypeList",
"Optional": true,
"Computed": true,
"MaxItems": 1,
"MinItems": 1,
"Default": {},
"Elem": {
"Type": "SchemaInfo",
"Info": {
"css": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"html": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"js": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
}
}
}
},
"mirage": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"mobile_redirect": {
"Type": "TypeList",
"Optional": true,
"Computed": true,
"MaxItems": 1,
"MinItems": 1,
"Default": {},
"Elem": {
"Type": "SchemaInfo",
"Info": {
"mobile_subdomain": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"status": {
"Type": "TypeString",
"Required": true,
"Default": {},
"Elem": {}
},
"strip_uri": {
"Type": "TypeBool",
"Required": true,
"Default": {},
"Elem": {}
}
}
}
},
"opportunistic_encryption": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"opportunistic_onion": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"origin_error_page_pass_thru": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"polish": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"prefetch_preload": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"privacy_pass": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"pseudo_ipv4": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"response_buffering": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"rocket_loader": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"security_header": {
"Type": "TypeList",
"Optional": true,
"Computed": true,
"MaxItems": 1,
"MinItems": 1,
"Default": {},
"Elem": {
"Type": "SchemaInfo",
"Info": {
"enabled": {
"Type": "TypeBool",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"include_subdomains": {
"Type": "TypeBool",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"max_age": {
"Type": "TypeInt",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"nosniff": {
"Type": "TypeBool",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"preload": {
"Type": "TypeBool",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
}
}
}
},
"security_level": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"server_side_exclude": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"sha1_support": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"sort_query_string_for_cache": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"ssl": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"tls_1_2_only": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"tls_1_3": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"tls_client_auth": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"true_client_ip_header": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"waf": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"webp": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
},
"websockets": {
"Type": "TypeString",
"Optional": true,
"Computed": true,
"Default": {},
"Elem": {}
}
}
}
},
"zone_status": {
"Type": "TypeString",
"Computed": true,
"Default": {},
"Elem": {}
},
"zone_type": {
"Type": "TypeString",
"Computed": true,
"Default": {},
"Elem": {}
}
}
},
"data-sources": {
"cloudflare_ip_ranges": {
"cidr_blocks": {
"Type": "TypeList",
"Computed": true,
"Default": {},
"Elem": {
"Type": "SchemaElements",
"ElementsType": "TypeString"
}
},
"ipv4_cidr_blocks": {
"Type": "TypeList",
"Computed": true,
"Default": {},
"Elem": {
"Type": "SchemaElements",
"ElementsType": "TypeString"
}
},
"ipv6_cidr_blocks": {
"Type": "TypeList",
"Computed": true,
"Default": {},
"Elem": {
"Type": "SchemaElements",
"ElementsType": "TypeString"
}
}
},
"cloudflare_zones": {
"filter": {
"Type": "TypeList",
"Required": true,
"MaxItems": 1,
"Default": {},
"Elem": {
"Type": "SchemaInfo",
"Info": {
"name": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"paused": {
"Type": "TypeBool",
"Optional": true,
"Default": {},
"Elem": {}
},
"status": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
}
}
}
},
"zones": {
"Type": "TypeList",
"Computed": true,
"Default": {},
"Elem": {
"Type": "SchemaInfo",
"Info": {
"id": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
},
"name": {
"Type": "TypeString",
"Optional": true,
"Default": {},
"Elem": {}
}
}
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment