{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/amazon-lightsail/json-schema/amazon-lightsail-get-cost-estimate-result-schema.json",
  "title": "GetCostEstimateResult",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/amazon-lightsail-cost-estimate-api-openapi.yml#/components/schemas/GetCostEstimateResult",
  "type": "object",
  "properties": {
    "resourcesBudgetEstimate": {
      "allOf": [
        {
          "$ref": "#/$defs/ResourcesBudgetEstimate"
        }
      ],
      "description": "Returns the estimate's forecasted cost or usage."
    }
  },
  "$defs": {
    "CostEstimate": {
      "type": "object",
      "properties": {
        "usageType": {
          "allOf": [
            {
              "$ref": "#/$defs/NonEmptyString"
            }
          ],
          "description": "The types of usage that are included in the estimate, such as costs, usage, or data transfer."
        },
        "resultsByTime": {
          "allOf": [
            {
              "$ref": "#/$defs/EstimatesByTime"
            }
          ],
          "description": "The cost estimate result that's associated with a time period."
        }
      },
      "description": "Describes the estimated cost for resources in your Lightsail for Research account."
    },
    "CostEstimates": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/CostEstimate"
      }
    },
    "Currency": {
      "type": "string",
      "enum": [
        "USD"
      ]
    },
    "EstimateByTime": {
      "type": "object",
      "properties": {
        "usageCost": {
          "allOf": [
            {
              "$ref": "#/$defs/double"
            }
          ],
          "description": "The amount of cost or usage that's measured for the cost estimate."
        },
        "pricingUnit": {
          "allOf": [
            {
              "$ref": "#/$defs/PricingUnit"
            }
          ],
          "description": "The unit of measurement that's used for the cost estimate."
        },
        "unit": {
          "allOf": [
            {
              "$ref": "#/$defs/double"
            }
          ],
          "description": "The number of pricing units used to calculate the total number of hours. For example, 1 unit equals 1 hour."
        },
        "currency": {
          "allOf": [
            {
              "$ref": "#/$defs/Currency"
            }
          ],
          "description": "The currency of the estimate in USD."
        },
        "timePeriod": {
          "allOf": [
            {
              "$ref": "#/$defs/TimePeriod"
            }
          ],
          "description": "The period of time, in days, that an estimate covers. The period has a start date and an end date. The start date must come before the end date."
        }
      },
      "description": "An estimate that's associated with a time period."
    },
    "EstimatesByTime": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/EstimateByTime"
      }
    },
    "IsoDate": {
      "type": "string",
      "format": "date-time"
    },
    "NonEmptyString": {
      "type": "string",
      "pattern": "\\S"
    },
    "PricingUnit": {
      "type": "string",
      "enum": [
        "GB",
        "Hrs",
        "GB-Mo",
        "Bundles",
        "Queries"
      ]
    },
    "ResourceBudgetEstimate": {
      "type": "object",
      "properties": {
        "resourceName": {
          "allOf": [
            {
              "$ref": "#/$defs/ResourceName"
            }
          ],
          "description": "The resource name."
        },
        "resourceType": {
          "allOf": [
            {
              "$ref": "#/$defs/ResourceType"
            }
          ],
          "description": "The type of resource the budget will track."
        },
        "costEstimates": {
          "allOf": [
            {
              "$ref": "#/$defs/CostEstimates"
            }
          ],
          "description": "The cost estimate for the specified budget."
        },
        "startTime": {
          "allOf": [
            {
              "$ref": "#/$defs/IsoDate"
            }
          ],
          "description": "The estimate start time."
        },
        "endTime": {
          "allOf": [
            {
              "$ref": "#/$defs/IsoDate"
            }
          ],
          "description": "The estimate end time."
        }
      },
      "description": "Describes the estimated cost or usage that a budget tracks."
    },
    "ResourceName": {
      "type": "string",
      "pattern": "^\\w[\\w\\-]*\\w$"
    },
    "ResourceType": {
      "type": "string",
      "enum": [
        "ContainerService",
        "Instance",
        "StaticIp",
        "KeyPair",
        "InstanceSnapshot",
        "Domain",
        "PeeredVpc",
        "LoadBalancer",
        "LoadBalancerTlsCertificate",
        "Disk",
        "DiskSnapshot",
        "RelationalDatabase",
        "RelationalDatabaseSnapshot",
        "ExportSnapshotRecord",
        "CloudFormationStackRecord",
        "Alarm",
        "ContactMethod",
        "Distribution",
        "Certificate",
        "Bucket"
      ]
    },
    "ResourcesBudgetEstimate": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/ResourceBudgetEstimate"
      }
    },
    "TimePeriod": {
      "type": "object",
      "properties": {
        "start": {
          "allOf": [
            {
              "$ref": "#/$defs/IsoDate"
            }
          ],
          "description": "The beginning of the time period. The start date is inclusive. For example, if start is 2017-01-01 , Lightsail for Research retrieves cost and usage data starting at 2017-01-01 up to the end date. The start date must be equal to or no later than the current date to avoid a validation error."
        },
        "end": {
          "allOf": [
            {
              "$ref": "#/$defs/IsoDate"
            }
          ],
          "description": "The end of the time period. The end date is exclusive. For example, if end is 2017-05-01 , Lightsail for Research retrieves cost and usage data from the start date up to, but not including, 2017-05-01 ."
        }
      },
      "description": "Sets the start date and end date for retrieving a cost estimate. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01 , then the cost and usage data is retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01 ."
    },
    "double": {
      "type": "number"
    }
  }
}