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

Provides ownership and status information for an Amazon EC2 security * group.

See Also:

AWS * API Reference

*/ class EC2SecurityGroup { public: AWS_ELASTICACHE_API EC2SecurityGroup(); AWS_ELASTICACHE_API EC2SecurityGroup(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_ELASTICACHE_API EC2SecurityGroup& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_ELASTICACHE_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_ELASTICACHE_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The status of the Amazon EC2 security group.

*/ inline const Aws::String& GetStatus() const{ return m_status; } /** *

The status of the Amazon EC2 security group.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The status of the Amazon EC2 security group.

*/ inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The status of the Amazon EC2 security group.

*/ inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The status of the Amazon EC2 security group.

*/ inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); } /** *

The status of the Amazon EC2 security group.

*/ inline EC2SecurityGroup& WithStatus(const Aws::String& value) { SetStatus(value); return *this;} /** *

The status of the Amazon EC2 security group.

*/ inline EC2SecurityGroup& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;} /** *

The status of the Amazon EC2 security group.

*/ inline EC2SecurityGroup& WithStatus(const char* value) { SetStatus(value); return *this;} /** *

The name of the Amazon EC2 security group.

*/ inline const Aws::String& GetEC2SecurityGroupName() const{ return m_eC2SecurityGroupName; } /** *

The name of the Amazon EC2 security group.

*/ inline bool EC2SecurityGroupNameHasBeenSet() const { return m_eC2SecurityGroupNameHasBeenSet; } /** *

The name of the Amazon EC2 security group.

*/ inline void SetEC2SecurityGroupName(const Aws::String& value) { m_eC2SecurityGroupNameHasBeenSet = true; m_eC2SecurityGroupName = value; } /** *

The name of the Amazon EC2 security group.

*/ inline void SetEC2SecurityGroupName(Aws::String&& value) { m_eC2SecurityGroupNameHasBeenSet = true; m_eC2SecurityGroupName = std::move(value); } /** *

The name of the Amazon EC2 security group.

*/ inline void SetEC2SecurityGroupName(const char* value) { m_eC2SecurityGroupNameHasBeenSet = true; m_eC2SecurityGroupName.assign(value); } /** *

The name of the Amazon EC2 security group.

*/ inline EC2SecurityGroup& WithEC2SecurityGroupName(const Aws::String& value) { SetEC2SecurityGroupName(value); return *this;} /** *

The name of the Amazon EC2 security group.

*/ inline EC2SecurityGroup& WithEC2SecurityGroupName(Aws::String&& value) { SetEC2SecurityGroupName(std::move(value)); return *this;} /** *

The name of the Amazon EC2 security group.

*/ inline EC2SecurityGroup& WithEC2SecurityGroupName(const char* value) { SetEC2SecurityGroupName(value); return *this;} /** *

The Amazon account ID of the Amazon EC2 security group owner.

*/ inline const Aws::String& GetEC2SecurityGroupOwnerId() const{ return m_eC2SecurityGroupOwnerId; } /** *

The Amazon account ID of the Amazon EC2 security group owner.

*/ inline bool EC2SecurityGroupOwnerIdHasBeenSet() const { return m_eC2SecurityGroupOwnerIdHasBeenSet; } /** *

The Amazon account ID of the Amazon EC2 security group owner.

*/ inline void SetEC2SecurityGroupOwnerId(const Aws::String& value) { m_eC2SecurityGroupOwnerIdHasBeenSet = true; m_eC2SecurityGroupOwnerId = value; } /** *

The Amazon account ID of the Amazon EC2 security group owner.

*/ inline void SetEC2SecurityGroupOwnerId(Aws::String&& value) { m_eC2SecurityGroupOwnerIdHasBeenSet = true; m_eC2SecurityGroupOwnerId = std::move(value); } /** *

The Amazon account ID of the Amazon EC2 security group owner.

*/ inline void SetEC2SecurityGroupOwnerId(const char* value) { m_eC2SecurityGroupOwnerIdHasBeenSet = true; m_eC2SecurityGroupOwnerId.assign(value); } /** *

The Amazon account ID of the Amazon EC2 security group owner.

*/ inline EC2SecurityGroup& WithEC2SecurityGroupOwnerId(const Aws::String& value) { SetEC2SecurityGroupOwnerId(value); return *this;} /** *

The Amazon account ID of the Amazon EC2 security group owner.

*/ inline EC2SecurityGroup& WithEC2SecurityGroupOwnerId(Aws::String&& value) { SetEC2SecurityGroupOwnerId(std::move(value)); return *this;} /** *

The Amazon account ID of the Amazon EC2 security group owner.

*/ inline EC2SecurityGroup& WithEC2SecurityGroupOwnerId(const char* value) { SetEC2SecurityGroupOwnerId(value); return *this;} private: Aws::String m_status; bool m_statusHasBeenSet = false; Aws::String m_eC2SecurityGroupName; bool m_eC2SecurityGroupNameHasBeenSet = false; Aws::String m_eC2SecurityGroupOwnerId; bool m_eC2SecurityGroupOwnerIdHasBeenSet = false; }; } // namespace Model } // namespace ElastiCache } // namespace Aws