// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateSecurityProfile`](crate::operation::create_security_profile::builders::CreateSecurityProfileFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`security_profile_name(impl Into<String>)`](crate::operation::create_security_profile::builders::CreateSecurityProfileFluentBuilder::security_profile_name) / [`set_security_profile_name(Option<String>)`](crate::operation::create_security_profile::builders::CreateSecurityProfileFluentBuilder::set_security_profile_name): <p>The name you are giving to the security profile.</p>
/// - [`security_profile_description(impl Into<String>)`](crate::operation::create_security_profile::builders::CreateSecurityProfileFluentBuilder::security_profile_description) / [`set_security_profile_description(Option<String>)`](crate::operation::create_security_profile::builders::CreateSecurityProfileFluentBuilder::set_security_profile_description): <p>A description of the security profile.</p>
/// - [`behaviors(Behavior)`](crate::operation::create_security_profile::builders::CreateSecurityProfileFluentBuilder::behaviors) / [`set_behaviors(Option<Vec<Behavior>>)`](crate::operation::create_security_profile::builders::CreateSecurityProfileFluentBuilder::set_behaviors): <p>Specifies the behaviors that, when violated by a device (thing), cause an alert.</p>
/// - [`alert_targets(AlertTargetType, AlertTarget)`](crate::operation::create_security_profile::builders::CreateSecurityProfileFluentBuilder::alert_targets) / [`set_alert_targets(Option<HashMap<AlertTargetType, AlertTarget>>)`](crate::operation::create_security_profile::builders::CreateSecurityProfileFluentBuilder::set_alert_targets): <p>Specifies the destinations to which alerts are sent. (Alerts are always sent to the console.) Alerts are generated when a device (thing) violates a behavior.</p>
/// - [`additional_metrics_to_retain(impl Into<String>)`](crate::operation::create_security_profile::builders::CreateSecurityProfileFluentBuilder::additional_metrics_to_retain) / [`set_additional_metrics_to_retain(Option<Vec<String>>)`](crate::operation::create_security_profile::builders::CreateSecurityProfileFluentBuilder::set_additional_metrics_to_retain): <p> <i>Please use <code>CreateSecurityProfileRequest$additionalMetricsToRetainV2</code> instead.</i> </p> <p>A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's <code>behaviors</code>, but it is also retained for any metric specified here. Can be used with custom metrics; cannot be used with dimensions.</p>
/// - [`additional_metrics_to_retain_v2(MetricToRetain)`](crate::operation::create_security_profile::builders::CreateSecurityProfileFluentBuilder::additional_metrics_to_retain_v2) / [`set_additional_metrics_to_retain_v2(Option<Vec<MetricToRetain>>)`](crate::operation::create_security_profile::builders::CreateSecurityProfileFluentBuilder::set_additional_metrics_to_retain_v2): <p>A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's <code>behaviors</code>, but it is also retained for any metric specified here. Can be used with custom metrics; cannot be used with dimensions.</p>
/// - [`tags(Tag)`](crate::operation::create_security_profile::builders::CreateSecurityProfileFluentBuilder::tags) / [`set_tags(Option<Vec<Tag>>)`](crate::operation::create_security_profile::builders::CreateSecurityProfileFluentBuilder::set_tags): <p>Metadata that can be used to manage the security profile.</p>
/// - On success, responds with [`CreateSecurityProfileOutput`](crate::operation::create_security_profile::CreateSecurityProfileOutput) with field(s):
/// - [`security_profile_name(Option<String>)`](crate::operation::create_security_profile::CreateSecurityProfileOutput::security_profile_name): <p>The name you gave to the security profile.</p>
/// - [`security_profile_arn(Option<String>)`](crate::operation::create_security_profile::CreateSecurityProfileOutput::security_profile_arn): <p>The ARN of the security profile.</p>
/// - On failure, responds with [`SdkError<CreateSecurityProfileError>`](crate::operation::create_security_profile::CreateSecurityProfileError)
pub fn create_security_profile(&self) -> crate::operation::create_security_profile::builders::CreateSecurityProfileFluentBuilder {
crate::operation::create_security_profile::builders::CreateSecurityProfileFluentBuilder::new(self.handle.clone())
}
}