Created
April 9, 2019 05:30
-
-
Save harsh-98/98560316475356a486b288ecf0bed4a8 to your computer and use it in GitHub Desktop.
Jsonschema generator for cloudflare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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") | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"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