Module Values.GetReservationPurchaseRecommendationResponseSource

Gets recommendations for reservation purchases. These recommendations might help you to reduce your costs. Reservations provide a discounted hourly rate (up to 75%) compared to On-Demand pricing. Amazon Web Services generates your recommendations by identifying your On-Demand usage during a specific time period and collecting your usage into categories that are eligible for a reservation. After Amazon Web Services has these categories, it simulates every combination of reservations in each category of usage to identify the best number of each type of Reserved Instance (RI) to purchase to maximize your estimated savings. For example, Amazon Web Services automatically aggregates your Amazon EC2 Linux, shared tenancy, and c4 family usage in the US West (Oregon) Region and recommends that you buy size-flexible regional reservations to apply to the c4 family usage. Amazon Web Services recommends the smallest size instance in an instance family. This makes it easier to purchase a size-flexible Reserved Instance (RI). Amazon Web Services also shows the equal number of normalized units. This way, you can purchase any instance size that you want. For this example, your RI recommendation is for c4.large because that is the smallest size instance in the c4 instance family.

Sourcetype nonrec t = {
  1. metadata : ReservationPurchaseRecommendationMetadata.t option;
    (*

    Information about this specific recommendation call, such as the time stamp for when Cost Explorer generated this recommendation.

    *)
  2. recommendations : ReservationPurchaseRecommendations.t option;
    (*

    Recommendations for reservations to purchase.

    *)
  3. nextPageToken : NextPageToken.t option;
    (*

    The pagination token for the next set of retrievable results.

    *)
}
Sourcetype nonrec error = [
  1. | `DataUnavailableException of DataUnavailableException.t
  2. | `InvalidNextTokenException of InvalidNextTokenException.t
  3. | `LimitExceededException of LimitExceededException.t
  4. | `Unknown_operation_error of string * string option
]
Sourceval make : ?metadata:??? -> ?recommendations:??? -> ?nextPageToken:??? -> unit -> t
Sourceval error_of_json : string -> Yojson.Safe.t -> [> `DataUnavailableException of DataUnavailableException.t | `InvalidNextTokenException of InvalidNextTokenException.t | `LimitExceededException of LimitExceededException.t | `Unknown_operation_error of string * string option ]
Sourceval error_of_xml : string -> Awso.Xml.t -> [> `DataUnavailableException of DataUnavailableException.t | `InvalidNextTokenException of InvalidNextTokenException.t | `LimitExceededException of LimitExceededException.t | `Unknown_operation_error of string * string option ]
Sourceval error_to_json : error -> Yojson.Safe.t
Sourceval to_value : t -> [> `Structure of (string * [> `List of [> `Structure of (string * [> `Enum of string | `List of [> `Structure of (string * [> `String of GenericString.t | `Structure of (string * [> `Structure of (string * [> `Boolean of GenericBoolean.t | `String of GenericString.t ]) list ]) list ]) list ] list | `Structure of (string * [> `String of GenericString.t | `Structure of (string * [> `Enum of string ]) list ]) list ]) list ] list | `String of NextPageToken.t | `Structure of (string * [> `String of GenericString.t ]) list ]) list ]
Sourceval to_query : t -> Awso.Client.Query.t
Sourceval of_xml : Awso.Xml.t -> t
Sourceval of_string : string -> t
Sourceval of_json : Yojson.Safe.t -> t
Sourceval to_json : t -> Yojson.Safe.t