packages feed

stratosphere-ec2-1.0.0: gen/Stratosphere/EC2/VerifiedAccessInstance.hs

module Stratosphere.EC2.VerifiedAccessInstance (
        module Exports, VerifiedAccessInstance(..),
        mkVerifiedAccessInstance
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.EC2.VerifiedAccessInstance.VerifiedAccessLogsProperty as Exports
import {-# SOURCE #-} Stratosphere.EC2.VerifiedAccessInstance.VerifiedAccessTrustProviderProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Tag
import Stratosphere.Value
data VerifiedAccessInstance
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessinstance.html>
    VerifiedAccessInstance {haddock_workaround_ :: (),
                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessinstance.html#cfn-ec2-verifiedaccessinstance-cidrendpointscustomsubdomain>
                            cidrEndpointsCustomSubDomain :: (Prelude.Maybe (Value Prelude.Text)),
                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessinstance.html#cfn-ec2-verifiedaccessinstance-description>
                            description :: (Prelude.Maybe (Value Prelude.Text)),
                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessinstance.html#cfn-ec2-verifiedaccessinstance-fipsenabled>
                            fipsEnabled :: (Prelude.Maybe (Value Prelude.Bool)),
                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessinstance.html#cfn-ec2-verifiedaccessinstance-loggingconfigurations>
                            loggingConfigurations :: (Prelude.Maybe VerifiedAccessLogsProperty),
                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessinstance.html#cfn-ec2-verifiedaccessinstance-tags>
                            tags :: (Prelude.Maybe [Tag]),
                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessinstance.html#cfn-ec2-verifiedaccessinstance-verifiedaccesstrustproviderids>
                            verifiedAccessTrustProviderIds :: (Prelude.Maybe (ValueList Prelude.Text)),
                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessinstance.html#cfn-ec2-verifiedaccessinstance-verifiedaccesstrustproviders>
                            verifiedAccessTrustProviders :: (Prelude.Maybe [VerifiedAccessTrustProviderProperty])}
  deriving stock (Prelude.Eq, Prelude.Show)
mkVerifiedAccessInstance :: VerifiedAccessInstance
mkVerifiedAccessInstance
  = VerifiedAccessInstance
      {haddock_workaround_ = (),
       cidrEndpointsCustomSubDomain = Prelude.Nothing,
       description = Prelude.Nothing, fipsEnabled = Prelude.Nothing,
       loggingConfigurations = Prelude.Nothing, tags = Prelude.Nothing,
       verifiedAccessTrustProviderIds = Prelude.Nothing,
       verifiedAccessTrustProviders = Prelude.Nothing}
instance ToResourceProperties VerifiedAccessInstance where
  toResourceProperties VerifiedAccessInstance {..}
    = ResourceProperties
        {awsType = "AWS::EC2::VerifiedAccessInstance",
         supportsTags = Prelude.True,
         properties = Prelude.fromList
                        (Prelude.catMaybes
                           [(JSON..=) "CidrEndpointsCustomSubDomain"
                              Prelude.<$> cidrEndpointsCustomSubDomain,
                            (JSON..=) "Description" Prelude.<$> description,
                            (JSON..=) "FipsEnabled" Prelude.<$> fipsEnabled,
                            (JSON..=) "LoggingConfigurations"
                              Prelude.<$> loggingConfigurations,
                            (JSON..=) "Tags" Prelude.<$> tags,
                            (JSON..=) "VerifiedAccessTrustProviderIds"
                              Prelude.<$> verifiedAccessTrustProviderIds,
                            (JSON..=) "VerifiedAccessTrustProviders"
                              Prelude.<$> verifiedAccessTrustProviders])}
instance JSON.ToJSON VerifiedAccessInstance where
  toJSON VerifiedAccessInstance {..}
    = JSON.object
        (Prelude.fromList
           (Prelude.catMaybes
              [(JSON..=) "CidrEndpointsCustomSubDomain"
                 Prelude.<$> cidrEndpointsCustomSubDomain,
               (JSON..=) "Description" Prelude.<$> description,
               (JSON..=) "FipsEnabled" Prelude.<$> fipsEnabled,
               (JSON..=) "LoggingConfigurations"
                 Prelude.<$> loggingConfigurations,
               (JSON..=) "Tags" Prelude.<$> tags,
               (JSON..=) "VerifiedAccessTrustProviderIds"
                 Prelude.<$> verifiedAccessTrustProviderIds,
               (JSON..=) "VerifiedAccessTrustProviders"
                 Prelude.<$> verifiedAccessTrustProviders]))
instance Property "CidrEndpointsCustomSubDomain" VerifiedAccessInstance where
  type PropertyType "CidrEndpointsCustomSubDomain" VerifiedAccessInstance = Value Prelude.Text
  set newValue VerifiedAccessInstance {..}
    = VerifiedAccessInstance
        {cidrEndpointsCustomSubDomain = Prelude.pure newValue, ..}
instance Property "Description" VerifiedAccessInstance where
  type PropertyType "Description" VerifiedAccessInstance = Value Prelude.Text
  set newValue VerifiedAccessInstance {..}
    = VerifiedAccessInstance {description = Prelude.pure newValue, ..}
instance Property "FipsEnabled" VerifiedAccessInstance where
  type PropertyType "FipsEnabled" VerifiedAccessInstance = Value Prelude.Bool
  set newValue VerifiedAccessInstance {..}
    = VerifiedAccessInstance {fipsEnabled = Prelude.pure newValue, ..}
instance Property "LoggingConfigurations" VerifiedAccessInstance where
  type PropertyType "LoggingConfigurations" VerifiedAccessInstance = VerifiedAccessLogsProperty
  set newValue VerifiedAccessInstance {..}
    = VerifiedAccessInstance
        {loggingConfigurations = Prelude.pure newValue, ..}
instance Property "Tags" VerifiedAccessInstance where
  type PropertyType "Tags" VerifiedAccessInstance = [Tag]
  set newValue VerifiedAccessInstance {..}
    = VerifiedAccessInstance {tags = Prelude.pure newValue, ..}
instance Property "VerifiedAccessTrustProviderIds" VerifiedAccessInstance where
  type PropertyType "VerifiedAccessTrustProviderIds" VerifiedAccessInstance = ValueList Prelude.Text
  set newValue VerifiedAccessInstance {..}
    = VerifiedAccessInstance
        {verifiedAccessTrustProviderIds = Prelude.pure newValue, ..}
instance Property "VerifiedAccessTrustProviders" VerifiedAccessInstance where
  type PropertyType "VerifiedAccessTrustProviders" VerifiedAccessInstance = [VerifiedAccessTrustProviderProperty]
  set newValue VerifiedAccessInstance {..}
    = VerifiedAccessInstance
        {verifiedAccessTrustProviders = Prelude.pure newValue, ..}