{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--aws-ec2-capacityreservationfleet.json",
  "title": "AWSEC2CapacityReservationFleetProperties",
  "description": "Resource Type definition for AWS::EC2::CapacityReservationFleet. Source:- No source definition found, add manually please",
  "x-lintel": {
    "source": "https://raw.githubusercontent.com/lalcebo/json-schema/master/serverless/resources/cloudformation-modified/aws-ec2-capacityreservationfleet.json",
    "sourceSha256": "d1f7ae883264e6510a3f951cf3b1e441e7a45b4bee49f4a673e89778cd851942"
  },
  "type": "object",
  "properties": {
    "AllocationStrategy": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ]
    },
    "TagSpecifications": {
      "type": "array",
      "insertionOrder": false,
      "uniqueItems": false,
      "items": {
        "$ref": "#/$defs/TagSpecification"
      }
    },
    "InstanceTypeSpecifications": {
      "type": "array",
      "insertionOrder": false,
      "uniqueItems": true,
      "maxItems": 50,
      "items": {
        "$ref": "#/$defs/InstanceTypeSpecification"
      }
    },
    "TotalTargetCapacity": {
      "type": "integer",
      "minimum": 1,
      "maximum": 25000
    },
    "EndDate": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ]
    },
    "InstanceMatchCriteria": {
      "oneOf": [
        {
          "type": "string",
          "enum": [
            "open"
          ]
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ]
    },
    "Tenancy": {
      "oneOf": [
        {
          "type": "string",
          "enum": [
            "default"
          ]
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ]
    },
    "RemoveEndDate": {
      "type": "boolean"
    },
    "NoRemoveEndDate": {
      "type": "boolean"
    }
  },
  "typeName": "AWS::EC2::CapacityReservationFleet",
  "readOnlyProperties": [
    "/properties/CapacityReservationFleetId"
  ],
  "$defs": {
    "InstanceTypeSpecification": {
      "type": "object",
      "title": "AWSEC2CapacityReservationFleetInstanceTypeSpecificationDefinition",
      "properties": {
        "InstanceType": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "InstancePlatform": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "Weight": {
          "type": "number"
        },
        "AvailabilityZone": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "AvailabilityZoneId": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "EbsOptimized": {
          "type": "boolean"
        },
        "Priority": {
          "type": "integer",
          "minimum": 0,
          "maximum": 999
        }
      },
      "additionalProperties": false
    },
    "Tag": {
      "type": "object",
      "title": "AWSEC2CapacityReservationFleetTagDefinition",
      "properties": {
        "Value": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "Key": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "required": [
        "Value",
        "Key"
      ],
      "additionalProperties": false
    },
    "TagSpecification": {
      "type": "object",
      "title": "AWSEC2CapacityReservationFleetTagSpecificationDefinition",
      "properties": {
        "ResourceType": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "Tags": {
          "type": "array",
          "insertionOrder": false,
          "uniqueItems": false,
          "items": {
            "$ref": "#/$defs/Tag"
          }
        }
      },
      "additionalProperties": false
    }
  },
  "taggable": true,
  "primaryIdentifier": [
    "/properties/CapacityReservationFleetId"
  ],
  "additionalProperties": false,
  "createOnlyProperties": [
    "/properties/InstanceTypeSpecifications",
    "/properties/AllocationStrategy",
    "/properties/TagSpecifications",
    "/properties/EndDate",
    "/properties/Tenancy",
    "/properties/InstanceMatchCriteria"
  ]
}
