{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/azure-networking-services/json-schema/azure-networking-services-commit-schema.json",
  "title": "Commit",
  "description": "The commit resource",
  "x-generated": "2026-11-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/azure-networking-services-commits-api-openapi.yml#/components/schemas/Commit",
  "type": "object",
  "properties": {
    "properties": {
      "$ref": "#/$defs/CommitProperties",
      "description": "The Commit properties"
    },
    "systemData": {
      "$ref": "#/$defs/systemData",
      "description": "The system metadata related to this resource.",
      "readOnly": true
    }
  },
  "allOf": [
    {
      "$ref": "#/$defs/ChildResource"
    }
  ],
  "$defs": {
    "ChildResource": {
      "type": "object",
      "description": "Proxy resource representation.",
      "properties": {
        "id": {
          "type": "string",
          "description": "Resource ID.",
          "readOnly": true
        },
        "name": {
          "type": "string",
          "description": "Resource name.",
          "readOnly": true
        },
        "type": {
          "type": "string",
          "description": "Resource type.",
          "readOnly": true
        },
        "etag": {
          "type": "string",
          "description": "A unique read-only string that changes whenever the resource is updated.",
          "readOnly": true
        }
      },
      "x-ms-azure-resource": true
    },
    "CommitProperties": {
      "type": "object",
      "description": "Properties of commit",
      "properties": {
        "description": {
          "type": "string",
          "description": "A description of the commit."
        },
        "provisioningState": {
          "$ref": "#/$defs/ProvisioningState",
          "description": "The provisioning state of the resource.",
          "readOnly": true
        },
        "resourceGuid": {
          "type": "string",
          "description": "Unique identifier for this resource.",
          "readOnly": true
        },
        "commitType": {
          "$ref": "#/$defs/ConfigurationType",
          "description": "Commit Type."
        },
        "configurationIds": {
          "type": "array",
          "description": "List of configuration IDs.",
          "items": {
            "type": "string",
            "format": "arm-id",
            "description": "A type definition that refers the id to an Azure Resource Manager resource."
          }
        },
        "targetLocations": {
          "type": "array",
          "description": "List of target locations.",
          "items": {
            "type": "string"
          }
        },
        "activeLocations": {
          "type": "array",
          "description": "List of active locations.",
          "items": {
            "type": "string"
          },
          "readOnly": true
        },
        "forceUpdateTag": {
          "type": "string",
          "description": "A value that, when changed, forces the commit to be re-evaluated and redeployed."
        }
      },
      "required": [
        "commitType",
        "targetLocations"
      ]
    },
    "ConfigurationType": {
      "type": "string",
      "description": "Configuration Deployment Type.",
      "enum": [
        "SecurityAdmin",
        "Connectivity",
        "SecurityUser",
        "Routing"
      ],
      "x-ms-enum": {
        "name": "ConfigurationType",
        "modelAsString": true,
        "values": [
          {
            "name": "SecurityAdmin",
            "value": "SecurityAdmin",
            "description": "SecurityAdmin"
          },
          {
            "name": "Connectivity",
            "value": "Connectivity",
            "description": "Connectivity"
          },
          {
            "name": "SecurityUser",
            "value": "SecurityUser",
            "description": "SecurityUser"
          },
          {
            "name": "Routing",
            "value": "Routing",
            "description": "Routing"
          }
        ]
      }
    },
    "ProvisioningState": {
      "type": "string",
      "description": "Provisioning states of a resource.",
      "enum": [
        "Failed",
        "Succeeded",
        "Canceled",
        "Creating",
        "Updating",
        "Deleting"
      ],
      "x-ms-enum": {
        "name": "ProvisioningState",
        "modelAsString": true,
        "values": [
          {
            "name": "Failed",
            "value": "Failed",
            "description": "Failed"
          },
          {
            "name": "Succeeded",
            "value": "Succeeded",
            "description": "Succeeded"
          },
          {
            "name": "Canceled",
            "value": "Canceled",
            "description": "Canceled"
          },
          {
            "name": "Creating",
            "value": "Creating",
            "description": "Creating"
          },
          {
            "name": "Updating",
            "value": "Updating",
            "description": "Updating"
          },
          {
            "name": "Deleting",
            "value": "Deleting",
            "description": "Deleting"
          }
        ]
      }
    },
    "systemData": {
      "type": "object",
      "description": "Metadata pertaining to creation and last modification of the resource.",
      "properties": {
        "createdBy": {
          "type": "string",
          "description": "The identity that created the resource."
        },
        "createdByType": {
          "type": "string",
          "description": "The type of identity that created the resource.",
          "enum": [
            "User",
            "Application",
            "ManagedIdentity",
            "Key"
          ],
          "x-ms-enum": {
            "name": "createdByType",
            "modelAsString": true
          }
        },
        "createdAt": {
          "type": "string",
          "format": "date-time",
          "description": "The timestamp of resource creation (UTC)."
        },
        "lastModifiedBy": {
          "type": "string",
          "description": "The identity that last modified the resource."
        },
        "lastModifiedByType": {
          "type": "string",
          "description": "The type of identity that last modified the resource.",
          "enum": [
            "User",
            "Application",
            "ManagedIdentity",
            "Key"
          ],
          "x-ms-enum": {
            "name": "createdByType",
            "modelAsString": true
          }
        },
        "lastModifiedAt": {
          "type": "string",
          "format": "date-time",
          "description": "The timestamp of resource last modification (UTC)"
        }
      },
      "readOnly": true
    }
  }
}