module Stratosphere.ApiGateway.RestApi.EndpointConfigurationProperty ( EndpointConfigurationProperty(..), mkEndpointConfigurationProperty ) where import qualified Data.Aeson as JSON import qualified Stratosphere.Prelude as Prelude import Stratosphere.Property import Stratosphere.ResourceProperties import Stratosphere.Value data EndpointConfigurationProperty = -- | See: EndpointConfigurationProperty {haddock_workaround_ :: (), -- | See: ipAddressType :: (Prelude.Maybe (Value Prelude.Text)), -- | See: types :: (Prelude.Maybe (ValueList Prelude.Text)), -- | See: vpcEndpointIds :: (Prelude.Maybe (ValueList Prelude.Text))} deriving stock (Prelude.Eq, Prelude.Show) mkEndpointConfigurationProperty :: EndpointConfigurationProperty mkEndpointConfigurationProperty = EndpointConfigurationProperty {haddock_workaround_ = (), ipAddressType = Prelude.Nothing, types = Prelude.Nothing, vpcEndpointIds = Prelude.Nothing} instance ToResourceProperties EndpointConfigurationProperty where toResourceProperties EndpointConfigurationProperty {..} = ResourceProperties {awsType = "AWS::ApiGateway::RestApi.EndpointConfiguration", supportsTags = Prelude.False, properties = Prelude.fromList (Prelude.catMaybes [(JSON..=) "IpAddressType" Prelude.<$> ipAddressType, (JSON..=) "Types" Prelude.<$> types, (JSON..=) "VpcEndpointIds" Prelude.<$> vpcEndpointIds])} instance JSON.ToJSON EndpointConfigurationProperty where toJSON EndpointConfigurationProperty {..} = JSON.object (Prelude.fromList (Prelude.catMaybes [(JSON..=) "IpAddressType" Prelude.<$> ipAddressType, (JSON..=) "Types" Prelude.<$> types, (JSON..=) "VpcEndpointIds" Prelude.<$> vpcEndpointIds])) instance Property "IpAddressType" EndpointConfigurationProperty where type PropertyType "IpAddressType" EndpointConfigurationProperty = Value Prelude.Text set newValue EndpointConfigurationProperty {..} = EndpointConfigurationProperty {ipAddressType = Prelude.pure newValue, ..} instance Property "Types" EndpointConfigurationProperty where type PropertyType "Types" EndpointConfigurationProperty = ValueList Prelude.Text set newValue EndpointConfigurationProperty {..} = EndpointConfigurationProperty {types = Prelude.pure newValue, ..} instance Property "VpcEndpointIds" EndpointConfigurationProperty where type PropertyType "VpcEndpointIds" EndpointConfigurationProperty = ValueList Prelude.Text set newValue EndpointConfigurationProperty {..} = EndpointConfigurationProperty {vpcEndpointIds = Prelude.pure newValue, ..}