Module Smaws_Client_CostOptimizationHub.Types

type nonrec usage = {
  1. unit_ : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The usage unit.

    *)
  2. product_code : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The product code.

    *)
  3. operation : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The operation value.

    *)
  4. usage_amount : Smaws_Lib.Smithy_api.Types.double option;
    (*

    The usage amount.

    *)
  5. usage_type : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The usage type.

    *)
}

Details about the usage.

type nonrec usage_list = usage list
type nonrec estimated_discounts = {
  1. other_discount : Smaws_Lib.Smithy_api.Types.double option;
    (*

    Estimated other discounts include all discounts that are not itemized. Itemized discounts include reservedInstanceDiscount and savingsPlansDiscount.

    *)
  2. reserved_instances_discount : Smaws_Lib.Smithy_api.Types.double option;
    (*

    Estimated reserved instance discounts.

    *)
  3. savings_plans_discount : Smaws_Lib.Smithy_api.Types.double option;
    (*

    Estimated Savings Plans discounts.

    *)
}

Estimated discount details of the current and recommended resource configuration for a recommendation.

type nonrec resource_pricing = {
  1. estimated_cost_after_discounts : Smaws_Lib.Smithy_api.Types.double option;
    (*

    The savings estimate incorporating all discounts with Amazon Web Services, such as Reserved Instances and Savings Plans.

    *)
  2. estimated_discounts : estimated_discounts option;
    (*

    The estimated discounts for a recommendation.

    *)
  3. estimated_net_unused_amortized_commitments : Smaws_Lib.Smithy_api.Types.double option;
    (*

    The estimated net unused amortized commitment for the recommendation.

    *)
  4. estimated_cost_before_discounts : Smaws_Lib.Smithy_api.Types.double option;
    (*

    The savings estimate using Amazon Web Services public pricing without incorporating any discounts.

    *)
}

Contains pricing information about the specified resource.

type nonrec resource_cost_calculation = {
  1. pricing : resource_pricing option;
    (*

    Pricing details of the resource recommendation.

    *)
  2. usages : usage_list option;
    (*

    Usage details of the resource recommendation.

    *)
}

Cost impact of the resource recommendation.

type nonrec work_spaces = {
  1. cost_calculation : resource_cost_calculation option;
}

The WorkSpaces recommendation details.

type nonrec validation_exception_reason =
  1. | OTHER
  2. | FIELD_VALIDATION_FAILED
type nonrec validation_exception_detail = {
  1. message : Smaws_Lib.Smithy_api.Types.string_;
    (*

    A message with the reason for the validation exception error.

    *)
  2. field_name : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The field name where the invalid entry was detected.

    *)
}

The input failed to meet the constraints specified by the Amazon Web Services service in a specified field.

type nonrec validation_exception_details = validation_exception_detail list
type nonrec validation_exception = {
  1. fields : validation_exception_details option;
    (*

    The list of fields that are invalid.

    *)
  2. reason : validation_exception_reason option;
    (*

    The reason for the validation exception.

    *)
  3. message : Smaws_Lib.Smithy_api.Types.string_;
}

The input fails to satisfy the constraints specified by an Amazon Web Services service.

type nonrec savings_estimation_mode =
  1. | AFTER_DISCOUNTS
  2. | BEFORE_DISCOUNTS
type nonrec member_account_discount_visibility =
  1. | NONE
  2. | ALL
type nonrec term =
  1. | THREE_YEARS
  2. | ONE_YEAR
type nonrec payment_option =
  1. | NO_UPFRONT
  2. | PARTIAL_UPFRONT
  3. | ALL_UPFRONT
type nonrec preferred_commitment = {
  1. payment_option : payment_option option;
    (*

    The preferred upfront payment structure for commitments. If the value is null, it will default to AllUpfront (highest savings) where applicable.

    *)
  2. term : term option;
    (*

    The preferred length of the commitment period. If the value is null, it will default to ThreeYears (highest savings) where applicable.

    *)
}

The preferred configuration for Reserved Instances and Savings Plans commitment-based discounts, consisting of a payment option and a commitment duration.

type nonrec update_preferences_response = {
  1. preferred_commitment : preferred_commitment option;
    (*

    Shows the updated preferences for how Reserved Instances and Savings Plans cost-saving opportunities are prioritized in terms of payment option and term length.

    *)
  2. member_account_discount_visibility : member_account_discount_visibility option;
    (*

    Shows the status of the "member account discount visibility" preference.

    *)
  3. savings_estimation_mode : savings_estimation_mode option;
    (*

    Shows the status of the "savings estimation mode" preference.

    *)
}
type nonrec update_preferences_request = {
  1. preferred_commitment : preferred_commitment option;
    (*

    Sets the preferences for how Reserved Instances and Savings Plans cost-saving opportunities are prioritized in terms of payment option and term length.

    *)
  2. member_account_discount_visibility : member_account_discount_visibility option;
    (*

    Sets the "member account discount visibility" preference.

    *)
  3. savings_estimation_mode : savings_estimation_mode option;
    (*

    Sets the "savings estimation mode" preference.

    *)
}
type nonrec throttling_exception = {
  1. message : Smaws_Lib.Smithy_api.Types.string_ option;
}

The request was denied due to request throttling.

type nonrec internal_server_exception = {
  1. message : Smaws_Lib.Smithy_api.Types.string_;
}

An error on the server occurred during the processing of your request. Try again later.

type nonrec access_denied_exception = {
  1. message : Smaws_Lib.Smithy_api.Types.string_;
}

You are not authorized to use this operation with the given parameters.

type nonrec update_enrollment_status_response = {
  1. status : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The enrollment status of the account.

    *)
}
type nonrec enrollment_status =
  1. | INACTIVE
  2. | ACTIVE
type nonrec update_enrollment_status_request = {
  1. include_member_accounts : Smaws_Lib.Smithy_api.Types.boolean_ option;
    (*

    Indicates whether to enroll member accounts of the organization if the account is the management account or delegated administrator.

    *)
  2. status : enrollment_status;
    (*

    Sets the account status.

    *)
}
type nonrec time_period = {
  1. end_ : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The end of the time period (exclusive). Specify the date in ISO 8601 format, such as 2024-12-31.

    *)
  2. start : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The beginning of the time period (inclusive). Specify the date in ISO 8601 format, such as 2024-01-01.

    *)
}

Specifies a date range for retrieving efficiency metrics. The start date is inclusive and the end date is exclusive.

type nonrec tag = {
  1. value : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The value that's associated with the tag.

    *)
  2. key : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The key that's associated with the tag.

    *)
}

The tag structure that contains a tag key and value.

type nonrec tag_list = tag list
type nonrec summary_metrics_result = {
  1. savings_percentage : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The savings percentage based on your Amazon Web Services spend over the past 30 days.

    Savings percentage is only supported when filtering by Region, account ID, or tags.

    *)
}

The results or descriptions for the additional metrics, based on whether the metrics were or were not requested.

type nonrec summary_metrics =
  1. | SAVINGS_PERCENTAGE
type nonrec summary_metrics_list = summary_metrics list
type nonrec storage_configuration = {
  1. size_in_gb : Smaws_Lib.Smithy_api.Types.double option;
    (*

    The storage volume.

    *)
  2. type_ : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The storage type.

    *)
}

The storage configuration used for recommendations.

type nonrec source =
  1. | COST_EXPLORER
  2. | COMPUTE_OPTIMIZER
type nonrec savings_plans_pricing = {
  1. estimated_on_demand_cost : Smaws_Lib.Smithy_api.Types.double option;
    (*

    Estimated On-Demand cost you will pay after buying the Savings Plans.

    *)
  2. savings_percentage : Smaws_Lib.Smithy_api.Types.double option;
    (*

    Estimated savings as a percentage of your overall costs after buying the Savings Plans.

    *)
  3. estimated_monthly_commitment : Smaws_Lib.Smithy_api.Types.double option;
    (*

    Estimated monthly commitment for the Savings Plans.

    *)
  4. monthly_savings_plans_eligible_cost : Smaws_Lib.Smithy_api.Types.double option;
    (*

    The cost of paying for the recommended Savings Plans monthly.

    *)
}

Pricing information about a Savings Plans.

type nonrec savings_plans_cost_calculation = {
  1. pricing : savings_plans_pricing option;
    (*

    Pricing details of the purchase recommendation.

    *)
}

Cost impact of the purchase recommendation.

type nonrec sage_maker_savings_plans_configuration = {
  1. hourly_commitment : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The hourly commitment for the Savings Plans type.

    *)
  2. payment_option : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The payment option for the commitment.

    *)
  3. term : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The Savings Plans recommendation term in years.

    *)
  4. account_scope : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The account scope for which you want recommendations.

    *)
}

The SageMaker Savings Plans configuration used for recommendations.

type nonrec sage_maker_savings_plans = {
  1. cost_calculation : savings_plans_cost_calculation option;
    (*

    Cost impact of the Savings Plans purchase recommendation.

    *)
  2. configuration : sage_maker_savings_plans_configuration option;
    (*

    The SageMaker Savings Plans configuration used for recommendations.

    *)
}

The SageMaker Savings Plans recommendation details.

type nonrec sage_maker_endpoint = {
  1. cost_calculation : resource_cost_calculation option;
}

The SageMaker endpoint recommendation details.

type nonrec resource_type =
  1. | SAGE_MAKER_ENDPOINT
  2. | WORK_SPACES
  3. | DOCUMENT_DB_CLUSTER
  4. | MEMORY_DB_CLUSTER
  5. | ELASTI_CACHE_CLUSTER
  6. | DYNAMO_DB_TABLE
  7. | NAT_GATEWAY
  8. | MEMORY_DB_RESERVED_INSTANCES
  9. | DYNAMO_DB_RESERVED_CAPACITY
  10. | AURORA_DB_CLUSTER_STORAGE
  11. | RDS_DB_INSTANCE
  12. | RDS_DB_INSTANCE_STORAGE
  13. | ELASTI_CACHE_RESERVED_INSTANCES
  14. | REDSHIFT_RESERVED_INSTANCES
  15. | OPEN_SEARCH_RESERVED_INSTANCES
  16. | RDS_RESERVED_INSTANCES
  17. | EC2_RESERVED_INSTANCES
  18. | SAGE_MAKER_SAVINGS_PLANS
  19. | COMPUTE_SAVINGS_PLANS
  20. | EC2_INSTANCE_SAVINGS_PLANS
  21. | EC2_AUTO_SCALING_GROUP
  22. | ECS_SERVICE
  23. | EBS_VOLUME
  24. | LAMBDA_FUNCTION
  25. | EC2_INSTANCE
type nonrec resource_type_list = resource_type list
type nonrec resource_not_found_exception = {
  1. resource_id : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The identifier of the resource that was not found.

    *)
  2. message : Smaws_Lib.Smithy_api.Types.string_;
}

The specified Amazon Resource Name (ARN) in the request doesn't exist.

type nonrec resource_id_list = Smaws_Lib.Smithy_api.Types.string_ list
type nonrec compute_configuration = {
  1. platform : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The platform of the resource. The platform is the specific combination of operating system, license model, and software on an instance.

    *)
  2. architecture : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The architecture of the resource.

    *)
  3. memory_size_in_m_b : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    The memory size of the resource.

    *)
  4. v_cpu : Smaws_Lib.Smithy_api.Types.double option;
    (*

    The number of vCPU cores in the resource.

    *)
}

Describes the performance configuration for compute services such as Amazon EC2, Lambda, and ECS.

type nonrec lambda_function_configuration = {
  1. compute : compute_configuration option;
    (*

    Details about the compute configuration.

    *)
}

The Lambda function configuration used for recommendations.

type nonrec lambda_function = {
  1. cost_calculation : resource_cost_calculation option;
    (*

    Cost impact of the recommendation.

    *)
  2. configuration : lambda_function_configuration option;
    (*

    The Lambda function configuration used for recommendations.

    *)
}

The Lambda function recommendation details.

type nonrec ecs_service_configuration = {
  1. compute : compute_configuration option;
    (*

    Details about the compute configuration.

    *)
}

The ECS service configuration used for recommendations.

type nonrec ecs_service = {
  1. cost_calculation : resource_cost_calculation option;
    (*

    Cost impact of the recommendation.

    *)
  2. configuration : ecs_service_configuration option;
    (*

    The ECS service configuration used for recommendations.

    *)
}

The ECS service recommendation details.

type nonrec instance_configuration = {
  1. type_ : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The instance type of the configuration.

    *)
}

The instance configuration used for recommendations.

type nonrec ec2_instance_configuration = {
  1. instance : instance_configuration option;
    (*

    Details about the instance.

    *)
}

The EC2 instance configuration used for recommendations.

type nonrec ec2_instance = {
  1. cost_calculation : resource_cost_calculation option;
    (*

    Cost impact of the recommendation.

    *)
  2. configuration : ec2_instance_configuration option;
    (*

    The EC2 instance configuration used for recommendations.

    *)
}

Describes the EC2 instance configuration of the current and recommended resource configuration for a recommendation.

type nonrec block_storage_performance_configuration = {
  1. throughput : Smaws_Lib.Smithy_api.Types.double option;
    (*

    The throughput that the volume supports.

    *)
  2. iops : Smaws_Lib.Smithy_api.Types.double option;
    (*

    The number of I/O operations per second.

    *)
}

Describes the Amazon Elastic Block Store performance configuration of the current and recommended resource configuration for a recommendation.

type nonrec ebs_volume_configuration = {
  1. attachment_state : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The Amazon Elastic Block Store attachment state.

    *)
  2. performance : block_storage_performance_configuration option;
    (*

    The Amazon Elastic Block Store performance configuration.

    *)
  3. storage : storage_configuration option;
    (*

    The disk storage of the Amazon Elastic Block Store volume.

    *)
}

The Amazon Elastic Block Store volume configuration used for recommendations.

type nonrec ebs_volume = {
  1. cost_calculation : resource_cost_calculation option;
    (*

    Cost impact of the recommendation.

    *)
  2. configuration : ebs_volume_configuration option;
    (*

    The Amazon Elastic Block Store volume configuration used for recommendations.

    *)
}

Describes the Amazon Elastic Block Store volume configuration of the current and recommended resource configuration for a recommendation.

type nonrec mixed_instance_configuration = {
  1. type_ : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The instance type of the configuration.

    *)
}

The configuration for the EC2 Auto Scaling group with mixed instance types.

type nonrec mixed_instance_configuration_list = mixed_instance_configuration list
type nonrec ec2_auto_scaling_group_type =
  1. | MIXED_INSTANCE_TYPES
  2. | SINGLE_INSTANCE_TYPE
type nonrec allocation_strategy =
  1. | LOWEST_PRICE
  2. | PRIORITIZED
type nonrec ec2_auto_scaling_group_configuration = {
  1. allocation_strategy : allocation_strategy option;
    (*

    The strategy used for allocating instances, based on a predefined priority order or based on the lowest available price.

    *)
  2. type_ : ec2_auto_scaling_group_type option;
    (*

    The type of EC2 Auto Scaling group, showing whether it consists of a single instance type or mixed instance types.

    *)
  3. mixed_instances : mixed_instance_configuration_list option;
    (*

    A list of instance types for an EC2 Auto Scaling group with mixed instance types.

    *)
  4. instance : instance_configuration option;
    (*

    Details about the instance for the EC2 Auto Scaling group with a single instance type.

    *)
}

The EC2 Auto Scaling group configuration used for recommendations.

type nonrec ec2_auto_scaling_group = {
  1. cost_calculation : resource_cost_calculation option;
    (*

    Cost impact of the recommendation.

    *)
  2. configuration : ec2_auto_scaling_group_configuration option;
    (*

    The EC2 Auto Scaling group configuration used for recommendations.

    *)
}

The EC2 Auto Scaling group recommendation details.

type nonrec ec2_reserved_instances_configuration = {
  1. size_flex_eligible : Smaws_Lib.Smithy_api.Types.boolean_ option;
    (*

    Determines whether the recommendation is size flexible.

    *)
  2. tenancy : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    Determines whether the recommended reservation is dedicated or shared.

    *)
  3. platform : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The platform of the recommended reservation. The platform is the specific combination of operating system, license model, and software on an instance.

    *)
  4. current_generation : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    Determines whether the recommendation is for a current generation instance.

    *)
  5. instance_type : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The type of instance that Amazon Web Services recommends.

    *)
  6. instance_family : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The instance family of the recommended reservation.

    *)
  7. offering_class : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    Indicates whether the recommendation is for standard or convertible reservations.

    *)
  8. number_of_instances_to_purchase : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The number of instances that Amazon Web Services recommends that you purchase.

    *)
  9. normalized_units_to_purchase : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The number of normalized units that Amazon Web Services recommends that you purchase.

    *)
  10. monthly_recurring_cost : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    How much purchasing these reserved instances costs you on a monthly basis.

    *)
  11. upfront_cost : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    How much purchasing this instance costs you upfront.

    *)
  12. reserved_instances_region : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The Amazon Web Services Region of the commitment.

    *)
  13. payment_option : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The payment option for the commitment.

    *)
  14. term : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The reserved instances recommendation term in years.

    *)
  15. service : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The service for which you want recommendations.

    *)
  16. account_scope : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The account scope for which you want recommendations.

    *)
}

The EC2 reserved instances configuration used for recommendations.

type nonrec reserved_instances_pricing = {
  1. estimated_monthly_amortized_reservation_cost : Smaws_Lib.Smithy_api.Types.double option;
    (*

    The estimated cost of your recurring monthly fees for the recommended reserved instance across the month.

    *)
  2. savings_percentage : Smaws_Lib.Smithy_api.Types.double option;
    (*

    The savings percentage relative to the total On-Demand costs that are associated with this instance.

    *)
  3. monthly_reservation_eligible_cost : Smaws_Lib.Smithy_api.Types.double option;
    (*

    The cost of paying for the recommended reserved instance monthly.

    *)
  4. estimated_on_demand_cost : Smaws_Lib.Smithy_api.Types.double option;
    (*

    The remaining On-Demand cost estimated to not be covered by the recommended reserved instance, over the length of the lookback period.

    *)
}

Pricing details for your recommended reserved instance.

type nonrec reserved_instances_cost_calculation = {
  1. pricing : reserved_instances_pricing option;
    (*

    Pricing details of the purchase recommendation.

    *)
}

Cost impact of the purchase recommendation.

type nonrec ec2_reserved_instances = {
  1. cost_calculation : reserved_instances_cost_calculation option;
    (*

    Cost impact of the purchase recommendation.

    *)
  2. configuration : ec2_reserved_instances_configuration option;
    (*

    The EC2 reserved instances configuration used for recommendations.

    *)
}

The EC2 reserved instances recommendation details.

type nonrec rds_reserved_instances_configuration = {
  1. deployment_option : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    Determines whether the recommendation is for a reservation in a single Availability Zone or a reservation with a backup in a second Availability Zone.

    *)
  2. database_engine : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The database engine that the recommended reservation supports.

    *)
  3. database_edition : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The database edition that the recommended reservation supports.

    *)
  4. license_model : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The license model that the recommended reservation supports.

    *)
  5. current_generation : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    Determines whether the recommendation is for a current generation instance.

    *)
  6. size_flex_eligible : Smaws_Lib.Smithy_api.Types.boolean_ option;
    (*

    Determines whether the recommendation is size flexible.

    *)
  7. instance_type : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The type of instance that Amazon Web Services recommends.

    *)
  8. instance_family : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The instance family of the recommended reservation.

    *)
  9. number_of_instances_to_purchase : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The number of instances that Amazon Web Services recommends that you purchase.

    *)
  10. normalized_units_to_purchase : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The number of normalized units that Amazon Web Services recommends that you purchase.

    *)
  11. monthly_recurring_cost : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    How much purchasing this instance costs you on a monthly basis.

    *)
  12. upfront_cost : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    How much purchasing this instance costs you upfront.

    *)
  13. reserved_instances_region : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The Amazon Web Services Region of the commitment.

    *)
  14. payment_option : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The payment option for the commitment.

    *)
  15. term : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The reserved instances recommendation term in years.

    *)
  16. service : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The service for which you want recommendations.

    *)
  17. account_scope : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The account scope for which you want recommendations.

    *)
}

The RDS reserved instances configuration used for recommendations.

type nonrec rds_reserved_instances = {
  1. cost_calculation : reserved_instances_cost_calculation option;
    (*

    Cost impact of the purchase recommendation.

    *)
  2. configuration : rds_reserved_instances_configuration option;
    (*

    The RDS reserved instances configuration used for recommendations.

    *)
}

The RDS reserved instances recommendation details.

type nonrec elasti_cache_reserved_instances_configuration = {
  1. size_flex_eligible : Smaws_Lib.Smithy_api.Types.boolean_ option;
    (*

    Determines whether the recommendation is size flexible.

    *)
  2. current_generation : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    Determines whether the recommendation is for a current generation instance.

    *)
  3. instance_type : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The type of instance that Amazon Web Services recommends.

    *)
  4. instance_family : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The instance family of the recommended reservation.

    *)
  5. number_of_instances_to_purchase : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The number of instances that Amazon Web Services recommends that you purchase.

    *)
  6. normalized_units_to_purchase : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The number of normalized units that Amazon Web Services recommends that you purchase.

    *)
  7. monthly_recurring_cost : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    How much purchasing these reserved instances costs you on a monthly basis.

    *)
  8. upfront_cost : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    How much purchasing this instance costs you upfront.

    *)
  9. reserved_instances_region : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The Amazon Web Services Region of the commitment.

    *)
  10. payment_option : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The payment option for the commitment.

    *)
  11. term : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The reserved instances recommendation term in years.

    *)
  12. service : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The service for which you want recommendations.

    *)
  13. account_scope : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The account scope for which you want recommendations.

    *)
}

The ElastiCache reserved instances configuration used for recommendations.

type nonrec elasti_cache_reserved_instances = {
  1. cost_calculation : reserved_instances_cost_calculation option;
    (*

    Cost impact of the purchase recommendation.

    *)
  2. configuration : elasti_cache_reserved_instances_configuration option;
    (*

    The ElastiCache reserved instances configuration used for recommendations.

    *)
}

The ElastiCache reserved instances recommendation details.

type nonrec open_search_reserved_instances_configuration = {
  1. size_flex_eligible : Smaws_Lib.Smithy_api.Types.boolean_ option;
    (*

    Determines whether the recommendation is size flexible.

    *)
  2. current_generation : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    Determines whether the recommendation is for a current generation instance.

    *)
  3. instance_type : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The type of instance that Amazon Web Services recommends.

    *)
  4. number_of_instances_to_purchase : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The number of instances that Amazon Web Services recommends that you purchase.

    *)
  5. normalized_units_to_purchase : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The number of normalized units that Amazon Web Services recommends that you purchase.

    *)
  6. monthly_recurring_cost : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    How much purchasing these reserved instances costs you on a monthly basis.

    *)
  7. upfront_cost : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    How much purchasing this instance costs you upfront.

    *)
  8. reserved_instances_region : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The Amazon Web Services Region of the commitment.

    *)
  9. payment_option : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The payment option for the commitment.

    *)
  10. term : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The reserved instances recommendation term in years.

    *)
  11. service : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The service for which you want recommendations.

    *)
  12. account_scope : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The account scope for which you want recommendations.

    *)
}

The OpenSearch reserved instances configuration used for recommendations.

type nonrec open_search_reserved_instances = {
  1. cost_calculation : reserved_instances_cost_calculation option;
    (*

    Cost impact of the purchase recommendation.

    *)
  2. configuration : open_search_reserved_instances_configuration option;
    (*

    The OpenSearch reserved instances configuration used for recommendations.

    *)
}

The OpenSearch reserved instances recommendation details.

type nonrec redshift_reserved_instances_configuration = {
  1. current_generation : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    Determines whether the recommendation is for a current generation instance.

    *)
  2. size_flex_eligible : Smaws_Lib.Smithy_api.Types.boolean_ option;
    (*

    Determines whether the recommendation is size flexible.

    *)
  3. instance_type : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The type of instance that Amazon Web Services recommends.

    *)
  4. instance_family : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The instance family of the recommended reservation.

    *)
  5. number_of_instances_to_purchase : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The number of instances that Amazon Web Services recommends that you purchase.

    *)
  6. normalized_units_to_purchase : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The number of normalized units that Amazon Web Services recommends that you purchase.

    *)
  7. monthly_recurring_cost : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    How much purchasing these reserved instances costs you on a monthly basis.

    *)
  8. upfront_cost : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    How much purchasing this instance costs you upfront.

    *)
  9. reserved_instances_region : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The Amazon Web Services Region of the commitment.

    *)
  10. payment_option : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The payment option for the commitment.

    *)
  11. term : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The reserved instances recommendation term in years.

    *)
  12. service : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The service for which you want recommendations.

    *)
  13. account_scope : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The account scope for which you want recommendations.

    *)
}

The Redshift reserved instances configuration used for recommendations.

type nonrec redshift_reserved_instances = {
  1. cost_calculation : reserved_instances_cost_calculation option;
    (*

    Cost impact of the purchase recommendation.

    *)
  2. configuration : redshift_reserved_instances_configuration option;
    (*

    The Redshift reserved instances configuration used for recommendations.

    *)
}

The Redshift reserved instances recommendation details.

type nonrec ec2_instance_savings_plans_configuration = {
  1. savings_plans_region : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The Amazon Web Services Region of the commitment.

    *)
  2. instance_family : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The instance family of the recommended Savings Plans.

    *)
  3. hourly_commitment : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The hourly commitment for the Savings Plans type.

    *)
  4. payment_option : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The payment option for the commitment.

    *)
  5. term : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The Savings Plans recommendation term in years.

    *)
  6. account_scope : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The account scope for which you want recommendations.

    *)
}

The EC2 instance Savings Plans configuration used for recommendations.

type nonrec ec2_instance_savings_plans = {
  1. cost_calculation : savings_plans_cost_calculation option;
    (*

    Cost impact of the Savings Plans purchase recommendation.

    *)
  2. configuration : ec2_instance_savings_plans_configuration option;
    (*

    The EC2 instance Savings Plans configuration used for recommendations.

    *)
}

The EC2 instance Savings Plans recommendation details.

type nonrec compute_savings_plans_configuration = {
  1. hourly_commitment : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The hourly commitment for the Savings Plans type.

    *)
  2. payment_option : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The payment option for the commitment.

    *)
  3. term : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The Savings Plans recommendation term in years.

    *)
  4. account_scope : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The account scope for which you want recommendations. Amazon Web Services calculates recommendations including the management account and member accounts if the value is set to PAYER. If the value is LINKED, recommendations are calculated for individual member accounts only.

    *)
}

The Compute Savings Plans configuration used for recommendations.

type nonrec compute_savings_plans = {
  1. cost_calculation : savings_plans_cost_calculation option;
    (*

    Cost impact of the Savings Plans purchase recommendation.

    *)
  2. configuration : compute_savings_plans_configuration option;
    (*

    Configuration details of the Compute Savings Plans to purchase.

    *)
}

The Compute Savings Plans recommendation details.

type nonrec db_instance_configuration = {
  1. db_instance_class : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The DB instance class of the DB instance.

    *)
}

The DB instance configuration used for recommendations.

type nonrec rds_db_instance_configuration = {
  1. instance : db_instance_configuration option;
    (*

    Details about the instance configuration.

    *)
}

The Amazon RDS DB instance configuration used for recommendations.

type nonrec rds_db_instance = {
  1. cost_calculation : resource_cost_calculation option;
  2. configuration : rds_db_instance_configuration option;
    (*

    The Amazon RDS DB instance configuration used for recommendations.

    *)
}

Contains the details of an Amazon RDS DB instance.

type nonrec rds_db_instance_storage_configuration = {
  1. storage_throughput : Smaws_Lib.Smithy_api.Types.double option;
    (*

    The storage throughput for the DB instance.

    *)
  2. iops : Smaws_Lib.Smithy_api.Types.double option;
    (*

    The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance.

    *)
  3. allocated_storage_in_gb : Smaws_Lib.Smithy_api.Types.double option;
    (*

    The new amount of storage in GB to allocate for the DB instance.

    *)
  4. storage_type : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The storage type to associate with the DB instance.

    *)
}

The Amazon RDS DB instance storage configuration used for recommendations.

type nonrec rds_db_instance_storage = {
  1. cost_calculation : resource_cost_calculation option;
  2. configuration : rds_db_instance_storage_configuration option;
    (*

    The Amazon RDS DB instance storage configuration used for recommendations.

    *)
}

Contains the details of an Amazon RDS DB instance storage.

type nonrec aurora_db_cluster_storage_configuration = {
  1. storage_type : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The storage type to associate with the Aurora DB cluster.

    *)
}

The Aurora DB cluster storage configuration used for recommendations.

type nonrec aurora_db_cluster_storage = {
  1. cost_calculation : resource_cost_calculation option;
  2. configuration : aurora_db_cluster_storage_configuration option;
    (*

    The Aurora DB cluster storage configuration used for recommendations.

    *)
}

Contains the details of an Aurora DB cluster storage.

type nonrec dynamo_db_reserved_capacity_configuration = {
  1. capacity_units : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The capacity unit of the recommended reservation.

    *)
  2. number_of_capacity_units_to_purchase : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The number of reserved capacity units that Amazon Web Services recommends that you purchase.

    *)
  3. monthly_recurring_cost : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    How much purchasing this reserved capacity costs you on a monthly basis.

    *)
  4. upfront_cost : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    How much purchasing this reserved capacity costs you upfront.

    *)
  5. reserved_instances_region : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The Amazon Web Services Region of the commitment.

    *)
  6. payment_option : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The payment option for the commitment.

    *)
  7. term : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The reserved capacity recommendation term in years.

    *)
  8. service : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The service for which you want recommendations.

    *)
  9. account_scope : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The account scope for which you want recommendations.

    *)
}

The DynamoDB reserved capacity configuration used for recommendations.

type nonrec dynamo_db_reserved_capacity = {
  1. cost_calculation : reserved_instances_cost_calculation option;
  2. configuration : dynamo_db_reserved_capacity_configuration option;
    (*

    The DynamoDB reserved capacity configuration used for recommendations.

    *)
}

The DynamoDB reserved capacity recommendation details.

type nonrec memory_db_reserved_instances_configuration = {
  1. current_generation : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    Determines whether the recommendation is for a current generation instance.

    *)
  2. size_flex_eligible : Smaws_Lib.Smithy_api.Types.boolean_ option;
    (*

    Determines whether the recommendation is size flexible.

    *)
  3. instance_family : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The instance family of the recommended reservation.

    *)
  4. instance_type : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The type of instance that Amazon Web Services recommends.

    *)
  5. number_of_instances_to_purchase : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The number of instances that Amazon Web Services recommends that you purchase.

    *)
  6. normalized_units_to_purchase : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The number of normalized units that Amazon Web Services recommends that you purchase.

    *)
  7. monthly_recurring_cost : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    How much purchasing these reserved instances costs you on a monthly basis.

    *)
  8. upfront_cost : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    How much purchasing these reserved instances costs you upfront.

    *)
  9. reserved_instances_region : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The Amazon Web Services Region of the commitment.

    *)
  10. payment_option : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The payment option for the commitment.

    *)
  11. term : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The reserved instances recommendation term in years.

    *)
  12. service : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The service for which you want recommendations.

    *)
  13. account_scope : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The account scope for which you want recommendations.

    *)
}

The MemoryDB reserved instances configuration used for recommendations.

While the API reference uses "MemoryDB reserved instances", the user guide and other documentation refer to them as "MemoryDB reserved nodes", as the terms are used interchangeably.

type nonrec memory_db_reserved_instances = {
  1. cost_calculation : reserved_instances_cost_calculation option;
  2. configuration : memory_db_reserved_instances_configuration option;
    (*

    The MemoryDB reserved instances configuration used for recommendations.

    *)
}

The MemoryDB reserved instances recommendation details.

While the API reference uses "MemoryDB reserved instances", the user guide and other documentation refer to them as "MemoryDB reserved nodes", as the terms are used interchangeably.

type nonrec nat_gateway_configuration = {
  1. packets_in_from_destination : Smaws_Lib.Smithy_api.Types.long option;
    (*

    The number of packets received from the destination through the NAT Gateway.

    *)
  2. packets_in_from_source : Smaws_Lib.Smithy_api.Types.long option;
    (*

    The number of packets received from the source through the NAT Gateway.

    *)
  3. active_connection_count : Smaws_Lib.Smithy_api.Types.long option;
    (*

    The number of active connections through the NAT Gateway.

    *)
}

The NAT Gateway configuration used for recommendations.

type nonrec nat_gateway = {
  1. cost_calculation : resource_cost_calculation option;
  2. configuration : nat_gateway_configuration option;
    (*

    The NAT Gateway configuration used for recommendations.

    *)
}

The NAT Gateway recommendation details.

type nonrec dynamo_db_table = {
  1. cost_calculation : resource_cost_calculation option;
}

The DynamoDB table recommendation details.

type nonrec elasti_cache_cluster = {
  1. cost_calculation : resource_cost_calculation option;
}

The ElastiCache cluster recommendation details.

type nonrec memory_db_cluster = {
  1. cost_calculation : resource_cost_calculation option;
}

The MemoryDB cluster recommendation details.

type nonrec document_db_cluster = {
  1. cost_calculation : resource_cost_calculation option;
}

The Amazon DocumentDB cluster recommendation details.

type nonrec resource_details =
  1. | SageMakerEndpoint of sage_maker_endpoint
    (*

    The SageMaker endpoint recommendation details.

    *)
  2. | WorkSpaces of work_spaces
    (*

    The WorkSpaces recommendation details.

    *)
  3. | DocumentDbCluster of document_db_cluster
    (*

    The Amazon DocumentDB cluster recommendation details.

    *)
  4. | MemoryDbCluster of memory_db_cluster
    (*

    The MemoryDB cluster recommendation details.

    *)
  5. | ElastiCacheCluster of elasti_cache_cluster
    (*

    The ElastiCache cluster recommendation details.

    *)
  6. | DynamoDbTable of dynamo_db_table
    (*

    The DynamoDB table recommendation details.

    *)
  7. | NatGateway of nat_gateway
    (*

    The NAT Gateway recommendation details.

    *)
  8. | MemoryDbReservedInstances of memory_db_reserved_instances
    (*

    The MemoryDB reserved instances recommendation details.

    *)
  9. | DynamoDbReservedCapacity of dynamo_db_reserved_capacity
    (*

    The DynamoDB reserved capacity recommendation details.

    *)
  10. | AuroraDbClusterStorage of aurora_db_cluster_storage
    (*

    The Aurora DB cluster storage recommendation details.

    *)
  11. | RdsDbInstanceStorage of rds_db_instance_storage
    (*

    The DB instance storage recommendation details.

    *)
  12. | RdsDbInstance of rds_db_instance
    (*

    The DB instance recommendation details.

    *)
  13. | SageMakerSavingsPlans of sage_maker_savings_plans
    (*

    The SageMaker AI Savings Plans recommendation details.

    *)
  14. | ComputeSavingsPlans of compute_savings_plans
    (*

    The Compute Savings Plans recommendation details.

    *)
  15. | Ec2InstanceSavingsPlans of ec2_instance_savings_plans
    (*

    The EC2 instance Savings Plans recommendation details.

    *)
  16. | RedshiftReservedInstances of redshift_reserved_instances
    (*

    The Redshift reserved instances recommendation details.

    *)
  17. | OpenSearchReservedInstances of open_search_reserved_instances
    (*

    The OpenSearch reserved instances recommendation details.

    *)
  18. | ElastiCacheReservedInstances of elasti_cache_reserved_instances
    (*

    The ElastiCache reserved instances recommendation details.

    *)
  19. | RdsReservedInstances of rds_reserved_instances
    (*

    The RDS reserved instances recommendation details.

    *)
  20. | Ec2ReservedInstances of ec2_reserved_instances
    (*

    The EC2 reserved instances recommendation details.

    *)
  21. | Ec2AutoScalingGroup of ec2_auto_scaling_group
    (*

    The EC2 Auto Scaling group recommendation details.

    *)
  22. | EbsVolume of ebs_volume
    (*

    The Amazon Elastic Block Store volume recommendation details.

    *)
  23. | Ec2Instance of ec2_instance
    (*

    The EC2 instance recommendation details.

    *)
  24. | EcsService of ecs_service
    (*

    The ECS service recommendation details.

    *)
  25. | LambdaFunction of lambda_function
    (*

    The Lambda function recommendation details.

    *)

Contains detailed information about the specified resource.

type nonrec resource_arn_list = Smaws_Lib.Smithy_api.Types.string_ list
type nonrec region_list = Smaws_Lib.Smithy_api.Types.string_ list
type nonrec recommendation_summary = {
  1. recommendation_count : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    The total number of instance recommendations.

    *)
  2. estimated_monthly_savings : Smaws_Lib.Smithy_api.Types.double option;
    (*

    The estimated total savings resulting from modifications, on a monthly basis.

    *)
  3. group : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The grouping of recommendations.

    *)
}

The summary of rightsizing recommendations, including de-duped savings from all types of recommendations.

type nonrec recommendation_summaries_list = recommendation_summary list
type nonrec datetime = Smaws_Lib.CoreTypes.Timestamp.t
type nonrec recommendation = {
  1. tags : tag_list option;
    (*

    A list of tags assigned to the recommendation.

    *)
  2. source : source option;
    (*

    The source of the recommendation.

    *)
  3. recommendation_lookback_period_in_days : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    The lookback period that's used to generate the recommendation.

    *)
  4. last_refresh_timestamp : datetime option;
    (*

    The time when the recommendation was last generated.

    *)
  5. recommended_resource_summary : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    Describes the recommended resource.

    *)
  6. current_resource_summary : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    Describes the current resource.

    *)
  7. rollback_possible : Smaws_Lib.Smithy_api.Types.boolean_ option;
    (*

    Whether or not implementing the recommendation can be rolled back.

    *)
  8. action_type : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The type of tasks that can be carried out by this action.

    *)
  9. restart_needed : Smaws_Lib.Smithy_api.Types.boolean_ option;
    (*

    Whether or not implementing the recommendation requires a restart.

    *)
  10. implementation_effort : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The effort required to implement the recommendation.

    *)
  11. currency_code : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The currency code used for the recommendation.

    *)
  12. estimated_monthly_cost : Smaws_Lib.Smithy_api.Types.double option;
    (*

    The estimated monthly cost of the current resource. For Reserved Instances and Savings Plans, it refers to the cost for eligible usage.

    *)
  13. estimated_savings_percentage : Smaws_Lib.Smithy_api.Types.double option;
    (*

    The estimated savings percentage relative to the total cost over the cost calculation lookback period.

    *)
  14. estimated_monthly_savings : Smaws_Lib.Smithy_api.Types.double option;
    (*

    The estimated monthly savings amount for the recommendation.

    *)
  15. recommended_resource_type : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The recommended resource type.

    *)
  16. current_resource_type : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The current resource type.

    *)
  17. resource_arn : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The Amazon Resource Name (ARN) for the recommendation.

    *)
  18. resource_id : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The resource ID for the recommendation.

    *)
  19. region : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The Amazon Web Services Region of the resource.

    *)
  20. account_id : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The account to which the recommendation applies.

    *)
  21. recommendation_id : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The ID for the recommendation.

    *)
}

Describes a recommendation.

type nonrec recommendation_list = recommendation list
type nonrec recommendation_id_list = Smaws_Lib.Smithy_api.Types.string_ list
type nonrec order =
  1. | DESC
  2. | ASC
type nonrec order_by = {
  1. order : order option;
    (*

    The order that's used to sort the data.

    *)
  2. dimension : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    Sorts by dimension values.

    *)
}

Defines how rows will be sorted in the response.

type nonrec metrics_by_time = {
  1. timestamp : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The timestamp for this data point. The format depends on the granularity: YYYY-MM-DD for daily metrics, or YYYY-MM for monthly metrics.

    *)
  2. spend : Smaws_Lib.Smithy_api.Types.double option;
    (*

    The total spending amount for this time period.

    *)
  3. savings : Smaws_Lib.Smithy_api.Types.double option;
    (*

    The estimated savings amount for this time period, representing the potential cost reduction achieved through optimization recommendations.

    *)
  4. score : Smaws_Lib.Smithy_api.Types.double option;
    (*

    The efficiency score for this time period. The score represents a measure of how effectively the cloud resources are being optimized, with higher scores indicating better optimization performance.

    *)
}

Contains efficiency metrics for a specific point in time, including an efficiency score, potential savings, optimizable spend, and timestamp.

type nonrec metrics_by_time_list = metrics_by_time list
type nonrec max_results = int
type nonrec list_recommendations_response = {
  1. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The token to retrieve the next set of results.

    *)
  2. items : recommendation_list option;
    (*

    List of all savings recommendations.

    *)
}
type nonrec implementation_effort =
  1. | VERY_HIGH
  2. | HIGH
  3. | MEDIUM
  4. | LOW
  5. | VERY_LOW
type nonrec implementation_effort_list = implementation_effort list
type nonrec account_id = string
type nonrec account_id_list = account_id list
type nonrec action_type =
  1. | SCALE_IN
  2. | DELETE
  3. | MIGRATE_TO_GRAVITON
  4. | PURCHASE_RESERVED_INSTANCES
  5. | PURCHASE_SAVINGS_PLANS
  6. | UPGRADE
  7. | STOP
  8. | RIGHTSIZE
type nonrec action_type_list = action_type list
type nonrec filter = {
  1. recommendation_ids : recommendation_id_list option;
    (*

    The IDs for the recommendations.

    *)
  2. resource_arns : resource_arn_list option;
    (*

    The Amazon Resource Name (ARN) of the recommendation.

    *)
  3. resource_ids : resource_id_list option;
    (*

    The resource ID of the recommendation.

    *)
  4. tags : tag_list option;
    (*

    A list of tags assigned to the recommendation.

    *)
  5. action_types : action_type_list option;
    (*

    The type of action you can take by adopting the recommendation.

    *)
  6. resource_types : resource_type_list option;
    (*

    The resource type of the recommendation.

    *)
  7. regions : region_list option;
    (*

    The Amazon Web Services Region of the resource.

    *)
  8. account_ids : account_id_list option;
    (*

    The account to which the recommendation applies.

    *)
  9. implementation_efforts : implementation_effort_list option;
    (*

    The effort required to implement the recommendation.

    *)
  10. rollback_possible : Smaws_Lib.Smithy_api.Types.boolean_ option;
    (*

    Whether or not implementing the recommendation can be rolled back.

    *)
  11. restart_needed : Smaws_Lib.Smithy_api.Types.boolean_ option;
    (*

    Whether or not implementing the recommendation requires a restart.

    *)
}

Describes a filter that returns a more specific list of recommendations. Filters recommendations by different dimensions.

type nonrec list_recommendations_request = {
  1. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The token to retrieve the next set of results.

    *)
  2. max_results : max_results option;
    (*

    The maximum number of recommendations that are returned for the request.

    *)
  3. include_all_recommendations : Smaws_Lib.Smithy_api.Types.primitive_boolean option;
    (*

    List of all recommendations for a resource, or a single recommendation if de-duped by resourceId.

    *)
  4. order_by : order_by option;
    (*

    The ordering of recommendations by a dimension.

    *)
  5. filter : filter option;
    (*

    The constraints that you want all returned recommendations to match.

    *)
}
type nonrec list_recommendation_summaries_response = {
  1. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The token to retrieve the next set of results.

    *)
  2. metrics : summary_metrics_result option;
    (*

    The results or descriptions for the additional metrics, based on whether the metrics were or were not requested.

    *)
  3. currency_code : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The currency code used for the recommendation.

    *)
  4. group_by : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The dimension used to group the recommendations by.

    *)
  5. items : recommendation_summaries_list option;
    (*

    A list of all savings recommendations.

    *)
  6. estimated_total_deduped_savings : Smaws_Lib.Smithy_api.Types.double option;
    (*

    The total overall savings for the aggregated view.

    *)
}
type nonrec list_recommendation_summaries_request = {
  1. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The token to retrieve the next set of results.

    *)
  2. metrics : summary_metrics_list option;
    (*

    Additional metrics to be returned for the request. The only valid value is savingsPercentage.

    *)
  3. max_results : max_results option;
    (*

    The maximum number of recommendations to be returned for the request.

    *)
  4. group_by : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The grouping of recommendations by a dimension.

    *)
  5. filter : filter option;
}
type nonrec account_enrollment_status = {
  1. created_timestamp : Smaws_Lib.Smithy_api.Types.timestamp option;
    (*

    The time when the account enrollment status was created.

    *)
  2. last_updated_timestamp : Smaws_Lib.Smithy_api.Types.timestamp option;
    (*

    The time when the account enrollment status was last updated.

    *)
  3. status : enrollment_status option;
    (*

    The account enrollment status.

    *)
  4. account_id : account_id option;
    (*

    The Amazon Web Services account ID.

    *)
}

Describes the enrollment status of an organization's member accounts in Cost Optimization Hub.

type nonrec account_enrollment_statuses = account_enrollment_status list
type nonrec list_enrollment_statuses_response = {
  1. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The token to retrieve the next set of results.

    *)
  2. include_member_accounts : Smaws_Lib.Smithy_api.Types.boolean_ option;
    (*

    The enrollment status of all member accounts in the organization if the account is the management account or delegated administrator.

    *)
  3. items : account_enrollment_statuses option;
    (*

    The enrollment status of a specific account ID, including creation and last updated timestamps.

    *)
}
type nonrec list_enrollment_statuses_request = {
  1. max_results : max_results option;
    (*

    The maximum number of objects that are returned for the request.

    *)
  2. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The token to retrieve the next set of results.

    *)
  3. account_id : account_id option;
    (*

    The account ID of a member account in the organization.

    *)
  4. include_organization_info : Smaws_Lib.Smithy_api.Types.primitive_boolean option;
    (*

    Indicates whether to return the enrollment status for the organization.

    *)
}
type nonrec efficiency_metrics_by_group = {
  1. message : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    An explanation of why efficiency metrics could not be calculated for this group when the metricsByTime field is null. Common reasons include insufficient or inconclusive cost and usage data during the specified time period. This field is null or empty when metrics are successfully calculated.

    *)
  2. group : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The value of the grouping dimension for this set of metrics. For example, if grouped by account ID, this field contains the account ID. If no grouping is specified, this field is empty.

    *)
  3. metrics_by_time : metrics_by_time_list option;
    (*

    A list of time-series data points containing efficiency metrics for this group. Each data point includes an efficiency score, estimated savings, spending, and a timestamp corresponding to the specified granularity. This field is null when efficiency metrics cannot be calculated for the group, in which case the message field provides an explanation.

    *)
}

Contains cost efficiency metrics for a specific group over time. The group is defined by the grouping dimension specified in the request, such as account ID, Amazon Web Services Region.

type nonrec efficiency_metrics_by_group_list = efficiency_metrics_by_group list
type nonrec list_efficiency_metrics_response = {
  1. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The token to retrieve the next page of results. When this value is present in the response, additional groups are available. Pass this token in the nextToken parameter of a subsequent request to retrieve the next page.

    *)
  2. efficiency_metrics_by_group : efficiency_metrics_by_group_list option;
    (*

    A list of cost efficiency metrics grouped by the specified dimension. Each group contains time-series data points with cost efficiency, potential savings, and optimzable spend for the specified time period.

    *)
}
type nonrec granularity_type =
  1. | MONTHLY
    (*

    Metrics are aggregated monthly, with each data point representing a full month's worth of efficiency data. Timestamps are formatted as YYYY-MM.

    *)
  2. | DAILY
    (*

    Metrics are aggregated daily, with each data point representing a single day's worth of efficiency data. Timestamps are formatted as YYYY-MM-DD.

    *)

The time granularity for aggregating the cost efficiency metrics.

type nonrec list_efficiency_metrics_request = {
  1. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The token to retrieve the next page of results. This value is returned in the response when the number of groups exceeds the specified maxResults value.

    *)
  2. order_by : order_by option;
    (*

    The ordering specification for the results. Defines which dimension to sort by and whether to sort in ascending or descending order.

    *)
  3. max_results : max_results option;
    (*

    The maximum number of groups to return in the response. Valid values range from 0 to 1000. Use in conjunction with nextToken to paginate through results when the total number of groups exceeds this limit.

    *)
  4. time_period : time_period;
    (*

    The time period for which to retrieve the cost efficiency metrics. The start date is inclusive and the end date is exclusive. Dates can be specified in either YYYY-MM-DD format or YYYY-MM format depending on the desired granularity.

    *)
  5. granularity : granularity_type;
    (*

    The time granularity for the cost efficiency metrics. Specify Daily for metrics aggregated by day, or Monthly for metrics aggregated by month.

    *)
  6. group_by : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The dimension by which to group the cost efficiency metrics. Valid values include account ID, Amazon Web Services Region. When no grouping is specified, metrics are aggregated across all resources in the specified time period.

    *)
}
type nonrec get_recommendation_response = {
  1. tags : tag_list option;
    (*

    A list of tags associated with the resource for which the recommendation exists.

    *)
  2. recommended_resource_details : resource_details option;
    (*

    The details about the recommended resource.

    *)
  3. current_resource_details : resource_details option;
    (*

    The details for the resource.

    *)
  4. rollback_possible : Smaws_Lib.Smithy_api.Types.boolean_ option;
    (*

    Whether or not implementing the recommendation can be rolled back.

    *)
  5. action_type : action_type option;
    (*

    The type of action you can take by adopting the recommendation.

    *)
  6. restart_needed : Smaws_Lib.Smithy_api.Types.boolean_ option;
    (*

    Whether or not implementing the recommendation requires a restart.

    *)
  7. implementation_effort : implementation_effort option;
    (*

    The effort required to implement the recommendation.

    *)
  8. estimated_monthly_cost : Smaws_Lib.Smithy_api.Types.double option;
    (*

    The estimated monthly cost of the current resource. For Reserved Instances and Savings Plans, it refers to the cost for eligible usage.

    *)
  9. estimated_monthly_savings : Smaws_Lib.Smithy_api.Types.double option;
    (*

    The estimated monthly savings amount for the recommendation.

    *)
  10. last_refresh_timestamp : datetime option;
    (*

    The time when the recommendation was last generated.

    *)
  11. source : source option;
    (*

    The source of the recommendation.

    *)
  12. region : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The Amazon Web Services Region of the resource.

    *)
  13. recommended_resource_type : resource_type option;
    (*

    The resource type of the recommendation.

    *)
  14. current_resource_type : resource_type option;
    (*

    The type of resource.

    *)
  15. estimated_savings_over_cost_calculation_lookback_period : Smaws_Lib.Smithy_api.Types.double option;
    (*

    The estimated savings amount over the lookback period used to calculate cost impact for a recommendation.

    *)
  16. estimated_savings_percentage : Smaws_Lib.Smithy_api.Types.double option;
    (*

    The estimated savings percentage relative to the total cost over the cost calculation lookback period.

    *)
  17. cost_calculation_lookback_period_in_days : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    The lookback period used to calculate cost impact for a recommendation.

    *)
  18. recommendation_lookback_period_in_days : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    The lookback period that's used to generate the recommendation.

    *)
  19. currency_code : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The currency code used for the recommendation.

    *)
  20. account_id : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The account to which the recommendation applies.

    *)
  21. resource_arn : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The Amazon Resource Name (ARN) of the resource.

    *)
  22. resource_id : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The unique identifier for the resource. This is the same as the Amazon Resource Name (ARN), if available.

    *)
  23. recommendation_id : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The ID for the recommendation.

    *)
}
type nonrec get_recommendation_request = {
  1. recommendation_id : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The ID for the recommendation.

    *)
}
type nonrec get_preferences_response = {
  1. preferred_commitment : preferred_commitment option;
    (*

    Retrieves the current preferences for how Reserved Instances and Savings Plans cost-saving opportunities are prioritized in terms of payment option and term length.

    *)
  2. member_account_discount_visibility : member_account_discount_visibility option;
    (*

    Retrieves the status of the "member account discount visibility" preference.

    *)
  3. savings_estimation_mode : savings_estimation_mode option;
    (*

    Retrieves the status of the "savings estimation mode" preference.

    *)
}
type nonrec get_preferences_request = unit