/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes the transit gateway multicast group resources.See
* Also:
AWS
* API Reference
The IP address assigned to the transit gateway multicast group.
*/ inline const Aws::String& GetGroupIpAddress() const{ return m_groupIpAddress; } /** *The IP address assigned to the transit gateway multicast group.
*/ inline bool GroupIpAddressHasBeenSet() const { return m_groupIpAddressHasBeenSet; } /** *The IP address assigned to the transit gateway multicast group.
*/ inline void SetGroupIpAddress(const Aws::String& value) { m_groupIpAddressHasBeenSet = true; m_groupIpAddress = value; } /** *The IP address assigned to the transit gateway multicast group.
*/ inline void SetGroupIpAddress(Aws::String&& value) { m_groupIpAddressHasBeenSet = true; m_groupIpAddress = std::move(value); } /** *The IP address assigned to the transit gateway multicast group.
*/ inline void SetGroupIpAddress(const char* value) { m_groupIpAddressHasBeenSet = true; m_groupIpAddress.assign(value); } /** *The IP address assigned to the transit gateway multicast group.
*/ inline TransitGatewayMulticastGroup& WithGroupIpAddress(const Aws::String& value) { SetGroupIpAddress(value); return *this;} /** *The IP address assigned to the transit gateway multicast group.
*/ inline TransitGatewayMulticastGroup& WithGroupIpAddress(Aws::String&& value) { SetGroupIpAddress(std::move(value)); return *this;} /** *The IP address assigned to the transit gateway multicast group.
*/ inline TransitGatewayMulticastGroup& WithGroupIpAddress(const char* value) { SetGroupIpAddress(value); return *this;} /** *The ID of the transit gateway attachment.
*/ inline const Aws::String& GetTransitGatewayAttachmentId() const{ return m_transitGatewayAttachmentId; } /** *The ID of the transit gateway attachment.
*/ inline bool TransitGatewayAttachmentIdHasBeenSet() const { return m_transitGatewayAttachmentIdHasBeenSet; } /** *The ID of the transit gateway attachment.
*/ inline void SetTransitGatewayAttachmentId(const Aws::String& value) { m_transitGatewayAttachmentIdHasBeenSet = true; m_transitGatewayAttachmentId = value; } /** *The ID of the transit gateway attachment.
*/ inline void SetTransitGatewayAttachmentId(Aws::String&& value) { m_transitGatewayAttachmentIdHasBeenSet = true; m_transitGatewayAttachmentId = std::move(value); } /** *The ID of the transit gateway attachment.
*/ inline void SetTransitGatewayAttachmentId(const char* value) { m_transitGatewayAttachmentIdHasBeenSet = true; m_transitGatewayAttachmentId.assign(value); } /** *The ID of the transit gateway attachment.
*/ inline TransitGatewayMulticastGroup& WithTransitGatewayAttachmentId(const Aws::String& value) { SetTransitGatewayAttachmentId(value); return *this;} /** *The ID of the transit gateway attachment.
*/ inline TransitGatewayMulticastGroup& WithTransitGatewayAttachmentId(Aws::String&& value) { SetTransitGatewayAttachmentId(std::move(value)); return *this;} /** *The ID of the transit gateway attachment.
*/ inline TransitGatewayMulticastGroup& WithTransitGatewayAttachmentId(const char* value) { SetTransitGatewayAttachmentId(value); return *this;} /** *The ID of the subnet.
*/ inline const Aws::String& GetSubnetId() const{ return m_subnetId; } /** *The ID of the subnet.
*/ inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; } /** *The ID of the subnet.
*/ inline void SetSubnetId(const Aws::String& value) { m_subnetIdHasBeenSet = true; m_subnetId = value; } /** *The ID of the subnet.
*/ inline void SetSubnetId(Aws::String&& value) { m_subnetIdHasBeenSet = true; m_subnetId = std::move(value); } /** *The ID of the subnet.
*/ inline void SetSubnetId(const char* value) { m_subnetIdHasBeenSet = true; m_subnetId.assign(value); } /** *The ID of the subnet.
*/ inline TransitGatewayMulticastGroup& WithSubnetId(const Aws::String& value) { SetSubnetId(value); return *this;} /** *The ID of the subnet.
*/ inline TransitGatewayMulticastGroup& WithSubnetId(Aws::String&& value) { SetSubnetId(std::move(value)); return *this;} /** *The ID of the subnet.
*/ inline TransitGatewayMulticastGroup& WithSubnetId(const char* value) { SetSubnetId(value); return *this;} /** *The ID of the resource.
*/ inline const Aws::String& GetResourceId() const{ return m_resourceId; } /** *The ID of the resource.
*/ inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } /** *The ID of the resource.
*/ inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; } /** *The ID of the resource.
*/ inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); } /** *The ID of the resource.
*/ inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); } /** *The ID of the resource.
*/ inline TransitGatewayMulticastGroup& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;} /** *The ID of the resource.
*/ inline TransitGatewayMulticastGroup& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;} /** *The ID of the resource.
*/ inline TransitGatewayMulticastGroup& WithResourceId(const char* value) { SetResourceId(value); return *this;} /** *The type of resource, for example a VPC attachment.
*/ inline const TransitGatewayAttachmentResourceType& GetResourceType() const{ return m_resourceType; } /** *The type of resource, for example a VPC attachment.
*/ inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } /** *The type of resource, for example a VPC attachment.
*/ inline void SetResourceType(const TransitGatewayAttachmentResourceType& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } /** *The type of resource, for example a VPC attachment.
*/ inline void SetResourceType(TransitGatewayAttachmentResourceType&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } /** *The type of resource, for example a VPC attachment.
*/ inline TransitGatewayMulticastGroup& WithResourceType(const TransitGatewayAttachmentResourceType& value) { SetResourceType(value); return *this;} /** *The type of resource, for example a VPC attachment.
*/ inline TransitGatewayMulticastGroup& WithResourceType(TransitGatewayAttachmentResourceType&& value) { SetResourceType(std::move(value)); return *this;} /** *The ID of the Amazon Web Services account that owns the transit gateway * multicast domain group resource.
*/ inline const Aws::String& GetResourceOwnerId() const{ return m_resourceOwnerId; } /** *The ID of the Amazon Web Services account that owns the transit gateway * multicast domain group resource.
*/ inline bool ResourceOwnerIdHasBeenSet() const { return m_resourceOwnerIdHasBeenSet; } /** *The ID of the Amazon Web Services account that owns the transit gateway * multicast domain group resource.
*/ inline void SetResourceOwnerId(const Aws::String& value) { m_resourceOwnerIdHasBeenSet = true; m_resourceOwnerId = value; } /** *The ID of the Amazon Web Services account that owns the transit gateway * multicast domain group resource.
*/ inline void SetResourceOwnerId(Aws::String&& value) { m_resourceOwnerIdHasBeenSet = true; m_resourceOwnerId = std::move(value); } /** *The ID of the Amazon Web Services account that owns the transit gateway * multicast domain group resource.
*/ inline void SetResourceOwnerId(const char* value) { m_resourceOwnerIdHasBeenSet = true; m_resourceOwnerId.assign(value); } /** *The ID of the Amazon Web Services account that owns the transit gateway * multicast domain group resource.
*/ inline TransitGatewayMulticastGroup& WithResourceOwnerId(const Aws::String& value) { SetResourceOwnerId(value); return *this;} /** *The ID of the Amazon Web Services account that owns the transit gateway * multicast domain group resource.
*/ inline TransitGatewayMulticastGroup& WithResourceOwnerId(Aws::String&& value) { SetResourceOwnerId(std::move(value)); return *this;} /** *The ID of the Amazon Web Services account that owns the transit gateway * multicast domain group resource.
*/ inline TransitGatewayMulticastGroup& WithResourceOwnerId(const char* value) { SetResourceOwnerId(value); return *this;} /** *The ID of the transit gateway attachment.
*/ inline const Aws::String& GetNetworkInterfaceId() const{ return m_networkInterfaceId; } /** *The ID of the transit gateway attachment.
*/ inline bool NetworkInterfaceIdHasBeenSet() const { return m_networkInterfaceIdHasBeenSet; } /** *The ID of the transit gateway attachment.
*/ inline void SetNetworkInterfaceId(const Aws::String& value) { m_networkInterfaceIdHasBeenSet = true; m_networkInterfaceId = value; } /** *The ID of the transit gateway attachment.
*/ inline void SetNetworkInterfaceId(Aws::String&& value) { m_networkInterfaceIdHasBeenSet = true; m_networkInterfaceId = std::move(value); } /** *The ID of the transit gateway attachment.
*/ inline void SetNetworkInterfaceId(const char* value) { m_networkInterfaceIdHasBeenSet = true; m_networkInterfaceId.assign(value); } /** *The ID of the transit gateway attachment.
*/ inline TransitGatewayMulticastGroup& WithNetworkInterfaceId(const Aws::String& value) { SetNetworkInterfaceId(value); return *this;} /** *The ID of the transit gateway attachment.
*/ inline TransitGatewayMulticastGroup& WithNetworkInterfaceId(Aws::String&& value) { SetNetworkInterfaceId(std::move(value)); return *this;} /** *The ID of the transit gateway attachment.
*/ inline TransitGatewayMulticastGroup& WithNetworkInterfaceId(const char* value) { SetNetworkInterfaceId(value); return *this;} /** *Indicates that the resource is a transit gateway multicast group member.
*/ inline bool GetGroupMember() const{ return m_groupMember; } /** *Indicates that the resource is a transit gateway multicast group member.
*/ inline bool GroupMemberHasBeenSet() const { return m_groupMemberHasBeenSet; } /** *Indicates that the resource is a transit gateway multicast group member.
*/ inline void SetGroupMember(bool value) { m_groupMemberHasBeenSet = true; m_groupMember = value; } /** *Indicates that the resource is a transit gateway multicast group member.
*/ inline TransitGatewayMulticastGroup& WithGroupMember(bool value) { SetGroupMember(value); return *this;} /** *Indicates that the resource is a transit gateway multicast group member.
*/ inline bool GetGroupSource() const{ return m_groupSource; } /** *Indicates that the resource is a transit gateway multicast group member.
*/ inline bool GroupSourceHasBeenSet() const { return m_groupSourceHasBeenSet; } /** *Indicates that the resource is a transit gateway multicast group member.
*/ inline void SetGroupSource(bool value) { m_groupSourceHasBeenSet = true; m_groupSource = value; } /** *Indicates that the resource is a transit gateway multicast group member.
*/ inline TransitGatewayMulticastGroup& WithGroupSource(bool value) { SetGroupSource(value); return *this;} /** *The member type (for example, static
).
The member type (for example, static
).
The member type (for example, static
).
The member type (for example, static
).
The member type (for example, static
).
The member type (for example, static
).
The source type.
*/ inline const MembershipType& GetSourceType() const{ return m_sourceType; } /** *The source type.
*/ inline bool SourceTypeHasBeenSet() const { return m_sourceTypeHasBeenSet; } /** *The source type.
*/ inline void SetSourceType(const MembershipType& value) { m_sourceTypeHasBeenSet = true; m_sourceType = value; } /** *The source type.
*/ inline void SetSourceType(MembershipType&& value) { m_sourceTypeHasBeenSet = true; m_sourceType = std::move(value); } /** *The source type.
*/ inline TransitGatewayMulticastGroup& WithSourceType(const MembershipType& value) { SetSourceType(value); return *this;} /** *The source type.
*/ inline TransitGatewayMulticastGroup& WithSourceType(MembershipType&& value) { SetSourceType(std::move(value)); return *this;} private: Aws::String m_groupIpAddress; bool m_groupIpAddressHasBeenSet = false; Aws::String m_transitGatewayAttachmentId; bool m_transitGatewayAttachmentIdHasBeenSet = false; Aws::String m_subnetId; bool m_subnetIdHasBeenSet = false; Aws::String m_resourceId; bool m_resourceIdHasBeenSet = false; TransitGatewayAttachmentResourceType m_resourceType; bool m_resourceTypeHasBeenSet = false; Aws::String m_resourceOwnerId; bool m_resourceOwnerIdHasBeenSet = false; Aws::String m_networkInterfaceId; bool m_networkInterfaceIdHasBeenSet = false; bool m_groupMember; bool m_groupMemberHasBeenSet = false; bool m_groupSource; bool m_groupSourceHasBeenSet = false; MembershipType m_memberType; bool m_memberTypeHasBeenSet = false; MembershipType m_sourceType; bool m_sourceTypeHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws