/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The set of parameters for this mitigation action. You can specify only one
* type of parameter (in other words, you can apply only one action for each
* defined mitigation action).See Also:
AWS
* API Reference
Parameters to define a mitigation action that changes the state of the device * certificate to inactive.
*/ inline const UpdateDeviceCertificateParams& GetUpdateDeviceCertificateParams() const{ return m_updateDeviceCertificateParams; } /** *Parameters to define a mitigation action that changes the state of the device * certificate to inactive.
*/ inline bool UpdateDeviceCertificateParamsHasBeenSet() const { return m_updateDeviceCertificateParamsHasBeenSet; } /** *Parameters to define a mitigation action that changes the state of the device * certificate to inactive.
*/ inline void SetUpdateDeviceCertificateParams(const UpdateDeviceCertificateParams& value) { m_updateDeviceCertificateParamsHasBeenSet = true; m_updateDeviceCertificateParams = value; } /** *Parameters to define a mitigation action that changes the state of the device * certificate to inactive.
*/ inline void SetUpdateDeviceCertificateParams(UpdateDeviceCertificateParams&& value) { m_updateDeviceCertificateParamsHasBeenSet = true; m_updateDeviceCertificateParams = std::move(value); } /** *Parameters to define a mitigation action that changes the state of the device * certificate to inactive.
*/ inline MitigationActionParams& WithUpdateDeviceCertificateParams(const UpdateDeviceCertificateParams& value) { SetUpdateDeviceCertificateParams(value); return *this;} /** *Parameters to define a mitigation action that changes the state of the device * certificate to inactive.
*/ inline MitigationActionParams& WithUpdateDeviceCertificateParams(UpdateDeviceCertificateParams&& value) { SetUpdateDeviceCertificateParams(std::move(value)); return *this;} /** *Parameters to define a mitigation action that changes the state of the CA * certificate to inactive.
*/ inline const UpdateCACertificateParams& GetUpdateCACertificateParams() const{ return m_updateCACertificateParams; } /** *Parameters to define a mitigation action that changes the state of the CA * certificate to inactive.
*/ inline bool UpdateCACertificateParamsHasBeenSet() const { return m_updateCACertificateParamsHasBeenSet; } /** *Parameters to define a mitigation action that changes the state of the CA * certificate to inactive.
*/ inline void SetUpdateCACertificateParams(const UpdateCACertificateParams& value) { m_updateCACertificateParamsHasBeenSet = true; m_updateCACertificateParams = value; } /** *Parameters to define a mitigation action that changes the state of the CA * certificate to inactive.
*/ inline void SetUpdateCACertificateParams(UpdateCACertificateParams&& value) { m_updateCACertificateParamsHasBeenSet = true; m_updateCACertificateParams = std::move(value); } /** *Parameters to define a mitigation action that changes the state of the CA * certificate to inactive.
*/ inline MitigationActionParams& WithUpdateCACertificateParams(const UpdateCACertificateParams& value) { SetUpdateCACertificateParams(value); return *this;} /** *Parameters to define a mitigation action that changes the state of the CA * certificate to inactive.
*/ inline MitigationActionParams& WithUpdateCACertificateParams(UpdateCACertificateParams&& value) { SetUpdateCACertificateParams(std::move(value)); return *this;} /** *Parameters to define a mitigation action that moves devices associated with a * certificate to one or more specified thing groups, typically for quarantine.
*/ inline const AddThingsToThingGroupParams& GetAddThingsToThingGroupParams() const{ return m_addThingsToThingGroupParams; } /** *Parameters to define a mitigation action that moves devices associated with a * certificate to one or more specified thing groups, typically for quarantine.
*/ inline bool AddThingsToThingGroupParamsHasBeenSet() const { return m_addThingsToThingGroupParamsHasBeenSet; } /** *Parameters to define a mitigation action that moves devices associated with a * certificate to one or more specified thing groups, typically for quarantine.
*/ inline void SetAddThingsToThingGroupParams(const AddThingsToThingGroupParams& value) { m_addThingsToThingGroupParamsHasBeenSet = true; m_addThingsToThingGroupParams = value; } /** *Parameters to define a mitigation action that moves devices associated with a * certificate to one or more specified thing groups, typically for quarantine.
*/ inline void SetAddThingsToThingGroupParams(AddThingsToThingGroupParams&& value) { m_addThingsToThingGroupParamsHasBeenSet = true; m_addThingsToThingGroupParams = std::move(value); } /** *Parameters to define a mitigation action that moves devices associated with a * certificate to one or more specified thing groups, typically for quarantine.
*/ inline MitigationActionParams& WithAddThingsToThingGroupParams(const AddThingsToThingGroupParams& value) { SetAddThingsToThingGroupParams(value); return *this;} /** *Parameters to define a mitigation action that moves devices associated with a * certificate to one or more specified thing groups, typically for quarantine.
*/ inline MitigationActionParams& WithAddThingsToThingGroupParams(AddThingsToThingGroupParams&& value) { SetAddThingsToThingGroupParams(std::move(value)); return *this;} /** *Parameters to define a mitigation action that adds a blank policy to restrict * permissions.
*/ inline const ReplaceDefaultPolicyVersionParams& GetReplaceDefaultPolicyVersionParams() const{ return m_replaceDefaultPolicyVersionParams; } /** *Parameters to define a mitigation action that adds a blank policy to restrict * permissions.
*/ inline bool ReplaceDefaultPolicyVersionParamsHasBeenSet() const { return m_replaceDefaultPolicyVersionParamsHasBeenSet; } /** *Parameters to define a mitigation action that adds a blank policy to restrict * permissions.
*/ inline void SetReplaceDefaultPolicyVersionParams(const ReplaceDefaultPolicyVersionParams& value) { m_replaceDefaultPolicyVersionParamsHasBeenSet = true; m_replaceDefaultPolicyVersionParams = value; } /** *Parameters to define a mitigation action that adds a blank policy to restrict * permissions.
*/ inline void SetReplaceDefaultPolicyVersionParams(ReplaceDefaultPolicyVersionParams&& value) { m_replaceDefaultPolicyVersionParamsHasBeenSet = true; m_replaceDefaultPolicyVersionParams = std::move(value); } /** *Parameters to define a mitigation action that adds a blank policy to restrict * permissions.
*/ inline MitigationActionParams& WithReplaceDefaultPolicyVersionParams(const ReplaceDefaultPolicyVersionParams& value) { SetReplaceDefaultPolicyVersionParams(value); return *this;} /** *Parameters to define a mitigation action that adds a blank policy to restrict * permissions.
*/ inline MitigationActionParams& WithReplaceDefaultPolicyVersionParams(ReplaceDefaultPolicyVersionParams&& value) { SetReplaceDefaultPolicyVersionParams(std::move(value)); return *this;} /** *Parameters to define a mitigation action that enables Amazon Web Services IoT * Core logging at a specified level of detail.
*/ inline const EnableIoTLoggingParams& GetEnableIoTLoggingParams() const{ return m_enableIoTLoggingParams; } /** *Parameters to define a mitigation action that enables Amazon Web Services IoT * Core logging at a specified level of detail.
*/ inline bool EnableIoTLoggingParamsHasBeenSet() const { return m_enableIoTLoggingParamsHasBeenSet; } /** *Parameters to define a mitigation action that enables Amazon Web Services IoT * Core logging at a specified level of detail.
*/ inline void SetEnableIoTLoggingParams(const EnableIoTLoggingParams& value) { m_enableIoTLoggingParamsHasBeenSet = true; m_enableIoTLoggingParams = value; } /** *Parameters to define a mitigation action that enables Amazon Web Services IoT * Core logging at a specified level of detail.
*/ inline void SetEnableIoTLoggingParams(EnableIoTLoggingParams&& value) { m_enableIoTLoggingParamsHasBeenSet = true; m_enableIoTLoggingParams = std::move(value); } /** *Parameters to define a mitigation action that enables Amazon Web Services IoT * Core logging at a specified level of detail.
*/ inline MitigationActionParams& WithEnableIoTLoggingParams(const EnableIoTLoggingParams& value) { SetEnableIoTLoggingParams(value); return *this;} /** *Parameters to define a mitigation action that enables Amazon Web Services IoT * Core logging at a specified level of detail.
*/ inline MitigationActionParams& WithEnableIoTLoggingParams(EnableIoTLoggingParams&& value) { SetEnableIoTLoggingParams(std::move(value)); return *this;} /** *Parameters to define a mitigation action that publishes findings to Amazon * Simple Notification Service (Amazon SNS. You can implement your own custom * actions in response to the Amazon SNS messages.
*/ inline const PublishFindingToSnsParams& GetPublishFindingToSnsParams() const{ return m_publishFindingToSnsParams; } /** *Parameters to define a mitigation action that publishes findings to Amazon * Simple Notification Service (Amazon SNS. You can implement your own custom * actions in response to the Amazon SNS messages.
*/ inline bool PublishFindingToSnsParamsHasBeenSet() const { return m_publishFindingToSnsParamsHasBeenSet; } /** *Parameters to define a mitigation action that publishes findings to Amazon * Simple Notification Service (Amazon SNS. You can implement your own custom * actions in response to the Amazon SNS messages.
*/ inline void SetPublishFindingToSnsParams(const PublishFindingToSnsParams& value) { m_publishFindingToSnsParamsHasBeenSet = true; m_publishFindingToSnsParams = value; } /** *Parameters to define a mitigation action that publishes findings to Amazon * Simple Notification Service (Amazon SNS. You can implement your own custom * actions in response to the Amazon SNS messages.
*/ inline void SetPublishFindingToSnsParams(PublishFindingToSnsParams&& value) { m_publishFindingToSnsParamsHasBeenSet = true; m_publishFindingToSnsParams = std::move(value); } /** *Parameters to define a mitigation action that publishes findings to Amazon * Simple Notification Service (Amazon SNS. You can implement your own custom * actions in response to the Amazon SNS messages.
*/ inline MitigationActionParams& WithPublishFindingToSnsParams(const PublishFindingToSnsParams& value) { SetPublishFindingToSnsParams(value); return *this;} /** *Parameters to define a mitigation action that publishes findings to Amazon * Simple Notification Service (Amazon SNS. You can implement your own custom * actions in response to the Amazon SNS messages.
*/ inline MitigationActionParams& WithPublishFindingToSnsParams(PublishFindingToSnsParams&& value) { SetPublishFindingToSnsParams(std::move(value)); return *this;} private: UpdateDeviceCertificateParams m_updateDeviceCertificateParams; bool m_updateDeviceCertificateParamsHasBeenSet = false; UpdateCACertificateParams m_updateCACertificateParams; bool m_updateCACertificateParamsHasBeenSet = false; AddThingsToThingGroupParams m_addThingsToThingGroupParams; bool m_addThingsToThingGroupParamsHasBeenSet = false; ReplaceDefaultPolicyVersionParams m_replaceDefaultPolicyVersionParams; bool m_replaceDefaultPolicyVersionParamsHasBeenSet = false; EnableIoTLoggingParams m_enableIoTLoggingParams; bool m_enableIoTLoggingParamsHasBeenSet = false; PublishFindingToSnsParams m_publishFindingToSnsParams; bool m_publishFindingToSnsParamsHasBeenSet = false; }; } // namespace Model } // namespace IoT } // namespace Aws