Module Smaws_Client_BCMDashboards.Types

type nonrec widget_width = int
type nonrec widget_title = string
type nonrec widget_id = string
type nonrec description = string
type nonrec widget_height = int
type nonrec metric_name =
  1. | Cost
  2. | Unit
  3. | Hour
  4. | SpendCoveredBySavingsPlans
  5. | UsageQuantity
  6. | UnblendedCost
  7. | NormalizedUsageAmount
  8. | NetUnblendedCost
  9. | NetAmortizedCost
  10. | BlendedCost
  11. | AmortizedCost
type nonrec metric_names = metric_name list
type nonrec date_time_type =
  1. | RELATIVE
  2. | ABSOLUTE
type nonrec generic_string = string
type nonrec date_time_value = {
  1. value : generic_string;
    (*

    The actual date/time value.

    *)
  2. type_ : date_time_type;
    (*

    The type of date/time value: ABSOLUTE for specific dates or RELATIVE for dynamic time periods.

    *)
}

Represents a point in time that can be specified as either an absolute date (for example, "2025-07-01") or a relative time period using ISO 8601 duration format (for example, "-P3M" for three months ago).

type nonrec date_time_range = {
  1. end_time : date_time_value;
    (*

    The end time of the date range for querying data.

    *)
  2. start_time : date_time_value;
    (*

    The start time of the date range for querying data.

    *)
}

Defines a time period with explicit start and end times for data queries.

type nonrec granularity =
  1. | MONTHLY
  2. | DAILY
  3. | HOURLY
type nonrec group_definition_type =
  1. | COST_CATEGORY
  2. | TAG
  3. | DIMENSION
type nonrec group_definition = {
  1. type_ : group_definition_type option;
    (*

    The type of grouping to apply.

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

    The key to use for grouping cost and usage data.

    *)
}

Specifies how to group cost and usage data.

type nonrec group_definitions = group_definition list
type nonrec dimension =
  1. | PLATFORM
  2. | SCOPE
  3. | DEPLOYMENT_OPTION
  4. | CACHE_ENGINE
  5. | INSTANCE_TYPE_FAMILY
  6. | SAVINGS_PLANS_TYPE
  7. | LEGAL_ENTITY_NAME
  8. | DATABASE_ENGINE
  9. | COST_CATEGORY_NAME
  10. | RESERVATION_ID
  11. | BILLING_ENTITY
  12. | TENANCY
  13. | OPERATING_SYSTEM
  14. | TAG_KEY
  15. | SUBSCRIPTION_ID
  16. | RESOURCE_ID
  17. | RECORD_TYPE
  18. | USAGE_TYPE_GROUP
  19. | USAGE_TYPE
  20. | SERVICE
  21. | REGION
  22. | PURCHASE_TYPE
  23. | OPERATION
  24. | LINKED_ACCOUNT
  25. | INSTANCE_TYPE
  26. | AZ
type nonrec string_list = Smaws_Lib.Smithy_api.Types.string_ list
type nonrec match_option =
  1. | CASE_INSENSITIVE
  2. | CASE_SENSITIVE
  3. | GREATER_THAN_OR_EQUAL
  4. | CONTAINS
  5. | ENDS_WITH
  6. | STARTS_WITH
  7. | ABSENT
  8. | EQUALS
type nonrec match_options = match_option list
type nonrec dimension_values = {
  1. match_options : match_options option;
    (*

    The match options for dimension values, such as EQUALS, CONTAINS, STARTS_WITH, or ENDS_WITH.

    *)
  2. values : string_list;
    (*

    The values to match for the specified dimension key.

    *)
  3. key : dimension;
    (*

    The key of the dimension to filter on (for example, SERVICE, USAGE_TYPE, or OPERATION).

    *)
}

Specifies the values and match options for dimension-based filtering in cost and usage queries.

type nonrec tag_values = {
  1. match_options : match_options option;
    (*

    The match options for tag values, such as EQUALS, CONTAINS, STARTS_WITH, or ENDS_WITH.

    *)
  2. values : string_list option;
    (*

    The values to match for the specified tag key.

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

    The key of the tag to filter on.

    *)
}

Specifies tag-based filtering options for cost and usage queries.

type nonrec cost_category_values = {
  1. match_options : match_options option;
    (*

    The match options for cost category values, such as EQUALS, CONTAINS, STARTS_WITH, or ENDS_WITH.

    *)
  2. values : string_list option;
    (*

    The values to match for the specified cost category key.

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

    The key of the cost category to filter on.

    *)
}

Specifies the values and match options for cost category-based filtering in cost and usage queries.

type expression = {
  1. cost_categories : cost_category_values option;
    (*

    The cost category values to include in the filter expression.

    *)
  2. tags : tag_values option;
    (*

    The tag values to include in the filter expression.

    *)
  3. dimensions : dimension_values option;
    (*

    The dimension values to include in the filter expression.

    *)
  4. not : expression option;
    (*

    An expression to negate with NOT logic.

    *)
  5. and_ : expressions option;
    (*

    A list of expressions to combine with AND logic.

    *)
  6. or : expressions option;
    (*

    A list of expressions to combine with OR logic.

    *)
}

Defines complex filtering conditions using logical operators (AND, OR, NOT) and various filter types.

and expressions = expression list
type nonrec cost_and_usage_query = {
  1. filter : expression option;
    (*

    The filter expression to be applied to the cost and usage data.

    *)
  2. group_by : group_definitions option;
    (*

    Specifies how to group the retrieved data, such as by SERVICE, ACCOUNT, or TAG.

    *)
  3. granularity : granularity;
    (*

    The granularity of the retrieved data: HOURLY, DAILY, or MONTHLY.

    *)
  4. time_range : date_time_range;
    (*

    The time period for which to retrieve data. Can be specified as absolute dates or relative time periods.

    *)
  5. metrics : metric_names;
    (*

    The specific cost and usage metrics to retrieve.

    Valid values for CostAndUsageQuery metrics are AmortizedCost, BlendedCost, NetAmortizedCost, NetUnblendedCost, NormalizedUsageAmount, UnblendedCost, and UsageQuantity.

    *)
}

Defines the parameters for retrieving Amazon Web Services cost and usage data. Includes specifications for metrics, time periods, granularity, grouping dimensions, and filtering conditions.

type nonrec savings_plans_coverage_query = {
  1. filter : expression option;
  2. group_by : group_definitions option;
    (*

    Specifies how to group the Savings Plans coverage data, such as by service or instance family.

    *)
  3. granularity : granularity option;
    (*

    The time granularity of the retrieved data: HOURLY, DAILY, or MONTHLY.

    *)
  4. metrics : metric_names option;
    (*

    The coverage metrics to include in the results.

    Valid value for SavingsPlansCoverageQuery metrics is SpendCoveredBySavingsPlans.

    *)
  5. time_range : date_time_range;
}

Defines the parameters for querying Savings Plans coverage data, including metrics, grouping options, and time granularity.

type nonrec savings_plans_utilization_query = {
  1. filter : expression option;
  2. granularity : granularity option;
    (*

    The time granularity of the retrieved data: HOURLY, DAILY, or MONTHLY.

    *)
  3. time_range : date_time_range;
}

Defines the parameters for querying Savings Plans utilization data, including time granularity and sorting preferences.

type nonrec reservation_coverage_query = {
  1. metrics : metric_names option;
    (*

    The coverage metrics to include in the results.

    Valid values for ReservationCoverageQuery metrics are Hour, Unit, and Cost.

    *)
  2. filter : expression option;
  3. granularity : granularity option;
    (*

    The time granularity of the retrieved data: HOURLY, DAILY, or MONTHLY.

    *)
  4. group_by : group_definitions option;
    (*

    Specifies how to group the Reserved Instance coverage data, such as by service, Region, or instance type.

    *)
  5. time_range : date_time_range;
}

Defines the parameters for querying Reserved Instance coverage data, including grouping options, metrics, and sorting preferences.

type nonrec reservation_utilization_query = {
  1. filter : expression option;
  2. granularity : granularity option;
    (*

    The time granularity of the retrieved data: HOURLY, DAILY, or MONTHLY.

    *)
  3. group_by : group_definitions option;
    (*

    Specifies how to group the Reserved Instance utilization data, such as by service, Region, or instance type.

    *)
  4. time_range : date_time_range;
}

Defines the parameters for querying Reserved Instance utilization data, including grouping options and time granularity.

type nonrec query_parameters =
  1. | ReservationUtilization of reservation_utilization_query
    (*

    The parameters for querying Reserved Instance utilization data, showing how effectively your Reserved Instances are being used.

    *)
  2. | ReservationCoverage of reservation_coverage_query
    (*

    The parameters for querying Reserved Instance coverage data, showing how much of your eligible instance usage is covered by Reserved Instances.

    *)
  3. | SavingsPlansUtilization of savings_plans_utilization_query
    (*

    The parameters for querying Savings Plans utilization data, showing how effectively your Savings Plans are being used.

    *)
  4. | SavingsPlansCoverage of savings_plans_coverage_query
    (*

    The parameters for querying Savings Plans coverage data, showing how much of your eligible compute usage is covered by Savings Plans.

    *)
  5. | CostAndUsage of cost_and_usage_query
    (*

    The parameters for querying cost and usage data, including metrics, time range, granularity, grouping dimensions, and filters.

    *)

Defines the data retrieval parameters for a widget.

type nonrec visual_type =
  1. | STACK
  2. | BAR
  3. | LINE
type nonrec graph_display_config = {
  1. visual_type : visual_type;
    (*

    The type of visualization to use for the data.

    *)
}

Defines the visual representation settings for widget data, including the visualization type, styling options, and display preferences for different metric types.

type nonrec graph_display_config_map = (generic_string * graph_display_config) list
type nonrec table_display_config_struct = unit
type nonrec display_config =
  1. | Table of table_display_config_struct
    (*

    The configuration for tabular display of the widget data.

    *)
  2. | Graph of graph_display_config_map
    (*

    The configuration for graphical display of the widget data, including chart type and visual options.

    *)

Defines how the widget's data should be visualized, including chart type, color schemes, axis configurations, and other display preferences.

type nonrec widget_config = {
  1. display_config : display_config;
    (*

    The configuration that determines how the retrieved data should be visualized in the widget.

    *)
  2. query_parameters : query_parameters;
    (*

    The parameters that define what data the widget should retrieve and how it should be filtered or grouped.

    *)
}

Defines the complete configuration for a widget, including data retrieval settings and visualization preferences.

type nonrec widget_config_list = widget_config list
type nonrec widget = {
  1. configs : widget_config_list;
    (*

    An array of configurations that define the data queries and display settings for the widget.

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

    Specifies the starting column position of the widget in the dashboard's grid layout. Used to control widget placement.

    *)
  3. height : widget_height option;
    (*

    The height of the widget in row spans. The dashboard layout consists of a grid system.

    *)
  4. width : widget_width option;
    (*

    The width of the widget in column spans. The dashboard layout consists of a grid system.

    *)
  5. description : description option;
    (*

    A description of the widget's purpose or the data it displays.

    *)
  6. title : widget_title;
    (*

    The title of the widget.

    *)
  7. id : widget_id option;
    (*

    The unique identifier for the widget.

    *)
}

A configurable visualization component within a dashboard that displays specific cost and usage metrics. Each widget can show data as charts or tables and includes settings for data querying, filtering, and visual presentation.

type nonrec widget_list = widget list
type nonrec widget_id_list = Smaws_Lib.Smithy_api.Types.string_ list
type nonrec validation_exception = {
  1. message : generic_string;
}

The input parameters do not satisfy the requirements. Check the error message for specific validation details.

type nonrec scheduled_report_arn = string
type nonrec update_scheduled_report_response = {
  1. arn : scheduled_report_arn;
    (*

    The ARN of the updated scheduled report.

    *)
}
type nonrec scheduled_report_name = string
type nonrec dashboard_arn = string
type nonrec service_role_arn = string
type nonrec generic_time_stamp = Smaws_Lib.CoreTypes.Timestamp.t
type nonrec schedule_period = {
  1. end_time : generic_time_stamp option;
    (*

    The end time of the schedule period. If not specified, defaults to 3 years from the time of the create or update request. The maximum allowed value is 3 years from the current time. Setting an end time beyond this limit returns a ValidationException.

    *)
  2. start_time : generic_time_stamp option;
    (*

    The start time of the schedule period. If not specified, defaults to the time of the create or update request. The start time cannot be more than 5 minutes before the time of the request.

    *)
}

Defines the active time period for execution of the scheduled report.

type nonrec schedule_state =
  1. | DISABLED
  2. | ENABLED
type nonrec schedule_config = {
  1. state : schedule_state option;
    (*

    The state of the schedule. ENABLED means the scheduled report runs according to its schedule expression. DISABLED means the scheduled report is paused and will not run until re-enabled.

    *)
  2. schedule_period : schedule_period option;
    (*

    The time period during which the schedule is active.

    *)
  3. schedule_expression_time_zone : generic_string option;
    (*

    The time zone for the schedule expression, for example, UTC.

    *)
  4. schedule_expression : generic_string option;
    (*

    The schedule expression that specifies when to trigger the scheduled report run. This value must be a cron expression consisting of six fields separated by white spaces: cron(minutes hours day_of_month month day_of_week year).

    *)
}

Defines the schedule for a scheduled report, including the cron expression, time zone, active period, and the schedule state.

type nonrec update_scheduled_report_request = {
  1. clear_widget_date_range_override : Smaws_Lib.Smithy_api.Types.boolean_ option;
    (*

    Set to true to clear existing widgetDateRangeOverride.

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

    Set to true to clear existing widgetIds.

    *)
  3. widget_date_range_override : date_time_range option;
    (*

    The date range override to apply to widgets in the scheduled report.

    *)
  4. widget_ids : widget_id_list option;
    (*

    The list of widget identifiers to include in the scheduled report. If not specified, all widgets in the dashboard are included.

    *)
  5. schedule_config : schedule_config option;
    (*

    The updated schedule configuration for the report.

    *)
  6. scheduled_report_execution_role_arn : service_role_arn option;
    (*

    The ARN of the IAM role that the scheduled report uses to execute. Amazon Web Services Billing and Cost Management Dashboards will assume this IAM role while executing the scheduled report.

    *)
  7. dashboard_arn : dashboard_arn option;
    (*

    The ARN of the dashboard to associate with the scheduled report.

    *)
  8. description : description option;
    (*

    The new description for the scheduled report.

    *)
  9. name : scheduled_report_name option;
    (*

    The new name for the scheduled report.

    *)
  10. arn : scheduled_report_arn;
    (*

    The ARN of the scheduled report to update.

    *)
}
type nonrec throttling_exception = {
  1. message : generic_string;
}

The request was denied due to request throttling. Reduce the frequency of requests and use exponential backoff.

type nonrec resource_not_found_exception = {
  1. message : generic_string;
}

The specified resource (dashboard, policy, or widget) was not found. Verify the ARN and try again.

type nonrec internal_server_exception = {
  1. message : generic_string;
}

An internal error occurred while processing the request. Retry your request. If the problem persists, contact Amazon Web Services Support.

type nonrec conflict_exception = {
  1. message : generic_string;
}

The request could not be completed due to a conflict with the current state of the resource. For example, attempting to create a resource that already exists or is being created.

type nonrec access_denied_exception = {
  1. message : generic_string;
}

You do not have sufficient permissions to perform this action. Verify your IAM permissions and any resource policies.

type nonrec update_dashboard_response = {
  1. arn : dashboard_arn;
    (*

    The ARN of the updated dashboard.

    *)
}
type nonrec dashboard_name = string
type nonrec update_dashboard_request = {
  1. widgets : widget_list option;
    (*

    The updated array of widget configurations for the dashboard. Replaces all existing widgets.

    *)
  2. description : description option;
    (*

    The new description for the dashboard.

    *)
  3. name : dashboard_name;
    (*

    The new name for the dashboard.

    *)
  4. arn : dashboard_arn;
    (*

    The ARN of the dashboard to update.

    *)
}
type nonrec untag_resource_response = unit
type nonrec resource_arn = string
type nonrec resource_tag_key = string
type nonrec resource_tag_key_list = resource_tag_key list
type nonrec untag_resource_request = {
  1. resource_tag_keys : resource_tag_key_list;
    (*

    The keys of the tags to remove from the dashboard resource.

    *)
  2. resource_arn : resource_arn;
    (*

    The unique identifier for the resource.

    *)
}
type nonrec tag_resource_response = unit
type nonrec resource_tag_value = string
type nonrec resource_tag = {
  1. value : resource_tag_value;
    (*

    The value of the tag to be attached to the dashboard resource.

    *)
  2. key : resource_tag_key;
    (*

    The key of the tag to be attached to the dashboard resource.

    *)
}

A key-value pair that can be attached to a dashboard for organization and management purposes.

type nonrec resource_tag_list = resource_tag list
type nonrec tag_resource_request = {
  1. resource_tags : resource_tag_list;
    (*

    The tags to add to the dashboard resource.

    *)
  2. resource_arn : resource_arn;
    (*

    The unique identifier for the resource.

    *)
}
type nonrec status_reason =
  1. | WIDGET_ID_NOT_FOUND
  2. | INTERNAL_FAILURE
  3. | DASHBOARD_ACCESS_DENIED
  4. | DASHBOARD_NOT_FOUND
  5. | EXECUTION_ROLE_INSUFFICIENT_PERMISSIONS
  6. | EXECUTION_ROLE_ASSUME_FAILED
  7. | DATA_SOURCE_ACCESS_DENIED
type nonrec status_reason_list = status_reason list
type nonrec service_quota_exceeded_exception = {
  1. message : generic_string;
}

The request would exceed a service quota. Review the service quotas for Amazon Web Services Billing and Cost Management Dashboards and retry your request.

type nonrec health_status_code =
  1. | UNHEALTHY
  2. | HEALTHY
type nonrec health_status = {
  1. status_reasons : status_reason_list option;
    (*

    The list of reasons for the current health status. Only present when the status is UNHEALTHY.

    *)
  2. last_refreshed_at : generic_time_stamp option;
    (*

    The timestamp when the health status was last refreshed.

    *)
  3. status_code : health_status_code;
    (*

    The health status code. HEALTHY indicates the scheduled report is configured properly and has all required permissions to execute. UNHEALTHY indicates the scheduled report is unable to deliver the notification to the default Amazon EventBridge EventBus in your account and your action is needed. The reason for the unhealthy state is captured in the health status reasons.

    *)
}

Contains the health status information for a scheduled report, including the status code and any reasons for an unhealthy state.

type nonrec scheduled_report_summary = {
  1. widget_ids : widget_id_list option;
    (*

    The list of widget identifiers included in the scheduled report.

    *)
  2. schedule_expression_time_zone : generic_string option;
    (*

    The time zone for the schedule expression, for example, UTC.

    *)
  3. health_status : health_status;
    (*

    The health status of the scheduled report as of its last refresh time.

    *)
  4. state : schedule_state;
    (*

    The state of the schedule: ENABLED or DISABLED.

    *)
  5. schedule_expression : generic_string;
    (*

    The schedule expression that defines when the report runs.

    *)
  6. dashboard_arn : dashboard_arn;
    (*

    The ARN of the dashboard associated with the scheduled report.

    *)
  7. name : scheduled_report_name;
    (*

    The name of the scheduled report.

    *)
  8. arn : scheduled_report_arn;
    (*

    The ARN of the scheduled report.

    *)
}

Contains summary information for a scheduled report.

type nonrec scheduled_report_summary_list = scheduled_report_summary list
type nonrec scheduled_report_input = {
  1. widget_date_range_override : date_time_range option;
    (*

    The date range override to apply to widgets in the scheduled report.

    *)
  2. widget_ids : widget_id_list option;
    (*

    The list of widget identifiers to include in the scheduled report. If not specified, all widgets in the dashboard are included.

    *)
  3. description : description option;
    (*

    A description of the scheduled report's purpose or contents.

    *)
  4. schedule_config : schedule_config;
    (*

    The schedule configuration that defines when and how often the report is generated. If the schedule state is not specified, it defaults to ENABLED.

    *)
  5. scheduled_report_execution_role_arn : service_role_arn;
    (*

    The ARN of the IAM role that the scheduled report uses to execute. Amazon Web Services Billing and Cost Management Dashboards will assume this IAM role while executing the scheduled report.

    *)
  6. dashboard_arn : dashboard_arn;
    (*

    The ARN of the dashboard to generate the scheduled report from.

    *)
  7. name : scheduled_report_name;
    (*

    The name of the scheduled report.

    *)
}

Defines the configuration for creating a new scheduled report, including the dashboard, schedule, execution role, and optional widget settings.

type nonrec scheduled_report = {
  1. health_status : health_status option;
    (*

    The health status of the scheduled report at last refresh time.

    *)
  2. last_execution_at : generic_time_stamp option;
    (*

    The timestamp of the most recent execution of the scheduled report.

    *)
  3. updated_at : generic_time_stamp option;
    (*

    The timestamp when the scheduled report was last modified.

    *)
  4. created_at : generic_time_stamp option;
    (*

    The timestamp when the scheduled report was created.

    *)
  5. widget_date_range_override : date_time_range option;
    (*

    The date range override applied to widgets in the scheduled report.

    *)
  6. widget_ids : widget_id_list option;
    (*

    The list of widget identifiers included in the scheduled report.

    *)
  7. description : description option;
    (*

    A description of the scheduled report's purpose or contents.

    *)
  8. schedule_config : schedule_config;
    (*

    The schedule configuration that defines when and how often the report is generated.

    *)
  9. scheduled_report_execution_role_arn : service_role_arn;
    (*

    The ARN of the IAM role that the scheduled report uses to execute. Amazon Web Services Billing and Cost Management Dashboards will assume this IAM role while executing the scheduled report.

    *)
  10. dashboard_arn : dashboard_arn;
    (*

    The ARN of the dashboard associated with the scheduled report.

    *)
  11. name : scheduled_report_name;
    (*

    The name of the scheduled report.

    *)
  12. arn : scheduled_report_arn option;
    (*

    The ARN of the scheduled report.

    *)
}

Contains the full configuration and metadata of a scheduled report.

type nonrec next_page_token = string
type nonrec max_results = int
type nonrec list_tags_for_resource_response = {
  1. resource_tags : resource_tag_list option;
    (*

    The list of tags associated with the specified dashboard resource.

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

    The unique identifier for the resource.

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

    The token to use to retrieve the next page of results. Not returned if there are no more results to retrieve.

    *)
  2. scheduled_reports : scheduled_report_summary_list;
    (*

    An array of scheduled report summaries, containing basic information about each scheduled report.

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

    The maximum number of results to return in a single call. Valid range is 1 to 100. The default value is 50.

    *)
  2. next_token : next_page_token option;
    (*

    The token for the next page of results. Use the value returned in the previous response.

    *)
}
type nonrec dashboard_type =
  1. | CUSTOM
type nonrec dashboard_reference = {
  1. updated_at : generic_time_stamp;
    (*

    The timestamp when the dashboard was last modified.

    *)
  2. created_at : generic_time_stamp;
    (*

    The timestamp when the dashboard was created.

    *)
  3. type_ : dashboard_type;
    (*

    The dashboard type.

    *)
  4. description : description option;
    (*

    The description of the referenced dashboard.

    *)
  5. name : dashboard_name;
    (*

    The name of the referenced dashboard.

    *)
  6. arn : dashboard_arn;
    (*

    The ARN of the referenced dashboard.

    *)
}

Contains basic information about a dashboard, including its ARN, name, type, and timestamps.

type nonrec dashboard_reference_list = dashboard_reference list
type nonrec list_dashboards_response = {
  1. next_token : next_page_token option;
    (*

    The token to use to retrieve the next page of results. Not returned if there are no more results to retrieve.

    *)
  2. dashboards : dashboard_reference_list;
    (*

    An array of dashboard references, containing basic information about each dashboard.

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

    The token for the next page of results. Use the value returned in the previous response.

    *)
  2. max_results : max_results option;
    (*

    The maximum number of results to return in a single call. The default value is 20.

    *)
}
type nonrec get_scheduled_report_response = {
  1. scheduled_report : scheduled_report;
    (*

    The scheduled report configuration and metadata.

    *)
}
type nonrec get_scheduled_report_request = {
  1. arn : scheduled_report_arn;
    (*

    The ARN of the scheduled report to retrieve.

    *)
}
type nonrec get_resource_policy_response = {
  1. policy_document : generic_string;
    (*

    The JSON policy document that represents the dashboard's resource-based policy.

    *)
  2. resource_arn : dashboard_arn;
    (*

    The ARN of the dashboard for which the resource-based policy was retrieved.

    *)
}
type nonrec get_resource_policy_request = {
  1. resource_arn : dashboard_arn;
    (*

    The ARN of the dashboard whose resource-based policy you want to retrieve.

    *)
}
type nonrec get_dashboard_response = {
  1. updated_at : generic_time_stamp;
    (*

    The timestamp when the dashboard was last modified.

    *)
  2. created_at : generic_time_stamp;
    (*

    The timestamp when the dashboard was created.

    *)
  3. widgets : widget_list;
    (*

    An array of widget configurations that make up the dashboard.

    *)
  4. type_ : dashboard_type;
    (*

    Indicates the dashboard type.

    *)
  5. description : description option;
    (*

    The description of the retrieved dashboard.

    *)
  6. name : dashboard_name;
    (*

    The name of the retrieved dashboard.

    *)
  7. arn : dashboard_arn;
    (*

    The ARN of the retrieved dashboard.

    *)
}
type nonrec get_dashboard_request = {
  1. arn : dashboard_arn;
    (*

    The ARN of the dashboard to retrieve. This is required to uniquely identify the dashboard.

    *)
}
type nonrec execute_scheduled_report_response = {
  1. execution_triggered : Smaws_Lib.Smithy_api.Types.boolean_ option;
    (*

    Indicates whether the execution was successfully triggered.

    *)
  2. health_status : health_status option;
    (*

    The health status of the scheduled report after the execution request.

    *)
}
type nonrec client_token = string
type nonrec execute_scheduled_report_request = {
  1. dry_run : Smaws_Lib.Smithy_api.Types.boolean_ option;
    (*

    When set to true, validates the scheduled report configuration without triggering an actual execution.

    *)
  2. client_token : client_token option;
    (*

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

    *)
  3. arn : scheduled_report_arn;
    (*

    The ARN of the scheduled report to execute.

    *)
}
type nonrec delete_scheduled_report_response = {
  1. arn : scheduled_report_arn;
    (*

    The ARN of the scheduled report that was deleted.

    *)
}
type nonrec delete_scheduled_report_request = {
  1. arn : scheduled_report_arn;
    (*

    The ARN of the scheduled report to delete.

    *)
}
type nonrec delete_dashboard_response = {
  1. arn : dashboard_arn;
    (*

    The ARN of the dashboard that was deleted.

    *)
}
type nonrec delete_dashboard_request = {
  1. arn : dashboard_arn;
    (*

    The ARN of the dashboard to be deleted.

    *)
}
type nonrec create_scheduled_report_response = {
  1. arn : scheduled_report_arn;
    (*

    The ARN of the newly created scheduled report.

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

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

    *)
  2. resource_tags : resource_tag_list option;
    (*

    The tags to apply to the scheduled report resource for organization and management.

    *)
  3. scheduled_report : scheduled_report_input;
    (*

    The configuration for the scheduled report, including the dashboard to report on, the schedule, and the execution role that the service will use to generate the dashboard snapshot.

    *)
}
type nonrec create_dashboard_response = {
  1. arn : dashboard_arn;
    (*

    The ARN of the newly created dashboard.

    *)
}
type nonrec create_dashboard_request = {
  1. resource_tags : resource_tag_list option;
    (*

    The tags to apply to the dashboard resource for organization and management.

    *)
  2. widgets : widget_list;
    (*

    An array of widget configurations that define the visualizations to be displayed in the dashboard. Each dashboard can contain up to 20 widgets.

    *)
  3. description : description option;
    (*

    A description of the dashboard's purpose or contents.

    *)
  4. name : dashboard_name;
    (*

    The name of the dashboard. The name must be unique within your account.

    *)
}