module Stratosphere.EC2.NetworkInsightsAnalysis.PathComponentProperty ( module Exports, PathComponentProperty(..), mkPathComponentProperty ) where import qualified Data.Aeson as JSON import qualified Stratosphere.Prelude as Prelude import Stratosphere.Property import {-# SOURCE #-} Stratosphere.EC2.NetworkInsightsAnalysis.AdditionalDetailProperty as Exports import {-# SOURCE #-} Stratosphere.EC2.NetworkInsightsAnalysis.AnalysisAclRuleProperty as Exports import {-# SOURCE #-} Stratosphere.EC2.NetworkInsightsAnalysis.AnalysisComponentProperty as Exports import {-# SOURCE #-} Stratosphere.EC2.NetworkInsightsAnalysis.AnalysisPacketHeaderProperty as Exports import {-# SOURCE #-} Stratosphere.EC2.NetworkInsightsAnalysis.AnalysisRouteTableRouteProperty as Exports import {-# SOURCE #-} Stratosphere.EC2.NetworkInsightsAnalysis.AnalysisSecurityGroupRuleProperty as Exports import {-# SOURCE #-} Stratosphere.EC2.NetworkInsightsAnalysis.ExplanationProperty as Exports import {-# SOURCE #-} Stratosphere.EC2.NetworkInsightsAnalysis.TransitGatewayRouteTableRouteProperty as Exports import Stratosphere.ResourceProperties import Stratosphere.Value data PathComponentProperty = -- | See: PathComponentProperty {haddock_workaround_ :: (), -- | See: aclRule :: (Prelude.Maybe AnalysisAclRuleProperty), -- | See: additionalDetails :: (Prelude.Maybe [AdditionalDetailProperty]), -- | See: component :: (Prelude.Maybe AnalysisComponentProperty), -- | See: destinationVpc :: (Prelude.Maybe AnalysisComponentProperty), -- | See: elasticLoadBalancerListener :: (Prelude.Maybe AnalysisComponentProperty), -- | See: explanations :: (Prelude.Maybe [ExplanationProperty]), -- | See: inboundHeader :: (Prelude.Maybe AnalysisPacketHeaderProperty), -- | See: outboundHeader :: (Prelude.Maybe AnalysisPacketHeaderProperty), -- | See: routeTableRoute :: (Prelude.Maybe AnalysisRouteTableRouteProperty), -- | See: securityGroupRule :: (Prelude.Maybe AnalysisSecurityGroupRuleProperty), -- | See: sequenceNumber :: (Prelude.Maybe (Value Prelude.Integer)), -- | See: serviceName :: (Prelude.Maybe (Value Prelude.Text)), -- | See: sourceVpc :: (Prelude.Maybe AnalysisComponentProperty), -- | See: subnet :: (Prelude.Maybe AnalysisComponentProperty), -- | See: transitGateway :: (Prelude.Maybe AnalysisComponentProperty), -- | See: transitGatewayRouteTableRoute :: (Prelude.Maybe TransitGatewayRouteTableRouteProperty), -- | See: vpc :: (Prelude.Maybe AnalysisComponentProperty)} deriving stock (Prelude.Eq, Prelude.Show) mkPathComponentProperty :: PathComponentProperty mkPathComponentProperty = PathComponentProperty {haddock_workaround_ = (), aclRule = Prelude.Nothing, additionalDetails = Prelude.Nothing, component = Prelude.Nothing, destinationVpc = Prelude.Nothing, elasticLoadBalancerListener = Prelude.Nothing, explanations = Prelude.Nothing, inboundHeader = Prelude.Nothing, outboundHeader = Prelude.Nothing, routeTableRoute = Prelude.Nothing, securityGroupRule = Prelude.Nothing, sequenceNumber = Prelude.Nothing, serviceName = Prelude.Nothing, sourceVpc = Prelude.Nothing, subnet = Prelude.Nothing, transitGateway = Prelude.Nothing, transitGatewayRouteTableRoute = Prelude.Nothing, vpc = Prelude.Nothing} instance ToResourceProperties PathComponentProperty where toResourceProperties PathComponentProperty {..} = ResourceProperties {awsType = "AWS::EC2::NetworkInsightsAnalysis.PathComponent", supportsTags = Prelude.False, properties = Prelude.fromList (Prelude.catMaybes [(JSON..=) "AclRule" Prelude.<$> aclRule, (JSON..=) "AdditionalDetails" Prelude.<$> additionalDetails, (JSON..=) "Component" Prelude.<$> component, (JSON..=) "DestinationVpc" Prelude.<$> destinationVpc, (JSON..=) "ElasticLoadBalancerListener" Prelude.<$> elasticLoadBalancerListener, (JSON..=) "Explanations" Prelude.<$> explanations, (JSON..=) "InboundHeader" Prelude.<$> inboundHeader, (JSON..=) "OutboundHeader" Prelude.<$> outboundHeader, (JSON..=) "RouteTableRoute" Prelude.<$> routeTableRoute, (JSON..=) "SecurityGroupRule" Prelude.<$> securityGroupRule, (JSON..=) "SequenceNumber" Prelude.<$> sequenceNumber, (JSON..=) "ServiceName" Prelude.<$> serviceName, (JSON..=) "SourceVpc" Prelude.<$> sourceVpc, (JSON..=) "Subnet" Prelude.<$> subnet, (JSON..=) "TransitGateway" Prelude.<$> transitGateway, (JSON..=) "TransitGatewayRouteTableRoute" Prelude.<$> transitGatewayRouteTableRoute, (JSON..=) "Vpc" Prelude.<$> vpc])} instance JSON.ToJSON PathComponentProperty where toJSON PathComponentProperty {..} = JSON.object (Prelude.fromList (Prelude.catMaybes [(JSON..=) "AclRule" Prelude.<$> aclRule, (JSON..=) "AdditionalDetails" Prelude.<$> additionalDetails, (JSON..=) "Component" Prelude.<$> component, (JSON..=) "DestinationVpc" Prelude.<$> destinationVpc, (JSON..=) "ElasticLoadBalancerListener" Prelude.<$> elasticLoadBalancerListener, (JSON..=) "Explanations" Prelude.<$> explanations, (JSON..=) "InboundHeader" Prelude.<$> inboundHeader, (JSON..=) "OutboundHeader" Prelude.<$> outboundHeader, (JSON..=) "RouteTableRoute" Prelude.<$> routeTableRoute, (JSON..=) "SecurityGroupRule" Prelude.<$> securityGroupRule, (JSON..=) "SequenceNumber" Prelude.<$> sequenceNumber, (JSON..=) "ServiceName" Prelude.<$> serviceName, (JSON..=) "SourceVpc" Prelude.<$> sourceVpc, (JSON..=) "Subnet" Prelude.<$> subnet, (JSON..=) "TransitGateway" Prelude.<$> transitGateway, (JSON..=) "TransitGatewayRouteTableRoute" Prelude.<$> transitGatewayRouteTableRoute, (JSON..=) "Vpc" Prelude.<$> vpc])) instance Property "AclRule" PathComponentProperty where type PropertyType "AclRule" PathComponentProperty = AnalysisAclRuleProperty set newValue PathComponentProperty {..} = PathComponentProperty {aclRule = Prelude.pure newValue, ..} instance Property "AdditionalDetails" PathComponentProperty where type PropertyType "AdditionalDetails" PathComponentProperty = [AdditionalDetailProperty] set newValue PathComponentProperty {..} = PathComponentProperty {additionalDetails = Prelude.pure newValue, ..} instance Property "Component" PathComponentProperty where type PropertyType "Component" PathComponentProperty = AnalysisComponentProperty set newValue PathComponentProperty {..} = PathComponentProperty {component = Prelude.pure newValue, ..} instance Property "DestinationVpc" PathComponentProperty where type PropertyType "DestinationVpc" PathComponentProperty = AnalysisComponentProperty set newValue PathComponentProperty {..} = PathComponentProperty {destinationVpc = Prelude.pure newValue, ..} instance Property "ElasticLoadBalancerListener" PathComponentProperty where type PropertyType "ElasticLoadBalancerListener" PathComponentProperty = AnalysisComponentProperty set newValue PathComponentProperty {..} = PathComponentProperty {elasticLoadBalancerListener = Prelude.pure newValue, ..} instance Property "Explanations" PathComponentProperty where type PropertyType "Explanations" PathComponentProperty = [ExplanationProperty] set newValue PathComponentProperty {..} = PathComponentProperty {explanations = Prelude.pure newValue, ..} instance Property "InboundHeader" PathComponentProperty where type PropertyType "InboundHeader" PathComponentProperty = AnalysisPacketHeaderProperty set newValue PathComponentProperty {..} = PathComponentProperty {inboundHeader = Prelude.pure newValue, ..} instance Property "OutboundHeader" PathComponentProperty where type PropertyType "OutboundHeader" PathComponentProperty = AnalysisPacketHeaderProperty set newValue PathComponentProperty {..} = PathComponentProperty {outboundHeader = Prelude.pure newValue, ..} instance Property "RouteTableRoute" PathComponentProperty where type PropertyType "RouteTableRoute" PathComponentProperty = AnalysisRouteTableRouteProperty set newValue PathComponentProperty {..} = PathComponentProperty {routeTableRoute = Prelude.pure newValue, ..} instance Property "SecurityGroupRule" PathComponentProperty where type PropertyType "SecurityGroupRule" PathComponentProperty = AnalysisSecurityGroupRuleProperty set newValue PathComponentProperty {..} = PathComponentProperty {securityGroupRule = Prelude.pure newValue, ..} instance Property "SequenceNumber" PathComponentProperty where type PropertyType "SequenceNumber" PathComponentProperty = Value Prelude.Integer set newValue PathComponentProperty {..} = PathComponentProperty {sequenceNumber = Prelude.pure newValue, ..} instance Property "ServiceName" PathComponentProperty where type PropertyType "ServiceName" PathComponentProperty = Value Prelude.Text set newValue PathComponentProperty {..} = PathComponentProperty {serviceName = Prelude.pure newValue, ..} instance Property "SourceVpc" PathComponentProperty where type PropertyType "SourceVpc" PathComponentProperty = AnalysisComponentProperty set newValue PathComponentProperty {..} = PathComponentProperty {sourceVpc = Prelude.pure newValue, ..} instance Property "Subnet" PathComponentProperty where type PropertyType "Subnet" PathComponentProperty = AnalysisComponentProperty set newValue PathComponentProperty {..} = PathComponentProperty {subnet = Prelude.pure newValue, ..} instance Property "TransitGateway" PathComponentProperty where type PropertyType "TransitGateway" PathComponentProperty = AnalysisComponentProperty set newValue PathComponentProperty {..} = PathComponentProperty {transitGateway = Prelude.pure newValue, ..} instance Property "TransitGatewayRouteTableRoute" PathComponentProperty where type PropertyType "TransitGatewayRouteTableRoute" PathComponentProperty = TransitGatewayRouteTableRouteProperty set newValue PathComponentProperty {..} = PathComponentProperty {transitGatewayRouteTableRoute = Prelude.pure newValue, ..} instance Property "Vpc" PathComponentProperty where type PropertyType "Vpc" PathComponentProperty = AnalysisComponentProperty set newValue PathComponentProperty {..} = PathComponentProperty {vpc = Prelude.pure newValue, ..}