aws_sdk_iot/client/
update_security_profile.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 [`UpdateSecurityProfile`](crate::operation::update_security_profile::builders::UpdateSecurityProfileFluentBuilder) operation.
4    ///
5    /// - The fluent builder is configurable:
6    ///   - [`security_profile_name(impl Into<String>)`](crate::operation::update_security_profile::builders::UpdateSecurityProfileFluentBuilder::security_profile_name) / [`set_security_profile_name(Option<String>)`](crate::operation::update_security_profile::builders::UpdateSecurityProfileFluentBuilder::set_security_profile_name):<br>required: **true**<br><p>The name of the security profile you want to update.</p><br>
7    ///   - [`security_profile_description(impl Into<String>)`](crate::operation::update_security_profile::builders::UpdateSecurityProfileFluentBuilder::security_profile_description) / [`set_security_profile_description(Option<String>)`](crate::operation::update_security_profile::builders::UpdateSecurityProfileFluentBuilder::set_security_profile_description):<br>required: **false**<br><p>A description of the security profile.</p><br>
8    ///   - [`behaviors(Behavior)`](crate::operation::update_security_profile::builders::UpdateSecurityProfileFluentBuilder::behaviors) / [`set_behaviors(Option<Vec::<Behavior>>)`](crate::operation::update_security_profile::builders::UpdateSecurityProfileFluentBuilder::set_behaviors):<br>required: **false**<br><p>Specifies the behaviors that, when violated by a device (thing), cause an alert.</p><br>
9    ///   - [`alert_targets(AlertTargetType, AlertTarget)`](crate::operation::update_security_profile::builders::UpdateSecurityProfileFluentBuilder::alert_targets) / [`set_alert_targets(Option<HashMap::<AlertTargetType, AlertTarget>>)`](crate::operation::update_security_profile::builders::UpdateSecurityProfileFluentBuilder::set_alert_targets):<br>required: **false**<br><p>Where the alerts are sent. (Alerts are always sent to the console.)</p><br>
10    ///   - [`additional_metrics_to_retain(impl Into<String>)`](crate::operation::update_security_profile::builders::UpdateSecurityProfileFluentBuilder::additional_metrics_to_retain) / [`set_additional_metrics_to_retain(Option<Vec::<String>>)`](crate::operation::update_security_profile::builders::UpdateSecurityProfileFluentBuilder::set_additional_metrics_to_retain):<br>required: **false**<br><p><i>Please use <code>UpdateSecurityProfileRequest$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><br>
11    ///   - [`additional_metrics_to_retain_v2(MetricToRetain)`](crate::operation::update_security_profile::builders::UpdateSecurityProfileFluentBuilder::additional_metrics_to_retain_v2) / [`set_additional_metrics_to_retain_v2(Option<Vec::<MetricToRetain>>)`](crate::operation::update_security_profile::builders::UpdateSecurityProfileFluentBuilder::set_additional_metrics_to_retain_v2):<br>required: **false**<br><p>A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here. Can be used with custom metrics; cannot be used with dimensions.</p><br>
12    ///   - [`delete_behaviors(bool)`](crate::operation::update_security_profile::builders::UpdateSecurityProfileFluentBuilder::delete_behaviors) / [`set_delete_behaviors(Option<bool>)`](crate::operation::update_security_profile::builders::UpdateSecurityProfileFluentBuilder::set_delete_behaviors):<br>required: **false**<br><p>If true, delete all <code>behaviors</code> defined for this security profile. If any <code>behaviors</code> are defined in the current invocation, an exception occurs.</p><br>
13    ///   - [`delete_alert_targets(bool)`](crate::operation::update_security_profile::builders::UpdateSecurityProfileFluentBuilder::delete_alert_targets) / [`set_delete_alert_targets(Option<bool>)`](crate::operation::update_security_profile::builders::UpdateSecurityProfileFluentBuilder::set_delete_alert_targets):<br>required: **false**<br><p>If true, delete all <code>alertTargets</code> defined for this security profile. If any <code>alertTargets</code> are defined in the current invocation, an exception occurs.</p><br>
14    ///   - [`delete_additional_metrics_to_retain(bool)`](crate::operation::update_security_profile::builders::UpdateSecurityProfileFluentBuilder::delete_additional_metrics_to_retain) / [`set_delete_additional_metrics_to_retain(Option<bool>)`](crate::operation::update_security_profile::builders::UpdateSecurityProfileFluentBuilder::set_delete_additional_metrics_to_retain):<br>required: **false**<br><p>If true, delete all <code>additionalMetricsToRetain</code> defined for this security profile. If any <code>additionalMetricsToRetain</code> are defined in the current invocation, an exception occurs.</p><br>
15    ///   - [`expected_version(i64)`](crate::operation::update_security_profile::builders::UpdateSecurityProfileFluentBuilder::expected_version) / [`set_expected_version(Option<i64>)`](crate::operation::update_security_profile::builders::UpdateSecurityProfileFluentBuilder::set_expected_version):<br>required: **false**<br><p>The expected version of the security profile. A new version is generated whenever the security profile is updated. If you specify a value that is different from the actual version, a <code>VersionConflictException</code> is thrown.</p><br>
16    ///   - [`metrics_export_config(MetricsExportConfig)`](crate::operation::update_security_profile::builders::UpdateSecurityProfileFluentBuilder::metrics_export_config) / [`set_metrics_export_config(Option<MetricsExportConfig>)`](crate::operation::update_security_profile::builders::UpdateSecurityProfileFluentBuilder::set_metrics_export_config):<br>required: **false**<br><p>Specifies the MQTT topic and role ARN required for metric export.</p><br>
17    ///   - [`delete_metrics_export_config(bool)`](crate::operation::update_security_profile::builders::UpdateSecurityProfileFluentBuilder::delete_metrics_export_config) / [`set_delete_metrics_export_config(Option<bool>)`](crate::operation::update_security_profile::builders::UpdateSecurityProfileFluentBuilder::set_delete_metrics_export_config):<br>required: **false**<br><p>Set the value as true to delete metrics export related configurations.</p><br>
18    /// - On success, responds with [`UpdateSecurityProfileOutput`](crate::operation::update_security_profile::UpdateSecurityProfileOutput) with field(s):
19    ///   - [`security_profile_name(Option<String>)`](crate::operation::update_security_profile::UpdateSecurityProfileOutput::security_profile_name): <p>The name of the security profile that was updated.</p>
20    ///   - [`security_profile_arn(Option<String>)`](crate::operation::update_security_profile::UpdateSecurityProfileOutput::security_profile_arn): <p>The ARN of the security profile that was updated.</p>
21    ///   - [`security_profile_description(Option<String>)`](crate::operation::update_security_profile::UpdateSecurityProfileOutput::security_profile_description): <p>The description of the security profile.</p>
22    ///   - [`behaviors(Option<Vec::<Behavior>>)`](crate::operation::update_security_profile::UpdateSecurityProfileOutput::behaviors): <p>Specifies the behaviors that, when violated by a device (thing), cause an alert.</p>
23    ///   - [`alert_targets(Option<HashMap::<AlertTargetType, AlertTarget>>)`](crate::operation::update_security_profile::UpdateSecurityProfileOutput::alert_targets): <p>Where the alerts are sent. (Alerts are always sent to the console.)</p>
24    ///   - [`additional_metrics_to_retain(Option<Vec::<String>>)`](crate::operation::update_security_profile::UpdateSecurityProfileOutput::additional_metrics_to_retain): <p><i>Please use <code>UpdateSecurityProfileResponse$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 security profile's <code>behaviors</code>, but it is also retained for any metric specified here.</p>
25    ///   - [`additional_metrics_to_retain_v2(Option<Vec::<MetricToRetain>>)`](crate::operation::update_security_profile::UpdateSecurityProfileOutput::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 behaviors, but it is also retained for any metric specified here. Can be used with custom metrics; cannot be used with dimensions.</p>
26    ///   - [`version(i64)`](crate::operation::update_security_profile::UpdateSecurityProfileOutput::version): <p>The updated version of the security profile.</p>
27    ///   - [`creation_date(Option<DateTime>)`](crate::operation::update_security_profile::UpdateSecurityProfileOutput::creation_date): <p>The time the security profile was created.</p>
28    ///   - [`last_modified_date(Option<DateTime>)`](crate::operation::update_security_profile::UpdateSecurityProfileOutput::last_modified_date): <p>The time the security profile was last modified.</p>
29    ///   - [`metrics_export_config(Option<MetricsExportConfig>)`](crate::operation::update_security_profile::UpdateSecurityProfileOutput::metrics_export_config): <p>Specifies the MQTT topic and role ARN required for metric export.</p>
30    /// - On failure, responds with [`SdkError<UpdateSecurityProfileError>`](crate::operation::update_security_profile::UpdateSecurityProfileError)
31    pub fn update_security_profile(&self) -> crate::operation::update_security_profile::builders::UpdateSecurityProfileFluentBuilder {
32        crate::operation::update_security_profile::builders::UpdateSecurityProfileFluentBuilder::new(self.handle.clone())
33    }
34}