/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes the options for a transit gateway multicast domain.See
* Also:
AWS
* API Reference
Indicates whether Internet Group Management Protocol (IGMP) version 2 is * turned on for the transit gateway multicast domain.
*/ inline const Igmpv2SupportValue& GetIgmpv2Support() const{ return m_igmpv2Support; } /** *Indicates whether Internet Group Management Protocol (IGMP) version 2 is * turned on for the transit gateway multicast domain.
*/ inline bool Igmpv2SupportHasBeenSet() const { return m_igmpv2SupportHasBeenSet; } /** *Indicates whether Internet Group Management Protocol (IGMP) version 2 is * turned on for the transit gateway multicast domain.
*/ inline void SetIgmpv2Support(const Igmpv2SupportValue& value) { m_igmpv2SupportHasBeenSet = true; m_igmpv2Support = value; } /** *Indicates whether Internet Group Management Protocol (IGMP) version 2 is * turned on for the transit gateway multicast domain.
*/ inline void SetIgmpv2Support(Igmpv2SupportValue&& value) { m_igmpv2SupportHasBeenSet = true; m_igmpv2Support = std::move(value); } /** *Indicates whether Internet Group Management Protocol (IGMP) version 2 is * turned on for the transit gateway multicast domain.
*/ inline TransitGatewayMulticastDomainOptions& WithIgmpv2Support(const Igmpv2SupportValue& value) { SetIgmpv2Support(value); return *this;} /** *Indicates whether Internet Group Management Protocol (IGMP) version 2 is * turned on for the transit gateway multicast domain.
*/ inline TransitGatewayMulticastDomainOptions& WithIgmpv2Support(Igmpv2SupportValue&& value) { SetIgmpv2Support(std::move(value)); return *this;} /** *Indicates whether support for statically configuring transit gateway * multicast group sources is turned on.
*/ inline const StaticSourcesSupportValue& GetStaticSourcesSupport() const{ return m_staticSourcesSupport; } /** *Indicates whether support for statically configuring transit gateway * multicast group sources is turned on.
*/ inline bool StaticSourcesSupportHasBeenSet() const { return m_staticSourcesSupportHasBeenSet; } /** *Indicates whether support for statically configuring transit gateway * multicast group sources is turned on.
*/ inline void SetStaticSourcesSupport(const StaticSourcesSupportValue& value) { m_staticSourcesSupportHasBeenSet = true; m_staticSourcesSupport = value; } /** *Indicates whether support for statically configuring transit gateway * multicast group sources is turned on.
*/ inline void SetStaticSourcesSupport(StaticSourcesSupportValue&& value) { m_staticSourcesSupportHasBeenSet = true; m_staticSourcesSupport = std::move(value); } /** *Indicates whether support for statically configuring transit gateway * multicast group sources is turned on.
*/ inline TransitGatewayMulticastDomainOptions& WithStaticSourcesSupport(const StaticSourcesSupportValue& value) { SetStaticSourcesSupport(value); return *this;} /** *Indicates whether support for statically configuring transit gateway * multicast group sources is turned on.
*/ inline TransitGatewayMulticastDomainOptions& WithStaticSourcesSupport(StaticSourcesSupportValue&& value) { SetStaticSourcesSupport(std::move(value)); return *this;} /** *Indicates whether to automatically cross-account subnet associations that are * associated with the transit gateway multicast domain.
*/ inline const AutoAcceptSharedAssociationsValue& GetAutoAcceptSharedAssociations() const{ return m_autoAcceptSharedAssociations; } /** *Indicates whether to automatically cross-account subnet associations that are * associated with the transit gateway multicast domain.
*/ inline bool AutoAcceptSharedAssociationsHasBeenSet() const { return m_autoAcceptSharedAssociationsHasBeenSet; } /** *Indicates whether to automatically cross-account subnet associations that are * associated with the transit gateway multicast domain.
*/ inline void SetAutoAcceptSharedAssociations(const AutoAcceptSharedAssociationsValue& value) { m_autoAcceptSharedAssociationsHasBeenSet = true; m_autoAcceptSharedAssociations = value; } /** *Indicates whether to automatically cross-account subnet associations that are * associated with the transit gateway multicast domain.
*/ inline void SetAutoAcceptSharedAssociations(AutoAcceptSharedAssociationsValue&& value) { m_autoAcceptSharedAssociationsHasBeenSet = true; m_autoAcceptSharedAssociations = std::move(value); } /** *Indicates whether to automatically cross-account subnet associations that are * associated with the transit gateway multicast domain.
*/ inline TransitGatewayMulticastDomainOptions& WithAutoAcceptSharedAssociations(const AutoAcceptSharedAssociationsValue& value) { SetAutoAcceptSharedAssociations(value); return *this;} /** *Indicates whether to automatically cross-account subnet associations that are * associated with the transit gateway multicast domain.
*/ inline TransitGatewayMulticastDomainOptions& WithAutoAcceptSharedAssociations(AutoAcceptSharedAssociationsValue&& value) { SetAutoAcceptSharedAssociations(std::move(value)); return *this;} private: Igmpv2SupportValue m_igmpv2Support; bool m_igmpv2SupportHasBeenSet = false; StaticSourcesSupportValue m_staticSourcesSupport; bool m_staticSourcesSupportHasBeenSet = false; AutoAcceptSharedAssociationsValue m_autoAcceptSharedAssociations; bool m_autoAcceptSharedAssociationsHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws