{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/microsoft-azure-arc/json-schema/microsoft-azure-arc-settings-schema.json",
  "title": "Settings",
  "description": "Concrete proxy resource types can be created by aliasing this type using a specific property type.",
  "x-generated": "2026-11-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/microsoft-azure-arc-settings-api-openapi.yml#/components/schemas/Settings",
  "type": "object",
  "properties": {
    "properties": {
      "$ref": "#/$defs/SettingsProperties",
      "description": "Settings properties",
      "x-ms-client-flatten": true
    }
  },
  "allOf": [
    {
      "$ref": "#/$defs/ProxyResource"
    }
  ],
  "$defs": {
    "ProxyResource": {
      "type": "object",
      "title": "Proxy Resource",
      "description": "The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location",
      "allOf": [
        {
          "$ref": "#/$defs/Resource"
        }
      ]
    },
    "SettingsGatewayProperties": {
      "type": "object",
      "description": "Settings Gateway properties",
      "properties": {
        "gatewayResourceId": {
          "type": "string",
          "format": "arm-id",
          "description": "Associated Gateway Resource Id",
          "x-ms-arm-id-details": {
            "allowedResources": [
              {
                "type": "Microsoft.HybridCompute/gateways"
              }
            ]
          }
        }
      }
    },
    "SettingsProperties": {
      "type": "object",
      "description": "Settings properties",
      "properties": {
        "tenantId": {
          "type": "string",
          "description": "Azure resource tenant Id",
          "readOnly": true
        },
        "gatewayProperties": {
          "$ref": "#/$defs/SettingsGatewayProperties",
          "description": "Settings Gateway properties",
          "x-ms-client-flatten": true
        }
      }
    }
  }
}