/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace VoiceID { namespace Model { /** *

The fraud detection result produced by Voice ID, processed against the * current session state and streamed audio of the speaker.

See * Also:

AWS * API Reference

*/ class FraudDetectionResult { public: AWS_VOICEID_API FraudDetectionResult(); AWS_VOICEID_API FraudDetectionResult(Aws::Utils::Json::JsonView jsonValue); AWS_VOICEID_API FraudDetectionResult& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_VOICEID_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

A timestamp of when audio aggregation ended for this fraud detection * result.

*/ inline const Aws::Utils::DateTime& GetAudioAggregationEndedAt() const{ return m_audioAggregationEndedAt; } /** *

A timestamp of when audio aggregation ended for this fraud detection * result.

*/ inline bool AudioAggregationEndedAtHasBeenSet() const { return m_audioAggregationEndedAtHasBeenSet; } /** *

A timestamp of when audio aggregation ended for this fraud detection * result.

*/ inline void SetAudioAggregationEndedAt(const Aws::Utils::DateTime& value) { m_audioAggregationEndedAtHasBeenSet = true; m_audioAggregationEndedAt = value; } /** *

A timestamp of when audio aggregation ended for this fraud detection * result.

*/ inline void SetAudioAggregationEndedAt(Aws::Utils::DateTime&& value) { m_audioAggregationEndedAtHasBeenSet = true; m_audioAggregationEndedAt = std::move(value); } /** *

A timestamp of when audio aggregation ended for this fraud detection * result.

*/ inline FraudDetectionResult& WithAudioAggregationEndedAt(const Aws::Utils::DateTime& value) { SetAudioAggregationEndedAt(value); return *this;} /** *

A timestamp of when audio aggregation ended for this fraud detection * result.

*/ inline FraudDetectionResult& WithAudioAggregationEndedAt(Aws::Utils::DateTime&& value) { SetAudioAggregationEndedAt(std::move(value)); return *this;} /** *

A timestamp of when audio aggregation started for this fraud detection * result.

*/ inline const Aws::Utils::DateTime& GetAudioAggregationStartedAt() const{ return m_audioAggregationStartedAt; } /** *

A timestamp of when audio aggregation started for this fraud detection * result.

*/ inline bool AudioAggregationStartedAtHasBeenSet() const { return m_audioAggregationStartedAtHasBeenSet; } /** *

A timestamp of when audio aggregation started for this fraud detection * result.

*/ inline void SetAudioAggregationStartedAt(const Aws::Utils::DateTime& value) { m_audioAggregationStartedAtHasBeenSet = true; m_audioAggregationStartedAt = value; } /** *

A timestamp of when audio aggregation started for this fraud detection * result.

*/ inline void SetAudioAggregationStartedAt(Aws::Utils::DateTime&& value) { m_audioAggregationStartedAtHasBeenSet = true; m_audioAggregationStartedAt = std::move(value); } /** *

A timestamp of when audio aggregation started for this fraud detection * result.

*/ inline FraudDetectionResult& WithAudioAggregationStartedAt(const Aws::Utils::DateTime& value) { SetAudioAggregationStartedAt(value); return *this;} /** *

A timestamp of when audio aggregation started for this fraud detection * result.

*/ inline FraudDetectionResult& WithAudioAggregationStartedAt(Aws::Utils::DateTime&& value) { SetAudioAggregationStartedAt(std::move(value)); return *this;} /** *

The FraudDetectionConfiguration used to generate this fraud * detection result.

*/ inline const FraudDetectionConfiguration& GetConfiguration() const{ return m_configuration; } /** *

The FraudDetectionConfiguration used to generate this fraud * detection result.

*/ inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; } /** *

The FraudDetectionConfiguration used to generate this fraud * detection result.

*/ inline void SetConfiguration(const FraudDetectionConfiguration& value) { m_configurationHasBeenSet = true; m_configuration = value; } /** *

The FraudDetectionConfiguration used to generate this fraud * detection result.

*/ inline void SetConfiguration(FraudDetectionConfiguration&& value) { m_configurationHasBeenSet = true; m_configuration = std::move(value); } /** *

The FraudDetectionConfiguration used to generate this fraud * detection result.

*/ inline FraudDetectionResult& WithConfiguration(const FraudDetectionConfiguration& value) { SetConfiguration(value); return *this;} /** *

The FraudDetectionConfiguration used to generate this fraud * detection result.

*/ inline FraudDetectionResult& WithConfiguration(FraudDetectionConfiguration&& value) { SetConfiguration(std::move(value)); return *this;} /** *

The fraud detection decision produced by Voice ID, processed against the * current session state and streamed audio of the speaker.

*/ inline const FraudDetectionDecision& GetDecision() const{ return m_decision; } /** *

The fraud detection decision produced by Voice ID, processed against the * current session state and streamed audio of the speaker.

*/ inline bool DecisionHasBeenSet() const { return m_decisionHasBeenSet; } /** *

The fraud detection decision produced by Voice ID, processed against the * current session state and streamed audio of the speaker.

*/ inline void SetDecision(const FraudDetectionDecision& value) { m_decisionHasBeenSet = true; m_decision = value; } /** *

The fraud detection decision produced by Voice ID, processed against the * current session state and streamed audio of the speaker.

*/ inline void SetDecision(FraudDetectionDecision&& value) { m_decisionHasBeenSet = true; m_decision = std::move(value); } /** *

The fraud detection decision produced by Voice ID, processed against the * current session state and streamed audio of the speaker.

*/ inline FraudDetectionResult& WithDecision(const FraudDetectionDecision& value) { SetDecision(value); return *this;} /** *

The fraud detection decision produced by Voice ID, processed against the * current session state and streamed audio of the speaker.

*/ inline FraudDetectionResult& WithDecision(FraudDetectionDecision&& value) { SetDecision(std::move(value)); return *this;} /** *

The unique identifier for this fraud detection result. Given there can be * multiple fraud detections for a given session, this field helps in identifying * if the returned result is from previous streaming activity or a new result. Note * that in the absence of any new streaming activity or risk threshold changes, * Voice ID always returns cached Fraud Detection result for this API.

*/ inline const Aws::String& GetFraudDetectionResultId() const{ return m_fraudDetectionResultId; } /** *

The unique identifier for this fraud detection result. Given there can be * multiple fraud detections for a given session, this field helps in identifying * if the returned result is from previous streaming activity or a new result. Note * that in the absence of any new streaming activity or risk threshold changes, * Voice ID always returns cached Fraud Detection result for this API.

*/ inline bool FraudDetectionResultIdHasBeenSet() const { return m_fraudDetectionResultIdHasBeenSet; } /** *

The unique identifier for this fraud detection result. Given there can be * multiple fraud detections for a given session, this field helps in identifying * if the returned result is from previous streaming activity or a new result. Note * that in the absence of any new streaming activity or risk threshold changes, * Voice ID always returns cached Fraud Detection result for this API.

*/ inline void SetFraudDetectionResultId(const Aws::String& value) { m_fraudDetectionResultIdHasBeenSet = true; m_fraudDetectionResultId = value; } /** *

The unique identifier for this fraud detection result. Given there can be * multiple fraud detections for a given session, this field helps in identifying * if the returned result is from previous streaming activity or a new result. Note * that in the absence of any new streaming activity or risk threshold changes, * Voice ID always returns cached Fraud Detection result for this API.

*/ inline void SetFraudDetectionResultId(Aws::String&& value) { m_fraudDetectionResultIdHasBeenSet = true; m_fraudDetectionResultId = std::move(value); } /** *

The unique identifier for this fraud detection result. Given there can be * multiple fraud detections for a given session, this field helps in identifying * if the returned result is from previous streaming activity or a new result. Note * that in the absence of any new streaming activity or risk threshold changes, * Voice ID always returns cached Fraud Detection result for this API.

*/ inline void SetFraudDetectionResultId(const char* value) { m_fraudDetectionResultIdHasBeenSet = true; m_fraudDetectionResultId.assign(value); } /** *

The unique identifier for this fraud detection result. Given there can be * multiple fraud detections for a given session, this field helps in identifying * if the returned result is from previous streaming activity or a new result. Note * that in the absence of any new streaming activity or risk threshold changes, * Voice ID always returns cached Fraud Detection result for this API.

*/ inline FraudDetectionResult& WithFraudDetectionResultId(const Aws::String& value) { SetFraudDetectionResultId(value); return *this;} /** *

The unique identifier for this fraud detection result. Given there can be * multiple fraud detections for a given session, this field helps in identifying * if the returned result is from previous streaming activity or a new result. Note * that in the absence of any new streaming activity or risk threshold changes, * Voice ID always returns cached Fraud Detection result for this API.

*/ inline FraudDetectionResult& WithFraudDetectionResultId(Aws::String&& value) { SetFraudDetectionResultId(std::move(value)); return *this;} /** *

The unique identifier for this fraud detection result. Given there can be * multiple fraud detections for a given session, this field helps in identifying * if the returned result is from previous streaming activity or a new result. Note * that in the absence of any new streaming activity or risk threshold changes, * Voice ID always returns cached Fraud Detection result for this API.

*/ inline FraudDetectionResult& WithFraudDetectionResultId(const char* value) { SetFraudDetectionResultId(value); return *this;} /** *

The reason speaker was flagged by the fraud detection system. This is only be * populated if fraud detection Decision is HIGH_RISK, and the * following possible values: KNOWN_FRAUDSTER and * VOICE_SPOOFING.

*/ inline const Aws::Vector& GetReasons() const{ return m_reasons; } /** *

The reason speaker was flagged by the fraud detection system. This is only be * populated if fraud detection Decision is HIGH_RISK, and the * following possible values: KNOWN_FRAUDSTER and * VOICE_SPOOFING.

*/ inline bool ReasonsHasBeenSet() const { return m_reasonsHasBeenSet; } /** *

The reason speaker was flagged by the fraud detection system. This is only be * populated if fraud detection Decision is HIGH_RISK, and the * following possible values: KNOWN_FRAUDSTER and * VOICE_SPOOFING.

*/ inline void SetReasons(const Aws::Vector& value) { m_reasonsHasBeenSet = true; m_reasons = value; } /** *

The reason speaker was flagged by the fraud detection system. This is only be * populated if fraud detection Decision is HIGH_RISK, and the * following possible values: KNOWN_FRAUDSTER and * VOICE_SPOOFING.

*/ inline void SetReasons(Aws::Vector&& value) { m_reasonsHasBeenSet = true; m_reasons = std::move(value); } /** *

The reason speaker was flagged by the fraud detection system. This is only be * populated if fraud detection Decision is HIGH_RISK, and the * following possible values: KNOWN_FRAUDSTER and * VOICE_SPOOFING.

*/ inline FraudDetectionResult& WithReasons(const Aws::Vector& value) { SetReasons(value); return *this;} /** *

The reason speaker was flagged by the fraud detection system. This is only be * populated if fraud detection Decision is HIGH_RISK, and the * following possible values: KNOWN_FRAUDSTER and * VOICE_SPOOFING.

*/ inline FraudDetectionResult& WithReasons(Aws::Vector&& value) { SetReasons(std::move(value)); return *this;} /** *

The reason speaker was flagged by the fraud detection system. This is only be * populated if fraud detection Decision is HIGH_RISK, and the * following possible values: KNOWN_FRAUDSTER and * VOICE_SPOOFING.

*/ inline FraudDetectionResult& AddReasons(const FraudDetectionReason& value) { m_reasonsHasBeenSet = true; m_reasons.push_back(value); return *this; } /** *

The reason speaker was flagged by the fraud detection system. This is only be * populated if fraud detection Decision is HIGH_RISK, and the * following possible values: KNOWN_FRAUDSTER and * VOICE_SPOOFING.

*/ inline FraudDetectionResult& AddReasons(FraudDetectionReason&& value) { m_reasonsHasBeenSet = true; m_reasons.push_back(std::move(value)); return *this; } /** *

Details about each risk analyzed for this speaker. Currently, this contains * KnownFraudsterRisk and VoiceSpoofingRisk details.

*/ inline const FraudRiskDetails& GetRiskDetails() const{ return m_riskDetails; } /** *

Details about each risk analyzed for this speaker. Currently, this contains * KnownFraudsterRisk and VoiceSpoofingRisk details.

*/ inline bool RiskDetailsHasBeenSet() const { return m_riskDetailsHasBeenSet; } /** *

Details about each risk analyzed for this speaker. Currently, this contains * KnownFraudsterRisk and VoiceSpoofingRisk details.

*/ inline void SetRiskDetails(const FraudRiskDetails& value) { m_riskDetailsHasBeenSet = true; m_riskDetails = value; } /** *

Details about each risk analyzed for this speaker. Currently, this contains * KnownFraudsterRisk and VoiceSpoofingRisk details.

*/ inline void SetRiskDetails(FraudRiskDetails&& value) { m_riskDetailsHasBeenSet = true; m_riskDetails = std::move(value); } /** *

Details about each risk analyzed for this speaker. Currently, this contains * KnownFraudsterRisk and VoiceSpoofingRisk details.

*/ inline FraudDetectionResult& WithRiskDetails(const FraudRiskDetails& value) { SetRiskDetails(value); return *this;} /** *

Details about each risk analyzed for this speaker. Currently, this contains * KnownFraudsterRisk and VoiceSpoofingRisk details.

*/ inline FraudDetectionResult& WithRiskDetails(FraudRiskDetails&& value) { SetRiskDetails(std::move(value)); return *this;} private: Aws::Utils::DateTime m_audioAggregationEndedAt; bool m_audioAggregationEndedAtHasBeenSet = false; Aws::Utils::DateTime m_audioAggregationStartedAt; bool m_audioAggregationStartedAtHasBeenSet = false; FraudDetectionConfiguration m_configuration; bool m_configurationHasBeenSet = false; FraudDetectionDecision m_decision; bool m_decisionHasBeenSet = false; Aws::String m_fraudDetectionResultId; bool m_fraudDetectionResultIdHasBeenSet = false; Aws::Vector m_reasons; bool m_reasonsHasBeenSet = false; FraudRiskDetails m_riskDetails; bool m_riskDetailsHasBeenSet = false; }; } // namespace Model } // namespace VoiceID } // namespace Aws