module Stratosphere.EC2.TransitGatewayConnectPeer.TransitGatewayAttachmentBgpConfigurationProperty ( TransitGatewayAttachmentBgpConfigurationProperty(..), mkTransitGatewayAttachmentBgpConfigurationProperty ) where import qualified Data.Aeson as JSON import qualified Stratosphere.Prelude as Prelude import Stratosphere.Property import Stratosphere.ResourceProperties import Stratosphere.Value data TransitGatewayAttachmentBgpConfigurationProperty = -- | See: TransitGatewayAttachmentBgpConfigurationProperty {haddock_workaround_ :: (), -- | See: bgpStatus :: (Prelude.Maybe (Value Prelude.Text)), -- | See: peerAddress :: (Prelude.Maybe (Value Prelude.Text)), -- | See: peerAsn :: (Prelude.Maybe (Value Prelude.Double)), -- | See: transitGatewayAddress :: (Prelude.Maybe (Value Prelude.Text)), -- | See: transitGatewayAsn :: (Prelude.Maybe (Value Prelude.Double))} deriving stock (Prelude.Eq, Prelude.Show) mkTransitGatewayAttachmentBgpConfigurationProperty :: TransitGatewayAttachmentBgpConfigurationProperty mkTransitGatewayAttachmentBgpConfigurationProperty = TransitGatewayAttachmentBgpConfigurationProperty {haddock_workaround_ = (), bgpStatus = Prelude.Nothing, peerAddress = Prelude.Nothing, peerAsn = Prelude.Nothing, transitGatewayAddress = Prelude.Nothing, transitGatewayAsn = Prelude.Nothing} instance ToResourceProperties TransitGatewayAttachmentBgpConfigurationProperty where toResourceProperties TransitGatewayAttachmentBgpConfigurationProperty {..} = ResourceProperties {awsType = "AWS::EC2::TransitGatewayConnectPeer.TransitGatewayAttachmentBgpConfiguration", supportsTags = Prelude.False, properties = Prelude.fromList (Prelude.catMaybes [(JSON..=) "BgpStatus" Prelude.<$> bgpStatus, (JSON..=) "PeerAddress" Prelude.<$> peerAddress, (JSON..=) "PeerAsn" Prelude.<$> peerAsn, (JSON..=) "TransitGatewayAddress" Prelude.<$> transitGatewayAddress, (JSON..=) "TransitGatewayAsn" Prelude.<$> transitGatewayAsn])} instance JSON.ToJSON TransitGatewayAttachmentBgpConfigurationProperty where toJSON TransitGatewayAttachmentBgpConfigurationProperty {..} = JSON.object (Prelude.fromList (Prelude.catMaybes [(JSON..=) "BgpStatus" Prelude.<$> bgpStatus, (JSON..=) "PeerAddress" Prelude.<$> peerAddress, (JSON..=) "PeerAsn" Prelude.<$> peerAsn, (JSON..=) "TransitGatewayAddress" Prelude.<$> transitGatewayAddress, (JSON..=) "TransitGatewayAsn" Prelude.<$> transitGatewayAsn])) instance Property "BgpStatus" TransitGatewayAttachmentBgpConfigurationProperty where type PropertyType "BgpStatus" TransitGatewayAttachmentBgpConfigurationProperty = Value Prelude.Text set newValue TransitGatewayAttachmentBgpConfigurationProperty {..} = TransitGatewayAttachmentBgpConfigurationProperty {bgpStatus = Prelude.pure newValue, ..} instance Property "PeerAddress" TransitGatewayAttachmentBgpConfigurationProperty where type PropertyType "PeerAddress" TransitGatewayAttachmentBgpConfigurationProperty = Value Prelude.Text set newValue TransitGatewayAttachmentBgpConfigurationProperty {..} = TransitGatewayAttachmentBgpConfigurationProperty {peerAddress = Prelude.pure newValue, ..} instance Property "PeerAsn" TransitGatewayAttachmentBgpConfigurationProperty where type PropertyType "PeerAsn" TransitGatewayAttachmentBgpConfigurationProperty = Value Prelude.Double set newValue TransitGatewayAttachmentBgpConfigurationProperty {..} = TransitGatewayAttachmentBgpConfigurationProperty {peerAsn = Prelude.pure newValue, ..} instance Property "TransitGatewayAddress" TransitGatewayAttachmentBgpConfigurationProperty where type PropertyType "TransitGatewayAddress" TransitGatewayAttachmentBgpConfigurationProperty = Value Prelude.Text set newValue TransitGatewayAttachmentBgpConfigurationProperty {..} = TransitGatewayAttachmentBgpConfigurationProperty {transitGatewayAddress = Prelude.pure newValue, ..} instance Property "TransitGatewayAsn" TransitGatewayAttachmentBgpConfigurationProperty where type PropertyType "TransitGatewayAsn" TransitGatewayAttachmentBgpConfigurationProperty = Value Prelude.Double set newValue TransitGatewayAttachmentBgpConfigurationProperty {..} = TransitGatewayAttachmentBgpConfigurationProperty {transitGatewayAsn = Prelude.pure newValue, ..}