{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/amazon-cloudwatch/json-schema/amazon-cloudwatch-list-service-level-objectives-output-schema.json",
  "title": "ListServiceLevelObjectivesOutput",
  "x-generated": "2026-11-11",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/amazon-cloudwatch-slo-api-openapi.yml#/components/schemas/ListServiceLevelObjectivesOutput",
  "type": "object",
  "properties": {
    "SloSummaries": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/ServiceLevelObjectiveSummary"
      },
      "description": "An array of structures, where each structure contains information about one SLO."
    },
    "NextToken": {
      "type": "string",
      "description": "Include this value in your next use of this API to get next set of service level objectives."
    }
  },
  "$defs": {
    "CompositeSliComponent": {
      "type": "object",
      "properties": {
        "OperationName": {
          "type": "string",
          "description": "The name of the operation to include in the composite SLI."
        }
      },
      "description": "Exactly one member is set."
    },
    "CompositeSliConfig": {
      "type": "object",
      "properties": {
        "SelectionConfig": {
          "$ref": "#/$defs/SelectionConfig"
        },
        "Components": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/CompositeSliComponent"
          },
          "description": "The list of operations included in this composite SLI. You must specify between 2 and 20 components. Each component is a CompositeSliComponent that identifies a single operation by its OperationName."
        }
      },
      "required": [
        "SelectionConfig"
      ]
    },
    "DependencyConfig": {
      "type": "object",
      "properties": {
        "DependencyKeyAttributes": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "This is a string-to-string map. It can include the following fields. Type designates the type of object this is. ResourceType specifies the type of the resource. This field is used only when the value of the Type field is Resource or AWS::Resource. Name specifies the name of the object. This is used only if the value of the Type field is Service, RemoteService, or AWS::Service. Identifier identifies the resource objects of this resource. This is used only if the value of the Type field is Resource or AWS::Resource. Environment specifies the location where this object is hosted, or what it belo"
        },
        "DependencyOperationName": {
          "type": "string",
          "description": "The name of the called operation in the dependency."
        }
      },
      "required": [
        "DependencyKeyAttributes",
        "DependencyOperationName"
      ]
    },
    "MetricSource": {
      "type": "object",
      "properties": {
        "MetricSourceKeyAttributes": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Key attributes that identify the metric source."
        },
        "MetricSourceAttributes": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Additional attributes for the metric source."
        }
      },
      "required": [
        "MetricSourceKeyAttributes"
      ]
    },
    "SelectionConfig": {
      "type": "object",
      "properties": {
        "Type": {
          "type": "string",
          "enum": [
            "EXPLICIT",
            "PREFIX",
            "REGEX"
          ]
        },
        "Pattern": {
          "type": "string",
          "description": "A prefix string or regular expression that specifies which operations to include in a service-level SLO. When SelectionType is PREFIX, this value is a prefix string that matches the beginning of operation names. When SelectionType is REGEX, this value is a regular expression that matches operation names."
        }
      },
      "required": [
        "Type"
      ]
    },
    "ServiceLevelObjectiveSummary": {
      "type": "object",
      "properties": {
        "Arn": {
          "type": "string",
          "description": "The ARN of this service level objective."
        },
        "Name": {
          "type": "string",
          "description": "The name of the service level objective."
        },
        "KeyAttributes": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "This is a string-to-string map. It can include the following fields. Type designates the type of object this service level objective is for. ResourceType specifies the type of the resource. This field is used only when the value of the Type field is Resource or AWS::Resource. Name specifies the name of the object. This is used only if the value of the Type field is Service, RemoteService, or AWS::Service. Identifier identifies the resource objects of this resource. This is used only if the value of the Type field is Resource or AWS::Resource. Environment specifies the location where this objec"
        },
        "OperationName": {
          "type": "string",
          "description": "If this service level objective is specific to a single operation, this field displays the name of that operation."
        },
        "DependencyConfig": {
          "$ref": "#/$defs/DependencyConfig"
        },
        "CreatedTime": {
          "type": "string",
          "description": "The date and time that this service level objective was created. It is expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC."
        },
        "EvaluationType": {
          "type": "string",
          "enum": [
            "PeriodBased",
            "RequestBased"
          ],
          "description": "Displays whether this is a period-based SLO or a request-based SLO."
        },
        "MetricSourceType": {
          "type": "string",
          "enum": [
            "ServiceOperation",
            "CloudWatchMetric",
            "ServiceDependency",
            "AppMonitor",
            "Canary",
            "Service"
          ],
          "description": "Displays the SLI metric source type for this SLO. Supported types are: Service operation Service dependency Service CloudWatch metric AppMonitor Canary"
        },
        "MetricSource": {
          "$ref": "#/$defs/MetricSource"
        },
        "CompositeSliConfig": {
          "$ref": "#/$defs/CompositeSliConfig"
        }
      },
      "required": [
        "Arn",
        "Name"
      ]
    }
  }
}