Use this operation to retrieve one or more service level objective (SLO) budget reports.
An error budget is the amount of time or requests in an unhealthy state that your service can accumulate during an interval before your overall SLO budget health is breached and the SLO is considered to be unmet. For example, an SLO with a threshold of 99.95% and a monthly interval translates to an error budget of 21.9 minutes of downtime in a 30-day month.
Budget reports include a health indicator, the attainment value, and remaining budget.
For more information about SLO error budgets, see SLO concepts.
Parameters:
-
timestamp
(datetime)
–
The date and time that you want the report to be for. It is expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.
-
slo_ids
(ServiceLevelObjectiveIds)
–
An array containing the IDs of the service level objectives that you want to include in the report.
Raises:
Source code in docs_src/capo_application_signals/_services/application_signals.py
| def batch_get_service_level_objective_budget_report(
self,
timestamp: datetime.datetime,
slo_ids: "capo_application_signals.types.service_level_objective_ids.ServiceLevelObjectiveIds",
*,
config_overrides: Optional[ApplicationSignalsClientConfig] = None,
) -> "capo_application_signals.types.batch_get_service_level_objective_budget_report_output.BatchGetServiceLevelObjectiveBudgetReportOutput":
"""<p>Use this operation to retrieve one or more <i>service level objective (SLO) budget reports</i>.</p> <p>An <i>error budget</i> is the amount of time or requests in an unhealthy state that your service can accumulate during an interval before your overall SLO budget health is breached and the SLO is considered to be unmet. For example, an SLO with a threshold of 99.95% and a monthly interval translates to an error budget of 21.9 minutes of downtime in a 30-day month.</p> <p>Budget reports include a health indicator, the attainment value, and remaining budget.</p> <p>For more information about SLO error budgets, see <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-ServiceLevelObjectives.html#CloudWatch-ServiceLevelObjectives-concepts"> SLO concepts</a>.</p>
Args:
timestamp: <p>The date and time that you want the report to be for. It is expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.</p>
slo_ids: <p>An array containing the IDs of the service level objectives that you want to include in the report.</p>
Raises:
capo_application_signals.errors.throttling_exception.ThrottlingException: <p>The request was throttled because of quota limits.</p>
capo_application_signals.errors.validation_exception.ValidationException: <p>The resource is not valid.</p>
capo_application_signals.errors.UnknownServiceError: The service returned an error code this client does not model.
"""
def _handler(
req: "OperationRequest[capo_application_signals.types.batch_get_service_level_objective_budget_report_input.BatchGetServiceLevelObjectiveBudgetReportInput]",
) -> OperationResponse[
"capo_application_signals.types.batch_get_service_level_objective_budget_report_output.BatchGetServiceLevelObjectiveBudgetReportOutput"
]:
import capo_application_signals._operations.application_signals.batch_get_service_level_objective_budget_report
output, http_response = (
capo_application_signals._operations.application_signals.batch_get_service_level_objective_budget_report.batch_get_service_level_objective_budget_report(
req.options, req.input
)
)
return OperationResponse(output=output, response=http_response)
interceptors_, options_ = self.operation_options(
config_overrides,
OperationLogging("BatchGetServiceLevelObjectiveBudgetReport"),
)
input_: capo_application_signals.types.batch_get_service_level_objective_budget_report_input.BatchGetServiceLevelObjectiveBudgetReportInput = {
"timestamp": timestamp,
"slo_ids": slo_ids,
}
response = execute_pipeline(
OperationRequest(input=input_, options=options_),
handler=_handler,
interceptors=list(interceptors_),
)
response.response.close()
return response.output
|