{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/amazon-billing-and-cost-management/json-schema/amazon-billing-and-cost-management-batch-update-bill-scenario-commitment-modification-response-schema.json",
  "title": "BatchUpdateBillScenarioCommitmentModificationResponse",
  "x-generated": "2026-11-11",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/amazon-billing-and-cost-management-bill-scenario-commitment-modification-api-openapi.yml#/components/schemas/BatchUpdateBillScenarioCommitmentModificationResponse",
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/BillScenarioCommitmentModificationItem"
      },
      "description": "Returns the list of successful commitment line items that were updated for a Bill Scenario."
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/BatchUpdateBillScenarioCommitmentModificationError"
      },
      "description": "Returns the list of error reasons and commitment line item IDs that could not be updated for the Bill Scenario."
    }
  },
  "$defs": {
    "AddReservedInstanceAction": {
      "type": "object",
      "properties": {
        "reservedInstancesOfferingId": {
          "type": "string",
          "description": "The ID of the Reserved Instance offering to add. For more information, see DescribeReservedInstancesOfferings."
        },
        "instanceCount": {
          "type": "integer",
          "description": "The number of instances to add for this Reserved Instance offering."
        }
      }
    },
    "AddSavingsPlanAction": {
      "type": "object",
      "properties": {
        "savingsPlanOfferingId": {
          "type": "string",
          "description": "The ID of the Savings Plan offering to add. For more information, see DescribeSavingsPlansOfferings."
        },
        "commitment": {
          "type": "number",
          "description": "The hourly commitment, in the same currency of the savingsPlanOfferingId. This is a value between 0.001 and 1 million. You cannot specify more than five digits after the decimal point."
        }
      }
    },
    "BatchUpdateBillScenarioCommitmentModificationError": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "The ID of the error."
        },
        "errorCode": {
          "type": "string",
          "enum": [
            "BAD_REQUEST",
            "NOT_FOUND",
            "CONFLICT",
            "INTERNAL_SERVER_ERROR"
          ],
          "description": "The code associated with the error."
        },
        "errorMessage": {
          "type": "string",
          "description": "The message that describes the error."
        }
      }
    },
    "BillScenarioCommitmentModificationAction": {
      "type": "object",
      "properties": {
        "addReservedInstanceAction": {
          "$ref": "#/$defs/AddReservedInstanceAction"
        },
        "addSavingsPlanAction": {
          "$ref": "#/$defs/AddSavingsPlanAction"
        },
        "negateReservedInstanceAction": {
          "$ref": "#/$defs/NegateReservedInstanceAction"
        },
        "negateSavingsPlanAction": {
          "$ref": "#/$defs/NegateSavingsPlanAction"
        }
      },
      "description": "Exactly one member is set."
    },
    "BillScenarioCommitmentModificationItem": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "The unique identifier of the commitment modification."
        },
        "usageAccountId": {
          "type": "string",
          "description": "The Amazon Web Services account ID associated with this commitment modification."
        },
        "group": {
          "type": "string",
          "description": "The group identifier for the commitment modification."
        },
        "commitmentAction": {
          "$ref": "#/$defs/BillScenarioCommitmentModificationAction"
        }
      }
    },
    "NegateReservedInstanceAction": {
      "type": "object",
      "properties": {
        "reservedInstancesId": {
          "type": "string",
          "description": "The ID of the Reserved Instance to remove."
        }
      }
    },
    "NegateSavingsPlanAction": {
      "type": "object",
      "properties": {
        "savingsPlanId": {
          "type": "string",
          "description": "The ID of the Savings Plan to remove."
        }
      }
    }
  }
}