/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include
#include
#include
#include
#include
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace GuardDuty
{
namespace Model
{
/**
* Indicates that a login attempt was made to the potentially compromised
* database from a remote IP address.
See Also:
AWS
* API Reference
*/
class RdsLoginAttemptAction
{
public:
AWS_GUARDDUTY_API RdsLoginAttemptAction();
AWS_GUARDDUTY_API RdsLoginAttemptAction(Aws::Utils::Json::JsonView jsonValue);
AWS_GUARDDUTY_API RdsLoginAttemptAction& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_GUARDDUTY_API Aws::Utils::Json::JsonValue Jsonize() const;
inline const RemoteIpDetails& GetRemoteIpDetails() const{ return m_remoteIpDetails; }
inline bool RemoteIpDetailsHasBeenSet() const { return m_remoteIpDetailsHasBeenSet; }
inline void SetRemoteIpDetails(const RemoteIpDetails& value) { m_remoteIpDetailsHasBeenSet = true; m_remoteIpDetails = value; }
inline void SetRemoteIpDetails(RemoteIpDetails&& value) { m_remoteIpDetailsHasBeenSet = true; m_remoteIpDetails = std::move(value); }
inline RdsLoginAttemptAction& WithRemoteIpDetails(const RemoteIpDetails& value) { SetRemoteIpDetails(value); return *this;}
inline RdsLoginAttemptAction& WithRemoteIpDetails(RemoteIpDetails&& value) { SetRemoteIpDetails(std::move(value)); return *this;}
/**
* Indicates the login attributes used in the login attempt.
*/
inline const Aws::Vector& GetLoginAttributes() const{ return m_loginAttributes; }
/**
* Indicates the login attributes used in the login attempt.
*/
inline bool LoginAttributesHasBeenSet() const { return m_loginAttributesHasBeenSet; }
/**
* Indicates the login attributes used in the login attempt.
*/
inline void SetLoginAttributes(const Aws::Vector& value) { m_loginAttributesHasBeenSet = true; m_loginAttributes = value; }
/**
* Indicates the login attributes used in the login attempt.
*/
inline void SetLoginAttributes(Aws::Vector&& value) { m_loginAttributesHasBeenSet = true; m_loginAttributes = std::move(value); }
/**
* Indicates the login attributes used in the login attempt.
*/
inline RdsLoginAttemptAction& WithLoginAttributes(const Aws::Vector& value) { SetLoginAttributes(value); return *this;}
/**
* Indicates the login attributes used in the login attempt.
*/
inline RdsLoginAttemptAction& WithLoginAttributes(Aws::Vector&& value) { SetLoginAttributes(std::move(value)); return *this;}
/**
* Indicates the login attributes used in the login attempt.
*/
inline RdsLoginAttemptAction& AddLoginAttributes(const LoginAttribute& value) { m_loginAttributesHasBeenSet = true; m_loginAttributes.push_back(value); return *this; }
/**
* Indicates the login attributes used in the login attempt.
*/
inline RdsLoginAttemptAction& AddLoginAttributes(LoginAttribute&& value) { m_loginAttributesHasBeenSet = true; m_loginAttributes.push_back(std::move(value)); return *this; }
private:
RemoteIpDetails m_remoteIpDetails;
bool m_remoteIpDetailsHasBeenSet = false;
Aws::Vector m_loginAttributes;
bool m_loginAttributesHasBeenSet = false;
};
} // namespace Model
} // namespace GuardDuty
} // namespace Aws