/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The options for the transit gateway multicast domain.See
* Also:
AWS
* API Reference
Specify whether to enable Internet Group Management Protocol (IGMP) version 2 * for the transit gateway multicast domain.
*/ inline const Igmpv2SupportValue& GetIgmpv2Support() const{ return m_igmpv2Support; } /** *Specify whether to enable Internet Group Management Protocol (IGMP) version 2 * for the transit gateway multicast domain.
*/ inline bool Igmpv2SupportHasBeenSet() const { return m_igmpv2SupportHasBeenSet; } /** *Specify whether to enable Internet Group Management Protocol (IGMP) version 2 * for the transit gateway multicast domain.
*/ inline void SetIgmpv2Support(const Igmpv2SupportValue& value) { m_igmpv2SupportHasBeenSet = true; m_igmpv2Support = value; } /** *Specify whether to enable Internet Group Management Protocol (IGMP) version 2 * for the transit gateway multicast domain.
*/ inline void SetIgmpv2Support(Igmpv2SupportValue&& value) { m_igmpv2SupportHasBeenSet = true; m_igmpv2Support = std::move(value); } /** *Specify whether to enable Internet Group Management Protocol (IGMP) version 2 * for the transit gateway multicast domain.
*/ inline CreateTransitGatewayMulticastDomainRequestOptions& WithIgmpv2Support(const Igmpv2SupportValue& value) { SetIgmpv2Support(value); return *this;} /** *Specify whether to enable Internet Group Management Protocol (IGMP) version 2 * for the transit gateway multicast domain.
*/ inline CreateTransitGatewayMulticastDomainRequestOptions& WithIgmpv2Support(Igmpv2SupportValue&& value) { SetIgmpv2Support(std::move(value)); return *this;} /** *Specify whether to enable support for statically configuring multicast group * sources for a domain.
*/ inline const StaticSourcesSupportValue& GetStaticSourcesSupport() const{ return m_staticSourcesSupport; } /** *Specify whether to enable support for statically configuring multicast group * sources for a domain.
*/ inline bool StaticSourcesSupportHasBeenSet() const { return m_staticSourcesSupportHasBeenSet; } /** *Specify whether to enable support for statically configuring multicast group * sources for a domain.
*/ inline void SetStaticSourcesSupport(const StaticSourcesSupportValue& value) { m_staticSourcesSupportHasBeenSet = true; m_staticSourcesSupport = value; } /** *Specify whether to enable support for statically configuring multicast group * sources for a domain.
*/ inline void SetStaticSourcesSupport(StaticSourcesSupportValue&& value) { m_staticSourcesSupportHasBeenSet = true; m_staticSourcesSupport = std::move(value); } /** *Specify whether to enable support for statically configuring multicast group * sources for a domain.
*/ inline CreateTransitGatewayMulticastDomainRequestOptions& WithStaticSourcesSupport(const StaticSourcesSupportValue& value) { SetStaticSourcesSupport(value); return *this;} /** *Specify whether to enable support for statically configuring multicast group * sources for a domain.
*/ inline CreateTransitGatewayMulticastDomainRequestOptions& WithStaticSourcesSupport(StaticSourcesSupportValue&& value) { SetStaticSourcesSupport(std::move(value)); return *this;} /** *Indicates whether to automatically accept 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 accept cross-account subnet associations * that are associated with the transit gateway multicast domain.
*/ inline bool AutoAcceptSharedAssociationsHasBeenSet() const { return m_autoAcceptSharedAssociationsHasBeenSet; } /** *Indicates whether to automatically accept 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 accept 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 accept cross-account subnet associations * that are associated with the transit gateway multicast domain.
*/ inline CreateTransitGatewayMulticastDomainRequestOptions& WithAutoAcceptSharedAssociations(const AutoAcceptSharedAssociationsValue& value) { SetAutoAcceptSharedAssociations(value); return *this;} /** *Indicates whether to automatically accept cross-account subnet associations * that are associated with the transit gateway multicast domain.
*/ inline CreateTransitGatewayMulticastDomainRequestOptions& 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