{
  "$id": "schema.json",
  "type": "object",
  "schema": "http://json-schema.org/draft-07/schema#",
  "translate": true,
  "dynamicfields": true,
  "properties": {
    "ph_request_type": {
      "type": "string",
      "description": "type of request (internal to adapter)",
      "default": "describeFleets",
      "enum": [
        "describeFleets",
        "describeFleetHistory",
        "describeSpotFleetRequests",
        "describeSpotFleetRequestHistory",
        "createFleet",
        "modifyFleet",
        "modifySpotFleetRequest",
        "requestSpotFleet",
        "cancelSpotFleetRequests",
        "deleteFleets"
      ],
      "external_name": "ph_request_type"
    },
    "fleetId": {
      "description": "The ID of the EC2 Fleet.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "FleetId"
    },
    "spotFleetRequestId": {
      "description": "The ID of the Spot Fleet request.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "SpotFleetRequestId"
    },
    "dryRun": {
      "description": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "DryRun"
    },
    "spotFleetRequestConfigAllocationStrategy": {
      "description": "Describes the configuration of a Spot Fleet request.\nIndicates how to allocate the target capacity across the Spot pools specified by the Spot Fleet request. The default ...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "SpotFleetRequestConfig.AllocationStrategy"
    },
    "spotFleetRequestConfigOnDemandAllocationStrategy": {
      "description": "Describes the configuration of a Spot Fleet request.\nThe order of the launch template overrides to use in fulfilling On-Demand capacity. If you specify  lowestPrice , Spo...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "SpotFleetRequestConfig.OnDemandAllocationStrategy"
    },
    "spotFleetRequestConfigClientToken": {
      "description": "Describes the configuration of a Spot Fleet request.\nA unique, case-sensitive identifier that you provide to ensure the idempotency of your listings. This helps to avoid ...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "SpotFleetRequestConfig.ClientToken"
    },
    "spotFleetRequestConfigExcessCapacityTerminationPolicy": {
      "description": "Describes the configuration of a Spot Fleet request.\nIndicates whether running Spot Instances should be terminated if you decrease the target capacity of the Spot Fleet r...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "SpotFleetRequestConfig.ExcessCapacityTerminationPolicy"
    },
    "spotFleetRequestConfigFulfilledCapacity": {
      "description": "Describes the configuration of a Spot Fleet request.\nThe number of units fulfilled by this request compared to the set target capacity. You cannot set this value.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "SpotFleetRequestConfig.FulfilledCapacity"
    },
    "spotFleetRequestConfigOnDemandFulfilledCapacity": {
      "description": "Describes the configuration of a Spot Fleet request.\nThe number of On-Demand units fulfilled by this request compared to the set target On-Demand capacity.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "SpotFleetRequestConfig.OnDemandFulfilledCapacity"
    },
    "spotFleetRequestConfigIamFleetRole": {
      "description": "Describes the configuration of a Spot Fleet request.\nThe Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that grants the Spot Fleet the per...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "SpotFleetRequestConfig.IamFleetRole"
    },
    "spotFleetRequestConfigLaunchSpecifications": {
      "description": "Describes the configuration of a Spot Fleet request.\nThe launch specifications for the Spot Fleet request. If you specify  LaunchSpecifications , you can&#39;t specify  Launc...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "SpotFleetRequestConfig.LaunchSpecifications"
    },
    "spotFleetRequestConfigLaunchTemplateConfigs": {
      "description": "Describes the configuration of a Spot Fleet request.\nThe launch template and overrides. If you specify  LaunchTemplateConfigs , you can&#39;t specify  LaunchSpecifications . ...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "SpotFleetRequestConfig.LaunchTemplateConfigs"
    },
    "spotFleetRequestConfigSpotPrice": {
      "description": "Describes the configuration of a Spot Fleet request.\nThe maximum price per unit hour that you are willing to pay for a Spot Instance. The default is the On-Demand price.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "SpotFleetRequestConfig.SpotPrice"
    },
    "spotFleetRequestConfigTargetCapacity": {
      "description": "Describes the configuration of a Spot Fleet request.\nThe number of units to request for the Spot Fleet. You can choose to set the target capacity in terms of instances or...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "SpotFleetRequestConfig.TargetCapacity"
    },
    "spotFleetRequestConfigOnDemandTargetCapacity": {
      "description": "Describes the configuration of a Spot Fleet request.\nThe number of On-Demand units to request. You can choose to set the target capacity in terms of instances or a perfor...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "SpotFleetRequestConfig.OnDemandTargetCapacity"
    },
    "spotFleetRequestConfigTerminateInstancesWithExpiration": {
      "description": "Describes the configuration of a Spot Fleet request.\nIndicates whether running Spot Instances are terminated when the Spot Fleet request expires.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "SpotFleetRequestConfig.TerminateInstancesWithExpiration"
    },
    "spotFleetRequestConfigType": {
      "description": "Describes the configuration of a Spot Fleet request.\nThe type of request. Indicates whether the Spot Fleet only requests the target capacity or also attempts to maintain ...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "SpotFleetRequestConfig.Type"
    },
    "spotFleetRequestConfigValidFrom": {
      "description": "Describes the configuration of a Spot Fleet request.\nThe start date and time of the request, in UTC format ( YYYY - MM - DD T HH : MM : SS Z). By default, Amazon EC2 star...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "SpotFleetRequestConfig.ValidFrom"
    },
    "spotFleetRequestConfigValidUntil": {
      "description": "Describes the configuration of a Spot Fleet request.\nThe end date and time of the request, in UTC format ( YYYY - MM - DD T HH : MM : SS Z). After the end date and time, ...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "SpotFleetRequestConfig.ValidUntil"
    },
    "spotFleetRequestConfigReplaceUnhealthyInstances": {
      "description": "Describes the configuration of a Spot Fleet request.\nIndicates whether Spot Fleet should replace unhealthy instances.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "SpotFleetRequestConfig.ReplaceUnhealthyInstances"
    },
    "spotFleetRequestConfigInstanceInterruptionBehavior": {
      "description": "Describes the configuration of a Spot Fleet request.\nThe behavior when a Spot Instance is interrupted. The default is  terminate .",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "SpotFleetRequestConfig.InstanceInterruptionBehavior"
    },
    "spotFleetRequestConfigLoadBalancersConfig": {
      "description": "Describes the configuration of a Spot Fleet request.\n One or more Classic Load Balancers and target groups to attach to the Spot Fleet request. Spot Fleet registers the r...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "SpotFleetRequestConfig.LoadBalancersConfig"
    },
    "spotFleetRequestConfigInstancePoolsToUseCount": {
      "description": "Describes the configuration of a Spot Fleet request.\nThe number of Spot pools across which to allocate your target Spot capacity. Valid only when Spot  AllocationStrategy...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "SpotFleetRequestConfig.InstancePoolsToUseCount"
    },
    "excessCapacityTerminationPolicy": {
      "description": "Indicates whether running Spot Instances should be terminated if the target capacity of the Spot Fleet request is decreased below the current size of the Spot Fleet.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "ExcessCapacityTerminationPolicy"
    },
    "targetCapacity": {
      "description": "The size of the fleet.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "TargetCapacity"
    },
    "action": {
      "description": "",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "Action"
    },
    "version": {
      "description": "",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "Version"
    },
    "targetCapacitySpecificationTotalTargetCapacity": {
      "description": "The number of units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application work...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "TargetCapacitySpecification.TotalTargetCapacity"
    },
    "targetCapacitySpecificationOnDemandTargetCapacity": {
      "description": "The number of units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application work...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "TargetCapacitySpecification.OnDemandTargetCapacity"
    },
    "targetCapacitySpecificationSpotTargetCapacity": {
      "description": "The number of units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application work...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "TargetCapacitySpecification.SpotTargetCapacity"
    },
    "targetCapacitySpecificationDefaultTargetCapacityType": {
      "description": "The number of units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application work...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "TargetCapacitySpecification.DefaultTargetCapacityType"
    },
    "eventType": {
      "description": "The type of events to describe. By default, all events are described.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "EventType"
    },
    "maxResults": {
      "description": "The maximum number of results to return in a single call. Specify a value between 1 and 1000. The default value is 1000. To retrieve the remaining results, make another c...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "MaxResults"
    },
    "nextToken": {
      "description": "The token for the next set of results.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "NextToken"
    },
    "startTime": {
      "description": "The start date and time for the events, in UTC format (for example,  YYYY - MM - DD T HH : MM : SS Z).",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "StartTime"
    },
    "terminateInstances": {
      "description": "Indicates whether to terminate instances for a Spot Fleet request if it is canceled successfully.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "TerminateInstances"
    },
    "clientToken": {
      "description": "Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see  Ensuring Idempotency .",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "ClientToken"
    },
    "spotOptionsAllocationStrategy": {
      "description": "Describes the configuration of Spot Instances in an EC2 Fleet request.\nIndicates how to allocate the target capacity across the Spot pools specified by the Spot Fleet req...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "SpotOptions.AllocationStrategy"
    },
    "spotOptionsInstanceInterruptionBehavior": {
      "description": "Describes the configuration of Spot Instances in an EC2 Fleet request.\nThe behavior when a Spot Instance is interrupted. The default is  terminate .",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "SpotOptions.InstanceInterruptionBehavior"
    },
    "spotOptionsInstancePoolsToUseCount": {
      "description": "Describes the configuration of Spot Instances in an EC2 Fleet request.\nThe number of Spot pools across which to allocate your target Spot capacity. Valid only when Spot  ...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "SpotOptions.InstancePoolsToUseCount"
    },
    "spotOptionsSingleInstanceType": {
      "description": "Describes the configuration of Spot Instances in an EC2 Fleet request.\nIndicates that the fleet uses a single instance type to launch all Spot Instances in the fleet.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "SpotOptions.SingleInstanceType"
    },
    "spotOptionsSingleAvailabilityZone": {
      "description": "Describes the configuration of Spot Instances in an EC2 Fleet request.\nIndicates that the fleet launches all Spot Instances into a single Availability Zone.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "SpotOptions.SingleAvailabilityZone"
    },
    "spotOptionsMinTargetCapacity": {
      "description": "Describes the configuration of Spot Instances in an EC2 Fleet request.\nThe minimum target capacity for Spot Instances in the fleet. If the minimum target capacity is not ...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "SpotOptions.MinTargetCapacity"
    },
    "onDemandOptionsAllocationStrategy": {
      "description": "The allocation strategy of On-Demand Instances in an EC2 Fleet.\nThe order of the launch template overrides to use in fulfilling On-Demand capacity. If you specify  lowest...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "OnDemandOptions.AllocationStrategy"
    },
    "onDemandOptionsSingleInstanceType": {
      "description": "The allocation strategy of On-Demand Instances in an EC2 Fleet.\nIndicates that the fleet uses a single instance type to launch all On-Demand Instances in the fleet.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "OnDemandOptions.SingleInstanceType"
    },
    "onDemandOptionsSingleAvailabilityZone": {
      "description": "The allocation strategy of On-Demand Instances in an EC2 Fleet.\nIndicates that the fleet launches all On-Demand Instances into a single Availability Zone.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "OnDemandOptions.SingleAvailabilityZone"
    },
    "onDemandOptionsMinTargetCapacity": {
      "description": "The allocation strategy of On-Demand Instances in an EC2 Fleet.\nThe minimum target capacity for On-Demand Instances in the fleet. If the minimum target capacity is not re...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "OnDemandOptions.MinTargetCapacity"
    },
    "launchTemplateConfigs": {
      "description": "The configuration for the EC2 Fleet.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "LaunchTemplateConfigs"
    },
    "terminateInstancesWithExpiration": {
      "description": "Indicates whether running instances should be terminated when the EC2 Fleet expires.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "TerminateInstancesWithExpiration"
    },
    "type": {
      "description": "The type of the request. By default, the EC2 Fleet places an asynchronous request for your desired capacity, and maintains it by replenishing interrupted Spot Instances (...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "Type"
    },
    "validFrom": {
      "description": "The start date and time of the request, in UTC format (for example,  YYYY - MM - DD T HH : MM : SS Z). The default is to start fulfilling the request immediately.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "ValidFrom"
    },
    "validUntil": {
      "description": "The end date and time of the request, in UTC format (for example,  YYYY - MM - DD T HH : MM : SS Z). At this point, no new EC2 Fleet requests are placed or able to fulfil...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "ValidUntil"
    },
    "replaceUnhealthyInstances": {
      "description": "Indicates whether EC2 Fleet should replace unhealthy instances.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "ReplaceUnhealthyInstances"
    },
    "tagSpecification": {
      "description": "The key-value pair for tagging the EC2 Fleet request on creation. The value for  ResourceType  must be  fleet , otherwise the fleet request fails. To tag instances at lau...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "TagSpecification"
    },
    "filter": {
      "description": "The filters.         activity-status  - The progress of the EC2 Fleet (  error  |  pending-fulfillment  |  pending-termination  |  fulfilled ).         excess-capacity-t...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "Filter"
    },
    "bodyFormData": {
      "description": "",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "body"
    }
  },
  "definitions": {}
}