stratosphere-0.37.0: library-gen/Stratosphere/ResourceProperties/ApiGatewayV2DomainNameDomainNameConfiguration.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html
module Stratosphere.ResourceProperties.ApiGatewayV2DomainNameDomainNameConfiguration where
import Stratosphere.ResourceImports
-- | Full data type definition for
-- ApiGatewayV2DomainNameDomainNameConfiguration. See
-- 'apiGatewayV2DomainNameDomainNameConfiguration' for a more convenient
-- constructor.
data ApiGatewayV2DomainNameDomainNameConfiguration =
ApiGatewayV2DomainNameDomainNameConfiguration
{ _apiGatewayV2DomainNameDomainNameConfigurationCertificateArn :: Maybe (Val Text)
, _apiGatewayV2DomainNameDomainNameConfigurationCertificateName :: Maybe (Val Text)
, _apiGatewayV2DomainNameDomainNameConfigurationEndpointType :: Maybe (Val Text)
} deriving (Show, Eq)
instance ToJSON ApiGatewayV2DomainNameDomainNameConfiguration where
toJSON ApiGatewayV2DomainNameDomainNameConfiguration{..} =
object $
catMaybes
[ fmap (("CertificateArn",) . toJSON) _apiGatewayV2DomainNameDomainNameConfigurationCertificateArn
, fmap (("CertificateName",) . toJSON) _apiGatewayV2DomainNameDomainNameConfigurationCertificateName
, fmap (("EndpointType",) . toJSON) _apiGatewayV2DomainNameDomainNameConfigurationEndpointType
]
-- | Constructor for 'ApiGatewayV2DomainNameDomainNameConfiguration'
-- containing required fields as arguments.
apiGatewayV2DomainNameDomainNameConfiguration
:: ApiGatewayV2DomainNameDomainNameConfiguration
apiGatewayV2DomainNameDomainNameConfiguration =
ApiGatewayV2DomainNameDomainNameConfiguration
{ _apiGatewayV2DomainNameDomainNameConfigurationCertificateArn = Nothing
, _apiGatewayV2DomainNameDomainNameConfigurationCertificateName = Nothing
, _apiGatewayV2DomainNameDomainNameConfigurationEndpointType = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html#cfn-apigatewayv2-domainname-domainnameconfiguration-certificatearn
agvdndncCertificateArn :: Lens' ApiGatewayV2DomainNameDomainNameConfiguration (Maybe (Val Text))
agvdndncCertificateArn = lens _apiGatewayV2DomainNameDomainNameConfigurationCertificateArn (\s a -> s { _apiGatewayV2DomainNameDomainNameConfigurationCertificateArn = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html#cfn-apigatewayv2-domainname-domainnameconfiguration-certificatename
agvdndncCertificateName :: Lens' ApiGatewayV2DomainNameDomainNameConfiguration (Maybe (Val Text))
agvdndncCertificateName = lens _apiGatewayV2DomainNameDomainNameConfigurationCertificateName (\s a -> s { _apiGatewayV2DomainNameDomainNameConfigurationCertificateName = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html#cfn-apigatewayv2-domainname-domainnameconfiguration-endpointtype
agvdndncEndpointType :: Lens' ApiGatewayV2DomainNameDomainNameConfiguration (Maybe (Val Text))
agvdndncEndpointType = lens _apiGatewayV2DomainNameDomainNameConfigurationEndpointType (\s a -> s { _apiGatewayV2DomainNameDomainNameConfigurationEndpointType = a })