{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/amazon-cloudwatch/json-schema/amazon-cloudwatch-list-service-level-objectives-input-schema.json",
  "title": "ListServiceLevelObjectivesInput",
  "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/ListServiceLevelObjectivesInput",
  "type": "object",
  "properties": {
    "KeyAttributes": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "description": "You can use this optional field to specify which services you want to retrieve SLO information for. 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 Resour"
    },
    "OperationName": {
      "type": "string",
      "description": "The name of the operation that this SLO is associated with."
    },
    "DependencyConfig": {
      "$ref": "#/$defs/DependencyConfig"
    },
    "MaxResults": {
      "type": "integer",
      "description": "The maximum number of results to return in one operation. If you omit this parameter, the default of 50 is used."
    },
    "NextToken": {
      "type": "string",
      "description": "Include this value, if it was returned by the previous operation, to get the next set of service level objectives."
    },
    "MetricSourceTypes": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "ServiceOperation",
          "CloudWatchMetric",
          "ServiceDependency",
          "AppMonitor",
          "Canary",
          "Service"
        ]
      },
      "description": "Use this optional field to only include SLOs with the specified metric source types in the output. Supported types are: Service operation Service dependency Service CloudWatch metric AppMonitor Canary"
    },
    "IncludeLinkedAccounts": {
      "type": "boolean",
      "description": "If you are using this operation in a monitoring account, specify true to include SLO from source accounts in the returned data. When you are monitoring an account, you can use Amazon Web Services account ID in KeyAttribute filter for service source account and SloOwnerawsaccountID for SLO source account with IncludeLinkedAccounts to filter the returned data to only a single source account."
    },
    "SloOwnerAwsAccountId": {
      "type": "string",
      "description": "SLO's Amazon Web Services account ID."
    },
    "MetricSource": {
      "$ref": "#/$defs/MetricSource"
    }
  },
  "$defs": {
    "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"
      ]
    }
  }
}