{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/graphiant/main/json-schema/graphiant-v1-onboarding-cloudinit-post-request-schema.json",
  "title": "v1OnboardingCloudinitPostRequest",
  "x-generated": "2026-10-20",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/graphiant-onboarding-api-openapi.yml#/components/schemas/v1OnboardingCloudinitPostRequest",
  "type": "object",
  "properties": {
    "cloudinitTokens": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/onboardingCloudInitToken"
      }
    }
  },
  "additionalProperties": false,
  "$defs": {
    "googleProtobufTimestamp": {
      "type": "object",
      "properties": {
        "nanos": {
          "type": "integer",
          "format": "int32"
        },
        "seconds": {
          "type": "integer",
          "format": "int64"
        }
      },
      "additionalProperties": false
    },
    "onboardingCloudInitConfiguration": {
      "type": "object",
      "properties": {
        "deviceType": {
          "type": "string"
        },
        "dnsServers": {
          "type": "string"
        },
        "hostname": {
          "type": "string"
        },
        "interfaces": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/onboardingInterface"
          }
        },
        "localWebPassword": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "onboardingCloudInitToken": {
      "type": "object",
      "properties": {
        "cloudinitConfig": {
          "$ref": "#/$defs/onboardingCloudInitConfiguration"
        },
        "deviceId": {
          "type": "integer",
          "format": "int64"
        },
        "deviceSerial": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "role": {
          "type": "string"
        },
        "token": {
          "$ref": "#/$defs/onboardingCloudInitTokenToken"
        }
      },
      "additionalProperties": false
    },
    "onboardingCloudInitTokenToken": {
      "type": "object",
      "properties": {
        "createdByTs": {
          "$ref": "#/$defs/googleProtobufTimestamp"
        },
        "expiryByTs": {
          "$ref": "#/$defs/googleProtobufTimestamp"
        },
        "token": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "onboardingInterface": {
      "type": "object",
      "properties": {
        "ipv4": {
          "$ref": "#/$defs/onboardingIp"
        },
        "ipv6": {
          "$ref": "#/$defs/onboardingIp"
        },
        "name": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "onboardingIp": {
      "type": "object",
      "properties": {
        "gatewayAddr": {
          "type": "string"
        },
        "ipAddr": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "additionalProperties": false
    }
  }
}