{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/amazon-compute-optimizer/json-schema/amazon-compute-optimizer-export-idle-recommendations-request-schema.json",
  "title": "ExportIdleRecommendationsRequest",
  "x-generated": "2026-11-11",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/amazon-compute-optimizer-operations-api-openapi.yml#/components/schemas/ExportIdleRecommendationsRequest",
  "type": "object",
  "properties": {
    "accountIds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The Amazon Web Services account IDs for the export idle resource recommendations. If your account is the management account or the delegated administrator of an organization, use this parameter to specify the member account you want to export recommendations to. This parameter can't be specified together with the include member accounts parameter. The parameters are mutually exclusive. If this parameter or the include member accounts parameter is omitted, the recommendations for member accounts aren't included in the export. You can specify multiple account IDs per request."
    },
    "filters": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/IdleRecommendationFilter"
      },
      "description": "An array of objects to specify a filter that exports a more specific set of idle resource recommendations."
    },
    "fieldsToExport": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "AccountId",
          "ResourceArn",
          "ResourceId",
          "ResourceType",
          "LastRefreshTimestamp",
          "LookbackPeriodInDays",
          "SavingsOpportunity",
          "SavingsOpportunityAfterDiscount",
          "UtilizationMetricsCpuMaximum",
          "UtilizationMetricsMemoryMaximum",
          "UtilizationMetricsNetworkOutBytesPerSecondMaximum",
          "UtilizationMetricsNetworkInBytesPerSecondMaximum",
          "UtilizationMetricsDatabaseConnectionsMaximum",
          "UtilizationMetricsEBSVolumeReadIOPSMaximum",
          "UtilizationMetricsEBSVolumeWriteIOPSMaximum",
          "UtilizationMetricsVolumeReadOpsPerSecondMaximum",
          "UtilizationMetricsVolumeWriteOpsPerSecondMaximum",
          "UtilizationMetricsActiveConnectionCountMaximum",
          "UtilizationMetricsPacketsInFromSourceMaximum",
          "UtilizationMetricsPacketsInFromDestinationMaximum",
          "UtilizationMetricsConsumedReadCapacityUnitsSum",
          "UtilizationMetricsConsumedWriteCapacityUnitsSum",
          "UtilizationMetricsNewConnectionsSum",
          "UtilizationMetricsEngineCPUUtilizationMaximum",
          "UtilizationMetricsCacheHitsSum",
          "UtilizationMetricsCacheMissesSum",
          "UtilizationMetricsKeyspaceHitsSum",
          "UtilizationMetricsKeyspaceMissesSum",
          "UtilizationMetricsIsIdleMinimum",
          "UtilizationMetricsUserConnectedSum",
          "UtilizationMetricsInvocationsSum",
          "UtilizationMetricsGetTypeCmdsSum",
          "UtilizationMetricsSetTypeCmdsSum",
          "UtilizationMetricsElastiCacheProcessingUnitsSum",
          "UtilizationMetricsCurrConnectionsSum",
          "UtilizationMetricsDatabaseConnectionsSum",
          "Finding",
          "FindingDescription",
          "Tags"
        ]
      },
      "description": "The recommendations data to include in the export file. For more information about the fields that can be exported, see Exported files in the Compute Optimizer User Guide."
    },
    "s3DestinationConfig": {
      "$ref": "#/$defs/S3DestinationConfig"
    },
    "fileFormat": {
      "type": "string",
      "enum": [
        "Csv"
      ],
      "description": "The format of the export file. The CSV file is the only export file format currently supported."
    },
    "includeMemberAccounts": {
      "type": "boolean",
      "description": "If your account is the management account or the delegated administrator of an organization, this parameter indicates whether to include recommendations for resources in all member accounts of the organization. The member accounts must also be opted in to Compute Optimizer, and trusted access for Compute Optimizer must be enabled in the organization account. For more information, see Compute Optimizer and Amazon Web Services Organizations trusted access in the Compute Optimizer User Guide. If this parameter is omitted, recommendations for member accounts of the organization aren't included in "
    }
  },
  "required": [
    "s3DestinationConfig"
  ],
  "$defs": {
    "IdleRecommendationFilter": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "enum": [
            "Finding",
            "ResourceType"
          ],
          "description": "The name of the filter. Specify Finding to return recommendations with a specific finding classification. You can filter your idle resource recommendations by tag:key and tag-key tags. A tag:key is a key and value combination of a tag assigned to your idle resource recommendations. Use the tag key in the filter name and the tag value as the filter value. For example, to find all idle resource service recommendations that have a tag with the key of Owner and the value of TeamA, specify tag:Owner for the filter name and TeamA for the filter value. A tag-key is the key of a tag assigned to your i"
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The value of the filter."
        }
      }
    },
    "S3DestinationConfig": {
      "type": "object",
      "properties": {
        "bucket": {
          "type": "string",
          "description": "The name of the Amazon S3 bucket to use as the destination for an export job."
        },
        "keyPrefix": {
          "type": "string",
          "description": "The Amazon S3 bucket prefix for an export job."
        }
      }
    }
  }
}