Module Smaws_Client_ComputeOptimizerAutomation.Types

type nonrec enrollment_status =
  1. | FAILED
  2. | PENDING
  3. | INACTIVE
  4. | ACTIVE
type nonrec update_enrollment_configuration_response = {
  1. last_updated_timestamp : Smaws_Lib.Smithy_api.Types.timestamp;
    (*

    The timestamp when the enrollment configuration was last updated.

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

    The reason for the updated enrollment status.

    *)
  3. status : enrollment_status;
    (*

    The updated enrollment status.

    *)
}
type nonrec client_token = string
type nonrec update_enrollment_configuration_request = {
  1. client_token : client_token option;
    (*

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Must be 1-64 characters long and contain only alphanumeric characters, underscores, and hyphens.

    *)
  2. status : enrollment_status;
    (*

    The desired enrollment status.

    • Active - Enables the Automation feature for your account.
    • Inactive - Disables the Automation feature for your account and stops all of your automation rules. If you opt in again later, all rules will be inactive, and you must enable the rules you want to run. You must wait at least 24 hours after opting out to opt in again.

    The Pending and Failed options cannot be used to update the enrollment status of an account. They are returned in the response of a request to update the enrollment status of an account.

    If you are a member account, your account must be disassociated from your organization’s management account before you can disable Automation. Contact your administrator to make this change.

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

The request was denied due to request throttling.

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

The service is temporarily unavailable.

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

The specified resource was not found.

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

The account must be opted in to Compute Optimizer Automation before performing this action.

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

The operation can only be performed by a management account.

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

One or more parameter values are not valid.

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

An internal error occurred while processing the request.

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

Exception thrown when the same client token is used with different parameters, indicating a mismatch in idempotent request parameters.

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

The specified client token is already in use.

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

You are not authorized to perform this action.

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

You do not have sufficient permissions to perform this action.

type nonrec rule_arn = string
type nonrec rule_name = string
type nonrec rule_type =
  1. | ACCOUNT_RULE
  2. | ORGANIZATIONAL_RULE
type nonrec rule_apply_order =
  1. | AFTER_ACCOUNT_RULES
  2. | BEFORE_ACCOUNT_RULES
type nonrec account_id = string
type nonrec organization_configuration_account_ids = account_id list
type nonrec organization_configuration = {
  1. account_ids : organization_configuration_account_ids option;
    (*

    List of specific Amazon Web Services account IDs where the organization rule should be applied.

    *)
  2. rule_apply_order : rule_apply_order option;
    (*

    Specifies when organization rules should be applied relative to account rules.

    *)
}

Configuration settings for organization-wide automation rules.

Recommended action type enumeration

type nonrec comparison_operator =
  1. | NUMERIC_GREATER_THAN_EQUALS_IF_EXISTS
  2. | NUMERIC_GREATER_THAN_IF_EXISTS
  3. | NUMERIC_LESS_THAN_EQUALS_IF_EXISTS
  4. | NUMERIC_LESS_THAN_IF_EXISTS
  5. | NUMERIC_NOT_EQUALS_IF_EXISTS
  6. | NUMERIC_EQUALS_IF_EXISTS
  7. | STRING_NOT_LIKE_IF_EXISTS
  8. | STRING_LIKE_IF_EXISTS
  9. | STRING_NOT_EQUALS_IGNORE_CASE_IF_EXISTS
  10. | STRING_EQUALS_IGNORE_CASE_IF_EXISTS
  11. | STRING_NOT_EQUALS_IF_EXISTS
  12. | STRING_EQUALS_IF_EXISTS
  13. | NUMERIC_GREATER_THAN_EQUALS
  14. | NUMERIC_GREATER_THAN
  15. | NUMERIC_LESS_THAN_EQUALS
  16. | NUMERIC_LESS_THAN
  17. | NUMERIC_NOT_EQUALS
  18. | NUMERIC_EQUALS
  19. | STRING_NOT_LIKE
  20. | STRING_LIKE
  21. | STRING_NOT_EQUALS_IGNORE_CASE
  22. | STRING_EQUALS_IGNORE_CASE
  23. | STRING_NOT_EQUALS
  24. | STRING_EQUALS
type nonrec string_criteria_value = string
type nonrec string_criteria_values = string_criteria_value list
type nonrec string_criteria_condition = {
  1. values : string_criteria_values option;
    (*

    List of string values to compare against when applying the criteria condition.

    *)
  2. comparison : comparison_operator option;
    (*

    The comparison operator used to evaluate the attribute against the specified values.

    *)
}

Criteria condition for filtering based on string values, including comparison operators and target values.

type nonrec string_criteria_condition_list = string_criteria_condition list
type nonrec integer_list = Smaws_Lib.Smithy_api.Types.integer list
type nonrec integer_criteria_condition = {
  1. values : integer_list option;
    (*

    The list of integer values to compare against using the specified comparison operator.

    *)
  2. comparison : comparison_operator option;
    (*

    The comparison operator used to evaluate the attribute against the specified values.

    *)
}

Defines a condition for filtering based on integer values with comparison operators.

type nonrec integer_criteria_condition_list = integer_criteria_condition list
type nonrec double_list = Smaws_Lib.Smithy_api.Types.double list
type nonrec double_criteria_condition = {
  1. values : double_list option;
    (*

    The list of double values to compare against using the specified comparison operator.

    *)
  2. comparison : comparison_operator option;
    (*

    The comparison operator used to evaluate the attribute against the specified values.

    *)
}

Defines a condition for filtering based on double/floating-point numeric values with comparison operators.

type nonrec double_criteria_condition_list = double_criteria_condition list
type nonrec resource_tags_criteria_condition = {
  1. values : string_criteria_values option;
    (*

    List of tag values to compare against when filtering resources.

    *)
  2. key : string_criteria_value option;
    (*

    The tag key to use for comparison when filtering resources.

    *)
  3. comparison : comparison_operator option;
    (*

    The comparison operator used to evaluate the attribute against the specified values.

    *)
}

Criteria condition for filtering resources based on their tags, including comparison operators and values.

type nonrec resource_tags_criteria_condition_list = resource_tags_criteria_condition list
type nonrec criteria = {
  1. restart_needed : string_criteria_condition_list option;
    (*

    Filter criteria indicating whether the recommended action requires a resource restart.

    *)
  2. look_back_period_in_days : integer_criteria_condition_list option;
    (*

    Filter criteria for the lookback period in days used to analyze resource utilization.

    *)
  3. resource_tag : resource_tags_criteria_condition_list option;
    (*

    Filter criteria for resource tags, allowing filtering by tag key and value combinations.

    *)
  4. estimated_monthly_savings : double_criteria_condition_list option;
    (*

    Filter criteria for estimated monthly cost savings from the recommended action.

    *)
  5. ebs_volume_size_in_gib : integer_criteria_condition_list option;
    (*

    Filter criteria for EBS volume sizes in gibibytes (GiB).

    *)
  6. ebs_volume_type : string_criteria_condition_list option;
    (*

    Filter criteria for EBS volume types, such as gp2, gp3, io1, io2, st1, or sc1.

    *)
  7. resource_arn : string_criteria_condition_list option;
    (*

    Filter criteria for specific resource ARNs to include or exclude.

    *)
  8. region : string_criteria_condition_list option;
    (*

    Filter criteria for Amazon Web Services regions where resources must be located.

    *)
}

A set of conditions that specify which recommended action qualify for implementation. When a rule is active and a recommended action matches these criteria, Compute Optimizer implements the action at the scheduled run time. You can specify up to 20 conditions per filter criteria and 20 values per condition.

type nonrec schedule = {
  1. execution_window_in_minutes : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    The time window in minutes during which the automation rule can start implementing recommended actions.

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

    The timezone to use when interpreting the schedule expression.

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

    The expression that defines when the schedule runs. cron expression is supported. A cron expression consists of six fields separated by white spaces: (minutes hours day_of_month month day_of_week year)

    You can schedule rules to run at most once per day. Your cron expression must use specific values (not wildcards) for the minutes and hours fields. For example: (30 12 * * *) runs daily at 12:30 PM UTC.

    *)
}

Configuration for scheduling when automation rules should execute, including timing and execution windows.

type nonrec rule_status =
  1. | INACTIVE
  2. | ACTIVE
type nonrec update_automation_rule_response = {
  1. last_updated_timestamp : Smaws_Lib.Smithy_api.Types.timestamp option;
    (*

    The timestamp when the automation rule was last updated.

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

    The timestamp when the automation rule was originally created.

    *)
  3. status : rule_status option;
    (*

    The updated status of the automation rule.

    *)
  4. schedule : schedule option;
    (*

    The updated schedule configuration.

    *)
  5. criteria : criteria option;
  6. recommended_action_types : recommended_action_type_list option;
    (*

    The updated list of recommended action types.

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

    The updated priority level of the automation rule.

    *)
  8. organization_configuration : organization_configuration option;
    (*

    The updated organization configuration settings.

    *)
  9. rule_type : rule_type option;
    (*

    The updated type of automation rule.

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

    The updated description of the automation rule.

    *)
  11. name : rule_name option;
    (*

    The updated name of the automation rule.

    *)
  12. rule_revision : Smaws_Lib.Smithy_api.Types.long option;
    (*

    The new revision number of the updated rule.

    *)
  13. rule_arn : rule_arn option;
    (*

    The ARN of the updated rule.

    *)
}
type nonrec rule_description = string
type nonrec update_automation_rule_request = {
  1. client_token : client_token option;
    (*

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Must be 1-64 characters long and contain only alphanumeric characters, underscores, and hyphens.

    *)
  2. status : rule_status option;
    (*

    The updated status of the automation rule. Can be Active or Inactive.

    *)
  3. schedule : schedule option;
    (*

    The updated schedule configuration for when the automation rule should execute, including cron expression, timezone, and execution window.

    *)
  4. criteria : criteria option;
  5. recommended_action_types : recommended_action_type_list option;
    (*

    Updated list of recommended action types that this rule can execute, such as SnapshotAndDeleteUnattachedEbsVolume or UpgradeEbsVolumeType.

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

    The updated priority level of the automation rule, used to determine execution order when multiple rules apply to the same resource.

    *)
  7. organization_configuration : organization_configuration option;
    (*

    Updated configuration settings for organization-wide rules, including rule application order and target account IDs.

    *)
  8. rule_type : rule_type option;
    (*

    The updated type of automation rule. Can be either OrganizationRule for organization-wide rules or AccountRule for account-specific rules.

    *)
  9. description : rule_description option;
    (*

    The updated description of the automation rule. Can be up to 1024 characters long and contain alphanumeric characters, underscores, hyphens, spaces, and certain special characters.

    *)
  10. name : rule_name option;
    (*

    The updated name of the automation rule. Must be 1-128 characters long and contain only alphanumeric characters, underscores, and hyphens.

    *)
  11. rule_revision : Smaws_Lib.Smithy_api.Types.long;
    (*

    The revision number of the rule to update.

    *)
  12. rule_arn : rule_arn;
    (*

    The ARN of the rule to update.

    *)
}
type nonrec untag_resource_response = unit
type nonrec tag_key_list = Smaws_Lib.Smithy_api.Types.string_ list
type nonrec untag_resource_request = {
  1. client_token : client_token option;
    (*

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Must be 1-64 characters long and contain only alphanumeric characters, underscores, and hyphens.

    *)
  2. tag_keys : tag_key_list;
    (*

    The keys of the tags to remove from the resource.

    *)
  3. rule_revision : Smaws_Lib.Smithy_api.Types.long;
    (*

    The revision number of the automation rule to untag. This ensures you're untagging the correct version of the rule.

    *)
  4. resource_arn : rule_arn;
    (*

    The ARN of the resource to untag.

    *)
}
type nonrec time_period = {
  1. end_time_exclusive : Smaws_Lib.Smithy_api.Types.timestamp option;
    (*

    The end time of the period, exclusive. Events before this time are included.

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

    The start time of the period, inclusive. Events at or after this time are included.

    *)
}

Defines a time range with inclusive start time and exclusive end time for filtering and analysis.

type nonrec tag_value = string
type nonrec tag_resource_response = unit
type nonrec tag_key = string
type nonrec tag = {
  1. value : tag_value;
    (*

    The tag value, which can be up to 256 characters long.

    *)
  2. key : tag_key;
    (*

    The tag key, which can be up to 128 characters long.

    *)
}

A key-value pair used to categorize and organize Amazon Web Services resources and automation rules.

type nonrec tag_list = tag list
type nonrec tag_resource_request = {
  1. client_token : client_token option;
    (*

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Must be 1-64 characters long and contain only alphanumeric characters, underscores, and hyphens.

    *)
  2. tags : tag_list;
    (*

    The tags to add to the resource.

    *)
  3. rule_revision : Smaws_Lib.Smithy_api.Types.long;
    (*

    The revision number of the automation rule to tag. This ensures you're tagging the correct version of the rule.

    *)
  4. resource_arn : rule_arn;
    (*

    The ARN of the resource to tag.

    *)
}
type nonrec savings_estimation_mode =
  1. | AFTER_DISCOUNT
  2. | BEFORE_DISCOUNT
type nonrec estimated_monthly_savings = {
  1. savings_estimation_mode : savings_estimation_mode;
    (*

    The mode used to calculate savings, either BeforeDiscount or AfterDiscount.

    *)
  2. after_discount_savings : Smaws_Lib.Smithy_api.Types.double;
    (*

    The estimated monthly savings after applying any discounts.

    *)
  3. before_discount_savings : Smaws_Lib.Smithy_api.Types.double;
    (*

    The estimated monthly savings before applying any discounts.

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

    The currency of the estimated savings.

    *)
}

Contains information about estimated monthly cost savings.

type nonrec summary_totals = {
  1. estimated_monthly_savings : estimated_monthly_savings option;
  2. automation_event_count : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    The total number of automation events in this summary group.

    *)
}

Aggregate totals for automation events, including counts and estimated savings.

type nonrec summary_dimension_key =
  1. | EVENT_STATUS
type nonrec summary_dimension = {
  1. value : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The specific value for this dimension key used in the summary grouping.

    *)
  2. key : summary_dimension_key;
    (*

    The dimension key used for categorizing summary data.

    *)
}

A key-value pair used to categorize and group summary data for analysis and reporting.

type nonrec summary_dimensions = summary_dimension list
type nonrec string_list = Smaws_Lib.Smithy_api.Types.string_ list
type nonrec step_type =
  1. | CREATE_EBS_VOLUME
  2. | MODIFY_EBS_VOLUME
  3. | DELETE_EBS_VOLUME
  4. | CREATE_EBS_SNAPSHOT
type nonrec step_status =
  1. | FAILED
  2. | COMPLETE
  3. | IN_PROGRESS
  4. | READY
type nonrec step_id = string
type nonrec event_id = string
type nonrec event_status =
  1. | ROLLBACK_FAILED
  2. | ROLLBACK_COMPLETE
  3. | ROLLBACK_IN_PROGRESS
  4. | ROLLBACK_READY
  5. | CANCELLED
  6. | FAILED
  7. | COMPLETE
  8. | IN_PROGRESS
  9. | READY
type nonrec start_automation_event_response = {
  1. event_status : event_status option;
    (*

    The current status of the automation event.

    *)
  2. event_id : event_id option;
    (*

    The ID of the automation event.

    *)
  3. recommended_action_id : recommended_action_id option;
    (*

    The ID of the recommended action being automated.

    *)
}
type nonrec start_automation_event_request = {
  1. client_token : client_token option;
    (*

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Must be 1-64 characters long and contain only alphanumeric characters, underscores, and hyphens.

    *)
  2. recommended_action_id : recommended_action_id;
    (*

    The ID of the recommended action to automate.

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

The request would exceed service quotas.

type nonrec rule_preview_total = {
  1. estimated_monthly_savings : estimated_monthly_savings;
  2. recommended_action_count : Smaws_Lib.Smithy_api.Types.integer;
    (*

    The total number of recommended actions matching the rule preview configuration.

    *)
}

Aggregate totals for automation rule preview results, including count and estimated savings.

type nonrec rule_id = string
type nonrec rollback_automation_event_response = {
  1. event_status : event_status option;
    (*

    The current status of the rollback operation.

    *)
  2. event_id : event_id option;
    (*

    The ID of the automation event being rolled back.

    *)
}
type nonrec rollback_automation_event_request = {
  1. client_token : client_token option;
    (*

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Must be 1-64 characters long and contain only alphanumeric characters, underscores, and hyphens.

    *)
  2. event_id : event_id;
    (*

    The ID of the automation event to roll back.

    *)
}
type nonrec resource_type =
  1. | EBS_VOLUME
type nonrec resource_id = string
type nonrec ebs_volume_configuration = {
  1. throughput : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    The throughput in MiB/s provisioned for the volume (applicable to gp3, io1, and io2bx volumes).

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

    The number of I/O operations per second (IOPS) provisioned for the volume.

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

    The size of the EBS volume in gibibytes (GiB).

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

    The EBS volume type, such as gp2, gp3, io1, io2, st1, or sc1.

    *)
}

Configuration details for an Amazon EBS volume.

type nonrec ebs_volume = {
  1. configuration : ebs_volume_configuration option;
    (*

    The configuration details of the EBS volume, including type, size, IOPS, and throughput.

    *)
}

Represents an Amazon EBS volume with its configuration and snapshot usage information.

type nonrec resource_details =
  1. | EbsVolume of ebs_volume
    (*

    Detailed configuration information specific to EBS volumes, including volume type, size, IOPS, and throughput settings.

    *)

Detailed configuration information for a specific Amazon Web Services resource, with type-specific details.

type nonrec resource_arn = string

Contains information about a recommended action that can be applied to optimize an Amazon Web Services resource.

Aggregate totals for a group of recommended actions, including count and estimated monthly savings.

Summary information about recommended actions, grouped by specific criteria with totals and counts.

type nonrec filter_value = string
type nonrec filter_values = filter_value list

A filter used to narrow down recommended action results based on specific criteria.

type nonrec preview_result = {
  1. resource_tags : tag_list option;
    (*

    The tags associated with the resource.

    *)
  2. estimated_monthly_savings : estimated_monthly_savings option;
  3. restart_needed : Smaws_Lib.Smithy_api.Types.boolean_ option;
    (*

    Indicates whether implementing the recommended action requires a resource restart.

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

    A summary of the resource's recommended configuration.

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

    A summary of the resource's current configuration.

    *)
  8. recommended_action_type : recommended_action_type option;
    (*

    The type of recommended action being previewed.

    *)
  9. look_back_period_in_days : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    The number of days of historical data used to analyze the resource.

    *)
  10. resource_type : resource_type option;
    (*

    The type of resource being evaluated.

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

    The Amazon Web Services Region where the resource is located.

    *)
  12. account_id : account_id option;
    (*

    The Amazon Web Services account ID associated with the resource.

    *)
  13. resource_id : resource_id option;
    (*

    The ID of the resource affected by the recommended action.

    *)
  14. resource_arn : resource_arn option;
    (*

    The Amazon Resource Name (ARN) of the resource affected by the recommended action.

    *)
  15. recommended_action_id : recommended_action_id option;
    (*

    The ID of the recommended action being previewed.

    *)
}

Contains the results of previewing an automation rule against available recommendations.

type nonrec preview_results = preview_result list
type nonrec preview_result_summary = {
  1. total : rule_preview_total;
  2. key : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The key identifier for this preview result summary.

    *)
}

Contains a summary of preview results for an automation rule.

type nonrec preview_result_summaries = preview_result_summary list
type nonrec organization_scope = {
  1. account_ids : organization_configuration_account_ids option;
    (*

    List of Amazon Web Services account IDs to include in the organization scope.

    *)
}

Defines the scope for organization-level rules when previewing matching actions.

type nonrec organization_rule_mode =
  1. | NONE_ALLOWED
  2. | ANY_ALLOWED
type nonrec next_token = string
type nonrec list_tags_for_resource_response = {
  1. tags : tag_list option;
    (*

    The list of tags associated with the specified resource.

    *)
}
type nonrec list_tags_for_resource_request = {
  1. resource_arn : rule_arn;
    (*

    The ARN of the resource to list tags for.

    *)
}
type nonrec automation_rule = {
  1. last_updated_timestamp : Smaws_Lib.Smithy_api.Types.timestamp option;
    (*

    The timestamp when the automation rule was last updated.

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

    The timestamp when the automation rule was created.

    *)
  3. status : rule_status option;
    (*

    The current status of the automation rule (Active or Inactive).

    *)
  4. schedule : schedule option;
    (*

    The schedule configuration for when the automation rule should execute.

    *)
  5. recommended_action_types : recommended_action_type_list option;
    (*

    List of recommended action types that this rule can execute.

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

    A string representation of a decimal number between 0 and 1 (having up to 30 digits after the decimal point) that determines the priority of the rule. When multiple rules match the same recommended action, Compute Optimizer assigns the action to the rule with the lowest priority value (highest priority), even if that rule is scheduled to run later than other matching rules.

    *)
  7. organization_configuration : organization_configuration option;
    (*

    Configuration settings for organization-wide rules.

    *)
  8. account_id : account_id option;
    (*

    The 12-digit Amazon Web Services account ID that owns this automation rule.

    *)
  9. rule_revision : Smaws_Lib.Smithy_api.Types.long option;
    (*

    The revision number of the automation rule.

    *)
  10. rule_type : rule_type option;
    (*

    The type of automation rule (OrganizationRule or AccountRule).

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

    A description of the automation rule.

    *)
  12. name : rule_name option;
    (*

    The name of the automation rule.

    *)
  13. rule_id : rule_id option;
    (*

    The unique identifier of the automation rule.

    *)
  14. rule_arn : rule_arn option;
    (*

    The Amazon Resource Name (ARN) of the automation rule.

    *)
}

Represents a complete automation rule configuration including criteria, schedule, and execution settings.

type nonrec automation_rules = automation_rule list
type nonrec list_automation_rules_response = {
  1. next_token : next_token option;
    (*

    A token used for pagination. If present, indicates there are more results available and can be used in subsequent requests.

    *)
  2. automation_rules : automation_rules option;
    (*

    The list of automation rules that match the specified criteria.

    *)
}
type nonrec automation_rule_filter_name =
  1. | NAME
  2. | RECOMMENDED_ACTION_TYPE
  3. | STATUS
  4. | RULE_TYPE
  5. | ORGANIZATION_CONFIGURATION_RULE_APPLY_ORDER
  6. | ACCOUNT_ID
type nonrec filter = {
  1. values : filter_values;
    (*

    The list of values to filter by for the specified filter field.

    *)
  2. name : automation_rule_filter_name;
    (*

    The name of the filter field to apply.

    *)
}

A filter used to narrow down results based on specific criteria.

type nonrec filter_list = filter list
type nonrec list_automation_rules_request = {
  1. next_token : next_token option;
    (*

    A token used for pagination to retrieve the next set of results when the response is truncated.

    *)
  2. max_results : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    The maximum number of automation rules to return in a single response. Valid range is 1-1000.

    *)
  3. filters : filter_list option;
    (*

    The filters to apply to the list of automation rules.

    *)
}
type nonrec list_automation_rule_preview_summaries_response = {
  1. next_token : next_token option;
    (*

    A token used for pagination. If present, indicates there are more results available and can be used in subsequent requests.

    *)
  2. preview_result_summaries : preview_result_summaries option;
    (*

    The list of automation rule preview summaries that match the specified criteria.

    *)
}
type nonrec list_automation_rule_preview_summaries_request = {
  1. next_token : next_token option;
    (*

    A token used for pagination to retrieve the next set of results when the response is truncated.

    *)
  2. max_results : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    The maximum number of automation rule preview summaries to return in a single response. Valid range is 1-1000.

    *)
  3. criteria : criteria option;
  4. recommended_action_types : recommended_action_type_list;
    (*

    The types of recommended actions to include in the preview.

    *)
  5. organization_scope : organization_scope option;
    (*

    The organizational scope for the rule preview.

    *)
  6. rule_type : rule_type;
    (*

    The type of rule.

    *)
}
type nonrec list_automation_rule_preview_response = {
  1. next_token : next_token option;
    (*

    A token used for pagination. If present, indicates there are more results available and can be used in subsequent requests.

    *)
  2. preview_results : preview_results option;
    (*

    The list of actions that would be taken based on the specified criteria.

    *)
}
type nonrec list_automation_rule_preview_request = {
  1. next_token : next_token option;
    (*

    A token used for pagination to retrieve the next set of results when the response is truncated.

    *)
  2. max_results : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    The maximum number of automation rule preview results to return in a single response. Valid range is 1-1000.

    *)
  3. criteria : criteria option;
    (*

    A set of conditions that specify which recommended action qualify for implementation. When a rule is active and a recommended action matches these criteria, Compute Optimizer implements the action at the scheduled run time.

    *)
  4. recommended_action_types : recommended_action_type_list;
    (*

    The types of recommended actions to include in the preview.

    *)
  5. organization_scope : organization_scope option;
    (*

    The organizational scope for the rule preview.

    *)
  6. rule_type : rule_type;
    (*

    The type of rule.

    Only the management account or a delegated administrator can set the ruleType to be OrganizationRule.

    *)
}
type nonrec event_type =
  1. | UPGRADE_EBS_VOLUME_TYPE
  2. | SNAPSHOT_AND_DELETE_UNATTACHED_EBS_VOLUME

Event type enumeration

type nonrec automation_event = {
  1. estimated_monthly_savings : estimated_monthly_savings option;
    (*

    The estimated monthly cost savings associated with this automation event.

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

    The timestamp when the automation event completed.

    *)
  3. created_timestamp : Smaws_Lib.Smithy_api.Types.timestamp option;
    (*

    The timestamp when the automation event was created.

    *)
  4. resource_type : resource_type option;
    (*

    The type of resource affected by the automation event.

    *)
  5. rule_id : rule_id option;
    (*

    The ID of the automation rule that triggered this event.

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

    The Amazon Web Services Region where the automation event occurred.

    *)
  7. account_id : account_id option;
    (*

    The Amazon Web Services account ID associated with the automation event.

    *)
  8. recommended_action_id : recommended_action_id option;
    (*

    The ID of the recommended action associated with this automation event.

    *)
  9. resource_id : resource_id option;
    (*

    The ID of the resource affected by the automation event.

    *)
  10. resource_arn : resource_arn option;
    (*

    The Amazon Resource Name (ARN) of the resource affected by the automation event.

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

    The reason for the current event status.

    *)
  12. event_status : event_status option;
    (*

    The current status of the automation event.

    *)
  13. event_type : event_type option;
    (*

    The type of automation event.

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

    A description of the automation event.

    *)
  15. event_id : event_id option;
    (*

    The unique identifier for the automation event.

    *)
}

Contains information about an automation event.

type nonrec automation_events = automation_event list
type nonrec list_automation_events_response = {
  1. next_token : next_token option;
    (*

    The token to use to retrieve the next page of results.

    *)
  2. automation_events : automation_events option;
    (*

    The list of automation events that match the specified criteria.

    *)
}
type nonrec automation_event_filter_name =
  1. | ACCOUNT_ID
  2. | RESOURCE_TYPE
  3. | EVENT_TYPE
  4. | EVENT_STATUS
type nonrec automation_event_filter = {
  1. values : filter_values;
    (*

    The values to use for the specified filter.

    *)
  2. name : automation_event_filter_name;
    (*

    The name of the filter to apply.

    *)
}

A filter to apply when listing automation events.

type nonrec automation_event_filter_list = automation_event_filter list
type nonrec list_automation_events_request = {
  1. next_token : next_token option;
    (*

    The token for the next page of results.

    *)
  2. max_results : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    The maximum number of results to return in a single call.

    *)
  3. end_time_exclusive : Smaws_Lib.Smithy_api.Types.timestamp option;
    (*

    The end of the time range to query for events.

    *)
  4. start_time_inclusive : Smaws_Lib.Smithy_api.Types.timestamp option;
    (*

    The start of the time range to query for events.

    *)
  5. filters : automation_event_filter_list option;
    (*

    The filters to apply to the list of automation events.

    *)
}
type nonrec automation_event_summary = {
  1. total : summary_totals option;
    (*

    The aggregated totals for this summary, including event count and estimated savings.

    *)
  2. time_period : time_period option;
    (*

    The time period covered by this summary, with inclusive start time and exclusive end time.

    *)
  3. dimensions : summary_dimensions option;
    (*

    The dimensions used to group this summary, such as event status.

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

    The key identifier for this summary grouping.

    *)
}

A summary of automation events grouped by specified dimensions.

type nonrec automation_event_summary_list = automation_event_summary list
type nonrec list_automation_event_summaries_response = {
  1. next_token : next_token option;
    (*

    A token used for pagination. If present, indicates there are more results available and can be used in subsequent requests.

    *)
  2. automation_event_summaries : automation_event_summary_list option;
    (*

    The list of automation event summaries that match the specified criteria.

    *)
}
type nonrec list_automation_event_summaries_request = {
  1. next_token : next_token option;
    (*

    A token used for pagination to retrieve the next set of results when the response is truncated.

    *)
  2. max_results : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    The maximum number of automation event summaries to return in a single response. Valid range is 1-1000.

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

    The end date for filtering automation event summaries, exclusive. Events created before this date will be included.

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

    The start date for filtering automation event summaries, inclusive. Events created on or after this date will be included.

    *)
  5. filters : automation_event_filter_list option;
    (*

    The filters to apply to the list of automation event summaries.

    *)
}
type nonrec automation_event_step = {
  1. estimated_monthly_savings : estimated_monthly_savings option;
  2. completed_timestamp : Smaws_Lib.Smithy_api.Types.timestamp option;
    (*

    The timestamp when this automation event step completed execution.

    *)
  3. start_timestamp : Smaws_Lib.Smithy_api.Types.timestamp option;
    (*

    The timestamp when this automation event step started execution.

    *)
  4. resource_id : resource_id option;
    (*

    The unique identifier of the resource being acted upon in this step.

    *)
  5. step_status : step_status option;
    (*

    The current status of the step.

    *)
  6. step_type : step_type option;
    (*

    The type of step.

    *)
  7. step_id : step_id option;
    (*

    The unique identifier for this step.

    *)
  8. event_id : event_id option;
    (*

    The ID of the automation event this step belongs to.

    *)
}

Contains information about a step in an automation event.

type nonrec automation_event_steps = automation_event_step list
type nonrec list_automation_event_steps_response = {
  1. next_token : next_token option;
    (*

    A token used for pagination. If present, indicates there are more results available and can be used in subsequent requests.

    *)
  2. automation_event_steps : automation_event_steps option;
    (*

    The list of steps for the specified automation event.

    *)
}
type nonrec list_automation_event_steps_request = {
  1. next_token : next_token option;
    (*

    A token used for pagination to retrieve the next set of results when the response is truncated.

    *)
  2. max_results : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    The maximum number of automation event steps to return in a single response. Valid range is 1-1000.

    *)
  3. event_id : event_id;
    (*

    The ID of the automation event.

    *)
}
type nonrec account_info = {
  1. last_updated_timestamp : Smaws_Lib.Smithy_api.Types.timestamp;
    (*

    The timestamp when the account's Automation enrollment status was last updated.

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

    The reason for the current Automation enrollment status.

    *)
  3. organization_rule_mode : organization_rule_mode;
    (*

    Specifies whether the management account can create Automation rules that implement optimization actions for this account.

    *)
  4. status : enrollment_status;
    (*

    The enrollment status of the account: Active, Inactive, Pending, or Failed.

    *)
  5. account_id : account_id;
    (*

    The ID of the Amazon Web Services account.

    *)
}

Contains information about an Amazon Web Services account's enrollment and association status with Compute Optimizer Automation.

type nonrec account_info_list = account_info list
type nonrec list_accounts_response = {
  1. next_token : next_token option;
    (*

    The token to use to retrieve the next page of results.

    *)
  2. accounts : account_info_list;
    (*

    The list of accounts in your organization enrolled in Compute Optimizer

    *)
}
type nonrec list_accounts_request = {
  1. next_token : next_token option;
    (*

    The token for the next page of results.

    *)
  2. max_results : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    The maximum number of results to return in a single call.

    *)
}
type nonrec get_enrollment_configuration_response = {
  1. last_updated_timestamp : Smaws_Lib.Smithy_api.Types.timestamp option;
    (*

    The timestamp of the last update to the enrollment configuration.

    *)
  2. organization_rule_mode : organization_rule_mode option;
    (*

    Specifies whether the management account can create Automation rules that implement optimization actions for this account.

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

    The reason for the current enrollment status.

    *)
  4. status : enrollment_status;
    (*

    The current enrollment status.

    *)
}
type nonrec get_enrollment_configuration_request = unit
type nonrec get_automation_rule_response = {
  1. last_updated_timestamp : Smaws_Lib.Smithy_api.Types.timestamp option;
    (*

    The timestamp when the automation rule was last updated.

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

    The timestamp when the automation rule was created.

    *)
  3. tags : tag_list option;
    (*

    The tags associated with the automation rule.

    *)
  4. status : rule_status option;
    (*

    The current status of the automation rule (Active or Inactive).

    *)
  5. schedule : schedule option;
  6. criteria : criteria option;
  7. recommended_action_types : recommended_action_type_list option;
    (*

    List of recommended action types that this rule can execute.

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

    A string representation of a decimal number between 0 and 1 (having up to 30 digits after the decimal point) that determines the priority of the rule.

    *)
  9. organization_configuration : organization_configuration option;
  10. account_id : account_id option;
    (*

    The 12-digit Amazon Web Services account ID that owns this automation rule.

    *)
  11. rule_revision : Smaws_Lib.Smithy_api.Types.long option;
    (*

    The revision number of the automation rule.

    *)
  12. rule_type : rule_type option;
    (*

    The type of automation rule.

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

    A description of the automation rule.

    *)
  14. name : rule_name option;
    (*

    The name of the automation rule.

    *)
  15. rule_id : rule_id option;
    (*

    The unique identifier of the automation rule.

    *)
  16. rule_arn : rule_arn option;
    (*

    The Amazon Resource Name (ARN) of the automation rule.

    *)
}
type nonrec get_automation_rule_request = {
  1. rule_arn : rule_arn;
    (*

    The ARN of the rule to retrieve.

    *)
}
type nonrec get_automation_event_response = {
  1. estimated_monthly_savings : estimated_monthly_savings option;
  2. completed_timestamp : Smaws_Lib.Smithy_api.Types.timestamp option;
    (*

    The timestamp when the automation event completed.

    *)
  3. created_timestamp : Smaws_Lib.Smithy_api.Types.timestamp option;
    (*

    The timestamp when the automation event was created.

    *)
  4. resource_type : resource_type option;
    (*

    The type of resource affected by the automation event.

    *)
  5. rule_id : rule_id option;
    (*

    The ID of the automation rule that triggered this event.

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

    The Amazon Web Services Region where the automation event occurred.

    *)
  7. account_id : account_id option;
    (*

    The Amazon Web Services account ID associated with the automation event.

    *)
  8. recommended_action_id : recommended_action_id option;
    (*

    The ID of the recommended action associated with this automation event.

    *)
  9. resource_id : resource_id option;
    (*

    The ID of the resource affected by the automation event.

    *)
  10. resource_arn : resource_arn option;
    (*

    The Amazon Resource Name (ARN) of the resource affected by the automation event.

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

    The reason for the current event status.

    *)
  12. event_status : event_status option;
    (*

    The current status of the automation event.

    *)
  13. event_type : event_type option;
    (*

    The type of automation event.

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

    A description of the automation event.

    *)
  15. event_id : event_id option;
    (*

    The ID of the automation event to retrieve.

    *)
}
type nonrec get_automation_event_request = {
  1. event_id : event_id;
    (*

    The ID of the automation event to retrieve.

    *)
}
type nonrec account_id_list = account_id list
type nonrec disassociate_accounts_response = {
  1. errors : string_list option;
    (*

    Any errors that occurred during the disassociation process.

    *)
  2. account_ids : account_id_list option;
    (*

    The IDs of the member accounts that were successfully disassociated.

    *)
}
type nonrec disassociate_accounts_request = {
  1. client_token : client_token option;
    (*

    A unique identifier to ensure idempotency of the request.

    *)
  2. account_ids : account_id_list;
    (*

    The IDs of the member accounts to disassociate.

    *)
}
type nonrec delete_automation_rule_response = unit
type nonrec delete_automation_rule_request = {
  1. client_token : client_token option;
    (*

    A unique identifier to ensure idempotency of the request.

    *)
  2. rule_revision : Smaws_Lib.Smithy_api.Types.long;
    (*

    The revision number of the rule to delete.

    *)
  3. rule_arn : rule_arn;
    (*

    The ARN of the rule to delete.

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

    The timestamp when the automation rule was created.

    *)
  2. tags : tag_list option;
    (*

    A list of key-value pairs used to categorize and organize the automation rule. Maximum of 200 tags allowed.

    *)
  3. status : rule_status option;
    (*

    The current status of the automation rule. Can be Active or Inactive.

    *)
  4. schedule : schedule option;
    (*

    The schedule configuration for when the automation rule should execute, including cron expression, timezone, and execution window.

    *)
  5. criteria : criteria option;
  6. recommended_action_types : recommended_action_type_list option;
    (*

    List of recommended action types that this rule can execute, such as SnapshotAndDeleteUnattachedEbsVolume or UpgradeEbsVolumeType.

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

    The priority level of the automation rule, used to determine execution order when multiple rules apply to the same resource.

    *)
  8. organization_configuration : organization_configuration option;
    (*

    Configuration settings for organization-wide rules, including rule application order and target account IDs.

    *)
  9. rule_revision : Smaws_Lib.Smithy_api.Types.long option;
    (*

    The revision number of the automation rule. This is incremented each time the rule is updated.

    *)
  10. rule_type : rule_type option;
    (*

    The type of automation rule. Can be either OrganizationRule for organization-wide rules or AccountRule for account-specific rules.

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

    A description of the automation rule. Can be up to 1024 characters long and contain alphanumeric characters, underscores, hyphens, spaces, and certain special characters.

    *)
  12. name : rule_name option;
    (*

    The name of the automation rule. Must be 1-128 characters long and contain only alphanumeric characters, underscores, and hyphens.

    *)
  13. rule_id : rule_id option;
    (*

    The unique identifier of the created rule.

    *)
  14. rule_arn : rule_arn option;
    (*

    The Amazon Resource Name (ARN) of the created rule.

    *)
}
type nonrec create_automation_rule_request = {
  1. client_token : client_token option;
    (*

    A unique identifier to ensure idempotency of the request.

    *)
  2. tags : tag_list option;
    (*

    The tags to associate with the rule.

    *)
  3. status : rule_status;
    (*

    The status of the rule

    *)
  4. schedule : schedule;
    (*

    The schedule for when the rule should run.

    *)
  5. criteria : criteria option;
    (*

    A set of conditions that specify which recommended action qualify for implementation. When a rule is active and a recommended action matches these criteria, Compute Optimizer implements the action at the scheduled run time.

    *)
  6. recommended_action_types : recommended_action_type_list;
    (*

    The types of recommended actions this rule will automate.

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

    A string representation of a decimal number between 0 and 1 (having up to 30 digits after the decimal point) that determines the priority of the rule. When multiple rules match the same recommended action, Compute Optimizer assigns the action to the rule with the lowest priority value (highest priority), even if that rule is scheduled to run later than other matching rules.

    *)
  8. organization_configuration : organization_configuration option;
    (*

    Configuration for organization-level rules. Required for OrganizationRule type.

    *)
  9. rule_type : rule_type;
    (*

    The type of rule.

    Only the management account or a delegated administrator can set the ruleType to be OrganizationRule.

    *)
  10. description : rule_description option;
    (*

    A description of the automation rule.

    *)
  11. name : rule_name;
    (*

    The name of the automation rule.

    *)
}
type nonrec associate_accounts_response = {
  1. errors : string_list option;
    (*

    Any errors that occurred during the association process.

    *)
  2. account_ids : account_id_list option;
    (*

    The IDs of the member accounts that were successfully associated.

    *)
}
type nonrec associate_accounts_request = {
  1. client_token : client_token option;
    (*

    A unique identifier to ensure idempotency of the request. Valid for 24 hours after creation.

    *)
  2. account_ids : account_id_list;
    (*

    The IDs of the member accounts to associate. You can specify up to 50 account IDs.

    *)
}