aws_sdk_applicationsignals/client/
create_service_level_objective.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2impl super::Client {
3    /// Constructs a fluent builder for the [`CreateServiceLevelObjective`](crate::operation::create_service_level_objective::builders::CreateServiceLevelObjectiveFluentBuilder) operation.
4    ///
5    /// - The fluent builder is configurable:
6    ///   - [`name(impl Into<String>)`](crate::operation::create_service_level_objective::builders::CreateServiceLevelObjectiveFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_service_level_objective::builders::CreateServiceLevelObjectiveFluentBuilder::set_name):<br>required: **true**<br><p>A name for this SLO.</p><br>
7    ///   - [`description(impl Into<String>)`](crate::operation::create_service_level_objective::builders::CreateServiceLevelObjectiveFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_service_level_objective::builders::CreateServiceLevelObjectiveFluentBuilder::set_description):<br>required: **false**<br><p>An optional description for this SLO.</p><br>
8    ///   - [`sli_config(ServiceLevelIndicatorConfig)`](crate::operation::create_service_level_objective::builders::CreateServiceLevelObjectiveFluentBuilder::sli_config) / [`set_sli_config(Option<ServiceLevelIndicatorConfig>)`](crate::operation::create_service_level_objective::builders::CreateServiceLevelObjectiveFluentBuilder::set_sli_config):<br>required: **false**<br><p>If this SLO is a period-based SLO, this structure defines the information about what performance metric this SLO will monitor.</p> <p>You can't specify both <code>RequestBasedSliConfig</code> and <code>SliConfig</code> in the same operation.</p><br>
9    ///   - [`request_based_sli_config(RequestBasedServiceLevelIndicatorConfig)`](crate::operation::create_service_level_objective::builders::CreateServiceLevelObjectiveFluentBuilder::request_based_sli_config) / [`set_request_based_sli_config(Option<RequestBasedServiceLevelIndicatorConfig>)`](crate::operation::create_service_level_objective::builders::CreateServiceLevelObjectiveFluentBuilder::set_request_based_sli_config):<br>required: **false**<br><p>If this SLO is a request-based SLO, this structure defines the information about what performance metric this SLO will monitor.</p> <p>You can't specify both <code>RequestBasedSliConfig</code> and <code>SliConfig</code> in the same operation.</p><br>
10    ///   - [`goal(Goal)`](crate::operation::create_service_level_objective::builders::CreateServiceLevelObjectiveFluentBuilder::goal) / [`set_goal(Option<Goal>)`](crate::operation::create_service_level_objective::builders::CreateServiceLevelObjectiveFluentBuilder::set_goal):<br>required: **false**<br><p>This structure contains the attributes that determine the goal of the SLO.</p><br>
11    ///   - [`tags(Tag)`](crate::operation::create_service_level_objective::builders::CreateServiceLevelObjectiveFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::create_service_level_objective::builders::CreateServiceLevelObjectiveFluentBuilder::set_tags):<br>required: **false**<br><p>A list of key-value pairs to associate with the SLO. You can associate as many as 50 tags with an SLO. To be able to associate tags with the SLO when you create the SLO, you must have the <code>cloudwatch:TagResource</code> permission.</p> <p>Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.</p><br>
12    ///   - [`burn_rate_configurations(BurnRateConfiguration)`](crate::operation::create_service_level_objective::builders::CreateServiceLevelObjectiveFluentBuilder::burn_rate_configurations) / [`set_burn_rate_configurations(Option<Vec::<BurnRateConfiguration>>)`](crate::operation::create_service_level_objective::builders::CreateServiceLevelObjectiveFluentBuilder::set_burn_rate_configurations):<br>required: **false**<br><p>Use this array to create <i>burn rates</i> for this SLO. Each burn rate is a metric that indicates how fast the service is consuming the error budget, relative to the attainment goal of the SLO.</p><br>
13    /// - On success, responds with [`CreateServiceLevelObjectiveOutput`](crate::operation::create_service_level_objective::CreateServiceLevelObjectiveOutput) with field(s):
14    ///   - [`slo(Option<ServiceLevelObjective>)`](crate::operation::create_service_level_objective::CreateServiceLevelObjectiveOutput::slo): <p>A structure that contains information about the SLO that you just created.</p>
15    /// - On failure, responds with [`SdkError<CreateServiceLevelObjectiveError>`](crate::operation::create_service_level_objective::CreateServiceLevelObjectiveError)
16    pub fn create_service_level_objective(
17        &self,
18    ) -> crate::operation::create_service_level_objective::builders::CreateServiceLevelObjectiveFluentBuilder {
19        crate::operation::create_service_level_objective::builders::CreateServiceLevelObjectiveFluentBuilder::new(self.handle.clone())
20    }
21}