{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/microsoft-azure-cdn/json-schema/microsoft-azure-cdn-operations-list-result-schema.json",
  "title": "OperationsListResult",
  "description": "Result of the request to list CDN operations. It contains a list of operations and a URL link to get the next set of results.",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_superseded/microsoft-azure-cdn-operations-api-openapi.yml#/components/schemas/OperationsListResult",
  "type": "object",
  "properties": {
    "value": {
      "type": "array",
      "description": "List of CDN operations supported by the CDN resource provider.",
      "items": {
        "$ref": "#/$defs/Operation"
      },
      "x-ms-identifiers": []
    },
    "nextLink": {
      "type": "string",
      "description": "URL to get the next set of operation list results if there are any."
    }
  },
  "required": [
    "value"
  ],
  "$defs": {
    "DimensionProperties": {
      "type": "object",
      "description": "Type of operation: get, read, delete, etc.",
      "properties": {
        "name": {
          "type": "string",
          "description": "Name of dimension."
        },
        "displayName": {
          "type": "string",
          "description": "Display name of dimension."
        },
        "internalName": {
          "type": "string",
          "description": "Internal name of dimension."
        }
      }
    },
    "LogSpecification": {
      "type": "object",
      "description": "Log specification of operation.",
      "properties": {
        "name": {
          "type": "string",
          "description": "Name of log specification."
        },
        "displayName": {
          "type": "string",
          "description": "Display name of log specification."
        },
        "blobDuration": {
          "type": "string",
          "description": "Blob duration of specification."
        },
        "logFilterPattern": {
          "type": "string",
          "description": "Pattern to filter based on name"
        }
      }
    },
    "MetricAvailability": {
      "type": "object",
      "description": "Retention policy of a resource metric.",
      "properties": {
        "timeGrain": {
          "type": "string"
        },
        "blobDuration": {
          "type": "string"
        }
      }
    },
    "MetricSpecification": {
      "type": "object",
      "description": "Metric specification of operation.",
      "properties": {
        "name": {
          "type": "string",
          "description": "Name of metric specification."
        },
        "displayName": {
          "type": "string",
          "description": "Display name of metric specification."
        },
        "displayDescription": {
          "type": "string",
          "description": "Display description of metric specification."
        },
        "unit": {
          "type": "string",
          "description": "The metric unit. Possible values include: 'Bytes', 'Count', 'Milliseconds'."
        },
        "aggregationType": {
          "type": "string",
          "description": "The metric aggregation type. Possible values include: 'Average', 'Count', 'Total'."
        },
        "availabilities": {
          "type": "array",
          "description": "Retention policies of a resource metric.",
          "items": {
            "$ref": "#/$defs/MetricAvailability"
          },
          "x-ms-identifiers": []
        },
        "supportedTimeGrainTypes": {
          "type": "array",
          "description": "The supported time grain types for the metrics.",
          "items": {
            "type": "string"
          }
        },
        "dimensions": {
          "type": "array",
          "description": "The dimensions of metric",
          "items": {
            "$ref": "#/$defs/DimensionProperties"
          },
          "x-ms-identifiers": [
            "name"
          ]
        },
        "fillGapWithZero": {
          "type": "boolean",
          "description": "Property to specify whether to fill gap with zero."
        },
        "metricFilterPattern": {
          "type": "string",
          "description": "Pattern to filter based on name"
        },
        "isInternal": {
          "type": "boolean",
          "description": "Property to specify metric is internal or not."
        }
      }
    },
    "Operation": {
      "type": "object",
      "description": "CDN REST API operation",
      "properties": {
        "name": {
          "type": "string",
          "description": "Operation name: {provider}/{resource}/{operation}",
          "readOnly": true
        },
        "isDataAction": {
          "type": "boolean",
          "description": "Indicates whether the operation is a data action"
        },
        "display": {
          "$ref": "#/$defs/OperationDisplay",
          "description": "The object that represents the operation."
        },
        "origin": {
          "type": "string",
          "description": "The origin of operations.",
          "readOnly": true
        },
        "properties": {
          "$ref": "#/$defs/OperationProperties",
          "description": "Properties of operation, include metric specifications.",
          "x-ms-client-flatten": true,
          "x-ms-client-name": "operationProperties"
        }
      }
    },
    "OperationDisplay": {
      "type": "object",
      "description": "The object that represents the operation.",
      "properties": {
        "provider": {
          "type": "string",
          "description": "Service provider: Microsoft.Cdn",
          "readOnly": true
        },
        "resource": {
          "type": "string",
          "description": "Resource on which the operation is performed: Profile, endpoint, etc.",
          "readOnly": true
        },
        "operation": {
          "type": "string",
          "description": "Operation type: Read, write, delete, etc.",
          "readOnly": true
        },
        "description": {
          "type": "string",
          "description": "Description of operation.",
          "readOnly": true
        }
      }
    },
    "OperationProperties": {
      "type": "object",
      "description": "Properties of operation, include metric specifications.",
      "properties": {
        "serviceSpecification": {
          "$ref": "#/$defs/ServiceSpecification",
          "description": "One property of operation, include metric specifications."
        }
      }
    },
    "ServiceSpecification": {
      "type": "object",
      "description": "One property of operation, include log specifications.",
      "properties": {
        "logSpecifications": {
          "type": "array",
          "description": "Log specifications of operation.",
          "items": {
            "$ref": "#/$defs/LogSpecification"
          },
          "x-ms-identifiers": [
            "name"
          ]
        },
        "metricSpecifications": {
          "type": "array",
          "description": "Metric specifications of operation.",
          "items": {
            "$ref": "#/$defs/MetricSpecification"
          },
          "x-ms-identifiers": [
            "name"
          ]
        }
      }
    }
  }
}