{
  "App": {
    "resourceType": "Fly::Machines::App",
    "kind": "resource",
    "lexicon": "fly"
  },
  "Certificate": {
    "resourceType": "Fly::Machines::Certificate",
    "kind": "resource",
    "lexicon": "fly"
  },
  "ContainerConfig": {
    "resourceType": "Fly::Machines::ContainerConfig",
    "kind": "property",
    "lexicon": "fly"
  },
  "ContainerDependency": {
    "resourceType": "Fly::Machines::ContainerDependency",
    "kind": "property",
    "lexicon": "fly"
  },
  "ContainerHealthcheck": {
    "resourceType": "Fly::Machines::ContainerHealthcheck",
    "kind": "property",
    "lexicon": "fly"
  },
  "DNSConfig": {
    "resourceType": "Fly::Machines::DNSConfig",
    "kind": "property",
    "lexicon": "fly"
  },
  "DnsForwardRule": {
    "resourceType": "Fly::Machines::DnsForwardRule",
    "kind": "property",
    "lexicon": "fly"
  },
  "DnsOption": {
    "resourceType": "Fly::Machines::DnsOption",
    "kind": "property",
    "lexicon": "fly"
  },
  "EnvFrom": {
    "resourceType": "Fly::Machines::EnvFrom",
    "kind": "property",
    "lexicon": "fly",
    "constraints": {
      "field_ref": {
        "enum": [
          "id",
          "version",
          "app_name",
          "private_ip",
          "region",
          "image"
        ]
      }
    }
  },
  "ExecHealthcheck": {
    "resourceType": "Fly::Machines::ExecHealthcheck",
    "kind": "property",
    "lexicon": "fly"
  },
  "File": {
    "resourceType": "Fly::Machines::File",
    "kind": "property",
    "lexicon": "fly"
  },
  "HTTPHealthcheck": {
    "resourceType": "Fly::Machines::HTTPHealthcheck",
    "kind": "property",
    "lexicon": "fly"
  },
  "HTTPOptions": {
    "resourceType": "Fly::Machines::HTTPOptions",
    "kind": "property",
    "lexicon": "fly"
  },
  "HTTPResponseOptions": {
    "resourceType": "Fly::Machines::HTTPResponseOptions",
    "kind": "property",
    "lexicon": "fly"
  },
  "IPAddress": {
    "resourceType": "Fly::Machines::IPAddress",
    "kind": "resource",
    "lexicon": "fly"
  },
  "Machine": {
    "resourceType": "Fly::Machines::Machine",
    "kind": "resource",
    "lexicon": "fly"
  },
  "MachineCacheDrive": {
    "resourceType": "Fly::Machines::MachineCacheDrive",
    "kind": "property",
    "lexicon": "fly"
  },
  "MachineCheck": {
    "resourceType": "Fly::Machines::MachineCheck",
    "kind": "property",
    "lexicon": "fly",
    "constraints": {
      "kind": {
        "enum": [
          "informational",
          "readiness"
        ]
      }
    }
  },
  "MachineConfig": {
    "resourceType": "Fly::Machines::MachineConfig",
    "kind": "property",
    "lexicon": "fly"
  },
  "MachineGuest": {
    "resourceType": "Fly::Machines::MachineGuest",
    "kind": "property",
    "lexicon": "fly",
    "constraints": {
      "persist_rootfs": {
        "enum": [
          "never",
          "always",
          "restart"
        ]
      }
    }
  },
  "MachineHTTPHeader": {
    "resourceType": "Fly::Machines::MachineHTTPHeader",
    "kind": "property",
    "lexicon": "fly"
  },
  "MachineInit": {
    "resourceType": "Fly::Machines::MachineInit",
    "kind": "property",
    "lexicon": "fly"
  },
  "MachineMetrics": {
    "resourceType": "Fly::Machines::MachineMetrics",
    "kind": "property",
    "lexicon": "fly"
  },
  "MachineMount": {
    "resourceType": "Fly::Machines::MachineMount",
    "kind": "property",
    "lexicon": "fly"
  },
  "MachinePort": {
    "resourceType": "Fly::Machines::MachinePort",
    "kind": "property",
    "lexicon": "fly"
  },
  "MachineProcess": {
    "resourceType": "Fly::Machines::MachineProcess",
    "kind": "property",
    "lexicon": "fly"
  },
  "MachineRestart": {
    "resourceType": "Fly::Machines::MachineRestart",
    "kind": "property",
    "lexicon": "fly",
    "constraints": {
      "policy": {
        "enum": [
          "no",
          "always",
          "on-failure",
          "spot-price"
        ]
      }
    }
  },
  "MachineRootfs": {
    "resourceType": "Fly::Machines::MachineRootfs",
    "kind": "property",
    "lexicon": "fly",
    "constraints": {
      "persist": {
        "enum": [
          "never",
          "always",
          "restart"
        ]
      }
    }
  },
  "MachineSecret": {
    "resourceType": "Fly::Machines::MachineSecret",
    "kind": "property",
    "lexicon": "fly"
  },
  "MachineService": {
    "resourceType": "Fly::Machines::MachineService",
    "kind": "property",
    "lexicon": "fly",
    "constraints": {
      "autostop": {
        "enum": [
          "off",
          "stop",
          "suspend"
        ]
      }
    }
  },
  "MachineServiceCheck": {
    "resourceType": "Fly::Machines::MachineServiceCheck",
    "kind": "property",
    "lexicon": "fly"
  },
  "MachineServiceConcurrency": {
    "resourceType": "Fly::Machines::MachineServiceConcurrency",
    "kind": "property",
    "lexicon": "fly"
  },
  "MachineSpot": {
    "resourceType": "Fly::Machines::MachineSpot",
    "kind": "property",
    "lexicon": "fly"
  },
  "ProxyProtoOptions": {
    "resourceType": "Fly::Machines::ProxyProtoOptions",
    "kind": "property",
    "lexicon": "fly"
  },
  "ReplayCache": {
    "resourceType": "Fly::Machines::ReplayCache",
    "kind": "property",
    "lexicon": "fly",
    "constraints": {
      "type": {
        "enum": [
          "cookie",
          "header"
        ]
      }
    }
  },
  "Secret": {
    "resourceType": "Fly::Machines::Secret",
    "kind": "resource",
    "lexicon": "fly"
  },
  "Static": {
    "resourceType": "Fly::Machines::Static",
    "kind": "property",
    "lexicon": "fly"
  },
  "StopConfig": {
    "resourceType": "Fly::Machines::StopConfig",
    "kind": "property",
    "lexicon": "fly",
    "constraints": {
      "signal": {
        "enum": [
          "SIGHUP",
          "SIGINT",
          "SIGQUIT",
          "SIGKILL",
          "SIGUSR1",
          "SIGUSR2",
          "SIGTERM"
        ]
      }
    }
  },
  "TCPHealthcheck": {
    "resourceType": "Fly::Machines::TCPHealthcheck",
    "kind": "property",
    "lexicon": "fly"
  },
  "TLSOptions": {
    "resourceType": "Fly::Machines::TLSOptions",
    "kind": "property",
    "lexicon": "fly"
  },
  "Volume": {
    "resourceType": "Fly::Machines::Volume",
    "kind": "resource",
    "lexicon": "fly"
  }
}