packages feed

stratosphere-ec2-1.0.0: gen/Stratosphere/EC2/VerifiedAccessTrustProvider/NativeApplicationOidcOptionsProperty.hs

module Stratosphere.EC2.VerifiedAccessTrustProvider.NativeApplicationOidcOptionsProperty (
        NativeApplicationOidcOptionsProperty(..),
        mkNativeApplicationOidcOptionsProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data NativeApplicationOidcOptionsProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccesstrustprovider-nativeapplicationoidcoptions.html>
    NativeApplicationOidcOptionsProperty {haddock_workaround_ :: (),
                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccesstrustprovider-nativeapplicationoidcoptions.html#cfn-ec2-verifiedaccesstrustprovider-nativeapplicationoidcoptions-authorizationendpoint>
                                          authorizationEndpoint :: (Prelude.Maybe (Value Prelude.Text)),
                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccesstrustprovider-nativeapplicationoidcoptions.html#cfn-ec2-verifiedaccesstrustprovider-nativeapplicationoidcoptions-clientid>
                                          clientId :: (Prelude.Maybe (Value Prelude.Text)),
                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccesstrustprovider-nativeapplicationoidcoptions.html#cfn-ec2-verifiedaccesstrustprovider-nativeapplicationoidcoptions-clientsecret>
                                          clientSecret :: (Prelude.Maybe (Value Prelude.Text)),
                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccesstrustprovider-nativeapplicationoidcoptions.html#cfn-ec2-verifiedaccesstrustprovider-nativeapplicationoidcoptions-issuer>
                                          issuer :: (Prelude.Maybe (Value Prelude.Text)),
                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccesstrustprovider-nativeapplicationoidcoptions.html#cfn-ec2-verifiedaccesstrustprovider-nativeapplicationoidcoptions-publicsigningkeyendpoint>
                                          publicSigningKeyEndpoint :: (Prelude.Maybe (Value Prelude.Text)),
                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccesstrustprovider-nativeapplicationoidcoptions.html#cfn-ec2-verifiedaccesstrustprovider-nativeapplicationoidcoptions-scope>
                                          scope :: (Prelude.Maybe (Value Prelude.Text)),
                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccesstrustprovider-nativeapplicationoidcoptions.html#cfn-ec2-verifiedaccesstrustprovider-nativeapplicationoidcoptions-tokenendpoint>
                                          tokenEndpoint :: (Prelude.Maybe (Value Prelude.Text)),
                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccesstrustprovider-nativeapplicationoidcoptions.html#cfn-ec2-verifiedaccesstrustprovider-nativeapplicationoidcoptions-userinfoendpoint>
                                          userInfoEndpoint :: (Prelude.Maybe (Value Prelude.Text))}
  deriving stock (Prelude.Eq, Prelude.Show)
mkNativeApplicationOidcOptionsProperty ::
  NativeApplicationOidcOptionsProperty
mkNativeApplicationOidcOptionsProperty
  = NativeApplicationOidcOptionsProperty
      {haddock_workaround_ = (), authorizationEndpoint = Prelude.Nothing,
       clientId = Prelude.Nothing, clientSecret = Prelude.Nothing,
       issuer = Prelude.Nothing,
       publicSigningKeyEndpoint = Prelude.Nothing,
       scope = Prelude.Nothing, tokenEndpoint = Prelude.Nothing,
       userInfoEndpoint = Prelude.Nothing}
instance ToResourceProperties NativeApplicationOidcOptionsProperty where
  toResourceProperties NativeApplicationOidcOptionsProperty {..}
    = ResourceProperties
        {awsType = "AWS::EC2::VerifiedAccessTrustProvider.NativeApplicationOidcOptions",
         supportsTags = Prelude.False,
         properties = Prelude.fromList
                        (Prelude.catMaybes
                           [(JSON..=) "AuthorizationEndpoint"
                              Prelude.<$> authorizationEndpoint,
                            (JSON..=) "ClientId" Prelude.<$> clientId,
                            (JSON..=) "ClientSecret" Prelude.<$> clientSecret,
                            (JSON..=) "Issuer" Prelude.<$> issuer,
                            (JSON..=) "PublicSigningKeyEndpoint"
                              Prelude.<$> publicSigningKeyEndpoint,
                            (JSON..=) "Scope" Prelude.<$> scope,
                            (JSON..=) "TokenEndpoint" Prelude.<$> tokenEndpoint,
                            (JSON..=) "UserInfoEndpoint" Prelude.<$> userInfoEndpoint])}
instance JSON.ToJSON NativeApplicationOidcOptionsProperty where
  toJSON NativeApplicationOidcOptionsProperty {..}
    = JSON.object
        (Prelude.fromList
           (Prelude.catMaybes
              [(JSON..=) "AuthorizationEndpoint"
                 Prelude.<$> authorizationEndpoint,
               (JSON..=) "ClientId" Prelude.<$> clientId,
               (JSON..=) "ClientSecret" Prelude.<$> clientSecret,
               (JSON..=) "Issuer" Prelude.<$> issuer,
               (JSON..=) "PublicSigningKeyEndpoint"
                 Prelude.<$> publicSigningKeyEndpoint,
               (JSON..=) "Scope" Prelude.<$> scope,
               (JSON..=) "TokenEndpoint" Prelude.<$> tokenEndpoint,
               (JSON..=) "UserInfoEndpoint" Prelude.<$> userInfoEndpoint]))
instance Property "AuthorizationEndpoint" NativeApplicationOidcOptionsProperty where
  type PropertyType "AuthorizationEndpoint" NativeApplicationOidcOptionsProperty = Value Prelude.Text
  set newValue NativeApplicationOidcOptionsProperty {..}
    = NativeApplicationOidcOptionsProperty
        {authorizationEndpoint = Prelude.pure newValue, ..}
instance Property "ClientId" NativeApplicationOidcOptionsProperty where
  type PropertyType "ClientId" NativeApplicationOidcOptionsProperty = Value Prelude.Text
  set newValue NativeApplicationOidcOptionsProperty {..}
    = NativeApplicationOidcOptionsProperty
        {clientId = Prelude.pure newValue, ..}
instance Property "ClientSecret" NativeApplicationOidcOptionsProperty where
  type PropertyType "ClientSecret" NativeApplicationOidcOptionsProperty = Value Prelude.Text
  set newValue NativeApplicationOidcOptionsProperty {..}
    = NativeApplicationOidcOptionsProperty
        {clientSecret = Prelude.pure newValue, ..}
instance Property "Issuer" NativeApplicationOidcOptionsProperty where
  type PropertyType "Issuer" NativeApplicationOidcOptionsProperty = Value Prelude.Text
  set newValue NativeApplicationOidcOptionsProperty {..}
    = NativeApplicationOidcOptionsProperty
        {issuer = Prelude.pure newValue, ..}
instance Property "PublicSigningKeyEndpoint" NativeApplicationOidcOptionsProperty where
  type PropertyType "PublicSigningKeyEndpoint" NativeApplicationOidcOptionsProperty = Value Prelude.Text
  set newValue NativeApplicationOidcOptionsProperty {..}
    = NativeApplicationOidcOptionsProperty
        {publicSigningKeyEndpoint = Prelude.pure newValue, ..}
instance Property "Scope" NativeApplicationOidcOptionsProperty where
  type PropertyType "Scope" NativeApplicationOidcOptionsProperty = Value Prelude.Text
  set newValue NativeApplicationOidcOptionsProperty {..}
    = NativeApplicationOidcOptionsProperty
        {scope = Prelude.pure newValue, ..}
instance Property "TokenEndpoint" NativeApplicationOidcOptionsProperty where
  type PropertyType "TokenEndpoint" NativeApplicationOidcOptionsProperty = Value Prelude.Text
  set newValue NativeApplicationOidcOptionsProperty {..}
    = NativeApplicationOidcOptionsProperty
        {tokenEndpoint = Prelude.pure newValue, ..}
instance Property "UserInfoEndpoint" NativeApplicationOidcOptionsProperty where
  type PropertyType "UserInfoEndpoint" NativeApplicationOidcOptionsProperty = Value Prelude.Text
  set newValue NativeApplicationOidcOptionsProperty {..}
    = NativeApplicationOidcOptionsProperty
        {userInfoEndpoint = Prelude.pure newValue, ..}