WacArtifacts/wire.schema.json

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$defs": {
    "Observation": {
      "type": "object",
      "required": [
        "Status",
        "Code",
        "Value",
        "Evidence"
      ],
      "additionalProperties": false,
      "properties": {
        "Status": {
          "enum": [
            "Known",
            "Unavailable",
            "NotApplicable"
          ]
        },
        "Code": {
          "enum": [
            "ATC.FACT.KNOWN",
            "ATC.FACT.READ_FAILED",
            "ATC.FACT.PREREQUISITE_PENDING",
            "ATC.FACT.INVALID_RESPONSE",
            "ATC.FACT.TRANSPORT_UNAVAILABLE"
          ]
        },
        "Value": {},
        "Evidence": {
          "type": "object"
        }
      }
    },
    "Proposal": {
      "type": "object",
      "required": [
        "Name",
        "AdapterNames",
        "Roles"
      ],
      "additionalProperties": false,
      "properties": {
        "SchemaVersion": {
          "const": 1
        },
        "Name": {
          "type": "string"
        },
        "AdapterNames": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Roles": {
          "type": "array",
          "items": {
            "enum": [
              "Management",
              "Compute",
              "Storage"
            ]
          }
        },
        "ManagementVlan": {
          "type": [
            "integer",
            "null"
          ]
        },
        "StorageVlans": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "type": "integer"
          }
        },
        "StorageSubnets": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "type": "string"
          }
        },
        "AdapterAdvancedParametersOverride": {
          "$ref": "#/$defs/AdapterAdvancedParametersOverride"
        },
        "RssConfigOverride": {
          "$ref": "#/$defs/RssConfigOverride"
        },
        "QosPolicyOverride": {
          "$ref": "#/$defs/QosPolicyOverride"
        },
        "SwitchConfigOverride": {
          "$ref": "#/$defs/SwitchConfigOverride"
        },
        "IPOverride": {
          "$ref": "#/$defs/IPOverride"
        }
      }
    },
    "Scope": {
      "type": "object",
      "required": [
        "ScopeId",
        "Kind",
        "TargetName",
        "Nodes",
        "SubmissionPolicy",
        "Proposals"
      ],
      "additionalProperties": false,
      "properties": {
        "ScopeId": {
          "type": "string",
          "minLength": 1
        },
        "Kind": {
          "enum": [
            "StandaloneHost",
            "Cluster"
          ]
        },
        "TargetName": {
          "type": "string",
          "minLength": 1
        },
        "Nodes": {
          "type": "array",
          "minItems": 1,
          "items": {
            "type": "string",
            "minLength": 1
          }
        },
        "SubmissionPolicy": {
          "enum": [
            "AlwaysAdd",
            "CreateIfMissing",
            "SetExisting"
          ]
        },
        "Proposals": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/Proposal"
          }
        }
      }
    },
    "Prerequisite": {
      "type": "object",
      "required": [
        "PrerequisiteCode",
        "ProvidedByAction"
      ],
      "additionalProperties": false,
      "properties": {
        "PrerequisiteCode": {
          "enum": [
            "Hyper-V",
            "NetworkATC",
            "Failover-Clustering",
            "Data-Center-Bridging",
            "RSAT-AD-PowerShell",
            "Multipath-IO",
            "FS-SMBBW"
          ]
        },
        "ProvidedByAction": {
          "enum": [
            "InstallFeatures"
          ]
        }
      }
    },
    "InvocationContext": {
      "type": "object",
      "required": [
        "ExecutionPhase",
        "SubmissionScopes",
        "WorkflowActionsBeforeAtc",
        "WorkflowOwnedPrerequisites"
      ],
      "additionalProperties": false,
      "properties": {
        "SchemaVersion": {
          "const": 1
        },
        "ExecutionPhase": {
          "enum": [
            "PreOnboarding",
            "AtcSubmissionReady"
          ]
        },
        "AtcExecutionHostPartOfDomain": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "SubmissionScopes": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/Scope"
          }
        },
        "WorkflowActionsBeforeAtc": {
          "type": "array",
          "items": {
            "enum": [
              "InstallFeatures",
              "CreateCluster"
            ]
          }
        },
        "WorkflowOwnedPrerequisites": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/Prerequisite"
          }
        }
      }
    },
    "NodeInput": {
      "type": "object",
      "required": [
        "Node",
        "CurrentIntents",
        "Features"
      ],
      "additionalProperties": false,
      "properties": {
        "Node": {
          "type": "string",
          "minLength": 1
        },
        "CurrentIntents": {
          "$ref": "#/$defs/Observation"
        },
        "Features": {
          "$ref": "#/$defs/Observation"
        }
      }
    },
    "ValidationRequest": {
      "type": "object",
      "required": [
        "SchemaVersion",
        "AtcContractVersion",
        "Operation",
        "InvocationContext",
        "NodeInputs"
      ],
      "additionalProperties": false,
      "properties": {
        "SchemaVersion": {
          "const": 1
        },
        "AtcContractVersion": {
          "type": "string",
          "minLength": 1
        },
        "Operation": {
          "enum": [
            "Create",
            "Update"
          ]
        },
        "InvocationContext": {
          "$ref": "#/$defs/InvocationContext"
        },
        "NodeInputs": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/NodeInput"
          }
        }
      }
    },
    "CollectionRequest": {
      "type": "object",
      "required": [
        "SchemaVersion",
        "AtcContractVersion",
        "Node",
        "Profile",
        "AdapterNames",
        "ReadBindings",
        "ReadSwitches",
        "ReadClusterState",
        "AdvancedAdapterNames",
        "ReadSwitchSettings",
        "HostVnicNames",
        "ReadHyperVReadiness",
        "RssAdapterNames",
        "RdmaAdapterNames",
        "QosAdapterNames",
        "PfcPriorities"
      ],
      "additionalProperties": false,
      "properties": {
        "SchemaVersion": {
          "const": 5
        },
        "AtcContractVersion": {
          "type": "string",
          "minLength": 1
        },
        "Node": {
          "type": "string",
          "minLength": 1
        },
        "Profile": {
          "enum": [
            "HostValidation"
          ]
        },
        "AdapterNames": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1
          }
        },
        "ReadBindings": {
          "type": "boolean"
        },
        "ReadSwitches": {
          "type": "boolean"
        },
        "ReadClusterState": {
          "type": "boolean"
        },
        "AdvancedAdapterNames": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1
          }
        },
        "ReadSwitchSettings": {
          "type": "boolean"
        },
        "HostVnicNames": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1
          }
        },
        "ReadHyperVReadiness": {
          "type": "boolean"
        },
        "RssAdapterNames": {
          "type": "array",
          "items": {"type": "string", "minLength": 1}
        },
        "RdmaAdapterNames": {
          "type": "array",
          "items": {"type": "string", "minLength": 1}
        },
        "QosAdapterNames": {
          "type": "array",
          "items": {"type": "string", "minLength": 1}
        },
        "PfcPriorities": {
          "type": "array",
          "items": {"type": "integer"}
        }
      }
    },
    "AdapterRow": {
      "type": "object",
      "required": [
        "Name",
        "InterfaceDescription",
        "Speed",
        "ComponentID",
        "DeviceID",
        "State",
        "Status",
        "MediaType",
        "DriverProvider",
        "PnpDeviceID",
        "PnpProblem"
      ],
      "additionalProperties": false,
      "properties": {
        "Name": {
          "type": "string",
          "minLength": 1
        },
        "InterfaceDescription": {
          "type": [
            "string",
            "null"
          ]
        },
        "Speed": {
          "type": [
            "integer",
            "null"
          ],
          "minimum": 0
        },
        "ComponentID": {
          "type": [
            "string",
            "null"
          ]
        },
        "DeviceID": {
          "type": [
            "string",
            "null"
          ]
        },
        "State": {
          "type": [
            "integer",
            "null"
          ],
          "minimum": 0,
          "maximum": 4294967295
        },
        "Status": {
          "type": [
            "string",
            "null"
          ]
        },
        "MediaType": {
          "type": [
            "string",
            "null"
          ]
        },
        "DriverProvider": {
          "type": [
            "string",
            "null"
          ]
        },
        "PnpDeviceID": {
          "type": [
            "string",
            "null"
          ]
        },
        "PnpProblem": {
          "$ref": "#/$defs/Observation"
        }
      }
    },
    "BindingRow": {
      "type": "object",
      "required": [
        "Name",
        "ComponentID",
        "Enabled"
      ],
      "additionalProperties": false,
      "properties": {
        "Name": {
          "type": "string",
          "minLength": 1
        },
        "ComponentID": {
          "enum": [
            "ms_implat",
            "vms_pp"
          ]
        },
        "Enabled": {
          "type": "boolean"
        }
      }
    },
    "SwitchRow": {
      "type": "object",
      "required": [
        "Name",
        "ID",
        "NetAdapterInterfaceDescriptions",
        "AllowManagementOS",
        "IovEnabled",
        "EmbeddedTeamingEnabled",
        "SoftwareRscEnabled",
        "DefaultQueueVrssMaxQueuePairs",
        "DefaultQueueVrssMaxQueuePairsRequested",
        "DefaultQueueVrssMinQueuePairs",
        "DefaultQueueVrssMinQueuePairsRequested",
        "LoadBalancingAlgorithm"
      ],
      "additionalProperties": false,
      "properties": {
        "Name": {
          "type": "string",
          "minLength": 1
        },
        "ID": {
          "type": "string",
          "minLength": 1
        },
        "NetAdapterInterfaceDescriptions": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1
          }
        },
        "AllowManagementOS": {
          "type": ["boolean", "null"]
        },
        "IovEnabled": {
          "type": ["boolean", "null"]
        },
        "EmbeddedTeamingEnabled": {
          "type": ["boolean", "null"]
        },
        "SoftwareRscEnabled": {
          "type": ["boolean", "null"]
        },
        "DefaultQueueVrssMaxQueuePairs": {
          "type": ["integer", "null"],
          "minimum": 0,
          "maximum": 4294967295
        },
        "DefaultQueueVrssMaxQueuePairsRequested": {
          "type": ["integer", "null"],
          "minimum": 0,
          "maximum": 4294967295
        },
        "DefaultQueueVrssMinQueuePairs": {
          "type": ["integer", "null"],
          "minimum": 0,
          "maximum": 4294967295
        },
        "DefaultQueueVrssMinQueuePairsRequested": {
          "type": ["integer", "null"],
          "minimum": 0,
          "maximum": 4294967295
        },
        "LoadBalancingAlgorithm": {
          "$ref": "#/$defs/Observation"
        }
      }
    },
    "HostVnicRow": {
      "type": "object",
      "required": [
        "Name",
        "SwitchName",
        "SwitchID",
        "DeviceID",
        "IeeePriorityTag",
        "IsolationMode",
        "VlanMode",
        "IsolationID",
        "VlanMethod",
        "AllowUntaggedTraffic",
        "TeamMappingDeviceIDs"
      ],
      "additionalProperties": false,
      "properties": {
        "Name": {
          "type": "string",
          "minLength": 1
        },
        "SwitchName": {
          "type": ["string", "null"]
        },
        "SwitchID": {
          "type": ["string", "null"]
        },
        "DeviceID": {
          "type": ["string", "null"]
        },
        "IeeePriorityTag": {
          "type": ["string", "null"]
        },
        "IsolationMode": {
          "type": ["integer", "null"],
          "minimum": 0,
          "maximum": 4294967295
        },
        "VlanMode": {
          "type": ["string", "null"]
        },
        "IsolationID": {
          "type": ["integer", "null"],
          "minimum": 0,
          "maximum": 4294967295
        },
        "VlanMethod": {
          "type": ["string", "null"]
        },
        "AllowUntaggedTraffic": {
          "type": ["boolean", "null"]
        },
        "TeamMappingDeviceIDs": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1
          }
        }
      }
    },
    "HyperVReadiness": {
      "type": "object",
      "required": [
        "VmmsServiceStatus",
        "VmcomputeServiceStatus",
        "VmmsProcessFound",
        "VmmsProcessUptimeSeconds",
        "VmcomputeProcessFound",
        "VmcomputeProcessUptimeSeconds",
        "WmiProviderAvailable"
      ],
      "additionalProperties": false,
      "properties": {
        "VmmsServiceStatus": {
          "type": ["string", "null"]
        },
        "VmcomputeServiceStatus": {
          "type": ["string", "null"]
        },
        "VmmsProcessFound": {
          "type": "boolean"
        },
        "VmmsProcessUptimeSeconds": {
          "type": ["integer", "null"],
          "minimum": 0
        },
        "VmcomputeProcessFound": {
          "type": "boolean"
        },
        "VmcomputeProcessUptimeSeconds": {
          "type": ["integer", "null"],
          "minimum": 0
        },
        "WmiProviderAvailable": {
          "type": ["boolean", "null"]
        }
      }
    },
    "CurrentIntent": {
      "type": "object",
      "required": [
        "Name",
        "AdapterNames",
        "Roles"
      ],
      "additionalProperties": false,
      "properties": {
        "Name": {
          "type": "string",
          "minLength": 1
        },
        "AdapterNames": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1
          }
        },
        "Roles": {
          "type": "array",
          "items": {
            "enum": [
              "Management",
              "Compute",
              "Storage"
            ]
          }
        }
      }
    },
    "Feature": {
      "type": "object",
      "required": [
        "Name",
        "Installed"
      ],
      "additionalProperties": false,
      "properties": {
        "Name": {
          "type": "string",
          "minLength": 1
        },
        "Installed": {
          "type": "boolean"
        }
      }
    },
    "AdvancedPropertyRow": {
      "type": "object",
      "required": [
        "Name",
        "RegistryKeyword",
        "Current",
        "Advertised",
        "Optional"
      ],
      "additionalProperties": false,
      "properties": {
        "Name": {
          "type": "string",
          "minLength": 1
        },
        "RegistryKeyword": {
          "type": "string",
          "minLength": 1
        },
        "Current": {
          "$ref": "#/$defs/Observation"
        },
        "Advertised": {
          "$ref": "#/$defs/Observation"
        },
        "Optional": {
          "type": ["boolean", "null"]
        }
      }
    },
    "AdapterRuntimeRow": {
      "type": "object",
      "required": ["Name", "State"],
      "additionalProperties": false,
      "properties": {
        "Name": {"type": "string", "minLength": 1},
        "State": {"$ref": "#/$defs/Observation"}
      }
    },
    "RssState": {
      "type": "object",
      "required": [
        "Enabled", "BaseProcessorGroup", "BaseProcessorNumber",
        "MaxProcessorGroup", "MaxProcessorNumber", "MaxProcessors", "Profile"
      ],
      "additionalProperties": false,
      "properties": {
        "Enabled": {"type": ["boolean", "null"]},
        "BaseProcessorGroup": {"type": ["integer", "null"]},
        "BaseProcessorNumber": {"type": ["integer", "null"]},
        "MaxProcessorGroup": {"type": ["integer", "null"]},
        "MaxProcessorNumber": {"type": ["integer", "null"]},
        "MaxProcessors": {"type": ["integer", "null"]},
        "Profile": {"type": ["integer", "null"]}
      }
    },
    "RdmaState": {
      "type": "object",
      "required": ["Enabled", "OperationalState"],
      "additionalProperties": false,
      "properties": {
        "Enabled": {"type": ["boolean", "null"]},
        "OperationalState": {"type": ["boolean", "null"]}
      }
    },
    "ComputerSystem": {
      "type": "object",
      "required": ["Manufacturer", "Model"],
      "additionalProperties": false,
      "properties": {
        "Manufacturer": {"type": "string", "minLength": 1},
        "Model": {"type": "string", "minLength": 1}
      }
    },
    "QosPolicyRow": {
      "type": "object",
      "required": ["Name", "PriorityValue8021Action", "NetDirectPortMatchCondition"],
      "additionalProperties": false,
      "properties": {
        "Name": {"type": "string", "minLength": 1},
        "PriorityValue8021Action": {"type": ["integer", "null"]},
        "NetDirectPortMatchCondition": {"type": ["integer", "null"]}
      }
    },
    "QosTrafficClassRow": {
      "type": "object",
      "required": ["Name", "Priority", "BandwidthPercentage", "Algorithm"],
      "additionalProperties": false,
      "properties": {
        "Name": {"type": "string", "minLength": 1},
        "Priority": {"type": "array", "items": {"type": "integer", "minimum": 0, "maximum": 255}},
        "BandwidthPercentage": {"type": ["integer", "null"]},
        "Algorithm": {"type": ["string", "null"]}
      }
    },
    "QosPfcRow": {
      "type": "object",
      "required": ["Priority", "Enabled"],
      "additionalProperties": false,
      "properties": {
        "Priority": {"type": "integer"},
        "Enabled": {"type": ["boolean", "null"]}
      }
    },
    "AdapterQosEnabledState": {
      "type": "object",
      "required": ["Enabled"],
      "additionalProperties": false,
      "properties": {"Enabled": {"type": ["boolean", "null"]}}
    },
    "AdapterQosState": {
      "oneOf": [{"enum": ["Unsupported"]}, {"$ref": "#/$defs/AdapterQosEnabledState"}]
    },
    "QosDcbxState": {
      "type": "object",
      "required": ["Willing"],
      "additionalProperties": false,
      "properties": {"Willing": {"type": ["boolean", "null"]}}
    },
    "NodeSnapshotHeader": {
      "type": "object",
      "required": ["SchemaVersion", "AtcContractVersion", "Node"],
      "additionalProperties": false,
      "properties": {
        "SchemaVersion": {"const": 5},
        "AtcContractVersion": {"type": "string", "minLength": 1},
        "Node": {"type": "string", "minLength": 1}
      }
    },
    "NodeSnapshot": {
      "type": "object",
      "required": [
        "SchemaVersion",
        "AtcContractVersion",
        "Node",
        "Adapters",
        "Bindings",
        "Switches",
        "ClusterState",
        "AdvancedProperties",
        "HostVnics",
        "HyperVReadiness",
        "Rss",
        "Rdma",
        "ComputerSystem",
        "QosPolicies",
        "QosTrafficClasses",
        "QosPfc",
        "AdapterQos",
        "QosDcbx"
      ],
      "additionalProperties": false,
      "properties": {
        "SchemaVersion": {
          "const": 5
        },
        "AtcContractVersion": {
          "type": "string",
          "minLength": 1
        },
        "Node": {
          "type": "string",
          "minLength": 1
        },
        "Adapters": {
          "$ref": "#/$defs/Observation"
        },
        "Bindings": {
          "$ref": "#/$defs/Observation"
        },
        "Switches": {
          "$ref": "#/$defs/Observation"
        },
        "ClusterState": {
          "$ref": "#/$defs/Observation"
        },
        "AdvancedProperties": {
          "$ref": "#/$defs/Observation"
        },
        "HostVnics": {
          "$ref": "#/$defs/Observation"
        },
        "HyperVReadiness": {
          "$ref": "#/$defs/Observation"
        },
        "Rss": {
          "$ref": "#/$defs/Observation"
        },
        "Rdma": {
          "$ref": "#/$defs/Observation"
        },
        "ComputerSystem": {
          "$ref": "#/$defs/Observation"
        },
        "QosPolicies": {
          "$ref": "#/$defs/Observation"
        },
        "QosTrafficClasses": {
          "$ref": "#/$defs/Observation"
        },
        "QosPfc": {
          "$ref": "#/$defs/Observation"
        },
        "AdapterQos": {
          "$ref": "#/$defs/Observation"
        },
        "QosDcbx": {
          "$ref": "#/$defs/Observation"
        }
      }
    },
    "ValidationResult": {
      "type": "object",
      "required": [
        "ScopeId",
        "TargetName",
        "CheckCode",
        "Outcome",
        "Code",
        "WarningKind",
        "Arguments",
        "FallbackMessage",
        "FallbackAction",
        "Node",
        "Resource",
        "Property",
        "Evidence"
      ],
      "additionalProperties": false,
      "properties": {
        "ScopeId": {
          "type": "string"
        },
        "TargetName": {
          "type": "string"
        },
        "CheckCode": {
          "type": "string"
        },
        "Outcome": {
          "enum": [
            "Pass",
            "Warning",
            "Fail",
            "NotApplicable"
          ]
        },
        "Code": {
          "type": "string"
        },
        "WarningKind": {
          "type": [
            "string",
            "null"
          ]
        },
        "Arguments": {
          "type": "object"
        },
        "FallbackMessage": {
          "type": [
            "string",
            "null"
          ]
        },
        "FallbackAction": {
          "type": [
            "string",
            "null"
          ]
        },
        "Node": {
          "type": [
            "string",
            "null"
          ]
        },
        "Resource": {
          "type": [
            "string",
            "null"
          ]
        },
        "Property": {
          "type": [
            "string",
            "null"
          ]
        },
        "Evidence": {
          "type": "object"
        }
      }
    },
    "SubmissionAction": {
      "type": "object",
      "required": [
        "ScopeId",
        "TargetName",
        "ProposalName",
        "Action"
      ],
      "properties": {
        "ScopeId": {
          "type": "string"
        },
        "TargetName": {
          "type": "string"
        },
        "ProposalName": {
          "type": "string"
        },
        "Action": {
          "enum": [
            "AddNetIntent",
            "SetNetIntent",
            "SkipExisting",
            "CreateIfMissingDeferred"
          ]
        }
      }
    },
    "DomainCheckCode": {
      "enum": [
        "ATC.CHECK.INTENT", "ATC.CHECK.ADAPTER", "ATC.CHECK.FABRIC",
        "ATC.CHECK.ADAPTERCONFIG", "ATC.CHECK.QOS"
      ]
    },
    "DomainReport": {
      "type": "object",
      "required": [
        "ContractVersion", "RunId", "AtcContractVersion", "Operation",
        "ExecutionPhase", "CheckCode", "ScopeOutcome", "Coverage", "Results", "Nodes"
      ],
      "additionalProperties": false,
      "properties": {
        "ContractVersion": {"const": 1},
        "RunId": {"type": "string", "minLength": 1},
        "AtcContractVersion": {"type": "string"},
        "Operation": {"enum": ["Create", "Update"]},
        "ExecutionPhase": {"enum": ["PreOnboarding", "AtcSubmissionReady"]},
        "CheckCode": {"$ref": "#/$defs/DomainCheckCode"},
        "ScopeOutcome": {"enum": ["Pass", "PassWithWarnings", "Fail", "NotApplicable"]},
        "Coverage": {"enum": ["Complete", "Partial"]},
        "Results": {"type": "array", "items": {"$ref": "#/$defs/ValidationResult"}},
        "Nodes": {"type": "array", "items": {"type": "string"}}
      }
    },
    "DomainOperationError": {
      "type": "object",
      "required": ["CheckCode", "Error"],
      "additionalProperties": false,
      "properties": {
        "CheckCode": {"$ref": "#/$defs/DomainCheckCode"},
        "Error": {"$ref": "#/$defs/OperationError"}
      }
    },
    "CollectionOperationError": {
      "type": "object",
      "required": ["Node", "Error"],
      "additionalProperties": false,
      "properties": {
        "Node": {"type": "string", "minLength": 1},
        "Error": {"$ref": "#/$defs/OperationError"}
      }
    },
    "ValidationReport": {
      "type": "object",
      "required": [
        "ContractVersion",
        "RunId",
        "AtcContractVersion",
        "Operation",
        "ExecutionPhase",
        "ValidationScope",
        "EvaluatedCheckCodes",
        "NotEvaluatedCheckCodes",
        "ScopeOutcome",
        "HasGuaranteedAtcFailure",
        "Coverage",
        "Ready",
        "Status",
        "Failures",
        "Warnings",
        "ExpectedChanges",
        "Results",
        "Nodes",
        "SubmissionActions",
        "DomainReports",
        "OperationErrors",
        "CollectionErrors"
      ],
      "additionalProperties": false,
      "properties": {
        "ContractVersion": {
          "const": 2
        },
        "RunId": {"type": "string", "minLength": 1},
        "AtcContractVersion": {
          "type": "string"
        },
        "Operation": {
          "enum": [
            "Create",
            "Update"
          ]
        },
        "ExecutionPhase": {
          "enum": [
            "PreOnboarding",
            "AtcSubmissionReady"
          ]
        },
        "ValidationScope": {
          "type": "string"
        },
        "EvaluatedCheckCodes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "NotEvaluatedCheckCodes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "ScopeOutcome": {
          "enum": [
            "Pass",
            "PassWithWarnings",
            "Fail",
            "Unknown"
          ]
        },
        "HasGuaranteedAtcFailure": {
          "type": "boolean"
        },
        "Coverage": {
          "enum": [
            "Complete",
            "Partial"
          ]
        },
        "Ready": {
          "type": "boolean"
        },
        "Status": {
          "enum": [
            "Ready",
            "Blocked",
            "Unknown"
          ]
        },
        "Failures": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ValidationResult"
          }
        },
        "Warnings": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ValidationResult"
          }
        },
        "ExpectedChanges": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ValidationResult"
          }
        },
        "Results": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ValidationResult"
          }
        },
        "Nodes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "SubmissionActions": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/SubmissionAction"
          }
        },
        "DomainReports": {"type": "array", "items": {"$ref": "#/$defs/DomainReport"}},
        "OperationErrors": {"type": "array", "items": {"$ref": "#/$defs/DomainOperationError"}},
        "CollectionErrors": {"type": "array", "items": {"$ref": "#/$defs/CollectionOperationError"}}
      }
    },
    "PrepareResult": {
      "type": "object",
      "required": [
        "RunId",
        "CheckCodes",
        "Request",
        "CollectionRequests"
      ],
      "properties": {
        "RunId": {"type": "string", "minLength": 1},
        "CheckCodes": {"type": "array", "items": {"$ref": "#/$defs/DomainCheckCode"}},
        "Request": {
          "$ref": "#/$defs/ValidationRequest"
        },
        "CollectionRequests": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/CollectionRequest"
          }
        }
      }
    },
    "EvaluateInput": {
      "type": "object",
      "required": [
        "CheckCode",
        "RunId",
        "Request",
        "CollectionResponses"
      ],
      "additionalProperties": false,
      "properties": {
        "CheckCode": {"$ref": "#/$defs/DomainCheckCode"},
        "RunId": {"type": "string", "minLength": 1},
        "Request": {
          "$ref": "#/$defs/ValidationRequest"
        },
        "CollectionResponses": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/CollectionResponse"
          }
        }
      }
    },
    "OperationError": {
      "type": "object",
      "required": [
        "SchemaVersion",
        "Operation",
        "Status",
        "Code",
        "Arguments",
        "FallbackMessage",
        "FallbackAction",
        "Retryable"
      ],
      "properties": {
        "SchemaVersion": {
          "const": 1
        },
        "Operation": {
          "enum": [
            "Prepare",
            "Collect",
            "Evaluate"
          ]
        },
        "Status": {
          "enum": [
            "InvalidInvocation",
            "NoVerdict",
            "OperationFailed"
          ]
        },
        "Code": {
          "type": "string"
        },
        "Arguments": {
          "type": "object"
        },
        "FallbackMessage": {
          "type": "string"
        },
        "FallbackAction": {
          "type": "string"
        },
        "Retryable": {
          "type": "boolean"
        }
      }
    },
    "PrepareResponse": {
      "oneOf": [
        {
          "$ref": "#/$defs/OperationError"
        },
        {
          "type": "object",
          "required": [
            "SchemaVersion",
            "Operation",
            "Status",
            "Code",
            "Result",
            "Arguments"
          ],
          "properties": {
            "SchemaVersion": {
              "const": 1
            },
            "Operation": {
              "const": "Prepare"
            },
            "Status": {
              "const": "Completed"
            },
            "Code": {
              "const": "ATC.OPERATION.COMPLETED"
            },
            "Result": {
              "$ref": "#/$defs/PrepareResult"
            },
            "Arguments": {
              "type": "object"
            }
          }
        }
      ]
    },
    "EvaluationResponse": {
      "oneOf": [
        {
          "$ref": "#/$defs/OperationError"
        },
        {
          "type": "object",
          "required": [
            "SchemaVersion",
            "Operation",
            "Status",
            "Code",
            "Result",
            "Arguments"
          ],
          "properties": {
            "SchemaVersion": {
              "const": 1
            },
            "Operation": {
              "const": "Evaluate"
            },
            "Status": {
              "const": "Completed"
            },
            "Code": {
              "const": "ATC.OPERATION.COMPLETED"
            },
            "Result": {
              "$ref": "#/$defs/DomainReport"
            },
            "Arguments": {
              "type": "object"
            }
          }
        }
      ]
    },
    "CollectorResponse": {
      "oneOf": [
        {
          "$ref": "#/$defs/OperationError"
        },
        {
          "type": "object",
          "required": [
            "SchemaVersion",
            "Operation",
            "Status",
            "Code",
            "Result",
            "Arguments"
          ],
          "properties": {
            "SchemaVersion": {
              "const": 1
            },
            "Operation": {
              "const": "Collect"
            },
            "Status": {
              "const": "Completed"
            },
            "Code": {
              "const": "ATC.OPERATION.COMPLETED"
            },
            "Result": {
              "$ref": "#/$defs/CollectionResponse"
            },
            "Arguments": {
              "type": "object"
            }
          }
        }
      ]
    },
    "CollectionResponse": {
      "type": "object",
      "required": [
        "Node",
        "Status",
        "Code",
        "Snapshot",
        "Arguments"
      ],
      "additionalProperties": false,
      "properties": {
        "Node": {
          "type": "string",
          "minLength": 1
        },
        "Status": {
          "enum": [
            "Collected",
            "TransportUnavailable",
            "InvalidResponse"
          ]
        },
        "Code": {
          "enum": [
            "ATC.COLLECTION.COLLECTED",
            "ATC.COLLECTION.TRANSPORT_UNAVAILABLE",
            "ATC.COLLECTION.INVALID_RESPONSE"
          ]
        },
        "Snapshot": {},
        "Arguments": {
          "type": "object"
        }
      }
    },
    "AdapterAdvancedParametersOverride": {
      "type": [
        "object",
        "null"
      ],
      "additionalProperties": false,
      "properties": {
        "EncapOverhead": {
          "type": [
            "integer",
            "null"
          ]
        },
        "EncapsulatedPacketTaskOffload": {
          "type": [
            "integer",
            "null"
          ]
        },
        "EncapsulatedPacketTaskOffloadNvgre": {
          "type": [
            "integer",
            "null"
          ]
        },
        "EncapsulatedPacketTaskOffloadVxlan": {
          "type": [
            "integer",
            "null"
          ]
        },
        "FlowControl": {
          "type": [
            "integer",
            "null"
          ]
        },
        "InterruptModeration": {
          "type": [
            "integer",
            "null"
          ]
        },
        "IPChecksumOffloadIPv4": {
          "type": [
            "integer",
            "null"
          ]
        },
        "JumboPacket": {
          "type": [
            "integer",
            "null"
          ]
        },
        "LsoV2IPv4": {
          "type": [
            "integer",
            "null"
          ]
        },
        "LsoV2IPv6": {
          "type": [
            "integer",
            "null"
          ]
        },
        "NetworkDirect": {
          "type": [
            "integer",
            "null"
          ]
        },
        "NetworkDirectTechnology": {
          "type": [
            "integer",
            "null"
          ]
        },
        "NumaNodeId": {
          "type": [
            "integer",
            "null"
          ]
        },
        "PacketDirect": {
          "type": [
            "integer",
            "null"
          ]
        },
        "PriorityVLANTag": {
          "type": [
            "integer",
            "null"
          ]
        },
        "PtpHardwareTimestamp": {
          "type": [
            "integer",
            "null"
          ]
        },
        "QOS": {
          "type": [
            "integer",
            "null"
          ]
        },
        "QosOffload": {
          "type": [
            "integer",
            "null"
          ]
        },
        "ReceiveBuffers": {
          "type": [
            "integer",
            "null"
          ]
        },
        "RscIPv4": {
          "type": [
            "integer",
            "null"
          ]
        },
        "RscIPv6": {
          "type": [
            "integer",
            "null"
          ]
        },
        "RssOnHostVPorts": {
          "type": [
            "integer",
            "null"
          ]
        },
        "Sriov": {
          "type": [
            "integer",
            "null"
          ]
        },
        "TCPUDPChecksumOffloadIPv4": {
          "type": [
            "integer",
            "null"
          ]
        },
        "TCPUDPChecksumOffloadIPv6": {
          "type": [
            "integer",
            "null"
          ]
        },
        "UDPChecksumOffloadIPv4": {
          "type": [
            "integer",
            "null"
          ]
        },
        "UDPChecksumOffloadIPv6": {
          "type": [
            "integer",
            "null"
          ]
        },
        "TransmitBuffers": {
          "type": [
            "integer",
            "null"
          ]
        },
        "UsoIPv4": {
          "type": [
            "integer",
            "null"
          ]
        },
        "UsoIPv6": {
          "type": [
            "integer",
            "null"
          ]
        },
        "VMQ": {
          "type": [
            "integer",
            "null"
          ]
        },
        "VxlanUDPPortNumber": {
          "type": [
            "integer",
            "null"
          ]
        },
        "VlanID": {
          "type": [
            "integer",
            "null"
          ]
        },
        "NetAdapterName": {
          "type": [
            "string",
            "null"
          ]
        },
        "EnableDnsManagement": {
          "type": [
            "boolean",
            "null"
          ]
        }
      }
    },
    "RssConfigOverride": {
      "type": [
        "object",
        "null"
      ],
      "additionalProperties": false,
      "properties": {
        "RssEnabled": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "BaseProcessorGroup": {
          "type": [
            "integer",
            "null"
          ]
        },
        "BaseProcessorNumber": {
          "type": [
            "integer",
            "null"
          ]
        },
        "MaxProcessorGroup": {
          "type": [
            "integer",
            "null"
          ]
        },
        "MaxProcessorNumber": {
          "type": [
            "integer",
            "null"
          ]
        },
        "MaxProcessors": {
          "type": [
            "integer",
            "null"
          ]
        },
        "Profile": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "QosPolicyOverride": {
      "type": [
        "object",
        "null"
      ],
      "additionalProperties": false,
      "properties": {
        "PriorityValue8021Action_SMB": {
          "type": [
            "integer",
            "null"
          ]
        },
        "PriorityValue8021Action_Cluster": {
          "type": [
            "integer",
            "null"
          ]
        },
        "BandwidthPercentage_SMB": {
          "type": [
            "integer",
            "null"
          ]
        },
        "BandwidthPercentage_Cluster": {
          "type": [
            "integer",
            "null"
          ]
        },
        "NetDirectPortMatchCondition": {
          "type": [
            "integer",
            "null"
          ]
        }
      }
    },
    "SwitchConfigOverride": {
      "type": [
        "object",
        "null"
      ],
      "additionalProperties": false,
      "properties": {
        "EnableSoftwareRsc": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "DefaultQueueVrssMaxQueuePairs": {
          "type": [
            "integer",
            "null"
          ]
        },
        "DefaultQueueVrssMinQueuePairs": {
          "type": [
            "integer",
            "null"
          ]
        },
        "DefaultQueueVrssQueueSchedulingMode": {
          "type": [
            "integer",
            "null"
          ]
        },
        "EnableIov": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "EnableEmbeddedTeaming": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "LoadBalancingAlgorithm": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            "HyperVPort",
            "Dynamic",
            null
          ]
        }
      }
    },
    "IPOverride": {
      "type": [
        "object",
        "null"
      ],
      "additionalProperties": false,
      "properties": {
        "EnableAutomaticIPGeneration": {
          "type": [
            "boolean",
            "null"
          ]
        }
      }
    }
  }
}