packages feed

stratosphere-ec2-1.0.0: gen/Stratosphere/EC2/TransitGatewayConnectPeer/TransitGatewayAttachmentBgpConfigurationProperty.hs

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: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration.html>
    TransitGatewayAttachmentBgpConfigurationProperty {haddock_workaround_ :: (),
                                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration.html#cfn-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration-bgpstatus>
                                                      bgpStatus :: (Prelude.Maybe (Value Prelude.Text)),
                                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration.html#cfn-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration-peeraddress>
                                                      peerAddress :: (Prelude.Maybe (Value Prelude.Text)),
                                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration.html#cfn-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration-peerasn>
                                                      peerAsn :: (Prelude.Maybe (Value Prelude.Double)),
                                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration.html#cfn-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration-transitgatewayaddress>
                                                      transitGatewayAddress :: (Prelude.Maybe (Value Prelude.Text)),
                                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration.html#cfn-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration-transitgatewayasn>
                                                      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, ..}